From 68231186ebcf6067d8345cfbc66b804c3e80b8ef Mon Sep 17 00:00:00 2001 From: Critical <48370698+CriticalXI@users.noreply.github.com> Date: Sun, 5 Apr 2026 12:44:49 -0600 Subject: [PATCH] [lua, sq;] ToAU 13 Lost Kingdom fight adjustments --- scripts/actions/mobskills/wild_card.lua | 7 ++-- scripts/enum/mob_skill.lua | 6 ++++ scripts/mixins/job_special.lua | 2 +- scripts/zones/Caedarva_Mire/mobs/Jazaraat.lua | 34 ++++++++++++++++++- sql/mob_groups.sql | 2 +- sql/mob_skills.sql | 8 ++--- 6 files changed, 49 insertions(+), 10 deletions(-) diff --git a/scripts/actions/mobskills/wild_card.lua b/scripts/actions/mobskills/wild_card.lua index e254e459361..567de8e6109 100644 --- a/scripts/actions/mobskills/wild_card.lua +++ b/scripts/actions/mobskills/wild_card.lua @@ -1,7 +1,6 @@ ----------------------------------- -- Wild Card (Mob Skill) -- Description : Has a random effect on all targets within range. --- TODO : Research what Wild Card does for mobs, this is just a blank effect application for now so the ability can be used. ----------------------------------- ---@type TMobSkill local mobskillObject = {} @@ -11,9 +10,11 @@ mobskillObject.onMobSkillCheck = function(target, mob, skill) end mobskillObject.onMobWeaponSkill = function(mob, target, skill, action) - skill:setMsg(xi.msg.basic.USES) + local tp = 3000 + skill:setMsg(xi.msg.basic.TP_INCREASE) + target:setTP(tp) - return 0 + return tp end return mobskillObject diff --git a/scripts/enum/mob_skill.lua b/scripts/enum/mob_skill.lua index 67eec163ec7..a2f821cb738 100644 --- a/scripts/enum/mob_skill.lua +++ b/scripts/enum/mob_skill.lua @@ -44,8 +44,14 @@ xi.mobSkill = RANDGRITH_1 = 170, + NETHERSPIKES_1 = 241, + CARNAL_NIGHTMARE_1 = 242, + AEGIS_SCHISM_1 = 243, + DANCING_CHAINS_1 = 244, BARBED_CRESCENT_1 = 245, + FOXFIRE = 247, + FOOT_KICK_1 = 257, DUST_CLOUD_1 = 258, WHIRL_CLAWS_1 = 259, diff --git a/scripts/mixins/job_special.lua b/scripts/mixins/job_special.lua index ef8c4b915e1..534791b2225 100644 --- a/scripts/mixins/job_special.lua +++ b/scripts/mixins/job_special.lua @@ -109,9 +109,9 @@ local job2hr = [xi.job.DRG] = xi.mobSkill.CALL_WYVERN_1, [xi.job.SMN] = xi.mobSkill.ASTRAL_FLOW_1, [xi.job.BLU] = xi.mobSkill.AZURE_LORE, + [xi.job.COR] = xi.mobSkill.WILD_CARD, -- following abilities are not yet defined on xi.mobSkill: --- [xi.job.COR] = xi.mobSkill.WILD_CARD, -- [xi.job.PUP] = xi.mobSkill.OVERDRIVE, -- [xi.job.DNC] = xi.mobSkill.TRANCE, -- [xi.job.SCH] = xi.mobSkill.TABULA_RASA, diff --git a/scripts/zones/Caedarva_Mire/mobs/Jazaraat.lua b/scripts/zones/Caedarva_Mire/mobs/Jazaraat.lua index fc3f21f1b6c..18e49b8327c 100644 --- a/scripts/zones/Caedarva_Mire/mobs/Jazaraat.lua +++ b/scripts/zones/Caedarva_Mire/mobs/Jazaraat.lua @@ -2,10 +2,42 @@ -- Area: Caedarva Mire -- Mob: Jazaraat ----------------------------------- +mixins = { require('scripts/mixins/job_special') } +----------------------------------- ---@type TMobEntity local entity = {} -entity.onMobDeath = function(mob, player, optParams) +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.PETRIFY) + mob:addImmunity(xi.immunity.PLAGUE) + mob:addImmunity(xi.immunity.TERROR) + mob:setMobMod(xi.mobMod.IDLE_DESPAWN, 180) +end + +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.REGEN, 10) + mob:setMod(xi.mod.CRITHITRATE, 50) -- TODO: More accurate crit rate value + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 150) + + xi.mix.jobSpecial.config(mob, { + specials = + { + { id = xi.mobSkill.WILD_CARD, hpp = math.random(25, 35) }, + }, + }) +end + +entity.onMobMobskillChoose = function(mob, target) + local tpList = + { + xi.mobSkill.AEGIS_SCHISM_1, + xi.mobSkill.BARBED_CRESCENT_1, + xi.mobSkill.DANCING_CHAINS_1, + xi.mobSkill.FOXFIRE, + xi.mobSkill.NETHERSPIKES_1, + } + + return tpList[math.random(1, #tpList)] end return entity diff --git a/sql/mob_groups.sql b/sql/mob_groups.sql index b90ad95f9af..d21d76a43f7 100644 --- a/sql/mob_groups.sql +++ b/sql/mob_groups.sql @@ -4566,7 +4566,7 @@ INSERT INTO `mob_groups` VALUES (50,914,79,'Dark_Esquire',0,128,0,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (51,3109,79,'Peallaidh',0,32,2656,14400,0,0,NULL); INSERT INTO `mob_groups` VALUES (52,4503,79,'Zikko',0,128,2799,9000,0,0,NULL); INSERT INTO `mob_groups` VALUES (53,606,79,'Caedarva_Toad',0,128,0,8400,0,0,NULL); -INSERT INTO `mob_groups` VALUES (54,2144,79,'Jazaraat',0,128,0,0,0,0,NULL); +INSERT INTO `mob_groups` VALUES (54,2144,79,'Jazaraat',0,128,0,13500,0,0,NULL); INSERT INTO `mob_groups` VALUES (55,3331,79,'Ravin_Raven',0,128,2078,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (56,2349,79,'Lamia_No27',0,128,0,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (57,2752,79,'Moshdahn',0,128,0,25000,0,0,NULL); diff --git a/sql/mob_skills.sql b/sql/mob_skills.sql index b884174c4c3..c0cc12c7c48 100644 --- a/sql/mob_skills.sql +++ b/sql/mob_skills.sql @@ -265,10 +265,10 @@ INSERT INTO `mob_skills` VALUES (170,86,'randgrith',0,0.0,7.0,2000,0,4,0,0,0,13, -- INSERT INTO `mob_skills` VALUES (238,??,'uriel_blade' -- INSERT INTO `mob_skills` VALUES (239,??,'glory_slash' -- INSERT INTO `mob_skills` VALUES (240,??,'tartarus_torpor' -INSERT INTO `mob_skills` VALUES (241,241,'netherspikes',4,0.0,10.0,2000,0,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (241,249,'netherspikes',4,0.0,10.0,2000,0,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (242,242,'carnal_nightmare',1,0.0,10.0,2000,0,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (243,243,'aegis_schism',0,0.0,7.0,2000,0,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (244,244,'dancing_chains',1,0.0,10.0,2000,0,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (243,251,'aegis_schism',0,0.0,7.0,2000,0,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (244,252,'dancing_chains',1,0.0,10.0,2000,0,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (245,253,'barbed_crescent',0,0.0,7.0,2000,0,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (246,246,'shackled_fists',0,0.0,7.0,2000,0,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (247,247,'foxfire',4,0.0,10.0,2000,0,4,0,0,0,0,0,0); @@ -1958,7 +1958,7 @@ INSERT INTO `mob_skills` VALUES (1930,1279,'tidal_slash',4,0.0,10.0,2000,1500,4, INSERT INTO `mob_skills` VALUES (1931,1280,'eagle_eye_shot',0,0.0,25.0,2000,0,4,2,0,0,0,0,0); -- lamiae INSERT INTO `mob_skills` VALUES (1932,16,'eagle_eye_shot',0,0.0,25.0,2000,0,4,2,0,0,0,0,0); -- swift shot ?? INSERT INTO `mob_skills` VALUES (1933,432,'azure_lore',0,0.0,7.0,2000,1500,1,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (1934,432,'wild_card',0,0.0,7.0,2000,0,1,0,30,0,0,0,0); -- TODO : Verify animation and mechanics, current animation is a working placeholder +INSERT INTO `mob_skills` VALUES (1934,432,'wild_card',1,0.0,7.0,2000,0,1,0,30,0,0,0,0); INSERT INTO `mob_skills` VALUES (1935,432,'overdrive',0,0.0,18.0,2000,0,1,0,30,0,0,0,0); -- TODO : Verify animation and mechanics, current animation is a working placeholder INSERT INTO `mob_skills` VALUES (1936,1299,'shibaraku',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -- need correct animation & timings -- INSERT INTO `mob_skills` VALUES (1937,1681,'.',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); -- gessho's teleport is probably here, one skill in one out.