From 9d88699043aa428a6fb5879aed791c79b8edf2a9 Mon Sep 17 00:00:00 2001 From: Skold177 <113406182+Skold177@users.noreply.github.com> Date: Wed, 21 Jan 2026 23:01:31 -0500 Subject: [PATCH] [lua] Enaero conversion Converts enaero to new system, retires ae.enaero from mobs.lua --- scripts/globals/mobs.lua | 10 ---------- scripts/zones/Abyssea-La_Theine/mobs/Piasa.lua | 11 ++++++++++- scripts/zones/Beaucedine_Glacier/mobs/Kirata.lua | 11 ++++++++++- scripts/zones/Bhaflau_Thickets/mobs/Nis_Puk.lua | 11 ++++++++++- .../Castle_Zvahl_Baileys/mobs/Marquis_Naberius.lua | 11 ++++++++++- .../Cloister_of_Gales/mobs/Garuda_Prime_TBW.lua | 11 ++++++++++- .../Cloister_of_Gales/mobs/Garuda_Prime_TSTBW.lua | 11 ++++++++++- .../Cloister_of_Gales/mobs/Garuda_Prime_WTB.lua | 11 ++++++++++- scripts/zones/Grauberg_[S]/mobs/Scitalis.lua | 13 +++++++++++-- scripts/zones/Qufim_Island/mobs/Atkorkamuy.lua | 11 ++++++++++- scripts/zones/Rolanberry_Fields_[S]/mobs/Erle.lua | 11 ++++++++++- scripts/zones/RuAun_Gardens/mobs/Seiryu.lua | 11 ++++++++++- .../zones/The_Shrine_of_RuAvitau/mobs/Seiryu.lua | 11 ++++++++++- 13 files changed, 121 insertions(+), 23 deletions(-) diff --git a/scripts/globals/mobs.lua b/scripts/globals/mobs.lua index 78ffba2164c..626d75fc643 100644 --- a/scripts/globals/mobs.lua +++ b/scripts/globals/mobs.lua @@ -259,16 +259,6 @@ local additionalEffects = maxDuration = 300, }, - [xi.mob.ae.ENAERO] = - { - ele = xi.element.WIND, - sub = xi.subEffect.WIND_DAMAGE, - msg = xi.msg.basic.ADD_EFFECT_DMG, - negMsg = xi.msg.basic.ADD_EFFECT_HEAL, - mod = xi.mod.INT, - bonusAbilityParams = { bonusmab = 0, includemab = false }, - }, - [xi.mob.ae.ENBLIZZARD] = { ele = xi.element.ICE, diff --git a/scripts/zones/Abyssea-La_Theine/mobs/Piasa.lua b/scripts/zones/Abyssea-La_Theine/mobs/Piasa.lua index cdd435e4f5d..08e4b9d94a5 100644 --- a/scripts/zones/Abyssea-La_Theine/mobs/Piasa.lua +++ b/scripts/zones/Abyssea-La_Theine/mobs/Piasa.lua @@ -10,7 +10,16 @@ entity.onMobInitialize = function(mob) end entity.onAdditionalEffect = function(mob, target, damage) - return xi.mob.onAddEffect(mob, target, damage, xi.mob.ae.ENAERO) + local pTable = + { + chance = 100, + attackType = xi.attackType.MAGICAL, + magicalElement = xi.element.WIND, + basePower = math.floor(damage / 2), + actorStat = xi.mod.INT, + } + + return xi.combat.action.executeAdditionalDamage(mob, target, pTable) end entity.onMobDeath = function(mob, player, optParams) diff --git a/scripts/zones/Beaucedine_Glacier/mobs/Kirata.lua b/scripts/zones/Beaucedine_Glacier/mobs/Kirata.lua index e4eaf40e6ae..8cf68c64462 100644 --- a/scripts/zones/Beaucedine_Glacier/mobs/Kirata.lua +++ b/scripts/zones/Beaucedine_Glacier/mobs/Kirata.lua @@ -72,7 +72,16 @@ entity.onMobInitialize = function(mob) end entity.onAdditionalEffect = function(mob, target, damage) - return xi.mob.onAddEffect(mob, target, damage, xi.mob.ae.ENAERO) + local pTable = + { + chance = 100, + attackType = xi.attackType.MAGICAL, + magicalElement = xi.element.WIND, + basePower = math.floor(damage / 2), + actorStat = xi.mod.INT, + } + + return xi.combat.action.executeAdditionalDamage(mob, target, pTable) end entity.onMobDeath = function(mob, player, optParams) diff --git a/scripts/zones/Bhaflau_Thickets/mobs/Nis_Puk.lua b/scripts/zones/Bhaflau_Thickets/mobs/Nis_Puk.lua index 6a434bd281a..d88c314b84d 100644 --- a/scripts/zones/Bhaflau_Thickets/mobs/Nis_Puk.lua +++ b/scripts/zones/Bhaflau_Thickets/mobs/Nis_Puk.lua @@ -79,7 +79,16 @@ entity.onMobInitialize = function(mob) end entity.onAdditionalEffect = function(mob, target, damage) - return xi.mob.onAddEffect(mob, target, damage, xi.mob.ae.ENAERO) + local pTable = + { + chance = 100, + attackType = xi.attackType.MAGICAL, + magicalElement = xi.element.WIND, + basePower = math.floor(damage / 2), + actorStat = xi.mod.INT, + } + + return xi.combat.action.executeAdditionalDamage(mob, target, pTable) end entity.onMobDeath = function(mob, player, optParams) diff --git a/scripts/zones/Castle_Zvahl_Baileys/mobs/Marquis_Naberius.lua b/scripts/zones/Castle_Zvahl_Baileys/mobs/Marquis_Naberius.lua index bda553d1560..192751e396d 100644 --- a/scripts/zones/Castle_Zvahl_Baileys/mobs/Marquis_Naberius.lua +++ b/scripts/zones/Castle_Zvahl_Baileys/mobs/Marquis_Naberius.lua @@ -40,7 +40,16 @@ entity.onMobSpawn = function(mob) end entity.onAdditionalEffect = function(mob, target, damage) - return xi.mob.onAddEffect(mob, target, damage, xi.mob.ae.ENAERO) + local pTable = + { + chance = 100, + attackType = xi.attackType.MAGICAL, + magicalElement = xi.element.WIND, + basePower = math.floor(damage / 2), + actorStat = xi.mod.INT, + } + + return xi.combat.action.executeAdditionalDamage(mob, target, pTable) end entity.onMobDeath = function(mob, player, optParams) diff --git a/scripts/zones/Cloister_of_Gales/mobs/Garuda_Prime_TBW.lua b/scripts/zones/Cloister_of_Gales/mobs/Garuda_Prime_TBW.lua index e64167d1d5e..fa86fd233ef 100644 --- a/scripts/zones/Cloister_of_Gales/mobs/Garuda_Prime_TBW.lua +++ b/scripts/zones/Cloister_of_Gales/mobs/Garuda_Prime_TBW.lua @@ -38,7 +38,16 @@ entity.onMobSpawn = function(mob) end entity.onAdditionalEffect = function(mob, target, damage) - return xi.mob.onAddEffect(mob, target, damage, xi.mob.ae.ENAERO, { chance = 100, power = math.random(20, 40) }) + local pTable = + { + chance = 100, + attackType = xi.attackType.MAGICAL, + magicalElement = xi.element.WIND, + basePower = math.floor(damage / 2), + actorStat = xi.mod.INT, + } + + return xi.combat.action.executeAdditionalDamage(mob, target, pTable) end entity.onMobFight = function(mob, target) diff --git a/scripts/zones/Cloister_of_Gales/mobs/Garuda_Prime_TSTBW.lua b/scripts/zones/Cloister_of_Gales/mobs/Garuda_Prime_TSTBW.lua index c8bf7b4a25b..450cd82802a 100644 --- a/scripts/zones/Cloister_of_Gales/mobs/Garuda_Prime_TSTBW.lua +++ b/scripts/zones/Cloister_of_Gales/mobs/Garuda_Prime_TSTBW.lua @@ -41,7 +41,16 @@ entity.onMobSpawn = function(mob) end entity.onAdditionalEffect = function(mob, target, damage) - return xi.mob.onAddEffect(mob, target, damage, xi.mob.ae.ENAERO, { chance = 100, power = math.random(15, 25) }) + local pTable = + { + chance = 100, + attackType = xi.attackType.MAGICAL, + magicalElement = xi.element.WIND, + basePower = math.floor(damage / 2), + actorStat = xi.mod.INT, + } + + return xi.combat.action.executeAdditionalDamage(mob, target, pTable) end entity.onMobEngage = function(mob, target) diff --git a/scripts/zones/Cloister_of_Gales/mobs/Garuda_Prime_WTB.lua b/scripts/zones/Cloister_of_Gales/mobs/Garuda_Prime_WTB.lua index e852d8ab7e8..9443e2eeb9e 100644 --- a/scripts/zones/Cloister_of_Gales/mobs/Garuda_Prime_WTB.lua +++ b/scripts/zones/Cloister_of_Gales/mobs/Garuda_Prime_WTB.lua @@ -41,7 +41,16 @@ entity.onMobSpawn = function(mob) end entity.onAdditionalEffect = function(mob, target, damage) - return xi.mob.onAddEffect(mob, target, damage, xi.mob.ae.ENAERO, { chance = 100, power = math.random(75, 125) }) + local pTable = + { + chance = 100, + attackType = xi.attackType.MAGICAL, + magicalElement = xi.element.WIND, + basePower = math.floor(damage / 2), + actorStat = xi.mod.INT, + } + + return xi.combat.action.executeAdditionalDamage(mob, target, pTable) end entity.onMobWeaponSkill = function(target, mob, skill) diff --git a/scripts/zones/Grauberg_[S]/mobs/Scitalis.lua b/scripts/zones/Grauberg_[S]/mobs/Scitalis.lua index 578ae1721e3..2a38661856f 100644 --- a/scripts/zones/Grauberg_[S]/mobs/Scitalis.lua +++ b/scripts/zones/Grauberg_[S]/mobs/Scitalis.lua @@ -29,9 +29,18 @@ entity.onMobInitialize = function(mob) mob:setMobMod(xi.mobMod.ADD_EFFECT, 1) end +-- Captures show unresisted damage between 120 and 200. TODO find what causes full power AE to vary so greatly entity.onAdditionalEffect = function(mob, target, damage) - -- Captures show unresisted damage between 120 and 200. TODO find what causes full power AE to vary so greatly - return xi.mob.onAddEffect(mob, target, damage, xi.mob.ae.ENAERO, { power = math.random(165, 190) }) + local pTable = + { + chance = 100, + attackType = xi.attackType.MAGICAL, + magicalElement = xi.element.WIND, + basePower = math.floor(damage / 2), + actorStat = xi.mod.INT, + } + + return xi.combat.action.executeAdditionalDamage(mob, target, pTable) end entity.onMobDeath = function(mob, player, optParams) diff --git a/scripts/zones/Qufim_Island/mobs/Atkorkamuy.lua b/scripts/zones/Qufim_Island/mobs/Atkorkamuy.lua index 3503a975c90..b45b1181393 100644 --- a/scripts/zones/Qufim_Island/mobs/Atkorkamuy.lua +++ b/scripts/zones/Qufim_Island/mobs/Atkorkamuy.lua @@ -19,7 +19,16 @@ entity.onMobInitialize = function(mob) end entity.onAdditionalEffect = function(mob, target, damage) - return xi.mob.onAddEffect(mob, target, damage, xi.mob.ae.ENAERO) + local pTable = + { + chance = 100, + attackType = xi.attackType.MAGICAL, + magicalElement = xi.element.WIND, + basePower = math.floor(damage / 2), + actorStat = xi.mod.INT, + } + + return xi.combat.action.executeAdditionalDamage(mob, target, pTable) end entity.onMobFight = function(mob, target) diff --git a/scripts/zones/Rolanberry_Fields_[S]/mobs/Erle.lua b/scripts/zones/Rolanberry_Fields_[S]/mobs/Erle.lua index 1b256f741b0..8bebb0dd0b8 100644 --- a/scripts/zones/Rolanberry_Fields_[S]/mobs/Erle.lua +++ b/scripts/zones/Rolanberry_Fields_[S]/mobs/Erle.lua @@ -21,7 +21,16 @@ entity.onMobInitialize = function(mob) end entity.onAdditionalEffect = function(mob, target, damage) - return xi.mob.onAddEffect(mob, target, damage, xi.mob.ae.ENAERO, { power = math.random(25, 50) }) + local pTable = + { + chance = 100, + attackType = xi.attackType.MAGICAL, + magicalElement = xi.element.WIND, + basePower = math.floor(damage / 2), + actorStat = xi.mod.INT, + } + + return xi.combat.action.executeAdditionalDamage(mob, target, pTable) end entity.onMobDeath = function(mob, player, optParams) diff --git a/scripts/zones/RuAun_Gardens/mobs/Seiryu.lua b/scripts/zones/RuAun_Gardens/mobs/Seiryu.lua index 9e4cf13d613..349d311f013 100644 --- a/scripts/zones/RuAun_Gardens/mobs/Seiryu.lua +++ b/scripts/zones/RuAun_Gardens/mobs/Seiryu.lua @@ -60,7 +60,16 @@ entity.onMobWeaponSkill = function(target, mob, skill) end entity.onAdditionalEffect = function(mob, target, damage) - return xi.mob.onAddEffect(mob, target, damage, xi.mob.ae.ENAERO) + local pTable = + { + chance = 100, + attackType = xi.attackType.MAGICAL, + magicalElement = xi.element.WIND, + basePower = math.floor(damage / 2), + actorStat = xi.mod.INT, + } + + return xi.combat.action.executeAdditionalDamage(mob, target, pTable) end entity.onMobDeath = function(mob, player, optParams) diff --git a/scripts/zones/The_Shrine_of_RuAvitau/mobs/Seiryu.lua b/scripts/zones/The_Shrine_of_RuAvitau/mobs/Seiryu.lua index c48997d42d1..695319183a6 100644 --- a/scripts/zones/The_Shrine_of_RuAvitau/mobs/Seiryu.lua +++ b/scripts/zones/The_Shrine_of_RuAvitau/mobs/Seiryu.lua @@ -21,7 +21,16 @@ entity.onMobSpawn = function(mob) end entity.onAdditionalEffect = function(mob, target, damage) - return xi.mob.onAddEffect(mob, target, damage, xi.mob.ae.ENAERO) + local pTable = + { + chance = 100, + attackType = xi.attackType.MAGICAL, + magicalElement = xi.element.WIND, + basePower = math.floor(damage / 2), + actorStat = xi.mod.INT, + } + + return xi.combat.action.executeAdditionalDamage(mob, target, pTable) end entity.onMobWeaponSkill = function(target, mob, skill)