diff --git a/src/Modules/CalcDefence.lua b/src/Modules/CalcDefence.lua index c143608c6c..6def57a06e 100644 --- a/src/Modules/CalcDefence.lua +++ b/src/Modules/CalcDefence.lua @@ -1269,7 +1269,9 @@ function calcs.defence(env, actor) output[resource.."Regen"] = regenRate end output[resource.."RegenInc"] = inc - local baseDegen = (modDB:Sum("BASE", nil, resource.."Degen") + pool * modDB:Sum("BASE", nil, resource.."DegenPercent") / 100) + local baseDegen = modDB:Sum("BASE", nil, resource.."Degen") + (pool * modDB:Sum("BASE", nil, resource.."DegenPercent") / 100) + local tinctureDegenPercent = modDB:Sum("BASE", nil, resource.."DegenPercentTincture") + baseDegen = baseDegen + m_max(pool * tinctureDegenPercent / 100, tinctureDegenPercent) -- tincture minimum 1 degen per stack local degenRate = (baseDegen > 0) and baseDegen * calcLib.mod(modDB, nil, resource.."Degen") or 0 output[resource.."Degen"] = degenRate local recoveryRate = modDB:Sum("BASE", nil, resource.."Recovery") * recoveryRateMod diff --git a/src/Modules/CalcSections.lua b/src/Modules/CalcSections.lua index 311e6dc008..9517b052ef 100644 --- a/src/Modules/CalcSections.lua +++ b/src/Modules/CalcSections.lua @@ -1409,7 +1409,7 @@ return { }, }, { label = "Recovery", { format = "{1:output:LifeRegenRecovery} ({1:output:LifeRegenPercent}%)", { breakdown = "LifeRegenRecovery" }, - { label = "Sources", modName = { "LifeRegen", "LifeRegenPercent", "LifeDegen", "LifeDegenPercent", "LifeRecovery" }, modType = "BASE" }, + { label = "Sources", modName = { "LifeRegen", "LifeRegenPercent", "LifeDegen", "LifeDegenPercent", "LifeDegenPercentTincture", "LifeRecovery" }, modType = "BASE" }, { label = "Increased Life Regeneration Rate", modName = { "LifeRegen" }, modType = "INC" }, { label = "More Life Regeneration Rate", modName = { "LifeRegen" }, modType = "MORE" }, { label = "Recovery modifiers", modName = "LifeRecoveryRate" }, @@ -1464,7 +1464,7 @@ return { { label = "Unreserved", { format = "{0:output:ManaUnreserved} ({0:output:ManaUnreservedPercent}%)" }, }, { label = "Recovery", { format = "{1:output:ManaRegenRecovery} ({1:output:ManaRegenPercent}%)", { breakdown = "ManaRegenRecovery" }, - { label = "Sources", modName = { "ManaRegen", "ManaRegenPercent", "ManaDegen", "ManaDegenPercent", "ManaRecovery" }, modType = "BASE" }, + { label = "Sources", modName = { "ManaRegen", "ManaRegenPercent", "ManaDegen", "ManaDegenPercent", "ManaDegenPercentTincture", "ManaRecovery" }, modType = "BASE" }, { label = "Increased Mana Regeneration Rate", modName = { "ManaRegen" }, modType = "INC" }, { label = "More Mana Regeneration Rate", modName = { "ManaRegen" }, modType = "MORE" }, { label = "Recovery modifiers", modName = "ManaRecoveryRate" }, diff --git a/src/Modules/CalcSetup.lua b/src/Modules/CalcSetup.lua index ce4f1cdf00..b1ed688536 100644 --- a/src/Modules/CalcSetup.lua +++ b/src/Modules/CalcSetup.lua @@ -524,8 +524,8 @@ function calcs.initEnv(build, mode, override, specEnv) modDB:NewMod("PerAfflictionNonDamageEffect", "BASE", data.characterConstants["non_damaging_ailment_effect_+%_final_per_affliction_charge"], "Base") modDB:NewMod("PerAbsorptionElementalEnergyShieldRecoup", "BASE", data.characterConstants["elemental_damage_taken_goes_to_energy_shield_over_4_seconds_%_per_absorption_charge"], "Base") modDB:NewMod("TinctureLimit", "BASE", 1, "Base") - modDB:NewMod("ManaDegenPercent", "BASE", 1, "Base", { type = "Multiplier", var = "EffectiveManaBurnStacks" }) - modDB:NewMod("LifeDegenPercent", "BASE", 1, "Base", { type = "Multiplier", var = "WeepingWoundsStacks" }) + modDB:NewMod("ManaDegenPercentTincture", "BASE", 1, "Base", { type = "Multiplier", var = "EffectiveManaBurnStacks" }) + modDB:NewMod("LifeDegenPercentTincture", "BASE", 1, "Base", { type = "Multiplier", var = "WeepingWoundsStacks" }) modDB:NewMod("PresenceRadius", "BASE", data.characterConstants["base_presence_radius"], "Base") -- Add bandit mods diff --git a/src/Modules/Data.lua b/src/Modules/Data.lua index 7f206e5cf1..678f6578e7 100644 --- a/src/Modules/Data.lua +++ b/src/Modules/Data.lua @@ -387,9 +387,15 @@ data.highPrecisionMods = { ["LifeDegenPercent"] = { ["BASE"] = 2, }, + ["LifeDegenPercentTincture"] = { + ["BASE"] = 2, + }, ["ManaDegenPercent"] = { ["BASE"] = 2, }, + ["ManaDegenPercentTincture"] = { + ["BASE"] = 2, + }, ["EnergyShieldDegenPercent"] = { ["BASE"] = 2, },