Paste #47736: Untitled Paste

Date: 2018/06/07 19:04:05 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


SnowballUse:
    type: world
    debug: false
    blowback:
    - foreach <def[center].find.entities[PLAYER].within[4]> {
        - narrate <def[value]
        - define X <def[center].face[<def[value].location>].direction.vector.x.mul[1.3]>
        - define Y 0.2
        - define Z <def[center].face[<def[value].location>].direction.vector.z.mul[1.3]>
        - adjust <def[value]> velocity:l@<def[X]>,<def[Y]>,<def[Z]>,PvP_World
        - if <server.flag[winter_match_state].is[==].to[inprogress_suddendeath]> {
            - if <def[value].has_flag[sudden_death_loser].not> {
                - hurt 6.0 <def[value]>
            }
        }
    }
    events:
        on player right clicks with customsnowball:
            - determine passively cancelled
            - playsound <player.location> sound:ENTITY_PLAYER_ATTACK_NODAMAGE
            - shoot snowball origin:<player> height:0.3 speed:2
            - if <player.gamemode.is[==].to[creative].not> {
                - take <player.item_in_hand> q:1
            }
            - wait 1t
            - inventory update
        on player right clicks with snowballgrenade:
            - determine passively cancelled
            - playsound <player.location> sound:ENTITY_PLAYER_ATTACK_KNOCKBACK
            - shoot snowball origin:<player> height:0.9 speed:0.8 save:grenade
            - flag <entry[grenade].shot_entities.get[1]> grenade
            - if <player.gamemode.is[==].to[creative].not> {
                - take <player.item_in_hand> q:1
            }
            - wait 1t
            - inventory update
        on entity damaged by PROJECTILE in Winter_Arena_Full:
            - determine passively cancelled
            - define X <c.projectile.location.direction.vector.x.div[1.2]>
            - define Y 0.2
            - define Z <c.projectile.location.direction.vector.z.div[1.2]>
            - adjust <context.entity> velocity:l@<def[X]>,<def[Y]>,<def[Z]>,PvP_World
            - playeffect <c.projectile.location> effect:SNOWBALL_BREAK q:400
            - playsound <c.projectile.location> effect:ENTITY_PLAYER_BIG_FALL
            - if <server.flag[winter_match_state].is[==].to[inprogress_suddendeath]> {
                - if <context.entity.has_flag[sudden_death_loser].not> [
                    - hurt 4.0 <context.entity>
                }
            }
        on snowball despawns in Winter_Arena_Full:
            - if <c.entity.has_flag[grenade].not> {
                - queue clear
            }
            - define center <c.entity.location>
            - inject locally blowback
            - playeffect <def[center].add[0,0.5,0]> effect:SNOWBALL_BREAK q:1000
            - playeffect <def[center].above> effect:PARTICLE_SMOKE q:200
            - playsound <def[center]> sound:ENTITY_FIREWORK_BLAST volume:3.0
            - wait 5t
            - playeffect <def[center]> effect:FIREWORKS_SPARK q:800