Index: scripts/globals/effects/aftermath_lv1.lua =================================================================== --- scripts/globals/effects/aftermath_lv1.lua (revision 3812) +++ scripts/globals/effects/aftermath_lv1.lua (working copy) @@ -1,7 +1,7 @@ ----------------------------------- --- --- --- +-- EFFECT AFTERMATH LVL1 +-- Beneficial status effect from +-- specific WS and Weapon combination ----------------------------------- ----------------------------------- @@ -9,6 +9,40 @@ ----------------------------------- function onEffectGain(target,effect) + if(effect:getPower() == 1) then + -- Occasionally deal 2x Dmg in battleutils + elseif(effect:getPower() == 2) then + target:addMod(MOD_SUBTLE_BLOW, 10); + elseif(effect:getPower() == 3) then + target:addMod(MOD_CRITHITRATE, 5); + elseif(effect:getPower() == 4) then + target:addMod(MOD_REGEN, 8); + elseif(effect:getPower() == 5) then + target:addMod(MOD_ATTP, 10); + elseif(effect:getPower() == 6) then + target:addMod(MOD_DMG, -20); + elseif(effect:getPower() == 7) then + target:addMod(MOD_HASTE_ABILITY, 26); + elseif(effect:getPower() == 8) then + target:addMod(MOD_SPIKES, 5); + target:addMod(MOD_SPIKES_DMG, 40); + elseif(effect:getPower() == 9) then + target:addMod(MOD_STORETP, 7); + elseif(effect:getPower() == 10) then + target:addMod(MOD_ACC, 20); + elseif(effect:getPower() == 11) then + target:addMod(MOD_REFRESH, 8); + elseif(effect:getPower() == 12) then + target:addMod(MOD_ENMITY, -20); + elseif(effect:getPower() == 13) then + target:addMod(MOD_RACC, 20); + elseif(effect:getPower() == 14) then + target:addMod(MOD_ACC, effect:getSubPower()); + elseif(effect:getPower() == 15) then + target:addMod(MOD_MACC, effect:getSubPower()); + elseif(effect:getPower() == 16) then + target:addMod(MOD_RACC, effect:getSubPower()); + end end; ----------------------------------- @@ -23,4 +57,38 @@ ----------------------------------- function onEffectLose(target,effect) + if(effect:getPower() == 1) then + -- Occasionally deal 2x Dmg in battleutils + elseif(effect:getPower() == 2) then + target:delMod(MOD_SUBTLE_BLOW, 10); + elseif(effect:getPower() == 3) then + target:delMod(MOD_CRITHITRATE, 5); + elseif(effect:getPower() == 4) then + target:delMod(MOD_REGEN, 8); + elseif(effect:getPower() == 5) then + target:delMod(MOD_ATTP, 10); + elseif(effect:getPower() == 6) then + target:delMod(MOD_DMG, -20); + elseif(effect:getPower() == 7) then + target:delMod(MOD_HASTE_ABILITY, 26); + elseif(effect:getPower() == 8) then + target:delMod(MOD_SPIKES, 5); + target:delMod(MOD_SPIKES_DMG, 40); + elseif(effect:getPower() == 9) then + target:delMod(MOD_STORETP, 7); + elseif(effect:getPower() == 10) then + target:delMod(MOD_ACC, 20); + elseif(effect:getPower() == 11) then + target:delMod(MOD_REFRESH, 8); + elseif(effect:getPower() == 12) then + target:delMod(MOD_ENMITY, -20); + elseif(effect:getPower() == 13) then + target:delMod(MOD_RACC, 20); + elseif(effect:getPower() == 14) then + target:delMod(MOD_ACC, effect:getSubPower()); + elseif(effect:getPower() == 15) then + target:delMod(MOD_MACC, effect:getSubPower()); + elseif(effect:getPower() == 16) then + target:delMod(MOD_RACC, effect:getSubPower()); + end end; \ No newline at end of file Index: scripts/globals/effects/aftermath_lv2.lua =================================================================== --- scripts/globals/effects/aftermath_lv2.lua (revision 3812) +++ scripts/globals/effects/aftermath_lv2.lua (working copy) @@ -1,7 +1,7 @@ ----------------------------------- --- --- --- +-- EFFECT AFTERMATH LVL2 +-- Beneficial status effect from +-- specific WS and Weapon combination ----------------------------------- ----------------------------------- @@ -9,6 +9,44 @@ ----------------------------------- function onEffectGain(target,effect) + if(effect:getPower() == 1) then + -- Occasionally deal 2x Dmg in battleutils + elseif(effect:getPower() == 2) then + target:addMod(MOD_SUBTLE_BLOW, 10); + elseif(effect:getPower() == 3) then + target:addMod(MOD_CRITHITRATE, 5); + elseif(effect:getPower() == 4) then + target:addMod(MOD_REGEN, 8); + elseif(effect:getPower() == 5) then + target:addMod(MOD_ATTP, 10); + elseif(effect:getPower() == 6) then + target:addMod(MOD_DMG, -20); + elseif(effect:getPower() == 7) then + target:addMod(MOD_HASTE_ABILITY, 26); + elseif(effect:getPower() == 8) then + target:addMod(MOD_SPIKES, 5); + target:addMod(MOD_SPIKES_DMG, 40); + elseif(effect:getPower() == 9) then + target:addMod(MOD_STORETP, 7); + elseif(effect:getPower() == 10) then + target:addMod(MOD_ACC, 20); + elseif(effect:getPower() == 11) then + target:addMod(MOD_REFRESH, 8); + elseif(effect:getPower() == 12) then + target:addMod(MOD_ENMITY, -20); + elseif(effect:getPower() == 13) then + target:addMod(MOD_RACC, 20); + elseif(effect:getPower() == 14) then + target:addMod(MOD_ATT, effect:getSubPower()); + elseif(effect:getPower() == 15) then + target:addMod(MOD_ACC, effect:getSubPower()); + elseif(effect:getPower() == 16) then + target:addMod(MOD_MATT, effect:getSubPower()); + elseif(effect:getPower() == 17) then + target:addMod(MOD_RATT, effect:getSubPower()); + elseif(effect:getPower() == 18) then + target:addMod(MOD_MACC, effect:getSubPower()); + end end; ----------------------------------- @@ -23,4 +61,42 @@ ----------------------------------- function onEffectLose(target,effect) + if(effect:getPower() == 1) then + -- Occasionally deal 2x Dmg in battleutils + elseif(effect:getPower() == 2) then + target:delMod(MOD_SUBTLE_BLOW, 10); + elseif(effect:getPower() == 3) then + target:delMod(MOD_CRITHITRATE, 5); + elseif(effect:getPower() == 4) then + target:delMod(MOD_REGEN, 8); + elseif(effect:getPower() == 5) then + target:delMod(MOD_ATTP, 10); + elseif(effect:getPower() == 6) then + target:delMod(MOD_DMG, -20); + elseif(effect:getPower() == 7) then + target:delMod(MOD_HASTE_ABILITY, 26); + elseif(effect:getPower() == 8) then + target:delMod(MOD_SPIKES, 5); + target:delMod(MOD_SPIKES_DMG, 40); + elseif(effect:getPower() == 9) then + target:delMod(MOD_STORETP, 7); + elseif(effect:getPower() == 10) then + target:delMod(MOD_ACC, 20); + elseif(effect:getPower() == 11) then + target:delMod(MOD_REFRESH, 8); + elseif(effect:getPower() == 12) then + target:delMod(MOD_ENMITY, -20); + elseif(effect:getPower() == 13) then + target:delMod(MOD_RACC, 20); + elseif(effect:getPower() == 14) then + target:delMod(MOD_ATT, effect:getSubPower()); + elseif(effect:getPower() == 15) then + target:delMod(MOD_ACC, effect:getSubPower()); + elseif(effect:getPower() == 16) then + target:delMod(MOD_MATT, effect:getSubPower()); + elseif(effect:getPower() == 17) then + target:delMod(MOD_RATT, effect:getSubPower()); + elseif(effect:getPower() == 18) then + target:delMod(MOD_MACC, effect:getSubPower()); + end end; \ No newline at end of file Index: scripts/globals/effects/aftermath_lv3.lua =================================================================== --- scripts/globals/effects/aftermath_lv3.lua (revision 3812) +++ scripts/globals/effects/aftermath_lv3.lua (working copy) @@ -1,7 +1,7 @@ ----------------------------------- --- --- --- +-- EFFECT AFTERMATH LVL3 +-- Beneficial status effect from +-- specific WS and Weapon combination ----------------------------------- ----------------------------------- @@ -9,6 +9,41 @@ ----------------------------------- function onEffectGain(target,effect) + if(effect:getPower() == 1) then + -- Occasionally deal 2x Dmg in battleutils + elseif(effect:getPower() == 2) then + target:addMod(MOD_SUBTLE_BLOW, 10); + elseif(effect:getPower() == 3) then + target:addMod(MOD_CRITHITRATE, 5); + elseif(effect:getPower() == 4) then + target:addMod(MOD_REGEN, 8); + elseif(effect:getPower() == 5) then + target:addMod(MOD_ATTP, 10); + elseif(effect:getPower() == 6) then + target:addMod(MOD_DMG, -20); + elseif(effect:getPower() == 7) then + target:addMod(MOD_HASTE_ABILITY, 26); + elseif(effect:getPower() == 8) then + target:addMod(MOD_SPIKES, 5); + target:addMod(MOD_SPIKES_DMG, 40); + elseif(effect:getPower() == 9) then + target:addMod(MOD_STORETP, 7); + elseif(effect:getPower() == 10) then + target:addMod(MOD_ACC, 20); + elseif(effect:getPower() == 11) then + target:addMod(MOD_REFRESH, 8); + elseif(effect:getPower() == 12) then + target:addMod(MOD_ENMITY, -20); + elseif(effect:getPower() == 13) then + target:addMod(MOD_RACC, 20); + elseif(effect:getPower() == 14) then + target:addMod(MOD_DOUBLE_ATTACK, effect:getSubPower()); + elseif(effect:getPower() == 15) then + target:addMod(MOD_DOUBLE_ATTACK, (effect:getSubPower() * 2)); + target:addMod(MOD_TRIPLE_ATTACK, effect:getSubPower()); + elseif(effect:getPower() == 16) then + -- Occasionally deal 2x-3x Dmg in battleutils + end end; ----------------------------------- @@ -23,4 +58,39 @@ ----------------------------------- function onEffectLose(target,effect) + if(effect:getPower() == 1) then + -- Occasionally deal 2x Dmg in battleutils + elseif(effect:getPower() == 2) then + target:delMod(MOD_SUBTLE_BLOW, 10); + elseif(effect:getPower() == 3) then + target:delMod(MOD_CRITHITRATE, 5); + elseif(effect:getPower() == 4) then + target:delMod(MOD_REGEN, 8); + elseif(effect:getPower() == 5) then + target:delMod(MOD_ATTP, 10); + elseif(effect:getPower() == 6) then + target:delMod(MOD_DMG, -20); + elseif(effect:getPower() == 7) then + target:delMod(MOD_HASTE_ABILITY, 26); + elseif(effect:getPower() == 8) then + target:delMod(MOD_SPIKES, 5); + target:delMod(MOD_SPIKES_DMG, 40); + elseif(effect:getPower() == 9) then + target:delMod(MOD_STORETP, 7); + elseif(effect:getPower() == 10) then + target:delMod(MOD_ACC, 20); + elseif(effect:getPower() == 11) then + target:delMod(MOD_REFRESH, 8); + elseif(effect:getPower() == 12) then + target:delMod(MOD_ENMITY, -20); + elseif(effect:getPower() == 13) then + target:delMod(MOD_RACC, 20); + elseif(effect:getPower() == 14) then + target:delMod(MOD_DOUBLE_ATTACK, effect:getSubPower()); + elseif(effect:getPower() == 15) then + target:delMod(MOD_DOUBLE_ATTACK, (effect:getSubPower() * 2)); + target:delMod(MOD_TRIPLE_ATTACK, effect:getSubPower()); + elseif(effect:getPower() == 16) then + -- Occasionally deal 2x-3x Dmg in battleutils + end end; \ No newline at end of file Index: scripts/globals/weaponskills/ascetics_fury.lua =================================================================== --- scripts/globals/weaponskills/ascetics_fury.lua (revision 3812) +++ scripts/globals/weaponskills/ascetics_fury.lua (working copy) @@ -29,6 +29,84 @@ params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + local main = player:getEquipID(SLOT_MAIN); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local subpower = 0; + + if (main == 18992) then + aftermath = 1; + elseif (main == 19061) then + aftermath = 1; + elseif (main == 19081) then + aftermath = 1; + elseif (main == 19613) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19711) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19820) then + aftermath = 1; + damage = damage * 1.3; + elseif (main == 19949) then + aftermath = 1; + damage = damage * 1.3; + end + + if (aftermath == 1) then + if (tp == 300) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + if (main == 18992) then + duration = 120; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,40); + elseif (main == 19061 or main == 19081 or main == 19613) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,60); + elseif (main == 19711 or main == 19820 or main == 19949) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,15,0,duration,0,20); + end + elseif (tp >= 200) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + if (main == 18991) then + duration = 90; + subpower = math.floor(2 * (tp / 5) - 60); + elseif (main == 19060 or main == 19080 or main == 19612) then + duration = 120; + subpower = math.floor(3 * (tp / 5) - 90); + elseif (main == 19710 or main == 19819 or main == 19948) then + duration = 120; + subpower = math.floor((tp * .6) - 80); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV2,14,0,duration,0,subpower); + end + else + duration = 180; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + if (main == 18992) then + duration = 60; + subpower = math.floor(tp / 10); + elseif (main == 19061 or main == 19081 or main == 19613) then + duration = 90; + subpower = math.floor(3 * (tp / 20)); + elseif (main == 19711 or main == 19820 or main == 19949) then + duration = 90; + subpower = math.floor((tp / 10) + 20); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV1,14,0,duration,0,subpower); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/blade_hi.lua =================================================================== --- scripts/globals/weaponskills/blade_hi.lua (revision 3812) +++ scripts/globals/weaponskills/blade_hi.lua (working copy) @@ -34,6 +34,49 @@ params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + local main = player:getEquipID(SLOT_MAIN); + local sub = player:getEquipID(SLOT_SUB); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + + if (main == 19464 or sub == 19464) then + aftermath = 1; + elseif (main == 19542 or sub == 19542) then + aftermath = 1; + elseif (main == 19640 or sub == 19640) then + aftermath = 1; + elseif (main == 19813 or sub == 19813) then + aftermath = 1; + elseif (main == 19861 or sub == 19861) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 90; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,1,0,duration); + elseif (tp >= 200) then + duration = 60; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,1,0,duration); + end + else + duration = 30; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,1,0,duration); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end \ No newline at end of file Index: scripts/globals/weaponskills/blade_kamu.lua =================================================================== --- scripts/globals/weaponskills/blade_kamu.lua (revision 3812) +++ scripts/globals/weaponskills/blade_kamu.lua (working copy) @@ -36,6 +36,85 @@ target:addStatusEffect(EFFECT_ACCURACY_DOWN, 10, 0, duration); end end + + local main = player:getEquipID(SLOT_MAIN); + local sub = player:getEquipID(SLOT_SUB); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local subpower = 0; + + if (main == 19003 or sub == 19003) then + aftermath = 1; + elseif (main == 19072 or sub == 19072) then + aftermath = 1; + elseif (main == 19092 or sub == 19092) then + aftermath = 1; + elseif (main == 19624 or sub == 19624) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19722 or sub == 19722) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19831 or sub == 19831) then + aftermath = 1; + damage = damage * 1.3; + elseif (main == 19960 or sub == 19960) then + aftermath = 1; + damage = damage * 1.3; + end + + if (aftermath == 1) then + if (tp == 300) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + if (main == 19003 or sub == 19003) then + duration = 120; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,40); + elseif ((main == 19072 or sub == 19072) or (main == 19092 or sub == 19092) or (main == 19624 or sub == 19624)) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,60); + elseif ((main == 19722 or sub == 19722) or (main == 19831 or sub == 19831) or (main == 19960 or sub == 19960)) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,15,0,duration,0,20); + end + elseif (tp >= 200) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + if (main == 19003 or sub == 19003) then + duration = 90; + subpower = math.floor(2 * (tp / 5) - 60); + elseif ((main == 19072 or sub == 19072) or (main == 19092 or sub == 19092) or (main == 19624 or sub == 19624)) then + duration = 120; + subpower = math.floor(3 * (tp / 5) - 90); + elseif ((main == 19722 or sub == 19722) or (main == 19831 or sub == 19831) or (main == 19960 or sub == 19960)) then + duration = 120; + subpower = math.floor((tp * .6) - 80); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV2,14,0,duration,0,subpower); + end + else + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + if (main == 19003 or sub == 19003) then + duration = 60; + subpower = math.floor(tp / 10); + elseif ((main == 19072 or sub == 19072) or (main == 19092 or sub == 19092) or (main == 19624 or sub == 19624)) then + duration = 90; + subpower = math.floor(3 * (tp / 20)); + elseif ((main == 19722 or sub == 19722) or (main == 19831 or sub == 19831) or (main == 19960 or sub == 19960)) then + duration = 90; + subpower = math.floor((tp / 10) + 20); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV1,14,0,duration,0,subpower); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/blade_metsu.lua =================================================================== --- scripts/globals/weaponskills/blade_metsu.lua (revision 3812) +++ scripts/globals/weaponskills/blade_metsu.lua (working copy) @@ -38,6 +38,62 @@ player:addStatusEffect(EFFECT_SUBTLE_BLOW_PLUS, 10, 0, duration); end end + + local main = player:getEquipID(SLOT_MAIN); + local sub = player:getEquipID(SLOT_SUB); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local zone = player:getZone(); + + if (main == 18312 or sub == 18312) then + aftermath = 1; + elseif (main == 18313 or sub == 18313) then + aftermath = 1; + elseif (main == 18645 or sub == 18645) then + aftermath = 1; + elseif (main == 18659 or sub == 18659) then + damage = damage * 1.25; + aftermath = 1; + elseif (main == 18673 or sub == 18673) then + damage = damage * 1.25; + aftermath = 1; + elseif (main == 19754 or sub == 19754) then + damage = damage * 1.4; + aftermath = 1; + elseif (main == 19847 or sub == 19847) then + damage = damage * 1.4; + aftermath = 1; + elseif ((main == 18311 or sub == 18311) and (zone == 39 or zone == 40 or zone == 41 or zone == 42 or zone == 134 or + zone ==135 or zone == 185 or zone == 186 or zone == 187 or zone == 188)) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 60; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,2,0,duration); + elseif (tp >= 200) then + duration = 40; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,2,0,duration); + end + else + duration = 20; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,2,0,duration); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/camlanns_torment.lua =================================================================== --- scripts/globals/weaponskills/camlanns_torment.lua (revision 3812) +++ scripts/globals/weaponskills/camlanns_torment.lua (working copy) @@ -26,5 +26,48 @@ params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + + local main = player:getEquipID(SLOT_MAIN); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + + if (main == 19463) then + aftermath = 1; + elseif (main == 19541) then + aftermath = 1; + elseif (main == 19639) then + aftermath = 1; + elseif (main == 19812) then + aftermath = 1; + elseif (main == 19860) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 90; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,1,0,duration); + elseif (tp >= 200) then + duration = 60; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,1,0,duration); + end + else + duration = 30; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,1,0,duration); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/catastrophe.lua =================================================================== --- scripts/globals/weaponskills/catastrophe.lua (revision 3812) +++ scripts/globals/weaponskills/catastrophe.lua (working copy) @@ -31,7 +31,61 @@ local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); local drain = (damage * 0.4); player:addHP(drain); + + local main = player:getEquipID(SLOT_MAIN); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local zone = player:getZone(); + if (main == 18306) then + aftermath = 1; + elseif (main == 18307) then + aftermath = 1; + elseif (main == 18644) then + aftermath = 1; + elseif (main == 18658) then + damage = damage * 1.25; + aftermath = 1; + elseif (main == 18672) then + damage = damage * 1.25; + aftermath = 1; + elseif (main == 19753) then + damage = damage * 1.4; + aftermath = 1; + elseif (main == 19846) then + damage = damage * 1.4; + aftermath = 1; + elseif ((main == 18305) and (zone == 39 or zone == 40 or zone == 41 or zone == 42 or zone == 134 or + zone ==135 or zone == 185 or zone == 186 or zone == 187 or zone == 188)) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 60; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,7,0,duration); + elseif (tp >= 200) then + duration = 40; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,7,0,duration); + end + else + duration = 20; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,7,0,duration); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/chant_du_cygne.lua =================================================================== --- scripts/globals/weaponskills/chant_du_cygne.lua (revision 3812) +++ scripts/globals/weaponskills/chant_du_cygne.lua (working copy) @@ -27,6 +27,49 @@ params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + local main = player:getEquipID(SLOT_MAIN); + local sub = player:getEquipID(SLOT_SUB); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + + if (main == 19458 or sub == 19458) then + aftermath = 1; + elseif (main == 19536 or sub == 19536) then + aftermath = 1; + elseif (main == 19634 or sub == 19634) then + aftermath = 1; + elseif (main == 19807 or sub == 19807) then + aftermath = 1; + elseif (main == 19855 or sub == 19855) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 90; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,1,0,duration); + elseif (tp >= 200) then + duration = 60; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,1,0,duration); + end + else + duration = 30; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,1,0,duration); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/cloudsplitter.lua =================================================================== --- scripts/globals/weaponskills/cloudsplitter.lua (revision 3812) +++ scripts/globals/weaponskills/cloudsplitter.lua (working copy) @@ -30,6 +30,50 @@ params.atkmulti = 1.0; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + local main = player:getEquipID(SLOT_MAIN); + local sub = player:getEquipID(SLOT_SUB); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + + if (main == 19460 or sub == 19460) then + aftermath = 1; + elseif (main == 19538 or sub == 19538) then + aftermath = 1; + elseif (main == 19636 or sub == 19636) then + aftermath = 1; + elseif (main == 19809 or sub == 19809) then + aftermath = 1; + elseif (main == 19857 or sub == 19857) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 90; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,1,0,duration); + elseif (tp >= 200) then + duration = 60; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,1,0,duration); + end + else + duration = 30; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,1,0,duration); + end + end + end + end + + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/coronach.lua =================================================================== --- scripts/globals/weaponskills/coronach.lua (revision 3812) +++ scripts/globals/weaponskills/coronach.lua (working copy) @@ -38,8 +38,62 @@ params.atkmulti = 2; local damage, tpHits, extraHits = doRangedWeaponskill(player, target, params); - local crticalHit = false; + local crticalHit = false; + local main = player:getEquipID(SLOT_RANGED); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local zone = player:getZone(); + + if (main == 18336) then + aftermath = 1; + elseif (main == 18337) then + aftermath = 1; + elseif (main == 18649) then + aftermath = 1; + elseif (main == 18663) then + damage = damage * 1.25; + aftermath = 1; + elseif (main == 18677) then + damage = damage * 1.25; + aftermath = 1; + elseif (main == 19758) then + damage = damage * 1.4; + aftermath = 1; + elseif (main == 19851) then + damage = damage * 1.4; + aftermath = 1; + elseif ((main == 18335) and (zone == 39 or zone == 40 or zone == 41 or zone == 42 or zone == 134 or + zone ==135 or zone == 185 or zone == 186 or zone == 187 or zone == 188)) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 60; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,12,0,duration); + elseif (tp >= 200) then + duration = 40; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,12,0,duration); + end + else + duration = 20; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,12,0,duration); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end; Index: scripts/globals/weaponskills/dagan.lua =================================================================== --- scripts/globals/weaponskills/dagan.lua (revision 3812) +++ scripts/globals/weaponskills/dagan.lua (working copy) @@ -9,5 +9,49 @@ local ftphp = fTP(player:getTP(),0.22,0.34,0.52); local ftpmp = fTP(player:getTP(),0.15,0.25,0.35); player:addHP(ftphp*player:getMaxHP()); - return 0,0,false,(ftpmp*player:getMaxMP()); + + local main = player:getEquipID(SLOT_MAIN); + local sub = player:getEquipID(SLOT_SUB); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + + if (main == 19466 or sub == 19466) then + aftermath = 1; + elseif (main == 19544 or sub == 19544) then + aftermath = 1; + elseif (main == 19642 or sub == 19642) then + aftermath = 1; + elseif (main == 19815 or sub == 19815) then + aftermath = 1; + elseif (main == 19863 or sub == 19863) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 90; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,1,0,duration); + elseif (tp >= 200) then + duration = 60; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,1,0,duration); + end + else + duration = 30; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,1,0,duration); + end + end + end + end + + return 0, 0, false, (ftpmp*player:getMaxMP()); end Index: scripts/globals/weaponskills/death_blossom.lua =================================================================== --- scripts/globals/weaponskills/death_blossom.lua (revision 3812) +++ scripts/globals/weaponskills/death_blossom.lua (working copy) @@ -33,5 +33,84 @@ target:addStatusEffect(EFFECT_MAGIC_EVASION_DOWN, 10, 0, duration); end end + + local main = player:getEquipID(SLOT_MAIN); + local sub = player:getEquipID(SLOT_SUB); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local subpower = 0; + + if (main == 18995 or sub == 18995) then + aftermath = 1; + elseif (main == 19064 or sub == 19064) then + aftermath = 1; + elseif (main == 19084 or sub == 19084) then + aftermath = 1; + elseif (main == 19616 or sub == 19616) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19714 or sub == 19714) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19823 or sub == 19823) then + aftermath = 1; + damage = damage * 1.3; + elseif (main == 19952 or sub == 19952) then + aftermath = 1; + damage = damage * 1.3; + end + + if (aftermath == 1) then + if (tp == 300) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + if (main == 18995 or sub == 18995) then + duration = 120; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,40); + elseif ((main == 19064 or sub == 19064) or (main == 19084 or sub == 19084) or (main == 19616 or sub == 19616)) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,60); + elseif ((main == 19714 or sub == 19714) or (main == 19823 or sub == 19823) or (main == 19952 or sub == 19952)) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,15,0,duration,0,20); + end + elseif (tp >= 200) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + if (main == 18995 or sub == 18995) then + duration = 180; + subpower = math.floor((tp / 10) - 10); + elseif ((main == 19064 or sub == 19064) or (main == 19084 or sub == 19084) or (main == 19616 or sub == 19616)) then + duration = 270; + subpower = math.floor((tp / 5) - 20); + elseif ((main == 19714 or sub == 19714) or (main == 19823 or sub == 19823) or (main == 19952 or sub == 19952)) then + duration = 270; + subpower = math.floor((tp / 5) - 10); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV2,16,0,duration,0,subpower); + end + else + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + if (main == 18995 or sub == 18995) then + duration = 180; + subpower = math.floor(tp / 10); + elseif ((main == 19064 or sub == 19064) or (main == 19084 or sub == 19084) or (main == 19616 or sub == 19616)) then + duration = 270; + subpower = math.floor(tp / 10); + elseif ((main == 19714 or sub == 19714) or (main == 19823 or sub == 19823) or (main == 19952 or sub == 19952)) then + duration = 270; + subpower = math.floor(tp / 10); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV1,15,0,duration,0,subpower); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/drakesbane.lua =================================================================== --- scripts/globals/weaponskills/drakesbane.lua (revision 3812) +++ scripts/globals/weaponskills/drakesbane.lua (working copy) @@ -29,6 +29,83 @@ params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + local main = player:getEquipID(SLOT_MAIN); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local subpower = 0; + + if (main == 19004) then + aftermath = 1; + elseif (main == 19073) then + aftermath = 1; + elseif (main == 19093) then + aftermath = 1; + elseif (main == 19625) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19723) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19832) then + aftermath = 1; + damage = damage * 1.3; + elseif (main == 19961) then + aftermath = 1; + damage = damage * 1.3; + end + + if (aftermath == 1) then + if (tp == 300) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + if (main == 19004) then + duration = 120; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,40); + elseif (main == 19073 or main == 19093 or main == 19625) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,60); + elseif (main == 19723 or main == 19832 or main == 19961) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,15,0,duration,0,20); + end + elseif (tp >= 200) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + if (main == 19004) then + duration = 90; + subpower = math.floor(2 * (tp / 5) - 60); + elseif (main == 19073 or main == 19093 or main == 19625) then + duration = 120; + subpower = math.floor(3 * (tp / 5) - 90); + elseif (main == 19723 or main == 19832 or main == 19961) then + duration = 120; + subpower = math.floor((tp * .6) - 80); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV2,14,0,duration,0,subpower); + end + else + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + if (main == 19004) then + duration = 60; + subpower = math.floor(tp / 10); + elseif (main == 19073 or main == 19093 or main == 19625) then + duration = 90; + subpower = math.floor(3 * (tp / 20)); + elseif (main == 19723 or main == 19832 or main == 19961) then + duration = 90; + subpower = math.floor((tp / 10) + 20); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV1,14,0,duration,0,subpower); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/final_heaven.lua =================================================================== --- scripts/globals/weaponskills/final_heaven.lua (revision 3812) +++ scripts/globals/weaponskills/final_heaven.lua (working copy) @@ -39,7 +39,55 @@ --damage = damage * ftp(player:getTP(), ftp100, ftp200, ftp300); local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + local main = player:getEquipID(SLOT_MAIN); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local zone = player:getZone(); + + if (main == 18264) then + aftermath = 1; + elseif (main == 18265) then + aftermath = 1; + elseif (main == 18637) then + aftermath = 1; + elseif (main == 18651) then + aftermath = 1; + elseif (main == 18665) then + aftermath = 1; + elseif (main == 19746) then + aftermath = 1; + elseif (main == 19839) then + aftermath = 1; + elseif ((main == 18263) and (zone == 39 or zone == 40 or zone == 41 or zone == 42 or zone == 134 or + zone ==135 or zone == 185 or zone == 186 or zone == 187 or zone == 188)) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 60; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,2,0,duration); + elseif (tp >= 200) then + duration = 40; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,2,0,duration); + end + else + duration = 20; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,2,0,duration); + end + 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 3812) +++ scripts/globals/weaponskills/garland_of_bliss.lua (working copy) @@ -35,7 +35,85 @@ if(target:hasStatusEffect(EFFECT_DEFENSE_DOWN) == false) then target:addStatusEffect(EFFECT_DEFENSE_DOWN, 12.5, 0, duration); end - end + end + + local main = player:getEquipID(SLOT_MAIN); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local subpower = 0; + + if (main == 19005) then + aftermath = 1; + elseif (main == 19074) then + aftermath = 1; + elseif (main == 19094) then + aftermath = 1; + elseif (main == 19626) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19724) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19833) then + aftermath = 1; + damage = damage * 1.3; + elseif (main == 19962) then + aftermath = 1; + damage = damage * 1.3; + end + + if (aftermath == 1) then + if (tp == 300) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + if (main == 19005) then + duration = 120; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,40); + elseif (main == 19074 or main == 19094 or main == 19626) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,60); + elseif (main == 19724 or main == 19833 or main == 19962) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,15,0,duration,0,20); + end + elseif (tp >= 200) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + if (main == 19005) then + duration = 180; + subpower = math.floor(2 * (tp / 5) - 60); + elseif (main == 19074 or main == 19094 or main == 19626) then + duration = 270; + subpower = math.floor(3 * (tp / 5) - 90); + elseif (main == 19724 or main == 19833 or main == 19962) then + duration = 270; + subpower = math.floor((tp * .6) - 80); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV2,14,0,duration,0,subpower); + end + else + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + if (main == 19005) then + duration = 180; + subpower = math.floor(tp / 10); + elseif (main == 19074 or main == 19094 or main == 19626) then + duration = 270; + subpower = math.floor(3 * (tp / 20)); + elseif (main == 19724 or main == 19833 or main == 19962) then + duration = 270; + subpower = math.floor((tp / 10) + 20); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV1,14,0,duration,0,subpower); + end + 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 3812) +++ scripts/globals/weaponskills/gate_of_tartarus.lua (working copy) @@ -30,7 +30,61 @@ params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + + local main = player:getEquipID(SLOT_MAIN); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local zone = player:getZone(); + if (main == 18330) then + aftermath = 1; + elseif (main == 18331) then + aftermath = 1; + elseif (main == 18648) then + aftermath = 1; + elseif (main == 18662) then + damage = damage * 1.25; + aftermath = 1; + elseif (main == 18676) then + damage = damage * 1.25; + aftermath = 1; + elseif (main == 19757) then + damage = damage * 1.4; + aftermath = 1; + elseif (main == 19850) then + damage = damage * 1.4; + aftermath = 1; + elseif ((main == 18329) and (zone == 39 or zone == 40 or zone == 41 or zone == 42 or zone == 134 or + zone ==135 or zone == 185 or zone == 186 or zone == 187 or zone == 188)) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 60; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,11,0,duration); + elseif (tp >= 200) then + duration = 40; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,11,0,duration); + end + else + duration = 20; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,11,0,duration); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/geirskogul.lua =================================================================== --- scripts/globals/weaponskills/geirskogul.lua (revision 3812) +++ scripts/globals/weaponskills/geirskogul.lua (working copy) @@ -28,7 +28,61 @@ params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + + local main = player:getEquipID(SLOT_MAIN); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local zone = player:getZone(); + if (main == 18300) then + aftermath = 1; + elseif (main == 18301) then + aftermath = 1; + elseif (main == 18643) then + aftermath = 1; + elseif (main == 18657) then + damage = damage * 1.25; + aftermath = 1; + elseif (main == 18671) then + damage = damage * 1.25; + aftermath = 1; + elseif (main == 19752) then + damage = damage * 1.4; + aftermath = 1; + elseif (main == 19845) then + damage = damage * 1.4; + aftermath = 1; + elseif ((main == 18299) and (zone == 39 or zone == 40 or zone == 41 or zone == 42 or zone == 134 or + zone ==135 or zone == 185 or zone == 186 or zone == 187 or zone == 188)) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 60; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,8,0,duration); + elseif (tp >= 200) then + duration = 40; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,8,0,duration); + end + else + duration = 20; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,8,0,duration); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/insurgency.lua =================================================================== --- scripts/globals/weaponskills/insurgency.lua (revision 3812) +++ scripts/globals/weaponskills/insurgency.lua (working copy) @@ -30,6 +30,83 @@ params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + local main = player:getEquipID(SLOT_MAIN); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local subpower = 0; + + if (main == 18998) then + aftermath = 1; + elseif (main == 19067) then + aftermath = 1; + elseif (main == 19087) then + aftermath = 1; + elseif (main == 19619) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19717) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19826) then + aftermath = 1; + damage = damage * 1.3; + elseif (main == 19955) then + aftermath = 1; + damage = damage * 1.3; + end + + if (aftermath == 1) then + if (tp == 300) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + if (main == 18998) then + duration = 120; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,40); + elseif (main == 19067 or main == 19087 or main == 19619) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,60); + elseif (main == 19717 or main == 19826 or main == 19955) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,15,0,duration,0,20); + end + elseif (tp >= 200) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + if (main == 18998) then + duration = 90; + subpower = math.floor(2 * (tp / 5) - 60); + elseif (main == 19067 or main == 19087 or main == 19619) then + duration = 120; + subpower = math.floor(3 * (tp / 5) - 90); + elseif (main == 19717 or main == 19826 or main == 19955) then + duration = 120; + subpower = math.floor((tp * .6) - 80); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV2,14,0,duration,0,subpower); + end + else + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + if (main == 18998) then + duration = 60; + subpower = math.floor(tp / 10); + elseif (main == 19067 or main == 19087 or main == 19619) then + duration = 90; + subpower = math.floor(3 * (tp / 20)); + elseif (main == 19717 or main == 19826 or main == 19955) then + duration = 90; + subpower = math.floor((tp / 10) + 20); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV1,14,0,duration,0,subpower); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/jishnus_radiance.lua =================================================================== --- scripts/globals/weaponskills/jishnus_radiance.lua (revision 3812) +++ scripts/globals/weaponskills/jishnus_radiance.lua (working copy) @@ -31,8 +31,50 @@ params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; local damage, tpHits, extraHits = doRangedWeaponskill(player, target, params); - local crticalHit = false; + local crticalHit = false; + local main = player:getEquipID(SLOT_RANGED); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + + if (main == 19468) then + aftermath = 1; + elseif (main == 19546) then + aftermath = 1; + elseif (main == 19644) then + aftermath = 1; + elseif (main == 19817) then + aftermath = 1; + elseif (main == 19865) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 90; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,1,0,duration); + elseif (tp >= 200) then + duration = 60; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,1,0,duration); + end + else + duration = 30; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,1,0,duration); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end; \ No newline at end of file Index: scripts/globals/weaponskills/kings_justice.lua =================================================================== --- scripts/globals/weaponskills/kings_justice.lua (revision 3812) +++ scripts/globals/weaponskills/kings_justice.lua (working copy) @@ -29,6 +29,84 @@ params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + + local main = player:getEquipID(SLOT_MAIN); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local subpower = 0; + + if (main == 18991) then + aftermath = 1; + elseif (main == 19060) then + aftermath = 1; + elseif (main == 19080) then + aftermath = 1; + elseif (main == 19612) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19710) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19819) then + aftermath = 1; + damage = damage * 1.3; + elseif (main == 19948) then + aftermath = 1; + damage = damage * 1.3; + end + + if (aftermath == 1) then + if (tp == 300) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + if (main == 18991) then + duration = 120; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,40); + elseif (main == 19060 or main == 19080 or main == 19612) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,60); + elseif (main == 19710 or main == 19819 or main == 19948) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,15,0,duration,0,20); + end + elseif (tp >= 200) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + if (main == 18991) then + duration = 90; + subpower = math.floor(2 * (tp / 5) - 60); + elseif (main == 19060 or main == 19080 or main == 19612) then + duration = 120; + subpower = math.floor(3 * (tp / 5) - 90); + elseif (main == 19710 or main == 19819 or main == 19948) then + duration = 120; + subpower = math.floor((tp * .6) - 80); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV2,14,0,duration,0,subpower); + end + else + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + if (main == 18991) then + duration = 60; + subpower = math.floor(tp / 10); + elseif (main == 19060 or main == 19080 or main == 19612) then + duration = 90; + subpower = math.floor(3 * (tp / 20)); + elseif (main == 19710 or main == 19819 or main == 19948) then + duration = 90; + subpower = math.floor((tp / 10) + 20); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV1,14,0,duration,0,subpower); + end + 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 3812) +++ scripts/globals/weaponskills/knights_of_round.lua (working copy) @@ -31,7 +31,58 @@ params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + + local main = player:getEquipID(SLOT_MAIN); + local sub = player:getEquipID(SLOT_SUB); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local zone = player:getZone(); + if (main == 18276 or sub == 18276) then + aftermath = 1; + elseif (main == 18277 or sub == 18277) then + aftermath = 1; + elseif (main == 18639 or sub == 18639) then + aftermath = 1; + elseif (main == 18653 or sub == 18653) then + aftermath = 1; + elseif (main == 18667 or sub == 18667) then + aftermath = 1; + elseif (main == 19748 or sub == 19748) then + aftermath = 1; + elseif (main == 19841 or sub == 19841) then + aftermath = 1; + elseif ((main == 18275 or sub == 18275) and (zone == 39 or zone == 40 or zone == 41 or zone == 42 or zone == 134 or + zone ==135 or zone == 185 or zone == 186 or zone == 187 or zone == 188)) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 60; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,4,0,duration); + elseif (tp >= 200) then + duration = 40; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,4,0,duration); + end + else + duration = 20; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,4,0,duration); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/mandalic_stab.lua =================================================================== --- scripts/globals/weaponskills/mandalic_stab.lua (revision 3812) +++ scripts/globals/weaponskills/mandalic_stab.lua (working copy) @@ -30,7 +30,86 @@ 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); + + local main = player:getEquipID(SLOT_MAIN); + local sub = player:getEquipID(SLOT_SUB); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local subpower = 0; + if (main == 18996 or sub == 18996) then + aftermath = 1; + elseif (main == 19065 or sub == 19065) then + aftermath = 1; + elseif (main == 19085 or sub == 19085) then + aftermath = 1; + elseif (main == 19617 or sub == 19617) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19715 or sub == 19715) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19824 or sub == 19824) then + aftermath = 1; + damage = damage * 1.3; + elseif (main == 19953 or sub == 19953) then + aftermath = 1; + damage = damage * 1.3; + end + + if (aftermath == 1) then + if (tp == 300) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + if (main == 18996 or sub == 18996) then + duration = 120; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,40); + elseif ((main == 19065 or sub == 19065) or (main == 19085 or sub == 19085) or (main == 19617 or sub == 19617)) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,60); + elseif ((main == 19715 or sub == 19715) or (main == 19824 or sub == 19824) or (main == 19953 or sub == 19953)) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,15,0,duration,0,20); + end + elseif (tp >= 200) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + if (main == 18996 or sub == 18996) then + duration = 90; + subpower = math.floor(2 * (tp / 5) - 60); + elseif ((main == 19065 or sub == 19065) or (main == 19085 or sub == 19085) or (main == 19617 or sub == 19617)) then + duration = 120; + subpower = math.floor(3 * (tp / 5) - 90); + elseif ((main == 19715 or sub == 19715) or (main == 19824 or sub == 19824) or (main == 19953 or sub == 19953)) then + duration = 120; + subpower = math.floor((tp * .6) - 80); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV2,14,0,duration,0,subpower); + end + else + duration = 180; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + if (main == 18996 or sub == 18996) then + duration = 60; + subpower = math.floor(tp / 10); + elseif ((main == 19065 or sub == 19065) or (main == 19085 or sub == 19085) or (main == 19617 or sub == 19617)) then + duration = 90; + subpower = math.floor(3 * (tp / 20)); + elseif ((main == 19715 or sub == 19715) or (main == 19824 or sub == 19824) or (main == 19953 or sub == 19953)) then + duration = 90; + subpower = math.floor((tp / 10) + 20); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV1,14,0,duration,0,subpower); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/mercy_stroke.lua =================================================================== --- scripts/globals/weaponskills/mercy_stroke.lua (revision 3812) +++ scripts/globals/weaponskills/mercy_stroke.lua (working copy) @@ -29,7 +29,58 @@ params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + + local main = player:getEquipID(SLOT_MAIN); + local sub = player:getEquipID(SLOT_SUB); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local zone = player:getZone(); + if (main == 18270 or sub == 18270) then + aftermath = 1; + elseif (main == 18271 or sub == 18271) then + aftermath = 1; + elseif (main == 18638 or sub == 18638) then + aftermath = 1; + elseif (main == 18652 or sub == 18652) then + aftermath = 1; + elseif (main == 18666 or sub == 18666) then + aftermath = 1; + elseif (main == 19747 or sub == 19747) then + aftermath = 1; + elseif (main == 19840 or sub == 19840) then + aftermath = 1; + elseif ((main == 18269 or sub == 18269) and (zone == 39 or zone == 40 or zone == 41 or zone == 42 or zone == 134 or + zone ==135 or zone == 185 or zone == 186 or zone == 187 or zone == 188)) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 60; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,3,0,duration); + elseif (tp >= 200) then + duration = 40; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,3,0,duration); + end + else + duration = 20; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,3,0,duration); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/metatron_torment.lua =================================================================== --- scripts/globals/weaponskills/metatron_torment.lua (revision 3812) +++ scripts/globals/weaponskills/metatron_torment.lua (working copy) @@ -38,7 +38,57 @@ if damage > 0 and (target:hasStatusEffect(EFFECT_DEFENSE_DOWN) == false) then target:addStatusEffect(EFFECT_DEFENSE_DOWN, 18.5, 0, 120); end + + local main = player:getEquipID(SLOT_MAIN); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local zone = player:getZone(); + if (main == 18294) then + aftermath = 1; + elseif (main == 18295) then + aftermath = 1; + elseif (main == 18642) then + aftermath = 1; + elseif (main == 18656) then + aftermath = 1; + elseif (main == 18670) then + aftermath = 1; + elseif (main == 19751) then + aftermath = 1; + elseif (main == 19844) then + aftermath = 1; + elseif ((main == 18293) and (zone == 39 or zone == 40 or zone == 41 or zone == 42 or zone == 134 or + zone ==135 or zone == 185 or zone == 186 or zone == 187 or zone == 188)) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 60; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,6,0,duration); + elseif (tp >= 200) then + duration = 40; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,6,0,duration); + end + else + duration = 20; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,6,0,duration); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/mordant_rime.lua =================================================================== --- scripts/globals/weaponskills/mordant_rime.lua (revision 3812) +++ scripts/globals/weaponskills/mordant_rime.lua (working copy) @@ -31,6 +31,85 @@ params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + + local main = player:getEquipID(SLOT_MAIN); + local sub = player:getEquipID(SLOT_SUB); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local subpower = 0; + + if (main == 19000 or sub == 19000) then + aftermath = 1; + elseif (main == 19069 or sub == 19069) then + aftermath = 1; + elseif (main == 19089 or sub == 19089) then + aftermath = 1; + elseif (main == 19621 or sub == 19621) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19719 or sub == 19719) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19828 or sub == 19828) then + aftermath = 1; + damage = damage * 1.3; + elseif (main == 19957 or sub == 19957) then + aftermath = 1; + damage = damage * 1.3; + end + + if (aftermath == 1) then + if (tp == 300) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + if (main == 19000 or sub == 19000) then + duration = 120; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,40); + elseif ((main == 19069 or sub == 19069) or (main == 19089 or sub == 19089) or (main == 19621 or sub == 19621)) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,60); + elseif ((main == 19719 or sub == 19719) or (main == 19828 or sub == 19828) or (main == 19957 or sub == 19957)) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,15,0,duration,0,20); + end + elseif (tp >= 200) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + if (main == 19000 or sub == 19000) then + duration = 90; + subpower = math.floor((tp / 10) - 10); + elseif ((main == 19069 or sub == 19069) or (main == 19089 or sub == 19089) or (main == 19621 or sub == 19621)) then + duration = 120; + subpower = math.floor(3 * (tp / 20) - 15); + elseif ((main == 19719 or sub == 19719) or (main == 19828 or sub == 19828) or (main == 19957 or sub == 19957)) then + duration = 120; + subpower = math.floor(3 * (tp / 20) - 15); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV2,15,0,duration,0,subpower); + end + else + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + if (main == 19000 or sub == 19000) then + duration = 180; + subpower = math.floor(tp / 10); + elseif ((main == 19069 or sub == 19069) or (main == 19089 or sub == 19089) or (main == 19621 or sub == 19621)) then + duration = 270; + subpower = math.floor(tp / 10); + elseif ((main == 19719 or sub == 19719) or (main == 19828 or sub == 19828) or (main == 19957 or sub == 19957)) then + duration = 270; + subpower = math.floor(tp / 10); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV1,15,0,duration,0,subpower); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end \ No newline at end of file Index: scripts/globals/weaponskills/myrkr.lua =================================================================== --- scripts/globals/weaponskills/myrkr.lua (revision 3812) +++ scripts/globals/weaponskills/myrkr.lua (working copy) @@ -7,5 +7,48 @@ function OnUseWeaponSkill(player, target, wsID) local ftpmp = fTP(player:getTP(),0.2,0.4,0.6); - return 1, 0, false, (ftpmp*player:getMaxMP()); + + local main = player:getEquipID(SLOT_MAIN); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + + if (main == 19467) then + aftermath = 1; + elseif (main == 19545) then + aftermath = 1; + elseif (main == 19643) then + aftermath = 1; + elseif (main == 19816) then + aftermath = 1; + elseif (main == 19864) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 90; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,1,0,duration); + elseif (tp >= 200) then + duration = 60; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,1,0,duration); + end + else + duration = 30; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,1,0,duration); + end + end + end + end + + return 1, 0, false, (ftpmp*player:getMaxMP()); end Index: scripts/globals/weaponskills/mystic_boon.lua =================================================================== --- scripts/globals/weaponskills/mystic_boon.lua (revision 3812) +++ scripts/globals/weaponskills/mystic_boon.lua (working copy) @@ -28,7 +28,86 @@ params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + + local main = player:getEquipID(SLOT_MAIN); + local sub = player:getEquipID(SLOT_SUB); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local subpower = 0; + if (main == 18993 or sub == 18993) then + aftermath = 1; + elseif (main == 19062 or sub == 19062) then + aftermath = 1; + elseif (main == 19082 or sub == 19082) then + aftermath = 1; + elseif (main == 19614 or sub == 19614) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19712 or sub == 19712) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19821 or sub == 19821) then + aftermath = 1; + damage = damage * 1.3; + elseif (main == 19950 or sub == 19950) then + aftermath = 1; + damage = damage * 1.3; + end + + if (aftermath == 1) then + if (tp == 300) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + if (main == 18993 or sub == 18993) then + duration = 120; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,40); + elseif ((main == 19062 or sub == 19062) or (main == 19082 or sub == 19082) or (main == 19614 or sub == 19614)) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,60); + elseif ((main == 19712 or sub == 19712) or (main == 19821 or sub == 19821) or (main == 19950 or sub == 19950)) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,15,0,duration,0,20); + end + elseif (tp >= 200) then + + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + if (main == 18993 or sub == 18993) then + duration = 90; + subpower = math.floor((tp / 10) - 10); + elseif ((main == 19062 or sub == 19062) or (main == 19082 or sub == 19082) or (main == 19614 or sub == 19614)) then + duration = 120; + subpower = math.floor(3 * (tp / 20) - 15); + elseif ((main == 19712 or sub == 19712) or (main == 19821 or sub == 19821) or (main == 19950 or sub == 19950)) then + duration = 120; + subpower = math.floor((tp / 10) + 10); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV2,15,0,duration,0,subpower); + end + else + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + if (main == 18993 or sub == 18993) then + duration = 180; + subpower = math.floor(tp / 10); + elseif ((main == 19062 or sub == 19062) or (main == 19082 or sub == 19082) or (main == 19614 or sub == 19614)) then + duration = 270; + subpower = math.floor(tp / 10); + elseif ((main == 19712 or sub == 19712) or (main == 19821 or sub == 19821) or (main == 19950 or sub == 19950)) then + duration = 270; + subpower = math.floor(tp / 10); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV1,15,0,duration,0,subpower); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/namas_arrow.lua =================================================================== --- scripts/globals/weaponskills/namas_arrow.lua (revision 3812) +++ scripts/globals/weaponskills/namas_arrow.lua (working copy) @@ -35,8 +35,58 @@ params.atkmulti = 2; local damage, tpHits, extraHits = doRangedWeaponskill(player, target, params); - local crticalHit = false; + local crticalHit = false; + local main = player:getEquipID(SLOT_RANGED); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local zone = player:getZone(); + + if (main == 18348) then + aftermath = 1; + elseif (main == 18349) then + aftermath = 1; + elseif (main == 18650) then + aftermath = 1; + elseif (main == 18664) then + aftermath = 1; + elseif (main == 18678) then + aftermath = 1; + elseif (main == 19759) then + aftermath = 1; + elseif (main == 19852) then + aftermath = 1; + elseif ((main == 18347) and (zone == 39 or zone == 40 or zone == 41 or zone == 42 or zone == 134 or + zone ==135 or zone == 185 or zone == 186 or zone == 187 or zone == 188)) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 60; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,13,0,duration); + elseif (tp >= 200) then + duration = 40; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,13,0,duration); + end + else + duration = 20; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,13,0,duration); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end; Index: scripts/globals/weaponskills/omniscience.lua =================================================================== --- scripts/globals/weaponskills/omniscience.lua (revision 3812) +++ scripts/globals/weaponskills/omniscience.lua (working copy) @@ -36,8 +36,85 @@ if(target:hasStatusEffect(EFFECT_MAGIC_ATK_DOWN) == false) then target:addStatusEffect(EFFECT_MAGIC_ATK_DOWN, 10, 0, duration); end - end + end + + local main = player:getEquipID(SLOT_MAIN); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local subpower = 0; + if (main == 18990) then + aftermath = 1; + elseif (main == 19079) then + aftermath = 1; + elseif (main == 19099) then + aftermath = 1; + elseif (main == 19631) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19729) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19838) then + aftermath = 1; + damage = damage * 1.3; + elseif (main == 19967) then + aftermath = 1; + damage = damage * 1.3; + end + + if (aftermath == 1) then + if (tp == 300) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + if (main == 18990) then + duration = 120; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,40); + elseif (main == 19079 or main == 19099 or main == 19631) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,60); + elseif (main == 19729 or main == 19838 or main == 19967) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,15,0,duration,0,20); + end + elseif (tp >= 200) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + if (main == 18990) then + duration = 180; + subpower = math.floor((tp / 10) - 10); + elseif (main == 19079 or main == 19099 or main == 19631) then + duration = 270; + subpower = math.floor((tp / 5) - 20); + elseif (main == 19729 or main == 19838 or main == 19967) then + duration = 270; + subpower = math.floor((tp / 5) - 10); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV2,16,0,duration,0,subpower); + end + else + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + if (main == 18990) then + duration = 180; + subpower = math.floor(tp / 10); + elseif (main == 19079 or main == 19099 or main == 19631) then + duration = 270; + subpower = math.floor(tp / 10); + elseif (main == 19729 or main == 19838 or main == 19967) then + duration = 270; + subpower = math.floor(tp / 10); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV1,15,0,duration,0,subpower); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/onslaught.lua =================================================================== --- scripts/globals/weaponskills/onslaught.lua (revision 3812) +++ scripts/globals/weaponskills/onslaught.lua (working copy) @@ -38,8 +38,59 @@ if(target:hasStatusEffect(EFFECT_ACCURACY_DOWN) == false) then target:addStatusEffect(EFFECT_ACCURACY_DOWN, 20, 0, duration); end - end + end + local main = player:getEquipID(SLOT_MAIN); + local sub = player:getEquipID(SLOT_SUB); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local zone = player:getZone(); + + if (main == 18288 or sub == 18288) then + aftermath = 1; + elseif (main == 18289 or sub == 18289) then + aftermath = 1; + elseif (main == 18641 or sub == 18641) then + aftermath = 1; + elseif (main == 18655 or sub == 18655) then + aftermath = 1; + elseif (main == 18669 or sub == 18669) then + aftermath = 1; + elseif (main == 19750 or sub == 19750) then + aftermath = 1; + elseif (main == 19843 or sub == 19843) then + aftermath = 1; + elseif ((main == 18287 or sub == 18287) and (zone == 39 or zone == 40 or zone == 41 or zone == 42 or zone == 134 or + zone ==135 or zone == 185 or zone == 186 or zone == 187 or zone == 188)) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 60; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,5,0,duration); + elseif (tp >= 200) then + duration = 40; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,5,0,duration); + end + else + duration = 20; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,5,0,duration); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/primal_rend.lua =================================================================== --- scripts/globals/weaponskills/primal_rend.lua (revision 3812) +++ scripts/globals/weaponskills/primal_rend.lua (working copy) @@ -29,6 +29,84 @@ params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + local main = player:getEquipID(SLOT_MAIN); + local sub = player:getEquipID(SLOT_SUB); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local subpower = 0; + + if (main == 18999 or sub == 18999) then + aftermath = 1; + elseif (main == 19068 or sub == 19068) then + aftermath = 1; + elseif (main == 19088 or sub == 19088) then + aftermath = 1; + elseif (main == 19620 or sub == 19620) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19718 or sub == 19718) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19827 or sub == 19827) then + aftermath = 1; + damage = damage * 1.3; + elseif (main == 19956 or sub == 19956) then + aftermath = 1; + damage = damage * 1.3; + end + + if (aftermath == 1) then + if (tp == 300) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + if (main == 18999 or sub == 18999) then + duration = 120; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,40); + elseif ((main == 19068 or sub == 19068) or (main == 19088 or sub == 19088) or (main == 19620 or sub == 19620)) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,60); + elseif ((main == 19718 or sub == 19718) or (main == 19827 or sub == 19827) or (main == 19956 or sub == 19956)) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,15,0,duration,0,20); + end + elseif (tp >= 200) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + if (main == 18999 or sub == 18999) then + duration = 90; + subpower = math.floor(2 * (tp / 5) - 60); + elseif ((main == 19068 or sub == 19068) or (main == 19088 or sub == 19088) or (main == 19620 or sub == 19620)) then + duration = 120; + subpower = math.floor(3 * (tp / 5) - 90); + elseif ((main == 19718 or sub == 19718) or (main == 19827 or sub == 19827) or (main == 19956 or sub == 19956)) then + duration = 120; + subpower = math.floor((tp * .6) - 80); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV2,14,0,duration,0,subpower); + end + else + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + if (main == 18999 or sub == 18999) then + duration = 60; + subpower = math.floor(tp / 10); + elseif ((main == 19068 or sub == 19068) or (main == 19088 or sub == 19088) or (main == 19620 or sub == 19620)) then + duration = 90; + subpower = math.floor(3 * (tp / 20)); + elseif ((main == 19718 or sub == 19718) or (main == 19827 or sub == 19827) or (main == 19956 or sub == 19956)) then + duration = 90; + subpower = math.floor((tp / 10) + 20); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV1,14,0,duration,0,subpower); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/pyrrhic_kleos.lua =================================================================== --- scripts/globals/weaponskills/pyrrhic_kleos.lua (revision 3812) +++ scripts/globals/weaponskills/pyrrhic_kleos.lua (working copy) @@ -38,8 +38,86 @@ if(target:hasStatusEffect(EFFECT_EVASION_DOWN) == false) then target:addStatusEffect(EFFECT_EVASION_DOWN, 10, 0, duration); end - end + end + + local main = player:getEquipID(SLOT_MAIN); + local sub = player:getEquipID(SLOT_SUB); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local subpower = 0; + if (main == 18989 or sub == 18989) then + aftermath = 1; + elseif (main == 19078 or sub == 19078) then + aftermath = 1; + elseif (main == 19098 or sub == 19098) then + aftermath = 1; + elseif (main == 19630 or sub == 19630) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19728 or sub == 19728) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19837 or sub == 19837) then + aftermath = 1; + damage = damage * 1.3; + elseif (main == 19966 or sub == 19966) then + aftermath = 1; + damage = damage * 1.3; + end + + if (aftermath == 1) then + if (tp == 300) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + if (main == 18989 or sub == 18989) then + duration = 120; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,40); + elseif ((main == 19078 or sub == 19078) or (main == 19098 or sub == 19098) or (main == 19630 or sub == 19630)) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,60); + elseif ((main == 19728 or sub == 19728) or (main == 19837 or sub == 19837) or (main == 19966 or sub == 19966)) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,15,0,duration,0,20); + end + elseif (tp >= 200) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + if (main == 18989 or sub == 18989) then + duration = 90; + subpower = math.floor(2 * (tp / 5) - 60); + elseif ((main == 19078 or sub == 19078) or (main == 19098 or sub == 19098) or (main == 19630 or sub == 19630)) then + duration = 120; + subpower = math.floor(3 * (tp / 5) - 90); + elseif ((main == 19728 or sub == 19728) or (main == 19837 or sub == 19837) or (main == 19966 or sub == 19966)) then + duration = 120; + subpower = math.floor((tp * .6) - 80); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV2,14,0,duration,0,subpower); + end + else + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + if (main == 18989 or sub == 18989) then + duration = 60; + subpower = math.floor(tp / 10); + elseif ((main == 19078 or sub == 19078) or (main == 19098 or sub == 19098) or (main == 19630 or sub == 19630)) then + duration = 90; + subpower = math.floor(3 * (tp / 20)); + elseif ((main == 19728 or sub == 19728) or (main == 19837 or sub == 19837) or (main == 19966 or sub == 19966)) then + duration = 90; + subpower = math.floor((tp / 10) + 20); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV1,14,0,duration,0,subpower); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end \ No newline at end of file Index: scripts/globals/weaponskills/quietus.lua =================================================================== --- scripts/globals/weaponskills/quietus.lua (revision 3812) +++ scripts/globals/weaponskills/quietus.lua (working copy) @@ -29,6 +29,48 @@ params.atkmulti = 3; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + local main = player:getEquipID(SLOT_MAIN); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + + if (main == 19462) then + aftermath = 1; + elseif (main == 19540) then + aftermath = 1; + elseif (main == 19638) then + aftermath = 1; + elseif (main == 19811) then + aftermath = 1; + elseif (main == 19859) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 90; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,1,0,duration); + elseif (tp >= 200) then + duration = 60; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,1,0,duration); + end + else + duration = 30; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,1,0,duration); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/randgrith.lua =================================================================== --- scripts/globals/weaponskills/randgrith.lua (revision 3812) +++ scripts/globals/weaponskills/randgrith.lua (working copy) @@ -36,7 +36,62 @@ if damage > 0 and (target:hasStatusEffect(EFFECT_WEIGHT) == false) then target:addStatusEffect(EFFECT_WEIGHT, 50, 0, 60); end + + local main = player:getEquipID(SLOT_MAIN); + local sub = player:getEquipID(SLOT_SUB); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local zone = player:getZone(); + if (main == 18324 or sub == 18324) then + aftermath = 1; + elseif (main == 18325 or sub == 18325) then + aftermath = 1; + elseif (main == 18647 or sub == 18647) then + aftermath = 1; + elseif (main == 18661 or sub == 18661) then + damage = damage * 1.25; + aftermath = 1; + elseif (main == 18675 or sub == 18675) then + damage = damage * 1.25; + aftermath = 1; + elseif (main == 19756 or sub == 19756) then + damage = damage * 1.4; + aftermath = 1; + elseif (main == 19849 or sub == 19849) then + damage = damage * 1.4; + aftermath = 1; + elseif ((main == 18323 or sub == 18323) and (zone == 39 or zone == 40 or zone == 41 or zone == 42 or zone == 134 or + zone ==135 or zone == 185 or zone == 186 or zone == 187 or zone == 188)) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 60; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,10,0,duration); + elseif (tp >= 200) then + duration = 40; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,10,0,duration); + end + else + duration = 20; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,10,0,duration); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/rudras_storm.lua =================================================================== --- scripts/globals/weaponskills/rudras_storm.lua (revision 3812) +++ scripts/globals/weaponskills/rudras_storm.lua (working copy) @@ -26,6 +26,50 @@ params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + + local main = player:getEquipID(SLOT_MAIN); + local sub = player:getEquipID(SLOT_SUB); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + + if (main == 19457 or sub == 19457) then + aftermath = 1; + elseif (main == 19535 or sub == 19535) then + aftermath = 1; + elseif (main == 19633 or sub == 19633) then + aftermath = 1; + elseif (main == 19806 or sub == 19806) then + aftermath = 1; + elseif (main == 19854 or sub == 19854) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 90; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,1,0,duration); + elseif (tp >= 200) then + duration = 60; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,1,0,duration); + end + else + duration = 30; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,1,0,duration); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end \ No newline at end of file Index: scripts/globals/weaponskills/scourge.lua =================================================================== --- scripts/globals/weaponskills/scourge.lua (revision 3812) +++ scripts/globals/weaponskills/scourge.lua (working copy) @@ -30,7 +30,61 @@ params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + + local main = player:getEquipID(SLOT_MAIN); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local zone = player:getZone(); + if (main == 18282) then + aftermath = 1; + elseif (main == 18283) then + aftermath = 1; + elseif (main == 18640) then + aftermath = 1; + elseif (main == 18654) then + damage = damage * 1.25; + aftermath = 1; + elseif (main == 18668) then + damage = damage * 1.25; + aftermath = 1; + elseif (main == 19749) then + damage = damage * 1.4; + aftermath = 1; + elseif (main == 19842) then + damage = damage * 1.4; + aftermath = 1; + elseif ((main == 18281) and (zone == 39 or zone == 40 or zone == 41 or zone == 42 or zone == 134 or + zone ==135 or zone == 185 or zone == 186 or zone == 187 or zone == 188)) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 60; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,3,0,duration); + elseif (tp >= 200) then + duration = 40; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,3,0,duration); + end + else + duration = 20; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,3,0,duration); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/tachi_fudo.lua =================================================================== --- scripts/globals/weaponskills/tachi_fudo.lua (revision 3812) +++ scripts/globals/weaponskills/tachi_fudo.lua (working copy) @@ -29,6 +29,48 @@ params.atkmulti = 2; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + local main = player:getEquipID(SLOT_MAIN); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + + if (main == 19465) then + aftermath = 1; + elseif (main == 19543) then + aftermath = 1; + elseif (main == 19641) then + aftermath = 1; + elseif (main == 19814) then + aftermath = 1; + elseif (main == 19862) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 90; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,1,0,duration); + elseif (tp >= 200) then + duration = 60; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,1,0,duration); + end + else + duration = 30; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,1,0,duration); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/tachi_kaiten.lua =================================================================== --- scripts/globals/weaponskills/tachi_kaiten.lua (revision 3812) +++ scripts/globals/weaponskills/tachi_kaiten.lua (working copy) @@ -33,7 +33,61 @@ params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + + local main = player:getEquipID(SLOT_MAIN); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local zone = player:getZone(); + if (main == 18318) then + aftermath = 1; + elseif (main == 18319) then + aftermath = 1; + elseif (main == 18646) then + aftermath = 1; + elseif (main == 18660) then + damage = damage * 1.25; + aftermath = 1; + elseif (main == 18674) then + damage = damage * 1.25; + aftermath = 1; + elseif (main == 19755) then + damage = damage * 1.4; + aftermath = 1; + elseif (main == 19848) then + damage = damage * 1.4; + aftermath = 1; + elseif ((main == 18317) and (zone == 39 or zone == 40 or zone == 41 or zone == 42 or zone == 134 or + zone ==135 or zone == 185 or zone == 186 or zone == 187 or zone == 188)) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 60; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,9,0,duration); + elseif (tp >= 200) then + duration = 40; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,9,0,duration); + end + else + duration = 20; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,9,0,duration); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/tachi_rana.lua =================================================================== --- scripts/globals/weaponskills/tachi_rana.lua (revision 3812) +++ scripts/globals/weaponskills/tachi_rana.lua (working copy) @@ -29,7 +29,84 @@ params.acc100 = 0.8; params.acc200= 0.9; params.acc300= 1; params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + + local main = player:getEquipID(SLOT_MAIN); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local subpower = 0; + if (main == 19002) then + aftermath = 1; + elseif (main == 19071) then + aftermath = 1; + elseif (main == 19091) then + aftermath = 1; + elseif (main == 19623) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19721) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19830) then + aftermath = 1; + damage = damage * 1.3; + elseif (main == 19959) then + aftermath = 1; + damage = damage * 1.3; + end + + if (aftermath == 1) then + if (tp == 300) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + if (main == 19002) then + duration = 120; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,40); + elseif (main == 19071 or main == 19091 or main == 19623) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,60); + elseif (main == 19721 or main == 19830 or main == 19959) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,15,0,duration,0,20); + end + elseif (tp >= 200) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + if (main == 19002) then + duration = 90; + subpower = math.floor(2 * (tp / 5) - 60); + elseif (main == 19071 or main == 19091 or main == 19623) then + duration = 120; + subpower = math.floor(3 * (tp / 5) - 90); + elseif (main == 19721 or main == 19830 or main == 19959) then + duration = 120; + subpower = math.floor((tp * .6) - 80); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV2,14,0,duration,0,subpower); + end + else + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + if (main == 19002) then + duration = 60; + subpower = math.floor(tp / 10); + elseif (main == 19071 or main == 19091 or main == 19623) then + duration = 90; + subpower = math.floor(3 * (tp / 20)); + elseif (main == 19721 or main == 19830 or main == 19959) then + duration = 90; + subpower = math.floor((tp / 10) + 20); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV1,14,0,duration,0,subpower); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: scripts/globals/weaponskills/torcleaver.lua =================================================================== --- scripts/globals/weaponskills/torcleaver.lua (revision 3812) +++ scripts/globals/weaponskills/torcleaver.lua (working copy) @@ -28,7 +28,50 @@ 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); + local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + + local main = player:getEquipID(SLOT_MAIN); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + + if (main == 19459) then + aftermath = 1; + elseif (main == 19537) then + aftermath = 1; + elseif (main == 19635) then + aftermath = 1; + elseif (main == 19808) then + aftermath = 1; + elseif (main == 19856) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 90; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,1,0,duration); + elseif (tp >= 200) then + duration = 60; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,1,0,duration); + end + else + duration = 30; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,1,0,duration); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end \ No newline at end of file Index: scripts/globals/weaponskills/trueflight.lua =================================================================== --- scripts/globals/weaponskills/trueflight.lua (revision 3812) +++ scripts/globals/weaponskills/trueflight.lua (working copy) @@ -39,8 +39,85 @@ -- needs ignore defense. param local damage, tpHits, extraHits = doRangedWeaponskill(player, target, params); - local criticalHit = false; + local criticalHit = false; + local main = player:getEquipID(SLOT_RANGED); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local subpower = 0; + + if (main == 19001) then + aftermath = 1; + elseif (main == 19070) then + aftermath = 1; + elseif (main == 19090) then + aftermath = 1; + elseif (main == 19622) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19720) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19829) then + aftermath = 1; + damage = damage * 1.3; + elseif (main == 19958) then + aftermath = 1; + damage = damage * 1.3; + end + + if (aftermath == 1) then + if (tp == 300) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + if (main == 19001) then + duration = 120; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,1,0,duration); + elseif (main == 19070 or main == 19090 or main == 19622) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,1,0,duration); + elseif (main == 19720 or main == 19829 or main == 19558) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,16,0,duration); + end + elseif (tp >= 200) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + if (main == 19001) then + duration = 90; + subpower = math.floor(tp / 10); + elseif (main == 19070 or main == 19090 or main == 19622) then + duration = 120; + subpower = math.floor(tp / 10); + elseif (main == 19720 or main == 19829 or main == 19558) then + duration = 120; + subpower = math.floor(tp / 10); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV2,17,0,duration,0,subpower); + end + else + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + if (main == 19001) then + duration = 60; + subpower = math.floor(tp / 10); + elseif (main == 19070 or main == 19090 or main == 19622) then + duration = 90; + subpower = math.floor(tp / 10); + elseif (main == 19720 or main == 19829 or main == 19558) then + duration = 90; + subpower = math.floor(tp / 10); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV1,16,0,duration,0,subpower); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end; Index: scripts/globals/weaponskills/ukkos_fury.lua =================================================================== --- scripts/globals/weaponskills/ukkos_fury.lua (revision 3812) +++ scripts/globals/weaponskills/ukkos_fury.lua (working copy) @@ -36,7 +36,49 @@ if damage > 0 and (target:hasStatusEffect(EFFECT_SLOW) == false) then target:addStatusEffect(EFFECT_SLOW, 150, 0, 60); - end + end + + local main = player:getEquipID(SLOT_MAIN); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + + if (main == 19461) then + aftermath = 1; + elseif (main == 19539) then + aftermath = 1; + elseif (main == 19637) then + aftermath = 1; + elseif (main == 19810) then + aftermath = 1; + elseif (main == 19858) then + aftermath = 1; + end + if (aftermath == 1) then + if (tp == 300) then + duration = 90; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,1,0,duration); + elseif (tp >= 200) then + duration = 60; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,1,0,duration); + end + else + duration = 30; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,1,0,duration); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end \ No newline at end of file Index: scripts/globals/weaponskills/victory_smite.lua =================================================================== --- scripts/globals/weaponskills/victory_smite.lua (revision 3812) +++ scripts/globals/weaponskills/victory_smite.lua (working copy) @@ -33,5 +33,48 @@ params.acc100 = 0.0; params.acc200= 0.0; params.acc300= 0.0; params.atkmulti = 1; local damage, criticalHit, tpHits, extraHits = doPhysicalWeaponskill(player, target, params); + + local main = player:getEquipID(SLOT_MAIN); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + + if (main == 19456) then + aftermath = 1; + elseif (main == 19534) then + aftermath = 1; + elseif (main == 19632) then + aftermath = 1; + elseif (main == 19805) then + aftermath = 1; + elseif (main == 19853) then + aftermath = 1; + end + + if (aftermath == 1) then + if (tp == 300) then + duration = 90; + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + player:addStatusEffect(EFFECT_AFTERMATH_LV3,1,0,duration); + elseif (tp >= 200) then + duration = 60; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:addStatusEffect(EFFECT_AFTERMATH_LV2,1,0,duration); + end + else + duration = 30; + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:addStatusEffect(EFFECT_AFTERMATH_LV1,1,0,duration); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end \ No newline at end of file Index: scripts/globals/weaponskills/vidohunir.lua =================================================================== --- scripts/globals/weaponskills/vidohunir.lua (revision 3812) +++ scripts/globals/weaponskills/vidohunir.lua (working copy) @@ -36,8 +36,85 @@ if(target:hasStatusEffect(EFFECT_MAGIC_DEF_DOWN) == false) then target:addStatusEffect(EFFECT_MAGIC_DEF_DOWN, 10, 0, duration); end - end + end + + local main = player:getEquipID(SLOT_MAIN); + local aftermath = 0; + local tp = player:getTP(); + local duration = 0; + local subpower = 0; + if (main == 18994) then + aftermath = 1; + elseif (main == 19063) then + aftermath = 1; + elseif (main == 19083) then + aftermath = 1; + elseif (main == 19615) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19713) then + aftermath = 1; + damage = damage * 1.15; + elseif (main == 19822) then + aftermath = 1; + damage = damage * 1.3; + elseif (main == 19951) then + aftermath = 1; + damage = damage * 1.3; + end + + if (aftermath == 1) then + if (tp == 300) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + player:delStatusEffect(EFFECT_AFTERMATH_LV3); + if (main == 18994) then + duration = 120; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,40); + elseif (main == 19063 or main == 19083 or main == 19615) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,14,0,duration,0,60); + elseif (main == 19713 or main == 19822 or main == 19951) then + duration = 180; + player:addStatusEffect(EFFECT_AFTERMATH_LV3,15,0,duration,0,20); + end + elseif (tp >= 200) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + player:delStatusEffect(EFFECT_AFTERMATH_LV2); + if (main == 18994) then + duration = 180; + subpower = math.floor((tp / 10) - 10); + elseif (main == 19063 or main == 19083 or main == 19615) then + duration = 270; + subpower = math.floor((tp / 5) - 20); + elseif (main == 19713 or main == 19822 or main == 19951) then + duration = 270; + subpower = math.floor((tp / 5) - 10); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV2,16,0,duration,0,subpower); + end + else + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV3) == false) then + if (player:hasStatusEffect(EFFECT_AFTERMATH_LV2) == false) then + player:delStatusEffect(EFFECT_AFTERMATH_LV1); + if (main == 18994) then + duration = 180; + subpower = math.floor(tp / 10); + elseif (main == 19063 or main == 19083 or main == 19615) then + duration = 270; + subpower = math.floor(tp / 10); + elseif (main == 19713 or main == 19822 or main == 19951) then + duration = 270; + subpower = math.floor(tp / 10); + end + player:addStatusEffect(EFFECT_AFTERMATH_LV1,15,0,duration,0,subpower); + end + end + end + end + return tpHits, extraHits, criticalHit, damage; end Index: src/map/utils/charutils.cpp =================================================================== --- src/map/utils/charutils.cpp (revision 3812) +++ src/map/utils/charutils.cpp (working copy) @@ -1406,6 +1406,9 @@ } PChar->health.tp = 0; + PChar->StatusEffectContainer->DelStatusEffect(EFFECT_AFTERMATH_LV1); + PChar->StatusEffectContainer->DelStatusEffect(EFFECT_AFTERMATH_LV2); + PChar->StatusEffectContainer->DelStatusEffect(EFFECT_AFTERMATH_LV3); BuildingCharWeaponSkills(PChar); } break;