40 lines
1.4 KiB
Lua
40 lines
1.4 KiB
Lua
-----------------------------------
|
|
-- Shell Crusher
|
|
-- Staff weapon skill
|
|
-- Skill Level: 175
|
|
-- Lowers target's defense. Duration of effect varies with TP.
|
|
-- If unresisted, lowers target defense by 25%.
|
|
-- Will stack with Sneak Attack.
|
|
-- Aligned with the Breeze Gorget.
|
|
-- Aligned with the Breeze Belt.
|
|
-- Element: None
|
|
-- Modifiers: STR:100%
|
|
-- 100%TP 200%TP 300%TP
|
|
-- 1.00 1.00 1.00
|
|
-----------------------------------
|
|
---@type TWeaponSkill
|
|
local weaponskillObject = {}
|
|
|
|
weaponskillObject.onUseWeaponSkill = function(player, target, wsID, tp, primary, action, taChar)
|
|
local params = {}
|
|
params.numHits = 1
|
|
params.ftpMod = { 1, 1, 1 }
|
|
params.str_wsc = 0.35
|
|
|
|
if xi.settings.main.USE_ADOULIN_WEAPON_SKILL_CHANGES then
|
|
params.str_wsc = 1
|
|
end
|
|
|
|
local damage, criticalHit, tpHits, extraHits = xi.weaponskills.doPhysicalWeaponskill(player, target, wsID, params, tp, action, primary, taChar)
|
|
|
|
-- Handle status effect
|
|
local effectId = xi.effect.DEFENSE_DOWN
|
|
local actionElement = xi.element.WIND
|
|
local power = 25
|
|
local duration = math.floor((120 + 6 * tp / 100) * applyResistanceAddEffect(player, target, actionElement, 0))
|
|
xi.weaponskills.handleWeaponskillEffect(player, target, effectId, actionElement, damage, power, duration)
|
|
|
|
return tpHits, extraHits, criticalHit, damage
|
|
end
|
|
|
|
return weaponskillObject
|