From eab1ea383e0d65b9d6e12587d1324979dbf62e93 Mon Sep 17 00:00:00 2001 From: ThrisStraizo <45871917+ThrisStraizo@users.noreply.github.com> Date: Wed, 18 Feb 2026 10:14:52 -0800 Subject: [PATCH] RDM AF3 part 2 Audit This PR Audits the mob Guardian Statues for the 2nd part of the RDM AF3 quest. --- scripts/zones/Garlaige_Citadel/IDs.lua | 3 +++ .../Garlaige_Citadel/mobs/Guardian_Statue.lua | 17 ++++++++++++++++- .../zones/Garlaige_Citadel/npcs/Oaken_Box.lua | 12 +++++++++--- sql/mob_groups.sql | 2 +- sql/mob_spawn_points.sql | 2 +- 5 files changed, 30 insertions(+), 6 deletions(-) diff --git a/scripts/zones/Garlaige_Citadel/IDs.lua b/scripts/zones/Garlaige_Citadel/IDs.lua index 1427682764b..153e8a25af4 100644 --- a/scripts/zones/Garlaige_Citadel/IDs.lua +++ b/scripts/zones/Garlaige_Citadel/IDs.lua @@ -34,6 +34,9 @@ zones[xi.zone.GARLAIGE_CITADEL] = HEAT_FROM_CEILING = 7316, -- You feel a terrible heat from the ceiling. THE_PRESENCE_MOVES = 7320, -- The presence in the ceiling seems to have moved to the east. CHEST_UNLOCKED = 7346, -- You unlock the chest! + BOXES_HERE = 7356, -- Boxes are carelessly scattered here. + BOXES_SCATTERED = 7357, -- Boxes are carelessly scattered here. Perhaps you could open them with a . + FEELS_WRONG = 7361, -- Something feels wrong, but nothing happens. ITEMS_ITEMS_LA_LA = 7473, -- You can hear a strange voice... Items, items, la la la la la GOBLIN_SLIPPED_AWAY = 7479, -- The Goblin slipped away when you were not looking... YOU_COULD_OPEN_THE_GATE = 7531, -- If only you had %, you could open the banishing gate... diff --git a/scripts/zones/Garlaige_Citadel/mobs/Guardian_Statue.lua b/scripts/zones/Garlaige_Citadel/mobs/Guardian_Statue.lua index 1b909834f3b..c806dc4de0b 100644 --- a/scripts/zones/Garlaige_Citadel/mobs/Guardian_Statue.lua +++ b/scripts/zones/Garlaige_Citadel/mobs/Guardian_Statue.lua @@ -7,9 +7,24 @@ local entity = {} entity.onMobInitialize = function(mob) mob:setMobMod(xi.mobMod.IDLE_DESPAWN, 180) + mob:addImmunity(xi.immunity.BLIND) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.DARK_SLEEP) + mob:addImmunity(xi.immunity.STUN) + mob:addImmunity(xi.immunity.PARALYZE) + mob:addImmunity(xi.immunity.SLOW) + mob:addImmunity(xi.immunity.ELEGY) end -entity.onMobDeath = function(mob, player, optParams) +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.UDMGMAGIC, -7500) + mob:setMod(xi.mod.SLASH_SDT, -5000) + mob:setMod(xi.mod.PIERCE_SDT, -5000) + mob:setMod(xi.mod.IMPACT_SDT, -5000) + mob:setMod(xi.mod.HTH_SDT, -5000) + + mob:setMod(xi.mod.STORETP, 250) -- 4 hits to 1k TP + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 167) end return entity diff --git a/scripts/zones/Garlaige_Citadel/npcs/Oaken_Box.lua b/scripts/zones/Garlaige_Citadel/npcs/Oaken_Box.lua index 02c9cb5399d..60f574b4c31 100644 --- a/scripts/zones/Garlaige_Citadel/npcs/Oaken_Box.lua +++ b/scripts/zones/Garlaige_Citadel/npcs/Oaken_Box.lua @@ -19,15 +19,21 @@ entity.onTrade = function(player, npc, trade) end entity.onTrigger = function(player, npc) - if + if GetMobByID(ID.mob.GUARDIAN_STATUE):isAlive() then + player:messageSpecial(ID.text.FEELS_WRONG) + elseif + player:hasItem(xi.item.NAIL_PULLER) and + player:getQuestStatus(xi.questLog.SANDORIA, xi.quest.id.sandoria.PEACE_FOR_THE_SPIRIT) == xi.questStatus.QUEST_ACCEPTED + then + player:messageSpecial(ID.text.BOXES_SCATTERED, xi.item.NAIL_PULLER) + elseif player:getCharVar('peaceForTheSpiritCS') == 4 and not player:hasItem(xi.item.NAIL_PULLER) and not GetMobByID(ID.mob.GUARDIAN_STATUE):isSpawned() then - player:messageSpecial(ID.text.SENSE_OF_FOREBODING) SpawnMob(ID.mob.GUARDIAN_STATUE):updateClaim(player) else - player:messageSpecial(ID.text.YOU_FIND_NOTHING) + player:messageSpecial(ID.text.BOXES_HERE) end end diff --git a/sql/mob_groups.sql b/sql/mob_groups.sql index 169f384a75b..7c57f09c0e8 100644 --- a/sql/mob_groups.sql +++ b/sql/mob_groups.sql @@ -13530,7 +13530,7 @@ INSERT INTO `mob_groups` VALUES (33,1288,200,'Fallen_Mage',300,0,812,0,0,0,NULL) INSERT INTO `mob_groups` VALUES (34,5841,200,'Hovering_Hotpot',0,32,3010,7000,9999,0,'WOTG'); INSERT INTO `mob_groups` VALUES (35,6072,200,'Warden_Beetle',300,0,670,0,0,0,'ABYSSEA'); INSERT INTO `mob_groups` VALUES (36,6424,200,'Funnel_Bats',300,0,919,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (37,1831,200,'Guardian_Statue',0,128,1245,0,0,0,NULL); +INSERT INTO `mob_groups` VALUES (37,1831,200,'Guardian_Statue',0,128,1245,10500,0,0,NULL); INSERT INTO `mob_groups` VALUES (38,2478,200,'Magic_Jug',300,0,1566,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (39,5888,200,'Frogamander',7200,0,3087,7000,0,0,'WOTG'); INSERT INTO `mob_groups` VALUES (40,6463,200,'Donjon_Bat',300,0,461,0,0,0,'ABYSSEA'); diff --git a/sql/mob_spawn_points.sql b/sql/mob_spawn_points.sql index bd3442ffe34..499a1c463ec 100644 --- a/sql/mob_spawn_points.sql +++ b/sql/mob_spawn_points.sql @@ -69068,7 +69068,7 @@ INSERT INTO `mob_spawn_points` VALUES (17596639,0,'Vault_Weapon','Vault Weapon', INSERT INTO `mob_spawn_points` VALUES (17596640,0,'Vault_Weapon','Vault Weapon',31,59,62,-280.000,18.000,179.000,127); INSERT INTO `mob_spawn_points` VALUES (17596641,0,'Tainted_Flesh','Tainted Flesh',27,63,65,-20.609,5.673,80.024,127); INSERT INTO `mob_spawn_points` VALUES (17596642,0,'Tainted_Flesh','Tainted Flesh',27,63,65,16.000,7.000,11.000,127); -INSERT INTO `mob_spawn_points` VALUES (17596643,0,'Guardian_Statue','Guardian Statue',37,61,61,-164.000,-1.000,231.000,71); +INSERT INTO `mob_spawn_points` VALUES (17596643,0,'Guardian_Statue','Guardian Statue',37,61,61,-168.000,0.000,230.000,34); INSERT INTO `mob_spawn_points` VALUES (17596644,0,'Warden_Beetle','Warden Beetle',35,92,96,-291.276,19.608,270.227,127); INSERT INTO `mob_spawn_points` VALUES (17596645,0,'Warden_Beetle','Warden Beetle',35,92,96,-235.000,19.000,265.000,127); INSERT INTO `mob_spawn_points` VALUES (17596646,0,'Warden_Beetle','Warden Beetle',35,92,96,-355.439,19.147,284.329,3);