GrislyProtection.lua 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. --[[
  2. Script Name : Spells/Mage/Summoner/Necromancer/GrislyProtection.lua
  3. Script Author : Jabantiz
  4. Script Date : 2013.12.08 12:12:05
  5. Script Purpose : Updated Proc Hate 4/16/20 Neatz09
  6. :
  7. --]]
  8. function cast(Caster, Target, agg, procDmgType, procDmg, procHeal, atkSpeed, maxHP, hateGain, spellMit, procHateMin, procHateMax)
  9. -- Increases Aggression of target by 1.9
  10. AddSkillBonus(Target, GetSkillByName("Aggression"), agg)
  11. -- Decreases Attack Speed of target by 25.0
  12. AddSpellBonus(Target, 617, atkSpeed)
  13. -- Increases Max Health of target by 9.0%
  14. AddSpellBonus(Target, 607, maxHP)
  15. -- Increases Hate Gain of target by 11.9%
  16. AddSpellBonus(Target, 624, hateGain)
  17. -- Increases Mitigation of target vs elemental and noxious damage by 126
  18. -- Increases Mitigation of target vs arcane damage by 126
  19. AddSpellBonus(Target, 201, spellMit)
  20. AddSpellBonus(Target, 202, spellMit)
  21. AddSpellBonus(Target, 203, spellMit)
  22. AddProc(Target, 1, 100)
  23. AddProc(Target, 2, 100)
  24. end
  25. function proc(Caster, Target, Type, agg, procDmgType, procDmg, procHeal, atkSpeed, maxHP, hateGain, spellMit, procHateMin, procHateMax)
  26. if Type == 1 then
  27. -- 1 = offensive
  28. -- On any combat or spell hit this spell will cast Shout on target of attack.
  29. -- Increases Threat to target encounter by 35 - 42
  30. if procHateMax ~= nil and procHateMin < procHateMax then
  31. ProcHate(Caster, Target, math.random(procHateMin, procHateMax), "Shout")
  32. end
  33. elseif Type == 2 then
  34. -- 2 = defensive
  35. -- When damaged this spell will cast Grisly Feedback on target's attacker.
  36. -- Inflicts 7 disease damage on target
  37. -- Heals caster for 3
  38. ProcDamage(Caster, Target, "Grisly Feedback", procDmgType, procDmg)
  39. SpellHeal("Heal", procHeal, 0, Caster)
  40. end
  41. end
  42. function remove(Caster, Target)
  43. RemoveSpellBonus(Target)
  44. RemoveSkillBonus(Target)
  45. RemoveProc(Target)
  46. end