Index: scripts/globals/effects/aftermath.lua =================================================================== --- scripts/globals/effects/aftermath.lua (revision 4223) +++ scripts/globals/effects/aftermath.lua (working copy) @@ -1,14 +1,41 @@ ----------------------------------- -- +-- EFFECT_AFTERMATH -- --- ----------------------------------- - +require("scripts/globals/status"); ----------------------------------- -- onEffectGain Action ----------------------------------- function onEffectGain(target,effect) + power = effect:getPower(); + if(effect:getSubPower() == 1) then + target:addMod(MOD_SUBTLE_BLOW,power); + elseif(effect:getSubPower() == 2) then + target:addMod(MOD_CRITHITRATE,power) + elseif(effect:getSubPower() == 3) then + target:addMod(MOD_REGEN,power) + elseif(effect:getSubPower() == 4) then + target:addMod(MOD_ATTP,power) + elseif(effect:getSubPower() == 5) then + target:addMod(MOD_DMG,power) + elseif(effect:getSubPower() == 6) then + target:addMod(MOD_HASTE_GEAR,power) + elseif(effect:getSubPower() == 7) then + target:addMod(MOD_SPIKES,5) + target:addMod(MOD_SPIKES_DMG,power) + elseif(effect:getSubPower() == 8) then + targetaddMod(MOD_STORETP,power) + elseif(effect:getSubPower() == 9) then + target:addMod(MOD_ACC,power) + elseif(effect:getSubPower() == 10) then + target:addMod(MOD_REFRESH,power) + elseif(effect:getSubPower() == 11) then + target:addMod(MOD_ENMITY,power) + elseif(effect:getSubPower() == 12) then + target:addMod(MOD_RACC,power) + end end; ----------------------------------- @@ -23,4 +50,31 @@ ----------------------------------- function onEffectLose(target,effect) + + if(effect:getSubPower() == 1) then + target:delMod(MOD_SUBTLE_BLOW,power); + elseif(effect:getSubPower() == 2) then + target:delMod(MOD_CRITHITRATE,power) + elseif(effect:getSubPower() == 3) then + target:delMod(MOD_REGEN,power) + elseif(effect:getSubPower() == 4) then + target:delMod(MOD_ATTP,power) + elseif(effect:getSubPower() == 5) then + target:delMod(MOD_DMG,power) + elseif(effect:getSubPower() == 6) then + target:delMod(MOD_HASTE_GEAR,power) + elseif(effect:getSubPower() == 7) then + target:delMod(MOD_SPIKES,5); + target:delMod(MOD_SPIKES_DMG,power) + elseif(effect:getSubPower() == 8) then + targetdelMod(MOD_STORETP,power) + elseif(effect:getSubPower() == 9) then + target:delMod(MOD_ACC,power) + elseif(effect:getSubPower() == 10) then + target:delMod(MOD_REFRESH,power) + elseif(effect:getSubPower() == 11) then + target:delMod(MOD_ENMITY,power) + elseif(effect:getSubPower() == 12) then + target:delMod(MOD_RACC,power) + end end; \ No newline at end of file Index: scripts/globals/effects/aftermath_lv1.lua =================================================================== --- scripts/globals/effects/aftermath_lv1.lua (revision 4223) +++ scripts/globals/effects/aftermath_lv1.lua (working copy) @@ -1,14 +1,22 @@ ----------------------------------- -- +-- EFFECT_AFTERMATH_LV1 -- --- ----------------------------------- - +require("scripts/globals/status"); ----------------------------------- -- onEffectGain Action ----------------------------------- function onEffectGain(target,effect) + power = effect:getPower(); + if(effect:getSubPower() == 1) then + target:addMod(MOD_ACC,power); + elseif(effect:getSubPower() == 2) then + target:addMod(MOD_MACC,power) + elseif(effect:getSubPower() == 3) then + target:addMod(MOD_RACC,power) + end end; ----------------------------------- @@ -23,4 +31,12 @@ ----------------------------------- function onEffectLose(target,effect) + + if(effect:getSubPower() == 1) then + target:delMod(MOD_ACC,power); + elseif(effect:getSubPower() == 2) then + target:delMod(MOD_MACC,power) + elseif(effect:getSubPower() == 3) then + target:delMod(MOD_RACC,power) + end end; \ No newline at end of file Index: scripts/globals/effects/aftermath_lv2.lua =================================================================== --- scripts/globals/effects/aftermath_lv2.lua (revision 4223) +++ scripts/globals/effects/aftermath_lv2.lua (working copy) @@ -1,14 +1,26 @@ ----------------------------------- -- +-- EFFECT_AFTERMATH_LV2 -- --- ----------------------------------- - +require("scripts/globals/status"); ----------------------------------- -- onEffectGain Action ----------------------------------- function onEffectGain(target,effect) + power = effect:getPower(); + if(effect:getSubPower() == 1) then + target:addMod(MOD_ATT,power); + elseif(effect:getSubPower() == 2) then + target:addMod(MOD_ACC,power) + elseif(effect:getSubPower() == 3) then + target:addMod(MOD_MATT,power) + elseif(effect:getSubPower() == 4) then + target:addMod(MOD_RATT,power) + elseif(effect:getSubPower() == 5) then + target:addMod(MOD_MACC,power) + end end; ----------------------------------- @@ -23,4 +35,16 @@ ----------------------------------- function onEffectLose(target,effect) + + if(effect:getSubPower() == 1) then + target:delMod(MOD_ATT,power); + elseif(effect:getSubPower() == 2) then + target:delMod(MOD_ACC,power) + elseif(effect:getSubPower() == 3) then + target:delMod(MOD_RACC,power) + elseif(effect:getSubPower() == 4) then + target:delMod(MOD_RATT,power) + elseif(effect:getSubPower() == 5) then + target:delMod(MOD_MACC,power) + end end; \ No newline at end of file Index: scripts/globals/effects/aftermath_lv3.lua =================================================================== --- scripts/globals/effects/aftermath_lv3.lua (revision 4223) +++ scripts/globals/effects/aftermath_lv3.lua (working copy) @@ -1,14 +1,20 @@ ----------------------------------- -- +-- EFFECT_AFTERMATH_LV3 -- --- ----------------------------------- - +require("scripts/globals/status"); ----------------------------------- -- onEffectGain Action ----------------------------------- function onEffectGain(target,effect) + power = effect:getPower(); + if(effect:getSubPower() == 1) then + target:addMod(MOD_DOUBLE_ATTACK,power); + elseif(effect:getSubPower() == 2) then + target:addMod(MOD_DA_DOUBLE_DAMAGE,power) + end end; ----------------------------------- @@ -23,4 +29,10 @@ ----------------------------------- function onEffectLose(target,effect) + + if(effect:getSubPower() == 1) then + target:delMod(MOD_DOUBLE_ATTACK,power); + elseif(effect:getSubPower() == 2) then + target:delMod(MOD_DA_DOUBLE_DAMAGE,power) + end end; \ No newline at end of file Index: scripts/globals/weaponskills/ascetics_fury.lua =================================================================== --- scripts/globals/weaponskills/ascetics_fury.lua (revision 4223) +++ scripts/globals/weaponskills/ascetics_fury.lua (working copy) @@ -27,8 +27,64 @@ params.canCrit = true; params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; + local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + if((player:getEquipID(SLOT_MAIN) == 18992) and (player:getMainJob() == JOB_MNK)) then + if(damage > 0) then + +-- AFTERMATH LEVEL 1 + + if ((player:getTP() >= 100) and (player:getTP() <= 110)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 10, 0, 180, 0, 1); + elseif ((player:getTP() >= 111) and (player:getTP() <= 120)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 11, 0, 180, 0, 1); + elseif ((player:getTP() >= 121) and (player:getTP() <= 130)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 12, 0, 180, 0, 1); + elseif ((player:getTP() >= 131) and (player:getTP() <= 140)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 13, 0, 180, 0, 1); + elseif ((player:getTP() >= 141) and (player:getTP() <= 150)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 14, 0, 180, 0, 1); + elseif ((player:getTP() >= 151) and (player:getTP() <= 160)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 15, 0, 180, 0, 1); + elseif ((player:getTP() >= 161) and (player:getTP() <= 170)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 16, 0, 180, 0, 1); + elseif ((player:getTP() >= 171) and (player:getTP() <= 180)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 17, 0, 180, 0, 1); + elseif ((player:getTP() >= 181) and (player:getTP() <= 190)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 18, 0, 180, 0, 1); + elseif ((player:getTP() >= 191) and (player:getTP() <= 199)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 19, 0, 180, 0, 1); + +-- AFTERMATH LEVEL 2 + + elseif ((player:getTP() >= 200) and (player:getTP() <= 210)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 24, 0, 180, 0, 1); + elseif ((player:getTP() >= 211) and (player:getTP() <= 219)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 28, 0, 180, 0, 1); + elseif ((player:getTP() >= 221) and (player:getTP() <= 229)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 32, 0, 180, 0, 1); + elseif ((player:getTP() >= 231) and (player:getTP() <= 239)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 36, 0, 180, 0, 1); + elseif ((player:getTP() >= 241) and (player:getTP() <= 249)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 40, 0, 180, 0, 1); + elseif ((player:getTP() >= 251) and (player:getTP() <= 259)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 44, 0, 180, 0, 1); + elseif ((player:getTP() >= 261) and (player:getTP() <= 269)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 48, 0, 180, 0, 1); + elseif ((player:getTP() >= 271) and (player:getTP() <= 279)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 52, 0, 180, 0, 1); + elseif ((player:getTP() >= 281) and (player:getTP() <= 289)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 56, 0, 180, 0, 1); + elseif ((player:getTP() >= 291) and (player:getTP() <= 299)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 59, 0, 180, 0, 1); + +-- AFTERMATH LEVEL 3 - return tpHits, extraHits, criticalHit, damage; + elseif ((player:getTP() == 300)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV3, 45, 0, 120, 0, 1); + end + end + end + return tpHits, extraHits, criticalHit, damage; -end +end; \ No newline at end of file Index: scripts/globals/weaponskills/atonement.lua =================================================================== --- scripts/globals/weaponskills/atonement.lua (revision 0) +++ scripts/globals/weaponskills/atonement.lua (working copy) @@ -0,0 +1,91 @@ +----------------------------------- +-- Atonement +-- Sword weapon skill +-- Skill Level: N/A +-- Delivers a Twofold attack. Damage varies with TP. Conqueror: Aftermath effect varies with TP. +-- Available only after completing the Unlocking a Myth (Paladin) quest. +-- Aligned with the Aqua Gorget, Flame Gorget & Light Gorget. +-- Aligned with the Aqua Belt, Flame Belt & Light Belt. +-- Element: None +-- Modifiers: STR:40% VIT:50% +-- 100%TP 200%TP 300%TP +-- 1.00 1.25 1.50 +----------------------------------- + +require("scripts/globals/status"); +require("scripts/globals/settings"); +require("scripts/globals/weaponskills"); +----------------------------------- + +function OnUseWeaponSkill(player, target, wsID) + + local params = {}; + params.numHits = 2; + params.ftp100 = 1; params.ftp200 = 1.25; params.ftp300 = 1.5; + params.str_wsc = 0.4; params.dex_wsc = 0.0; params.vit_wsc = 0.5; params.agi_wsc = 0.0; params.int_wsc = 0.0; params.mnd_wsc = 0.0; params.chr_wsc = 0.0; + params.crit100 = 0.0; params.crit200 = 0.0; params.crit300 = 0.0; + params.canCrit = false; + params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; + params.atkmulti = 1; + + local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + if((player:getEquipID(SLOT_MAIN) == 18997) and (player:getMainJob() == JOB_PLD)) then + if(damage > 0) then + +-- AFTERMATH LEVEL 1 + + if ((player:getTP() >= 100) and (player:getTP() <= 110)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 10, 0, 180, 0, 1); + elseif ((player:getTP() >= 111) and (player:getTP() <= 120)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 11, 0, 180, 0, 1); + elseif ((player:getTP() >= 121) and (player:getTP() <= 130)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 12, 0, 180, 0, 1); + elseif ((player:getTP() >= 131) and (player:getTP() <= 140)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 13, 0, 180, 0, 1); + elseif ((player:getTP() >= 141) and (player:getTP() <= 150)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 14, 0, 180, 0, 1); + elseif ((player:getTP() >= 151) and (player:getTP() <= 160)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 15, 0, 180, 0, 1); + elseif ((player:getTP() >= 161) and (player:getTP() <= 170)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 16, 0, 180, 0, 1); + elseif ((player:getTP() >= 171) and (player:getTP() <= 180)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 17, 0, 180, 0, 1); + elseif ((player:getTP() >= 181) and (player:getTP() <= 190)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 18, 0, 180, 0, 1); + elseif ((player:getTP() >= 191) and (player:getTP() <= 199)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 19, 0, 180, 0, 1); + +-- AFTERMATH LEVEL 2 + + elseif ((player:getTP() >= 200) and (player:getTP() <= 210)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 24, 0, 180, 0, 1); + elseif ((player:getTP() >= 211) and (player:getTP() <= 219)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 28, 0, 180, 0, 1); + elseif ((player:getTP() >= 221) and (player:getTP() <= 229)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 32, 0, 180, 0, 1); + elseif ((player:getTP() >= 231) and (player:getTP() <= 239)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 36, 0, 180, 0, 1); + elseif ((player:getTP() >= 241) and (player:getTP() <= 249)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 40, 0, 180, 0, 1); + elseif ((player:getTP() >= 251) and (player:getTP() <= 259)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 44, 0, 180, 0, 1); + elseif ((player:getTP() >= 261) and (player:getTP() <= 269)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 48, 0, 180, 0, 1); + elseif ((player:getTP() >= 271) and (player:getTP() <= 279)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 52, 0, 180, 0, 1); + elseif ((player:getTP() >= 281) and (player:getTP() <= 289)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 56, 0, 180, 0, 1); + elseif ((player:getTP() >= 291) and (player:getTP() <= 299)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 59, 0, 180, 0, 1); + +-- AFTERMATH LEVEL 3 + + elseif ((player:getTP() == 300)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV3, 45, 0, 120, 0, 1); + end + end + end + + return tpHits, extraHits, criticalHit, damage; + +end Index: scripts/globals/weaponskills/blade_kamu.lua =================================================================== --- scripts/globals/weaponskills/blade_kamu.lua (revision 4223) +++ scripts/globals/weaponskills/blade_kamu.lua (working copy) @@ -36,6 +36,68 @@ target:addStatusEffect(EFFECT_ACCURACY_DOWN, 10, 0, duration); end end + + + if((player:getEquipID(SLOT_MAIN) == 19003) and (player:getMainJob() == JOB_NIN)) then + if(damage > 0) then + +-- AFTERMATH LV1 + + if ((player:getTP() >= 100) and (player:getTP() <= 110)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 10, 0, 180, 0, 1); + elseif ((player:getTP() >= 111) and (player:getTP() <= 120)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 11, 0, 180, 0, 1); + elseif ((player:getTP() >= 121) and (player:getTP() <= 130)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 12, 0, 180, 0, 1); + elseif ((player:getTP() >= 131) and (player:getTP() <= 140)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 13, 0, 180, 0, 1); + elseif ((player:getTP() >= 141) and (player:getTP() <= 150)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 14, 0, 180, 0, 1); + elseif ((player:getTP() >= 151) and (player:getTP() <= 160)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 15, 0, 180, 0, 1); + elseif ((player:getTP() >= 161) and (player:getTP() <= 170)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 16, 0, 180, 0, 1); + elseif ((player:getTP() >= 171) and (player:getTP() <= 180)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 17, 0, 180, 0, 1); + elseif ((player:getTP() >= 181) and (player:getTP() <= 190)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 18, 0, 180, 0, 1); + elseif ((player:getTP() >= 191) and (player:getTP() <= 199)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 19, 0, 180, 0, 1); + + + +-- AFTERMATH LV2 + + elseif ((player:getTP() >= 200) and (player:getTP() <= 210)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 24, 0, 180, 0, 1); + elseif ((player:getTP() >= 211) and (player:getTP() <= 219)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 28, 0, 180, 0, 1); + elseif ((player:getTP() >= 221) and (player:getTP() <= 229)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 32, 0, 180, 0, 1); + elseif ((player:getTP() >= 231) and (player:getTP() <= 239)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 36, 0, 180, 0, 1); + elseif ((player:getTP() >= 241) and (player:getTP() <= 249)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 40, 0, 180, 0, 1); + elseif ((player:getTP() >= 251) and (player:getTP() <= 259)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 44, 0, 180, 0, 1); + elseif ((player:getTP() >= 261) and (player:getTP() <= 269)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 48, 0, 180, 0, 1); + elseif ((player:getTP() >= 271) and (player:getTP() <= 279)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 52, 0, 180, 0, 1); + elseif ((player:getTP() >= 281) and (player:getTP() <= 289)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 56, 0, 180, 0, 1); + elseif ((player:getTP() >= 291) and (player:getTP() <= 299)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 59, 0, 180, 0, 1); + + +-- AFTERMATH LV3 + + elseif ((player:getTP() == 300)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV3, 45, 0, 120, 0, 1); + + end + end + end return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/blade_metsu.lua =================================================================== --- scripts/globals/weaponskills/blade_metsu.lua (revision 4223) +++ scripts/globals/weaponskills/blade_metsu.lua (working copy) @@ -38,6 +38,13 @@ player:addStatusEffect(EFFECT_SUBTLE_BLOW_PLUS, 10, 0, duration); end end + if((player:getEquipID(SLOT_MAIN) or (SLOT_SUB) == 18312) and (player:getMainJob() == JOB_NIN)) then + if(damage > 0) then + if(player:getTP() == 300) then + player:addStatusEffect(EFFECT_AFTERMATH, 5, 0, 60, 0, 1); + end + end + end return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/catastrophe.lua =================================================================== --- scripts/globals/weaponskills/catastrophe.lua (revision 4223) +++ scripts/globals/weaponskills/catastrophe.lua (working copy) @@ -31,7 +31,13 @@ local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); local drain = (damage * 0.4); player:addHP(drain); - + if((player:getEquipID(SLOT_MAIN) == 18306) and (player:getMainJob() == JOB_DRK)) then + if(damage > 0) then + if(player:getTP() == 300) then + player:addStatusEffect(EFFECT_AFTERMATH, 100, 0, 60, 0, 6); + end + end + end return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/coronach.lua =================================================================== --- scripts/globals/weaponskills/coronach.lua (revision 4223) +++ scripts/globals/weaponskills/coronach.lua (working copy) @@ -38,8 +38,14 @@ params.atkmulti = 2; local damage, tpHits, extraHits = doRangedWeaponskill(player, target, params); - local crticalHit = false; - + if((player:getEquipID(SLOT_RANGED) == 18336) and (player:getMainJob() == JOB_RNG)) then + if(damage > 0) then + if(player:getTP() == 300) then + player:addStatusEffect(EFFECT_AFTERMATH, -20, 0, 60, 0, 11); + end + end + end + local crticalHit = false; return tpHits, extraHits, criticalHit, damage; end; Index: scripts/globals/weaponskills/death_blossom.lua =================================================================== --- scripts/globals/weaponskills/death_blossom.lua (revision 4223) +++ scripts/globals/weaponskills/death_blossom.lua (working copy) @@ -33,5 +33,67 @@ target:addStatusEffect(EFFECT_MAGIC_EVASION_DOWN, 10, 0, duration); end end + + + if((player:getEquipID(SLOT_MAIN) == 18995) and (player:getMainJob() == JOB_RDM)) then + if(damage > 0) then + +-- AFTERMATH LV1 + + if ((player:getTP() >= 100) and (player:getTP() <= 110)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 10, 0, 180, 0, 2); + elseif ((player:getTP() >= 111) and (player:getTP() <= 120)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 11, 0, 180, 0, 2); + elseif ((player:getTP() >= 121) and (player:getTP() <= 130)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 12, 0, 180, 0, 2); + elseif ((player:getTP() >= 131) and (player:getTP() <= 140)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 13, 0, 180, 0, 2); + elseif ((player:getTP() >= 141) and (player:getTP() <= 150)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 14, 0, 180, 0, 2); + elseif ((player:getTP() >= 151) and (player:getTP() <= 160)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 15, 0, 180, 0, 2); + elseif ((player:getTP() >= 161) and (player:getTP() <= 170)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 16, 0, 180, 0, 2); + elseif ((player:getTP() >= 171) and (player:getTP() <= 180)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 17, 0, 180, 0, 2); + elseif ((player:getTP() >= 181) and (player:getTP() <= 190)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 18, 0, 180, 0, 2); + elseif ((player:getTP() >= 191) and (player:getTP() <= 199)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 19, 0, 180, 0, 2); + + + +-- AFTERMATH LV2 + + elseif ((player:getTP() >= 200) and (player:getTP() <= 210)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 24, 0, 180, 0, 3); + elseif ((player:getTP() >= 211) and (player:getTP() <= 219)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 28, 0, 180, 0, 3); + elseif ((player:getTP() >= 221) and (player:getTP() <= 229)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 32, 0, 180, 0, 3); + elseif ((player:getTP() >= 231) and (player:getTP() <= 239)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 36, 0, 180, 0, 3); + elseif ((player:getTP() >= 241) and (player:getTP() <= 249)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 40, 0, 180, 0, 3); + elseif ((player:getTP() >= 251) and (player:getTP() <= 259)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 44, 0, 180, 0, 3); + elseif ((player:getTP() >= 261) and (player:getTP() <= 269)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 48, 0, 180, 0, 3); + elseif ((player:getTP() >= 271) and (player:getTP() <= 279)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 52, 0, 180, 0, 3); + elseif ((player:getTP() >= 281) and (player:getTP() <= 289)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 56, 0, 180, 0, 3); + elseif ((player:getTP() >= 291) and (player:getTP() <= 299)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 59, 0, 180, 0, 3); + + +-- AFTERMATH LV3 + + elseif ((player:getTP() == 300)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV3, 45, 0, 120, 0, 1); + + end + end + end return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/drakesbane.lua =================================================================== --- scripts/globals/weaponskills/drakesbane.lua (revision 4223) +++ scripts/globals/weaponskills/drakesbane.lua (working copy) @@ -28,7 +28,68 @@ params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); - + + + if((player:getEquipID(SLOT_MAIN) == 19004) and (player:getMainJob() == JOB_DRG)) then + if(damage > 0) then + +-- AFTERMATH LV1 + + if ((player:getTP() >= 100) and (player:getTP() <= 110)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 10, 0, 180, 0, 1); + elseif ((player:getTP() >= 111) and (player:getTP() <= 120)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 11, 0, 180, 0, 1); + elseif ((player:getTP() >= 121) and (player:getTP() <= 130)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 12, 0, 180, 0, 1); + elseif ((player:getTP() >= 131) and (player:getTP() <= 140)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 13, 0, 180, 0, 1); + elseif ((player:getTP() >= 141) and (player:getTP() <= 150)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 14, 0, 180, 0, 1); + elseif ((player:getTP() >= 151) and (player:getTP() <= 160)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 15, 0, 180, 0, 1); + elseif ((player:getTP() >= 161) and (player:getTP() <= 170)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 16, 0, 180, 0, 1); + elseif ((player:getTP() >= 171) and (player:getTP() <= 180)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 17, 0, 180, 0, 1); + elseif ((player:getTP() >= 181) and (player:getTP() <= 190)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 18, 0, 180, 0, 1); + elseif ((player:getTP() >= 191) and (player:getTP() <= 199)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 19, 0, 180, 0, 1); + + + +-- AFTERMATH LV2 + + elseif ((player:getTP() >= 200) and (player:getTP() <= 210)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 24, 0, 180, 0, 1); + elseif ((player:getTP() >= 211) and (player:getTP() <= 219)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 28, 0, 180, 0, 1); + elseif ((player:getTP() >= 221) and (player:getTP() <= 229)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 32, 0, 180, 0, 1); + elseif ((player:getTP() >= 231) and (player:getTP() <= 239)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 36, 0, 180, 0, 1); + elseif ((player:getTP() >= 241) and (player:getTP() <= 249)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 40, 0, 180, 0, 1); + elseif ((player:getTP() >= 251) and (player:getTP() <= 259)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 44, 0, 180, 0, 1); + elseif ((player:getTP() >= 261) and (player:getTP() <= 269)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 48, 0, 180, 0, 1); + elseif ((player:getTP() >= 271) and (player:getTP() <= 279)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 52, 0, 180, 0, 1); + elseif ((player:getTP() >= 281) and (player:getTP() <= 289)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 56, 0, 180, 0, 1); + elseif ((player:getTP() >= 291) and (player:getTP() <= 299)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 59, 0, 180, 0, 1); + + +-- AFTERMATH LV3 + + elseif ((player:getTP() == 300)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV3, 45, 0, 120, 0, 1); + + end + end + end return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/expiacion.lua =================================================================== --- scripts/globals/weaponskills/expiacion.lua (revision 0) +++ scripts/globals/weaponskills/expiacion.lua (working copy) @@ -0,0 +1,91 @@ +----------------------------------- +-- Expiacion +-- Sword weapon skill +-- Skill Level: N/A +-- Delivers a Twofold attack. Damage varies with TP. Tizona: Aftermath effect varies with TP. +-- Available only after completing the Unlocking a Myth (Blue Mage) quest. +-- Aligned with the Aqua Gorget, Snow Gorget & Soil Gorget. +-- Aligned with the Aqua Belt, Snow Belt & Soil Belt. +-- Element: None +-- Modifiers: STR:30% INT:30% +-- 100%TP 200%TP 300%TP +-- 1.00 2.00 2.50 +----------------------------------- + +require("scripts/globals/status"); +require("scripts/globals/settings"); +require("scripts/globals/weaponskills"); +----------------------------------- + +function OnUseWeaponSkill(player, target, wsID) + + local params = {}; + params.numHits = 2; + params.ftp100 = 1; params.ftp200 = 2; params.ftp300 = 2.5; + params.str_wsc = 0.3; params.dex_wsc = 0.0; params.vit_wsc = 0.0; params.agi_wsc = 0.0; params.int_wsc = 0.3; params.mnd_wsc = 0.0; params.chr_wsc = 0.0; + params.crit100 = 0.0; params.crit200 = 0.0; params.crit300 = 0.0; + params.canCrit = false; + params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; + params.atkmulti = 1; + + local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + if((player:getEquipID(SLOT_MAIN) == 19006) and (player:getMainJob() == JOB_BLU)) then + if(damage > 0) then + +-- AFTERMATH LEVEL 1 + + if ((player:getTP() >= 100) and (player:getTP() <= 110)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 10, 0, 180, 0, 1); + elseif ((player:getTP() >= 111) and (player:getTP() <= 120)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 11, 0, 180, 0, 1); + elseif ((player:getTP() >= 121) and (player:getTP() <= 130)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 12, 0, 180, 0, 1); + elseif ((player:getTP() >= 131) and (player:getTP() <= 140)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 13, 0, 180, 0, 1); + elseif ((player:getTP() >= 141) and (player:getTP() <= 150)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 14, 0, 180, 0, 1); + elseif ((player:getTP() >= 151) and (player:getTP() <= 160)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 15, 0, 180, 0, 1); + elseif ((player:getTP() >= 161) and (player:getTP() <= 170)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 16, 0, 180, 0, 1); + elseif ((player:getTP() >= 171) and (player:getTP() <= 180)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 17, 0, 180, 0, 1); + elseif ((player:getTP() >= 181) and (player:getTP() <= 190)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 18, 0, 180, 0, 1); + elseif ((player:getTP() >= 191) and (player:getTP() <= 199)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 19, 0, 180, 0, 1); + +-- AFTERMATH LEVEL 2 + + elseif ((player:getTP() >= 200) and (player:getTP() <= 210)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 24, 0, 180, 0, 1); + elseif ((player:getTP() >= 211) and (player:getTP() <= 219)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 28, 0, 180, 0, 1); + elseif ((player:getTP() >= 221) and (player:getTP() <= 229)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 32, 0, 180, 0, 1); + elseif ((player:getTP() >= 231) and (player:getTP() <= 239)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 36, 0, 180, 0, 1); + elseif ((player:getTP() >= 241) and (player:getTP() <= 249)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 40, 0, 180, 0, 1); + elseif ((player:getTP() >= 251) and (player:getTP() <= 259)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 44, 0, 180, 0, 1); + elseif ((player:getTP() >= 261) and (player:getTP() <= 269)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 48, 0, 180, 0, 1); + elseif ((player:getTP() >= 271) and (player:getTP() <= 279)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 52, 0, 180, 0, 1); + elseif ((player:getTP() >= 281) and (player:getTP() <= 289)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 56, 0, 180, 0, 1); + elseif ((player:getTP() >= 291) and (player:getTP() <= 299)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 59, 0, 180, 0, 1); + +-- AFTERMATH LEVEL 3 + + elseif ((player:getTP() == 300)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV3, 45, 0, 120, 0, 1); + end + end + end + + return tpHits, extraHits, criticalHit, damage; + +end Index: scripts/globals/weaponskills/final_heaven.lua =================================================================== --- scripts/globals/weaponskills/final_heaven.lua (revision 4223) +++ scripts/globals/weaponskills/final_heaven.lua (working copy) @@ -39,7 +39,12 @@ --damage = damage * ftp(player:getTP(), ftp100, ftp200, ftp300); local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); - - + if((player:getEquipID(SLOT_MAIN) == 18264) and (player:getMainJob() == JOB_MNK)) then + if(damage > 0) then + if(player:getTP() == 300) then + player:addStatusEffect(EFFECT_AFTERMATH, 45, 0, 40, 0, 1); + end + end + end return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/garland_of_bliss.lua =================================================================== --- scripts/globals/weaponskills/garland_of_bliss.lua (revision 4223) +++ scripts/globals/weaponskills/garland_of_bliss.lua (working copy) @@ -36,6 +36,68 @@ target:addStatusEffect(EFFECT_DEFENSE_DOWN, 12.5, 0, duration); end end + + + if((player:getEquipID(SLOT_MAIN) == 19005) and (player:getMainJob() == JOB_SMN)) then + if(damage > 0) then + +-- AFTERMATH LV1 + + if ((player:getTP() >= 100) and (player:getTP() <= 110)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 10, 0, 180, 0, 1); + elseif ((player:getTP() >= 111) and (player:getTP() <= 120)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 11, 0, 180, 0, 1); + elseif ((player:getTP() >= 121) and (player:getTP() <= 130)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 12, 0, 180, 0, 1); + elseif ((player:getTP() >= 131) and (player:getTP() <= 140)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 13, 0, 180, 0, 1); + elseif ((player:getTP() >= 141) and (player:getTP() <= 150)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 14, 0, 180, 0, 1); + elseif ((player:getTP() >= 151) and (player:getTP() <= 160)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 15, 0, 180, 0, 1); + elseif ((player:getTP() >= 161) and (player:getTP() <= 170)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 16, 0, 180, 0, 1); + elseif ((player:getTP() >= 171) and (player:getTP() <= 180)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 17, 0, 180, 0, 1); + elseif ((player:getTP() >= 181) and (player:getTP() <= 190)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 18, 0, 180, 0, 1); + elseif ((player:getTP() >= 191) and (player:getTP() <= 199)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 19, 0, 180, 0, 1); + + + +-- AFTERMATH LV2 + + elseif ((player:getTP() >= 200) and (player:getTP() <= 210)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 24, 0, 180, 0, 1); + elseif ((player:getTP() >= 211) and (player:getTP() <= 219)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 28, 0, 180, 0, 1); + elseif ((player:getTP() >= 221) and (player:getTP() <= 229)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 32, 0, 180, 0, 1); + elseif ((player:getTP() >= 231) and (player:getTP() <= 239)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 36, 0, 180, 0, 1); + elseif ((player:getTP() >= 241) and (player:getTP() <= 249)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 40, 0, 180, 0, 1); + elseif ((player:getTP() >= 251) and (player:getTP() <= 259)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 44, 0, 180, 0, 1); + elseif ((player:getTP() >= 261) and (player:getTP() <= 269)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 48, 0, 180, 0, 1); + elseif ((player:getTP() >= 271) and (player:getTP() <= 279)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 52, 0, 180, 0, 1); + elseif ((player:getTP() >= 281) and (player:getTP() <= 289)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 56, 0, 180, 0, 1); + elseif ((player:getTP() >= 291) and (player:getTP() <= 299)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 59, 0, 180, 0, 1); + + +-- AFTERMATH LV3 + + elseif ((player:getTP() == 300)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV3, 45, 0, 120, 0, 1); + + end + end + end return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/gate_of_tartarus.lua =================================================================== --- scripts/globals/weaponskills/gate_of_tartarus.lua (revision 4223) +++ scripts/globals/weaponskills/gate_of_tartarus.lua (working copy) @@ -30,7 +30,13 @@ params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); - + if((player:getEquipID(SLOT_MAIN) == 18330) and (player:getMainJob() == JOB_BLM or JOB_SMN)) then + if(damage > 0) then + if(player:getTP() == 300) then + player:addStatusEffect(EFFECT_AFTERMATH, 8, 0, 60, 0, 10); + end + end + end return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/geirskogul.lua =================================================================== --- scripts/globals/weaponskills/geirskogul.lua (revision 4223) +++ scripts/globals/weaponskills/geirskogul.lua (working copy) @@ -28,7 +28,13 @@ params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); - + if((player:getEquipID(SLOT_MAIN) == 18300) and (player:getMainJob() == JOB_DRG)) then + if(damage > 0) then + if(player:getTP() == 300) then + player:addStatusEffect(EFFECT_AFTERMATH, 6, 0, 60, 0, 7); + end + end + end return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/insurgency.lua =================================================================== --- scripts/globals/weaponskills/insurgency.lua (revision 4223) +++ scripts/globals/weaponskills/insurgency.lua (working copy) @@ -29,7 +29,68 @@ params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); - + + + if((player:getEquipID(SLOT_MAIN) == 18998) and (player:getMainJob() == JOB_DRK)) then + if(damage > 0) then + +-- AFTERMATH LV1 + + if ((player:getTP() >= 100) and (player:getTP() <= 110)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 10, 0, 180, 0, 1); + elseif ((player:getTP() >= 111) and (player:getTP() <= 120)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 11, 0, 180, 0, 1); + elseif ((player:getTP() >= 121) and (player:getTP() <= 130)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 12, 0, 180, 0, 1); + elseif ((player:getTP() >= 131) and (player:getTP() <= 140)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 13, 0, 180, 0, 1); + elseif ((player:getTP() >= 141) and (player:getTP() <= 150)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 14, 0, 180, 0, 1); + elseif ((player:getTP() >= 151) and (player:getTP() <= 160)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 15, 0, 180, 0, 1); + elseif ((player:getTP() >= 161) and (player:getTP() <= 170)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 16, 0, 180, 0, 1); + elseif ((player:getTP() >= 171) and (player:getTP() <= 180)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 17, 0, 180, 0, 1); + elseif ((player:getTP() >= 181) and (player:getTP() <= 190)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 18, 0, 180, 0, 1); + elseif ((player:getTP() >= 191) and (player:getTP() <= 199)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 19, 0, 180, 0, 1); + + + +-- AFTERMATH LV2 + + elseif ((player:getTP() >= 200) and (player:getTP() <= 210)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 24, 0, 180, 0, 1); + elseif ((player:getTP() >= 211) and (player:getTP() <= 219)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 28, 0, 180, 0, 1); + elseif ((player:getTP() >= 221) and (player:getTP() <= 229)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 32, 0, 180, 0, 1); + elseif ((player:getTP() >= 231) and (player:getTP() <= 239)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 36, 0, 180, 0, 1); + elseif ((player:getTP() >= 241) and (player:getTP() <= 249)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 40, 0, 180, 0, 1); + elseif ((player:getTP() >= 251) and (player:getTP() <= 259)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 44, 0, 180, 0, 1); + elseif ((player:getTP() >= 261) and (player:getTP() <= 269)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 48, 0, 180, 0, 1); + elseif ((player:getTP() >= 271) and (player:getTP() <= 279)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 52, 0, 180, 0, 1); + elseif ((player:getTP() >= 281) and (player:getTP() <= 289)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 56, 0, 180, 0, 1); + elseif ((player:getTP() >= 291) and (player:getTP() <= 299)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 59, 0, 180, 0, 1); + + +-- AFTERMATH LV3 + + elseif ((player:getTP() == 300)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV3, 45, 0, 120, 0, 1); + + end + end + end return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/kings_justice.lua =================================================================== --- scripts/globals/weaponskills/kings_justice.lua (revision 4223) +++ scripts/globals/weaponskills/kings_justice.lua (working copy) @@ -28,7 +28,65 @@ params.canCrit = false; params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; + local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + if((player:getEquipID(SLOT_MAIN) == 18991) and (player:getMainJob() == JOB_WAR)) then + if(damage > 0) then + +-- AFTERMATH LEVEL 1 + + if ((player:getTP() >= 100) and (player:getTP() <= 110)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 10, 0, 180, 0, 1); + elseif ((player:getTP() >= 111) and (player:getTP() <= 120)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 11, 0, 180, 0, 1); + elseif ((player:getTP() >= 121) and (player:getTP() <= 130)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 12, 0, 180, 0, 1); + elseif ((player:getTP() >= 131) and (player:getTP() <= 140)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 13, 0, 180, 0, 1); + elseif ((player:getTP() >= 141) and (player:getTP() <= 150)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 14, 0, 180, 0, 1); + elseif ((player:getTP() >= 151) and (player:getTP() <= 160)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 15, 0, 180, 0, 1); + elseif ((player:getTP() >= 161) and (player:getTP() <= 170)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 16, 0, 180, 0, 1); + elseif ((player:getTP() >= 171) and (player:getTP() <= 180)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 17, 0, 180, 0, 1); + elseif ((player:getTP() >= 181) and (player:getTP() <= 190)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 18, 0, 180, 0, 1); + elseif ((player:getTP() >= 191) and (player:getTP() <= 199)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 19, 0, 180, 0, 1); + +-- AFTERMATH LEVEL 2 + + elseif ((player:getTP() >= 200) and (player:getTP() <= 210)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 24, 0, 180, 0, 1); + elseif ((player:getTP() >= 211) and (player:getTP() <= 219)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 28, 0, 180, 0, 1); + elseif ((player:getTP() >= 221) and (player:getTP() <= 229)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 32, 0, 180, 0, 1); + elseif ((player:getTP() >= 231) and (player:getTP() <= 239)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 36, 0, 180, 0, 1); + elseif ((player:getTP() >= 241) and (player:getTP() <= 249)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 40, 0, 180, 0, 1); + elseif ((player:getTP() >= 251) and (player:getTP() <= 259)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 44, 0, 180, 0, 1); + elseif ((player:getTP() >= 261) and (player:getTP() <= 269)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 48, 0, 180, 0, 1); + elseif ((player:getTP() >= 271) and (player:getTP() <= 279)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 52, 0, 180, 0, 1); + elseif ((player:getTP() >= 281) and (player:getTP() <= 289)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 56, 0, 180, 0, 1); + elseif ((player:getTP() >= 291) and (player:getTP() <= 299)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 59, 0, 180, 0, 1); + +-- AFTERMATH LEVEL 3 + + elseif ((player:getTP() == 300)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV3, 45, 0, 120, 0, 1); + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/knights_of_round.lua =================================================================== --- scripts/globals/weaponskills/knights_of_round.lua (revision 4223) +++ scripts/globals/weaponskills/knights_of_round.lua (working copy) @@ -31,7 +31,13 @@ params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); - + if((player:getEquipID(SLOT_MAIN) == 18276) and (player:getMainJob() == JOB_RDM or JOB_PLD)) then + if(damage > 0) then + if(player:getTP() == 300) then + player:addStatusEffect(EFFECT_AFTERMATH, 10, 0, 40, 0, 3); + end + end + end return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/leaden_salute.lua =================================================================== --- scripts/globals/weaponskills/leaden_salute.lua (revision 0) +++ scripts/globals/weaponskills/leaden_salute.lua (working copy) @@ -0,0 +1,91 @@ +----------------------------------- +-- Leaden Salute +-- Sword weapon skill +-- Skill Level: N/A +-- Delivers a Twofold attack. Damage varies with TP. Death Penalty: Aftermath effect varies with TP. +-- Available only after completing the Unlocking a Myth (Corsair) quest. +-- Aligned with the Shadow Gorget, Soil Gorget & Light Gorget. +-- Aligned with the Shadow Belt, Soil Belt & Light Belt. +-- Element: Darkness +-- Modifiers: AGI:30% +-- 100%TP 200%TP 300%TP +-- 4.00 4.25 4.75 +----------------------------------- + +require("scripts/globals/status"); +require("scripts/globals/settings"); +require("scripts/globals/weaponskills"); +----------------------------------- + +function OnUseWeaponSkill(player, target, wsID) + + local params = {}; + params.numHits = 2; + params.ftp100 = 4; params.ftp200 = 4.25; params.ftp300 = 4.75; + params.str_wsc = 0.0; params.dex_wsc = 0.0; params.vit_wsc = 0.0; params.agi_wsc = 0.3; params.int_wsc = 0.0; params.mnd_wsc = 0.0; params.chr_wsc = 0.0; + params.crit100 = 0.0; params.crit200 = 0.0; params.crit300 = 0.0; + params.canCrit = false; + params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; + params.atkmulti = 1; + + local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + if((player:getEquipID(SLOT_RANGED) == 19007) and (player:getMainJob() == JOB_COR)) then + if(damage > 0) then + +-- AFTERMATH LEVEL 1 + + if ((player:getTP() >= 100) and (player:getTP() <= 110)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 10, 0, 180, 0, 3); + elseif ((player:getTP() >= 111) and (player:getTP() <= 120)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 11, 0, 180, 0, 3); + elseif ((player:getTP() >= 121) and (player:getTP() <= 130)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 12, 0, 180, 0, 3); + elseif ((player:getTP() >= 131) and (player:getTP() <= 140)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 13, 0, 180, 0, 3); + elseif ((player:getTP() >= 141) and (player:getTP() <= 150)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 14, 0, 180, 0, 3); + elseif ((player:getTP() >= 151) and (player:getTP() <= 160)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 15, 0, 180, 0, 3); + elseif ((player:getTP() >= 161) and (player:getTP() <= 170)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 16, 0, 180, 0, 3); + elseif ((player:getTP() >= 171) and (player:getTP() <= 180)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 17, 0, 180, 0, 3); + elseif ((player:getTP() >= 181) and (player:getTP() <= 190)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 18, 0, 180, 0, 3); + elseif ((player:getTP() >= 191) and (player:getTP() <= 199)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 19, 0, 180, 0, 3); + +-- AFTERMATH LEVEL 2 + + elseif ((player:getTP() >= 200) and (player:getTP() <= 210)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 24, 0, 180, 0, 4); + elseif ((player:getTP() >= 211) and (player:getTP() <= 219)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 28, 0, 180, 0, 4); + elseif ((player:getTP() >= 221) and (player:getTP() <= 229)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 32, 0, 180, 0, 4); + elseif ((player:getTP() >= 231) and (player:getTP() <= 239)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 36, 0, 180, 0, 4); + elseif ((player:getTP() >= 241) and (player:getTP() <= 249)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 40, 0, 180, 0, 4); + elseif ((player:getTP() >= 251) and (player:getTP() <= 259)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 44, 0, 180, 0, 4); + elseif ((player:getTP() >= 261) and (player:getTP() <= 269)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 48, 0, 180, 0, 4); + elseif ((player:getTP() >= 271) and (player:getTP() <= 279)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 52, 0, 180, 0, 4); + elseif ((player:getTP() >= 281) and (player:getTP() <= 289)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 56, 0, 180, 0, 4); + elseif ((player:getTP() >= 291) and (player:getTP() <= 299)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 59, 0, 180, 0, 4); + +-- AFTERMATH LEVEL 3 + + elseif ((player:getTP() == 300)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV3, 45, 0, 120, 0, 2); + end + end + end + + return tpHits, extraHits, criticalHit, damage; + +end Index: scripts/globals/weaponskills/mandalic_stab.lua =================================================================== --- scripts/globals/weaponskills/mandalic_stab.lua (revision 4223) +++ scripts/globals/weaponskills/mandalic_stab.lua (working copy) @@ -30,7 +30,68 @@ params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1.66; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); - + + + if((player:getEquipID(SLOT_MAIN) == 18996) and (player:getMainJob() == JOB_THF)) then + if(damage > 0) then + +-- AFTERMATH LV1 + + if ((player:getTP() >= 100) and (player:getTP() <= 110)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 10, 0, 180, 0, 1); + elseif ((player:getTP() >= 111) and (player:getTP() <= 120)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 11, 0, 180, 0, 1); + elseif ((player:getTP() >= 121) and (player:getTP() <= 130)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 12, 0, 180, 0, 1); + elseif ((player:getTP() >= 131) and (player:getTP() <= 140)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 13, 0, 180, 0, 1); + elseif ((player:getTP() >= 141) and (player:getTP() <= 150)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 14, 0, 180, 0, 1); + elseif ((player:getTP() >= 151) and (player:getTP() <= 160)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 15, 0, 180, 0, 1); + elseif ((player:getTP() >= 161) and (player:getTP() <= 170)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 16, 0, 180, 0, 1); + elseif ((player:getTP() >= 171) and (player:getTP() <= 180)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 17, 0, 180, 0, 1); + elseif ((player:getTP() >= 181) and (player:getTP() <= 190)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 18, 0, 180, 0, 1); + elseif ((player:getTP() >= 191) and (player:getTP() <= 199)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 19, 0, 180, 0, 1); + + + +-- AFTERMATH LV2 + + elseif ((player:getTP() >= 200) and (player:getTP() <= 210)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 24, 0, 180, 0, 1); + elseif ((player:getTP() >= 211) and (player:getTP() <= 219)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 28, 0, 180, 0, 1); + elseif ((player:getTP() >= 221) and (player:getTP() <= 229)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 32, 0, 180, 0, 1); + elseif ((player:getTP() >= 231) and (player:getTP() <= 239)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 36, 0, 180, 0, 1); + elseif ((player:getTP() >= 241) and (player:getTP() <= 249)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 40, 0, 180, 0, 1); + elseif ((player:getTP() >= 251) and (player:getTP() <= 259)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 44, 0, 180, 0, 1); + elseif ((player:getTP() >= 261) and (player:getTP() <= 269)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 48, 0, 180, 0, 1); + elseif ((player:getTP() >= 271) and (player:getTP() <= 279)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 52, 0, 180, 0, 1); + elseif ((player:getTP() >= 281) and (player:getTP() <= 289)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 56, 0, 180, 0, 1); + elseif ((player:getTP() >= 291) and (player:getTP() <= 299)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 59, 0, 180, 0, 1); + + +-- AFTERMATH LV3 + + elseif ((player:getTP() == 300)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV3, 45, 0, 120, 0, 1); + + end + end + end return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/mercy_stroke.lua =================================================================== --- scripts/globals/weaponskills/mercy_stroke.lua (revision 4223) +++ scripts/globals/weaponskills/mercy_stroke.lua (working copy) @@ -29,7 +29,13 @@ params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); - + if((player:getEquipID(SLOT_MAIN) == 18270) and (player:getMainJob() == JOB_RDM or JOB_THF or JOB_BRD)) then + if(damage > 0) then + if(player:getTP() == 300) then + player:addStatusEffect(EFFECT_AFTERMATH, 5, 0, 40, 0, 2); + end + end + end return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/metatron_torment.lua =================================================================== --- scripts/globals/weaponskills/metatron_torment.lua (revision 4223) +++ scripts/globals/weaponskills/metatron_torment.lua (working copy) @@ -38,7 +38,13 @@ if damage > 0 and (target:hasStatusEffect(EFFECT_DEFENSE_DOWN) == false) then target:addStatusEffect(EFFECT_DEFENSE_DOWN, 18.5, 0, 120); end - + if((player:getEquipID(SLOT_MAIN) == 18294) and (player:getMainJob() == JOB_WAR)) then + if(damage > 0) then + if(player:getTP() == 300) then + player:addStatusEffect(EFFECT_AFTERMATH, 21, 0, 40, 0, 5); + end + end + end return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/mordant_rime.lua =================================================================== --- scripts/globals/weaponskills/mordant_rime.lua (revision 4223) +++ scripts/globals/weaponskills/mordant_rime.lua (working copy) @@ -31,6 +31,67 @@ params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); - return tpHits, extraHits, criticalHit, damage; - + + + if((player:getEquipID(SLOT_MAIN) == 19000) and (player:getMainJob() == JOB_BRD)) then + if(damage > 0) then + +-- AFTERMATH LV1 + + if ((player:getTP() >= 100) and (player:getTP() <= 110)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 10, 0, 180, 0, 2); + elseif ((player:getTP() >= 111) and (player:getTP() <= 120)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 11, 0, 180, 0, 2); + elseif ((player:getTP() >= 121) and (player:getTP() <= 130)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 12, 0, 180, 0, 2); + elseif ((player:getTP() >= 131) and (player:getTP() <= 140)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 13, 0, 180, 0, 2); + elseif ((player:getTP() >= 141) and (player:getTP() <= 150)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 14, 0, 180, 0, 2); + elseif ((player:getTP() >= 151) and (player:getTP() <= 160)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 15, 0, 180, 0, 2); + elseif ((player:getTP() >= 161) and (player:getTP() <= 170)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 16, 0, 180, 0, 2); + elseif ((player:getTP() >= 171) and (player:getTP() <= 180)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 17, 0, 180, 0, 2); + elseif ((player:getTP() >= 181) and (player:getTP() <= 190)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 18, 0, 180, 0, 2); + elseif ((player:getTP() >= 191) and (player:getTP() <= 199)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 19, 0, 180, 0, 2); + + + +-- AFTERMATH LV2 + + elseif ((player:getTP() >= 200) and (player:getTP() <= 210)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 24, 0, 180, 0, 2); + elseif ((player:getTP() >= 211) and (player:getTP() <= 219)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 28, 0, 180, 0, 2); + elseif ((player:getTP() >= 221) and (player:getTP() <= 229)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 32, 0, 180, 0, 2); + elseif ((player:getTP() >= 231) and (player:getTP() <= 239)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 36, 0, 180, 0, 2); + elseif ((player:getTP() >= 241) and (player:getTP() <= 249)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 40, 0, 180, 0, 2); + elseif ((player:getTP() >= 251) and (player:getTP() <= 259)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 44, 0, 180, 0, 2); + elseif ((player:getTP() >= 261) and (player:getTP() <= 269)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 48, 0, 180, 0, 2); + elseif ((player:getTP() >= 271) and (player:getTP() <= 279)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 52, 0, 180, 0, 2); + elseif ((player:getTP() >= 281) and (player:getTP() <= 289)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 56, 0, 180, 0, 2); + elseif ((player:getTP() >= 291) and (player:getTP() <= 299)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 59, 0, 180, 0, 2); + + +-- AFTERMATH LV3 + + elseif ((player:getTP() == 300)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV3, 45, 0, 120, 0, 1); + + end + end + end + return tpHits, extraHits, criticalHit, damage; end \ No newline at end of file Index: scripts/globals/weaponskills/mystic_boon.lua =================================================================== --- scripts/globals/weaponskills/mystic_boon.lua (revision 4223) +++ scripts/globals/weaponskills/mystic_boon.lua (working copy) @@ -28,7 +28,68 @@ params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); - + + + if((player:getEquipID(SLOT_MAIN) == 18993) and (player:getMainJob() == JOB_WHM)) then + if(damage > 0) then + +-- AFTERMATH LV1 + + if ((player:getTP() >= 100) and (player:getTP() <= 110)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 10, 0, 180, 0, 2); + elseif ((player:getTP() >= 111) and (player:getTP() <= 120)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 11, 0, 180, 0, 2); + elseif ((player:getTP() >= 121) and (player:getTP() <= 130)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 12, 0, 180, 0, 2); + elseif ((player:getTP() >= 131) and (player:getTP() <= 140)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 13, 0, 180, 0, 2); + elseif ((player:getTP() >= 141) and (player:getTP() <= 150)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 14, 0, 180, 0, 2); + elseif ((player:getTP() >= 151) and (player:getTP() <= 160)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 15, 0, 180, 0, 2); + elseif ((player:getTP() >= 161) and (player:getTP() <= 170)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 16, 0, 180, 0, 2); + elseif ((player:getTP() >= 171) and (player:getTP() <= 180)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 17, 0, 180, 0, 2); + elseif ((player:getTP() >= 181) and (player:getTP() <= 190)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 18, 0, 180, 0, 2); + elseif ((player:getTP() >= 191) and (player:getTP() <= 199)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 19, 0, 180, 0, 2); + + + +-- AFTERMATH LV2 + + elseif ((player:getTP() >= 200) and (player:getTP() <= 210)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 24, 0, 180, 0, 2); + elseif ((player:getTP() >= 211) and (player:getTP() <= 219)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 28, 0, 180, 0, 2); + elseif ((player:getTP() >= 221) and (player:getTP() <= 229)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 32, 0, 180, 0, 2); + elseif ((player:getTP() >= 231) and (player:getTP() <= 239)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 36, 0, 180, 0, 2); + elseif ((player:getTP() >= 241) and (player:getTP() <= 249)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 40, 0, 180, 0, 2); + elseif ((player:getTP() >= 251) and (player:getTP() <= 259)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 44, 0, 180, 0, 2); + elseif ((player:getTP() >= 261) and (player:getTP() <= 269)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 48, 0, 180, 0, 2); + elseif ((player:getTP() >= 271) and (player:getTP() <= 279)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 52, 0, 180, 0, 2); + elseif ((player:getTP() >= 281) and (player:getTP() <= 289)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 56, 0, 180, 0, 2); + elseif ((player:getTP() >= 291) and (player:getTP() <= 299)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 59, 0, 180, 0, 2); + + +-- AFTERMATH LV3 + + elseif ((player:getTP() == 300)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV3, 45, 0, 120, 0, 1); + + end + end + end return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/namas_arrow.lua =================================================================== --- scripts/globals/weaponskills/namas_arrow.lua (revision 4223) +++ scripts/globals/weaponskills/namas_arrow.lua (working copy) @@ -35,6 +35,13 @@ params.atkmulti = 2; local damage, tpHits, extraHits = doRangedWeaponskill(player, target, params); + if((player:getEquipID(SLOT_RANGED) == 18348) and (player:getMainJob() == JOB_RNG or JOB_SAM)) then + if(damage > 0) then + if(player:getTP() == 300) then + player:addStatusEffect(EFFECT_AFTERMATH, 20, 0, 60, 0, 12); + end + end + end local crticalHit = false; return tpHits, extraHits, criticalHit, damage; Index: scripts/globals/weaponskills/omniscience.lua =================================================================== --- scripts/globals/weaponskills/omniscience.lua (revision 4223) +++ scripts/globals/weaponskills/omniscience.lua (working copy) @@ -37,7 +37,68 @@ target:addStatusEffect(EFFECT_MAGIC_ATK_DOWN, 10, 0, duration); end end - + + + if((player:getEquipID(SLOT_MAIN) == 18990) and (player:getMainJob() == JOB_SCH)) then + if(damage > 0) then + +-- AFTERMATH LV1 + + if ((player:getTP() >= 100) and (player:getTP() <= 110)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 10, 0, 180, 0, 2); + elseif ((player:getTP() >= 111) and (player:getTP() <= 120)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 11, 0, 180, 0, 2); + elseif ((player:getTP() >= 121) and (player:getTP() <= 130)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 12, 0, 180, 0, 2); + elseif ((player:getTP() >= 131) and (player:getTP() <= 140)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 13, 0, 180, 0, 2); + elseif ((player:getTP() >= 141) and (player:getTP() <= 150)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 14, 0, 180, 0, 2); + elseif ((player:getTP() >= 151) and (player:getTP() <= 160)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 15, 0, 180, 0, 2); + elseif ((player:getTP() >= 161) and (player:getTP() <= 170)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 16, 0, 180, 0, 2); + elseif ((player:getTP() >= 171) and (player:getTP() <= 180)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 17, 0, 180, 0, 2); + elseif ((player:getTP() >= 181) and (player:getTP() <= 190)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 18, 0, 180, 0, 2); + elseif ((player:getTP() >= 191) and (player:getTP() <= 199)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 19, 0, 180, 0, 2); + + + +-- AFTERMATH LV2 + + elseif ((player:getTP() >= 200) and (player:getTP() <= 210)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 24, 0, 180, 0, 3); + elseif ((player:getTP() >= 211) and (player:getTP() <= 219)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 28, 0, 180, 0, 3); + elseif ((player:getTP() >= 221) and (player:getTP() <= 229)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 32, 0, 180, 0, 3); + elseif ((player:getTP() >= 231) and (player:getTP() <= 239)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 36, 0, 180, 0, 3); + elseif ((player:getTP() >= 241) and (player:getTP() <= 249)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 40, 0, 180, 0, 3); + elseif ((player:getTP() >= 251) and (player:getTP() <= 259)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 44, 0, 180, 0, 3); + elseif ((player:getTP() >= 261) and (player:getTP() <= 269)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 48, 0, 180, 0, 3); + elseif ((player:getTP() >= 271) and (player:getTP() <= 279)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 52, 0, 180, 0, 3); + elseif ((player:getTP() >= 281) and (player:getTP() <= 289)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 56, 0, 180, 0, 3); + elseif ((player:getTP() >= 291) and (player:getTP() <= 299)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 59, 0, 180, 0, 3); + + +-- AFTERMATH LV3 + + elseif ((player:getTP() == 300)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV3, 45, 0, 120, 0, 1); + + end + end + end return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/onslaught.lua =================================================================== --- scripts/globals/weaponskills/onslaught.lua (revision 4223) +++ scripts/globals/weaponskills/onslaught.lua (working copy) @@ -39,7 +39,13 @@ target:addStatusEffect(EFFECT_ACCURACY_DOWN, 20, 0, duration); end end - + if((player:getEquipID(SLOT_MAIN) == 18288) and (player:getMainJob() == JOB_BST)) then + if(damage > 0) then + if(player:getTP() == 300) then + player:addStatusEffect(EFFECT_AFTERMATH, 10, 0, 60, 0, 4); + end + end + end return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/primal_rend.lua =================================================================== --- scripts/globals/weaponskills/primal_rend.lua (revision 4223) +++ scripts/globals/weaponskills/primal_rend.lua (working copy) @@ -28,7 +28,68 @@ params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); - + + + if((player:getEquipID(SLOT_MAIN) == 18999) and (player:getMainJob() == JOB_BST)) then + if(damage > 0) then + +-- AFTERMATH LV1 + + if ((player:getTP() >= 100) and (player:getTP() <= 110)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 10, 0, 180, 0, 1); + elseif ((player:getTP() >= 111) and (player:getTP() <= 120)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 11, 0, 180, 0, 1); + elseif ((player:getTP() >= 121) and (player:getTP() <= 130)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 12, 0, 180, 0, 1); + elseif ((player:getTP() >= 131) and (player:getTP() <= 140)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 13, 0, 180, 0, 1); + elseif ((player:getTP() >= 141) and (player:getTP() <= 150)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 14, 0, 180, 0, 1); + elseif ((player:getTP() >= 151) and (player:getTP() <= 160)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 15, 0, 180, 0, 1); + elseif ((player:getTP() >= 161) and (player:getTP() <= 170)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 16, 0, 180, 0, 1); + elseif ((player:getTP() >= 171) and (player:getTP() <= 180)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 17, 0, 180, 0, 1); + elseif ((player:getTP() >= 181) and (player:getTP() <= 190)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 18, 0, 180, 0, 1); + elseif ((player:getTP() >= 191) and (player:getTP() <= 199)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 19, 0, 180, 0, 1); + + + +-- AFTERMATH LV2 + + elseif ((player:getTP() >= 200) and (player:getTP() <= 210)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 24, 0, 180, 0, 1); + elseif ((player:getTP() >= 211) and (player:getTP() <= 219)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 28, 0, 180, 0, 1); + elseif ((player:getTP() >= 221) and (player:getTP() <= 229)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 32, 0, 180, 0, 1); + elseif ((player:getTP() >= 231) and (player:getTP() <= 239)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 36, 0, 180, 0, 1); + elseif ((player:getTP() >= 241) and (player:getTP() <= 249)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 40, 0, 180, 0, 1); + elseif ((player:getTP() >= 251) and (player:getTP() <= 259)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 44, 0, 180, 0, 1); + elseif ((player:getTP() >= 261) and (player:getTP() <= 269)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 48, 0, 180, 0, 1); + elseif ((player:getTP() >= 271) and (player:getTP() <= 279)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 52, 0, 180, 0, 1); + elseif ((player:getTP() >= 281) and (player:getTP() <= 289)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 56, 0, 180, 0, 1); + elseif ((player:getTP() >= 291) and (player:getTP() <= 299)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 59, 0, 180, 0, 1); + + +-- AFTERMATH LV3 + + elseif ((player:getTP() == 300)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV3, 45, 0, 120, 0, 1); + + end + end + end return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/pyrrhic_kleos.lua =================================================================== --- scripts/globals/weaponskills/pyrrhic_kleos.lua (revision 4223) +++ scripts/globals/weaponskills/pyrrhic_kleos.lua (working copy) @@ -39,7 +39,68 @@ target:addStatusEffect(EFFECT_EVASION_DOWN, 10, 0, duration); end end - + + + if((player:getEquipID(SLOT_MAIN) == 18989) and (player:getMainJob() == JOB_DNC)) then + if(damage > 0) then + +-- AFTERMATH LV1 + + if ((player:getTP() >= 100) and (player:getTP() <= 110)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 10, 0, 180, 0, 1); + elseif ((player:getTP() >= 111) and (player:getTP() <= 120)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 11, 0, 180, 0, 1); + elseif ((player:getTP() >= 121) and (player:getTP() <= 130)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 12, 0, 180, 0, 1); + elseif ((player:getTP() >= 131) and (player:getTP() <= 140)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 13, 0, 180, 0, 1); + elseif ((player:getTP() >= 141) and (player:getTP() <= 150)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 14, 0, 180, 0, 1); + elseif ((player:getTP() >= 151) and (player:getTP() <= 160)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 15, 0, 180, 0, 1); + elseif ((player:getTP() >= 161) and (player:getTP() <= 170)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 16, 0, 180, 0, 1); + elseif ((player:getTP() >= 171) and (player:getTP() <= 180)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 17, 0, 180, 0, 1); + elseif ((player:getTP() >= 181) and (player:getTP() <= 190)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 18, 0, 180, 0, 1); + elseif ((player:getTP() >= 191) and (player:getTP() <= 199)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 19, 0, 180, 0, 1); + + + +-- AFTERMATH LV2 + + elseif ((player:getTP() >= 200) and (player:getTP() <= 210)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 24, 0, 180, 0, 1); + elseif ((player:getTP() >= 211) and (player:getTP() <= 219)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 28, 0, 180, 0, 1); + elseif ((player:getTP() >= 221) and (player:getTP() <= 229)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 32, 0, 180, 0, 1); + elseif ((player:getTP() >= 231) and (player:getTP() <= 239)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 36, 0, 180, 0, 1); + elseif ((player:getTP() >= 241) and (player:getTP() <= 249)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 40, 0, 180, 0, 1); + elseif ((player:getTP() >= 251) and (player:getTP() <= 259)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 44, 0, 180, 0, 1); + elseif ((player:getTP() >= 261) and (player:getTP() <= 269)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 48, 0, 180, 0, 1); + elseif ((player:getTP() >= 271) and (player:getTP() <= 279)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 52, 0, 180, 0, 1); + elseif ((player:getTP() >= 281) and (player:getTP() <= 289)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 56, 0, 180, 0, 1); + elseif ((player:getTP() >= 291) and (player:getTP() <= 299)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 59, 0, 180, 0, 1); + + +-- AFTERMATH LV3 + + elseif ((player:getTP() == 300)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV3, 45, 0, 120, 0, 1); + + end + end + end return tpHits, extraHits, criticalHit, damage; end \ No newline at end of file Index: scripts/globals/weaponskills/randgrith.lua =================================================================== --- scripts/globals/weaponskills/randgrith.lua (revision 4223) +++ scripts/globals/weaponskills/randgrith.lua (working copy) @@ -36,7 +36,13 @@ if damage > 0 and (target:hasStatusEffect(EFFECT_WEIGHT) == false) then target:addStatusEffect(EFFECT_WEIGHT, 50, 0, 60); end - + if((player:getEquipID(SLOT_MAIN) == 18324) and (player:getMainJob() == JOB_WHM)) then + if(damage > 0) then + if(player:getTP() == 300) then + player:addStatusEffect(EFFECT_AFTERMATH, 20, 0, 60, 0, 9); + end + end + end return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/scourge.lua =================================================================== --- scripts/globals/weaponskills/scourge.lua (revision 4223) +++ scripts/globals/weaponskills/scourge.lua (working copy) @@ -30,7 +30,13 @@ params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); - + if((player:getEquipID(SLOT_MAIN) == 18282) and (player:getMainJob() == JOB_WAR or JOB_PLD or JOB_DRK)) then + if(damage > 0) then + if(player:getTP() == 300) then + player:addStatusEffect(EFFECT_AFTERMATH, 11, 0, 40, 0, 2); + end + end + end return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/stringing_pummel.lua =================================================================== --- scripts/globals/weaponskills/stringing_pummel.lua (revision 0) +++ scripts/globals/weaponskills/stringing_pummel.lua (working copy) @@ -0,0 +1,91 @@ +----------------------------------- +-- Stringing Pummel +-- Sword weapon skill +-- Skill Level: N/A +-- Delivers a sixfold attack. Damage varies with TP. Kenkonken: Aftermath effect varies with TP. +-- Available only after completing the Unlocking a Myth (Puppetmaster) quest. +-- Aligned with the Shadow Gorget, Soil Gorget & Flame Gorget. +-- Aligned with the Shadow Belt, Soil Belt & Flame Belt. +-- Element: Darkness +-- Modifiers: STR:32% VIT:32% +-- 100%TP 200%TP 300%TP +-- 0.75 0.75 0.75 +----------------------------------- + +require("scripts/globals/status"); +require("scripts/globals/settings"); +require("scripts/globals/weaponskills"); +----------------------------------- + +function OnUseWeaponSkill(player, target, wsID) + + local params = {}; + params.numHits = 6; + params.ftp100 = 0.75; params.ftp200 = 0.75; params.ftp300 = 0.75; + params.str_wsc = 0.32; params.dex_wsc = 0.0; params.vit_wsc = 0.32; params.agi_wsc = 0.0; params.int_wsc = 0.0; params.mnd_wsc = 0.0; params.chr_wsc = 0.0; + params.crit100 = 0.15; params.crit200 = 0.45; params.crit300 = 0.65; + params.canCrit = true; + params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; + params.atkmulti = 1; + + local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + if((player:getEquipID(SLOT_MAIN) == 19008) and (player:getMainJob() == JOB_PUP)) then + if(damage > 0) then + +-- AFTERMATH LEVEL 1 + + if ((player:getTP() >= 100) and (player:getTP() <= 110)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 10, 0, 180, 0, 1); + elseif ((player:getTP() >= 111) and (player:getTP() <= 120)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 11, 0, 180, 0, 1); + elseif ((player:getTP() >= 121) and (player:getTP() <= 130)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 12, 0, 180, 0, 1); + elseif ((player:getTP() >= 131) and (player:getTP() <= 140)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 13, 0, 180, 0, 1); + elseif ((player:getTP() >= 141) and (player:getTP() <= 150)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 14, 0, 180, 0, 1); + elseif ((player:getTP() >= 151) and (player:getTP() <= 160)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 15, 0, 180, 0, 1); + elseif ((player:getTP() >= 161) and (player:getTP() <= 170)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 16, 0, 180, 0, 1); + elseif ((player:getTP() >= 171) and (player:getTP() <= 180)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 17, 0, 180, 0, 1); + elseif ((player:getTP() >= 181) and (player:getTP() <= 190)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 18, 0, 180, 0, 1); + elseif ((player:getTP() >= 191) and (player:getTP() <= 199)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 19, 0, 180, 0, 1); + +-- AFTERMATH LEVEL 2 + + elseif ((player:getTP() >= 200) and (player:getTP() <= 210)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 24, 0, 180, 0, 1); + elseif ((player:getTP() >= 211) and (player:getTP() <= 219)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 28, 0, 180, 0, 1); + elseif ((player:getTP() >= 221) and (player:getTP() <= 229)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 32, 0, 180, 0, 1); + elseif ((player:getTP() >= 231) and (player:getTP() <= 239)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 36, 0, 180, 0, 1); + elseif ((player:getTP() >= 241) and (player:getTP() <= 249)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 40, 0, 180, 0, 1); + elseif ((player:getTP() >= 251) and (player:getTP() <= 259)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 44, 0, 180, 0, 1); + elseif ((player:getTP() >= 261) and (player:getTP() <= 269)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 48, 0, 180, 0, 1); + elseif ((player:getTP() >= 271) and (player:getTP() <= 279)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 52, 0, 180, 0, 1); + elseif ((player:getTP() >= 281) and (player:getTP() <= 289)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 56, 0, 180, 0, 1); + elseif ((player:getTP() >= 291) and (player:getTP() <= 299)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 59, 0, 180, 0, 1); + +-- AFTERMATH LEVEL 3 + + elseif ((player:getTP() == 300)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV3, 45, 0, 120, 0, 1); + end + end + end + + return tpHits, extraHits, criticalHit, damage; + +end Index: scripts/globals/weaponskills/tachi_kaiten.lua =================================================================== --- scripts/globals/weaponskills/tachi_kaiten.lua (revision 4223) +++ scripts/globals/weaponskills/tachi_kaiten.lua (working copy) @@ -33,7 +33,13 @@ params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); - + if((player:getEquipID(SLOT_MAIN) == 18318) and (player:getMainJob() == JOB_SAM)) then + if(damage > 0) then + if(player:getTP() == 300) then + player:addStatusEffect(EFFECT_AFTERMATH, 7, 0, 60, 0, 8); + end + end + end return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/tachi_rana.lua =================================================================== --- scripts/globals/weaponskills/tachi_rana.lua (revision 4223) +++ scripts/globals/weaponskills/tachi_rana.lua (working copy) @@ -29,7 +29,68 @@ params.acc100 = 0.8; params.acc200= 0.9; params.acc300= 1; params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); - + + + if((player:getEquipID(SLOT_MAIN) == 19002) and (player:getMainJob() == JOB_SAM)) then + if(damage > 0) then + +-- AFTERMATH LV1 + + if ((player:getTP() >= 100) and (player:getTP() <= 110)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 10, 0, 180, 0, 1); + elseif ((player:getTP() >= 111) and (player:getTP() <= 120)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 11, 0, 180, 0, 1); + elseif ((player:getTP() >= 121) and (player:getTP() <= 130)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 12, 0, 180, 0, 1); + elseif ((player:getTP() >= 131) and (player:getTP() <= 140)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 13, 0, 180, 0, 1); + elseif ((player:getTP() >= 141) and (player:getTP() <= 150)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 14, 0, 180, 0, 1); + elseif ((player:getTP() >= 151) and (player:getTP() <= 160)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 15, 0, 180, 0, 1); + elseif ((player:getTP() >= 161) and (player:getTP() <= 170)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 16, 0, 180, 0, 1); + elseif ((player:getTP() >= 171) and (player:getTP() <= 180)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 17, 0, 180, 0, 1); + elseif ((player:getTP() >= 181) and (player:getTP() <= 190)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 18, 0, 180, 0, 1); + elseif ((player:getTP() >= 191) and (player:getTP() <= 199)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 19, 0, 180, 0, 1); + + + +-- AFTERMATH LV2 + + elseif ((player:getTP() >= 200) and (player:getTP() <= 210)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 24, 0, 180, 0, 1); + elseif ((player:getTP() >= 211) and (player:getTP() <= 219)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 28, 0, 180, 0, 1); + elseif ((player:getTP() >= 221) and (player:getTP() <= 229)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 32, 0, 180, 0, 1); + elseif ((player:getTP() >= 231) and (player:getTP() <= 239)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 36, 0, 180, 0, 1); + elseif ((player:getTP() >= 241) and (player:getTP() <= 249)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 40, 0, 180, 0, 1); + elseif ((player:getTP() >= 251) and (player:getTP() <= 259)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 44, 0, 180, 0, 1); + elseif ((player:getTP() >= 261) and (player:getTP() <= 269)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 48, 0, 180, 0, 1); + elseif ((player:getTP() >= 271) and (player:getTP() <= 279)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 52, 0, 180, 0, 1); + elseif ((player:getTP() >= 281) and (player:getTP() <= 289)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 56, 0, 180, 0, 1); + elseif ((player:getTP() >= 291) and (player:getTP() <= 299)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 59, 0, 180, 0, 1); + + +-- AFTERMATH LV3 + + elseif ((player:getTP() == 300)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV3, 45, 0, 120, 0, 1); + + end + end + end return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/trueflight.lua =================================================================== --- scripts/globals/weaponskills/trueflight.lua (revision 4223) +++ scripts/globals/weaponskills/trueflight.lua (working copy) @@ -39,8 +39,69 @@ -- needs ignore defense. param local damage, tpHits, extraHits = doRangedWeaponskill(player, target, params); - local criticalHit = false; - + + + if((player:getEquipID(SLOT_RANGED) == 19001) and (player:getMainJob() == JOB_RNG)) then + if(damage > 0) then + +-- AFTERMATH LV1 + + if ((player:getTP() >= 100) and (player:getTP() <= 110)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 10, 0, 180, 0, 3); + elseif ((player:getTP() >= 111) and (player:getTP() <= 120)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 11, 0, 180, 0, 3); + elseif ((player:getTP() >= 121) and (player:getTP() <= 130)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 12, 0, 180, 0, 3); + elseif ((player:getTP() >= 131) and (player:getTP() <= 140)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 13, 0, 180, 0, 3); + elseif ((player:getTP() >= 141) and (player:getTP() <= 150)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 14, 0, 180, 0, 3); + elseif ((player:getTP() >= 151) and (player:getTP() <= 160)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 15, 0, 180, 0, 3); + elseif ((player:getTP() >= 161) and (player:getTP() <= 170)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 16, 0, 180, 0, 3); + elseif ((player:getTP() >= 171) and (player:getTP() <= 180)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 17, 0, 180, 0, 3); + elseif ((player:getTP() >= 181) and (player:getTP() <= 190)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 18, 0, 180, 0, 3); + elseif ((player:getTP() >= 191) and (player:getTP() <= 199)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 19, 0, 180, 0, 3); + + + +-- AFTERMATH LV2 + + elseif ((player:getTP() >= 200) and (player:getTP() <= 210)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 24, 0, 180, 0, 4); + elseif ((player:getTP() >= 211) and (player:getTP() <= 219)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 28, 0, 180, 0, 4); + elseif ((player:getTP() >= 221) and (player:getTP() <= 229)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 32, 0, 180, 0, 4); + elseif ((player:getTP() >= 231) and (player:getTP() <= 239)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 36, 0, 180, 0, 4); + elseif ((player:getTP() >= 241) and (player:getTP() <= 249)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 40, 0, 180, 0, 4); + elseif ((player:getTP() >= 251) and (player:getTP() <= 259)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 44, 0, 180, 0, 4); + elseif ((player:getTP() >= 261) and (player:getTP() <= 269)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 48, 0, 180, 0, 4); + elseif ((player:getTP() >= 271) and (player:getTP() <= 279)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 52, 0, 180, 0, 4); + elseif ((player:getTP() >= 281) and (player:getTP() <= 289)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 56, 0, 180, 0, 4); + elseif ((player:getTP() >= 291) and (player:getTP() <= 299)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 59, 0, 180, 0, 4); + + +-- AFTERMATH LV3 + + elseif ((player:getTP() == 300)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV3, 45, 0, 120, 0, 2); + + end + end + end + local criticalHit = false; return tpHits, extraHits, criticalHit, damage; end; Index: scripts/globals/weaponskills/vidohunir.lua =================================================================== --- scripts/globals/weaponskills/vidohunir.lua (revision 4223) +++ scripts/globals/weaponskills/vidohunir.lua (working copy) @@ -37,7 +37,68 @@ target:addStatusEffect(EFFECT_MAGIC_DEF_DOWN, 10, 0, duration); end end - + + + if((player:getEquipID(SLOT_MAIN) == 18994) and (player:getMainJob() == JOB_BLM)) then + if(damage > 0) then + +-- AFTERMATH LV1 + + if ((player:getTP() >= 100) and (player:getTP() <= 110)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 10, 0, 180, 0, 2); + elseif ((player:getTP() >= 111) and (player:getTP() <= 120)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 11, 0, 180, 0, 2); + elseif ((player:getTP() >= 121) and (player:getTP() <= 130)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 12, 0, 180, 0, 2); + elseif ((player:getTP() >= 131) and (player:getTP() <= 140)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 13, 0, 180, 0, 2); + elseif ((player:getTP() >= 141) and (player:getTP() <= 150)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 14, 0, 180, 0, 2); + elseif ((player:getTP() >= 151) and (player:getTP() <= 160)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 15, 0, 180, 0, 2); + elseif ((player:getTP() >= 161) and (player:getTP() <= 170)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 16, 0, 180, 0, 2); + elseif ((player:getTP() >= 171) and (player:getTP() <= 180)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 17, 0, 180, 0, 2); + elseif ((player:getTP() >= 181) and (player:getTP() <= 190)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 18, 0, 180, 0, 2); + elseif ((player:getTP() >= 191) and (player:getTP() <= 199)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV1, 19, 0, 180, 0, 2); + + + +-- AFTERMATH LV2 + + elseif ((player:getTP() >= 200) and (player:getTP() <= 210)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 24, 0, 180, 0, 3); + elseif ((player:getTP() >= 211) and (player:getTP() <= 219)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 28, 0, 180, 0, 3); + elseif ((player:getTP() >= 221) and (player:getTP() <= 229)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 32, 0, 180, 0, 3); + elseif ((player:getTP() >= 231) and (player:getTP() <= 239)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 36, 0, 180, 0, 3); + elseif ((player:getTP() >= 241) and (player:getTP() <= 249)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 40, 0, 180, 0, 3); + elseif ((player:getTP() >= 251) and (player:getTP() <= 259)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 44, 0, 180, 0, 3); + elseif ((player:getTP() >= 261) and (player:getTP() <= 269)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 48, 0, 180, 0, 3); + elseif ((player:getTP() >= 271) and (player:getTP() <= 279)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 52, 0, 180, 0, 3); + elseif ((player:getTP() >= 281) and (player:getTP() <= 289)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 56, 0, 180, 0, 3); + elseif ((player:getTP() >= 291) and (player:getTP() <= 299)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV2, 59, 0, 180, 0, 3); + + +-- AFTERMATH LV3 + + elseif ((player:getTP() == 300)) then + player:addStatusEffect(EFFECT_AFTERMATH_LV3, 45, 0, 120, 0, 1); + + end + end + end return tpHits, extraHits, criticalHit, damage; end Index: sql/status_effects.sql =================================================================== --- sql/status_effects.sql (revision 4223) +++ sql/status_effects.sql (working copy) @@ -303,9 +303,9 @@ INSERT INTO `status_effects` VALUES (267,'allied_tags',32,0,0,0,0,0,0); INSERT INTO `status_effects` VALUES (268,'sigil',32,0,0,0,0,0,0); INSERT INTO `status_effects` VALUES (269,'level_sync',0,0,0,0,0,0,0); -INSERT INTO `status_effects` VALUES (270,'aftermath',32,0,0,0,0,0,0); -INSERT INTO `status_effects` VALUES (271,'aftermath',32,0,0,0,0,0,0); -INSERT INTO `status_effects` VALUES (272,'aftermath',32,0,0,0,0,0,0); +INSERT INTO `status_effects` VALUES (270,'aftermath_lv1',32,0,0,0,0,0,0); +INSERT INTO `status_effects` VALUES (271,'aftermath_lv2',32,0,0,0,0,0,0); +INSERT INTO `status_effects` VALUES (272,'aftermath_lv3',32,0,0,0,0,0,0); INSERT INTO `status_effects` VALUES (273,'aftermath',32,0,0,0,0,0,0); INSERT INTO `status_effects` VALUES (274,'enlight',33,94,51,0,0,0,0); INSERT INTO `status_effects` VALUES (275,'auspice',32,94,51,0,0,0,0);