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..2559583e516 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,177 @@ mission.reward = nextMission = { xi.mission.log_id.AMK, xi.mission.id.amk.ROAR_A_CAT_BURGLAR_BARES_HER_FANGS }, } +local markerSets = +{ + { 1, 2, 5, 7, 8, 11, 14, 19, 20 }, + { 3, 4, 6, 9, 11, 13, 16, 17, 18 }, + { 2, 6, 7, 8, 10, 12, 15, 19, 20 }, + { 1, 3, 4, 5, 8, 9, 10, 17, 18 }, + { 2, 4, 7, 11, 12, 13, 15, 16, 20 }, + { 1, 3, 5, 6, 8, 9, 14, 18, 19 }, + { 2, 5, 7, 10, 11, 12, 15, 16, 17 }, + { 1, 3, 4, 6, 8, 13, 14, 17, 20 }, + { 2, 4, 7, 9, 10, 11, 16, 18, 19 }, + { 3, 5, 6, 12, 13, 14, 15, 18, 20 }, +} + +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, }, - ['Waterfall_Basin'] = + ['qm_amk'] = { onTrigger = function(player, npc) - return mission:progressEvent(20) + -- 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() == ID.npc.QM_AMK[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, + + [xi.zone.QUICKSAND_CAVES] = + { + ['Goblin_Geologist'] = + { + onTrigger = function(player, npc) + 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/Qufim_Island/IDs.lua b/scripts/zones/Qufim_Island/IDs.lua index 2f029c485aa..6e048aeca87 100644 --- a/scripts/zones/Qufim_Island/IDs.lua +++ b/scripts/zones/Qufim_Island/IDs.lua @@ -46,7 +46,6 @@ zones[xi.zone.QUFIM_ISLAND] = COMMON_SENSE_SURVIVAL = 12667, -- 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. HOMEPOINT_SET = 12709, -- Home point set! }, - mob = { SLIPPERY_SUCKER_PH = @@ -65,7 +64,6 @@ zones[xi.zone.QUFIM_ISLAND] = }, OPHIOTAURUS = GetFirstID('Ophiotaurus'), }, - npc = { OVERSEER_BASE = GetFirstID('Pitoire_RK'), diff --git a/scripts/zones/Quicksand_Caves/DefaultActions.lua b/scripts/zones/Quicksand_Caves/DefaultActions.lua index 5d2dbad65ff..eed7f4e198b 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 { + ['qm_amk'] = { 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 7bbed7ecc46..267cfafc71f 100644 --- a/scripts/zones/Quicksand_Caves/IDs.lua +++ b/scripts/zones/Quicksand_Caves/IDs.lua @@ -19,26 +19,27 @@ zones[xi.zone.QUICKSAND_CAVES] = LOGIN_CAMPAIGN_UNDERWAY = 7002, -- The [/January/February/March/April/May/June/July/August/September/October/November/December] Login Campaign is currently underway! LOGIN_NUMBER = 7003, -- In celebration of your most recent login (login no. ), we have provided you with points! You currently have a total of points. MEMBERS_LEVELS_ARE_RESTRICTED = 7023, -- Your party is unable to participate because certain members' levels are restricted. - CONQUEST_BASE = 7061, -- Tallying conquest results... - FISHING_MESSAGE_OFFSET = 7220, -- You can't fish here. - CHEST_UNLOCKED = 7328, -- You unlock the chest! - DOOR_FIRMLY_SHUT = 7336, -- The door is firmly shut. - ANCIENT_LETTERS_UNREAD = 7345, -- Ancient letters are carved here, but you are unable to read them. - POOL_OF_WATER = 7368, -- It is a pool of water. - SENSE_SOMETHING_EVIL = 7369, -- You sense something evil. - YOU_FIND_NOTHING_OUT = 7370, -- You find nothing out of the ordinary. - YOU_FIND_NOTHING = 7371, -- You find nothing. - SOMETHING_ATTACKING_YOU = 7375, -- Something is attacking from behind you! - SOMETHING_IS_BURIED = 7376, -- Something is buried in this fallen pillar. - SENSE_OMINOUS_PRESENCE = 7380, -- You sense an ominous presence... - PLAYER_OBTAINS_ITEM = 8288, -- obtains ! - UNABLE_TO_OBTAIN_ITEM = 8289, -- You were unable to obtain the item. - PLAYER_OBTAINS_TEMP_ITEM = 8290, -- obtains the temporary item: ! - ALREADY_POSSESS_TEMP = 8291, -- You already possess that temporary item. - NO_COMBINATION = 8296, -- You were unable to enter a combination. - REGIME_REGISTERED = 10374, -- New training regime registered! - HOMEPOINT_SET = 11436, -- Home point set! - UNITY_WANTED_BATTLE_INTERACT = 11494, -- 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.] + CONQUEST_BASE = 7060, -- Tallying conquest results... + FISHING_MESSAGE_OFFSET = 7219, -- You can't fish here. + CHEST_UNLOCKED = 7327, -- You unlock the chest! + DOOR_FIRMLY_SHUT = 7335, -- The door is firmly shut. + ANCIENT_LETTERS_UNREAD = 7344, -- Ancient letters are carved here, but you are unable to read them. + POOL_OF_WATER = 7367, -- It is a pool of water. + SENSE_SOMETHING_EVIL = 7368, -- You sense something evil. + YOU_FIND_NOTHING_OUT = 7369, -- You find nothing out of the ordinary. + YOU_FIND_NOTHING = 7370, -- You find nothing. + 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: ! + ALREADY_POSSESS_TEMP = 8290, -- You already possess that temporary item. + NO_COMBINATION = 8295, -- You were unable to enter a combination. + REGIME_REGISTERED = 10373, -- New training regime registered! + 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 = { @@ -125,6 +126,7 @@ zones[xi.zone.QUICKSAND_CAVES] = CHAINS_THAT_BIND_US_QM = 17629747, TREASURE_COFFER = GetFirstID('Treasure_Coffer'), ANTICAN_TAG_QM = 17629770, + QM_AMK = GetTableOfIDs('qm_amk') }, } 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/qm_amk.lua b/scripts/zones/Quicksand_Caves/npcs/qm_amk.lua new file mode 100644 index 00000000000..f538cd897e3 --- /dev/null +++ b/scripts/zones/Quicksand_Caves/npcs/qm_amk.lua @@ -0,0 +1,13 @@ +----------------------------------- +-- Area: Quicksand Caves +-- NPC: qm_amk (???) +-- Mission: AMK9 - Rescue! A Moogle's Labor of Love +-- This script is shared across 20 qm npcs to handle logic for AMK mission 9 +----------------------------------- + +local entity = {} + +entity.onTrigger = function(player, npc) +end + +return entity diff --git a/sql/npc_list.sql b/sql/npc_list.sql index 08e10f51d19..c70178a9552 100644 --- a/sql/npc_list.sql +++ b/sql/npc_list.sql @@ -20627,17 +20627,17 @@ INSERT INTO `npc_list` VALUES (17465590,'KODAI10','KODAI10',223,-223.381,-0.019, INSERT INTO `npc_list` VALUES (17465591,'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 (17465592,'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 (17465593,'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 (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',' ',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','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 (17465598,'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 (17465599,'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 (17465600,'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 (17465601,'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 (17465602,'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 (17465603,'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 (17465604,'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 (17465594,'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 (17465595,'???','???',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,'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 (17465597,'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 (17465598,'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 (17465599,'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 (17465600,'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 (17465601,'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 (17465602,'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 (17465603,'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 (17465604,'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) @@ -23917,7 +23917,7 @@ INSERT INTO `npc_list` VALUES (17625160,'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,'qm_amk','???',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 @@ -24003,26 +24003,26 @@ INSERT INTO `npc_list` VALUES (17629749,'qm7','???',115,-506.764,17.375,-420.372 INSERT INTO `npc_list` VALUES (17629750,'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 (17629751,'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 (17629752,'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 (17629753,'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 (17629754,'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 (17629755,'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 (17629756,'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 (17629757,'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 (17629758,'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 (17629759,'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 (17629760,'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 (17629761,'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 (17629762,'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 (17629763,'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 (17629764,'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 (17629765,'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 (17629766,'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 (17629767,'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 (17629768,'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 (17629769,'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 (17629753,'qm_amk','???',0,-345.000,0.500,826.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629754,'qm_amk','???',0,76.000,0.020,-27.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629755,'qm_amk','???',0,-60.000,1.278,-169.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629756,'qm_amk','???',0,-181.000,7.625,-107.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629757,'qm_amk','???',0,816.000,1.502,-568.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629758,'qm_amk','???',0,548.000,17.314,-946.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629759,'qm_amk','???',0,272.000,1.962,24.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629760,'qm_amk','???',0,101.000,0.000,-100.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629761,'qm_amk','???',0,-21.000,0.000,-18.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629762,'qm_amk','???',0,-211.000,10.341,-129.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629763,'qm_amk','???',0,-108.000,1.053,-170.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629764,'qm_amk','???',0,-142.000,1.252,-271.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629765,'qm_amk','???',0,-65.000,1.413,-270.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629766,'qm_amk','???',0,631.000,0.187,-419.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629767,'qm_amk','???',0,862.000,-8.500,-415.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629768,'qm_amk','???',0,613.000,8.981,-537.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629769,'qm_amk','???',0,770.000,0.460,-668.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); INSERT INTO `npc_list` VALUES (17629770,'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 (17629771,'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 (17629772,'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 (17629771,'qm_amk','???',0,495.000,1.729,-834.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); +INSERT INTO `npc_list` VALUES (17629772,'qm_amk','???',0,780.000,-15.326,-750.000,1,40,40,0,0,32,0,3,0x0000340000000000000000000000000000000000,0,NULL,0); INSERT INTO `npc_list` VALUES (17629773,'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 (17629774,'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 (17629775,'Planar_Rift','Planar Rift',0,40.000,0.001,-130.000,1,50,50,0,5,100,0,3,0x00006F0900000000000000000000000000000000,2,'VOIDWATCH',1);