From 3643c001565030b5a7e591c9e157890176c6f4ce Mon Sep 17 00:00:00 2001 From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54> Date: Fri, 27 May 2011 07:26:29 +0000 Subject: [PATCH] Manaflow cooldown reduced Manaflow and Manasurge runes are now disabled while a mana regen effect is active (just like life regeneration effects) git-svn-id: http://svn.net-core.org/repos/t-engine4@3444 51575b47-30f0-44d4-a5cc-537603b46e54 --- .../tome/data/talents/misc/inscriptions.lua | 2 +- .../tome/data/talents/spells/arcane.lua | 12 ++++---- game/modules/tome/data/timed_effects.lua | 30 ------------------- 3 files changed, 6 insertions(+), 38 deletions(-) diff --git a/game/modules/tome/data/talents/misc/inscriptions.lua b/game/modules/tome/data/talents/misc/inscriptions.lua index 4340e55301..a1b5ac78fa 100644 --- a/game/modules/tome/data/talents/misc/inscriptions.lua +++ b/game/modules/tome/data/talents/misc/inscriptions.lua @@ -639,7 +639,7 @@ newInscription{ is_spell = true, tactical = { MANA = 1 }, on_pre_use = function(self, t) - return self:knowTalent(self.T_MANA_POOL) + return self:knowTalent(self.T_MANA_POOL) and not self:hasEffect(self.EFF_MANASURGE) end, action = function(self, t) local data = self:getInscriptionData(t.short_name) diff --git a/game/modules/tome/data/talents/spells/arcane.lua b/game/modules/tome/data/talents/spells/arcane.lua index e38fa97b36..4eaec45237 100644 --- a/game/modules/tome/data/talents/spells/arcane.lua +++ b/game/modules/tome/data/talents/spells/arcane.lua @@ -97,16 +97,14 @@ newTalent{ type = {"spell/arcane", 3}, require = spells_req3, points = 5, - random_ego = "utility", mana = 0, - cooldown = 40, + cooldown = 25, tactical = { MANA = 3 }, - getManaRestoration = function(self, t) return self:combatTalentSpellDamage(t, 10, 20) end, + getManaRestoration = function(self, t) return 5 + self:combatTalentSpellDamage(t, 10, 20) end, + on_pre_use = function(self, t) return not self:hasEffect(self.EFF_MANASURGE) end, action = function(self, t) - if not self:hasEffect(self.EFF_MANAFLOW) then - self:setEffect(self.EFF_MANAFLOW, 10, {power=t.getManaRestoration(self, t)}) - game:playSoundNear(self, "talents/arcane") - end + self:setEffect(self.EFF_MANASURGE, 10, {power=t.getManaRestoration(self, t)}) + game:playSoundNear(self, "talents/arcane") return true end, info = function(self, t) diff --git a/game/modules/tome/data/timed_effects.lua b/game/modules/tome/data/timed_effects.lua index 19ea614da4..c2718cea6f 100644 --- a/game/modules/tome/data/timed_effects.lua +++ b/game/modules/tome/data/timed_effects.lua @@ -109,35 +109,6 @@ newEffect{ end, } -newEffect{ - name = "MANAFLOW", - desc = "Manaflow", - long_desc = function(self, eff) return ("The mana surge engulfs the target, regenerating %0.2f mana per turn."):format(eff.power) end, - type = "magical", - status = "beneficial", - parameters = { power=10 }, - on_gain = function(self, err) return "#Target# starts to surge mana.", "+Manaflow" end, - on_lose = function(self, err) return "#Target# stops surging mana.", "-Manaflow" end, - on_merge = function(self, old_eff, new_eff) - -- Merge the mana - local olddam = old_eff.power * old_eff.dur - local newdam = new_eff.power * new_eff.dur - local dur = math.ceil((old_eff.dur + new_eff.dur) / 2) - old_eff.dur = dur - old_eff.power = (olddam + newdam) / dur - - self:removeTemporaryValue("mana_regen", old_eff.tmpid) - old_eff.tmpid = self:addTemporaryValue("mana_regen", old_eff.power) - return old_eff - end, - activate = function(self, eff) - eff.tmpid = self:addTemporaryValue("mana_regen", eff.power) - end, - deactivate = function(self, eff) - self:removeTemporaryValue("mana_regen", eff.tmpid) - end, -} - newEffect{ name = "MANASURGE", desc = "Surging mana", @@ -4111,4 +4082,3 @@ newEffect{ DamageType:get(DamageType.ARCANE).projector(eff.src, self.x, self.y, DamageType.ARCANE, dam) end, } - -- GitLab