Skip to content

Commit 33c3754

Browse files
LocalIdentityLocalIdentity
andauthored
Fix Recovery rate mods multiplying Life / Mana regeneration rate (#1001)
Recovery rate mods in PoE 2 are additive with regeneration rate mods instead of multiplicative in PoE 1 Co-authored-by: LocalIdentity <localidentity2@gmail.com>
1 parent 7df7885 commit 33c3754

File tree

2 files changed

+9
-13
lines changed

2 files changed

+9
-13
lines changed

src/Modules/CalcDefence.lua

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1496,8 +1496,8 @@ function calcs.defence(env, actor)
14961496
local resource = resourceName:gsub(" ", "")
14971497
local pool = output[resource] or 0
14981498
local baseRegen = 0
1499-
local inc = modDB:Sum("INC", nil, resource.."Regen")
1500-
local more = modDB:More(nil, resource.."Regen")
1499+
local inc = modDB:Sum("INC", nil, resource.."Regen", resource.."RecoveryRate")
1500+
local more = modDB:More(nil, resource.."Regen", resource.."RecoveryRate")
15011501
local regen = 0
15021502
local regenRate = 0
15031503
local recoveryRateMod = output[resource.."RecoveryRateMod"] or 1
@@ -1531,7 +1531,7 @@ function calcs.defence(env, actor)
15311531
end
15321532
end
15331533
end
1534-
regenRate = round(regen * recoveryRateMod, 1)
1534+
regenRate = round(regen, 1)
15351535
output[resource.."Regen"] = regenRate
15361536
end
15371537
output[resource.."RegenInc"] = inc
@@ -1552,7 +1552,6 @@ function calcs.defence(env, actor)
15521552
base = { "%.1f ^8(base)", baseRegen },
15531553
{ "%.2f ^8(increased/reduced)", 1 + inc/100 },
15541554
{ "%.2f ^8(more/less)", more },
1555-
{ "%.2f ^8(recovery rate modifier)", recoveryRateMod },
15561555
total = s_format("= %.1f ^8per second", regenRate)
15571556
})
15581557
if modDB:Flag(nil, "UnaffectedBy"..resource.."Regen") then

src/Modules/CalcSections.lua

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1437,9 +1437,8 @@ return {
14371437
{ label = "Recovery", { format = "{1:output:LifeRegenRecovery} ({1:output:LifeRegenPercent}%)",
14381438
{ breakdown = "LifeRegenRecovery" },
14391439
{ label = "Sources", modName = { "LifeRegen", "LifeRegenPercent", "LifeDegen", "LifeDegenPercent", "LifeRecovery" }, modType = "BASE" },
1440-
{ label = "Increased Life Regeneration Rate", modName = { "LifeRegen" }, modType = "INC" },
1441-
{ label = "More Life Regeneration Rate", modName = { "LifeRegen" }, modType = "MORE" },
1442-
{ label = "Recovery modifiers", modName = "LifeRecoveryRate" },
1440+
{ label = "Increased Life Recovery", modName = { "LifeRegen", "LifeRecoveryRate" }, modType = "INC" },
1441+
{ label = "More Life Recovery", modName = { "LifeRegen", "LifeRecoveryRate" }, modType = "MORE" },
14431442
}, },
14441443
{ label = "Recoup", haveOutput = "LifeRecoup", { format = "{1:output:LifeRecoup}%", { breakdown = "LifeRecoup" },
14451444
{ label = "Sources", modName = "LifeRecoup" },
@@ -1492,9 +1491,8 @@ return {
14921491
{ label = "Recovery", { format = "{1:output:ManaRegenRecovery} ({1:output:ManaRegenPercent}%)",
14931492
{ breakdown = "ManaRegenRecovery" },
14941493
{ label = "Sources", modName = { "ManaRegen", "ManaRegenPercent", "ManaDegen", "ManaDegenPercent", "ManaRecovery" }, modType = "BASE" },
1495-
{ label = "Increased Mana Regeneration Rate", modName = { "ManaRegen" }, modType = "INC" },
1496-
{ label = "More Mana Regeneration Rate", modName = { "ManaRegen" }, modType = "MORE" },
1497-
{ label = "Recovery modifiers", modName = "ManaRecoveryRate" },
1494+
{ label = "Increased Mana Recovery", modName = { "ManaRegen", "ManaRecoveryRate" }, modType = "INC" },
1495+
{ label = "More Mana Recovery", modName = { "ManaRegen", "ManaRecoveryRate" }, modType = "MORE" },
14981496
}, },
14991497
{ label = "Recoup", haveOutput = "ManaRecoup", { format = "{1:output:ManaRecoup}%", { breakdown = "ManaRecoup" },
15001498
{ label = "Sources", modName = "ManaRecoup" },
@@ -1536,9 +1534,8 @@ return {
15361534
{ label = "Recovery", { format = "{1:output:EnergyShieldRegenRecovery} ({1:output:EnergyShieldRegenPercent}%)",
15371535
{ breakdown = "EnergyShieldRegenRecovery" },
15381536
{ label = "Sources", modName = { "EnergyShieldRegen", "EnergyShieldRegenPercent", "EnergyShieldDegen", "EnergyShieldDegenPercent", "EnergyShieldRecovery" }, modType = "BASE" },
1539-
{ label = "Increased Energy Shield Regeneration Rate", modName = { "EnergyShieldRegen" }, modType = "INC" },
1540-
{ label = "More Energy Shield Regeneration Rate", modName = { "EnergyShieldRegen" }, modType = "MORE" },
1541-
{ label = "Recovery modifiers", modName = "EnergyShieldRecoveryRate" },
1537+
{ label = "Increased Energy Shield Recovery", modName = { "EnergyShieldRegen", "EnergyShieldRecoveryRate" }, modType = "INC" },
1538+
{ label = "More Energy Shield Recovery", modName = { "EnergyShieldRegen", "EnergyShieldRecoveryRate" }, modType = "MORE" },
15421539
}, },
15431540
{ label = "Recoup", haveOutput = "EnergyShieldRecoup", { format = "{1:output:EnergyShieldRecoup}%", { breakdown = "EnergyShieldRecoup" },
15441541
{ label = "Sources", modName = "EnergyShieldRecoup" },

0 commit comments

Comments
 (0)