From 1149b991567a301186a791736623ecd9b0fec95f Mon Sep 17 00:00:00 2001
From: DarkGod <darkgod@net-core.org>
Date: Tue, 30 Dec 2014 17:11:50 +0100
Subject: [PATCH] Unstoppable is not classified as an "other" effect, making it
 unaffected by Timeless and its cooldown can not be reduced either

---
 .../data/talents/techniques/bloodthirst.lua   |  3 ++-
 .../tome/data/timed_effects/mental.lua        | 20 -------------------
 .../modules/tome/data/timed_effects/other.lua | 20 +++++++++++++++++++
 3 files changed, 22 insertions(+), 21 deletions(-)

diff --git a/game/modules/tome/data/talents/techniques/bloodthirst.lua b/game/modules/tome/data/talents/techniques/bloodthirst.lua
index 119426c66a..aebfb687f3 100644
--- a/game/modules/tome/data/talents/techniques/bloodthirst.lua
+++ b/game/modules/tome/data/talents/techniques/bloodthirst.lua
@@ -98,9 +98,10 @@ newTalent{
 	points = 5,
 	cooldown = 45,
 	stamina = 120,
+	fixed_cooldown = true,
 	tactical = { DEFEND = 5, CLOSEIN = 2 },
 	getHealPercent = function(self,t) return self:combatTalentLimit(t, 50, 3.5, 17.5) end, -- Limit <50%
-	getDuration = function(self, t) return math.floor(self:combatTalentLimit(t, 25, 3, 7, true)) end, -- Limit < 25
+	getDuration = function(self, t) return math.floor(self:combatTalentLimit(t, 15, 3, 7, true)) end, -- Limit < 25
 	action = function(self, t)
 		self:setEffect(self.EFF_UNSTOPPABLE, t.getDuration(self, t), {hp_per_kill=t.getHealPercent(self,t)})
 		return true
diff --git a/game/modules/tome/data/timed_effects/mental.lua b/game/modules/tome/data/timed_effects/mental.lua
index e56ed2a053..7a009247dc 100644
--- a/game/modules/tome/data/timed_effects/mental.lua
+++ b/game/modules/tome/data/timed_effects/mental.lua
@@ -1874,26 +1874,6 @@ newEffect{
 	end,
 }
 
-newEffect{
-	name = "UNSTOPPABLE", image = "talents/unstoppable.png",
-	desc = "Unstoppable",
-	long_desc = function(self, eff) return ("The target is unstoppable! It refuses to die, and at the end it will heal %d Life."):format(eff.kills * eff.hp_per_kill * self.max_life / 100) end,
-	type = "mental",
-	subtype = { frenzy=true },
-	status = "beneficial",
-	parameters = { hp_per_kill=2 },
-	activate = function(self, eff)
-		eff.kills = 0
-		eff.tmpid = self:addTemporaryValue("unstoppable", 1)
-		eff.healid = self:addTemporaryValue("no_life_regen", 1)
-	end,
-	deactivate = function(self, eff)
-		self:removeTemporaryValue("unstoppable", eff.tmpid)
-		self:removeTemporaryValue("no_life_regen", eff.healid)
-		self:heal(eff.kills * eff.hp_per_kill * self.max_life / 100, eff)
-	end,
-}
-
 newEffect{
 	name = "INCREASED_LIFE", image = "effects/increased_life.png",
 	desc = "Increased Life",
diff --git a/game/modules/tome/data/timed_effects/other.lua b/game/modules/tome/data/timed_effects/other.lua
index 60aedc0f7e..3e907dfb98 100644
--- a/game/modules/tome/data/timed_effects/other.lua
+++ b/game/modules/tome/data/timed_effects/other.lua
@@ -2680,3 +2680,23 @@ newEffect{
 		end
 	end,
 }
+
+newEffect{
+	name = "UNSTOPPABLE", image = "talents/unstoppable.png",
+	desc = "Unstoppable",
+	long_desc = function(self, eff) return ("The target is unstoppable! It refuses to die, and at the end it will heal %d Life."):format(eff.kills * eff.hp_per_kill * self.max_life / 100) end,
+	type = "other",
+	subtype = { frenzy=true },
+	status = "beneficial",
+	parameters = { hp_per_kill=2 },
+	activate = function(self, eff)
+		eff.kills = 0
+		eff.tmpid = self:addTemporaryValue("unstoppable", 1)
+		eff.healid = self:addTemporaryValue("no_life_regen", 1)
+	end,
+	deactivate = function(self, eff)
+		self:removeTemporaryValue("unstoppable", eff.tmpid)
+		self:removeTemporaryValue("no_life_regen", eff.healid)
+		self:heal(eff.kills * eff.hp_per_kill * self.max_life / 100, eff)
+	end,
+}
-- 
GitLab