Date: 2015/02/21 15:42:57 UTC-08:00
Type: Denizen Script
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%