landsandboat/scripts/effects/auspice.lua
claywar 7bba1bdc3a
[type] Add type annotations to Effect scripts
Fix delStatusEffect in atma.lua
2024-08-24 21:26:29 -04:00

45 lines
1.4 KiB
Lua

-----------------------------------
-- xi.effect.AUSPICE
-- Power: Used for Enspell Effect
-- SubPower: Tracks Subtle Blow Bonus
-- Tier: Used for Enspell Calculation
-----------------------------------
---@type TEffect
local effectObject = {}
effectObject.onEffectGain = function(target, effect)
-- Auspice Reduces TP via adding to your Subtle Blow Mod
local subtleBlowBonus = 10 + target:getMod(xi.mod.AUSPICE_EFFECT)
effect:setSubPower(subtleBlowBonus)
target:addMod(xi.mod.SUBTLE_BLOW, subtleBlowBonus)
-- Afflatus Misery Bonuses
if target:hasStatusEffect(xi.effect.AFFLATUS_MISERY) then
target:getStatusEffect(xi.effect.AFFLATUS_MISERY):setSubPower(0)
target:addMod(xi.mod.ENSPELL, 18)
target:addMod(xi.mod.ENSPELL_DMG, effect:getPower())
end
end
effectObject.onEffectTick = function(target, effect)
end
effectObject.onEffectLose = function(target, effect)
local subtleBlow = effect:getSubPower()
target:delMod(xi.mod.SUBTLE_BLOW, subtleBlow)
-- Clean Up Any Bonuses That From Afflatus Misery Combo
if target:hasStatusEffect(xi.effect.AFFLATUS_MISERY) then
local accuracyBonus = target:getStatusEffect(xi.effect.AFFLATUS_MISERY):getSubPower()
target:delMod(xi.mod.ACC, accuracyBonus)
target:getStatusEffect(xi.effect.AFFLATUS_MISERY):setSubPower(0)
target:setMod(xi.mod.ENSPELL_DMG, 0)
target:setMod(xi.mod.ENSPELL, 0)
end
end
return effectObject