From 1d720f706afd8a25299c35327b68483ee37dacf8 Mon Sep 17 00:00:00 2001
From: Bunny <glisa825@gmail.com>
Date: Fri, 9 Oct 2020 02:18:23 -0400
Subject: [PATCH] Tune undead talent scaling

---
 game/modules/tome/data/talents/undeads/ghoul.lua    | 10 +++++-----
 game/modules/tome/data/talents/undeads/skeleton.lua |  8 ++++----
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/game/modules/tome/data/talents/undeads/ghoul.lua b/game/modules/tome/data/talents/undeads/ghoul.lua
index 80adc5fbb2..f62be673d5 100644
--- a/game/modules/tome/data/talents/undeads/ghoul.lua
+++ b/game/modules/tome/data/talents/undeads/ghoul.lua
@@ -45,9 +45,9 @@ newTalent{
 	tactical = { CLOSEIN = 3 },
 	direct_hit = true,
 	fixed_cooldown = true,
-	cooldown = function(self, t) return math.floor(self:combatTalentLimit(t, 5, 25, 15)) end,
+	cooldown = function(self, t) return math.floor(self:combatTalentLimit(t, 5, 20, 10, false, 1.1)) end,
 	range = function(self, t) return math.floor(self:combatTalentScale(t, 5, 10, 0.5, 0, 1)) end,
-	getSpeed = function(self, t) return math.floor(self:combatTalentLimit(t, 40, 20, 30)) end,
+	getSpeed = function(self, t) return math.floor(self:combatTalentLimit(t, 40, 20, 30, false, 1.1)) end,
 	requires_target = true,
 	action = function(self, t)
 		local tg = {type="hit", range=self:getTalentRange(t), nolock=true}
@@ -106,7 +106,7 @@ newTalent{
 	target = function(self, t) return {type="ball", range=self:getTalentRange(t), radius=self:getTalentRadius(t), selffire = not self:attr("undead")} end,  --selffire is set only for the ai, the map effect doesn't use it
 	requires_target = true,
 	getduration = function(self, t) return 10 end,
-	getPurgeChance = function(self, t) return self:combatTalentLimit(t, 100, 5, 25) end, -- Limit < 100%
+	getPurgeChance = function(self, t) return self:combatTalentLimit(t, 100, 10, 33, false, 1.1) end, -- Limit < 100%
 	-- status effect removal handled in mod.data.damage_types (type = "RETCH")
 	action = function(self, t)
 		local duration = t.getduration(self, t)
@@ -149,8 +149,8 @@ newTalent{
 	is_melee = true,
 	target = function(self, t) return {type="hit", range=self:getTalentRange(t)} end,
 	getDamage = function(self, t) return self:combatTalentScale(t, 1, 1.6) end,
-	getDuration = function(self, t) return math.floor(self:combatTalentLimit(t, 10, 3, 6)) end,
-	getGhoulDuration = function(self, t) return math.floor(self:combatTalentLimit(t, 10, 3, 6)) end,
+	getDuration = function(self, t) return math.floor(self:combatTalentLimit(t, 10, 3, 7, false, 1.1)) end,
+	getGhoulDuration = function(self, t) return math.floor(self:combatTalentLimit(t, 10, 3, 7, false, 1.1)) end,
 	getDiseaseDamage = function(self, t) return self:combatTalentStatDamage(t, "con", 10, 70) end,
 	spawn_ghoul = function (self, target, t)
 		local x, y = util.findFreeGrid(target.x, target.y, 10, true, {[Map.ACTOR]=true})
diff --git a/game/modules/tome/data/talents/undeads/skeleton.lua b/game/modules/tome/data/talents/undeads/skeleton.lua
index 3ee680816e..3cf874cb8a 100644
--- a/game/modules/tome/data/talents/undeads/skeleton.lua
+++ b/game/modules/tome/data/talents/undeads/skeleton.lua
@@ -39,7 +39,7 @@ newTalent{
 	type = {"undead/skeleton", 2},
 	require = undeads_req2,
 	points = 5,
-	cooldown = function(self, t) return self:combatTalentLimit(t, 10, 30, 16) end,
+	cooldown = function(self, t) return self:combatTalentLimit(t, 10, 25, 15, false, 1.1) end,
 	tactical = { DEFEND = 2 },
 	getShield = function(self, t)
 		return 3.5*self:getDex()+self:combatTalentScale(t, 120, 400) + self:combatTalentLimit(t, 0.1, 0.01, 0.05)*self.max_life
@@ -66,7 +66,7 @@ newTalent{
 	mode = "passive",
 	range = 1,
 	-- called by _M:on_set_temporary_effect function in mod.class.Actor.lua
-	durresist = function(self, t) return self:combatTalentLimit(t, 1, 0.1, 5/12) end, -- Limit < 100%
+	durresist = function(self, t) return self:combatTalentLimit(t, 1, 0.1, 5/12, false, 1.1) end, -- Limit < 100%
 	info = function(self, t)
 		return ([[Your undead bones are very resilient, reducing the duration of all detrimental effects on you by up to %d%%.]]):
 		tformat(100 * t.durresist(self, t))
@@ -78,9 +78,9 @@ newTalent{ short_name = "SKELETON_REASSEMBLE",
 	type = {"undead/skeleton",4},
 	require = undeads_req4,
 	points = 5,
-	cooldown = function(self, t) return math.ceil(self:combatTalentLimit(t, 10, 30, 16)) end, -- Limit cooldown >10
+	cooldown = function(self, t) return math.ceil(self:combatTalentLimit(t, 10, 30, 15, false, 1.1)) end, -- Limit cooldown >10
 	getHeal = function(self, t)
-		return self:combatTalentScale(t, 100, 500) + self:combatTalentLimit(t, 0.1, 0.01, 0.05)*self.max_life
+		return self:combatTalentScale(t, 100, 500) + self:combatTalentLimit(t, 0.1, 0.01, 0.05, false, 1.1)*self.max_life
 	end,
 	tactical = { HEAL = 2 },
 	is_heal = true,
-- 
GitLab