Skip to content

Commit f81bb64

Browse files
LocalIdentitygithub-actions[bot]LocalIdentity
authored
Fix Turtle Charm Max Block override not working (#1393)
* Weekly beta release * Fix Beta changelogs * Fix Turtle Charm max block override not working We were not taking into account overrides for max block chance so the Turtle Charm override was not working at all. Also fixes a issue with the Saffel Frame mod for max block applies to max resist calc where it was using a hardcoded value of 75 --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: LocalIdentity <[email protected]>
1 parent b35d456 commit f81bb64

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

src/Modules/CalcDefence.lua

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -886,7 +886,7 @@ function calcs.defence(env, actor)
886886
-- Unnatural Resilience needs FireResistTotal before we calc FireResistMax
887887
output[elem.."ResistTotal"] = total
888888
if modDB:Flag(nil, "MaxBlockChanceModsApplyMaxResist") then
889-
local blockMaxBonus = modDB:Sum("BASE", nil, "BlockChanceMax") - 75 -- Subtract base block cap
889+
local blockMaxBonus = modDB:Override(nil, "BlockChanceMax") and 0 or modDB:Sum("BASE", nil, "BlockChanceMax")
890890
max = (modDB:Override(nil, elem.."ResistMax") or m_min(data.misc.MaxResistCap, modDB:Sum("BASE", nil, elem.."ResistMax", isElemental[elem] and "ElementalResistMax"))) + blockMaxBonus
891891
else
892892
max = modDB:Override(nil, elem.."ResistMax") or m_min(data.misc.MaxResistCap, modDB:Sum("BASE", nil, elem.."ResistMax", isElemental[elem] and "ElementalResistMax"))
@@ -941,9 +941,9 @@ function calcs.defence(env, actor)
941941

942942
-- Block
943943
if modDB:Flag(nil, "MaxBlockChanceModsApplyMaxResist") then
944-
output.BlockChanceMax = 75
944+
output.BlockChanceMax = modDB:Override(nil, "BlockChanceMax") or modDB:Sum("BASE", nil, "BaseBlockChanceMax")
945945
else
946-
output.BlockChanceMax = m_min(modDB:Sum("BASE", nil, "BlockChanceMax"), data.misc.BlockChanceCap)
946+
output.BlockChanceMax = m_min(modDB:Override(nil, "BlockChanceMax") or (modDB:Sum("BASE", nil, "BaseBlockChanceMax") + modDB:Sum("BASE", nil, "BlockChanceMax")), data.misc.BlockChanceCap)
947947
end
948948
if modDB:Flag(nil, "MaximumBlockAttackChanceIsEqualToParent") then
949949
output.BlockChanceMax = actor.parent.output.BlockChanceMax
@@ -976,7 +976,7 @@ function calcs.defence(env, actor)
976976
if modDB:Flag(nil, "SpellBlockChanceMaxIsBlockChanceMax") then
977977
output.SpellBlockChanceMax = output.BlockChanceMax
978978
else
979-
output.SpellBlockChanceMax = m_min(modDB:Sum("BASE", nil, "SpellBlockChanceMax"), data.misc.BlockChanceCap)
979+
output.SpellBlockChanceMax = m_min(modDB:Override(nil, "BlockChanceMax") or (modDB:Sum("BASE", nil, "BaseSpellBlockChanceMax") + modDB:Sum("BASE", nil, "SpellBlockChanceMax")), data.misc.BlockChanceCap)
980980
end
981981
if modDB:Flag(nil, "MaxSpellBlockIfNotBlockedRecently") then
982982
output.SpellBlockChance = output.SpellBlockChanceMax

src/Modules/CalcSections.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1683,7 +1683,7 @@ return {
16831683
extra = "{0:output:EffectiveBlockChance}%",
16841684
{ label = "Block Chance", { format = "{0:output:BlockChance}% (+{0:output:BlockChanceOverCap}%)",
16851685
{ breakdown = "BlockChance" },
1686-
{ modName = { "BlockChance", "ReplaceShieldBlock" } },
1686+
{ modName = { "BlockChance", "ReplaceShieldBlock", "BlockChanceMax" } },
16871687
}, },
16881688
{ label = "Taken From Block", haveOutput = "ShowBlockEffect", { format = "{0:output:DamageTakenOnBlock}%",
16891689
{ breakdown = "BlockEffect" },

src/Modules/CalcSetup.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ function calcs.initModDB(env, modDB)
2424
modDB:NewMod("TotemColdResistMax", "BASE", 75, "Base")
2525
modDB:NewMod("TotemLightningResistMax", "BASE", 75, "Base")
2626
modDB:NewMod("TotemChaosResistMax", "BASE", 75, "Base")
27-
modDB:NewMod("BlockChanceMax", "BASE", data.characterConstants["object_inherent_base_maximum_block_%_from_ot"], "Base")
28-
modDB:NewMod("SpellBlockChanceMax", "BASE", data.characterConstants["object_inherent_base_maximum_block_%_from_ot"], "Base")
27+
modDB:NewMod("BaseBlockChanceMax", "OVERRIDE", data.characterConstants["object_inherent_base_maximum_block_%_from_ot"], "Base")
28+
modDB:NewMod("BaseSpellBlockChanceMax", "OVERRIDE", data.characterConstants["object_inherent_base_maximum_block_%_from_ot"], "Base")
2929
modDB:NewMod("SpellDodgeChanceMax", "BASE", 75, "Base")
3030
modDB:NewMod("ChargeDuration", "BASE", 15, "Base")
3131
modDB:NewMod("PowerChargesMax", "BASE", data.characterConstants["max_power_charges"], "Base")

0 commit comments

Comments
 (0)