diff --git a/game/modules/tome/data/talents/gifts/cold-drake.lua b/game/modules/tome/data/talents/gifts/cold-drake.lua index 892f1020bce2c867b5ef658edbd61e97fad3b4b2..a663f38dba1abcce17b0d6d79c8ec6aca28e1e13 100644 --- a/game/modules/tome/data/talents/gifts/cold-drake.lua +++ b/game/modules/tome/data/talents/gifts/cold-drake.lua @@ -89,7 +89,7 @@ newTalent{ on_learn = function(self, t) self.resists[DamageType.COLD] = (self.resists[DamageType.COLD] or 0) + 1 end, on_unlearn = function(self, t) self.resists[DamageType.COLD] = (self.resists[DamageType.COLD] or 0) - 1 end, getArmor = function(self, t) return self:combatTalentMindDamage(t, 5, 25) end, - getLifePct = function(self, t) return self:combatTalentLimit(t, 1, 0.02, 0.10) end, -- Limit < 100% bonus + getLifePct = function(self, t) return self:combatTalentLimit(t, 1, 0.05, 0.15) end, -- Limit < 100% bonus getDamageOnMeleeHit = function(self, t) return 10 + self:combatTalentMindDamage(t, 10, 30) end, activate = function(self, t) return { diff --git a/game/modules/tome/data/talents/gifts/corrosive-blades.lua b/game/modules/tome/data/talents/gifts/corrosive-blades.lua index 249f99d7247af417cfac3e81a89be6ea94392dc5..252b44b62af59287d55113cfb6b70d5e47dda54d 100644 --- a/game/modules/tome/data/talents/gifts/corrosive-blades.lua +++ b/game/modules/tome/data/talents/gifts/corrosive-blades.lua @@ -122,7 +122,7 @@ newTalent{ tactical = { ATTACKAREA = { ACID = 2 }, DISABLE = { knockback = 1 } }, target = function(self, t) return {type="ball", radius=self:getTalentRadius(t), range=self:getTalentRange(t), talent=t} end, getDamage = function(self, t) return self:combatTalentMindDamage(t, 20, 290) end, - getDuration = function(self, t) return math.floor(self:combatTalentLimit(t, 12, 5, 8)) end, -- Limit < 12 + getDuration = function(self, t) return math.floor(self:combatTalentLimit(t, 12, 5, 8.5)) end, -- Limit < 12 getNb = function(self, t) local l = self:getTalentLevel(t) if l < 3 then return 2 elseif l < 5 then return 3 diff --git a/game/modules/tome/data/talents/gifts/earthen-power.lua b/game/modules/tome/data/talents/gifts/earthen-power.lua index 063099263cdc8a8b66c52b5b449b2d424132b683..f081711928d823060774b61f0b284fde7352be92 100644 --- a/game/modules/tome/data/talents/gifts/earthen-power.lua +++ b/game/modules/tome/data/talents/gifts/earthen-power.lua @@ -32,9 +32,9 @@ newTalent{ end, getValues = function(self, t) return - self:combatTalentLimit(t, 1, 0.07, 0.15), + self:combatTalentLimit(t, 1, 0.08, 0.165), self:combatTalentScale(t, 6, 10), - self:combatTalentLimit(t, 0.5, 0.067, 0.185), + self:combatTalentLimit(t, 0.5, 0.075, 0.2), self:combatTalentScale(t, 5, 9, "log") end, getDamage = function(self, t) return 30 end, diff --git a/game/modules/tome/data/talents/gifts/earthen-vines.lua b/game/modules/tome/data/talents/gifts/earthen-vines.lua index d9754f8bc1b154916edb79108f91b89d03d0d218..11785738f46b5ea7364a81edbf335dc573d5be02 100644 --- a/game/modules/tome/data/talents/gifts/earthen-vines.lua +++ b/game/modules/tome/data/talents/gifts/earthen-vines.lua @@ -98,7 +98,7 @@ newTalent{ require = gifts_req3, points = 5, equilibrium = 15, - cooldown = function(self, t) return math.ceil(self:combatTalentLimit(t, 0, 11, 7)) end, + cooldown = function(self, t) return math.ceil(self:combatTalentLimit(t, 0, 11, 6)) end, requires_target = true, range = 20, tactical = { HEAL = 2, CLOSEIN = 2 }, @@ -144,7 +144,7 @@ newTalent{ require = gifts_req4, points = 5, equilibrium = 15, - cooldown = function(self, t) return math.ceil(self:combatTalentLimit(t, 0, 11, 7)) end, + cooldown = function(self, t) return math.ceil(self:combatTalentLimit(t, 0, 11, 6)) end, requires_target = true, range = 20, tactical = { ATTACK = { PHYSICAL = 2 }, CLOSEIN = 2 }, diff --git a/game/modules/tome/data/talents/gifts/eyals-fury.lua b/game/modules/tome/data/talents/gifts/eyals-fury.lua index 4ca385928f97dc9e8329f2472e6e777fb697b0ff..571d675a94b747e41cdfcf4c544b90b0797c979f 100644 --- a/game/modules/tome/data/talents/gifts/eyals-fury.lua +++ b/game/modules/tome/data/talents/gifts/eyals-fury.lua @@ -60,7 +60,7 @@ newTalent{ getSave = function(self, t) return self:combatTalentMindDamage(t, 5, 50) end, getResist = function(self, t) return self:combatTalentMindDamage(t, 5, 40) end, getDuration = function(self, t) return math.floor(self:combatTalentScale(t, 3, 7)) end, - getAffinity = function(self, t) return self:combatTalentLimit(t, 50, 5, 20) end, -- Limit <50% + getAffinity = function(self, t) return self:combatTalentLimit(t, 50, 8, 25) end, -- Limit <50% getPower = function(self, t) return self:combatTalentMindDamage(t, 2, 8) end, trigger = function(self, t, target, source_t) -- called in damage_types.lua default projector self:setEffect(self.EFF_NATURE_REPLENISHMENT, t.getDuration(self, t), {power = t.getPower(self, t)}) @@ -98,7 +98,7 @@ newTalent{ tactical = { ATTACKAREA = { ACID = 2 }, DISABLE = {blind = 1} }, getDuration = function(self, t) return 5 end, getDamage = function(self, t) return self:combatTalentMindDamage(t, 10, 120) end, - getChance = function(self, t) return self:combatTalentLimit(t, 100, 20, 40) end, --Limit < 100% + getChance = function(self, t) return self:combatTalentLimit(t, 100, 25, 40) end, --Limit < 100% removeEffect = function(self, target) -- remove one random beneficial magical effect or sustain -- Go through all beneficial magical effects local effs = {} @@ -170,7 +170,7 @@ newTalent{ points = 5, equilibrium = 20, cooldown = 20, - radius = function(self, t) return math.floor(self:combatTalentLimit(t, 10, 4, 6)) end, --Limit < 10 + radius = function(self, t) return math.floor(self:combatTalentLimit(t, 10, 4, 8)) end, --Limit < 10 tactical = { ATTACKAREA = { NATURE = 2 }, EQUILIBRIUM = 1 }, getDuration = function(self, t) return math.floor(self:combatTalentScale(t, 4, 8)) end, getDamage = function(self, t) return self:combatTalentMindDamage(t, 10, 100) end, diff --git a/game/modules/tome/data/talents/gifts/harmony.lua b/game/modules/tome/data/talents/gifts/harmony.lua index 8cf25db368110f83a972910742df58aaa71c11c9..caebf640eb77d7ab98f293b602acfa6a6283ebbd 100644 --- a/game/modules/tome/data/talents/gifts/harmony.lua +++ b/game/modules/tome/data/talents/gifts/harmony.lua @@ -36,7 +36,7 @@ newTalent{ return false end, is_heal = true, - getdur = function(self,t) return math.floor(self:combatTalentLimit(t, 30, 6, 10)) end, -- limit to <30 + getdur = function(self,t) return math.floor(self:combatTalentLimit(t, 30, 6, 14)) end, -- limit to <30 action = function(self, t) local nb = 0 for eff_id, p in pairs(self.tmp) do @@ -152,9 +152,9 @@ newTalent{ direct_hit = true, requires_target = true, range = 0, - radius = function(self, t) return math.floor(self:combatTalentLimit(t, 10, 2, 5.2)) end, -- Limit < 10 + radius = function(self, t) return math.floor(self:combatTalentLimit(t, 10, 3.5, 7)) end, -- Limit < 10 target = function(self, t) return {type="ball", range=self:getTalentRange(t), radius=self:getTalentRadius(t), selffire=false, talent=t} end, -- To be improved after AI update - getDur = function(self, t) return math.floor(self:combatTalentLimit(t, 20, 4, 8)) end, -- Limit < 20 + getDur = function(self, t) return math.floor(self:combatTalentLimit(t, 20, 6, 10)) end, -- Limit < 20 getPct = function(self, t) return self:combatTalentLimit(t, 1, 0.4, 0.7) end, -- Limit < 100% healing transfer getEquilibrium = function(self, t) return self:combatTalentScale(t, 5, 10, "log", 0, 3) end, -- slow scaling since this can affect a lot of heals quickly action = function(self, t) diff --git a/game/modules/tome/data/talents/gifts/higher-draconic.lua b/game/modules/tome/data/talents/gifts/higher-draconic.lua index a9362fc19af0f954f05bfd0efe6a1688231c10c8..ae0cfc2c7c63900f75811d2382dbddc5b1df9d4c 100644 --- a/game/modules/tome/data/talents/gifts/higher-draconic.lua +++ b/game/modules/tome/data/talents/gifts/higher-draconic.lua @@ -121,7 +121,7 @@ newTalent{ local bonus = self:knowTalent(self.T_CHROMATIC_FURY) and self:combatTalentStatDamage(t, "wil", 60, 750) or 0 return self:combatTalentStatDamage(t, "str", 60, 750) + bonus end, - getEffect = function(self, t) return math.ceil(self:combatTalentLimit(t, 50, 10, 20)) end, + getEffect = function(self, t) return math.ceil(self:combatTalentLimit(t, 50, 15, 30)) end, on_learn = function(self, t) self.resists[DamageType.NATURE] = (self.resists[DamageType.NATURE] or 0) + 3 self.inc_damage[DamageType.NATURE] = (self.inc_damage[DamageType.NATURE] or 0) + 4 @@ -141,7 +141,7 @@ newTalent{ self:project(tg, x, y, function(px, py) local target = game.level.map(px, py, Map.ACTOR) if target and target:canBe("poison") then - target:setEffect(self.EFF_CRIPPLING_POISON, 6, {src=self, power=dam/6, fail=math.ceil(self:combatTalentLimit(t, 100, 10, 20))}) + target:setEffect(self.EFF_CRIPPLING_POISON, 6, {src=self, power=dam/6, fail=math.ceil(self:combatTalentLimit(t, 100, 15, 30))}) end end) @@ -169,8 +169,8 @@ newTalent{ require = gifts_req_high3, points = 5, mode = "passive", - resistKnockback = function(self, t) return self:combatTalentLimit(t, 1, .17, .5) end, -- Limit < 100% - resistBlindStun = function(self, t) return self:combatTalentLimit(t, 1, .07, .25) end, -- Limit < 100% + resistKnockback = function(self, t) return self:combatTalentLimit(t, 1, .2, .5) end, -- Limit < 100% + resistBlindStun = function(self, t) return self:combatTalentLimit(t, 1, .1, .25) end, -- Limit < 100% passives = function(self, t, p) self:talentTemporaryValue(p, "knockback_immune", t.resistKnockback(self, t)) self:talentTemporaryValue(p, "stun_immune", t.resistBlindStun(self, t)) @@ -189,9 +189,9 @@ newTalent{ points = 5, mode = "passive", no_npc_use = true, -- breaths are high damage on rares already; should really change this to be less binary in general, this is weird design - getDamageIncrease = function(self, t) return self:combatTalentLimit(t, 50, 5, 15) end, -- Limit < 50% + getDamageIncrease = function(self, t) return self:combatTalentLimit(t, 50, 8, 20) end, -- Limit < 50% getResists = function(self, t) return self:combatTalentScale(t, 0.6, 2.5) end, - getResistPen = function(self, t) return self:combatTalentLimit(t, 50, 5, 15) end, -- Limit < 50% + getResistPen = function(self, t) return self:combatTalentLimit(t, 50, 12, 30) end, -- Limit < 50% passives = function(self, t, p) local dam_inc = t.getDamageIncrease(self, t) local resists = t.getResists(self, t) diff --git a/game/modules/tome/data/talents/gifts/mindstar-mastery.lua b/game/modules/tome/data/talents/gifts/mindstar-mastery.lua index 3f8a4534a55060c1dbbfcddbbb144161ee55e7cc..16f138d38a8e0a03f15ced0d38a56c95650c83cd 100644 --- a/game/modules/tome/data/talents/gifts/mindstar-mastery.lua +++ b/game/modules/tome/data/talents/gifts/mindstar-mastery.lua @@ -88,7 +88,7 @@ newTalent{ tactical = { ATTACK = 2, DISABLE = 2 }, target = function(self, t) return {type="hit", range=self:getTalentRange(t)} end, on_pre_use = function(self, t, silent) if not self:hasPsiblades(true, false) then if not silent then game.logPlayer(self, "You require a psiblade in your mainhand to use this talent.") end return false end return true end, - speedPenalty = function(self, t) return self:combatTalentLimit(t, 1, 0.18, 0.23) end, + speedPenalty = function(self, t) return self:combatTalentLimit(t, 1, 0.2, 0.45) end, action = function(self, t) local tg = self:getTalentTarget(t) local x, y, target = self:getTarget(tg) diff --git a/game/modules/tome/data/talents/gifts/moss.lua b/game/modules/tome/data/talents/gifts/moss.lua index 6ad9228145be54c99f46e261a2bbcdb6ea26b2fb..a10fff587e899bd0d82b28bb5ac6cf85e662752b 100644 --- a/game/modules/tome/data/talents/gifts/moss.lua +++ b/game/modules/tome/data/talents/gifts/moss.lua @@ -35,7 +35,7 @@ newTalent{ no_energy = true, tactical = { ATTACKAREA = {NATURE=1}, DISABLE = {pin = 1} }, getDamage = function(self, t) return self:combatTalentMindDamage(t, 6, 40) end, - getDuration = function(self, t) return math.floor(self:combatTalentLimit(t, 16, 4, 8)) end, -- Limit < 16 + getDuration = function(self, t) return math.floor(self:combatTalentLimit(t, 16, 4, 10)) end, -- Limit < 16 getSlow = function(self, t) return math.ceil(self:combatTalentLimit(t, 100, 36, 60)) end, -- Limit < 100% getPin = function(self, t) return math.ceil(self:combatTalentLimit(t, 100, 25, 45)) end, -- Limit < 100% range = 0, @@ -86,7 +86,7 @@ newTalent{ tactical = { ATTACKAREA = {NATURE=1}, HEAL = 1 }, requires_target = true, getDamage = function(self, t) return self:combatTalentMindDamage(t, 6, 40) end, - getDuration = function(self, t) return math.floor(self:combatTalentLimit(t, 16, 4, 8)) end, -- Limit < 16 + getDuration = function(self, t) return math.floor(self:combatTalentLimit(t, 16, 4, 10)) end, -- Limit < 16 getHeal = function(self, t) return math.floor(self:combatTalentLimit(t, 200, 62, 110)) end, -- Limit < 200% range = 0, radius = function(self, t) @@ -134,8 +134,8 @@ newTalent{ no_energy = true, tactical = { ATTACKAREA = {NATURE=1}, DISABLE = 2 }, getDamage = function(self, t) return self:combatTalentMindDamage(t, 6, 40) end, - getDuration = function(self, t) return math.floor(self:combatTalentLimit(t, 16, 4, 8)) end, -- Limit < 16 - getFail = function(self, t) return self:combatTalentLimit(t, 50, 19, 35) end, -- Limit < 50% + getDuration = function(self, t) return math.floor(self:combatTalentLimit(t, 16, 4, 10)) end, -- Limit < 16 + getFail = function(self, t) return self:combatTalentLimit(t, 50, 20, 35) end, -- Limit < 50% range = 0, radius = function(self, t) return math.floor(self:combatTalentScale(t,2.5, 4.5, nil, 0, 0, true)) @@ -182,7 +182,7 @@ newTalent{ no_energy = true, tactical = { ATTACKAREA = {NATURE=1}, DISABLE = {confusion = 1} }, getDamage = function(self, t) return self:combatTalentMindDamage(t, 6, 40) end, - getDuration = function(self, t) return math.floor(self:combatTalentLimit(t, 16, 4, 8)) end, -- Limit < 16 + getDuration = function(self, t) return math.floor(self:combatTalentLimit(t, 16, 4, 10)) end, -- Limit < 16 getChance = function(self, t) return math.ceil(self:combatTalentLimit(t, 100, 25.5, 47.5)) end, -- Limit < 100% getPower = function(self, t) return math.max(0,self:combatTalentLimit(t, 50, 20, 40)) end, -- Limit < 50% range = 0, diff --git a/game/modules/tome/data/talents/gifts/mucus.lua b/game/modules/tome/data/talents/gifts/mucus.lua index bf888fb347253d4117f70ee3e265055ef0555312..253c2d3856fd2c7899e1fe2eff9f14760dbc5aaf 100644 --- a/game/modules/tome/data/talents/gifts/mucus.lua +++ b/game/modules/tome/data/talents/gifts/mucus.lua @@ -37,7 +37,7 @@ newTalent{ if self:getTalentLevel(t)>=4 then return {NATURE = 1 } end end }, - getDur = function(self, t) return math.floor(self:combatTalentLimit(t, 20, 4, 6.5)) end, -- Limit < 20 + getDur = function(self, t) return math.floor(self:combatTalentLimit(t, 20, 4, 8)) end, -- Limit < 20 getDamage = function(self, t) return self:combatTalentMindDamage(t, 10, 50) end, -- note meditation recovery: local pt = 2 + self:combatTalentMindDamage(t, 20, 120) / 10 = O(<1) getEqui = function(self, t) return self:combatTalentMindDamage(t, 2, 8) end, diff --git a/game/modules/tome/data/talents/gifts/ooze.lua b/game/modules/tome/data/talents/gifts/ooze.lua index b6ad511097252abda9f448c42fd0ba4b43821c9b..3a93b9114cb3abbf2215f9f466ffaf9f1401df18 100644 --- a/game/modules/tome/data/talents/gifts/ooze.lua +++ b/game/modules/tome/data/talents/gifts/ooze.lua @@ -31,11 +31,11 @@ newTalent{ end }, getMaxHP = function(self, t) return - 50 + self:combatTalentMindDamage(t, 30, 250) + self.max_life * self:combatTalentLimit(t, 0.25, .025, .1) + 50 + self:combatTalentMindDamage(t, 30, 250) + self.max_life * self:combatTalentLimit(t, 0.25, .035, .125) end, - getMax = function(self, t) local _, _, max = checkMaxSummon(self, true) return math.min(max, math.max(1, math.floor(self:combatTalentLimit(t, 6, 1, 3.1)))) end, --Limit < 6 + getMax = function(self, t) local _, _, max = checkMaxSummon(self, true) return math.min(max, math.max(1, math.floor(self:combatTalentLimit(t, 6, 1.1, 4.1)))) end, --Limit < 6 getChance = function(self, t) return self:combatLimit(self:combatTalentStatDamage(t, "cun", 10, 400), 100, 20, 0, 61, 234) end, -- Limit < 100% - getOozeResist = function(self, t) return self:combatTalentLimit(t, 70, 15, 30) end, --Limit < 70% + getOozeResist = function(self, t) return self:combatTalentLimit(t, 70, 15, 35) end, --Limit < 70% getSummonTime = function(self, t) return math.floor(self:combatTalentScale(t, 6, 10)) end, -- called in mod.class.Actor.onTakeHit spawn = function(self, t, life) @@ -252,7 +252,7 @@ newTalent{ mode = "passive", --compare to lethality: self:combatTalentScale(t, 7.5, 25, 0.75) critResist = function(self, t) return self:combatTalentScale(t, 15, 50, 0.75) end, - immunities = function(self, t) return self:combatTalentLimit(t, 1, 0.2, 0.7) end, -- Limit < 100% immunities + immunities = function(self, t) return self:combatTalentLimit(t, 1, 0.25, 0.65) end, -- Limit < 100% immunities passives = function(self, t, p) self:talentTemporaryValue(p, "blind_immune", t.immunities(self, t)) self:talentTemporaryValue(p, "poison_immune", t.immunities(self, t)) diff --git a/game/modules/tome/data/talents/gifts/oozing-blades.lua b/game/modules/tome/data/talents/gifts/oozing-blades.lua index 7b8069790fe3ca88d58cbd5376625508ad82c13e..79d66d418b8f3fab3686f7e93313767dbf714cb9 100644 --- a/game/modules/tome/data/talents/gifts/oozing-blades.lua +++ b/game/modules/tome/data/talents/gifts/oozing-blades.lua @@ -96,8 +96,8 @@ newTalent{ tactical = { DISABLE = 2 }, requires_target = true, getChance = function(self, t) return math.max(0, self:combatLimit(self:combatTalentMindDamage(t, 10, 70), 100, 39, 9, 86, 56)) end, -- Limit < 100% - getNb = function(self, t) return math.ceil(self:combatTalentLimit(t, 4, 1, 2)) end, - getTurns = function(self, t) return math.ceil(self:combatTalentLimit(t, 10, 2, 6)) end, + getNb = function(self, t) return math.ceil(self:combatTalentLimit(t, 4, .9, 3.1)) end, + getTurns = function(self, t) return math.ceil(self:combatTalentLimit(t, 10, 3, 6.5)) end, action = function(self, t) local tg = self:getTalentTarget(t) local x, y = self:getTarget(tg) @@ -135,8 +135,8 @@ newTalent{ return main and off end, tactical = { BUFF = 2 }, - getResistPenalty = function(self, t) return self:combatTalentLimit(t, 100, 15, 50) end, -- Limit < 100% - getChance = function(self, t) return math.max(0,self:combatTalentLimit(t, 100, 14, 70)) end, -- Limit < 100% + getResistPenalty = function(self, t) return self:combatTalentLimit(t, 100, 20, 50) end, -- Limit < 100% + getChance = function(self, t) return math.max(0,self:combatTalentLimit(t, 70, 25, 55)) end, -- Limit < 100% freespit = function(self, t, target) if game.party:hasMember(self) then for act, def in pairs(game.party.members) do diff --git a/game/modules/tome/data/talents/gifts/sand-drake.lua b/game/modules/tome/data/talents/gifts/sand-drake.lua index 4b95879ffa0dce2ee652fa305aa609834a900ad5..dcd54e06b78f6ce22f6afe4949c994f76d729b6b 100644 --- a/game/modules/tome/data/talents/gifts/sand-drake.lua +++ b/game/modules/tome/data/talents/gifts/sand-drake.lua @@ -23,7 +23,7 @@ newTalent{ require = gifts_req1, points = 5, equilibrium = 4, - cooldown = function(self, t) return math.ceil(self:combatTalentLimit(t, 4, 10, 7)) end, + cooldown = function(self, t) return math.ceil(self:combatTalentLimit(t, 4, 10, 5.9)) end, range = 1, no_message = true, tactical = { ATTACK = { weapon = 1 }, EQUILIBRIUM = 0.5}, diff --git a/game/modules/tome/data/talents/gifts/slime.lua b/game/modules/tome/data/talents/gifts/slime.lua index 96c369386d274d8b1cbefc540b799c5097cd66db..948164525f311e9e806437a81210984ebe82adf1 100644 --- a/game/modules/tome/data/talents/gifts/slime.lua +++ b/game/modules/tome/data/talents/gifts/slime.lua @@ -30,7 +30,7 @@ newTalent{ proj_speed = 6, requires_target = true, getTargetCount = function(self, t) return math.floor(self:combatTalentScale(t, 1, 5, "log")) end, - bouncePercent = function(self, t) return self:combatTalentLimit(t, 100, 50, 60) end, --Limit < 100% + bouncePercent = function(self, t) return self:combatTalentLimit(t, 100, 45, 70) end, --Limit < 100% action = function(self, t) local tg = {type="bolt", range=self:getTalentRange(t), selffire=false, talent=t, display={particle="bolt_slime"}, name = t.name, speed = t.proj_speed} local x, y = self:getTarget(tg) @@ -73,9 +73,9 @@ newTalent{ local defaults = {target.EFF_SPYDRIC_POISON, target.EFF_INSIDIOUS_POISON, target.EFF_CRIPPLING_POISON, target.EFF_NUMBING_POISON} local poison = rng.table(self.poisonous_spores_list or defaults) target:setEffect(poison, 10, {src=self, power=dam/10, - reduce=self:combatTalentLimit(t, 100, 12, 20), - fail=math.ceil(self:combatTalentLimit(t, 100, 6, 10)), - heal_factor=self:combatTalentLimit(t, 100, 24, 40)}) + reduce=self:combatTalentLimit(t, 100, 12.5, 25), + fail=math.ceil(self:combatTalentLimit(t, 100, 7, 12)), + heal_factor=self:combatTalentLimit(t, 100, 25, 40)}) end end, 0, {type="slime"}) @@ -103,7 +103,7 @@ newTalent{ range = 1, requires_target = false, tactical = { DEFEND = 1 }, - getChance = function(self, t) return self:combatTalentLimit(t, 100, 7, 15) end, -- Limit < 100% + getChance = function(self, t) return self:combatTalentLimit(t, 100, 7, 18) end, -- Limit < 100% getDamage = function(self, t) return self:combatTalentMindDamage(t, 10, 50) end, activate = function(self, t) game:playSoundNear(self, "talents/slime") diff --git a/game/modules/tome/data/talents/gifts/summon-advanced.lua b/game/modules/tome/data/talents/gifts/summon-advanced.lua index 5241a0f9611bad80120f03182bf945a65395fb1a..74094d2d60c4e06667cb1dee0460cc258d43f92b 100644 --- a/game/modules/tome/data/talents/gifts/summon-advanced.lua +++ b/game/modules/tome/data/talents/gifts/summon-advanced.lua @@ -94,7 +94,7 @@ newTalent{ mode = "passive", points = 5, getChance = function(self, t) return math.min(100, 30 + self:getTalentLevel(t) * 15) end, - getReduction = function(self, t) return math.floor(self:combatTalentLimit(t, 5, 1, 3.1)) end, -- Limit < 5 + getReduction = function(self, t) return math.floor(self:combatTalentLimit(t, 5, 1.5, 4.1)) end, -- Limit < 5 info = function(self, t) return ([[While Master Summoner is active, each new summon will reduce the remaining cooldown of Pheromones, Detonate and Wild Summon. %d%% chance to reduce them by %d.]]):tformat(t.getChance(self, t), t.getReduction(self, t)) @@ -114,7 +114,7 @@ newTalent{ on_pre_use = function(self, t, silent) return self:isTalentActive(self.T_MASTER_SUMMONER) end, - duration = function(self, t) return math.floor(self:combatTalentLimit(t, 15, 1, 6)) end, -- Limit <25 + duration = function(self, t) return math.floor(self:combatTalentLimit(t, 15, 3, 7)) end, -- Limit <15 action = function(self, t) self:setEffect(self.EFF_WILD_SUMMON, t.duration(self,t), {chance=100}) game:playSoundNear(self, "talents/teleport") diff --git a/game/modules/tome/data/talents/gifts/summon-augmentation.lua b/game/modules/tome/data/talents/gifts/summon-augmentation.lua index 45c927af77daa313a5f49d34f4000bf4e4f007e7..274edf43af38586e48942d7445bca4d59490aa93 100644 --- a/game/modules/tome/data/talents/gifts/summon-augmentation.lua +++ b/game/modules/tome/data/talents/gifts/summon-augmentation.lua @@ -73,8 +73,8 @@ newTalent{ explodeFire = function(self,t) return self:combatTalentMindDamage(t, 30, 120) end, hydraAffinity = function(self,t) return self:combatTalentLimit(t, 50, 15, 40) end, hydraRegen = function(self,t) return self:combatTalentMindDamage (t, 8, 40) end, - jellySlow = function(self,t) return self:combatTalentLimit(t, 0.60, 0.10, 0.35) end, - minotaurConfuse = function(self,t) return self:combatTalentLimit(t, 50, 15, 35) end, + jellySlow = function(self,t) return self:combatTalentLimit(t, 0.60, 0.25, 0.48) end, + minotaurConfuse = function(self,t) return self:combatTalentLimit(t, 50, 20, 35) end, golemArmour = function(self,t) return self:combatTalentScale(t, 15, 33) end, golemHardiness = function(self,t) return 15 + self:getTalentLevelRaw(t)*10 end, shellShielding = function(self,t) return self:combatTalentMindDamage(t, 10, 35) end, @@ -131,8 +131,8 @@ newTalent{ require = gifts_req3, mode = "passive", points = 5, - incLife = function(self, t) return self:combatTalentLimit(t, 1, 0.05, 0.20) end, - incDur = function(self, t) return math.floor(self:combatTalentLimit(t, 6, 1, 2.8)) end, + incLife = function(self, t) return self:combatTalentLimit(t, 1, 0.125, 0.25) end, + incDur = function(self, t) return math.floor(self:combatTalentLimit(t, 6, 2, 5)) end, info = function(self, t) return ([[Increases all your summons' max life by %0.1f%% and extends your summons' maximum lifetime by %d turns.]]):tformat(100*t.incLife(self, t), t.incDur(self,t)) end, diff --git a/game/modules/tome/data/talents/gifts/summon-utility.lua b/game/modules/tome/data/talents/gifts/summon-utility.lua index 668acae23d56d83a5e39ffb68f22e797cf06942d..257b06da5f738160c9eb3816a249067e804a7576 100644 --- a/game/modules/tome/data/talents/gifts/summon-utility.lua +++ b/game/modules/tome/data/talents/gifts/summon-utility.lua @@ -339,8 +339,8 @@ newTalent{ on_pre_use_ai = aiSummonPreUse, aiSummonGrid = aiSummonGridRanged, tactical = { BUFF = 0.2 }, - getReduc = function(self, t) return self:combatTalentLimit(t, 85, 25, 70) end, -- Limit <85% - getDuration = function(self, t) return math.floor(self:combatTalentLimit(t, 25, 2.7, 5.6)) end, -- Limit <25 + getReduc = function(self, t) return self:combatTalentLimit(t, 85, 35, 65) end, -- Limit <85% + getDuration = function(self, t) return math.floor(self:combatTalentLimit(t, 25, 3.5, 6.5)) end, -- Limit <25 action = function(self, t) self:setEffect(self.EFF_FRANTIC_SUMMONING, t.getDuration(self, t), {power=t.getReduc(self, t)}) return true diff --git a/game/modules/tome/data/talents/gifts/venom-drake.lua b/game/modules/tome/data/talents/gifts/venom-drake.lua index 8def01b0c56ff0ba09b3ce057787c3954d71bfc3..e14eb6e97c8f7ef9ec08c4ae382213bc09bc0849 100644 --- a/game/modules/tome/data/talents/gifts/venom-drake.lua +++ b/game/modules/tome/data/talents/gifts/venom-drake.lua @@ -25,7 +25,7 @@ newTalent{ random_ego = "attack", message = _t"@Source@ spits acid!", equilibrium = 3, - cooldown = function(self, t) return math.ceil(self:combatTalentLimit(t, 3, 6.9, 5.5)) end, -- Limit >=3 + cooldown = function(self, t) return math.ceil(self:combatTalentLimit(t, 3, 6.9, 4)) end, -- Limit >=3 tactical = { ATTACK = { ACID = 2 } }, range = function(self, t) return math.floor(self:combatTalentScale(t, 5.5, 7.5)) end, on_learn = function(self, t)