diff --git a/scripts/quests/windurst/Acting_in_Good_Faith.lua b/scripts/quests/windurst/Acting_in_Good_Faith.lua index bcb43ed87a0..9e9e89e702c 100644 --- a/scripts/quests/windurst/Acting_in_Good_Faith.lua +++ b/scripts/quests/windurst/Acting_in_Good_Faith.lua @@ -3,8 +3,11 @@ ----------------------------------- -- !addquest 2 64 -- Gantineux : !pos -83 -9 3 238 --- qm1 : !pos -17 0 59 195 (I-10) -- Eperdur : !pos 129 -6 96 231 +-- QM1 : !pos -460.85, -1.5, 425.14 (D-5) +-- : !pos -24.10, -9.303, 258.993 (I-7) +-- : !pos -19.624,-1.631,60.368 (I-10) +-- : !pos 256.757, -20.489, 335.920 (M-6) ----------------------------------- local eldiemeID = zones[xi.zone.THE_ELDIEME_NECROPOLIS] ----------------------------------- @@ -88,6 +91,8 @@ quest.sections = [50] = function(player, csid, option, npc) player:messageSpecial(eldiemeID.text.SPIRIT_INCENSE_EMITS_PUTRID_ODOR, xi.ki.SPIRIT_INCENSE) player:delKeyItem(xi.ki.SPIRIT_INCENSE) + + npc:setPos(unpack(eldiemeID.npc.QM1_POS[math.random(1, 4)])) -- move QM1 randomly on quest completion end, }, }, diff --git a/scripts/zones/The_Eldieme_Necropolis/IDs.lua b/scripts/zones/The_Eldieme_Necropolis/IDs.lua index 957b33531f7..3f38b537cde 100644 --- a/scripts/zones/The_Eldieme_Necropolis/IDs.lua +++ b/scripts/zones/The_Eldieme_Necropolis/IDs.lua @@ -59,6 +59,7 @@ zones[xi.zone.THE_ELDIEME_NECROPOLIS] = UNCANNY_SENSATION = 11609, -- You are assaulted by an uncanny sensation. COMMON_SENSE_SURVIVAL = 11643, -- It appears that you have arrived at a new survival guide provided by the Adventurers' Mutual Aid Network. Common sense dictates that you should now be able to teleport here from similar tomes throughout the world. }, + mob = { CWN_CYRFF = GetFirstID('Cwn_Cyrff'), @@ -71,6 +72,7 @@ zones[xi.zone.THE_ELDIEME_NECROPOLIS] = APPARATUS_ELEMENTAL = 17576271, NAMORODO = GetFirstID('Namorodo'), }, + npc = { GATE_OFFSET = GetFirstID('_5f1'), @@ -79,6 +81,15 @@ zones[xi.zone.THE_ELDIEME_NECROPOLIS] = TREASURE_COFFER = GetFirstID('Treasure_Coffer'), SARCOPHAGUS_OFFSET = GetFirstID('Sarcophagus'), CANDLE_OFFSET = GetFirstID('_5fu'), + QM1 = GetFirstID('qm1'), + + QM1_POS = + { + { -460.85, -1.5, 425.14 }, -- D-5. + { -24.10, -9.303, 258.993 }, -- I-7. + { -19.624, -1.631, 60.368 }, -- I-10. + { 256.757, -20.489, 335.920 }, -- M-6. + }, }, } diff --git a/scripts/zones/The_Eldieme_Necropolis/Zone.lua b/scripts/zones/The_Eldieme_Necropolis/Zone.lua index 987f9652cec..7a8c4540434 100644 --- a/scripts/zones/The_Eldieme_Necropolis/Zone.lua +++ b/scripts/zones/The_Eldieme_Necropolis/Zone.lua @@ -1,11 +1,19 @@ ----------------------------------- -- Zone: The Eldieme Necropolis (195) ----------------------------------- +local eldiemeID = zones[xi.zone.THE_ELDIEME_NECROPOLIS] +----------------------------------- ---@type TZone local zoneObject = {} zoneObject.onInitialize = function(zone) xi.treasure.initZone(zone) + + -- Give the Acting in Good Faith ??? a random spawn + local qm1 = GetNPCByID(eldiemeID.npc.QM1) + if qm1 then + qm1:setPos(unpack(eldiemeID.npc.QM1_POS[math.random(1, 4)])) + end end zoneObject.onZoneIn = function(player, prevZone)