From e9ecd85107c281402416262beca5171f15b01d0f Mon Sep 17 00:00:00 2001 From: ThrisStraizo <45871917+ThrisStraizo@users.noreply.github.com> Date: Mon, 9 Feb 2026 19:24:49 -0800 Subject: [PATCH] BRD AF1 and AF2 Audit This PR audits the HP/MP/DMG/Immunities/STP and general behavior of mobs from the BRD AF1 and AF2 fights. --- scripts/zones/Ranguemont_Pass/mobs/Tros.lua | 28 +++++++++++++++++++ .../mobs/Dog_Guardian.lua | 4 ++- .../mobs/Owl_Guardian.lua | 4 ++- .../The_Eldieme_Necropolis/mobs/Yum_Kimil.lua | 27 ++++++++++++++++++ sql/mob_groups.sql | 8 +++--- sql/mob_pools.sql | 2 +- 6 files changed, 66 insertions(+), 7 deletions(-) diff --git a/scripts/zones/Ranguemont_Pass/mobs/Tros.lua b/scripts/zones/Ranguemont_Pass/mobs/Tros.lua index be224e28e48..5ee6d90b1da 100644 --- a/scripts/zones/Ranguemont_Pass/mobs/Tros.lua +++ b/scripts/zones/Ranguemont_Pass/mobs/Tros.lua @@ -10,6 +10,34 @@ local entity = {} entity.onMobInitialize = function(mob) mob:setMobMod(xi.mobMod.IDLE_DESPAWN, 180) mob:addImmunity(xi.immunity.DARK_SLEEP) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:setMobMod(xi.mobMod.MAGIC_COOL, 35) + mob:setMobMod(xi.mobMod.ADD_EFFECT, 1) +end + +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.STORETP, 125) -- 6 hits to 1k tp + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 150) + mob:setMod(xi.mod.SILENCE_RES_RANK, 10) + + mob:setMod(xi.mod.SLASH_SDT, -4000) -- Takes significantly reduced physical damage + mob:setMod(xi.mod.PIERCE_SDT, -4000) + mob:setMod(xi.mod.IMPACT_SDT, -4000) + mob:setMod(xi.mod.HTH_SDT, -4000) +end + +entity.onAdditionalEffect = function(mob, target, damage) + local pTable = + { + chance = 20, + attackType = xi.attackType.MAGICAL, + magicalElement = xi.element.WATER, + basePower = math.random(150, 200), + actorStat = xi.mod.INT, + canResist = true, + } + + return xi.combat.action.executeAddEffectDamage(mob, target, pTable) end return entity diff --git a/scripts/zones/The_Eldieme_Necropolis/mobs/Dog_Guardian.lua b/scripts/zones/The_Eldieme_Necropolis/mobs/Dog_Guardian.lua index d8498f544cc..3d681fb1eea 100644 --- a/scripts/zones/The_Eldieme_Necropolis/mobs/Dog_Guardian.lua +++ b/scripts/zones/The_Eldieme_Necropolis/mobs/Dog_Guardian.lua @@ -7,9 +7,11 @@ local entity = {} entity.onMobInitialize = function(mob) mob:setMobMod(xi.mobMod.IDLE_DESPAWN, 180) + mob:addImmunity(xi.immunity.DARK_SLEEP) end -entity.onMobDeath = function(mob, player, optParams) +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.STORETP, 35) -- 10 hits to 1k tp end return entity diff --git a/scripts/zones/The_Eldieme_Necropolis/mobs/Owl_Guardian.lua b/scripts/zones/The_Eldieme_Necropolis/mobs/Owl_Guardian.lua index 5e24af40bad..d2f397c5cd8 100644 --- a/scripts/zones/The_Eldieme_Necropolis/mobs/Owl_Guardian.lua +++ b/scripts/zones/The_Eldieme_Necropolis/mobs/Owl_Guardian.lua @@ -7,9 +7,11 @@ local entity = {} entity.onMobInitialize = function(mob) mob:setMobMod(xi.mobMod.IDLE_DESPAWN, 180) + mob:addImmunity(xi.immunity.DARK_SLEEP) end -entity.onMobDeath = function(mob, player, optParams) +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.STORETP, 35) -- 10 hits to 1k tp end return entity diff --git a/scripts/zones/The_Eldieme_Necropolis/mobs/Yum_Kimil.lua b/scripts/zones/The_Eldieme_Necropolis/mobs/Yum_Kimil.lua index 6d47cc9bad5..d7ce4deb16e 100644 --- a/scripts/zones/The_Eldieme_Necropolis/mobs/Yum_Kimil.lua +++ b/scripts/zones/The_Eldieme_Necropolis/mobs/Yum_Kimil.lua @@ -9,6 +9,33 @@ local entity = {} entity.onMobInitialize = function(mob) mob:setMobMod(xi.mobMod.IDLE_DESPAWN, 300) + mob:setMobMod(xi.mobMod.ADD_EFFECT, 1) + mob:addImmunity(xi.immunity.DARK_SLEEP) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:setMobMod(xi.mobMod.MAGIC_COOL, 35) + mob:setMobMod(xi.mobMod.NO_STANDBACK, 1) +end + +entity.onMobSpawn = function(mob) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 150) + mob:setMobMod(xi.mobMod.MAGIC_DELAY, 0) + mob:setMod(xi.mod.PARALYZE_RES_RANK, 4) + mob:setMod(xi.mod.BIND_RES_RANK, 4) + mob:setMod(xi.mod.ICE_RES_RANK, 4) +end + +entity.onAdditionalEffect = function(mob, target, damage) + local pTable = + { + chance = 100, + attackType = xi.attackType.MAGICAL, + magicalElement = xi.element.FIRE, + basePower = math.random(150, 200), + actorStat = xi.mod.INT, + canResist = true, + } + + return xi.combat.action.executeAddEffectDamage(mob, target, pTable) end entity.onMobDeath = function(mob, player, optParams) diff --git a/sql/mob_groups.sql b/sql/mob_groups.sql index aedff761f77..e5a27f86402 100644 --- a/sql/mob_groups.sql +++ b/sql/mob_groups.sql @@ -11813,7 +11813,7 @@ INSERT INTO `mob_groups` VALUES (24,6655,166,'Goblin_Tanner',300,0,1065,0,0,0,'A INSERT INTO `mob_groups` VALUES (25,6668,166,'Goblin_Chaser',300,0,1124,0,0,0,'ABYSSEA'); INSERT INTO `mob_groups` VALUES (26,1721,166,'Goblins_Bats',0,128,0,0,0,0,'ABYSSEA'); INSERT INTO `mob_groups` VALUES (27,1267,166,'Evil_Weapon',660,0,799,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (28,4041,166,'Tros',0,128,0,0,0,0,NULL); +INSERT INTO `mob_groups` VALUES (28,4041,166,'Tros',0,128,0,3000,2000,0,NULL); INSERT INTO `mob_groups` VALUES (29,2633,166,'Metallic_Slime',0,128,0,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (30,0,166,'Arcus_Blades',0,128,0,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (31,6883,166,'Hyakume',0,32,0,0,0,0,'WOTG'); @@ -13330,9 +13330,9 @@ INSERT INTO `mob_groups` VALUES (44,3741,195,'Spriggan_war',960,0,2311,0,0,0,NUL INSERT INTO `mob_groups` VALUES (45,5415,195,'Spriggan_blm',960,0,2311,0,5000,0,NULL); INSERT INTO `mob_groups` VALUES (46,5416,195,'Spriggan_thf',960,0,2311,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (47,5414,195,'Spriggan_rng',960,0,2311,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (48,4484,195,'Yum_Kimil',0,128,0,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (49,1075,195,'Dog_Guardian',0,128,0,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (50,3081,195,'Owl_Guardian',0,128,0,0,0,0,NULL); +INSERT INTO `mob_groups` VALUES (48,4484,195,'Yum_Kimil',0,128,0,7800,7800,0,NULL); +INSERT INTO `mob_groups` VALUES (49,1075,195,'Dog_Guardian',0,128,0,5500,0,0,NULL); +INSERT INTO `mob_groups` VALUES (50,3081,195,'Owl_Guardian',0,128,0,5500,0,0,NULL); INSERT INTO `mob_groups` VALUES (51,3799,195,'Sturm',0,128,0,12500,0,0,NULL); INSERT INTO `mob_groups` VALUES (52,3834,195,'Taifun',0,128,0,3000,0,0,NULL); INSERT INTO `mob_groups` VALUES (53,4038,195,'Trombe',0,128,0,3000,0,0,NULL); diff --git a/sql/mob_pools.sql b/sql/mob_pools.sql index 1fc5ec9d8b0..15e1fa3d41a 100644 --- a/sql/mob_pools.sql +++ b/sql/mob_pools.sql @@ -4097,7 +4097,7 @@ INSERT INTO `mob_pools` VALUES (4037,'Troll_Velites','Troll_Velites',246,0x0600B INSERT INTO `mob_pools` VALUES (4038,'Trombe','Trombe',242,0x0000340100000000000000000000000000000000,1,1,7,240,100,0,1,0,1,2,0,0,330,129,0,0,0,0,0,242,242,0,22); INSERT INTO `mob_pools` VALUES (4039,'Trompe_LOeil','Trompe_LOeil',135,0x0000B00100000000000000000000000000000000,1,1,11,320,100,0,1,0,0,2,0,0,0,133,0,0,0,0,0,135,135,2,22); INSERT INTO `mob_pools` VALUES (4040,'Tropical_Rarab','Tropical_Rarab',404,0x00000D0100000000000000000000000000000000,6,6,7,240,100,0,0,0,1,0,0,0,311,133,0,0,0,0,0,404,404,2,14); -INSERT INTO `mob_pools` VALUES (4041,'Tros','Tros',218,0x0000600100000000000000000000000000000000,2,4,7,360,100,0,1,0,0,2,0,32,534,155,0,0,83,0,0,218,218,1,17); +INSERT INTO `mob_pools` VALUES (4041,'Tros','Tros',218,0x0000600100000000000000000000000000000000,1,4,7,240,100,0,1,0,0,2,0,32,534,155,0,0,83,0,0,218,218,1,17); INSERT INTO `mob_pools` VALUES (4042,'Trotting_Sapling','Trotting_Sapling',216,0x0000880100000000000000000000000000000000,1,1,12,240,100,0,0,0,1,0,0,0,0,135,0,0,0,0,0,216,216,3,18); INSERT INTO `mob_pools` VALUES (4043,'Trudging_Thomas','Trudging_Thomas',208,0x0000580100000000000000000000000000000000,1,1,6,240,100,0,0,0,0,2,0,0,0,0,0,0,0,0,0,829,208,3,58); INSERT INTO `mob_pools` VALUES (4044,'Tsaagan','Tsaagan',210,0x00003C0100000000000000000000000000000000,1,1,7,240,100,0,0,0,0,0,0,0,2579,133,0,0,0,0,0,210,210,2,21);