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