Date: 2015/03/25 16:59:40 UTC-07:00
Type: Denizen Script
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>