From 5920e4c8b91f00932fc0c809d80da297b81888a8 Mon Sep 17 00:00:00 2001 From: ThrisStraizo <45871917+ThrisStraizo@users.noreply.github.com> Date: Wed, 28 Jan 2026 15:29:18 -0800 Subject: [PATCH 1/2] THF/DRG AF NMs Audit This PR adjusts several NMs in the THF and DRG questline. --- scripts/enum/mob_skill.lua | 2 +- .../windurst/THF_AF3_Hitting_the_Marquisate.lua | 6 ++++-- scripts/zones/Batallia_Downs/IDs.lua | 1 + scripts/zones/Batallia_Downs/mobs/Sturmtiger.lua | 5 +++++ scripts/zones/Batallia_Downs/npcs/qm2.lua | 5 +++-- scripts/zones/Eastern_Altepa_Desert/IDs.lua | 1 + .../Eastern_Altepa_Desert/mobs/Decurio_I-III.lua | 9 +++++++++ scripts/zones/Eastern_Altepa_Desert/npcs/qm.lua | 4 ++-- scripts/zones/Garlaige_Citadel/mobs/Chandelier.lua | 8 ++++++-- .../North_Gustaberg/mobs/Gambilox_Wanderling.lua | 11 +++++++++++ .../Sauromugue_Champaign/mobs/Climbpix_Highrise.lua | 8 ++++++++ sql/mob_groups.sql | 10 +++++----- sql/mob_pools.sql | 6 +++--- sql/mob_skills.sql | 2 +- sql/mob_spawn_points.sql | 6 +++--- 15 files changed, 63 insertions(+), 21 deletions(-) diff --git a/scripts/enum/mob_skill.lua b/scripts/enum/mob_skill.lua index 30d338eca31..449fb3d2d59 100644 --- a/scripts/enum/mob_skill.lua +++ b/scripts/enum/mob_skill.lua @@ -169,7 +169,7 @@ xi.mobSkill = SUCTORIAL_TENTACLE_1 = 508, SELF_DESTRUCT_BOMB = 509, - + BERSERK_BOMB = 510, SELF_DESTRUCT_BOMB_321 = 511, SMITE_OF_RAGE = 513, diff --git a/scripts/quests/windurst/THF_AF3_Hitting_the_Marquisate.lua b/scripts/quests/windurst/THF_AF3_Hitting_the_Marquisate.lua index 9425b6d2e43..cf90cf30bf1 100644 --- a/scripts/quests/windurst/THF_AF3_Hitting_the_Marquisate.lua +++ b/scripts/quests/windurst/THF_AF3_Hitting_the_Marquisate.lua @@ -154,8 +154,10 @@ quest.sections = [56] = function(player, csid, option, npc) if option == 1 then - player:messageSpecial(garlaigeID.text.THE_PRESENCE_MOVES + 5) -- Something flies out from the ceiling! - GetMobByID(garlaigeID.mob.CHANDELIER):setRespawnTime(5) + npc:timer(5000, function(npcArg) + npcUtil.popFromQM(player, npc, garlaigeID.mob.CHANDELIER, { hide = 0, claim = false }) + player:messageSpecial(garlaigeID.text.THE_PRESENCE_MOVES + 5) -- Something flies out from the ceiling! + end) else player:messageSpecial(garlaigeID.text.THE_PRESENCE_MOVES + 6) -- The presence in the ceiling still lingers... end diff --git a/scripts/zones/Batallia_Downs/IDs.lua b/scripts/zones/Batallia_Downs/IDs.lua index ca3a2aac2f2..2b743ba4098 100644 --- a/scripts/zones/Batallia_Downs/IDs.lua +++ b/scripts/zones/Batallia_Downs/IDs.lua @@ -26,6 +26,7 @@ zones[xi.zone.BATALLIA_DOWNS] = FIND_NOTHING = 7264, -- You dig and you dig, but find nothing. FOUND_ITEM_WITH_EASE = 7339, -- It appears your chocobo found this item with ease. SPARKLING_LIGHT = 7358, -- The ground is sparkling with a strange light. + SENSE_AN_EVIL_PRESENCE = 7446, -- You sense an evil presence. SENSE_SOMETHING_LURKING = 7448, -- You sense something lurking close by! NO_GRASS_GROWING_HERE = 7497, -- There is no grass growing here... YOU_ARE_BEING_ATTACKED = 7634, -- You are being attacked! diff --git a/scripts/zones/Batallia_Downs/mobs/Sturmtiger.lua b/scripts/zones/Batallia_Downs/mobs/Sturmtiger.lua index 26a8164d25d..0e83ef71864 100644 --- a/scripts/zones/Batallia_Downs/mobs/Sturmtiger.lua +++ b/scripts/zones/Batallia_Downs/mobs/Sturmtiger.lua @@ -11,6 +11,11 @@ entity.onMobInitialize = function(mob) mob:setMobMod(xi.mobMod.IDLE_DESPAWN, 300) end +entity.onMobSpawn = function(mob) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 150) + mob:setMod(xi.mod.ATT, 360) +end + entity.onMobDeath = function(mob, player, optParams) if player:getCharVar('ChasingQuotas_Progress') == 5 then player:setCharVar('SturmtigerKilled', 1) diff --git a/scripts/zones/Batallia_Downs/npcs/qm2.lua b/scripts/zones/Batallia_Downs/npcs/qm2.lua index 92428959cf7..c7a74311942 100644 --- a/scripts/zones/Batallia_Downs/npcs/qm2.lua +++ b/scripts/zones/Batallia_Downs/npcs/qm2.lua @@ -13,9 +13,10 @@ entity.onTrigger = function(player, npc) if player:getCharVar('ChasingQuotas_Progress') == 5 and - sturmtigerKilled == 0 + sturmtigerKilled == 0 and + npcUtil.popFromQM(player, npc, ID.mob.STURMTIGER) then - SpawnMob(ID.mob.STURMTIGER, 300):updateClaim(player) + player:messageSpecial(ID.text.SENSE_AN_EVIL_PRESENCE) elseif sturmtigerKilled == 1 then npcUtil.giveKeyItem(player, xi.ki.RANCHURIOMES_LEGACY) player:setCharVar('ChasingQuotas_Progress', 6) diff --git a/scripts/zones/Eastern_Altepa_Desert/IDs.lua b/scripts/zones/Eastern_Altepa_Desert/IDs.lua index 18787d406b8..5bc0bbcf400 100644 --- a/scripts/zones/Eastern_Altepa_Desert/IDs.lua +++ b/scripts/zones/Eastern_Altepa_Desert/IDs.lua @@ -28,6 +28,7 @@ zones[xi.zone.EASTERN_ALTEPA_DESERT] = AMK_DIGGING_OFFSET = 7650, -- You spot some familiar footprints. You are convinced that your moogle friend has been digging in the immediate vicinity. FOUND_ITEM_WITH_EASE = 7659, -- It appears your chocobo found this item with ease. ALREADY_OBTAINED_TELE = 7678, -- You already possess the gate crystal for this telepoint. + FEEL_A_HOSTILE_GAZE = 7683, -- You feel a hostile gaze upon you! GARRISON_BASE = 7705, -- Hm? What is this? %? How do I know this is not some [San d'Orian/Bastokan/Windurstian] trick? PLAYER_OBTAINS_ITEM = 7778, -- obtains ! UNABLE_TO_OBTAIN_ITEM = 7779, -- You were unable to obtain the item. diff --git a/scripts/zones/Eastern_Altepa_Desert/mobs/Decurio_I-III.lua b/scripts/zones/Eastern_Altepa_Desert/mobs/Decurio_I-III.lua index 0cde72c7614..76535808dd3 100644 --- a/scripts/zones/Eastern_Altepa_Desert/mobs/Decurio_I-III.lua +++ b/scripts/zones/Eastern_Altepa_Desert/mobs/Decurio_I-III.lua @@ -11,6 +11,15 @@ local entity = {} entity.onMobInitialize = function(mob) mob:setMobMod(xi.mobMod.IDLE_DESPAWN, 300) + + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.DARK_SLEEP) + mob:addImmunity(xi.immunity.SILENCE) + mob:addImmunity(xi.immunity.TERROR) +end + +entity.onMobSpawn = function(mob) + mob:setMobMod(xi.mobMod.MAGIC_DELAY, 0) end entity.onMobDeath = function(mob, player, optParams) diff --git a/scripts/zones/Eastern_Altepa_Desert/npcs/qm.lua b/scripts/zones/Eastern_Altepa_Desert/npcs/qm.lua index 9190352c2ea..d7ffd8f24cd 100644 --- a/scripts/zones/Eastern_Altepa_Desert/npcs/qm.lua +++ b/scripts/zones/Eastern_Altepa_Desert/npcs/qm.lua @@ -15,9 +15,9 @@ entity.onTrigger = function(player, npc) if player:getCharVar('aCraftsmanWork') == 1 and decurioKilled == 0 and - not GetMobByID(ID.mob.DECURIO_I_III):isSpawned() + npcUtil.popFromQM(player, npc, ID.mob.DECURIO_I_III) then - SpawnMob(ID.mob.DECURIO_I_III, 300):updateClaim(player) + player:messageSpecial(ID.text.FEEL_A_HOSTILE_GAZE) elseif decurioKilled == 1 then npcUtil.giveKeyItem(player, xi.ki.ALTEPA_POLISHING_STONE) player:setCharVar('aCraftsmanWork', 2) diff --git a/scripts/zones/Garlaige_Citadel/mobs/Chandelier.lua b/scripts/zones/Garlaige_Citadel/mobs/Chandelier.lua index b10544273a1..848d3fe4167 100644 --- a/scripts/zones/Garlaige_Citadel/mobs/Chandelier.lua +++ b/scripts/zones/Garlaige_Citadel/mobs/Chandelier.lua @@ -13,7 +13,7 @@ entity.onMobInitialize = function(mob) end entity.onMobSpawn = function(mob) - GetMobByID(ID.mob.CHANDELIER):setRespawnTime(0) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 400) end entity.onMobEngage = function(mob, target) @@ -21,10 +21,14 @@ entity.onMobEngage = function(mob, target) local ve = mob:getVE(target) if ce == 0 and ve == 0 then mob:setMobMod(xi.mobMod.NO_DROPS, 1) - mob:useMobAbility(511) -- self-destruct + mob:useMobAbility(509) -- Chandelier's self-destruct is similar to Volcanic Bomb's with a 1600ish cap and should be adjusted accordingly when its rewritten end end +entity.onMobMobskillChoose = function(mob, target, skillId) + return xi.mobSkill.BERSERK_BOMB +end + entity.onMobDeath = function(mob, player, optParams) GetNPCByID(ID.npc.CHANDELIER_QM):setLocalVar('chandelierCooldown', GetSystemTime() + 600) -- 10 minute timeout end diff --git a/scripts/zones/North_Gustaberg/mobs/Gambilox_Wanderling.lua b/scripts/zones/North_Gustaberg/mobs/Gambilox_Wanderling.lua index bee778062d6..720fd730024 100644 --- a/scripts/zones/North_Gustaberg/mobs/Gambilox_Wanderling.lua +++ b/scripts/zones/North_Gustaberg/mobs/Gambilox_Wanderling.lua @@ -3,6 +3,8 @@ -- Mob: Gambilox Wanderling -- Quest NM - "As Thick as Thieves" ----------------------------------- +mixins = { require('scripts/mixins/job_special') } +----------------------------------- ---@type TMobEntity local entity = {} @@ -10,6 +12,15 @@ entity.onMobInitialize = function(mob) mob:setMobMod(xi.mobMod.IDLE_DESPAWN, 300) end +entity.onMobSpawn = function(mob) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 150) + mob:setMod(xi.mod.DOUBLE_ATTACK, 50) + mob:setMod(xi.mod.STORETP, 200) -- 4 hits to 1k tp with 240 delay + + mob:setMod(xi.mod.DARK_SLEEP_RES_RANK, 9) + mob:setMod(xi.mod.LIGHT_SLEEP_RES_RANK, 9) +end + entity.onMobDeath = function(mob, player, optParams) end diff --git a/scripts/zones/Sauromugue_Champaign/mobs/Climbpix_Highrise.lua b/scripts/zones/Sauromugue_Champaign/mobs/Climbpix_Highrise.lua index ec15ba29e10..201f1c7290b 100644 --- a/scripts/zones/Sauromugue_Champaign/mobs/Climbpix_Highrise.lua +++ b/scripts/zones/Sauromugue_Champaign/mobs/Climbpix_Highrise.lua @@ -2,6 +2,8 @@ -- Area: Sauromugue Champaign -- NM: Climbpix Highrise ----------------------------------- +mixins = { require('scripts/mixins/job_special') } +----------------------------------- ---@type TMobEntity local entity = {} @@ -9,6 +11,12 @@ entity.onMobInitialize = function(mob) mob:setMobMod(xi.mobMod.IDLE_DESPAWN, 180) end +entity.onMobSpawn = function(mob) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 150) + mob:setMod(xi.mod.DARK_SLEEP_RES_RANK, 9) + mob:setMod(xi.mod.LIGHT_SLEEP_RES_RANK, 9) +end + entity.onMobDeath = function(mob, player, optParams) xi.regime.checkRegime(player, mob, 97, 2, xi.regime.type.FIELDS) xi.regime.checkRegime(player, mob, 98, 2, xi.regime.type.FIELDS) diff --git a/sql/mob_groups.sql b/sql/mob_groups.sql index 44b8081b2b8..d4f6ec89448 100644 --- a/sql/mob_groups.sql +++ b/sql/mob_groups.sql @@ -7959,7 +7959,7 @@ INSERT INTO `mob_groups` VALUES (39,1267,105,'Evil_Weapon',300,0,0,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (40,5758,105,'Prankster_Maverix',0,32,1610,5500,0,0,'WOTG'); INSERT INTO `mob_groups` VALUES (41,66,105,'Ahtu',0,128,33,2500,0,0,NULL); INSERT INTO `mob_groups` VALUES (42,6658,105,'Goblin_Digger',300,0,1040,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (43,3800,105,'Sturmtiger',0,128,0,0,0,0,NULL); +INSERT INTO `mob_groups` VALUES (43,3800,105,'Sturmtiger',0,128,0,6800,0,0,NULL); INSERT INTO `mob_groups` VALUES (44,3809,105,'Suparna',0,128,0,10000,0,0,NULL); INSERT INTO `mob_groups` VALUES (45,3810,105,'Suparna_Fledgling',0,128,0,8000,0,0,NULL); INSERT INTO `mob_groups` VALUES (46,322,105,'Badshah',0,128,0,1200,1200,0,NULL); @@ -8031,7 +8031,7 @@ INSERT INTO `mob_groups` VALUES (30,1690,106,'Goblin_Mugger',300,0,1117,0,0,0,NU INSERT INTO `mob_groups` VALUES (31,1683,106,'Goblin_Leecher',300,0,1098,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (32,1666,106,'Goblin_Gambler',300,0,1081,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (33,1648,106,'Goblin_Digger',300,0,1039,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (34,1456,106,'Gambilox_Wanderling',0,128,0,0,0,0,NULL); +INSERT INTO `mob_groups` VALUES (34,1456,106,'Gambilox_Wanderling',0,128,0,8525,0,0,NULL); -- garrison INSERT INTO `mob_groups` VALUES (35,6973,106,'Old_Quadav',0,128,3226,0,0,0,NULL); @@ -8613,7 +8613,7 @@ INSERT INTO `mob_groups` VALUES (33,2398,114,'Lesser_Manticore',300,0,633,0,0,0, INSERT INTO `mob_groups` VALUES (34,5855,114,'Nandi',0,128,3067,4500,0,0,'WOTG'); INSERT INTO `mob_groups` VALUES (35,1084,114,'Doom_Scorpion',300,0,681,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (36,6658,114,'Goblin_Digger',300,0,1042,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (37,948,114,'Decurio_I-III',0,128,0,5000,0,0,NULL); +INSERT INTO `mob_groups` VALUES (37,948,114,'Decurio_I-III',0,128,0,4000,4000,0,NULL); INSERT INTO `mob_groups` VALUES (38,4045,114,'Tsuchigumo',0,128,0,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (39,1983,114,'Hobgoblin_Warrior',0,128,0,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (40,1984,114,'Hobgoblin_White_Mage',0,128,0,0,0,0,NULL); @@ -9060,7 +9060,7 @@ INSERT INTO `mob_groups` VALUES (38,5730,120,'Blighting_Brand',0,32,2994,4900,49 INSERT INTO `mob_groups` VALUES (39,1266,120,'Evil_Spirit',300,1,264,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (40,6658,120,'Goblin_Digger',300,0,1040,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (41,3376,120,'Roc',0,128,2112,28500,0,0,NULL); -INSERT INTO `mob_groups` VALUES (42,741,120,'Climbpix_Highrise',0,128,478,0,0,0,NULL); +INSERT INTO `mob_groups` VALUES (42,741,120,'Climbpix_Highrise',0,128,478,5400,0,0,NULL); INSERT INTO `mob_groups` VALUES (43,3745,120,'Sprite',0,128,2001,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (44,328,120,'Balam-Agab',0,128,0,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (45,1119,120,'Dribblix_Greasemaw',0,128,0,0,0,0,NULL); @@ -13516,7 +13516,7 @@ INSERT INTO `mob_groups` VALUES (19,1160,200,'Earth_Elemental',300,4,733,0,0,0,N INSERT INTO `mob_groups` VALUES (20,6597,200,'Droma',300,0,708,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (21,3912,200,'Thunder_Elemental',300,4,2413,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (22,1290,200,'Fallen_Officer_blm',300,0,814,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (23,692,200,'Chandelier',0,128,451,3500,0,0,NULL); +INSERT INTO `mob_groups` VALUES (23,692,200,'Chandelier',0,128,451,11000,0,0,NULL); INSERT INTO `mob_groups` VALUES (24,38,200,'Acid_Grease',300,0,16,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (25,4379,200,'Wraith',300,0,2675,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (26,689,200,'Chamber_Beetle',300,0,448,0,0,0,NULL); diff --git a/sql/mob_pools.sql b/sql/mob_pools.sql index 808e99232a9..030b24cfd64 100644 --- a/sql/mob_pools.sql +++ b/sql/mob_pools.sql @@ -747,7 +747,7 @@ INSERT INTO `mob_pools` VALUES (688,'Chahnameeds_Stomach','Chahnameeds_Stomach', INSERT INTO `mob_pools` VALUES (689,'Chamber_Beetle','Chamber_Beetle',49,0x0000980100000000000000000000000000000000,7,7,8,240,100,0,1,0,1,0,0,0,7738,133,0,0,0,0,0,49,49,2,14); INSERT INTO `mob_pools` VALUES (690,'Champaign_Coeurl','Champaign_Coeurl',71,0x00006F0100000000000000000000000000000000,1,1,2,240,100,0,1,0,0,0,0,0,293,131,0,0,0,0,0,71,71,1,16); INSERT INTO `mob_pools` VALUES (691,'Chamrosh','Chamrosh',287,0x0000B80600000000000000000000000000000000,5,4,2,220,100,0,0,0,0,2,56,32,0,157,5,0,0,0,0,287,287,2,13); -INSERT INTO `mob_pools` VALUES (692,'Chandelier','Chandelier',56,0x0000180100000000000000000000000000000000,1,1,6,240,100,0,1,0,0,2,0,0,837,133,0,0,0,0,0,56,56,2,13); +INSERT INTO `mob_pools` VALUES (692,'Chandelier','Chandelier',56,0x0000180100000000000000000000000000000000,1,1,6,200,100,0,1,0,0,2,0,0,837,133,0,0,0,0,0,56,56,2,13); INSERT INTO `mob_pools` VALUES (693,'Chaos_Elemental','Chaos_Elemental',104,0x0000BA0100000000000000000000000000000000,3,3,11,240,100,0,1,0,0,2,0,0,840,131,16,0,20,0,0,104,104,1,3); INSERT INTO `mob_pools` VALUES (694,'Chaos_Idol','Chaos_Idol',85,0x0000300100000000000000000000000000000000,1,1,12,240,100,0,1,0,0,0,0,0,261,129,4,0,0,0,0,85,85,0,25); INSERT INTO `mob_pools` VALUES (695,'Chaos_Wyvern','Chaos_Wyvern',266,0x00008E0100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,16,0,0,6,129,0,0,0,0,0,1139,266,0,27); @@ -1003,7 +1003,7 @@ INSERT INTO `mob_pools` VALUES (944,'Decimator_Mabel_Ja','Decimator_Mabel_Ja',17 INSERT INTO `mob_pools` VALUES (945,'Decontaminator','Decontaminator',0,0x00009D0100000000000000000000000000000000,1,1,0,0,100,0,0,0,0,0,0,0,0,2177,0,0,0,24,0,0,0,0,32); INSERT INTO `mob_pools` VALUES (946,'Decorative_Weapon','Decorative_Weapon',110,0x0000C30100000000000000000000000000000000,1,1,3,240,100,0,1,0,0,0,0,0,292,643,8,0,0,0,0,110,110,1,20); INSERT INTO `mob_pools` VALUES (947,'Decrepit_Gnole','Decrepit_Gnole',132,0x0000F10700000000000000000000000000000000,2,2,1,480,100,0,1,0,0,0,0,0,348,131,4,0,0,0,0,132,132,1,17); -INSERT INTO `mob_pools` VALUES (948,'Decurio_I-III','Decurio_I-III',25,0x0000EF0400000000000000000000000000000000,7,7,11,265,100,0,1,0,1,2,0,0,910,131,0,0,4,0,0,25,25,1,12); +INSERT INTO `mob_pools` VALUES (948,'Decurio_I-III','Decurio_I-III',25,0x0000EF0400000000000000000000000000000000,7,7,11,280,100,0,1,0,1,2,0,0,910,131,0,0,4,0,0,25,25,1,12); INSERT INTO `mob_pools` VALUES (949,'Decurio_XIII-LV','Decurio_XIII-LV',25,0x0000020500000000000000000000000000000000,4,4,12,265,100,0,1,0,1,2,0,0,0,3,0,0,2,0,0,25,25,NULL,NULL); INSERT INTO `mob_pools` VALUES (950,'Deelgeed','Deelgeed',58,0x0000480500000000000000000000000000000000,1,1,6,240,100,0,1,1,1,2,0,0,0,157,0,0,0,0,0,982,58,2,19); INSERT INTO `mob_pools` VALUES (951,'Deep_Eye','Deep_Eye',4,0x0000090100000000000000000000000000000000,4,4,12,240,100,0,1,0,1,0,0,0,1,133,16,0,11,0,0,4,4,2,27); @@ -3856,7 +3856,7 @@ INSERT INTO `mob_pools` VALUES (3796,'Stubborn_Dredvodd','Stubborn_Dredvodd',189 INSERT INTO `mob_pools` VALUES (3797,'Student_Salvemi','Student_Salvemi',153,0x0100050500000B20133013401350296100000000,1,1,0,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,153,NULL,NULL); INSERT INTO `mob_pools` VALUES (3798,'Sturdy_Pyxis','Sturdy_Pyxis',183,0x00000B0100000000000000000000000000000000,1,1,3,240,100,0,0,0,0,0,0,0,0,4739,12,0,0,100,0,0,183,1,16); INSERT INTO `mob_pools` VALUES (3799,'Sturm','Sturm',143,0x00006C0100000000000000000000000000000000,6,6,3,240,100,0,1,0,1,2,0,0,100,131,0,0,0,0,0,143,143,1,25); -INSERT INTO `mob_pools` VALUES (3800,'Sturmtiger','Sturmtiger',242,0x0000340100000000000000000000000000000000,1,1,7,240,100,0,1,0,1,2,0,0,7175,133,0,0,0,0,0,242,242,NULL,NULL); +INSERT INTO `mob_pools` VALUES (3800,'Sturmtiger','Sturmtiger',242,0x0000340100000000000000000000000000000000,1,1,7,125,100,0,1,0,1,2,0,0,7175,133,0,0,0,0,0,242,242,2,29); INSERT INTO `mob_pools` VALUES (3801,'Stygian_Demon_UR','Stygian_Demon_UR',169,0x0000E80200000000000000000000000000000000,15,15,4,240,100,0,1,0,1,0,0,0,292,131,0,0,31,0,0,169,169,1,17); INSERT INTO `mob_pools` VALUES (3802,'Stygian_Djinn','Stygian_Djinn',82,0x0000C40800000000000000000000000000000000,1,1,11,240,100,0,1,0,0,0,0,0,0,131,0,0,0,0,0,82,82,1,12); INSERT INTO `mob_pools` VALUES (3803,'Stygian_Pugil','Stygian_Pugil',197,0x00005C0100000000000000000000000000000000,1,1,7,240,100,0,1,0,0,0,0,0,0,133,0,0,0,0,0,197,197,2,32); diff --git a/sql/mob_skills.sql b/sql/mob_skills.sql index be525317e30..a971d0f14d6 100644 --- a/sql/mob_skills.sql +++ b/sql/mob_skills.sql @@ -533,7 +533,7 @@ INSERT INTO `mob_skills` VALUES (505,862,'venom_shell',1,0.0,15.0,2000,0,4,0,0,0 INSERT INTO `mob_skills` VALUES (506,863,'palsynyxis',0,0.0,7.0,2000,1600,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (507,864,'painful_whip',0,0.0,7.0,2000,1200,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (508,865,'suctorial_tentacle',0,0.0,7.0,2000,800,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (509,253,'self-destruct_bomb',1,0.0,20.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (509,253,'self-destruct_bomb',1,0.0,20.0,2000,4000,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (510,254,'berserk',0,0.0,7.0,2000,1500,1,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (511,253,'self-destruct_bomb_321',1,0.0,30.0,0,0,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (512,256,'heat_wave',0,0.0,7.0,2000,1500,4,0,0,0,0,0,0); diff --git a/sql/mob_spawn_points.sql b/sql/mob_spawn_points.sql index 3197281f000..1ff3f009676 100644 --- a/sql/mob_spawn_points.sql +++ b/sql/mob_spawn_points.sql @@ -36387,7 +36387,7 @@ INSERT INTO `mob_spawn_points` VALUES (17211844,0,'Goblin_Gambler','Goblin Gambl INSERT INTO `mob_spawn_points` VALUES (17211845,0,'Goblin_Leecher','Goblin Leecher',31,21,23,-485.323,98.103,416.005,127); INSERT INTO `mob_spawn_points` VALUES (17211846,0,'Goblin_Gambler','Goblin Gambler',32,21,23,-390.051,97.756,437.450,4); INSERT INTO `mob_spawn_points` VALUES (17211847,0,'Goblin_Digger','Goblin Digger',33,5,8,197.132,-40.437,501.941,81); -INSERT INTO `mob_spawn_points` VALUES (17211848,0,'Gambilox_Wanderling','Gambilox Wanderling',34,53,53,-230.000,98.000,440.000,0); +INSERT INTO `mob_spawn_points` VALUES (17211848,0,'Gambilox_Wanderling','Gambilox Wanderling',34,53,53,-220.962,98.051,440.458,0); -- Garrison INSERT INTO `mob_spawn_points` VALUES (17211849,0,'Old_Quadav','Old Quadav',35,20,25,-560.733,39.555,71.004,106); @@ -40036,7 +40036,7 @@ INSERT INTO `mob_spawn_points` VALUES (17244519,0,'Flesh_Eater','Flesh Eater',13 INSERT INTO `mob_spawn_points` VALUES (17244520,0,'Doom_Scorpion','Doom Scorpion',35,44,47,-71.603,-15.605,57.610,127); INSERT INTO `mob_spawn_points` VALUES (17244521,0,'Doom_Scorpion','Doom Scorpion',35,44,47,-269.405,-0.099,-6.951,94); INSERT INTO `mob_spawn_points` VALUES (17244522,0,'Goblin_Digger','Goblin Digger',36,45,49,-211.184,7.776,-136.339,127); -INSERT INTO `mob_spawn_points` VALUES (17244523,0,'Decurio_I-III','Decurio I-III',37,55,55,111.000,-7.000,-75.000,173); +INSERT INTO `mob_spawn_points` VALUES (17244523,0,'Decurio_I-III','Decurio I-III',37,47,47,112.012,-8.553,-72.767,173); INSERT INTO `mob_spawn_points` VALUES (17244524,0,'Tsuchigumo','Tsuchigumo',38,42,42,45.000,-8.000,404.000,33); INSERT INTO `mob_spawn_points` VALUES (17244525,0,'Tsuchigumo','Tsuchigumo',38,42,42,46.000,-8.000,404.000,33); INSERT INTO `mob_spawn_points` VALUES (17244526,0,'Hobgoblin_Warrior','Hobgoblin Warrior',39,50,55,0.000,0.000,0.000,0); @@ -68958,7 +68958,7 @@ INSERT INTO `mob_spawn_points` VALUES (17596529,0,'Fallen_Officer','Fallen Offic INSERT INTO `mob_spawn_points` VALUES (17596530,0,'Fallen_Officer','Fallen Officer',46,52,55,19.000,2.000,261.000,54); INSERT INTO `mob_spawn_points` VALUES (17596531,0,'Fallen_Officer','Fallen Officer',22,52,55,19.000,-0.032,310.000,72); INSERT INTO `mob_spawn_points` VALUES (17596532,0,'Fallen_Officer','Fallen Officer',22,52,55,0.500,-0.012,300.000,2); -INSERT INTO `mob_spawn_points` VALUES (17596533,0,'Chandelier','Chandelier',23,63,63,19.000,1.000,325.000,10); +INSERT INTO `mob_spawn_points` VALUES (17596533,0,'Chandelier','Chandelier',23,63,63,19.000,1.000,325.000,67); INSERT INTO `mob_spawn_points` VALUES (17596534,0,'Funnel_Bats','Funnel Bats',36,51,55,-53.542,6.523,302.549,216); INSERT INTO `mob_spawn_points` VALUES (17596535,0,'Funnel_Bats','Funnel Bats',36,51,55,-56.540,8.283,295.116,201); INSERT INTO `mob_spawn_points` VALUES (17596536,0,'Fetid_Flesh','Fetid Flesh',16,54,56,-83.768,6.232,298.557,115); From c8149b5c19095db7cc7867eb50aef1fa6629fca0 Mon Sep 17 00:00:00 2001 From: ThrisStraizo <45871917+ThrisStraizo@users.noreply.github.com> Date: Wed, 28 Jan 2026 19:08:31 -0800 Subject: [PATCH 2/2] Guivre Audit This PR corrects Guivre's Job, Delay, DMG, Immunities, HP, Gil drop, Multi rate, and movespeed. --- .../zones/Garlaige_Citadel/mobs/Chandelier.lua | 2 +- scripts/zones/Kuftal_Tunnel/mobs/Guivre.lua | 17 ++++++++++++----- sql/mob_groups.sql | 2 +- sql/mob_pools.sql | 2 +- sql/mob_spawn_points.sql | 2 +- 5 files changed, 16 insertions(+), 9 deletions(-) diff --git a/scripts/zones/Garlaige_Citadel/mobs/Chandelier.lua b/scripts/zones/Garlaige_Citadel/mobs/Chandelier.lua index 848d3fe4167..787d6594f17 100644 --- a/scripts/zones/Garlaige_Citadel/mobs/Chandelier.lua +++ b/scripts/zones/Garlaige_Citadel/mobs/Chandelier.lua @@ -21,7 +21,7 @@ entity.onMobEngage = function(mob, target) local ve = mob:getVE(target) if ce == 0 and ve == 0 then mob:setMobMod(xi.mobMod.NO_DROPS, 1) - mob:useMobAbility(509) -- Chandelier's self-destruct is similar to Volcanic Bomb's with a 1600ish cap and should be adjusted accordingly when its rewritten + mob:useMobAbility(xi.mobSkill.SELF_DESTRUCT_BOMB) -- Chandelier's self-destruct is similar to Volcanic Bomb's with a 1600ish cap and should be adjusted accordingly when its rewritten end end diff --git a/scripts/zones/Kuftal_Tunnel/mobs/Guivre.lua b/scripts/zones/Kuftal_Tunnel/mobs/Guivre.lua index 9c17c5467e9..919ca878d0c 100644 --- a/scripts/zones/Kuftal_Tunnel/mobs/Guivre.lua +++ b/scripts/zones/Kuftal_Tunnel/mobs/Guivre.lua @@ -200,20 +200,27 @@ local pathFind = } entity.onMobInitialize = function(mob) - -- Guivre has increased movespeed, sight range with - -- Natural double/triple attack. - mob:setMod(xi.mobMod.RUN_SPEED_MULT, 300) - mob:setMod(xi.mod.DOUBLE_ATTACK, 25) - mob:setMod(xi.mod.TRIPLE_ATTACK, 15) + -- Guivre has increased sight range mob:setMobMod(xi.mobMod.SIGHT_RANGE, 30) mob:setMobMod(xi.mobMod.ALWAYS_AGGRO, 1) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.DARK_SLEEP) + mob:addImmunity(xi.immunity.PLAGUE) + mob:addImmunity(xi.immunity.TERROR) + mob:addImmunity(xi.immunity.GRAVITY) + + mob:setMobMod(xi.mobMod.GIL_MIN, 12000) + mob:setMobMod(xi.mobMod.GIL_MAX, 12000) + xi.mob.updateNMSpawnPoint(mob) mob:setRespawnTime(math.random(900, 10800)) end entity.onMobSpawn = function(mob) -- Guivre will despawn if not claimed within 3-5 hours. + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 200) + mob:setMod(xi.mod.DOUBLE_ATTACK, 15) mob:setLocalVar('despawnTime', math.random(10800, 18000) + GetSystemTime()) mob:setLocalVar('isPaused', 0) mob:setLocalVar('mobPath', 1) diff --git a/sql/mob_groups.sql b/sql/mob_groups.sql index d4f6ec89448..1ebc53a9f66 100644 --- a/sql/mob_groups.sql +++ b/sql/mob_groups.sql @@ -12217,7 +12217,7 @@ INSERT INTO `mob_groups` VALUES (34,2664,174,'Mimic',0,128,1685,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (35,620,174,'Cancer',0,128,403,6200,0,0,NULL); INSERT INTO `mob_groups` VALUES (36,3375,174,'Robber_Crab',0,128,2110,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (37,3129,174,'Phantom_Worm',0,128,1994,7500,7500,0,NULL); -INSERT INTO `mob_groups` VALUES (38,1841,174,'Guivre',0,128,1252,22000,0,0,NULL); +INSERT INTO `mob_groups` VALUES (38,1841,174,'Guivre',0,128,1252,13500,0,0,NULL); INSERT INTO `mob_groups` VALUES (39,2214,174,'Kettenkaefer',0,128,0,10500,0,0,NULL); INSERT INTO `mob_groups` VALUES (40,5180,174,'Tangaroa',0,128,0,0,50000,0,NULL); INSERT INTO `mob_groups` VALUES (41,5181,174,'Koura',0,128,0,0,9999,0,NULL); diff --git a/sql/mob_pools.sql b/sql/mob_pools.sql index 030b24cfd64..a611bbffac0 100644 --- a/sql/mob_pools.sql +++ b/sql/mob_pools.sql @@ -1896,7 +1896,7 @@ INSERT INTO `mob_pools` VALUES (1837,'Gugru_Crab','Gugru_Crab',77,0x000064010000 INSERT INTO `mob_pools` VALUES (1838,'Gugru_Jagil','Gugru_Jagil',197,0x00005D0100000000000000000000000000000000,1,1,7,240,100,0,1,0,0,4,0,0,79,131,0,0,0,0,0,709,197,NULL,NULL); INSERT INTO `mob_pools` VALUES (1839,'Gugru_Orobon','Gugru_Orobon',191,0x0000C10600000000000000000000000000000000,1,1,7,240,100,0,1,0,0,4,0,0,79,131,0,0,0,0,0,191,191,NULL,NULL); INSERT INTO `mob_pools` VALUES (1840,'Guimauve','Guimauve',112,0x0000080700000000000000000000000000000000,4,4,11,240,100,0,0,0,0,0,0,0,1,647,13,0,170,0,0,299,112,3,16); -INSERT INTO `mob_pools` VALUES (1841,'Guivre','Guivre',267,0x00008E0100000000000000000000000000000000,6,6,7,240,100,0,1,0,0,2,0,32,0,159,0,0,0,0,0,267,267,3,44); +INSERT INTO `mob_pools` VALUES (1841,'Guivre','Guivre',267,0x00008E0100000000000000000000000000000000,1,1,7,180,100,0,1,0,0,2,0,32,0,159,0,0,0,0,0,267,267,3,44); INSERT INTO `mob_pools` VALUES (1842,'Gukumatz','Gukumatz',192,0x0000DF0700000000000000000000000000000000,1,1,6,240,100,0,0,0,0,2,0,32,0,157,0,0,0,0,0,892,192,2,20); INSERT INTO `mob_pools` VALUES (1843,'Gulch_Limule','Gulch_Limule',173,0x00004D0900000000000000000000000000000000,4,5,11,240,100,0,1,0,0,0,0,0,0,641,0,0,2,0,0,173,173,0,6); INSERT INTO `mob_pools` VALUES (1844,'Gullycampa','Gullycampa',254,0x00000A0700000000000000000000000000000000,1,1,11,240,100,0,0,0,1,0,0,0,0,129,4,0,0,0,0,254,254,0,10); diff --git a/sql/mob_spawn_points.sql b/sql/mob_spawn_points.sql index 1ff3f009676..94dcb728407 100644 --- a/sql/mob_spawn_points.sql +++ b/sql/mob_spawn_points.sql @@ -61072,7 +61072,7 @@ INSERT INTO `mob_spawn_points` VALUES (17490230,0,'Mimic','Mimic',34,60,60,1.000 INSERT INTO `mob_spawn_points` VALUES (17490231,0,'Cancer','Cancer',35,65,65,-21.291,-10.899,-147.523,35); INSERT INTO `mob_spawn_points` VALUES (17490232,0,'Robber_Crab','Robber Crab',36,60,63,-21.291,-10.899,-147.523,35); INSERT INTO `mob_spawn_points` VALUES (17490233,0,'Phantom_Worm','Phantom Worm',37,70,72,76.943,29.916,118.854,0); -INSERT INTO `mob_spawn_points` VALUES (17490234,0,'Guivre','Guivre',38,82,83,119.000,-0.010,38.000,127); +INSERT INTO `mob_spawn_points` VALUES (17490234,0,'Guivre','Guivre',38,84,84,119.000,-0.010,38.000,127); INSERT INTO `mob_spawn_points` VALUES (17490235,0,'Kettenkaefer','Kettenkaefer',39,80,80,204.052,10.250,96.414,223); INSERT INTO `mob_spawn_points` VALUES (17490236,0,'Tangaroa','Tangaroa',40,96,97,-48.532,0.001,39.542,149); INSERT INTO `mob_spawn_points` VALUES (17490237,0,'Koura','Koura',41,92,93,-42.900,-0.026,44.017,128);