From 9c8697e89aac4380d24d2660bee24eb38ef76d51 Mon Sep 17 00:00:00 2001 From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54> Date: Tue, 27 Mar 2012 14:37:44 +0000 Subject: [PATCH] Burning Hex now also increases the talents cooldowns git-svn-id: http://svn.net-core.org/repos/t-engine4@5002 51575b47-30f0-44d4-a5cc-537603b46e54 --- game/modules/tome/class/Actor.lua | 8 +++++++- game/modules/tome/data/talents/corruptions/hexes.lua | 7 ++++--- game/modules/tome/dialogs/CharacterSheet.lua | 2 +- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua index 7e5b4824d3..7eaea4c89a 100644 --- a/game/modules/tome/class/Actor.lua +++ b/game/modules/tome/class/Actor.lua @@ -3043,12 +3043,18 @@ function _M:getTalentCooldown(t) if self.talent_cd_reduction[t.id] then cd = cd - self.talent_cd_reduction[t.id] end if self.talent_cd_reduction.all then cd = cd - self.talent_cd_reduction.all end + + local eff = self:hasEffect(self.EFF_BURNING_HEX) + if eff then + cd = 1 + cd * eff.power + end + if t.is_spell then return math.ceil(cd * (1 - (self.spell_cooldown_reduction or 0))) elseif t.is_summon then return math.ceil(cd * (1 - (self.summon_cooldown_reduction or 0))) else - return cd + return math.ceil(cd) end end diff --git a/game/modules/tome/data/talents/corruptions/hexes.lua b/game/modules/tome/data/talents/corruptions/hexes.lua index 360543bf18..5de0d57be9 100644 --- a/game/modules/tome/data/talents/corruptions/hexes.lua +++ b/game/modules/tome/data/talents/corruptions/hexes.lua @@ -71,15 +71,16 @@ newTalent{ if not x or not y then return nil end self:project(tg, x, y, function(tx, ty) local target = game.level.map(tx, ty, Map.ACTOR) - if not target or target == self then return end - target:setEffect(target.EFF_BURNING_HEX, 20, {src=self, dam=self:combatTalentSpellDamage(t, 4, 90), apply_power=self:combatSpellpower()}) + if not target then return end + target:setEffect(target.EFF_BURNING_HEX, 20, {src=self, dam=self:combatTalentSpellDamage(t, 4, 90), power=1+(self:getTalentLevel(t) / 10), apply_power=self:combatSpellpower()}) end) game:playSoundNear(self, "talents/slime") return true end, info = function(self, t) return ([[Hexes your target and everything within a radius 2 ball of your target for 20 turns. Each time your affected targets use a resource (stamina, mana, vim, ...) they take %0.2f fire damage. - The damage will increase with Magic stat.]]):format(damDesc(self, DamageType.FIRE, self:combatTalentSpellDamage(t, 4, 90))) + In addition the affected talent will have its cooldown increased by 1 turn + %d%%. + The damage will increase with Magic stat.]]):format(damDesc(self, DamageType.FIRE, self:combatTalentSpellDamage(t, 4, 90)), ((self:getTalentLevel(t) / 10))*100) end, } diff --git a/game/modules/tome/dialogs/CharacterSheet.lua b/game/modules/tome/dialogs/CharacterSheet.lua index c6dc4b8956..94793b3081 100644 --- a/game/modules/tome/dialogs/CharacterSheet.lua +++ b/game/modules/tome/dialogs/CharacterSheet.lua @@ -1245,7 +1245,7 @@ function _M:dump() nl(" [Last Messages]") nl() - nl(table.concat(game.logdisplay:getLines(40), "\n"):removeColorCodes()) + nl(table.concat(game.uiset.logdisplay:getLines(40), "\n"):removeColorCodes()) fff:close() -- GitLab