Paste #42396: Railgun

Date: 2017/06/05 07:25:09 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


on player clicks with Railgun:
    - determine passively cancelled
    - if <player.has_flag[railgun]> {
      - narrate "<&c>This weapon is on cooldown!"
      - queue clear
      }
    - define iteminhand <context.cursor_item.simple.replace[i@]>
    - define player <player>
    - define dir <player.eye_location.direction.vector>
    - playsound <player.location> sound:ENTITY_WITHER_SPAWN volume:2 pitch:1.7
    - playsound <player.location> sound:ENTITY_WITHER_SPAWN volume:2 pitch:2
    - playsound <player.location> sound:ENTITY_ZOMBIE_VILLAGER_CURE volume:0.5 pitch:1.5
    - repeat 500:
      - playeffect red_dust <player.eye_location.sub[0,1.2,0].add[<def[dir].mul[<def[value]>].div[5].add[<util.random.decimal[-0.4].to[0.4]>,<util.random.decimal[-0.4].to[0.4]>,<util.random.decimal[-0.4].to[0.4]>]>]> visibility:100 quantity:0 data:1 offset:1,1,0
      - playeffect red_dust <player.eye_location.sub[0,1.2,0].add[<def[dir].mul[<def[value]>].div[5].add[<util.random.decimal[-0.4].to[0.4]>,<util.random.decimal[-0.4].to[0.4]>,<util.random.decimal[-0.4].to[0.4]>]>]> visibility:100 quantity:0 data:1 offset:1,1,0.2
    - if <context.click_type.contains_text[left]> {
      - flag player railgun:leftclick duration:<s@Config.yaml_key[classvariables.railgun.leftclick.cooldown]>
      }
      else {
      - flag player railgun:rightclick duration:<s@Config.yaml_key[classvariables.railgun.rightclick.cooldown]>
      }
    - run s@WeaponCooldown d:<def[iteminhand]>|<def[player]>