From a51859a5f7f5a4c742f00f54f0367b45fb4ddc8c Mon Sep 17 00:00:00 2001 From: Xaver-DaRed Date: Thu, 23 Apr 2026 16:50:40 +0200 Subject: [PATCH] Fix impetus setMod() usage --- scripts/effects/impetus.lua | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/scripts/effects/impetus.lua b/scripts/effects/impetus.lua index 2e368c638e9..376a7fbefab 100644 --- a/scripts/effects/impetus.lua +++ b/scripts/effects/impetus.lua @@ -18,14 +18,14 @@ effectObject.onEffectGain = function(target, effect) -- Handle Attack & Critical Hit Rate bonuses effectArg:setPower(mainPower) - effectArg:setMod(xi.mod.ATT, 2 * mainPower) - effectArg:setMod(xi.mod.CRITHITRATE, mainPower) + effectArg:addMod(xi.mod.ATT, 2) + effectArg:addMod(xi.mod.CRITHITRATE, 1) -- Handle Critical Hit Damage & Accuracy bonuses local subPower = effectArg:getSubPower() -- Subpower tracks if user had effect augment, and what quality, when effect was applied. if subPower ~= 0 then - effectArg:setMod(xi.mod.ACC, 2 * mainPower) - effectArg:setMod(xi.mod.CRIT_DMG_INCREASE, math.floor(subPower / 2) * mainPower) + effectArg:addMod(xi.mod.ACC, 2) + effectArg:addMod(xi.mod.CRIT_DMG_INCREASE, math.floor(subPower / 2)) end end) @@ -35,12 +35,16 @@ effectObject.onEffectGain = function(target, effect) return end + local power = effectArg:getPower() effectArg:setPower(0) + effectArg:delMod(xi.mod.ATT, 2 * power) + effectArg:delMod(xi.mod.CRITHITRATE, power) - effectArg:setMod(xi.mod.ATT, 0) - effectArg:setMod(xi.mod.CRITHITRATE, 0) - effectArg:setMod(xi.mod.ACC, 0) - effectArg:setMod(xi.mod.CRIT_DMG_INCREASE, 0) + local subPower = effectArg:getSubPower() -- Subpower tracks if user had effect augment, and what quality, when effect was applied. + if subPower ~= 0 then + effectArg:delMod(xi.mod.ACC, 2 * power) + effectArg:delMod(xi.mod.CRIT_DMG_INCREASE, math.floor(subPower / 2) * power) + end end) end