From d441c76743e749ff24d20926ee31fbe12ac565f0 Mon Sep 17 00:00:00 2001 From: Bunny <glisa825@gmail.com> Date: Fri, 9 Oct 2020 01:11:35 -0400 Subject: [PATCH] Tune corruption talent scaling --- game/modules/tome/data/talents/corruptions/blood.lua | 4 ++-- game/modules/tome/data/talents/corruptions/bone.lua | 2 +- game/modules/tome/data/talents/corruptions/plague.lua | 4 ++-- .../tome/data/talents/corruptions/reaving-combat.lua | 6 +++--- game/modules/tome/data/talents/corruptions/rot.lua | 8 ++++---- game/modules/tome/data/talents/corruptions/scourge.lua | 4 ++-- .../modules/tome/data/talents/corruptions/shadowflame.lua | 4 ++-- game/modules/tome/data/talents/corruptions/torment.lua | 2 +- game/modules/tome/data/talents/corruptions/vile-life.lua | 8 ++++---- 9 files changed, 21 insertions(+), 21 deletions(-) diff --git a/game/modules/tome/data/talents/corruptions/blood.lua b/game/modules/tome/data/talents/corruptions/blood.lua index ae523cd60c..6b57fc4477 100644 --- a/game/modules/tome/data/talents/corruptions/blood.lua +++ b/game/modules/tome/data/talents/corruptions/blood.lua @@ -53,7 +53,7 @@ newTalent{ target = function(self, t) return {type="cone", range=self:getTalentRange(t), radius=self:getTalentRadius(t), talent=t} end, - getChance = function(self, t) return self:combatTalentLimit(t, 100, 30, 70) end, -- Limit < 100% + getChance = function(self, t) return self:combatTalentLimit(t, 100, 40, 70) end, -- Limit < 100% action = function(self, t) local tg = self:getTalentTarget(t) local x, y = self:getTarget(tg) @@ -127,7 +127,7 @@ newTalent{ range = 0, radius = function(self, t) return 10 end, getDamage = function(self, t) return self:combatTalentSpellDamage(t, 10, 250) end, - getSlow = function(self, t) return self:combatTalentLimit(t, 100, 20, 70) end, + getSlow = function(self, t) return self:combatTalentLimit(t, 100, 35, 70) end, getHeal = function(self, t) return self:combatTalentSpellDamage(t, 10, 90) end, requires_target = true, target = function(self, t) diff --git a/game/modules/tome/data/talents/corruptions/bone.lua b/game/modules/tome/data/talents/corruptions/bone.lua index 5f6da3be39..48e284057d 100644 --- a/game/modules/tome/data/talents/corruptions/bone.lua +++ b/game/modules/tome/data/talents/corruptions/bone.lua @@ -185,7 +185,7 @@ newTalent{ sustain_vim = 50, tactical = { DEFEND = 4 }, direct_hit = true, - getRegen = function(self, t) return self:combatTalentLimit(t, 3, 20, 3.3) end, + getRegen = function(self, t) return self:combatTalentLimit(t, 3, 16, 4.5) end, getNb = function(self, t) return math.floor(self:combatTalentScale(t, 1, 3.5)) end, getThreshold = function(self, t) return math.floor(self:combatSpellpower() * 0.7) end, iconOverlay = function(self, t, p) diff --git a/game/modules/tome/data/talents/corruptions/plague.lua b/game/modules/tome/data/talents/corruptions/plague.lua index 2ec711c2fd..1e466bf098 100644 --- a/game/modules/tome/data/talents/corruptions/plague.lua +++ b/game/modules/tome/data/talents/corruptions/plague.lua @@ -265,8 +265,8 @@ newTalent{ tactical = { ATTACK = {BLIGHT = 2} }, target = function(self, t) return {type="hit", range=self:getTalentRange(t), talent=t} end, requires_target = true, - healloss = function(self,t) return self:combatTalentLimit(t, 150, 44, 80) end, -- Limit < 150% - disfact = function(self,t) return self:combatTalentLimit(t, 100, 36, 60) end, -- Limit < 100% + healloss = function(self,t) return self:combatTalentLimit(t, 150, 50, 75) end, -- Limit < 150% + disfact = function(self,t) return self:combatTalentLimit(t, 100, 35, 60) end, -- Limit < 100% -- Desease spreading handled in mod.data.damage_types.lua for BLIGHT spreadFactor = function(self, t) return self:combatTalentLimit(t, 0.05, 0.35, 0.17) end, -- Based on previous formula: 256 damage gave 100% chance (1500 hps assumed) diff --git a/game/modules/tome/data/talents/corruptions/reaving-combat.lua b/game/modules/tome/data/talents/corruptions/reaving-combat.lua index 9092563c3c..0c30863708 100644 --- a/game/modules/tome/data/talents/corruptions/reaving-combat.lua +++ b/game/modules/tome/data/talents/corruptions/reaving-combat.lua @@ -24,7 +24,7 @@ newTalent{ points = 5, require = str_corrs_req1, -- called by _M:getOffHandMult function in mod\class\interface\Combat.lua - getoffmult = function(self,t) return self:combatTalentLimit(t, 1, 0.53, 0.69) end, -- limit <100% + getoffmult = function(self,t) return self:combatTalentLimit(t, 1, 0.6, 0.8) end, -- limit <100% on_learn = function(self, t) if self:getTalentLevelRaw(t) == 1 then self:attr("allow_any_dual_weapons", 1) @@ -69,9 +69,9 @@ newTalent{ mode = "passive", require = str_corrs_req3, points = 5, - getDiseaseImmune = function(self, t) return self:combatTalentLimit(t, 1, 0.20, 0.75) end, -- Limit < 100% + getDiseaseImmune = function(self, t) return self:combatTalentLimit(t, 1, 0.33, 0.7) end, -- Limit < 100% -- called by _M:attackTargetWith in mod.class.interface.Combat.lua - getDiseaseSpread = function(self, t) return self:combatTalentLimit(t, 100, 5, 20) end, --Limit < 100% + getDiseaseSpread = function(self, t) return self:combatTalentLimit(t, 100, 10, 25) end, --Limit < 100% passives = function(self, t, p) self:talentTemporaryValue(p, "disease_immune", t.getDiseaseImmune(self, t)) end, diff --git a/game/modules/tome/data/talents/corruptions/rot.lua b/game/modules/tome/data/talents/corruptions/rot.lua index 8ee87f5b7a..4dc999c979 100644 --- a/game/modules/tome/data/talents/corruptions/rot.lua +++ b/game/modules/tome/data/talents/corruptions/rot.lua @@ -147,10 +147,10 @@ newTalent{ getDamage = function(self, t) return self:combatTalentSpellDamage(t, 10, 70) end, - getResist = function(self, t) return self:combatTalentLimit(t, 30, 5, 25) end, - getAffinity = function(self, t) return self:combatTalentLimit(t, 25, 4, 20) end, + getResist = function(self, t) return self:combatTalentScale(t, 10, 25) end, + getAffinity = function(self, t) return self:combatTalentScale(t, 7, 20) end, getDamageReduction = function(self, t) - return self:combatTalentLimit(t, 0.5, 0.1, 0.22) + return self:combatTalentLimit(t, 0.5, 0.15, 0.3) end, tactical = {BUFF = 3}, activate = function(self, t) @@ -235,7 +235,7 @@ newTalent{ range = 7, getHeal = function(self, t) return math.floor(self:combatTalentSpellDamage(t, 20, 400)) end, getVim = function(self, t) return 8 + math.floor(self:combatTalentScale(t, 5, 35)) end, - getDam = function(self, t) return self:combatTalentLimit(t, 1, 20, 5) end, + getDam = function(self, t) return self:combatTalentLimit(t, 1, 18, 5) end, tactical = {HEAL = 0.5}, -- Only use the healing functionality of this since in practice thats almost always optimal, but use it rarely so we don't waste time hopping around a lot as a melee target = function(self, t) -- no change to default_target because worms will usually be in melee with an enemy return {type="hit", nolock=true, range=self:getTalentRange(t)} diff --git a/game/modules/tome/data/talents/corruptions/scourge.lua b/game/modules/tome/data/talents/corruptions/scourge.lua index b36f31aecb..564860ab9a 100644 --- a/game/modules/tome/data/talents/corruptions/scourge.lua +++ b/game/modules/tome/data/talents/corruptions/scourge.lua @@ -34,7 +34,7 @@ newTalent{ target = function(self, t) return {type="hit", range=self:getTalentRange(t)} end, tactical = { ATTACK = {PHYSICAL = 2} }, requires_target = true, - getIncrease = function(self, t) return math.floor(self:combatTalentLimit(t, 4, 1, 3.5)) end, + getIncrease = function(self, t) return math.floor(self:combatTalentLimit(t, 4, 1.5, 3.5)) end, getDamage = function(self, t) return self:combatTalentWeaponDamage(t, 0.8, 1.6) end, on_pre_use = function(self, t, silent) if not self:hasDualWeapon() then @@ -126,7 +126,7 @@ newTalent{ vim = 20, cooldown = 8, range = 1, - radius = function(self, t) return self:combatTalentLimit(t, 7, 1, 5) end, + radius = function(self, t) return math.floor(self:combatTalentLimit(t, 7, 2.5, 5.5)) end, requires_target = true, is_melee = true, tactical = { ATTACK = {ACID = 2}}, diff --git a/game/modules/tome/data/talents/corruptions/shadowflame.lua b/game/modules/tome/data/talents/corruptions/shadowflame.lua index 8bf55406cc..812f76116f 100644 --- a/game/modules/tome/data/talents/corruptions/shadowflame.lua +++ b/game/modules/tome/data/talents/corruptions/shadowflame.lua @@ -26,7 +26,7 @@ newTalent{ cooldown = 30, no_energy = true, tactical = { DEFEND = 1, ESCAPE = 1, CLOSEIN = 1 }, - getDuration = function(self, t) return math.floor(self:combatTalentLimit(t, 15, 5, 9)) end, -- Limit < 30 (make sure they can't hide forever) + getDuration = function(self, t) return math.floor(self:combatTalentLimit(t, 15, 4, 10)) end, -- Limit < 30 (make sure they can't hide forever) getDefs = function(self, t) return self:combatTalentScale(t, 5, 20), self:combatTalentScale(t, 5, 16) end, action = function(self, t) local def, armor = t.getDefs(self, t) @@ -90,7 +90,7 @@ newTalent{ sustain_vim = 90, cooldown = 30, tactical = { DEFEND = 1, BUFF = 2 }, - getSpeed = function(self, t) return self:combatTalentScale(t, 0.03, 0.15) end, + getSpeed = function(self, t) return self:combatTalentScale(t, 0.05, 0.165) end, activate = function(self, t) game:playSoundNear(self, "talents/flame") self.__old_type = {self.type, self.subtype} diff --git a/game/modules/tome/data/talents/corruptions/torment.lua b/game/modules/tome/data/talents/corruptions/torment.lua index c2486a4813..3c0a7d8702 100644 --- a/game/modules/tome/data/talents/corruptions/torment.lua +++ b/game/modules/tome/data/talents/corruptions/torment.lua @@ -119,7 +119,7 @@ newTalent{ points = 5, mode = "sustained", cooldown = 20, - getPower = function(self, t) return self:combatTalentLimit(t, 5, 15, 10), self:combatLimit(self:combatTalentSpellDamage(t, 10, 90), 100, 20, 0, 50, 61.3) end, -- Limit threshold > 5%, chance < 100% + getPower = function(self, t) return self:combatTalentLimit(t, 5, 15, 8), self:combatLimit(self:combatTalentSpellDamage(t, 10, 90), 100, 20, 0, 50, 61.3) end, -- Limit threshold > 5%, chance < 100% sustain_vim = 22, tactical = { BUFF = 2 }, activate = function(self, t) diff --git a/game/modules/tome/data/talents/corruptions/vile-life.lua b/game/modules/tome/data/talents/corruptions/vile-life.lua index d830930c56..a47a093a23 100644 --- a/game/modules/tome/data/talents/corruptions/vile-life.lua +++ b/game/modules/tome/data/talents/corruptions/vile-life.lua @@ -63,9 +63,9 @@ newTalent{ tactical = { BUFF = 2 }, getFire = function(self, t) return self:combatTalentSpellDamage(t, 10, 400) end, getCold = function(self, t) return self:combatTalentSpellDamage(t, 10, 500) end, - getLightning = function(self, t) return math.floor(self:combatTalentLimit(t, 8, 3, 5)) end, - getAcid = function(self, t) return math.floor(self:combatTalentLimit(t, 8, 2, 5)) end, - getNature = function(self, t) return self:combatTalentLimit(t, 60, 15, 45) end, + getLightning = function(self, t) return math.floor(self:combatTalentLimit(t, 8, 3, 6)) end, + getAcid = function(self, t) return math.floor(self:combatTalentLimit(t, 8, 3, 6)) end, + getNature = function(self, t) return self:combatTalentLimit(t, 75, 25, 55) end, callbackOnTakeDamage = function(self, t, src, x, y, type, dam, tmp) local p = self:isTalentActive(t.id) if not p then return end @@ -171,7 +171,7 @@ newTalent{ no_npc_use = true, -- Bypasses all forms of immunity and such target = function(self, t) return {type="hit", range=self:getTalentRange(t), talent=t} end, getNb = function(self, t) return math.floor(self:combatTalentScale(t, 2, 4, "log")) end, - getDam = function(self, t) return self:combatTalentLimit(t, 2, 10, 5) end, --Limit < 10% life/effect + getDam = function(self, t) return self:combatTalentLimit(t, 2, 10, 3) end, --Limit < 10% life/effect getVim = function(self, t) return 18 end, action = function(self, t) local tg = self:getTalentTarget(t) -- GitLab