From 64efc5afb05a869c080355464ed5c2258b486afb Mon Sep 17 00:00:00 2001 From: Skold <113406182+Skold177@users.noreply.github.com> Date: Sat, 25 Apr 2026 16:23:10 -0400 Subject: [PATCH] Implement polearm mobskills Implements Polearm mobskills --- .../actions/mobskills/camlanns_torment.lua | 34 +++++++++++++++++ scripts/actions/mobskills/diarmuid.lua | 34 +++++++++++++++++ scripts/actions/mobskills/double_thrust.lua | 33 +++++++++++++++++ scripts/actions/mobskills/drakesbane.lua | 36 ++++++++++++++++++ scripts/actions/mobskills/geirskogul.lua | 6 ++- scripts/actions/mobskills/impulse_drive.lua | 7 ++-- scripts/actions/mobskills/leg_sweep.lua | 35 ++++++++++++++++++ scripts/actions/mobskills/penta_thrust.lua | 11 +++--- scripts/actions/mobskills/raiden_thrust.lua | 21 +++++++---- scripts/actions/mobskills/skewer.lua | 5 ++- scripts/actions/mobskills/sonic_thrust.lua | 34 +++++++++++++++++ scripts/actions/mobskills/stardiver.lua | 36 ++++++++++++++++++ scripts/actions/mobskills/thunder_thrust.lua | 37 +++++++++++++++++++ scripts/actions/mobskills/vorpal_thrust.lua | 36 ++++++++++++++++++ scripts/actions/mobskills/wheeling_thrust.lua | 4 +- sql/mob_skills.sql | 20 +++++----- 16 files changed, 356 insertions(+), 33 deletions(-) create mode 100644 scripts/actions/mobskills/camlanns_torment.lua create mode 100644 scripts/actions/mobskills/diarmuid.lua create mode 100644 scripts/actions/mobskills/double_thrust.lua create mode 100644 scripts/actions/mobskills/drakesbane.lua create mode 100644 scripts/actions/mobskills/leg_sweep.lua create mode 100644 scripts/actions/mobskills/sonic_thrust.lua create mode 100644 scripts/actions/mobskills/stardiver.lua create mode 100644 scripts/actions/mobskills/thunder_thrust.lua create mode 100644 scripts/actions/mobskills/vorpal_thrust.lua diff --git a/scripts/actions/mobskills/camlanns_torment.lua b/scripts/actions/mobskills/camlanns_torment.lua new file mode 100644 index 00000000000..952c0b4a3e8 --- /dev/null +++ b/scripts/actions/mobskills/camlanns_torment.lua @@ -0,0 +1,34 @@ +----------------------------------- +-- Camlann's Torment +-- Family: Humanoid Polearm Weaponskill +-- Description: Ignores defense. Amount ignored varies with TP. +----------------------------------- +---@type TMobSkill +local mobskillObject = {} + +mobskillObject.onMobSkillCheck = function(target, mob, skill) + return 0 +end + +mobskillObject.onMobWeaponSkill = function(mob, target, skill, action) + local params = {} + + params.baseDamage = mob:getWeaponDmg() + params.numHits = 1 + params.fTP = { 3.0, 3.0, 3.0 } + -- params.vit_wSC = 0.6 -- TODO: Capture if mobskill weaponskills have wSC. + params.ignoreDefense = { 0.15, 0.35, 0.5 } + params.attackType = xi.attackType.PHYSICAL + params.damageType = xi.damageType.PIERCING + params.shadowBehavior = xi.mobskills.shadowBehavior.NUMSHADOWS_1 + + local info = xi.mobskills.mobPhysicalMove(mob, target, skill, action, params) + + if xi.mobskills.processDamage(mob, target, skill, action, info) then + target:takeDamage(info.damage, mob, info.attackType, info.damageType) + end + + return info.damage +end + +return mobskillObject diff --git a/scripts/actions/mobskills/diarmuid.lua b/scripts/actions/mobskills/diarmuid.lua new file mode 100644 index 00000000000..1de26c41780 --- /dev/null +++ b/scripts/actions/mobskills/diarmuid.lua @@ -0,0 +1,34 @@ +----------------------------------- +-- Diarmuid +-- Family: Humanoid Polearm Weaponskill +-- Description: Delivers a twofold attack. Damage varies with TP. +----------------------------------- +---@type TMobSkill +local mobskillObject = {} + +mobskillObject.onMobSkillCheck = function(target, mob, skill) + return 0 +end + +mobskillObject.onMobWeaponSkill = function(mob, target, skill, action) + local params = {} + + params.baseDamage = mob:getWeaponDmg() + params.numHits = 2 + params.fTP = { 2.17, 5.36, 8.55 } + -- params.str_wSC = 0.55 -- TODO: Capture if mobskill weaponskills have wSC. + -- params.vit_wSC = 0.55 -- TODO: Capture if mobskill weaponskills have wSC. + params.attackType = xi.attackType.PHYSICAL + params.damageType = xi.damageType.PIERCING + params.shadowBehavior = xi.mobskills.shadowBehavior.NUMSHADOWS_2 + + local info = xi.mobskills.mobPhysicalMove(mob, target, skill, action, params) + + if xi.mobskills.processDamage(mob, target, skill, action, info) then + target:takeDamage(info.damage, mob, info.attackType, info.damageType) + end + + return info.damage +end + +return mobskillObject diff --git a/scripts/actions/mobskills/double_thrust.lua b/scripts/actions/mobskills/double_thrust.lua new file mode 100644 index 00000000000..fc274058217 --- /dev/null +++ b/scripts/actions/mobskills/double_thrust.lua @@ -0,0 +1,33 @@ +----------------------------------- +-- Double Thrust +-- Family: Humanoid Polearm Weaponskill +-- Description: Delivers a two-hit attack. Damage varies with TP. +----------------------------------- +---@type TMobSkill +local mobskillObject = {} + +mobskillObject.onMobSkillCheck = function(target, mob, skill) + return 0 +end + +mobskillObject.onMobWeaponSkill = function(mob, target, skill, action) + local params = {} + + params.baseDamage = mob:getWeaponDmg() + params.numHits = 2 + params.fTP = { 1.0, 1.5, 2.0 } + -- params.str_wSC = 0.3 -- TODO: Capture if mobskill weaponskills have wSC. + params.attackType = xi.attackType.PHYSICAL + params.damageType = xi.damageType.PIERCING + params.shadowBehavior = xi.mobskills.shadowBehavior.NUMSHADOWS_2 + + local info = xi.mobskills.mobPhysicalMove(mob, target, skill, action, params) + + if xi.mobskills.processDamage(mob, target, skill, action, info) then + target:takeDamage(info.damage, mob, info.attackType, info.damageType) + end + + return info.damage +end + +return mobskillObject diff --git a/scripts/actions/mobskills/drakesbane.lua b/scripts/actions/mobskills/drakesbane.lua new file mode 100644 index 00000000000..6a70d2cc1f7 --- /dev/null +++ b/scripts/actions/mobskills/drakesbane.lua @@ -0,0 +1,36 @@ +----------------------------------- +-- Drakesbane +-- Family: Humanoid Polearm Weaponskill +-- Description: Delivers a fourfold attack. Chance of critical hit varies with TP. +----------------------------------- +---@type TMobSkill +local mobskillObject = {} + +mobskillObject.onMobSkillCheck = function(target, mob, skill) + return 0 +end + +mobskillObject.onMobWeaponSkill = function(mob, target, skill, action) + local params = {} + + params.baseDamage = mob:getWeaponDmg() + params.numHits = 4 + params.fTP = { 1.0, 1.0, 1.0 } + -- params.str_wSC = 0.5 -- TODO: Capture if mobskill weaponskills have wSC. + params.attackType = xi.attackType.PHYSICAL + params.damageType = xi.damageType.PIERCING + params.shadowBehavior = xi.mobskills.shadowBehavior.NUMSHADOWS_4 + params.canCrit = true + params.criticalChance = { 0.1, 0.3, 0.5 } + params.attackMultiplier = { 0.8125, 0.8125, 0.8125 } + + local info = xi.mobskills.mobPhysicalMove(mob, target, skill, action, params) + + if xi.mobskills.processDamage(mob, target, skill, action, info) then + target:takeDamage(info.damage, mob, info.attackType, info.damageType) + end + + return info.damage +end + +return mobskillObject diff --git a/scripts/actions/mobskills/geirskogul.lua b/scripts/actions/mobskills/geirskogul.lua index 235d3f2a48f..d7bae2832e9 100644 --- a/scripts/actions/mobskills/geirskogul.lua +++ b/scripts/actions/mobskills/geirskogul.lua @@ -1,7 +1,7 @@ ----------------------------------- -- Geirskogul -- Family: Humanoid Polearm Weaponskill --- Description: Gae Assail/Gungnir: Shock Spikes. +-- Description: Grants Shock Spikes. ----------------------------------- ---@type TMobSkill local mobskillObject = {} @@ -15,7 +15,8 @@ mobskillObject.onMobWeaponSkill = function(mob, target, skill, action) params.baseDamage = mob:getWeaponDmg() params.numHits = 1 - params.fTP = { 2.5, 2.5, 2.5 } -- TODO: Capture fTPs + params.fTP = { 3.0, 3.0, 3.0 } + -- params.agi_wSC = 0.6 -- TODO: Capture if mobskill weaponskills have wSC. params.attackType = xi.attackType.PHYSICAL params.damageType = xi.damageType.PIERCING params.shadowBehavior = xi.mobskills.shadowBehavior.NUMSHADOWS_1 @@ -24,6 +25,7 @@ mobskillObject.onMobWeaponSkill = function(mob, target, skill, action) if xi.mobskills.processDamage(mob, target, skill, action, info) then target:takeDamage(info.damage, mob, info.attackType, info.damageType) + mob:addStatusEffect(xi.effect.SHOCK_SPIKES, { power = 10, duration = math.floor(20 * skill:getTP() / 1000), origin = mob }) end return info.damage diff --git a/scripts/actions/mobskills/impulse_drive.lua b/scripts/actions/mobskills/impulse_drive.lua index e6b87d06bc8..cf85596ef31 100644 --- a/scripts/actions/mobskills/impulse_drive.lua +++ b/scripts/actions/mobskills/impulse_drive.lua @@ -1,7 +1,7 @@ ----------------------------------- -- Impulse Drive -- Family: Humanoid Polearm Weaponskill --- Description: Delivers a two-hit attack +-- Description: Delivers a two-hit attack. Damage varies with TP. ----------------------------------- ---@type TMobSkill local mobskillObject = {} @@ -15,7 +15,8 @@ mobskillObject.onMobWeaponSkill = function(mob, target, skill, action) params.baseDamage = mob:getWeaponDmg() params.numHits = 2 - params.fTP = { 1.5, 1.5, 1.5 } + params.fTP = { 1.0, 1.5, 2.5 } + -- params.str_wSC = 0.5 -- TODO: Capture if mobskill weaponskills have wSC. params.attackType = xi.attackType.PHYSICAL params.damageType = xi.damageType.PIERCING params.shadowBehavior = xi.mobskills.shadowBehavior.NUMSHADOWS_2 @@ -24,8 +25,6 @@ mobskillObject.onMobWeaponSkill = function(mob, target, skill, action) if xi.mobskills.processDamage(mob, target, skill, action, info) then target:takeDamage(info.damage, mob, info.attackType, info.damageType) - - xi.mobskills.mobStatusEffectMove(mob, target, xi.effect.BIND, 1, 0, 10) -- end return info.damage diff --git a/scripts/actions/mobskills/leg_sweep.lua b/scripts/actions/mobskills/leg_sweep.lua new file mode 100644 index 00000000000..efd009884ce --- /dev/null +++ b/scripts/actions/mobskills/leg_sweep.lua @@ -0,0 +1,35 @@ +----------------------------------- +-- Leg Sweep +-- Family: Humanoid Polearm Weaponskill +-- Description: Stuns target. +----------------------------------- +---@type TMobSkill +local mobskillObject = {} + +mobskillObject.onMobSkillCheck = function(target, mob, skill) + return 0 +end + +mobskillObject.onMobWeaponSkill = function(mob, target, skill, action) + local params = {} + + params.baseDamage = mob:getWeaponDmg() + params.numHits = 1 + params.fTP = { 1.0, 1.0, 1.0 } + -- params.str_wSC = 0.3 -- TODO: Capture if mobskill weaponskills have wSC. + params.attackType = xi.attackType.PHYSICAL + params.damageType = xi.damageType.PIERCING + params.shadowBehavior = xi.mobskills.shadowBehavior.NUMSHADOWS_1 + + local info = xi.mobskills.mobPhysicalMove(mob, target, skill, action, params) + + if xi.mobskills.processDamage(mob, target, skill, action, info) then + target:takeDamage(info.damage, mob, info.attackType, info.damageType) + + xi.mobskills.mobStatusEffectMove(mob, target, xi.effect.STUN, 1, 0, 4) + end + + return info.damage +end + +return mobskillObject diff --git a/scripts/actions/mobskills/penta_thrust.lua b/scripts/actions/mobskills/penta_thrust.lua index 71e1cace932..6e1e5cd7979 100644 --- a/scripts/actions/mobskills/penta_thrust.lua +++ b/scripts/actions/mobskills/penta_thrust.lua @@ -1,7 +1,7 @@ ----------------------------------- -- Penta Thrust -- Family: Humanoid Polearm Weaponskill --- Description: Delivers a five-hit attack to a single target. +-- Description: Delivers a fivefold attack. Accuracy varies with TP. ----------------------------------- ---@type TMobSkill local mobskillObject = {} @@ -15,14 +15,13 @@ mobskillObject.onMobWeaponSkill = function(mob, target, skill, action) params.baseDamage = mob:getWeaponDmg() params.numHits = 5 - params.fTP = { 1.0, 1.0, 1.0 } -- TODO: Capture fTPs + params.fTP = { 1.0, 1.0, 1.0 } + -- params.str_wSC = 0.2 -- TODO: Capture if mobskill weaponskills have wSC. + -- params.dex_wSC = 0.2 -- TODO: Capture if mobskill weaponskills have wSC. params.attackType = xi.attackType.PHYSICAL params.damageType = xi.damageType.PIERCING params.shadowBehavior = xi.mobskills.shadowBehavior.NUMSHADOWS_5 - -- params.accuracyModifier = { 0, 0, 0 } - -- TODO: Accuracy modifier - -- Old ACC line: 0.8 + 0.1 * math.floor((tp - 1000) / 1000) - -- Assuming this was attempting to modify the hit rate but we now use raw accuracy values rather than directly modifying the hit rate. + params.accuracyModifier = { 0, 30, 60 } local info = xi.mobskills.mobPhysicalMove(mob, target, skill, action, params) diff --git a/scripts/actions/mobskills/raiden_thrust.lua b/scripts/actions/mobskills/raiden_thrust.lua index 8dd328e6782..cf4c8dba7c8 100644 --- a/scripts/actions/mobskills/raiden_thrust.lua +++ b/scripts/actions/mobskills/raiden_thrust.lua @@ -1,7 +1,7 @@ ----------------------------------- -- Raiden Thrust --- Family: Humanoid Polearm Weaponskil --- Description: Deals Thunder elemental damage. +-- Family: Humanoid Polearm Weaponskill +-- Description: Deals lightning elemental damage. Damage varies with TP. ----------------------------------- ---@type TMobSkill local mobskillObject = {} @@ -13,12 +13,17 @@ end mobskillObject.onMobWeaponSkill = function(mob, target, skill, action) local params = {} - params.baseDamage = mob:getMainLvl() + 2 - params.fTP = { 4.0, 4.0, 4.0 } -- TODO: Capture fTPS - params.element = xi.element.THUNDER - params.attackType = xi.attackType.MAGICAL - params.damageType = xi.damageType.THUNDER - params.shadowBehavior = xi.mobskills.shadowBehavior.NUMSHADOWS_1 + params.baseDamage = mob:getMainLvl() + 2 + params.fTP = { 1.0, 2.0, 3.0 } + -- params.str_wSC = 0.3 -- TODO: Capture if mobskill weaponskills have wSC. + -- params.int_wSC = 0.3 -- TODO: Capture if mobskill weaponskills have wSC. + params.element = xi.element.THUNDER + params.attackType = xi.attackType.MAGICAL + params.damageType = xi.damageType.THUNDER + params.shadowBehavior = xi.mobskills.shadowBehavior.IGNORE_SHADOWS + params.dStatMultiplier = 1 + params.dStatAttackerMod = xi.mod.INT + params.dStatDefenderMod = xi.mod.INT local info = xi.mobskills.mobMagicalMove(mob, target, skill, action, params) diff --git a/scripts/actions/mobskills/skewer.lua b/scripts/actions/mobskills/skewer.lua index f82100932b4..77b8a25772b 100644 --- a/scripts/actions/mobskills/skewer.lua +++ b/scripts/actions/mobskills/skewer.lua @@ -1,7 +1,7 @@ ----------------------------------- -- Skewer -- Family: Humanoid Polearm Weaponskill --- Description: Delivers a three-hit attack +-- Description: Delivers a threefold attack. Chance of critical hit varies with TP. ----------------------------------- ---@type TMobSkill local mobskillObject = {} @@ -16,11 +16,12 @@ mobskillObject.onMobWeaponSkill = function(mob, target, skill, action) params.baseDamage = mob:getWeaponDmg() params.numHits = 3 params.fTP = { 1.0, 1.0, 1.0 } + -- params.str_wSC = 0.35 -- TODO: Capture if mobskill weaponskills have wSC. params.attackType = xi.attackType.PHYSICAL params.damageType = xi.damageType.PIERCING params.shadowBehavior = xi.mobskills.shadowBehavior.NUMSHADOWS_3 params.canCrit = true - params.criticalChance = { 0.10, 0.20, 0.25 } -- TODO: Capture crit rate + params.criticalChance = { 0.1, 0.2, 0.25 } local info = xi.mobskills.mobPhysicalMove(mob, target, skill, action, params) diff --git a/scripts/actions/mobskills/sonic_thrust.lua b/scripts/actions/mobskills/sonic_thrust.lua new file mode 100644 index 00000000000..307e9865b19 --- /dev/null +++ b/scripts/actions/mobskills/sonic_thrust.lua @@ -0,0 +1,34 @@ +----------------------------------- +-- Sonic Thrust +-- Family: Humanoid Polearm Weaponskill +-- Description: Delivers an area attack. Damage varies with TP. +----------------------------------- +---@type TMobSkill +local mobskillObject = {} + +mobskillObject.onMobSkillCheck = function(target, mob, skill) + return 0 +end + +mobskillObject.onMobWeaponSkill = function(mob, target, skill, action) + local params = {} + + params.baseDamage = mob:getWeaponDmg() + params.numHits = 1 + params.fTP = { 3.0, 3.25, 3.5 } + -- params.str_wSC = 0.3 -- TODO: Capture if mobskill weaponskills have wSC. + -- params.dex_wSC = 0.3 -- TODO: Capture if mobskill weaponskills have wSC. + params.attackType = xi.attackType.PHYSICAL + params.damageType = xi.damageType.PIERCING + params.shadowBehavior = xi.mobskills.shadowBehavior.NUMSHADOWS_3 + + local info = xi.mobskills.mobPhysicalMove(mob, target, skill, action, params) + + if xi.mobskills.processDamage(mob, target, skill, action, info) then + target:takeDamage(info.damage, mob, info.attackType, info.damageType) + end + + return info.damage +end + +return mobskillObject diff --git a/scripts/actions/mobskills/stardiver.lua b/scripts/actions/mobskills/stardiver.lua new file mode 100644 index 00000000000..47df3d6fa7d --- /dev/null +++ b/scripts/actions/mobskills/stardiver.lua @@ -0,0 +1,36 @@ +----------------------------------- +-- Stardiver +-- Family: Humanoid Polearm Weaponskill +-- Description: Delivers a fourfold attack. Damage varies with TP. +----------------------------------- +---@type TMobSkill +local mobskillObject = {} + +mobskillObject.onMobSkillCheck = function(target, mob, skill) + return 0 +end + +mobskillObject.onMobWeaponSkill = function(mob, target, skill, action) + local params = {} + + params.baseDamage = mob:getWeaponDmg() + params.numHits = 4 + params.fTP = { 0.75, 1.25, 1.75 } + params.fTPSubsequentHits = { 0.75, 1.25, 1.75 } + -- params.str_wSC = 0.85 -- TODO: Capture if mobskill weaponskills have wSC. + params.attackType = xi.attackType.PHYSICAL + params.damageType = xi.damageType.PIERCING + params.shadowBehavior = xi.mobskills.shadowBehavior.NUMSHADOWS_4 + + local info = xi.mobskills.mobPhysicalMove(mob, target, skill, action, params) + + if xi.mobskills.processDamage(mob, target, skill, action, info) then + target:takeDamage(info.damage, mob, info.attackType, info.damageType) + + xi.mobskills.mobStatusEffectMove(mob, target, xi.effect.CRIT_HIT_EVASION_DOWN, 5, 0, 60) + end + + return info.damage +end + +return mobskillObject diff --git a/scripts/actions/mobskills/thunder_thrust.lua b/scripts/actions/mobskills/thunder_thrust.lua new file mode 100644 index 00000000000..d954ac6dcef --- /dev/null +++ b/scripts/actions/mobskills/thunder_thrust.lua @@ -0,0 +1,37 @@ +----------------------------------- +-- Thunder Thrust +-- Family: Humanoid Polearm Weaponskill +-- Description: Deals lightning elemental damage. Damage varies with TP. +----------------------------------- +---@type TMobSkill +local mobskillObject = {} + +mobskillObject.onMobSkillCheck = function(target, mob, skill) + return 0 +end + +mobskillObject.onMobWeaponSkill = function(mob, target, skill, action) + local params = {} + + params.baseDamage = mob:getMainLvl() + 2 + params.fTP = { 1.5, 2.0, 2.5 } + -- params.str_wSC = 0.2 -- TODO: Capture if mobskill weaponskills have wSC. + -- params.int_wSC = 0.2 -- TODO: Capture if mobskill weaponskills have wSC. + params.element = xi.element.THUNDER + params.attackType = xi.attackType.MAGICAL + params.damageType = xi.damageType.THUNDER + params.shadowBehavior = xi.mobskills.shadowBehavior.IGNORE_SHADOWS + params.dStatMultiplier = 1 + params.dStatAttackerMod = xi.mod.INT + params.dStatDefenderMod = xi.mod.INT + + local info = xi.mobskills.mobMagicalMove(mob, target, skill, action, params) + + if xi.mobskills.processDamage(mob, target, skill, action, info) then + target:takeDamage(info.damage, mob, info.attackType, info.damageType) + end + + return info.damage +end + +return mobskillObject diff --git a/scripts/actions/mobskills/vorpal_thrust.lua b/scripts/actions/mobskills/vorpal_thrust.lua new file mode 100644 index 00000000000..66e6460b8a3 --- /dev/null +++ b/scripts/actions/mobskills/vorpal_thrust.lua @@ -0,0 +1,36 @@ +----------------------------------- +-- Vorpal Thrust +-- Family: Humanoid Polearm Weaponskill +-- Description: Deals critical damage. Chance of critical hit varies with TP. +----------------------------------- +---@type TMobSkill +local mobskillObject = {} + +mobskillObject.onMobSkillCheck = function(target, mob, skill) + return 0 +end + +mobskillObject.onMobWeaponSkill = function(mob, target, skill, action) + local params = {} + + params.baseDamage = mob:getWeaponDmg() + params.numHits = 1 + params.fTP = { 1.0, 1.0, 1.0 } + -- params.str_wSC = 0.2 -- TODO: Capture if mobskill weaponskills have wSC. + -- params.agi_wSC = 0.2 -- TODO: Capture if mobskill weaponskills have wSC. + params.attackType = xi.attackType.PHYSICAL + params.damageType = xi.damageType.PIERCING + params.shadowBehavior = xi.mobskills.shadowBehavior.NUMSHADOWS_1 + params.canCrit = true + params.criticalChance = { 0.3, 0.6, 0.9 } + + local info = xi.mobskills.mobPhysicalMove(mob, target, skill, action, params) + + if xi.mobskills.processDamage(mob, target, skill, action, info) then + target:takeDamage(info.damage, mob, info.attackType, info.damageType) + end + + return info.damage +end + +return mobskillObject diff --git a/scripts/actions/mobskills/wheeling_thrust.lua b/scripts/actions/mobskills/wheeling_thrust.lua index 33637b29df9..9b4bcfa9db6 100644 --- a/scripts/actions/mobskills/wheeling_thrust.lua +++ b/scripts/actions/mobskills/wheeling_thrust.lua @@ -1,7 +1,7 @@ ----------------------------------- -- Wheeling Thrust -- Family: Humanoid Polearm Weaponskill --- Description: Deals physical damage to a target. +-- Description: Ignores defense. Amount ignored varies with TP. ----------------------------------- ---@type TMobSkill local mobskillObject = {} @@ -16,6 +16,8 @@ mobskillObject.onMobWeaponSkill = function(mob, target, skill, action) params.baseDamage = mob:getWeaponDmg() params.numHits = 1 params.fTP = { 1.75, 1.75, 1.75 } + -- params.str_wSC = 0.5 -- TODO: Capture if mobskill weaponskills have wSC. + params.ignoreDefense = { 0.5, 0.75, 1.0 } params.attackType = xi.attackType.PHYSICAL params.damageType = xi.damageType.PIERCING params.shadowBehavior = xi.mobskills.shadowBehavior.NUMSHADOWS_1 diff --git a/sql/mob_skills.sql b/sql/mob_skills.sql index 2de2fabfb53..2fd0008433d 100644 --- a/sql/mob_skills.sql +++ b/sql/mob_skills.sql @@ -150,21 +150,21 @@ INSERT INTO `mob_skills` VALUES (107,72,'infernal_scythe',0,0.0,7.0,2000,0,4,0,0 INSERT INTO `mob_skills` VALUES (108,73,'quietus',0,0.0,7.0,2000,0,4,0,0,0,14,10,0); INSERT INTO `mob_skills` VALUES (109,74,'entropy',0,0.0,7.0,2000,0,4,0,0,0,9,5,0); INSERT INTO `mob_skills` VALUES (110,70,'origin',0,0.0,7.0,2000,0,4,0,0,0,11,7,5); --- INSERT INTO `mob_skills` VALUES (112,??,'double_thrust' --- INSERT INTO `mob_skills` VALUES (113,??,'thunder_thrust' +INSERT INTO `mob_skills` VALUES (112,121,'double_thrust',0,0.0,7.0,2000,0,4,0,0,0,1,0,0); +INSERT INTO `mob_skills` VALUES (113,122,'thunder_thrust',0,0.0,7.0,2000,0,4,0,0,0,1,8,0); INSERT INTO `mob_skills` VALUES (114,123,'raiden_thrust',0,0.0,7.0,2000,0,4,0,0,0,1,8,0); --- INSERT INTO `mob_skills` VALUES (115,??,'leg_sweep' +INSERT INTO `mob_skills` VALUES (115,124,'leg_sweep',0,0.0,7.0,2000,0,4,0,0,0,8,0,0); INSERT INTO `mob_skills` VALUES (116,125,'penta_thrust',0,0.0,7.0,2000,0,4,0,0,0,2,0,0); --- INSERT INTO `mob_skills` VALUES (117,??,'vorpal_thrust' +INSERT INTO `mob_skills` VALUES (117,126,'vorpal_thrust',0,0.0,7.0,2000,0,4,0,0,0,5,1,0); INSERT INTO `mob_skills` VALUES (118,127,'skewer',0,0.0,7.0,2000,0,4,0,0,0,1,8,0); INSERT INTO `mob_skills` VALUES (119,128,'wheeling_thrust',0,0.0,7.0,2000,0,4,0,0,0,11,0,0); INSERT INTO `mob_skills` VALUES (120,129,'impulse_drive',0,0.0,7.0,2000,0,4,0,0,0,9,7,0); --- INSERT INTO `mob_skills` VALUES (121,??,'geirskogul' --- INSERT INTO `mob_skills` VALUES (122,??,'drakesbane' --- INSERT INTO `mob_skills` VALUES (123,??,'sonic_thrust' --- INSERT INTO `mob_skills` VALUES (124,??,'camlanns_torment' --- INSERT INTO `mob_skills` VALUES (125,??,'stardiver' --- INSERT INTO `mob_skills` VALUES (126,??,'diarmuid' +INSERT INTO `mob_skills` VALUES (121,130,'geirskogul',0,0.0,7.0,2000,0,4,0,0,0,13,10,0); +INSERT INTO `mob_skills` VALUES (122,131,'drakesbane',0,0.0,7.0,2000,0,4,0,0,0,11,1,0); +INSERT INTO `mob_skills` VALUES (123,132,'sonic_thrust',2,10.0,7.0,2000,0,4,0,0,0,1,4,0); +INSERT INTO `mob_skills` VALUES (124,133,'camlanns_torment',0,0.0,7.0,2000,0,4,0,0,0,13,12,0); +INSERT INTO `mob_skills` VALUES (125,134,'stardiver',0,0.0,7.0,2000,0,4,0,0,0,9,1,0); +INSERT INTO `mob_skills` VALUES (126,130,'diarmuid',0,0.0,7.0,2000,0,4,0,0,0,10,4,1); -- INSERT INTO `mob_skills` VALUES (128,??,'blade_rin' -- INSERT INTO `mob_skills` VALUES (129,??,'blade_retsu' -- INSERT INTO `mob_skills` VALUES (130,??,'blade_teki'