Paste #13968: Untitled Paste

Date: 2015/02/21 15:42:57 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


on player damages entity:
#-------------------------------------NORMAL MOBS---------------------------------------------
    - ^if <proc[CustomItemCheck].context[<player.item_in_hand>|<player>]> {
       - ^determine <proc[CustomItemDamage].context[<player.item_in_hand>|<player>|<context.entity>|<context.cause>]> }
       else {
         - ^inject 's@NarrateDamage'
         - ^determine fulfilled }

CustomItemCheck:
  type: procedure
  debug: true
  definitions: item|player
  script:
  #UNCOMMON ITEMS
  - ^if "li@i@StaffofBountifulHarvest|i@WandofFire|i@YewBow" contains %item% ^determine true
  #RARE ITEMS
  - ^if "li@i@cryptstalkersword|i@heartburn|i@MerryGoRound|i@WandofCombustion" contains %item% ^determine true
  #EPIC ITEMS
  - ^if "li@i@BloodSucker|i@SunFlare|i@TrailofEmbers" contains %item% ^determine true


CustomItemDamage:
  type: procedure
  debug: true
  definitions: item|player|npc|cause
  script:
  - ^define mindamage <%item%.lore.get[2].strip_color.split[-].get[1]>
  - ^define maxdamage <%item%.lore.get[2].strip_color.split[-].get[2].split.get[1]>
  - ^if <%item%.material> == m@bow && %cause% == ENTITY_ATTACK ^define damage 1
     else ^define damage <util.random.int[%mindamage%].to[%maxdamage%]>
  - ^inject 's@NarrateCustomDamage'
  - ^determine %damage%