From 58dc7143c7f3268fbebb33126acec8501ffcc005 Mon Sep 17 00:00:00 2001 From: cupkax Date: Thu, 13 Aug 2026 13:18:26 +1000 Subject: [PATCH 1/2] Fix Toad's Price affecting non-utility flasks --- src/Modules/CalcPerform.lua | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Modules/CalcPerform.lua b/src/Modules/CalcPerform.lua index 95e90c38252..0febfc7e40c 100644 --- a/src/Modules/CalcPerform.lua +++ b/src/Modules/CalcPerform.lua @@ -1684,6 +1684,9 @@ function calcs.perform(env, skipEHP) local effectMod = 1 + (flaskEffectInc) / 100 local effectModNonPlayer = 1 + (flaskEffectIncNonPlayer) / 100 + -- Life and Mana flasks are not Utility flasks, so their effects are kept when Utility flasks are disabled + local isUtilityFlask = not (item.base.flask.life or item.base.flask.mana) + -- Avert thine eyes, lest they be forever scarred -- I have no idea how to determine which buff is applied by a given flask, -- so utility flasks are grouped by base, unique flasks are grouped by name, and magic flasks by their modifiers @@ -1693,6 +1696,9 @@ function calcs.perform(env, skipEHP) srcList:ScaleAddList(buffModList, effectMod) mergeBuff(srcList, flaskBuffs, baseName) mergeBuff(srcList, flaskBuffsPerBase[item.baseName], baseName) + if not isUtilityFlask then + mergeBuff(srcList, flaskBuffsNonUtility, baseName) + end end if (not onlyRecovery or checkNonRecoveryFlasksForMinions) and (flasksApplyToMinion or quickSilverAppliesToAllies or (nonUniqueFlasksApplyToMinion and item.rarity ~= "UNIQUE" and item.rarity ~= "RELIC")) then srcList = new("ModList"):ModList() @@ -1717,7 +1723,9 @@ function calcs.perform(env, skipEHP) if not onlyRecovery then mergeBuff(srcList, flaskBuffs, key) mergeBuff(srcList, flaskBuffsPerBase[item.baseName], key) - mergeBuff(srcList, flaskBuffsNonUtility, key) + if not isUtilityFlask then + mergeBuff(srcList, flaskBuffsNonUtility, key) + end end if (not onlyRecovery or checkNonRecoveryFlasksForMinions) and (flasksApplyToMinion or quickSilverAppliesToAllies or (nonUniqueFlasksApplyToMinion and item.rarity ~= "UNIQUE" and item.rarity ~= "RELIC")) then srcList = new("ModList"):ModList() From e145d4aa19ee2731a28e39d42d67a7bf4ebbe689 Mon Sep 17 00:00:00 2001 From: LocalIdentity <31035929+LocalIdentity@users.noreply.github.com> Date: Mon, 24 Aug 2026 07:28:00 +1000 Subject: [PATCH 2/2] Fix Umbilicus Immortalis interaction --- src/Modules/CalcPerform.lua | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/Modules/CalcPerform.lua b/src/Modules/CalcPerform.lua index 0febfc7e40c..a8f50446538 100644 --- a/src/Modules/CalcPerform.lua +++ b/src/Modules/CalcPerform.lua @@ -1781,18 +1781,14 @@ function calcs.perform(env, skipEHP) calcFlaskMods(item, item.baseName, item.buffModList, item.modList) end end - if modDB:Flag(nil, "UtilityFlasksDoNotApplyToPlayer") then - for flaskCond, status in pairs(flaskConditionsNonUtility) do + if not modDB:Flag(nil, "FlasksDoNotApplyToPlayer") then + local utilityFlasksDisabled = modDB:Flag(nil, "UtilityFlasksDoNotApplyToPlayer") + local appliedFlaskConditions = utilityFlasksDisabled and flaskConditionsNonUtility or flaskConditions + local appliedFlaskBuffs = utilityFlasksDisabled and flaskBuffsNonUtility or flaskBuffs + for flaskCond, status in pairs(appliedFlaskConditions) do modDB.conditions[flaskCond] = status end - for _, buffModList in pairs(flaskBuffsNonUtility) do - modDB:AddList(buffModList) - end - elseif not modDB:Flag(nil, "FlasksDoNotApplyToPlayer") then - for flaskCond, status in pairs(flaskConditions) do - modDB.conditions[flaskCond] = status - end - for _, buffModList in pairs(flaskBuffs) do + for _, buffModList in pairs(appliedFlaskBuffs) do modDB:AddList(buffModList) end end