From 241f2effa08848d332a8269811b1f5e18348166a Mon Sep 17 00:00:00 2001 From: Flibe Date: Sun, 10 Dec 2023 23:14:55 -0500 Subject: [PATCH] mission 9 complete --- .../amk/09_Rescue_A_Moogles_Labor_of_Love.lua | 180 +++++++++++++++--- .../zones/Quicksand_Caves/DefaultActions.lua | 1 + scripts/zones/Quicksand_Caves/IDs.lua | 23 +++ .../Quicksand_Caves/npcs/Goblin_Geologist.lua | 1 - scripts/zones/Quicksand_Caves/npcs/amk_qm.lua | 12 ++ sql/npc_list.sql | 62 +++--- 6 files changed, 223 insertions(+), 56 deletions(-) create mode 100644 scripts/zones/Quicksand_Caves/npcs/amk_qm.lua diff --git a/scripts/missions/amk/09_Rescue_A_Moogles_Labor_of_Love.lua b/scripts/missions/amk/09_Rescue_A_Moogles_Labor_of_Love.lua index 4832e83d891..84e67c45ea2 100644 --- a/scripts/missions/amk/09_Rescue_A_Moogles_Labor_of_Love.lua +++ b/scripts/missions/amk/09_Rescue_A_Moogles_Labor_of_Love.lua @@ -2,9 +2,22 @@ -- Rescue! A Moogle's Labor of Love -- A Moogle Kupo d'Etat M9 -- !addmission 10 8 +-- Geologist cutscene args : csid, progress, has QC map: 1 or 0, markerset: 1-10 +-- Goblin Geologist : !pos -737 -6 -550 208 +-- STONE_OF_SURYA : !addkeyitem 1145 +-- STONE_OF_CHANDRA : !addkeyitem 1146 +-- STONE_OF_MANGALA : !addkeyitem 1147 +-- STONE_OF_BUDHA : !addkeyitem 1148 +-- STONE_OF_BRIHASPATI : !addkeyitem 1149 +-- STONE_OF_SHUKRA : !addkeyitem 1150 +-- STONE_OF_SHANI : !addkeyitem 1151 +-- STONE_OF_RAHU : !addkeyitem 1152 +-- STONE_OF_KETU : !addkeyitem 1153 +-- NAVARATNA_TALISMAN : !addkeyitem 1158 ----------------------------------- require('scripts/globals/missions') require('scripts/globals/interaction/mission') +local ID = zones[xi.zone.QUICKSAND_CAVES] ----------------------------------- local mission = Mission:new(xi.mission.log_id.AMK, xi.mission.id.amk.RESCUE_A_MOOGLES_LABOR_OF_LOVE) @@ -14,83 +27,202 @@ mission.reward = nextMission = { xi.mission.log_id.AMK, xi.mission.id.amk.ROAR_A_CAT_BURGLAR_BARES_HER_FANGS }, } +local markerIds = +{ + -- [qm#] = marker ID + [1] = ID.npc.QM_AMK_1, + [8] = ID.npc.QM_AMK_8, + [9] = ID.npc.QM_AMK_9, + [10] = ID.npc.QM_AMK_10, + [11] = ID.npc.QM_AMK_11, + [12] = ID.npc.QM_AMK_12, + [13] = ID.npc.QM_AMK_13, + [14] = ID.npc.QM_AMK_14, + [15] = ID.npc.QM_AMK_15, + [16] = ID.npc.QM_AMK_16, + [17] = ID.npc.QM_AMK_17, + [18] = ID.npc.QM_AMK_18, + [19] = ID.npc.QM_AMK_19, + [20] = ID.npc.QM_AMK_20, + [21] = ID.npc.QM_AMK_21, + [22] = ID.npc.QM_AMK_22, + [23] = ID.npc.QM_AMK_23, + [24] = ID.npc.QM_AMK_24, + [26] = ID.npc.QM_AMK_26, + [27] = ID.npc.QM_AMK_27, +} + +local markerSets = +{ + { 1, 8, 11, 13, 14, 17, 20, 26, 27 }, + { 9, 10, 12, 15, 17, 19, 22, 23, 24 }, + { 8, 12, 13, 14, 16, 18, 21, 26, 27 }, + { 1, 9, 10, 11, 14, 15, 16, 23, 24 }, + { 8, 10, 13, 17, 18, 19, 21, 22, 27 }, + { 1, 9, 11, 12, 14, 15, 20, 24, 26 }, + { 8, 11, 13, 16, 17, 18, 21, 22, 23 }, + { 1, 9, 10, 12, 14, 19, 20, 23, 27 }, + { 8, 10, 13, 15, 16, 17, 22, 24, 26 }, + { 9, 11, 12, 18, 19, 20, 21, 24, 27 }, +} + +local getMarkerSet = function(player) + -- markerSet is the setIndex of a random table within markerSets defined above + local markerSet = player:getCharVar('Mission[10][8]markerSet') + if markerSet == 0 then + markerSet = math.random(1, #markerSets) + player:setCharVar('Mission[10][8]markerSet', markerSet) + end + + return markerSet +end + +local hasAllStones = function(player) + for offset = 0, 8 do + if not player:hasKeyItem(xi.ki.STONE_OF_SURYA + offset) then + return false + end + end + + return true +end + mission.sections = { - -- 0: Shady Sconce + -- 0: Initiate quest, get markers { check = function(player, currentMission, missionStatus, vars) - return currentMission == mission.missionId and missionStatus == 0 + return currentMission == mission.missionId and + player:getCharVar('Mission[10][8]progress') == 0 end, - [xi.zone.SEA_SERPENT_GROTTO] = + [xi.zone.QUICKSAND_CAVES] = { - ['Shady_Sconce'] = + ['Goblin_Geologist'] = { onTrigger = function(player, npc) - return mission:progressEvent(19, 176) + local hasMap = player:hasKeyItem(xi.ki.MAP_OF_THE_QUICKSAND_CAVES) and 1 or 0 + return mission:progressEvent(100, 0, hasMap, getMarkerSet(player)) end, }, onEventFinish = { - [19] = function(player, csid, option, npc) - if option == 1 then - player:setMissionStatus(xi.mission.log_id.AMK, 1) - end + [100] = function(player, csid, option, npc) + player:setCharVar('Mission[10][8]progress', 1) end, }, }, }, - -- 1: Waterfall Basin + -- 1: Have Markers, don't have all stones { check = function(player, currentMission, missionStatus, vars) - return currentMission == mission.missionId and missionStatus == 1 + return currentMission >= mission.missionId and + player:getCharVar('Mission[10][8]progress') == 1 and + not hasAllStones(player) and + not player:hasKeyItem(xi.ki.NAVARATNA_TALISMAN) end, - [xi.zone.SEA_SERPENT_GROTTO] = + [xi.zone.QUICKSAND_CAVES] = { - ['Shady_Sconce'] = + ['Goblin_Geologist'] = { onTrigger = function(player, npc) - return mission:event(22) + local hasMap = player:hasKeyItem(xi.ki.MAP_OF_THE_QUICKSAND_CAVES) and 1 or 0 + return mission:progressEvent(100, 2, hasMap, getMarkerSet(player)) + end, + }, + + ['qmAMK'] = + { + onTrigger = function(player, npc) + -- Get set of markers assigned by geologist + local amkMarkerSet = player:getCharVar('Mission[10][8]markerSet') + if amkMarkerSet == 0 then + return mission:messageSpecial(ID.text.NOTHING_OUT_OF_ORDINARY) + end + + -- Determine if QM triggered is in markerset + local keyItem = 0 + for setIndex = 1, 9 do + local markerIdIndex = markerSets[amkMarkerSet][setIndex] + if npc:getID() == markerIds[markerIdIndex] then + keyItem = xi.ki.STONE_OF_SURYA + setIndex - 1 + end + end + + -- Give KI if QM is correct + if keyItem ~= 0 and not player:hasKeyItem(keyItem) then + player:addKeyItem(keyItem) + return mission:messageSpecial(ID.text.KEYITEM_OBTAINED, keyItem) + end end, }, + }, + }, + + -- 2: Have all stones, award talisman + { + check = function(player, currentMission, missionStatus, vars) + return currentMission >= mission.missionId and + hasAllStones(player) and + not player:hasKeyItem(xi.ki.NAVARATNA_TALISMAN) + end, - ['Waterfall_Basin'] = + [xi.zone.QUICKSAND_CAVES] = + { + ['Goblin_Geologist'] = { onTrigger = function(player, npc) - return mission:progressEvent(20) + local hasMap = player:hasKeyItem(xi.ki.MAP_OF_THE_QUICKSAND_CAVES) and 1 or 0 + return mission:progressEvent(100, 1, hasMap, 0) end, }, onEventFinish = { - [20] = function(player, csid, option, npc) - player:setMissionStatus(xi.mission.log_id.AMK, 2) + [100] = function(player, csid, option, npc) + for i = 0, 8 do + player:delKeyItem(xi.ki.STONE_OF_SURYA + i) + end + + player:setCharVar('Mission[10][8]markerSet', 0) + npcUtil.giveKeyItem(player, xi.ki.NAVARATNA_TALISMAN) end, }, }, }, - -- 2: Inconspicuous Door + -- 3: Have talisman, CS at shimmering cicle { check = function(player, currentMission, missionStatus, vars) - return currentMission == mission.missionId and missionStatus == 2 + return currentMission == mission.missionId and + player:hasKeyItem(xi.ki.NAVARATNA_TALISMAN) end, - [xi.zone.UPPER_JEUNO] = + [xi.zone.QUICKSAND_CAVES] = { - ['Inconspicuous_Door'] = + ['Goblin_Geologist'] = { onTrigger = function(player, npc) - return mission:progressEvent(10184) + player:messageSpecial(ID.text.GRANT_YOU_EASY_ENTRANCE, xi.ki.NAVARATNA_TALISMAN) end, }, + }, + + [xi.zone.CHAMBER_OF_ORACLES] = + { + ['Shimmering_Circle'] = + { + onTrigger = function(player, npc) + return mission:progressEvent(5) + end + }, onEventFinish = { - [10184] = function(player, csid, option, npc) + [5] = function(player, csid, option, npc) mission:complete(player) end, }, diff --git a/scripts/zones/Quicksand_Caves/DefaultActions.lua b/scripts/zones/Quicksand_Caves/DefaultActions.lua index 5d2dbad65ff..ba61c8e348f 100644 --- a/scripts/zones/Quicksand_Caves/DefaultActions.lua +++ b/scripts/zones/Quicksand_Caves/DefaultActions.lua @@ -1,6 +1,7 @@ local ID = zones[xi.zone.QUICKSAND_CAVES] return { + ['qmAMK'] = { messageSpecial = ID.text.NOTHING_OUT_OF_ORDINARY }, ['qm3'] = { messageSpecial = ID.text.NOTHING_OUT_OF_ORDINARY }, ['qm4'] = { messageSpecial = ID.text.YOU_FIND_NOTHING_OUT }, ['qm6'] = { messageSpecial = ID.text.ANCIENT_LETTERS_UNREAD }, diff --git a/scripts/zones/Quicksand_Caves/IDs.lua b/scripts/zones/Quicksand_Caves/IDs.lua index 47ee4887418..6b9452cccf2 100644 --- a/scripts/zones/Quicksand_Caves/IDs.lua +++ b/scripts/zones/Quicksand_Caves/IDs.lua @@ -31,6 +31,7 @@ zones[xi.zone.QUICKSAND_CAVES] = SOMETHING_ATTACKING_YOU = 7374, -- Something is attacking from behind you! SOMETHING_IS_BURIED = 7375, -- Something is buried in this fallen pillar. SENSE_OMINOUS_PRESENCE = 7379, -- You sense an ominous presence... + GRANT_YOU_EASY_ENTRANCE = 7411, -- This should grant you easy entrance to your destination. I haven't a clue what you plan to do there, but...good luck! I'd accompany you, but I'm kind of...stuck here, you see. Oh ho... PLAYER_OBTAINS_ITEM = 8287, -- obtains ! UNABLE_TO_OBTAIN_ITEM = 8288, -- You were unable to obtain the item. PLAYER_OBTAINS_TEMP_ITEM = 8289, -- obtains the temporary item: ! @@ -40,6 +41,7 @@ zones[xi.zone.QUICKSAND_CAVES] = HOMEPOINT_SET = 11435, -- Home point set! UNITY_WANTED_BATTLE_INTERACT = 11493, -- Those who have accepted % must pay # Unity accolades to participate. The content for this Wanted battle is #. [Ready to begin?/You do not have the appropriate object set, so your rewards will be limited.] }, + mob = { SAGITTARIUS_X_XIII_PH = @@ -103,6 +105,7 @@ zones[xi.zone.QUICKSAND_CAVES] = TRIBUNUS_VII_I = 17629643, GIRTABLULU = 17629645, }, + npc = { ANTICAN_TAG_POSITIONS = @@ -117,6 +120,26 @@ zones[xi.zone.QUICKSAND_CAVES] = CHAINS_THAT_BIND_US_QM = 17629746, TREASURE_COFFER = 17629747, ANTICAN_TAG_QM = 17629769, + QM_AMK_1 = 17629668, + QM_AMK_8 = 17629752, + QM_AMK_9 = 17629753, + QM_AMK_10 = 17629754, + QM_AMK_11 = 17629755, + QM_AMK_12 = 17629756, + QM_AMK_13 = 17629757, + QM_AMK_14 = 17629758, + QM_AMK_15 = 17629759, + QM_AMK_16 = 17629760, + QM_AMK_17 = 17629761, + QM_AMK_18 = 17629762, + QM_AMK_19 = 17629763, + QM_AMK_20 = 17629764, + QM_AMK_21 = 17629765, + QM_AMK_22 = 17629766, + QM_AMK_23 = 17629767, + QM_AMK_24 = 17629768, + QM_AMK_26 = 17629770, + QM_AMK_27 = 17629771, }, } diff --git a/scripts/zones/Quicksand_Caves/npcs/Goblin_Geologist.lua b/scripts/zones/Quicksand_Caves/npcs/Goblin_Geologist.lua index d5505fb21d8..701f7bb388a 100644 --- a/scripts/zones/Quicksand_Caves/npcs/Goblin_Geologist.lua +++ b/scripts/zones/Quicksand_Caves/npcs/Goblin_Geologist.lua @@ -10,7 +10,6 @@ entity.onTrade = function(player, npc, trade) end entity.onTrigger = function(player, npc) - player:startEvent(100) end entity.onEventUpdate = function(player, csid, option, npc) diff --git a/scripts/zones/Quicksand_Caves/npcs/amk_qm.lua b/scripts/zones/Quicksand_Caves/npcs/amk_qm.lua new file mode 100644 index 00000000000..4fb306897b5 --- /dev/null +++ b/scripts/zones/Quicksand_Caves/npcs/amk_qm.lua @@ -0,0 +1,12 @@ +----------------------------------- +-- Area: Quicksand Caves +-- NPC: qm (???) +-- Mission: AMK - Rescue! A Moogle's Labor of Love +----------------------------------- + +local entity = {} + +entity.onTrigger = function(player, npc) +end + +return entity diff --git a/sql/npc_list.sql b/sql/npc_list.sql index 8734d24baaf..6da0de0c515 100644 --- a/sql/npc_list.sql +++ b/sql/npc_list.sql @@ -20203,17 +20203,17 @@ INSERT INTO `npc_list` VALUES (17465589,'KODAI10','KODAI10',223,-223.381,-0.019, INSERT INTO `npc_list` VALUES (17465590,'DIRECTOR','DIRECTOR',76,0.248,-27.402,67.751,0,40,40,0,0,0,6,3,0x0000320000000000000000000000000000000000,0,NULL,1); INSERT INTO `npc_list` VALUES (17465591,'Ramblix','Ramblix',116,-182.726,-1.444,-15.963,0,40,40,0,0,0,6,27,0x0000550000000000000000000000000000000000,32,NULL,1); INSERT INTO `npc_list` VALUES (17465592,'Goblin_Footprint','Goblin Footprint',116,-182.726,-1.444,-15.963,1,40,40,0,0,0,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); --- NC: INSERT INTO `npc_list` VALUES (17465593,'NOT_CAPTURED',' ',0,0.000,0.000,0.000,0,50,50,0,0,0,0,0,0x0000320000000000000000000000000000000000,0,NULL,0); --- NC: INSERT INTO `npc_list` VALUES (17465594,'NOT_CAPTURED','???',0,0.000,0.000,0.000,0,50,50,0,0,0,0,0,0x0000320000000000000000000000000000000000,0,NULL,0); --- NC: INSERT INTO `npc_list` VALUES (17465595,'NOT_CAPTURED',' ',0,0.000,0.000,0.000,0,50,50,0,0,0,0,0,0x0000320000000000000000000000000000000000,0,NULL,0); --- NC: INSERT INTO `npc_list` VALUES (17465596,'NOT_CAPTURED','Moogle',0,0.000,0.000,0.000,0,50,50,0,0,0,0,0,0x0000320000000000000000000000000000000000,0,NULL,0); --- NC: INSERT INTO `npc_list` VALUES (17465597,'NOT_CAPTURED','Kupiruru',0,0.000,0.000,0.000,0,50,50,0,0,0,0,0,0x0000320000000000000000000000000000000000,0,NULL,0); --- NC: INSERT INTO `npc_list` VALUES (17465598,'NOT_CAPTURED','Nanaa Mihgo',0,0.000,0.000,0.000,0,50,50,0,0,0,0,0,0x0000320000000000000000000000000000000000,0,NULL,0); --- NC: INSERT INTO `npc_list` VALUES (17465599,'NOT_CAPTURED','Goblin Repossessor',0,0.000,0.000,0.000,0,50,50,0,0,0,0,0,0x0000320000000000000000000000000000000000,0,NULL,0); --- NC: INSERT INTO `npc_list` VALUES (17465600,'NOT_CAPTURED','Goblin Intimidator',0,0.000,0.000,0.000,0,50,50,0,0,0,0,0,0x0000320000000000000000000000000000000000,0,NULL,0); --- NC: INSERT INTO `npc_list` VALUES (17465601,'NOT_CAPTURED','Goblin Enforcer',0,0.000,0.000,0.000,0,50,50,0,0,0,0,0,0x0000320000000000000000000000000000000000,0,NULL,0); --- NC: INSERT INTO `npc_list` VALUES (17465602,'NOT_CAPTURED','4',0,0.000,0.000,0.000,0,50,50,0,0,0,0,0,0x0000320000000000000000000000000000000000,0,NULL,0); --- NC: INSERT INTO `npc_list` VALUES (17465603,'NOT_CAPTURED','5',0,0.000,0.000,0.000,0,50,50,0,0,0,0,0,0x0000320000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17465593,'blank',' ',0,0.000,0.000,0.000,0,50,50,0,0,0,0,0,0x0000320000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17465594,'???','???',0,0.000,0.000,0.000,0,50,50,0,0,0,0,0,0x0000320000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17465595,'blank',' ',0,0.000,0.000,0.000,0,50,50,0,0,0,0,0,0x0000320000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17465596,'Moogle','Moogle',0,0.000,0.000,0.000,0,50,50,0,0,0,0,0,0x0000320000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17465597,'Kupiruru','Kupiruru',0,0.000,0.000,0.000,0,50,50,0,0,0,0,0,0x0000320000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17465598,'Nanaa_Mihgo','Nanaa Mihgo',0,0.000,0.000,0.000,0,50,50,0,0,0,0,0,0x0000320000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17465599,'Goblin_Repossessor','Goblin Repossessor',0,0.000,0.000,0.000,0,50,50,0,0,0,0,0,0x0000320000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17465600,'Goblin_Intimidator','Goblin Intimidator',0,0.000,0.000,0.000,0,50,50,0,0,0,0,0,0x0000320000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17465601,'Goblin_Enforcer','Goblin Enforcer',0,0.000,0.000,0.000,0,50,50,0,0,0,0,0,0x0000320000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17465602,'4','4',0,0.000,0.000,0.000,0,50,50,0,0,0,0,0,0x0000320000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17465603,'5','5',0,0.000,0.000,0.000,0,50,50,0,0,0,0,0,0x0000320000000000000000000000000000000000,0,NULL,0); -- ------------------------------------------------------------ -- Toraimarai Canal (Zone 169) @@ -23385,7 +23385,7 @@ INSERT INTO `npc_list` VALUES (17625159,'qm2','???',43,-718.081,0.000,-596.067,1 -- Quicksand Caves (Zone 208) -- ------------------------------------------------------------ -INSERT INTO `npc_list` VALUES (17629668,'qm1','???',0,604.353,-7.356,-660.176,7,40,40,0,0,0,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629668,'qmAMK','qm1',0,604.353,-7.356,-660.176,7,40,40,0,0,0,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); INSERT INTO `npc_list` VALUES (17629669,'qm2','???',0,-49.944,-0.891,-139.485,1,40,40,0,0,0,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); INSERT INTO `npc_list` VALUES (17629670,'qm3','???',0,-144.856,1.935,446.109,1,40,40,0,0,0,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); -- Treasure casket spawned randomly where a mob dies @@ -23470,26 +23470,26 @@ INSERT INTO `npc_list` VALUES (17629748,'qm7','???',115,-506.764,17.375,-420.372 INSERT INTO `npc_list` VALUES (17629749,'Ramblix','Ramblix',83,943.154,-11.356,-337.309,0,40,40,0,0,0,6,27,0x0000550000000000000000000000000000000000,32,NULL,1); INSERT INTO `npc_list` VALUES (17629750,'Goblin_Footprint','Goblin Footprint',83,943.154,-11.356,-337.309,1,40,40,0,0,0,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); INSERT INTO `npc_list` VALUES (17629751,'Goblin_Geologist','Goblin Geologist',128,-737.000,-10.125,-550.000,1,40,40,0,0,0,0,3,0x0000550000000000000000000000000000000000,0,NULL,1); -INSERT INTO `npc_list` VALUES (17629752,'qm8','???',0,-345.000,0.500,826.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); -INSERT INTO `npc_list` VALUES (17629753,'qm9','???',0,76.000,0.020,-27.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); -INSERT INTO `npc_list` VALUES (17629754,'qm10','???',0,-60.000,1.278,-169.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); -INSERT INTO `npc_list` VALUES (17629755,'qm11','???',0,-181.000,7.625,-107.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); -INSERT INTO `npc_list` VALUES (17629756,'qm12','???',0,816.000,1.502,-568.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); -INSERT INTO `npc_list` VALUES (17629757,'qm13','???',0,548.000,17.314,-946.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); -INSERT INTO `npc_list` VALUES (17629758,'qm14','???',0,272.000,1.962,24.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); -INSERT INTO `npc_list` VALUES (17629759,'qm15','???',0,101.000,0.000,-100.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); -INSERT INTO `npc_list` VALUES (17629760,'qm16','???',0,-21.000,0.000,-18.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); -INSERT INTO `npc_list` VALUES (17629761,'qm17','???',0,-211.000,10.341,-129.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); -INSERT INTO `npc_list` VALUES (17629762,'qm18','???',0,-108.000,1.053,-170.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); -INSERT INTO `npc_list` VALUES (17629763,'qm19','???',0,-142.000,1.252,-271.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); -INSERT INTO `npc_list` VALUES (17629764,'qm20','???',0,-65.000,1.413,-270.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); -INSERT INTO `npc_list` VALUES (17629765,'qm21','???',0,631.000,0.187,-419.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); -INSERT INTO `npc_list` VALUES (17629766,'qm22','???',0,862.000,-8.500,-415.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); -INSERT INTO `npc_list` VALUES (17629767,'qm23','???',0,613.000,8.981,-537.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); -INSERT INTO `npc_list` VALUES (17629768,'qm24','???',0,770.000,0.460,-668.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629752,'qmAMK','qm8',0,-345.000,0.500,826.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629753,'qmAMK','qm9',0,76.000,0.020,-27.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629754,'qmAMK','qm10',0,-60.000,1.278,-169.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629755,'qmAMK','qm11',0,-181.000,7.625,-107.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629756,'qmAMK','qm12',0,816.000,1.502,-568.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629757,'qmAMK','qm13',0,548.000,17.314,-946.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629758,'qmAMK','qm14',0,272.000,1.962,24.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629759,'qmAMK','qm15',0,101.000,0.000,-100.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629760,'qmAMK','qm16',0,-21.000,0.000,-18.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629761,'qmAMK','qm17',0,-211.000,10.341,-129.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629762,'qmAMK','qm18',0,-108.000,1.053,-170.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629763,'qmAMK','qm19',0,-142.000,1.252,-271.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629764,'qmAMK','qm20',0,-65.000,1.413,-270.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629765,'qmAMK','qm21',0,631.000,0.187,-419.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629766,'qmAMK','qm22',0,862.000,-8.500,-415.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629767,'qmAMK','qm23',0,613.000,8.981,-537.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629768,'qmAMK','qm24',0,770.000,0.460,-668.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); INSERT INTO `npc_list` VALUES (17629769,'qm25','???',0,590.000,-6.602,-663.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); -INSERT INTO `npc_list` VALUES (17629770,'qm26','???',0,495.000,1.729,-834.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); -INSERT INTO `npc_list` VALUES (17629771,'qm27','???',0,780.000,-15.326,-750.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629770,'qmAMK','qm26',0,495.000,1.729,-834.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629771,'qmAMK','qm27',0,780.000,-15.326,-750.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); INSERT INTO `npc_list` VALUES (17629772,'Planar_Rift','Planar Rift',0,-85.000,0.001,-40.000,1,50,50,0,5,100,0,3,0x00006F0900000000000000000000000000000000,2,'VOIDWATCH',1); INSERT INTO `npc_list` VALUES (17629773,'Planar_Rift','Planar Rift',0,75.000,0.001,-200.000,1,50,50,0,5,100,0,3,0x00006F0900000000000000000000000000000000,2,'VOIDWATCH',1); INSERT INTO `npc_list` VALUES (17629774,'Planar_Rift','Planar Rift',0,40.000,0.001,-130.000,1,50,50,0,5,100,0,3,0x00006F0900000000000000000000000000000000,2,'VOIDWATCH',1);