diff --git a/game/modules/tome/data/talents/corruptions/rot.lua b/game/modules/tome/data/talents/corruptions/rot.lua index abd9b49d34fadf47edad861c3f6194e9d83c9d4b..d75748bd21a56d653e61f8ffec264097bf8b3c27 100644 --- a/game/modules/tome/data/talents/corruptions/rot.lua +++ b/game/modules/tome/data/talents/corruptions/rot.lua @@ -155,7 +155,7 @@ newTalent{ getDamageReduction = function(self, t) return self:combatTalentLimit(t, 0.5, 0.1, 0.22) end, - tactical = { BUFF = 2 }, + tactical = {BUFF = 3}, activate = function(self, t) local resist = t.getResist(self,t) local affinity = t.getAffinity(self,t) @@ -175,11 +175,10 @@ newTalent{ self:removeTemporaryValue("worm", p.worm) return true end, - callbackPriorities={callbackOnHit = -5}, -- High priority since we do more than just reduce damage and want to make sure the worm spawn happens often - callbackOnHit = function(self, t, cb) - if ( cb.value > (0.15 * self.max_life) ) then - local damageReduction = cb.value * t.getDamageReduction(self, t) - cb.value = cb.value - damageReduction + callbackOnTakeDamage = function(self, t, src, x, y, type, dam, state) + if ( dam > (0.15 * self.max_life) ) then + local damageReduction = dam * t.getDamageReduction(self, t) + dam = dam - damageReduction local nb = 0 if game.level then @@ -206,7 +205,7 @@ newTalent{ carrionworm(self, self, 5, gx, gy) end end - return cb.value + return {dam = dam} end end, info = function(self, t)