Paste #6182: Untitled Paste

Date: 2014/07/02 22:06:14 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


stats:
  type: world
  events:
    on player closes inventory:
    - ^if <player.gamemode.is[==].to[CREATIVE]> queue clear
    - ^if <npc.is[!=].to[null]> queue clear
    - ^define armorList li@
    - ^if <player.equipment.boots.is[!=].to[null]> define armorList <def[armorList].include[<player.equipment.boots>]>
    - ^if <player.equipment.leggings.is[!=].to[null]> define armorList <def[armorList].include[<player.equipment.leggings>]>
    - ^if <player.equipment.chestplate.is[!=].to[null]> define armorList <def[armorList].include[<player.equipment.chestplate>]>
    - ^if <player.equipment.helmet.is[!=].to[null]> define armorList <def[armorList].include[<player.equipment.helmet>]>
    - ^if <def[armorList].is[==].to[null]> queue clear
    - ^define health 50
    - ^define healthRegen 0
    - ^define Mana 0
    - ^define ManaRegen 0
    - ^define moveSpeed 0
    - ^define armor 0
    - ^define rawDamage 0
    - ^define strength 0
    - ^define agility 0
    - ^define intelligence 0
    - ^define spellResistance 0
    - ^define spellDamage 0
    - ^foreach <def[armorList]> {
      - ^if <%value%.has_lore> {
        - if <%value%.lore.size> < 2 {
          - ^define lore <%value%.lore>
          - ^define code <def[lore].after[li@].replace[<green.substring[1,1]>].with[&].substring[1,4]>
          - ^define amount "<def[lore].after[<&co> ]>"
          - ^inject statUtility instantly
          }
          else {
          - ^foreach <%value%.lore> {
            - ^define lore %value%
            - ^define code <def[lore].replace[<green.substring[1,1]>].with[&].substring[1,4]>
            - ^define amount "<def[lore].after[<&co> ]>"
            - ^inject statUtility instantly
            }
          }
        }
      }
    - ^flag player health:<def[health].add[<def[strength].mul[2]>].as_int>"
    - ^flag player healthRegen:<def[healthRegen].add[<def[strength]>].as_int>"
    - ^flag player Mana:<def[Mana].add[<def[intelligence].mul[2]>].as_int>"
    - ^flag player ManaRegen:<def[ManaRegen].add[<def[intelligence]>].as_int>"
    - ^flag player moveSpeed:<def[moveSpeed].add[<def[agility].div[4]>].as_int>"
    - ^flag player armor:<def[armor].add[<def[agility]>].as_int>"
    - ^flag player rawDamage:<def[rawDamage].add[<def[strength].mul[2]>].as_int>"
    - ^flag player strength:<def[strength].as_int>"
    - ^flag player agility:<def[agility].as_int>"
    - ^flag player intelligence:<def[intelligence].as_int>"
    - ^flag player spellResistance:<def[spellResistance].add[<def[agility]>].as_int>"
    - ^flag player spellDamage:<def[spellDamage].add[<def[intelligence].mul[2]>].as_int>"
    - ^adjust <player> walk_speed:<player.flag[moveSpeed].div[100].add[.25]>
    - ^if <queue.exists[<player.name>_updatebar]> queue queue:<player.name>_updatebar clear
    - ^run locally updatebar def:<player> id:<player.name>_updatebar

  updatebar:
  - if <player.flag[has_scoreboard]> queue clear
  - flag player has_scoreboard duration:12s
  - ^adjust <player> "show_boss_bar:200|<&9>New Stat's Calculated Based on Armor Changes"
  - ^scoreboard add 'obj:<&6><&n><&l>Raw Stats' id:<player.name>_stats
  - ^scoreboard add 'obj:<&6><&n><&l>Raw Stats' 'lines:<&a>Health<&co>' score:<player.flag[health]> id:<player.name>_stats
  - ^scoreboard add 'obj:<&6><&n><&l>Raw Stats' 'lines:<&a>HealthRegen<&co>' score:<player.flag[healthRegen]> id:<player.name>_stats
  - ^scoreboard add 'obj:<&6><&n><&l>Raw Stats' 'lines:<&a>Mana<&co>' score:<player.flag[Mana]> id:<player.name>_stats
  - ^scoreboard add 'obj:<&6><&n><&l>Raw Stats' 'lines:<&a>ManaRegen<&c>' score:<player.flag[ManaRegen]> id:<player.name>_stats
  - ^scoreboard add 'obj:<&6><&n><&l>Raw Stats' 'lines:<&a>Speed<&co>' score:<player.flag[moveSpeed]> id:<player.name>_stats
  - ^scoreboard add 'obj:<&6><&n><&l>Raw Stats' 'lines:<&a>Armor<&co>' score:<player.flag[armor]> id:<player.name>_stats
  - ^scoreboard add 'obj:<&6><&n><&l>Raw Stats' 'lines:<&a>Raw Damage<&co>' score:<player.flag[rawDamage]> id:<player.name>_stats
  - ^scoreboard add 'obj:<&6><&n><&l>Raw Stats' 'lines:<&a>SpellResist<&co>' score:<player.flag[spellResistance]> id:<player.name>_stats
  - ^scoreboard add 'obj:<&6><&n><&l>Raw Stats' 'lines:<&a>SpellDMG<&co>' score:<player.flag[spellDamage]> id:<player.name>_stats
  - ^scoreboard add id:<player.name>_stats viewers:%1%
  - ^wait 6s
  - ^scoreboard remove id:<player.name>_stats
  - ^scoreboard add 'obj:<&6><&n><&l>Base Stats' id:<player.name>_stats
  - ^scoreboard add 'obj:<&6><&n><&l>Base Stats' 'lines:<&b>Strength<&co>' score:<player.flag[strength]> id:<player.name>_stats
  - ^scoreboard add 'obj:<&6><&n><&l>Base Stats' 'lines:<&b>Agility<&co>' score:<player.flag[agility]> id:<player.name>_stats
  - ^scoreboard add 'obj:<&6><&n><&l>Base Stats' 'lines:<&b>Intel<&co>' score:<player.flag[intelligence]> id:<player.name>_stats
  - ^scoreboard add id:<player.name>_stats viewers:<player>
  - ^wait 6s
  - ^scoreboard remove id:<player.name>_stats
  - ^adjust <player> show_boss_bar

statUtility:
  type: task
  script:
  - if <def[code].is[==].to[&0&0]> define health <def[health].add[%amount%]>
    else if <def[code].is[==].to[&0&1]> define healthRegen <def[healthRegen].add[%amount%]>
    else if <def[code].is[==].to[&1&0]> define Mana <def[Mana].add[%amount%]>
    else if <def[code].is[==].to[&1&1]> define ManaRegen <def[ManaRegen].add[%amount%]>
    else if <def[code].is[==].to[&2&0]> define moveSpeed <def[moveSpeed].add[%amount%]>
    else if <def[code].is[==].to[&3&0]> define armor <def[armor].add[%amount%]>
    else if <def[code].is[==].to[&3&1]> define rawDamage <def[rawDamage].add[%amount%]>
    else if <def[code].is[==].to[&4&0]> define strength <def[strength].add[%amount%]>
    else if <def[code].is[==].to[&5&0]> define agility <def[agility].add[%amount%]>
    else if <def[code].is[==].to[&6&0]> define intelligence <def[intelligence].add[%amount%]>
    else if <def[code].is[==].to[&7&0]> define spellResistance <def[spellResistance].add[%amount%]>
    else if <def[code].is[==].to[&7&1]> define spellDamage <def[spellResistance].add[%amount%]>