landsandboat/scripts/effects/berserk.lua
Gorp900 e697862699 Berserk and Defender now scale with level
Applied changes from review

Overall made the changes easier to read
2025-09-17 23:15:16 +01:00

40 lines
1.2 KiB
Lua

-----------------------------------
-- xi.effect.BERSERK
-----------------------------------
---@type TEffect
local effectObject = {}
-- DEFP penalty reduction from Warrior's Calligae NQ/+1/+2 handled by latent effect
-- CRITHITRATE & DOUBLE_ATTACK bonuses from Conqueror (all forms) handled by latent effect
effectObject.onEffectGain = function(target, effect)
local power = effect:getPower()
local jpLevel = target:getJobPointLevel(xi.jp.BERSERK_EFFECT)
local jpEffect = jpLevel * 2
target:addMod(xi.mod.ATTP, power)
target:addMod(xi.mod.RATTP, power)
target:addMod(xi.mod.DEFP, -25)
-- Job Point Bonuses
target:addMod(xi.mod.ATT, jpEffect)
target:addMod(xi.mod.RATT, jpEffect)
end
effectObject.onEffectTick = function(target, effect)
end
effectObject.onEffectLose = function(target, effect)
local power = effect:getPower()
local jpLevel = target:getJobPointLevel(xi.jp.BERSERK_EFFECT)
local jpEffect = jpLevel * 2
target:delMod(xi.mod.ATTP, power)
target:delMod(xi.mod.RATTP, power)
target:delMod(xi.mod.DEFP, -25)
-- Job Point Bonuses
target:delMod(xi.mod.ATT, jpEffect)
target:delMod(xi.mod.RATT, jpEffect)
end
return effectObject