From f32ef90c70e0b1dcf3c6cf6c5e71e0d45b55c31a Mon Sep 17 00:00:00 2001 From: Kipling Date: Fri, 17 Apr 2026 13:40:51 -0700 Subject: [PATCH] Riverne B NM Audits Riverne B01 Audits pt2 --- .../zones/Riverne-Site_B01/mobs/Boroka.lua | 3 + .../zones/Riverne-Site_B01/mobs/Imdugud.lua | 4 ++ .../mobs/Unstable_Cluster.lua | 55 +++++++++++++++++++ sql/mob_groups.sql | 2 +- sql/mob_pools.sql | 8 +-- sql/mob_spawn_points.sql | 4 +- 6 files changed, 69 insertions(+), 7 deletions(-) diff --git a/scripts/zones/Riverne-Site_B01/mobs/Boroka.lua b/scripts/zones/Riverne-Site_B01/mobs/Boroka.lua index 656689fad46..6765d1d5168 100644 --- a/scripts/zones/Riverne-Site_B01/mobs/Boroka.lua +++ b/scripts/zones/Riverne-Site_B01/mobs/Boroka.lua @@ -9,6 +9,9 @@ local entity = {} entity.onMobInitialize = function(mob) mob:addImmunity(xi.immunity.BIND) + mob:addImmunity(xi.immunity.GRAVITY) + mob:addImmunity(xi.immunity.TERROR) + mob:addImmunity(xi.immunity.PLAGUE) mob:setMobMod(xi.mobMod.ADD_EFFECT, 1) mob:setMobMod(xi.mobMod.MAGIC_COOL, 25) end diff --git a/scripts/zones/Riverne-Site_B01/mobs/Imdugud.lua b/scripts/zones/Riverne-Site_B01/mobs/Imdugud.lua index 9cb5e14d805..10f6f1fb700 100644 --- a/scripts/zones/Riverne-Site_B01/mobs/Imdugud.lua +++ b/scripts/zones/Riverne-Site_B01/mobs/Imdugud.lua @@ -78,6 +78,10 @@ entity.onMobInitialize = function(mob) mob:setMobMod(xi.mobMod.ADD_EFFECT, 1) end +entity.onMobSpawn = function(mob) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 150) +end + entity.onAdditionalEffect = function(mob, target, damage) return xi.mob.onAddEffect(mob, target, damage, xi.mob.ae.WEIGHT, { power = 50 }) end diff --git a/scripts/zones/Riverne-Site_B01/mobs/Unstable_Cluster.lua b/scripts/zones/Riverne-Site_B01/mobs/Unstable_Cluster.lua index 98a1844127e..052ddc9f36b 100644 --- a/scripts/zones/Riverne-Site_B01/mobs/Unstable_Cluster.lua +++ b/scripts/zones/Riverne-Site_B01/mobs/Unstable_Cluster.lua @@ -5,6 +5,28 @@ ---@type TMobEntity local entity = {} +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.TRIPLE_ATTACK, 100) + mob:setMod(xi.mod.DOUBLE_ATTACK, 0) + mob:addStatusEffect(xi.effect.BLAZE_SPIKES, { power = 13, origin = mob }) + mob:getStatusEffect(xi.effect.BLAZE_SPIKES):setEffectFlags(xi.effectFlag.DEATH) +end + +entity.onMobFight = function(mob, target) + if + mob:getAnimationSub() == 5 and + mob:getMod(xi.mod.TRIPLE_ATTACK) == 100 + then + mob:setMod(xi.mod.TRIPLE_ATTACK, 0) + mob:setMod(xi.mod.DOUBLE_ATTACK, 100) + elseif + mob:getAnimationSub() == 6 and + mob:getMod(xi.mod.DOUBLE_ATTACK) == 100 + then + mob:setMod(xi.mod.DOUBLE_ATTACK, 0) + end +end + entity.onMobMobskillChoose = function(mob, target, skillId) local tpList = { @@ -53,4 +75,37 @@ entity.onMobMobskillChoose = function(mob, target, skillId) return tpList[math.random(1, #tpList)] end +entity.onAdditionalEffect = function(mob, target, damage) + local pTable = + { + chance = 100, + attackType = xi.attackType.MAGICAL, + magicalElement = xi.element.FIRE, + basePower = math.floor(damage / 2), + actorStat = xi.mod.INT, + } + + return xi.combat.action.executeAddEffectDamage(mob, target, pTable) +end + +entity.onSpikesDamage = function(mob, target, damage) + -- "damage" is the power of the status effect up in onMobSpawn. + local intDiff = mob:getStat(xi.mod.INT) - target:getStat(xi.mod.INT) + local dmg = damage + intDiff + local params = {} + params.bonusmab = 0 + params.includemab = false + dmg = addBonusesAbility(mob, xi.element.FIRE, target, dmg, params) + dmg = dmg * applyResistanceAddEffect(mob, target, xi.element.FIRE, 0) + dmg = math.floor(dmg * xi.spells.damage.calculateAbsorption(target, xi.element.FIRE, true)) + dmg = math.floor(dmg * xi.spells.damage.calculateNullification(target, xi.element.FIRE, true, false)) + dmg = finalMagicNonSpellAdjustments(mob, target, xi.element.FIRE, dmg) + + if dmg < 0 then + dmg = 0 + end + + return xi.subEffect.BLAZE_SPIKES, xi.msg.basic.SPIKES_EFFECT_DMG, dmg +end + return entity diff --git a/sql/mob_groups.sql b/sql/mob_groups.sql index 2919516861e..10f8d11f443 100644 --- a/sql/mob_groups.sql +++ b/sql/mob_groups.sql @@ -1166,7 +1166,7 @@ INSERT INTO `mob_groups` VALUES (12,513,29,'Boroka',86400,0,341,9000,0,0,NULL); INSERT INTO `mob_groups` VALUES (13,3725,29,'Spell_Spitter_Spilospok',0,128,0,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (14,708,29,'Chemical_Cook_Chemachiq',0,128,0,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (15,503,29,'Book_Browser_Bokabraq',0,128,0,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (16,4102,29,'Unstable_Cluster',0,128,2523,10000,0,0,NULL); +INSERT INTO `mob_groups` VALUES (16,4102,29,'Unstable_Cluster',0,128,2523,10800,0,0,NULL); INSERT INTO `mob_groups` VALUES (17,325,29,'Bahamut',0,128,0,26000,15000,0,NULL); INSERT INTO `mob_groups` VALUES (18,3070,29,'Ouryu',0,128,0,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (19,3916,29,'Tiamat',0,128,0,0,0,0,NULL); diff --git a/sql/mob_pools.sql b/sql/mob_pools.sql index 071fb97a366..5b39344d23c 100644 --- a/sql/mob_pools.sql +++ b/sql/mob_pools.sql @@ -568,7 +568,7 @@ INSERT INTO `mob_pools` VALUES (509,'Boreal_Coeurl','Boreal_Coeurl',71,0x00006F0 INSERT INTO `mob_pools` VALUES (510,'Boreal_Hound','Boreal_Hound',142,0x00006C0100000000000000000000000000000000,8,4,3,220,100,0,1,1,0,2,0,0,7,133,0,0,100,0,0,142,142,2,28); INSERT INTO `mob_pools` VALUES (511,'Boreal_Tiger','Boreal_Tiger',242,0x0000340100000000000000000000000000000000,1,4,7,220,100,0,1,1,1,2,0,0,7,133,0,0,101,0,0,242,242,2,29); INSERT INTO `mob_pools` VALUES (512,'Borer_Beetle','Borer_Beetle',49,0x0000980100000000000000000000000000000000,7,7,8,240,100,0,1,0,0,0,0,0,1676,131,0,0,0,0,0,49,49,1,12); -INSERT INTO `mob_pools` VALUES (513,'Boroka','Boroka',140,0x0000550500000000000000000000000000000000,10,10,2,240,100,0,1,1,0,2,0,32,1247,159,0,0,6,0,0,141,141,3,16); +INSERT INTO `mob_pools` VALUES (513,'Boroka','Boroka',140,0x0000550500000000000000000000000000000000,10,10,2,210,100,0,1,1,0,2,0,32,1247,159,0,0,6,0,0,141,141,3,16); INSERT INTO `mob_pools` VALUES (514,'Bouncing_Ball','Bouncing_Ball',172,0x0000140100000000000000000000000000000000,1,1,7,240,100,0,1,0,1,0,0,0,0,645,0,0,0,0,0,172,172,2,12); INSERT INTO `mob_pools` VALUES (515,'Boyahda_Sapling','Boyahda_Sapling',216,0x0000880100000000000000000000000000000000,1,1,7,240,100,0,0,0,1,0,0,0,151,133,0,0,0,0,0,216,216,2,14); INSERT INTO `mob_pools` VALUES (516,'BoDho_Hundredfist','BoDho_Hundredfist',202,0x00006B0800000000000000000000000000000000,8,8,5,265,100,0,1,0,1,2,0,32,0,157,0,0,5,0,0,202,202,NULL,NULL); @@ -2115,7 +2115,7 @@ INSERT INTO `mob_pools` VALUES (2056,'Iktomi','Iktomi',235,0x0000380100000000000 INSERT INTO `mob_pools` VALUES (2057,'Iku-Turso','Iku-Turso',218,0x0000610100000000000000000000000000000000,4,4,12,240,100,0,0,0,0,2,0,32,0,1181,0,0,251,0,0,919,218,2,20); INSERT INTO `mob_pools` VALUES (2058,'Illusory_Pot','Illusory_Pot',175,0x00009C0100000000000000000000000000000000,5,1,7,240,100,0,1,0,0,0,0,0,3389,1157,0,0,36,0,0,175,175,2,43); INSERT INTO `mob_pools` VALUES (2059,'Illuyankas','Illuyankas',163,0x0000040700000000000000000000000000000000,1,1,7,240,100,1024,1,1,0,8,0,32,1075,1693,0,0,0,0,0,164,164,2,45); -INSERT INTO `mob_pools` VALUES (2060,'Imdugud','Imdugud',140,0x0000550500000000000000000000000000000000,6,6,11,240,100,0,1,1,0,2,0,0,0,3,0,0,0,0,0,141,141,2,13); +INSERT INTO `mob_pools` VALUES (2060,'Imdugud','Imdugud',140,0x0000550500000000000000000000000000000000,6,6,11,210,100,0,1,1,0,2,0,0,0,3,0,0,0,0,0,141,141,2,13); INSERT INTO `mob_pools` VALUES (2061,'Immobilizer','Immobilizer',63,0x00001E0700000000000000000000000000000000,1,1,0,240,100,0,0,0,0,0,0,0,0,3201,0,0,0,24,0,63,63,0,25); INSERT INTO `mob_pools` VALUES (2062,'Immolatory_Pugil','Immolatory_Pugil',197,0x00005C0100000000000000000000000000000000,1,1,7,240,100,0,1,0,1,0,0,0,302,1153,0,0,0,0,0,197,197,0,23); INSERT INTO `mob_pools` VALUES (2063,'Immortal_Flan','Immortal_Flan',112,0x0000070700000000000000000000000000000000,1,4,12,240,100,0,1,1,0,18,0,0,0,3,0,0,2,0,0,112,112,0,10); @@ -2937,7 +2937,7 @@ INSERT INTO `mob_pools` VALUES (2878,'Night_Eft','Night_Eft',98,0x00004505000000 INSERT INTO `mob_pools` VALUES (2879,'Nihhus','Nihhus',257,0x0000B90800000000000000000000000000000000,1,1,5,240,100,0,1,0,1,18,0,0,0,3,0,0,0,0,0,2045,257,2,32); INSERT INTO `mob_pools` VALUES (2880,'Nihniknoovi','Nihniknoovi',55,0x0000BC0100000000000000000000000000000000,1,1,5,220,100,0,1,0,1,2,0,32,7056,157,0,0,0,0,0,55,55,NULL,NULL); INSERT INTO `mob_pools` VALUES (2881,'Nikilulu','Nikilulu',196,0x0000140700000000000000000000000000000000,4,4,7,150,100,0,1,0,1,2,0,32,0,153,0,0,0,1,0,196,196,0,6); -INSERT INTO `mob_pools` VALUES (2882,'Nimbus_Hippogryph','Nimbus_Hippogryph',140,0x0000550500000000000000000000000000000000,6,6,2,240,100,0,1,1,0,0,0,0,290,131,0,0,0,0,0,140,140,1,12); +INSERT INTO `mob_pools` VALUES (2882,'Nimbus_Hippogryph','Nimbus_Hippogryph',140,0x0000550500000000000000000000000000000000,6,6,2,210,100,0,1,1,0,0,0,0,290,131,0,0,0,0,0,140,140,1,12); INSERT INTO `mob_pools` VALUES (2883,'Nine_of_Batons','Nine_of_Batons',61,0x0000AF0100000000000000000000000000000000,4,4,12,240,100,0,1,0,1,0,0,0,1286,131,8,0,2,0,0,61,61,1,12); INSERT INTO `mob_pools` VALUES (2884,'Nine_of_Coins','Nine_of_Coins',61,0x0000AF0100000000000000000000000000000000,5,5,11,240,100,0,1,0,1,0,0,0,1220,131,8,0,3,0,0,61,61,1,12); INSERT INTO `mob_pools` VALUES (2885,'Nine_of_Cups','Nine_of_Cups',61,0x0000AF0100000000000000000000000000000000,3,3,12,240,100,0,1,0,1,0,0,0,2142,131,8,0,20,0,0,61,61,1,12); @@ -3839,7 +3839,7 @@ INSERT INTO `mob_pools` VALUES (3779,'Stone_Crab','Stone_Crab',77,0x000064010000 INSERT INTO `mob_pools` VALUES (3780,'Stone_Eater','Stone_Eater',258,0x0000A80100000000000000000000000000000000,4,5,7,240,100,0,0,0,0,0,0,0,297,129,0,0,9,0,64,258,258,0,11); INSERT INTO `mob_pools` VALUES (3781,'Stone_Golem','Stone_Golem',135,0x0000B00100000000000000000000000000000000,1,1,11,320,100,0,1,0,0,0,0,0,290,131,0,0,0,0,0,135,135,1,20); INSERT INTO `mob_pools` VALUES (3782,'Stoorworm','Stoorworm',163,0x0000040700000000000000000000000000000000,1,1,7,240,100,1024,1,1,1,18,0,0,0,3,0,0,0,0,0,164,164,2,45); -INSERT INTO `mob_pools` VALUES (3783,'Strato_Hippogryph','Strato_Hippogryph',140,0x0000550500000000000000000000000000000000,6,6,2,240,100,0,1,1,0,0,0,0,342,131,0,0,0,0,0,140,140,1,12); +INSERT INTO `mob_pools` VALUES (3783,'Strato_Hippogryph','Strato_Hippogryph',140,0x0000550500000000000000000000000000000000,6,6,2,210,100,0,1,1,0,0,0,0,342,131,0,0,0,0,0,140,140,1,12); INSERT INTO `mob_pools` VALUES (3784,'Stray','Stray',499,0x0000530400000000000000000000000000000000,1,1,7,240,100,0,1,1,0,2,0,0,1062,129,13,0,0,0,0,255,499,0,10); INSERT INTO `mob_pools` VALUES (3785,'Stray_Mary','Stray_Mary',226,0x0000540100000000000000000000000000000000,1,1,7,240,100,0,0,0,1,2,0,32,0,669,8,0,0,0,0,226,226,2,27); INSERT INTO `mob_pools` VALUES (3786,'Stream_Amoeban','Stream_Amoeban',5,0x00005C0900000000000000000000000000000000,4,8,12,240,100,0,1,0,0,0,0,0,0,129,0,0,2,0,0,5,5,0,6); diff --git a/sql/mob_spawn_points.sql b/sql/mob_spawn_points.sql index 6cd22623679..492fbbbd215 100644 --- a/sql/mob_spawn_points.sql +++ b/sql/mob_spawn_points.sql @@ -6170,7 +6170,7 @@ INSERT INTO `mob_spawn_points` VALUES (16896103,0,'Nimbus_Hippogryph','Nimbus Hi INSERT INTO `mob_spawn_points` VALUES (16896104,0,'Nimbus_Hippogryph','Nimbus Hippogryph',3,49,52,642.049,20.000,653.150,158); INSERT INTO `mob_spawn_points` VALUES (16896105,0,'Nimbus_Hippogryph','Nimbus Hippogryph',3,49,52,677.079,19.668,647.065,244); INSERT INTO `mob_spawn_points` VALUES (16896106,0,'Nimbus_Hippogryph','Nimbus Hippogryph',3,49,52,685.626,20.592,686.651,27); -INSERT INTO `mob_spawn_points` VALUES (16896107,0,'Imdugud','Imdugud',11,56,60,655.263,20.664,651.320,0); +INSERT INTO `mob_spawn_points` VALUES (16896107,0,'Imdugud','Imdugud',11,60,60,655.263,20.664,651.320,0); INSERT INTO `mob_spawn_points` VALUES (16896108,0,'Nimbus_Hippogryph','Nimbus Hippogryph',3,49,52,465.956,39.729,795.003,0); INSERT INTO `mob_spawn_points` VALUES (16896109,0,'Nimbus_Hippogryph','Nimbus Hippogryph',3,49,52,466.661,41.263,808.644,191); INSERT INTO `mob_spawn_points` VALUES (16896110,0,'Nimbus_Hippogryph','Nimbus Hippogryph',3,49,52,473.229,40.482,804.938,231); @@ -6194,7 +6194,7 @@ INSERT INTO `mob_spawn_points` VALUES (16896127,0,'Lunantishee','Lunantishee',6, INSERT INTO `mob_spawn_points` VALUES (16896128,0,'Lunantishee','Lunantishee',6,55,58,-224.062,32.349,690.891,156); INSERT INTO `mob_spawn_points` VALUES (16896129,0,'Lunantishee','Lunantishee',6,55,58,-252.875,32.281,720.177,135); INSERT INTO `mob_spawn_points` VALUES (16896130,0,'Lunantishee','Lunantishee',6,55,58,-286.212,32.645,765.466,212); -INSERT INTO `mob_spawn_points` VALUES (16896131,0,'Boroka','Boroka',12,56,60,-365.921,-31.255,486.367,161); +INSERT INTO `mob_spawn_points` VALUES (16896131,0,'Boroka','Boroka',12,58,60,-365.921,-31.255,486.367,161); INSERT INTO `mob_spawn_points` VALUES (16896132,0,'Ignidrake','Ignidrake',7,57,59,-514.442,-20.293,549.121,119); INSERT INTO `mob_spawn_points` VALUES (16896133,0,'Lunantishee','Lunantishee',6,55,58,-518.859,-19.841,537.571,216); INSERT INTO `mob_spawn_points` VALUES (16896134,0,'Air_Elemental','Air Elemental',10,57,64,-586.808,1.079,689.897,193);