Paste #14717: Untitled Paste

Date: 2015/03/25 16:59:40 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


vinegrabuse:
  type: world
  debug: true
  events:
    on player right clicks with i@vinegrab:
    - if !<player.has_flag[<player>vinegrab]> {
      - shoot arrow destination:<player.eye_location.precise_cursor_on> no_rotate speed:6 shooter:<player> script:vinetest save:vinegrab   
      - narrate <def[hit_entities]>
      - define <player>vineshoot as:true
      }
    - if <player.has_flag[<player>vinegrab]> {
      - define vineentity <player.flag[vinelocation]>
      - shoot <player> origin:<player.location> destination:<def[vineentity].location.add[0,5,0]> speed:6 no_rotate
      - wait 2t
      - flag player <player>vinegrab:!
      - flag server <player>vinelocation:!
      }
    - flag player <player>vinegrab:!
    - repeat 10 {
      - playeffect <entry[vinegrab].shot_entities.get[1].location> effect:SLIME qty:5
      - wait 1t 
      }
    on arrow damages entity:
    - if <servers.flag[vinearrows]||li@> contains <context.projectile> {
      - determine cancelled
      } 
vinetest:
  type: task
  script:
    - narrate "<def[hit_entities].first.location>"
    - if <def[hit_entities].is_empty.not> {
      - narrate "<green> Entity is latched, right click again to fly towards it!"
      - flag server vinearrows:->:<def[hit_entities].first>
      - flag player <player>vinegrab
      - flag player vinelocation:<def[hit_entities].first>