Paste #27449: Edit of P#27448 - Edit of P#27447 - armor points

Date: 2015/12/26 00:31:10 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


GetArmor:
  type: procedure
  debug: false
  definitions: item
  script:
  - choose <def[item].scriptname||<def[Item].material.name>>:
    - case rock_chest1:
      - determine 6
    - case rock_chest2:
      - determine 12

    - case diamond_chestplate:
      - determine 40

    - default:
      - determine 0

Damage_Calculation:
  type: world
  debug: false
  events:
    on player damaged:
    - define Armor 0
    - foreach <player.equipment> {
      - define Armor <def[Armor].add[<proc[GetArmor].context[<def[Value]>]>]>
    }
    - if <def[Armor]> == 0 {
      - queue clear
    }
    - define Damage <context.damage.mul[<def[Armor]>].div[100]>
    - determine <def[Damage]>