From 04c0590101b56ada764b2e09c034dbccd9f904e7 Mon Sep 17 00:00:00 2001 From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54> Date: Mon, 21 Jan 2013 23:45:56 +0000 Subject: [PATCH] Impending Doom now "only" reduces healing factor by 100% instead of outright preventing healing git-svn-id: http://svn.net-core.org/repos/t-engine4@6359 51575b47-30f0-44d4-a5cc-537603b46e54 --- game/modules/tome/class/Actor.lua | 2 +- game/modules/tome/data/talents/spells/necrosis.lua | 2 +- game/modules/tome/data/timed_effects/magical.lua | 8 +++----- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua index 1175e4bf19..8fc01030e0 100644 --- a/game/modules/tome/class/Actor.lua +++ b/game/modules/tome/class/Actor.lua @@ -3609,7 +3609,7 @@ function _M:preUseTalent(ab, silent, fake) end -- Cant heal - if ab.is_heal and self:attr("no_healing") then return false end + if ab.is_heal and (self:attr("no_healing") or ((self.healing_factor or 1) <= 0)) then return false end if ab.is_teleport and self:attr("encased_in_ice") then return false end if not silent then diff --git a/game/modules/tome/data/talents/spells/necrosis.lua b/game/modules/tome/data/talents/spells/necrosis.lua index 4dd4943f3a..0d5e77679b 100644 --- a/game/modules/tome/data/talents/spells/necrosis.lua +++ b/game/modules/tome/data/talents/spells/necrosis.lua @@ -75,7 +75,7 @@ newTalent{ return true end, info = function(self, t) - return ([[Your target's doom draws near. It cannot regenerate or heal at all, and will take %d%% of its remaining life (or %0.2f, whichever is lower) over 10 turns as arcane damage. + return ([[Your target's doom draws near. Its healing factor is reduced by 100%%, and will take %d%% of its remaining life (or %0.2f, whichever is lower) over 10 turns as arcane damage. The damage will increase with your Spellpower.]]): format(t.getDamage(self, t), t.getMax(self, t)) end, diff --git a/game/modules/tome/data/timed_effects/magical.lua b/game/modules/tome/data/timed_effects/magical.lua index b0db9cad5a..b78d6d29db 100644 --- a/game/modules/tome/data/timed_effects/magical.lua +++ b/game/modules/tome/data/timed_effects/magical.lua @@ -1372,7 +1372,7 @@ newEffect{ newEffect{ name = "IMPENDING_DOOM", image = "talents/impending_doom.png", desc = "Impending Doom", - long_desc = function(self, eff) return ("The target's final doom is drawing near, preventing all forms of healing and regeneration and dealing %0.2f arcane damage per turn. The effect will stop if the caster dies."):format(eff.dam) end, + long_desc = function(self, eff) return ("The target's final doom is drawing near, reducing healing factor by 100%% and dealing %0.2f arcane damage per turn. The effect will stop if the caster dies."):format(eff.dam) end, type = "magical", subtype = { arcane=true }, status = "detrimental", @@ -1380,16 +1380,14 @@ newEffect{ on_gain = function(self, err) return "#Target# is doomed!", "+Doomed" end, on_lose = function(self, err) return "#Target# is freed from the impending doom.", "-Doomed" end, activate = function(self, eff) - eff.healid = self:addTemporaryValue("no_healing", 1) - eff.regenid = self:addTemporaryValue("no_life_regen", 1) + eff.healid = self:addTemporaryValue("healing_factor", -1) end, on_timeout = function(self, eff) if eff.src.dead or not game.level:hasEntity(eff.src) then return true end DamageType:get(DamageType.ARCANE).projector(eff.src, self.x, self.y, DamageType.ARCANE, eff.dam) end, deactivate = function(self, eff) - self:removeTemporaryValue("no_healing", eff.healid) - self:removeTemporaryValue("no_life_regen", eff.regenid) + self:removeTemporaryValue("healing_factor", eff.healid) end, } -- GitLab