diff --git a/scripts/globals/battlefield.lua b/scripts/globals/battlefield.lua index 669f5b7baa7..64edc300bc4 100644 --- a/scripts/globals/battlefield.lua +++ b/scripts/globals/battlefield.lua @@ -242,7 +242,7 @@ function dsp.battlefield.HealPlayers(battlefield, players) player:addHP(recoverHP) player:addMP(recoverMP) player:resetRecasts() - player:messageBasic(msgBasic.RECOVERS_HP_AND_MP, recoverHP, recoverMP) - player:messageBasic(msgBasic.ALL_ABILITIES_RECHARGED) + player:messageBasic(dsp.msg.basic.RECOVERS_HP_AND_MP, recoverHP, recoverMP) + player:messageBasic(dsp.msg.basic.ALL_ABILITIES_RECHARGED) end end \ No newline at end of file diff --git a/scripts/globals/bcnm.lua b/scripts/globals/bcnm.lua index 7634174d589..e5eae925394 100644 --- a/scripts/globals/bcnm.lua +++ b/scripts/globals/bcnm.lua @@ -459,9 +459,9 @@ function checkReqs(player, npc, bfid, registrant) local stc = player:hasCompletedMission(SANDORIA, mi.sandoria.SAVE_THE_CHILDREN) local dm1 = player:getQuestStatus(OUTLANDS, dsp.quest.id.outlands.DIVINE_MIGHT) local dm2 = player:getQuestStatus(OUTLANDS, dsp.quest.id.outlands.DIVINE_MIGHT_REPEAT) - - local function getZM14Offset(offset) - return zones[dsp.zone.LALOFF_AMPHITHEATER].npc.SHIMMERING_CIRCLE_OFFSET + offset + + local function getEntranceOffset(offset) + return zones[player:getZoneID()].npc.ENTRANCE_OFFSET + offset end -- requirements to register a battlefield @@ -497,11 +497,11 @@ function checkReqs(player, npc, bfid, registrant) [ 224] = function() return ( player:hasKeyItem(dsp.ki.MOON_BAUBLE) ) end, -- Quest: The Moonlit Path [ 225] = function() return ( windy == mi.windurst.MOON_READING and natStat == 2 ) end, -- Windy 9-2: Moon Reading [ 256] = function() return ( roz == mi.zilart.RETURN_TO_DELKFUTTS_TOWER and rozStat == 3 ) end, -- ZM8: Return to Delkfutt's Tower - [ 288] = function() return ( roz == mi.zilart.ARK_ANGELS and rozStat == 1 and npcid == getZM14Offset(0) and not player:hasKeyItem(dsp.ki.SHARD_OF_APATHY) ) end, -- ZM14: Ark Angels (Hume) - [ 289] = function() return ( roz == mi.zilart.ARK_ANGELS and rozStat == 1 and npcid == getZM14Offset(1) and not player:hasKeyItem(dsp.ki.SHARD_OF_COWARDICE) ) end, -- ZM14: Ark Angels (Tarutaru) - [ 290] = function() return ( roz == mi.zilart.ARK_ANGELS and rozStat == 1 and npcid == getZM14Offset(2) and not player:hasKeyItem(dsp.ki.SHARD_OF_ENVY) ) end, -- ZM14: Ark Angels (Mithra) - [ 291] = function() return ( roz == mi.zilart.ARK_ANGELS and rozStat == 1 and npcid == getZM14Offset(3) and not player:hasKeyItem(dsp.ki.SHARD_OF_ARROGANCE) ) end, -- ZM14: Ark Angels (Elvaan) - [ 292] = function() return ( roz == mi.zilart.ARK_ANGELS and rozStat == 1 and npcid == getZM14Offset(4) and not player:hasKeyItem(dsp.ki.SHARD_OF_RAGE) ) end, -- ZM14: Ark Angels (Galka) + [ 288] = function() return ( roz == mi.zilart.ARK_ANGELS and rozStat == 1 and npcid == getEntranceOffset(0) and not player:hasKeyItem(dsp.ki.SHARD_OF_APATHY) ) end, -- ZM14: Ark Angels (Hume) + [ 289] = function() return ( roz == mi.zilart.ARK_ANGELS and rozStat == 1 and npcid == getEntranceOffset(1) and not player:hasKeyItem(dsp.ki.SHARD_OF_COWARDICE) ) end, -- ZM14: Ark Angels (Tarutaru) + [ 290] = function() return ( roz == mi.zilart.ARK_ANGELS and rozStat == 1 and npcid == getEntranceOffset(2) and not player:hasKeyItem(dsp.ki.SHARD_OF_ENVY) ) end, -- ZM14: Ark Angels (Mithra) + [ 291] = function() return ( roz == mi.zilart.ARK_ANGELS and rozStat == 1 and npcid == getEntranceOffset(3) and not player:hasKeyItem(dsp.ki.SHARD_OF_ARROGANCE) ) end, -- ZM14: Ark Angels (Elvaan) + [ 292] = function() return ( roz == mi.zilart.ARK_ANGELS and rozStat == 1 and npcid == getEntranceOffset(4) and not player:hasKeyItem(dsp.ki.SHARD_OF_RAGE) ) end, -- ZM14: Ark Angels (Galka) [ 293] = function() return ( dm1 == QUEST_ACCEPTED or dm2 == QUEST_ACCEPTED ) end, -- ZM14 Divine Might [ 320] = function() return ( roz == mi.zilart.THE_CELESTIAL_NEXUS ) end, -- ZM16: The Celestial Nexus [ 416] = function() return ( player:hasKeyItem(dsp.ki.TUNING_FORK_OF_WIND) ) end, -- Quest: Trial by Wind @@ -577,12 +577,14 @@ function checkReqs(player, npc, bfid, registrant) [1124] = function() return ( toau == mi.toau.SHIELD_OF_DIPLOMACY and toauStat == 2 ) end, -- TOAU22: Shield of Diplomacy [1154] = function() return ( mjob == dsp.job.BLU and mlvl >= 66 ) end, -- Quest: The Beast Within (BLU LB5) [1156] = function() return ( toau == mi.toau.PUPPET_IN_PERIL and toauStat == 1 ) end, -- TOAU29: Puppet in Peril - [1290] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.RED_CARD) ) end, -- NW Apollyon - [1291] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.RED_CARD) ) end, -- SW Apollyon - [1292] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.BLACK_CARD) ) end, -- NE Apollyon - [1293] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.BLACK_CARD) ) end, -- SE Apollyon - [1294] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) ) end, -- CS Apollyon - [1296] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) ) end, -- Central Apollyon + [1290] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.RED_CARD) and npcid == getEntranceOffset(0) ) end, -- NW Apollyon + [1291] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.RED_CARD) and npcid == getEntranceOffset(0) ) end, -- SW Apollyon + [1292] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == getEntranceOffset(1) ) end, -- NE Apollyon + [1293] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == getEntranceOffset(1) ) end, -- SE Apollyon + [1294] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and ((player:hasKeyItem(dsp.ki.RED_CARD) and npcid == getEntranceOffset(0)) + or (player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == getEntranceOffset(1))) ) end, -- CS Apollyon + [1296] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and ((player:hasKeyItem(dsp.ki.RED_CARD) and npcid == getEntranceOffset(0)) + or (player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == getEntranceOffset(1))) ) end, -- Central Apollyon [1298] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.WHITE_CARD) ) end, -- Temenos Western Tower [1299] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.WHITE_CARD) ) end, -- Temenos Northern Tower [1300] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.WHITE_CARD) ) end, -- Temenos Eastern Tower @@ -596,22 +598,24 @@ function checkReqs(player, npc, bfid, registrant) -- requirements to enter a battlefield already registered by a party member local enterReqs = { - [ 897] = function() return ( player:hasKeyItem(dsp.ki.WHISPER_OF_THE_WYRMKING) ) end, -- Quest: The Wyrmking Descends - [ 928] = function() return ( player:hasCompletedMission(COP, mi.cop.ANCIENT_VOWS) or (cop == mi.cop.ANCIENT_VOWS and copStat >= 2) ) end, -- Quest: Ouryu Cometh - [1290] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.RED_CARD) ) end, -- NW Apollyon - [1291] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.RED_CARD) ) end, -- SW Apollyon - [1292] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.BLACK_CARD) ) end, -- NE Apollyon - [1293] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) ) end, -- SE Apollyon - [1294] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) ) end, -- CS Apollyon - [1296] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) ) end, -- Central Apollyon - [1298] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.WHITE_CARD) ) end, -- Temenos Western Tower - [1299] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.WHITE_CARD) ) end, -- Temenos Northern Tower - [1300] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.WHITE_CARD) ) end, -- Temenos Eastern Tower - [1301] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.WHITE_CARD) ) end, -- Central Temenos Basement - [1303] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.WHITE_CARD) ) end, -- Central Temenos 1st Floor - [1304] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.WHITE_CARD) ) end, -- Central Temenos 2nd Floor - [1305] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.WHITE_CARD) ) end, -- Central Temenos 3rd Floor - [1306] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.WHITE_CARD) ) end, -- Central Temenos 4th Floor + [ 897] = function() return ( player:hasKeyItem(dsp.ki.WHISPER_OF_THE_WYRMKING) ) end, -- Quest: The Wyrmking Descends + [ 928] = function() return ( player:hasCompletedMission(COP, mi.cop.ANCIENT_VOWS) or (cop == mi.cop.ANCIENT_VOWS and copStat >= 2) ) end, -- Quest: Ouryu Cometh + [1290] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.RED_CARD) and npcid == getEntranceOffset(0) ) end, -- NW Apollyon + [1291] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.RED_CARD) and npcid == getEntranceOffset(0) ) end, -- SW Apollyon + [1292] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == getEntranceOffset(1) ) end, -- NE Apollyon + [1293] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == getEntranceOffset(1) ) end, -- SE Apollyon + [1294] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and ((player:hasKeyItem(dsp.ki.RED_CARD) and npcid == getEntranceOffset(0)) + or (player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == getEntranceOffset(1))) ) end, -- CS Apollyon + [1296] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and ((player:hasKeyItem(dsp.ki.RED_CARD) and npcid == getEntranceOffset(0)) + or (player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == getEntranceOffset(1))) ) end, -- Central Apollyon + [1298] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.WHITE_CARD) ) end, -- Temenos Western Tower + [1299] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.WHITE_CARD) ) end, -- Temenos Northern Tower + [1300] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.WHITE_CARD) ) end, -- Temenos Eastern Tower + [1301] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.WHITE_CARD) ) end, -- Central Temenos Basement + [1303] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.WHITE_CARD) ) end, -- Central Temenos 1st Floor + [1304] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.WHITE_CARD) ) end, -- Central Temenos 2nd Floor + [1305] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.WHITE_CARD) ) end, -- Central Temenos 3rd Floor + [1306] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.WHITE_CARD) ) end, -- Central Temenos 4th Floor } -- determine whether player meets battlefield requirements @@ -739,7 +743,7 @@ function findBattlefields(player, npc, itemId) return 0 end for k, v in pairs(zbfs) do - if v[3] == itemId and checkReqs(player, npc, v[2], true) then + if v[3] == itemId and checkReqs(player, npc, v[2], true) and not player:battlefieldAtCapacity(v[2]) then mask = bit.bor(mask,math.pow(2,v[1])) end end @@ -826,8 +830,7 @@ function TradeBCNM(player, npc, trade, onUpdate) -- open menu of valid battlefields local validBattlefields = findBattlefields(player, npc, itemId) - local battlefieldId = getBattlefieldIdByBit(player, validBattlefields) - if validBattlefields ~= 0 and not player:battlefieldAtCapacity(battlefieldId) then + if validBattlefields ~= 0 then if not onUpdate then player:startEvent(32000, 0, 0, 0, validBattlefields, 0, 0, 0, 0) end @@ -842,7 +845,6 @@ end ----------------------------------------------- function EventTriggerBCNM(player, npc) - -- player is in battlefield and clicks to leave if player:getBattlefield() then player:startEvent(32003) @@ -851,9 +853,9 @@ function EventTriggerBCNM(player, npc) -- player wants to register a new battlefield elseif not player:hasStatusEffect(dsp.effect.BATTLEFIELD) then local mask = findBattlefields(player, npc, 0) + -- mask = 268435455 -- uncomment to open menu with all possible battlefields - local battlefieldId = getBattlefieldIdByBit(player, mask) - if mask ~= 0 and not player:battlefieldAtCapacity(battlefieldId) then + if mask ~= 0 then player:startEvent(32000, 0, 0, 0, mask, 0, 0, 0, 0) return true end @@ -877,7 +879,7 @@ end -- onEventUpdate ----------------------------------------------- -function EventUpdateBCNM(player, csid, option, extras, entrance) +function EventUpdateBCNM(player, csid, option, extras) -- player:PrintToPlayer(string.format("EventUpdateBCNM csid=%i option=%i extras=%i", csid, option, extras)) -- requesting a battlefield @@ -900,7 +902,23 @@ function EventUpdateBCNM(player, csid, option, extras, entrance) local clearTime = 1 local name = "Meme" local partySize = 1 - + switch (battlefieldId): caseof + { + [1290] = function() area = 2 end, -- NW_Apollyon + [1291] = function() area = 1 end, -- SW_Apollyon + [1292] = function() area = 4 end, -- NE_Apollyon + [1293] = function() area = 3 end, -- SE_Apollyon + [1294] = function() area = 6 end, -- CS_Apollyon + [1296] = function() area = 5 end, -- Central_Apollyon + [1298] = function() area = 3 end, -- Temenos_Western_Tower + [1299] = function() area = 1 end, -- Temenos_Northern_Tower + [1300] = function() area = 2 end, -- Temenos_Eastern_Tower + [1301] = function() area = 8 end, -- Central_Temenos_Basement + [1303] = function() area = 7 end, -- Central_Temenos_1st_Floor + [1304] = function() area = 6 end, -- Central_Temenos_2nd_Floor + [1305] = function() area = 5 end, -- Central_Temenos_3rd_Floor + [1306] = function() area = 4 end, -- Central_Temenos_4th_Floor + } local result = dsp.battlefield.returnCode.REQS_NOT_MET result = player:registerBattlefield(id, area) local status = dsp.battlefield.status.OPEN @@ -971,7 +989,7 @@ function EventFinishBCNM(player, csid, option) -- remove limbus chips if zone == 37 or zone == 38 then player:tradeComplete() - + -- set other traded item to worn elseif player:hasItem(item) then player:createWornItem(item) diff --git a/scripts/globals/effects/elemental_resistance_down.lua b/scripts/globals/effects/elemental_resistance_down.lua new file mode 100644 index 00000000000..27796ccb4ef --- /dev/null +++ b/scripts/globals/effects/elemental_resistance_down.lua @@ -0,0 +1,33 @@ +----------------------------------- +-- +-- dsp.effect.ELEMENTALRES_DOWN +-- +----------------------------------- +require("scripts/globals/status") +----------------------------------- + +function onEffectGain(target,effect) + target:addMod(dsp.mod.FIRERES, -effect:getPower()) + target:addMod(dsp.mod.ICERES, -effect:getPower()) + target:addMod(dsp.mod.WINDRES, -effect:getPower()) + target:addMod(dsp.mod.EARTHRES, -effect:getPower()) + target:addMod(dsp.mod.THUNDERRES, -effect:getPower()) + target:addMod(dsp.mod.WATERRES, -effect:getPower()) + target:addMod(dsp.mod.LIGHTRES, -effect:getPower()) + target:addMod(dsp.mod.DARKRES, -effect:getPower()) +end + +function onEffectTick(target,effect) +end + + +function onEffectLose(target,effect) + target:delMod(dsp.mod.FIRERES, -effect:getPower()) + target:delMod(dsp.mod.ICERES, -effect:getPower()) + target:delMod(dsp.mod.WINDRES, -effect:getPower()) + target:delMod(dsp.mod.EARTHRES, -effect:getPower()) + target:delMod(dsp.mod.THUNDERRES, -effect:getPower()) + target:delMod(dsp.mod.WATERRES, -effect:getPower()) + target:delMod(dsp.mod.LIGHTRES, -effect:getPower()) + target:delMod(dsp.mod.DARKRES, -effect:getPower()) +end \ No newline at end of file diff --git a/scripts/globals/limbus.lua b/scripts/globals/limbus.lua index 044ee94f420..fe6a6eba579 100644 --- a/scripts/globals/limbus.lua +++ b/scripts/globals/limbus.lua @@ -1,895 +1,421 @@ -------------------------------------- require("scripts/globals/keyitems") require("scripts/globals/status") +require("scripts/globals/zone") -------------------------------------- -APOLLYON_SE_NE = 1 -- out 557 -1 441 128 -APOLLYON_NW_SW = 2 -- out -561 0 443 242 -TEMENOS = 3 --- dsp.ki.WHITE_CARD = 349 --- dsp.ki.RED_CARD = 350 --- dsp.ki.BLACK_CARD = 351 --- dsp.ki.COSMOCLEANSE = 734 +dsp = dsp or {} +dsp.limbus = dsp.limbus or {} - -- REGION -NW_Apollyon = 1 -SW_Apollyon = 2 -NE_Apollyon = 3 -SE_Apollyon = 4 -CS_Apollyon = 5 -Central_Apollyon = 6 -Temenos_Western_Tower = 1 -Temenos_Northern_Tower = 2 -Temenos_Eastern_Tower = 3 -Central_Temenos_Basement = 4 -Central_Temenos_1st_Floor = 5 -Central_Temenos_2nd_Floor = 6 -Central_Temenos_3rd_Floor = 7 -Central_Temenos_4th_Floor = 8 - -APOLLYON_SE_NE_BCNM_LIST = -{ - -- instanceID, white, red, black, bitmap, bit, instanceRegion - 1292, {false, false, true, 8, NE_Apollyon}, -- 'NE_Apollyon' region 3 438 0 -89 - 1293, {false, false, true, 4, SE_Apollyon}, -- 'SE_Apollyon' 468 0 -625 - 1294, {false, false, false, 32, CS_Apollyon}, -- 'CS_Apollyon' 0 0 -210 - 1295, {false, false, false, 64, CS_Apollyon}, -- 'CS_Apollyon_II' 0 0 -133 - 1296, {false, false, false, 16, Central_Apollyon}, -- 'Central_Apollyon' 0 0 210 - 1297, {false, false, false, 128, Central_Apollyon} -- 'Central_Apollyon_II' 0 0 210 -} - -APOLLYON_NW_SW_BCNM_LIST = -{ - 1290, {false, true, false, 2, NW_Apollyon}, -- 'NW_Apollyon' -439 0 -89 - 1291, {false, true, false, 1, SW_Apollyon}, -- 'SW_Apollyon' -468 0 -626 - 1294, {false, false, false, 32, CS_Apollyon}, -- 'CS_Apollyon' 0 0 -210 - 1295, {false, false, false, 64, CS_Apollyon}, -- 'CS_Apollyon_II' 0 0 -133 - 1296, {false, false, false, 16, Central_Apollyon}, -- 'Central_Apollyon' 0 0 210 - 1297, {false, false, false, 128, Central_Apollyon} -- 'Central_Apollyon_II' 0 0 210 -} - -TEMENOS_LIST = -{ - 1298, {true, false, false, 4, Temenos_Western_Tower}, -- 'Temenos_Western_Tower' 380 71 -184 - 1299, {true, false, false, 1, Temenos_Northern_Tower}, -- 'Temenos_Northern_Tower' 380 71 375 - 1300, {true, false, false, 2, Temenos_Eastern_Tower}, -- 'Temenos_Eastern_Tower' 380 -2 96 - 1301, {false, false, false, 128, Central_Temenos_Basement}, -- 'Central_Temenos_Basement' 580 -2 -544 - 1302, {false, false, false, 256, Central_Temenos_Basement}, -- 'Central_Temenos_Basement_II' 540 -2 -544 - 1303, {false, false, false, 64, Central_Temenos_1st_Floor}, -- 'Central_Temenos_1st_Floor' 260 -162 -504 - 1304, {false, false, false, 32, Central_Temenos_2nd_Floor}, -- 'Central_Temenos_2nd_Floor' 20 -2 -544 - 1305, {false, false, false, 16, Central_Temenos_3rd_Floor}, -- 'Central_Temenos_3rd_Floor' -296 -162 -500 - 1306, {false, false, false, 8, Central_Temenos_4th_Floor}, -- 'Central_Temenos_4th_Floor' -540 -2 -584 - 1307, {false, false, false, 512, Central_Temenos_4th_Floor} -- 'Central_Temenos_4th_Floor_II' -540 -2 -584 -} - -MIMICPOSITION = -{ - 1, {-363, 0, -282}; - 2, {-359, 0, -277}; - 3, {-326, 0, -301}; - 4, {-331, 0, -330}; - 5, {-340, 0, -330}; - 6, {-345, 0, -311}; - 7, {-339, 0, -300}; - 8, {-335, 0, -281}; -} - -cTIME = 1 -cITEM = 2 -cRESTORE = 3 -cMIMIC = 4 - -ARMOURY_CRATES_LIST_APOLLYON = -{ - -- armoryID, (type, regionID, time, despawnothercoffer, mimicID, lootID) - 1, {cTIME, SE_Apollyon, 5, false, 0, 0}, -- time SE_Apollyon floor 1 - 2, {cITEM, SE_Apollyon, 0, false, 0, 110}, -- items SE_Apollyon floor 1 - 3, {cRESTORE, SE_Apollyon, 0, false, 0, 0}, -- restore SE_Apollyon floor 1 - - 14, {cTIME, SW_Apollyon, 10, false, 0, 0}, -- time SW_Apollyon floor 1 - 15, {cITEM, SW_Apollyon, 0, false, 0, 119}, -- items SW_Apollyon floor 1 - 16, {cRESTORE, SW_Apollyon, 0, false, 0, 0}, -- restore SW_Apollyon floor 1 - - -- 32, {}, -- mimic - -- 33, {}, -- mimic - -- 34, {}, -- mimic - -- 35, {}, -- mimic - -- 36, {}, -- mimic - -- 37, {}, -- mimic - -- 38, {}, -- mimic - 39, {cITEM, Central_Apollyon, 0, false, 0, 128}, -- omega - 40, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time NW_Apollyon floor 1 T1 - 41, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time NW_Apollyon floor 1 T2 - 42, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time NW_Apollyon floor 1 T3 - 43, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time NW_Apollyon floor 2 T1 - 44, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time NW_Apollyon floor 2 T2 - 45, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time NW_Apollyon floor 2 T3 - - 70, {cTIME, SW_Apollyon, 10, true, 0, 0}, -- time SW_Apollyon floor 2 - 71, {cITEM, SW_Apollyon, 0, true, 0, 120}, -- items SW_Apollyon floor 2 - 72, {cRESTORE, SW_Apollyon, 0, true, 0, 0}, -- restore SW_Apollyon floor 2 - - 81, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time NE_Apollyon floor 1 T2 - 82, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time NE_Apollyon floor 1 T3 - - 83, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time NE_Apollyon floor 2 T2 - 84, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time NE_Apollyon floor 2 T3 - - 85, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time NE_Apollyon floor 3 T2 - 94, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time NE_Apollyon floor 3 T3 - - 95, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time NE_Apollyon floor 4 T2 - 96, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time NE_Apollyon floor 4 T3 - - 97, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time NW_Apollyon floor 4 T2 - 98, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time NW_Apollyon floor 4 T3 - - 107, {cITEM, NW_Apollyon, 0, false, 0, 123}, -- item NW_Apollyon floor 1 - 108, {cITEM, NW_Apollyon, 0, false, 0, 124}, -- item NW_Apollyon floor 2 - 109, {cITEM, NW_Apollyon, 0, false, 0, 125}, -- item NW_Apollyon floor 3 - 110, {cITEM, NW_Apollyon, 0, false, 0, 126}, -- item NW_Apollyon floor 4 - 111, {cITEM, NW_Apollyon, 0, false, 0, 127}, -- item NW_Apollyon floor 5 - - 118, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time NE_Apollyon floor 1 T1 - 119, {cITEM, NE_Apollyon, 0, false, 0, 114}, -- items NE_Apollyon floor 1 - 120, {cRESTORE, NE_Apollyon, 0, false, 0, 0}, -- restore NE_Apollyon floor 1 - - 125, {cTIME, NE_Apollyon, 5, false, 0, 10}, -- time NE_Apollyon floor 2 T1 - 126, {cITEM, NE_Apollyon, 0, false, 0, 115}, -- items NE_Apollyon floor 2 - 127, {cRESTORE, NE_Apollyon, 0, false, 0, 0}, -- restore NE_Apollyon floor 2 - - 139, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time NE_Apollyon floor 3 T1 - 140, {cITEM, NE_Apollyon, 0, false, 0, 116}, -- items NE_Apollyon floor 3 - 141, {cRESTORE, NE_Apollyon, 0, false, 0, 0}, -- restore NE_Apollyon floor 3 - - 153, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time NE_Apollyon floor 4 T1 - 154, {cITEM, NE_Apollyon, 0, false, 0, 117}, -- items NE_Apollyon floor 4 - 155, {cRESTORE, NE_Apollyon, 0, false, 0, 0}, -- restore NE_Apollyon floor 4 - - 177, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time NW_Apollyon floor 3 T1 - 178, {cITEM, NE_Apollyon, 0, false, 0, 118}, -- items NE_Apollyon floor 5 - 179, {cRESTORE, NW_Apollyon, 0, false, 0, 0}, -- restore NW_Apollyon floor 4 - - 189, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time NW_Apollyon floor 3 T2 - 190, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time NW_Apollyon floor 3 T3 - - 195, {cTIME, SW_Apollyon, 10, false, 0, 0}, -- time SW_Apollyon floor 3 - 196, {cITEM, SW_Apollyon, 5, false, 0, 121}, -- items SW_Apollyon floor 3 - 197, {cRESTORE, SW_Apollyon, 0, false, 0, 0}, -- restore SW_Apollyon floor 3 - - 210, {cMIMIC, SW_Apollyon, 0, false, 0, 0}, -- PH for mimic - 211, {cMIMIC, SW_Apollyon, 0, false, 0, 0}, -- PH for mimic - 212, {cMIMIC, SW_Apollyon, 0, false, 0, 0}, -- PH for mimic - 213, {cMIMIC, SW_Apollyon, 0, false, 0, 0}, -- PH for mimic - 214, {cMIMIC, SW_Apollyon, 0, false, 0, 0}, -- PH for mimic - 215, {cMIMIC, SW_Apollyon, 0, false, 0, 0}, -- PH for mimic - 216, {cMIMIC, SW_Apollyon, 0, false, 0, 0}, -- PH for mimic - - 232, {cTIME, SE_Apollyon, 5, false, 0, 0}, -- time SE_Apollyon floor 2 - 233, {cITEM, SE_Apollyon, 0, false, 0, 111}, -- items SE_Apollyon floor 2 - 234, {cRESTORE, SE_Apollyon, 0, false, 0, 0}, -- restore SE_Apollyon floor 2 - - 246, {cTIME, SE_Apollyon, 10, false, 0, 0}, -- time SE_Apollyon floor 3 - 247, {cITEM, SE_Apollyon, 0, false, 0, 112}, -- items SE_Apollyon floor 3 - 248, {cRESTORE, SE_Apollyon, 0, false, 0, 0}, -- restore SE_Apollyon floor 3 - - 259, {cITEM, Central_Apollyon, 0, false, 0, 129}, -- Pod - - 262, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time NW_Apollyon floor 4 T1 - 263, {cITEM, SE_Apollyon, 0, false, 0, 113}, -- items SE_Apollyon floor 4 - 264, {cRESTORE, NW_Apollyon, 0, false, 0, 0}, -- restore NW_Apollyon floor 1 - - 289, {cRESTORE, NW_Apollyon, 0, false, 0, 0}, -- restore NW_Apollyon floor 2 - - 313, {cITEM, SW_Apollyon, 0, false, 0, 122}, -- items SW_Apollyon floor 4 - - 327, {cRESTORE, NW_Apollyon, 0, false, 0, 0}, -- restore NW_Apollyon floor 3 -} - -ARMOURY_CRATES_LIST_TEMENOS = -{ - -- armoryID, (type, regionID, time, despawnothercoffer, mimicID, lootID) - 1, {cITEM, Temenos_Western_Tower, 0, false, 0, 137}, - 2, {cITEM, Temenos_Western_Tower, 0, false, 0, 138}, - 3, {cITEM, Temenos_Western_Tower, 0, false, 0, 139}, - 10, {cITEM, Temenos_Western_Tower, 0, false, 0, 140}, - 11, {cITEM, Temenos_Western_Tower, 0, false, 0, 141}, - 12, {cITEM, Temenos_Western_Tower, 0, false, 0, 142}, - 17, {cITEM, Temenos_Western_Tower, 0, false, 0, 143}, - - 18, {cITEM, Temenos_Northern_Tower, 0, true, 0, 130}, -- F1 - 19, {cITEM, Temenos_Northern_Tower, 0, true, 0, 131}, -- F2 - 26, {cITEM, Temenos_Northern_Tower, 0, true, 0, 132}, -- F3 - 27, {cITEM, Temenos_Northern_Tower, 0, true, 0, 133}, -- F4 - 28, {cITEM, Temenos_Northern_Tower, 0, true, 0, 134}, -- F5 - 38, {cITEM, Temenos_Northern_Tower, 0, true, 0, 135}, -- F6 - 39, {cITEM, Temenos_Northern_Tower, 0, false, 0, 136}, -- F7 - - 40, {cITEM, Temenos_Eastern_Tower, 0, true, 0, 144}, - 45, {cITEM, Temenos_Eastern_Tower, 0, true, 0, 145}, - 46, {cITEM, Temenos_Eastern_Tower, 0, true, 0, 146}, - 47, {cITEM, Temenos_Eastern_Tower, 0, true, 0, 147}, - 68, {cITEM, Temenos_Eastern_Tower, 0, true, 0, 148}, - 69, {cITEM, Temenos_Eastern_Tower, 0, true, 0, 149}, - 70, {cITEM, Temenos_Eastern_Tower, 0, true, 0, 150}, - - 71, {cITEM, Central_Temenos_1st_Floor, 0, false, 0, 151}, - - 77, {cITEM, Central_Temenos_2nd_Floor, 0, false, 0, 152}, - - 78, {cITEM, Central_Temenos_3rd_Floor, 0, false, 0, 153}, - - - -- central 4eme floor ------------------------------- - 79, {cITEM, Central_Temenos_4th_Floor, 0, false, 0, 154}, - -- - 80, {cITEM, Central_Temenos_4th_Floor, 0, false, 1, 155}, - 86, {cITEM, Central_Temenos_4th_Floor, 0, false, 1, 155}, - 87, {cITEM, Central_Temenos_4th_Floor, 0, false, 1, 155}, - 88, {cITEM, Central_Temenos_4th_Floor, 0, false, 1, 155}, - - 89, {cITEM, Central_Temenos_4th_Floor, 0, false, 2, 155}, - 95, {cITEM, Central_Temenos_4th_Floor, 0, false, 2, 155}, - 96, {cITEM, Central_Temenos_4th_Floor, 0, false, 2, 155}, - 97, {cITEM, Central_Temenos_4th_Floor, 0, false, 2, 155}, - - 98, {cITEM, Central_Temenos_4th_Floor, 0, false, 3, 155}, - 104, {cITEM, Central_Temenos_4th_Floor, 0, false, 3, 155}, - 105, {cITEM, Central_Temenos_4th_Floor, 0, false, 3, 155}, - 106, {cITEM, Central_Temenos_4th_Floor, 0, false, 3, 155}, - - 107, {cITEM, Central_Temenos_4th_Floor, 0, false, 4, 155}, - 113, {cITEM, Central_Temenos_4th_Floor, 0, false, 4, 155}, - 114, {cITEM, Central_Temenos_4th_Floor, 0, false, 4, 155}, - - 115, {cITEM, Central_Temenos_4th_Floor, 0, false, 5, 155}, - 116, {cITEM, Central_Temenos_4th_Floor, 0, false, 5, 155}, - 122, {cITEM, Central_Temenos_4th_Floor, 0, false, 5, 155}, - -- - 123, {cMIMIC, Temenos_Eastern_Tower, 0, true, 0, 0}, - 127, {cMIMIC, Temenos_Eastern_Tower, 0, true, 0, 0}, - ------------------------------------------- - 128, {cTIME, Temenos_Western_Tower, 15, false, 0, 0}, - 129, {cTIME, Temenos_Western_Tower, 15, false, 0, 0}, - 139, {cTIME, Temenos_Western_Tower, 15, false, 0, 0}, - 140, {cTIME, Temenos_Western_Tower, 15, false, 0, 0}, - 141, {cTIME, Temenos_Western_Tower, 15, false, 0, 0}, - 151, {cTIME, Temenos_Western_Tower, 15, false, 0, 0}, - - 152, {cTIME, Temenos_Northern_Tower, 15, true, 0, 0}, -- F1 - 153, {cTIME, Temenos_Northern_Tower, 15, true, 0, 0}, -- F2 - 160, {cTIME, Temenos_Northern_Tower, 15, true, 0, 0}, -- F3 - 161, {cTIME, Temenos_Northern_Tower, 15, true, 0, 0}, -- F4 - 162, {cTIME, Temenos_Northern_Tower, 15, true, 0, 0}, -- F5 - 172, {cTIME, Temenos_Northern_Tower, 15, true, 0, 0}, -- F6 - - 173, {cTIME, Temenos_Eastern_Tower, 15, true, 0, 0}, - 174, {cTIME, Temenos_Eastern_Tower, 15, true, 0, 0}, - 181, {cTIME, Temenos_Eastern_Tower, 15, true, 0, 0}, - 182, {cTIME, Temenos_Eastern_Tower, 15, true, 0, 0}, - 183, {cTIME, Temenos_Eastern_Tower, 15, true, 0, 0}, - 190, {cTIME, Temenos_Eastern_Tower, 15, true, 0, 0}, - - 197, {cTIME, Central_Temenos_Basement, 5, false, 0, 0}, - 199, {cTIME, Central_Temenos_Basement, 5, false, 0, 0}, - 200, {cTIME, Central_Temenos_Basement, 5, false, 0, 0}, - 201, {cTIME, Central_Temenos_Basement, 5, false, 0, 0}, - 202, {cTIME, Central_Temenos_Basement, 5, false, 0, 0}, - - - 203, {cRESTORE, Temenos_Western_Tower, 0, false, 0, 0}, - 204, {cRESTORE, Temenos_Western_Tower, 0, false, 0, 0}, - 205, {cRESTORE, Temenos_Western_Tower, 0, false, 0, 0}, - 206, {cRESTORE, Temenos_Western_Tower, 0, false, 0, 0}, - 207, {cRESTORE, Temenos_Western_Tower, 0, false, 0, 0}, - 208, {cRESTORE, Temenos_Western_Tower, 0, false, 0, 0}, - - 209, {cRESTORE, Temenos_Northern_Tower, 0, true, 0, 0}, -- F1 - 210, {cRESTORE, Temenos_Northern_Tower, 0, true, 0, 0}, -- F2 - 211, {cRESTORE, Temenos_Northern_Tower, 0, true, 0, 0}, -- F3 - 212, {cRESTORE, Temenos_Northern_Tower, 0, true, 0, 0}, -- F4 - 213, {cRESTORE, Temenos_Northern_Tower, 0, true, 0, 0}, -- F5 - 214, {cRESTORE, Temenos_Northern_Tower, 0, true, 0, 0}, -- F6 - - 215, {cRESTORE, Temenos_Eastern_Tower, 0, true, 0, 0}, - 216, {cRESTORE, Temenos_Eastern_Tower, 0, true, 0, 0}, - 217, {cRESTORE, Temenos_Eastern_Tower, 0, true, 0, 0}, - 236, {cRESTORE, Temenos_Eastern_Tower, 0, true, 0, 0}, - 261, {cRESTORE, Temenos_Eastern_Tower, 0, true, 0, 0}, - 277, {cRESTORE, Temenos_Eastern_Tower, 0, true, 0, 0}, - - 284, {cMIMIC, Temenos_Eastern_Tower, 0, true, 0, 0}, - 321, {cMIMIC, Temenos_Eastern_Tower, 0, true, 0, 0}, - 348, {cMIMIC, Temenos_Eastern_Tower, 0, true, 0, 0}, - 360, {cMIMIC, Temenos_Eastern_Tower, 0, true, 0, 0}, - 393, {cMIMIC, Temenos_Eastern_Tower, 0, true, 0, 0} -} - -function LimbusEntrance(player, entrance) +function dsp.limbus.enter(player, entrance) switch (entrance): caseof { - [1] = function (x) - player:setPos(643, 0.1, -600, 124, 38) -- instance entrer 600 1 -600 - end, -- sortiezone 637, -4, -642, 642, 4, -637 - [2] = function (x) + [0] = function () player:setPos(-668, 0.1, -666, 209, 38) -- instance entrer -599 0 -600 end, -- sortiezone -642, -4, -642, -637, 4, -637 + [1] = function () + player:setPos(643, 0.1, -600, 124, 38) -- instance entrer 600 1 -600 + end, -- sortiezone 637, -4, -642, 642, 4, -637 } end -function ResetPlayerLimbusVariable(player) - player:setCharVar("characterLimbusKey", 0) - player:setCharVar("LimbusID", 0) -end - -function GenerateLimbusKey() - local Key = math.random(1, 1000000) - - while (IsKeyExist(Key) == true) do - Key = math.random(1, 1000000) - end - - return Key -end - -function HideArmouryCrates(Region, Zone) - if (Zone == APOLLYON_SE_NE or Zone == APOLLYON_NW_SW) then - for X = 1, #ARMOURY_CRATES_LIST_APOLLYON, 2 do - if (ARMOURY_CRATES_LIST_APOLLYON[X+1][2] == Region) then - GetNPCByID((ARMOURY_CRATES_LIST_APOLLYON[X])+16932864):setStatus(dsp.status.DISAPPEAR) - end - end - elseif (Zone == TEMENOS) then - for X = 1, #ARMOURY_CRATES_LIST_TEMENOS, 2 do - if (ARMOURY_CRATES_LIST_TEMENOS[X+1][2] == Region) then - GetNPCByID((ARMOURY_CRATES_LIST_TEMENOS[X])+16928768):setStatus(dsp.status.DISAPPEAR) - end - end - end -end - -function HideTemenosDoor(Region) - if (Region == Temenos_Northern_Tower) then - GetNPCByID((450)+16928770):setStatus(dsp.status.DISAPPEAR) - GetNPCByID((451)+16928770):setStatus(dsp.status.DISAPPEAR) - GetNPCByID((452)+16928770):setStatus(dsp.status.DISAPPEAR) - GetNPCByID((453)+16928770):setStatus(dsp.status.DISAPPEAR) - GetNPCByID((454)+16928770):setStatus(dsp.status.DISAPPEAR) - GetNPCByID((455)+16928770):setStatus(dsp.status.DISAPPEAR) - GetNPCByID((456)+16928770):setStatus(dsp.status.DISAPPEAR) - elseif (Region == Temenos_Eastern_Tower) then - GetNPCByID((457)+16928770):setStatus(dsp.status.DISAPPEAR) - GetNPCByID((458)+16928770):setStatus(dsp.status.DISAPPEAR) - GetNPCByID((459)+16928770):setStatus(dsp.status.DISAPPEAR) - GetNPCByID((460)+16928770):setStatus(dsp.status.DISAPPEAR) - GetNPCByID((461)+16928770):setStatus(dsp.status.DISAPPEAR) - GetNPCByID((462)+16928770):setStatus(dsp.status.DISAPPEAR) - GetNPCByID((463)+16928770):setStatus(dsp.status.DISAPPEAR) - elseif (Region == Temenos_Western_Tower) then - GetNPCByID((464)+16928770):setStatus(dsp.status.DISAPPEAR) - GetNPCByID((465)+16928770):setStatus(dsp.status.DISAPPEAR) - GetNPCByID((466)+16928770):setStatus(dsp.status.DISAPPEAR) - GetNPCByID((467)+16928770):setStatus(dsp.status.DISAPPEAR) - GetNPCByID((468)+16928770):setStatus(dsp.status.DISAPPEAR) - GetNPCByID((469)+16928770):setStatus(dsp.status.DISAPPEAR) - GetNPCByID((470)+16928770):setStatus(dsp.status.DISAPPEAR) - elseif (Region == Central_Temenos_1st_Floor) then - GetNPCByID((471)+16928770):setStatus(dsp.status.DISAPPEAR) - elseif (Region == Central_Temenos_2nd_Floor) then - GetNPCByID((472)+16928770):setStatus(dsp.status.DISAPPEAR) - elseif (Region == Central_Temenos_3rd_Floor) then - GetNPCByID((473)+16928770):setStatus(dsp.status.DISAPPEAR) - elseif (Region == Central_Temenos_4th_Floor) then - GetNPCByID((474)+16928770):setStatus(dsp.status.DISAPPEAR) - elseif (Region == Central_Temenos_Basement) then - GetNPCByID((475)+16928770):setStatus(dsp.status.DISAPPEAR) - end -end - -function IselementalDayAreDead() - local day = GetServerVariable("[SW_Apollyon]ElementalTrigger") - 1 - local daykill=false - if (day == 0) then -- fire - if (IsMobDead(16932913) == true and IsMobDead(16932921) == true and IsMobDead(16932929) == true) then - daykill = true - end - elseif (day == 1) then -- earth - if (IsMobDead(16932912) == true and IsMobDead(16932920) == true and IsMobDead(16932928) == true) then - daykill = true - end - elseif (day == 2) then -- water - if (IsMobDead(16932916) == true and IsMobDead(16932924) == true and IsMobDead(16932932) == true) then - daykill = true - end - elseif (day == 3) then -- wind - if (IsMobDead(16932910) == true and IsMobDead(16932918) == true and IsMobDead(16932926) == true) then - daykill = true - end - elseif (day == 4) then -- ice - if (IsMobDead(16932914) == true and IsMobDead(16932922) == true and IsMobDead(16932930) == true) then - daykill = true - end - elseif (day == 5) then -- lightning - if (IsMobDead(16932917) == true and IsMobDead(16932925) == true and IsMobDead(16932933) == true) then - daykill = true - end - elseif (day == 6) then -- ligth - if (IsMobDead(16932931) == true and IsMobDead(16932915) == true and IsMobDead(16932923) == true) then - daykill = true - end - elseif (day == 7) then -- dark - if (IsMobDead(16932911) == true and IsMobDead(16932919) == true and IsMobDead(16932927) == true) then - daykill = true - end - end - - return daykill -end - --------------------------------------------------- - -- alreadyReceived - -- I use this function for TE and Boss Trigger --------------------------------------------------- - -function alreadyReceived(player, number, region) - local LimbusVar = 0 - local bit = {} - local pZone = player:getZoneID() - - if (pZone == 37) then - -- WHY? Why is there even HERE? - elseif (pZone == 38) then - LimbusVar = GetServerVariable("[CS_Apollyon]Already_Received") - end - - for i = 12, 0, -1 do - local twop = 2^i - if (LimbusVar >= twop) then - bit[i+1] = 1 - LimbusVar = LimbusVar - twop - else - bit[i+1] = 0 - end - end - -- printf("received %u", bit[number]) - if (bit[number] == 0) then - return false +function dsp.limbus.setupArmouryCrates(bfid, hide) + local ID + if bfid == 1290 or bfid == 1291 or bfid == 1292 or bfid == 1293 or + bfid == 1294 or bfid == 1296 + then + ID = zones[dsp.zone.APOLLYON] else - return true - end -end - -function addLimbusList(player, number, Region) - local pZone = player:getZoneID() - - if (pZone == 37) then - -- The hell? - elseif (pZone == 38) then - SetServerVariable("[CS_Apollyon]Already_Received", GetServerVariable("[CS_Apollyon]Already_Received") + number) + ID = zones[dsp.zone.TEMENOS] end -end - -function IsKeyExist(Key) -- return true if Key already exist for another linbus - local H = false - local KeyAlreadyExist = + + switch (bfid): caseof { - GetServerVariable("[NW_Apollyon]UniqueID"), - GetServerVariable("[SW_Apollyon]UniqueID"), - GetServerVariable("[NE_Apollyon]UniqueID"), - GetServerVariable("[SE_Apollyon]UniqueID"), - GetServerVariable("[CS_Apollyon]UniqueID"), - GetServerVariable("[CS_Apollyon_II]UniqueID"), - GetServerVariable("[Central_Apollyon]UniqueID"), - GetServerVariable("[Central_Apollyon_II]UniqueID"), - GetServerVariable("[Temenos_W_Tower]UniqueID"), - GetServerVariable("[Temenos_N_Tower]UniqueID"), - GetServerVariable("[Temenos_E_Tower]UniqueID"), - GetServerVariable("[C_Temenos_Base]UniqueID"), - GetServerVariable("[C_Temenos_Base_II]UniqueID"), - GetServerVariable("[C_Temenos_1st]UniqueID"), - GetServerVariable("[C_Temenos_2nd]UniqueID"), - GetServerVariable("[C_Temenos_3rd]UniqueID"), - GetServerVariable("[C_Temenos_4th]UniqueID"), - GetServerVariable("[C_Temenos_4th_II]UniqueID"), - } - - for nl = 1, #KeyAlreadyExist, 1 do - if (KeyAlreadyExist[nl] == Key) then - H = true - break - end - end - - return H -end - -function GetLimbusKeyFromInstance(instanceID) - local Instancekey = 0 - - switch (instanceID): caseof - { - [1290] = function (x) - Instancekey = GetServerVariable("[NW_Apollyon]UniqueID") - end, - [1291] = function (x) - Instancekey = GetServerVariable("[SW_Apollyon]UniqueID") - end, - [1292] = function (x) - Instancekey = GetServerVariable("[NE_Apollyon]UniqueID") - end, - [1293] = function (x) - Instancekey = GetServerVariable("[SE_Apollyon]UniqueID") - end, - [1294] = function (x) - Instancekey = GetServerVariable("[CS_Apollyon]UniqueID") + [1290] = function() -- NW_Apollyon + for i = 1, 4 do + GetNPCByID(ID.npc.APOLLYON_NW_CRATE[i][1]):setStatus(dsp.status.DISAPPEAR) + for j = 2, 5 do + GetNPCByID(ID.npc.APOLLYON_NW_CRATE[i][j]):setStatus(dsp.status.NORMAL) + end + end + GetNPCByID(ID.npc.APOLLYON_NW_CRATE[5]):setStatus(dsp.status.DISAPPEAR) end, - [1295] = function (x) - Instancekey = GetServerVariable("[CS_Apollyon_II]UniqueID") + [1291] = function() -- SW_Apollyon + for i = 1, 2 do + for j = 0, 2 do + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[i]+j):setStatus(dsp.status.DISAPPEAR) + end + end + for i = 0, 9 do + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[3]+i):untargetable(false) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[3]+i):setStatus(dsp.status.NORMAL) + end + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[4]):setStatus(dsp.status.DISAPPEAR) end, - [1296] = function (x) - Instancekey = GetServerVariable("[Central_Apollyon]UniqueID") + [1292] = function() -- NE_Apollyon + for i = 1, 4 do + GetNPCByID(ID.npc.APOLLYON_NE_CRATE[i][1]):setStatus(dsp.status.DISAPPEAR) + for j = 2, 5 do + GetNPCByID(ID.npc.APOLLYON_NE_CRATE[i][j]):setStatus(dsp.status.NORMAL) + end + end + GetNPCByID(ID.npc.APOLLYON_NE_CRATE[5]):setStatus(dsp.status.DISAPPEAR) end, - [1297] = function (x) - Instancekey = GetServerVariable("[Central_Apollyon_II]UniqueID") + [1293] = function() -- SE_Apollyon + for i = 1, 3 do + for j = 0, 2 do + GetNPCByID(ID.npc.APOLLYON_SE_CRATE[i]+j):setStatus(dsp.status.DISAPPEAR) + end + end + GetNPCByID(ID.mob.APOLLYON_SE_MOB[4]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.APOLLYON_SE_CRATE[4]):setStatus(dsp.status.DISAPPEAR) end, - [1298] = function (x) - Instancekey = GetServerVariable("[Temenos_W_Tower]UniqueID") + [1294] = function() -- CS_Apollyon + for i = 0, 2 do + GetNPCByID(ID.npc.APOLLYON_CS_CRATE+i):setStatus(dsp.status.DISAPPEAR) + end end, - [1299] = function (x) - Instancekey = GetServerVariable("[Temenos_N_Tower]UniqueID") + [1296] = function() -- Central_Apollyon + GetNPCByID(ID.npc.APOLLYON_CENTRAL_CRATE):setStatus(dsp.status.DISAPPEAR) end, - [1300] = function (x) - Instancekey = GetServerVariable("[Temenos_E_Tower]UniqueID") + [1298] = function() -- Temenos_Western_Tower + for i = 1, #ID.npc.TEMENOS_W_CRATE-1 do + for j = 0, 2 do + GetNPCByID(ID.npc.TEMENOS_W_CRATE[i]+j):setStatus(dsp.status.DISAPPEAR) + end + end + GetNPCByID(ID.npc.TEMENOS_W_CRATE[7]):setStatus(dsp.status.DISAPPEAR) end, - [1301] = function (x) - Instancekey = GetServerVariable("[C_Temenos_Base]UniqueID") + [1299] = function() -- Temenos_Northern_Tower + for i = 1, #ID.npc.TEMENOS_N_CRATE-1 do + for j = 0, 2 do + GetNPCByID(ID.npc.TEMENOS_N_CRATE[i]+j):setStatus(dsp.status.DISAPPEAR) + end + end + GetNPCByID(ID.npc.TEMENOS_N_CRATE[7]):setStatus(dsp.status.DISAPPEAR) end, - [1302] = function (x) - Instancekey = GetServerVariable("[C_Temenos_Base_II]UniqueID") + [1300] = function() -- Temenos_Eastern_Tower + for i = 1, #ID.npc.TEMENOS_E_CRATE-1 do + for j = 0, 3 do + GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+j):setStatus(dsp.status.DISAPPEAR) + end + end + GetNPCByID(ID.npc.TEMENOS_E_CRATE[7]):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(ID.npc.TEMENOS_E_CRATE[7]+1):setStatus(dsp.status.DISAPPEAR) end, - [1303] = function (x) - Instancekey = GetServerVariable("[C_Temenos_1st]UniqueID") + [1301] = function() -- Central_Temenos_Basement + GetNPCByID(ID.npc.TEMENOS_C_CRATE[5]):setStatus(dsp.status.DISAPPEAR) end, - [1304] = function (x) - Instancekey = GetServerVariable("[C_Temenos_2nd]UniqueID") + [1303] = function() -- Central_Temenos_1st_Floor + GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setStatus(dsp.status.DISAPPEAR) end, - [1305] = function (x) - Instancekey = GetServerVariable("[C_Temenos_3rd]UniqueID") + [1304] = function() -- Central_Temenos_2nd_Floor + GetNPCByID(ID.npc.TEMENOS_C_CRATE[2]):setStatus(dsp.status.DISAPPEAR) end, - [1306] = function (x) - Instancekey = GetServerVariable("[C_Temenos_4th]UniqueID") + [1305] = function() -- Central_Temenos_3rd_Floor + GetNPCByID(ID.npc.TEMENOS_C_CRATE[3]):setStatus(dsp.status.DISAPPEAR) end, - [1307] = function (x) - Instancekey = GetServerVariable("[C_Temenos_4th_II]UniqueID") + [1306] = function() -- Central_Temenos_4th_Floor + GetNPCByID(ID.npc.TEMENOS_C_CRATE[4][1]):setStatus(dsp.status.DISAPPEAR) + for i = ID.npc.TEMENOS_C_CRATE[4][1]+2, ID.npc.TEMENOS_C_CRATE[4][1]+20 do + if hide then + GetNPCByID(i):setStatus(dsp.status.DISAPPEAR) + else + GetNPCByID(i):setStatus(dsp.status.NORMAL) + end + end end, } - -- print("Server__instanceID "..instanceID.." Serverkey "..Instancekey) - - return Instancekey end -function IsMobDead(mobID) - local ActionValue = GetMobAction(mobID) - -- Todo: replace this - if (ActionValue == 0 or ActionValue == 21 or ActionValue == 22 or ActionValue == 23) then - return true +function dsp.limbus.handleDoors(battlefield, open, door) + local bfid = battlefield:getID() + local animation = dsp.animation.CLOSE_DOOR + if open then animation = dsp.animation.OPEN_DOOR end + local ID + if bfid == 1290 or bfid == 1291 or bfid == 1292 or bfid == 1293 then + ID = zones[dsp.zone.APOLLYON] else - return false + ID = zones[dsp.zone.TEMENOS] end -end -function despawnLimbusCS() - for n = 16933130, 16933136, 1 do - if (IsMobDead(n) == false) then - DespawnMob(n) + if door then + if open then + local players = battlefield:getPlayers() + for i, member in pairs(players) do + member:messageSpecial(ID.text.GATE_OPEN) + member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) + end end + GetNPCByID(door):setAnimation(animation) + return end - for n = 16933138, 16933143, 1 do - if (IsMobDead(n) == false) then - DespawnMob(n) - end - end + switch (bfid): caseof + { + [1290] = function() -- NW_Apollyon + for i = 1, 5 do + GetNPCByID(ID.npc.APOLLYON_NW_PORTAL[i]):setAnimation(animation) + end + end, + [1291] = function() -- SW_Apollyon + for i = 1, 4 do + GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[i]):setAnimation(animation) + end + end, + [1292] = function() -- NE_Apollyon + for i = 1, 5 do + GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[i]):setAnimation(animation) + end + end, + [1293] = function() -- SE_Apollyon + for i = 1, 4 do + GetNPCByID(ID.npc.APOLLYON_SE_PORTAL[i]):setAnimation(animation) + end + end, + [1299] = function() -- Temenos_Northern_Tower + for i = 1, 7 do + GetNPCByID(ID.npc.TEMENOS_N_GATE[i]):setAnimation(animation) + end + end, + [1300] = function() -- Temenos_Eastern_Tower + for i = 1, 7 do + GetNPCByID(ID.npc.TEMENOS_E_GATE[i]):setAnimation(animation) + end + end, + [1298] = function() -- Temenos_Western_Tower + for i = 1, 7 do + GetNPCByID(ID.npc.TEMENOS_W_GATE[i]):setAnimation(animation) + end + end, + [1303] = function() -- Central_Temenos_1st_Floor + GetNPCByID(ID.npc.TEMENOS_C_GATE[1]):setAnimation(animation) + end, + [1304] = function() -- Central_Temenos_2nd_Floor + GetNPCByID(ID.npc.TEMENOS_C_GATE[2]):setAnimation(animation) + end, + [1305] = function() -- Central_Temenos_3rd_Floor + GetNPCByID(ID.npc.TEMENOS_C_GATE[3]):setAnimation(animation) + end, + [1306] = function() -- Central_Temenos_4th_Floor + GetNPCByID(ID.npc.TEMENOS_C_GATE[4]):setAnimation(animation) + end, + [1301] = function() -- Central_Temenos_Basement + GetNPCByID(ID.npc.TEMENOS_C_GATE[5]):setAnimation(animation) + end, + } +end - for n = 16933145, 16933152, 1 do - if (IsMobDead(n) == false) then - DespawnMob(n) +function dsp.limbus.handleLootRolls(battlefield, lootTable, players, npc) + players = players or battlefield:getPlayers() + for i = 1, #lootTable do + local lootGroup = lootTable[i] + if lootGroup then + local max = 0 + for _, entry in pairs(lootGroup) do + max = max + entry.droprate + end + local roll = math.random(max) + for _, entry in pairs(lootGroup) do + max = max - entry.droprate + if roll > max then + if entry.itemid ~= 0 then + players[1]:addTreasure(entry.itemid, npc) + end + break + end + end end end end -function SpawnCofferSWfloor3() - -- print("spawn_coffer") - GetNPCByID(16932864+210):setPos(MIMICPOSITION[2][1], MIMICPOSITION[2][2], MIMICPOSITION[2][3]) - GetNPCByID(16932864+210):setStatus(dsp.status.NORMAL) - GetNPCByID(16932864+211):setPos(MIMICPOSITION[4][1], MIMICPOSITION[4][2], MIMICPOSITION[4][3]) - GetNPCByID(16932864+211):setStatus(dsp.status.NORMAL) - GetNPCByID(16932864+212):setPos(MIMICPOSITION[6][1], MIMICPOSITION[6][2], MIMICPOSITION[6][3]) - GetNPCByID(16932864+212):setStatus(dsp.status.NORMAL) - GetNPCByID(16932864+213):setPos(MIMICPOSITION[8][1], MIMICPOSITION[8][2], MIMICPOSITION[8][3]) - GetNPCByID(16932864+213):setStatus(dsp.status.NORMAL) - GetNPCByID(16932864+214):setPos(MIMICPOSITION[10][1], MIMICPOSITION[10][2], MIMICPOSITION[10][3]) - GetNPCByID(16932864+214):setStatus(dsp.status.NORMAL) - GetNPCByID(16932864+215):setPos(MIMICPOSITION[12][1], MIMICPOSITION[12][2], MIMICPOSITION[12][3]) - GetNPCByID(16932864+215):setStatus(dsp.status.NORMAL) - GetNPCByID(16932864+216):setPos(MIMICPOSITION[14][1], MIMICPOSITION[14][2], MIMICPOSITION[14][3]) - GetNPCByID(16932864+216):setStatus(dsp.status.NORMAL) - SetServerVariable("[SW_Apollyon]MimicTrigger", 1) -end - -function SpawnCofferTemenosCFloor4() - -- print("spawn_coffer") - GetNPCByID(16928768+80):setPos(-560, -6, -459) - GetNPCByID(16928768+80):setStatus(dsp.status.NORMAL) - GetNPCByID(16928768+86):setPos(-540, -6, -459) - GetNPCByID(16928768+86):setStatus(dsp.status.NORMAL) - GetNPCByID(16928768+87):setPos(-576, -6, -459) - GetNPCByID(16928768+87):setStatus(dsp.status.NORMAL) - GetNPCByID(16928768+88):setPos(-528, -6, -459) - GetNPCByID(16928768+88):setStatus(dsp.status.NORMAL) - - GetNPCByID(16928768+89):setPos(-592, -6, -487) - GetNPCByID(16928768+89):setStatus(dsp.status.NORMAL) - GetNPCByID(16928768+95):setPos(-566, -6, -486) - GetNPCByID(16928768+95):setStatus(dsp.status.NORMAL) - GetNPCByID(16928768+96):setPos(-566, -6, -513) - GetNPCByID(16928768+96):setStatus(dsp.status.NORMAL) - GetNPCByID(16928768+97):setPos(-592, -6, -513) - GetNPCByID(16928768+97):setStatus(dsp.status.NORMAL) - - GetNPCByID(16928768+98):setPos(-531, -0.5, -501) - GetNPCByID(16928768+98):setStatus(dsp.status.NORMAL) - GetNPCByID(16928768+104):setPos(-527, -6, -512) - GetNPCByID(16928768+104):setStatus(dsp.status.NORMAL) - GetNPCByID(16928768+105):setPos(-552, -6, -512) - GetNPCByID(16928768+105):setStatus(dsp.status.NORMAL) - GetNPCByID(16928768+106):setPos(-552, -6, -488) - GetNPCByID(16928768+106):setStatus(dsp.status.NORMAL) - - GetNPCByID(16928768+107):setPos(-488, 2, -510) - GetNPCByID(16928768+107):setStatus(dsp.status.NORMAL) - GetNPCByID(16928768+113):setPos(-486, 2, -491) - GetNPCByID(16928768+113):setStatus(dsp.status.NORMAL) - GetNPCByID(16928768+114):setPos(-508, 2, -513) - GetNPCByID(16928768+114):setStatus(dsp.status.NORMAL) +function dsp.limbus.extendTimeLimit(battlefield, minutes, zone, npc) + local timeLimit = battlefield:getTimeLimit() + local extension = minutes * 60 + battlefield:setTimeLimit(timeLimit + extension) + local ID = zones[zone] - GetNPCByID(16928768+115):setPos(-488, 2, -408) - GetNPCByID(16928768+115):setStatus(dsp.status.NORMAL) - GetNPCByID(16928768+116):setPos(-485, 2, -423) - GetNPCByID(16928768+116):setStatus(dsp.status.NORMAL) - GetNPCByID(16928768+122):setPos(-506, 2, -406) - GetNPCByID(16928768+122):setStatus(dsp.status.NORMAL) -end - -function Randomcoffer(Floor, region) - local cofferID = 0 - local cofferType = 0 - local spawnchance=math.random(0, 100) - - if (spawnchance < 31) then - if (spawnchance < 15) then - cofferType=cITEM - elseif (spawnchance < 25) then - cofferType=cRESTORE - elseif (spawnchance < 30) then - cofferType=cTIME - end - else - -- print("nothing_spawn") - end - - if (region == Temenos_Western_Tower and cofferType == cITEM) then - switch (Floor): caseof - { - [1] = function (x) - cofferID = 1 - end, - [2] = function (x) - cofferID = 2 - end, - [3] = function (x) - cofferID = 3 - end, - [4] = function (x) - cofferID = 10 - end, - [5] = function (x) - cofferID = 11 - end, - [6] = function (x) - cofferID = 12 - end, - } - elseif (region == Temenos_Western_Tower and cofferType == cRESTORE) then - switch (Floor): caseof - { - [1] = function (x) - cofferID = 203 - end, - [2] = function (x) - cofferID = 204 - end, - [3] = function (x) - cofferID = 205 - end, - [4] = function (x) - cofferID = 206 - end, - [5] = function (x) - cofferID = 207 - end, - [6] = function (x) - cofferID = 208 - end, - } - elseif (region == Temenos_Western_Tower and cofferType == cTIME) then - switch (Floor): caseof - { - [1] = function (x) - cofferID = 128 - end, - [2] = function (x) - cofferID = 129 - end, - [3] = function (x) - cofferID = 139 - end, - [4] = function (x) - cofferID = 140 - end, - [5] = function (x) - cofferID = 141 - end, - [6] = function (x) - cofferID = 151 - end, - } + players = players or battlefield:getPlayers() + for _, player in pairs(players) do + player:messageSpecial(ID.text.TIME_EXTENDED, minutes) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end - -- print("cofferID" ..cofferID) - return cofferID end -function ResetKeyForEmptyLimbus(player, instanceID) - local instancestatus = player:isSpecialBattlefieldEmpty(GetInstanceRegion(instanceID)) - - -- print("instancestatus"..instancestatus) - - if (instancestatus == 0) then - switch (instanceID): caseof +function dsp.limbus.spawnRandomCrate(npc, player, var, mask, canMimic) + local battlefield = player:getBattlefield() + if mask < 8 then + local spawnMimic = math.random(0,1) == 1 + switch (mask): caseof { - [1290] = function (x) - SetServerVariable("[NW_Apollyon]UniqueID", 0) - end, - [1291] = function (x) - SetServerVariable("[SW_Apollyon]UniqueID", 0) - end, - [1292] = function (x) - SetServerVariable("[NE_Apollyon]UniqueID", 0) - end, - [1293] = function (x) - SetServerVariable("[SE_Apollyon]UniqueID", 0) - end, - [1294] = function (x) - SetServerVariable("[CS_Apollyon]UniqueID", 0) - end, - [1295] = function (x) - SetServerVariable("[CS_Apollyon_II]UniqueID", 0) - end, - [1296] = function (x) - SetServerVariable("[Central_Apollyon]UniqueID", 0) - end, - [1297] = function (x) - SetServerVariable("[Central_Apollyon_II]UniqueID", 0) - end, - [1298] = function (x) - SetServerVariable("[Temenos_W_Tower]UniqueID", 0) - end, - [1299] = function (x) - SetServerVariable("[Temenos_N_Tower]UniqueID", 0) - end, - [1300] = function (x) - SetServerVariable("[Temenos_E_Tower]UniqueID", 0) + [0] = function() -- spawn anything + if spawnMimic and canMimic then + GetNPCByID(npc):setModelId(961) --mimic + GetNPCByID(npc):setStatus(dsp.status.NORMAL) + battlefield:setLocalVar(var, mask+8) + else + local random = math.random(0,2) + switch (random): caseof + { + [0] = function() GetNPCByID(npc):setModelId(960) end, --bronze + [1] = function() GetNPCByID(npc):setModelId(961) end, --gold + [2] = function() GetNPCByID(npc):setModelId(962) end, --blue + } + GetNPCByID(npc):setStatus(dsp.status.NORMAL) + battlefield:setLocalVar(var, bit.bor(math.pow(2,random), mask)) + end end, - [1301] = function (x) - SetServerVariable("[C_Temenos_Base]UniqueID", 0) + [1] = function() -- spawn gold or blue + if spawnMimic and canMimic then + GetNPCByID(npc):setModelId(961) --mimic + GetNPCByID(npc):setStatus(dsp.status.NORMAL) + battlefield:setLocalVar(var, mask+8) + else + local random = math.random(1,2) + switch (random): caseof + { + [1] = function() GetNPCByID(npc):setModelId(961) end, --gold + [2] = function() GetNPCByID(npc):setModelId(962) end, --blue + } + GetNPCByID(npc):setStatus(dsp.status.NORMAL) + battlefield:setLocalVar(var, bit.bor(math.pow(2,random), mask)) + end end, - [1302] = function (x) - SetServerVariable("[C_Temenos_Base_II]UniqueID", 0) + [2] = function() -- spawn bronze or blue + if spawnMimic and canMimic then + GetNPCByID(npc):setModelId(961) --mimic + GetNPCByID(npc):setStatus(dsp.status.NORMAL) + battlefield:setLocalVar(var, mask+8) + else + local random = math.random(0,1) + if random == 1 then random = 2 end + switch (random): caseof + { + [0] = function() GetNPCByID(npc):setModelId(960) end, --bronze + [2] = function() GetNPCByID(npc):setModelId(962) end, --blue + } + GetNPCByID(npc):setStatus(dsp.status.NORMAL) + battlefield:setLocalVar(var, bit.bor(math.pow(2,random), mask)) + end end, - [1303] = function (x) - SetServerVariable("[C_Temenos_1st]UniqueID", 0) + [3] = function() -- spawn blue + if spawnMimic and canMimic then + GetNPCByID(npc):setModelId(961) --mimic + GetNPCByID(npc):setStatus(dsp.status.NORMAL) + battlefield:setLocalVar(var, mask+8) + else + GetNPCByID(npc):setModelId(962) --blue + GetNPCByID(npc):setStatus(dsp.status.NORMAL) + battlefield:setLocalVar(var, mask+4) + end end, - [1304] = function (x) - SetServerVariable("[C_Temenos_2nd]UniqueID", 0) + [4] = function() -- spawn bronze or gold + if spawnMimic and canMimic then + GetNPCByID(npc):setModelId(961) --mimic + GetNPCByID(npc):setStatus(dsp.status.NORMAL) + battlefield:setLocalVar(var, mask+8) + else + local random = math.random(0,1) + switch (random): caseof + { + [0] = function() GetNPCByID(npc):setModelId(960) end, --bronze + [1] = function() GetNPCByID(npc):setModelId(961) end, --gold + } + GetNPCByID(npc):setStatus(dsp.status.NORMAL) + battlefield:setLocalVar(var, bit.bor(math.pow(2,random), mask)) + end end, - [1305] = function (x) - SetServerVariable("[C_Temenos_3rd]UniqueID", 0) + [5] = function() -- spawn gold + if spawnMimic and canMimic then + GetNPCByID(npc):setModelId(961) --mimic + GetNPCByID(npc):setStatus(dsp.status.NORMAL) + battlefield:setLocalVar(var, mask+8) + else + GetNPCByID(npc):setModelId(961) --gold + GetNPCByID(npc):setStatus(dsp.status.NORMAL) + battlefield:setLocalVar(var, mask+2) + end end, - [1306] = function (x) - SetServerVariable("[C_Temenos_4th]UniqueID", 0) + [6] = function() -- spawn bronze + if spawnMimic and canMimic then + GetNPCByID(npc):setModelId(961) --mimic + GetNPCByID(npc):setStatus(dsp.status.NORMAL) + battlefield:setLocalVar(var, mask+8) + else + GetNPCByID(npc):setModelId(960) --bronze + GetNPCByID(npc):setStatus(dsp.status.NORMAL) + battlefield:setLocalVar(var, mask+1) + end end, - [1307] = function (x) - SetServerVariable("[C_Temenos_4th_II]UniqueID", 0) + [7] = function() -- spawn mimic + if canMimic then + GetNPCByID(npc):setModelId(961) --mimic + GetNPCByID(npc):setStatus(dsp.status.NORMAL) + battlefield:setLocalVar(var, mask+8) + end end, } + else + dsp.limbus.spawnRandomCrate(npc, player, var, mask-8) + mask = battlefield:getLocalVar(var) + battlefield:setLocalVar(var, mask+8) + return end end -function GetInstanceRegion(instanceID) - local region = 0 - - for K = 1, #APOLLYON_SE_NE_BCNM_LIST, 2 do - if (APOLLYON_SE_NE_BCNM_LIST[K] == instanceID) then - region =APOLLYON_SE_NE_BCNM_LIST[K+1][5] +function dsp.limbus.elementalsDead() + local ID = zones[dsp.zone.APOLLYON] + local day = VanadielDayElement() + local daykill = false + if day == 0 then -- fire + if GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+3):isDead() and GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+11):isDead() + and GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+19):isDead() + then + daykill = true end - end - - for L = 1, #APOLLYON_NW_SW_BCNM_LIST, 2 do - if (APOLLYON_NW_SW_BCNM_LIST[L] == instanceID) then - region =APOLLYON_NW_SW_BCNM_LIST[L+1][5] + elseif day == 1 then -- earth + if GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+2):isDead() and GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+10):isDead() + and GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+18):isDead() + then + daykill = true end - end - - for M = 1, #TEMENOS_LIST, 2 do - if (TEMENOS_LIST[M] == instanceID) then - region = TEMENOS_LIST[M+1][5] + elseif day == 2 then -- water + if GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+6):isDead() and GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+14):isDead() + and GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+22):isDead() + then + daykill = true end - end - - return region -end - -function RegisterLimbusInstance(player, instanceID) - local playerLimbusKeyID = player:getCharVar("characterLimbusKey") - local playerLimbusID = player:getCharVar("LimbusID") - local inst = 0 - - ResetKeyForEmptyLimbus(player, instanceID) -- instancekey will be reset if this instance is empty - - if (playerLimbusID == 0) then - playerLimbusID = instanceID - end - -- print("Player_:_instanceID_"..playerLimbusID.." Playerkey "..playerLimbusKeyID) - if (playerLimbusID ~= 0) then - if (GetLimbusKeyFromInstance(playerLimbusID) == 0 and playerLimbusKeyID == 0) then - inst = player:bcnmRegister(playerLimbusID) -- Build Limbus - if (inst == GetInstanceRegion(playerLimbusID)) then - player:bcnmEnter(playerLimbusID) - else - if (playerLimbusID == 1290 or playerLimbusID == 1291 - or playerLimbusID == 1294 or playerLimbusID == 1295 - or playerLimbusID == 1296 or playerLimbusID == 1297) then - player:setPos(-668, 0.1, -666) - else - player:setPos(643, 0.1, -600) - end - - player:messageSpecial(7006) - ResetPlayerLimbusVariable(player) - print("BCNM_cant_be _created") - end + elseif day == 3 then -- wind + if GetMobByID(ID.mob.APOLLYON_SW_MOB[4]):isDead() and GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+8):isDead() + and GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+16):isDead() + then + daykill = true end - end -end - -function TryTobackOnCurrentLimbus(player) - local currentlimbus = 0 - local playerLimbusID = player:getCharVar("LimbusID") - local playerLimbusKeyID = player:getCharVar("characterLimbusKey") - -- print("Player_:_instanceID_"..playerLimbusID.." Playerkey "..playerLimbusKeyID) - if (GetLimbusKeyFromInstance(playerLimbusID) == playerLimbusKeyID - and player:isSpecialBattlefieldEmpty(GetInstanceRegion(playerLimbusID)) == 1) then -- player deco and back - currentlimbus = playerLimbusID - print("trying_to_add_player_on_the_current_bcnm") - - local registration = player:addPlayerToSpecialBattlefield(playerLimbusID) - - if (registration ~= 1) then - currentlimbus = 0 + elseif day == 4 then -- ice + if GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+4):isDead() and GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+12):isDead() + and GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+20):isDead() + then + daykill = true + end + elseif day == 5 then -- lightning + if GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+7):isDead() and GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+15):isDead() + and GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+23):isDead() + then + daykill = true + end + elseif day == 6 then -- ligth + if GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+5):isDead() and GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+13):isDead() + and GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+21):isDead() + then + daykill = true + end + elseif day == 7 then -- dark + if GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+1):isDead() and GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+9):isDead() + and GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+17):isDead() + then + daykill = true end - else - currentlimbus = 0 end - return currentlimbus -end \ No newline at end of file + return daykill +end diff --git a/scripts/globals/mobskills/antimatter.lua b/scripts/globals/mobskills/antimatter.lua index 0c064fc9772..f04d496c4db 100644 --- a/scripts/globals/mobskills/antimatter.lua +++ b/scripts/globals/mobskills/antimatter.lua @@ -21,7 +21,9 @@ function onMobSkillCheck(target,mob,skill) local phase = mob:getLocalVar("battlePhase") if ((skillList == 729 and phase < 4) or (skillList == 728 and mobhp < 20)) then - return 0 + if mob:getLocalVar("nuclearWaste") == 0 then + return 0 + end end return 1 diff --git a/scripts/globals/mobskills/armor_buster.lua b/scripts/globals/mobskills/armor_buster.lua index 9acbae35584..8223cbd6147 100644 --- a/scripts/globals/mobskills/armor_buster.lua +++ b/scripts/globals/mobskills/armor_buster.lua @@ -13,7 +13,9 @@ function onMobSkillCheck(target,mob,skill) local phase = mob:getLocalVar("battlePhase") if (phase >= 3) then -- only proto-ultima has the var at a value other than 0. Note that the phase values range from 0-4 for the five phases. - return 0 + if mob:getLocalVar("nuclearWaste") == 0 and mob:getLocalVar("citadelBuster") == 0 then + return 0 + end end return 1 end diff --git a/scripts/globals/mobskills/chemical_bomb.lua b/scripts/globals/mobskills/chemical_bomb.lua index 0dc3d0e0c07..5bf6adada2b 100644 --- a/scripts/globals/mobskills/chemical_bomb.lua +++ b/scripts/globals/mobskills/chemical_bomb.lua @@ -17,8 +17,10 @@ function onMobSkillCheck(target, mob, skill) local mobhp = mob:getHPP() local phase = mob:getLocalVar("battlePhase") - if (skillList == 729 and phase < 3) or (skillList == 728 and mobhp >= 70 or mobhp < 40) then - return 0 + if (skillList == 729 and phase < 2) or (skillList == 728 and (mobhp >= 70 or mobhp < 40)) then + if mob:getLocalVar("nuclearWaste") == 0 then + return 0 + end end return 1 diff --git a/scripts/globals/mobskills/citadel_buster.lua b/scripts/globals/mobskills/citadel_buster.lua new file mode 100644 index 00000000000..f5aa94f04bc --- /dev/null +++ b/scripts/globals/mobskills/citadel_buster.lua @@ -0,0 +1,89 @@ +--------------------------------------------- +-- Citadel Buster +-- Deals extreme Light damage to players in an area of effect. +-- Additional effect: Enmity reset +-- Damage can be approximated based on Calculating Weapon Skill Damage as a magical WS with a level of 85, fTP of 6 and MAB of 4.0. Or, more simply: +-- 2088/(1+MDB%) * (256-MDT)/256 (no day/weather bonus) +-- 2608/MDB * (256-MDT)/256 (weather bonus) +-- 2816/MDB * (256-MDT)/256 (day+weather bonus) +--------------------------------------------- +require("scripts/globals/monstertpmoves") +require("scripts/globals/settings") +require("scripts/globals/status") +require("scripts/globals/weather") +local ID = require("scripts/zones/Temenos/IDs") + +--------------------------------------------- + +function onMobSkillCheck(target,mob,skill) + local phase = mob:getLocalVar("battlePhase") + if (phase == 4) then + mob:setLocalVar("citadelBuster", 1) + mob:SetMobAbilityEnabled(false) + mob:SetMagicCastingEnabled(false) + mob:SetAutoAttackEnabled(false) + mob:setMobMod(dsp.mobMod.DRAW_IN, 1) + local battlefield = mob:getBattlefield() + local players = battlefield:getPlayers() + for _, member in pairs(players) do + member:messageSpecial(ID.text.CITADEL_BASE) + end + mob:timer(10000, function(mob) + for _, member in pairs(players) do + member:messageSpecial(ID.text.CITADEL_BASE+1) + end + mob:timer(10000, function(mob) + for _, member in pairs(players) do + member:messageSpecial(ID.text.CITADEL_BASE+2) + end + mob:timer(5000, function(mob) + for _, member in pairs(players) do + member:messageSpecial(ID.text.CITADEL_BASE+3) + end + mob:timer(1000, function(mob) + for _, member in pairs(players) do + member:messageSpecial(ID.text.CITADEL_BASE+4) + end + mob:timer(1000, function(mob) + for _, member in pairs(players) do + member:messageSpecial(ID.text.CITADEL_BASE+5) + end + mob:timer(1000, function(mob) + for _, member in pairs(players) do + member:messageSpecial(ID.text.CITADEL_BASE+6) + end + mob:timer(1000, function(mob) + for _, member in pairs(players) do + member:messageSpecial(ID.text.CITADEL_BASE+7) + end + mob:timer(1000, function(mob) + mob:useMobAbility(1540) + mob:timer(500, function(mob) + mob:setLocalVar("citadelBuster", 0) + mob:SetMagicCastingEnabled(true) + mob:SetAutoAttackEnabled(true) + mob:SetMobAbilityEnabled(true) + mob:setMobMod(dsp.mobMod.DRAW_IN, 0) + end) + end) + end) + end) + end) + end) + end) + end) + end) + end + return 1 +end + +function onMobWeaponSkill(target, mob, skill) + local basedmg = 2088 + if mob:getWeather() == dsp.weather.AURORAS or mob:getWeather() == dsp.weather.STELLAR_GLARE then basedmg = basedmg + 520 end + if VanadielDayElement() == dsp.day.LIGHTSDAY then basedmg = basedmg + 208 end + local damage = basedmg/(1+(target:getMod(dsp.mod.MDEF)/100)) + local dmg = MobFinalAdjustments(damage,mob,skill,target,dsp.attackType.MAGICAL,dsp.damageType.LIGHT,MOBPARAM_IGNORE_SHADOWS) + target:takeDamage(dmg, mob, dsp.attackType.MAGICAL, dsp.damageType.LIGHT) + mob:resetEnmity(target) + return dmg +end diff --git a/scripts/globals/mobskills/cryo_jet.lua b/scripts/globals/mobskills/cryo_jet.lua index 4e1a8b534cf..12ecde64172 100644 --- a/scripts/globals/mobskills/cryo_jet.lua +++ b/scripts/globals/mobskills/cryo_jet.lua @@ -19,7 +19,7 @@ function onMobSkillCheck(target,mob,skill) local mobhp = mob:getHPP() local phase = mob:getLocalVar("battlePhase") - if ((skillList == 729 and phase >= 1 and phase <= 2) or (skillList == 728 and mobhp < 70 and mobhp >= 40)) then + if mob:getLocalVar("nuclearWaste") == 1 then return 0 end @@ -35,6 +35,9 @@ function onMobWeaponSkill(target, mob, skill) local dmg = MobFinalAdjustments(info.dmg,mob,skill,target,dsp.attackType.MAGICAL,dsp.damageType.ICE,MOBPARAM_IGNORE_SHADOWS) target:takeDamage(dmg, mob, dsp.attackType.MAGICAL, dsp.damageType.ICE) - + if target:hasStatusEffect(dsp.effect.ELEMENTALRES_DOWN) then + target:delStatusEffectSilent(dsp.effect.ELEMENTALRES_DOWN) + end + mob:setLocalVar("nuclearWaste", 0) return dmg end \ No newline at end of file diff --git a/scripts/globals/mobskills/energy_screen.lua b/scripts/globals/mobskills/energy_screen.lua index 168f3e954ec..eebb014b49f 100644 --- a/scripts/globals/mobskills/energy_screen.lua +++ b/scripts/globals/mobskills/energy_screen.lua @@ -12,7 +12,9 @@ require("scripts/globals/status") function onMobSkillCheck(target,mob,skill) local phase = mob:getLocalVar("battlePhase") if (phase >= 3) then - return 0 + if mob:getLocalVar("nuclearWaste") == 0 and mob:getLocalVar("citadelBuster") == 0 then + return 0 + end end return 1 end diff --git a/scripts/globals/mobskills/equalizer.lua b/scripts/globals/mobskills/equalizer.lua index ce7d2e601f4..00c69044f3e 100644 --- a/scripts/globals/mobskills/equalizer.lua +++ b/scripts/globals/mobskills/equalizer.lua @@ -19,7 +19,9 @@ function onMobSkillCheck(target,mob,skill) local phase = mob:getLocalVar("battlePhase") if ((skillList == 729 and phase >= 2 and phase <= 3) or (mobhp < 40 and mobhp > 20 and skillList == 728)) then - return 0 + if mob:getLocalVar("nuclearWaste") == 0 then + return 0 + end end return 1 diff --git a/scripts/globals/mobskills/flame_thrower.lua b/scripts/globals/mobskills/flame_thrower.lua index abdd4ef127c..4fbbdb3c39a 100644 --- a/scripts/globals/mobskills/flame_thrower.lua +++ b/scripts/globals/mobskills/flame_thrower.lua @@ -17,7 +17,7 @@ function onMobSkillCheck(target,mob,skill) local mobhp = mob:getHPP() local phase = mob:getLocalVar("battlePhase") - if ((skillList == 729 and phase >= 1 and phase <= 2) or (skillList == 728 and mobhp < 70 and mobhp >= 40)) then + if mob:getLocalVar("nuclearWaste") == 1 then return 0 end @@ -33,5 +33,9 @@ function onMobWeaponSkill(target, mob, skill) local dmg = MobFinalAdjustments(info.dmg,mob,skill,target,dsp.attackType.MAGICAL,dsp.damageType.FIRE,MOBPARAM_IGNORE_SHADOWS) target:takeDamage(dmg, mob, dsp.attackType.MAGICAL, dsp.damageType.FIRE) + if target:hasStatusEffect(dsp.effect.ELEMENTALRES_DOWN) then + target:delStatusEffectSilent(dsp.effect.ELEMENTALRES_DOWN) + end + mob:setLocalVar("nuclearWaste", 0) return dmg end \ No newline at end of file diff --git a/scripts/globals/mobskills/high-tension_discharger.lua b/scripts/globals/mobskills/high-tension_discharger.lua index d23035ab4f9..fbd611021e3 100644 --- a/scripts/globals/mobskills/high-tension_discharger.lua +++ b/scripts/globals/mobskills/high-tension_discharger.lua @@ -18,7 +18,7 @@ function onMobSkillCheck(target,mob,skill) local mobhp = mob:getHPP() local phase = mob:getLocalVar("battlePhase") - if ((skillList == 729 and phase >= 1 and phase <= 2) or (skillList == 728 and mobhp < 70 and mobhp >= 40)) then + if mob:getLocalVar("nuclearWaste") == 1 then return 0 end @@ -34,5 +34,9 @@ function onMobWeaponSkill(target, mob, skill) local dmg = MobFinalAdjustments(info.dmg,mob,skill,target,dsp.attackType.MAGICAL,dsp.damageType.LIGHTNING,MOBPARAM_IGNORE_SHADOWS) target:takeDamage(dmg, mob, dsp.attackType.MAGICAL, dsp.damageType.LIGHTNING) + if target:hasStatusEffect(dsp.effect.ELEMENTALRES_DOWN) then + target:delStatusEffectSilent(dsp.effect.ELEMENTALRES_DOWN) + end + mob:setLocalVar("nuclearWaste", 0) return dmg end diff --git a/scripts/globals/mobskills/hydro_canon.lua b/scripts/globals/mobskills/hydro_canon.lua index b869a92ff6b..ece67ca3147 100644 --- a/scripts/globals/mobskills/hydro_canon.lua +++ b/scripts/globals/mobskills/hydro_canon.lua @@ -19,7 +19,7 @@ function onMobSkillCheck(target,mob,skill) local mobhp = mob:getHPP() local phase = mob:getLocalVar("battlePhase") - if ((skillList == 729 and phase >= 1 and phase <= 2) or (skillList == 728 and mobhp < 70 and mobhp >= 40)) then + if mob:getLocalVar("nuclearWaste") == 1 then return 0 end @@ -36,5 +36,9 @@ function onMobWeaponSkill(target, mob, skill) local dmg = MobFinalAdjustments(info.dmg,mob,skill,target,dsp.attackType.MAGICAL,dsp.damageType.WATER,MOBPARAM_IGNORE_SHADOWS) target:takeDamage(dmg, mob, dsp.attackType.MAGICAL, dsp.damageType.WATER) + if target:hasStatusEffect(dsp.effect.ELEMENTALRES_DOWN) then + target:delStatusEffectSilent(dsp.effect.ELEMENTALRES_DOWN) + end + mob:setLocalVar("nuclearWaste", 0) return dmg end \ No newline at end of file diff --git a/scripts/globals/mobskills/hyper_pulse.lua b/scripts/globals/mobskills/hyper_pulse.lua index 6ba0c2e1863..ba235f30528 100644 --- a/scripts/globals/mobskills/hyper_pulse.lua +++ b/scripts/globals/mobskills/hyper_pulse.lua @@ -10,7 +10,10 @@ require("scripts/globals/status") --------------------------------------------- function onMobSkillCheck(target,mob,skill) - if (mob:AnimationSub() <= 1) then -- proto omega bipedform + local currentForm = mob:getLocalVar("form") + local skillList = mob:getMobMod(dsp.mobMod.SKILL_LIST) + + if (mob:AnimationSub() == 2 and currentForm == 1) or skillList == 54 then -- proto-omega bipedform return 0 end return 1 diff --git a/scripts/globals/mobskills/mana_screen.lua b/scripts/globals/mobskills/mana_screen.lua index 6669d77489a..4d848b03b71 100644 --- a/scripts/globals/mobskills/mana_screen.lua +++ b/scripts/globals/mobskills/mana_screen.lua @@ -12,7 +12,9 @@ require("scripts/globals/status") function onMobSkillCheck(target,mob,skill) local phase = mob:getLocalVar("battlePhase") if (phase >= 3) then - return 0 + if mob:getLocalVar("nuclearWaste") == 0 and mob:getLocalVar("citadelBuster") == 0 then + return 0 + end end return 1 end diff --git a/scripts/globals/mobskills/nuclear_waste.lua b/scripts/globals/mobskills/nuclear_waste.lua new file mode 100644 index 00000000000..7ce75048bb4 --- /dev/null +++ b/scripts/globals/mobskills/nuclear_waste.lua @@ -0,0 +1,40 @@ +--------------------------------------------------- +-- Nuclear Waste +-- Description: Reduces elemental resistances by 50 to players in range. +--------------------------------------------------- +require("scripts/globals/settings") +require("scripts/globals/status") +require("scripts/globals/monstertpmoves") + +--------------------------------------------------- + +function onMobSkillCheck(target,mob,skill) + -- skillList 54 = Omega + -- skillList 727 = Proto-Omega + -- skillList 728 = Ultima + -- skillList 729 = Proto-Ultima + local skillList = mob:getMobMod(dsp.mobMod.SKILL_LIST) + local mobhp = mob:getHPP() + local phase = mob:getLocalVar("battlePhase") + + if ((skillList == 729 and phase >= 1 and phase <= 2) or (skillList == 728 and mobhp < 70 and mobhp >= 40)) then + if mob:getLocalVar("nuclearWaste") == 0 then + return 0 + end + end + + return 1 +end + +function onMobWeaponSkill(target, mob, skill) + mob:setLocalVar("nuclearWaste", 1) + local typeEffect = dsp.effect.ELEMENTALRES_DOWN + local resist = applyPlayerResistance(mob,typeEffect,target,mob:getStat(dsp.mod.INT)-target:getStat(dsp.mod.INT),0,0); + if (resist >= 0.25) then + target:addStatusEffectEx(typeEffect, 0, 50, 0, 60) + skill:setMsg(dsp.msg.basic.NONE) + else + skill:setMsg(dsp.msg.basic.SKILL_MISS) + end + return typeEffect +end diff --git a/scripts/globals/mobskills/pile_pitch.lua b/scripts/globals/mobskills/pile_pitch.lua index cbf79ba19fd..3f8b4bcc37d 100644 --- a/scripts/globals/mobskills/pile_pitch.lua +++ b/scripts/globals/mobskills/pile_pitch.lua @@ -27,17 +27,12 @@ function onMobSkillCheck(target,mob,skill) end function onMobWeaponSkill(target, mob, skill) - local targetCurrentHP = target:getHP() - local hpset = target:getMaxHP() * 0.05 + local currentHP = target:getHP() + local damage = currentHP * .90 local typeEffect = dsp.effect.BIND + local dmg = MobFinalAdjustments(damage,mob,skill,target,dsp.attackType.MAGICAL,dsp.damageType.NONE,MOBPARAM_IGNORE_SHADOWS) MobStatusEffectMove(mob, target, typeEffect, 1, 0, 30) - - if (targetCurrentHP > hpset) then - dmg = targetCurrentHP - hpset - else - dmg = 0 - end - target:takeDamage(dmg, mob, dsp.attackType.MAGICAL, dsp.damageType.NONE) + mob:resetEnmity(target) return dmg end diff --git a/scripts/globals/mobskills/pod_ejection.lua b/scripts/globals/mobskills/pod_ejection.lua new file mode 100644 index 00000000000..aeca7d6045c --- /dev/null +++ b/scripts/globals/mobskills/pod_ejection.lua @@ -0,0 +1,29 @@ +--------------------------------------------- +-- Pod Ejection +--------------------------------------------- + +function onMobSkillCheck(target,mob,skill) + local pod = GetMobByID(mob:getID() + 1) + local currentForm = mob:getLocalVar("form") + + if not pod:isSpawned() and currentForm == 2 then -- proto-omega final form + return 0 + end + return 1 +end + +function onMobWeaponSkill(target, mob, skill) + local battlefield = mob:getBattlefield() + local pod = GetMobByID(mob:getID() + 1) + if battlefield and not pod:isSpawned() then + local players = battlefield:getPlayers() + local random = math.random(1, #players) + local X = mob:getXPos() + local Y = mob:getYPos() + local Z = mob:getZPos() + pod:spawn() + pod:setPos(X,Y,Z) + pod:updateEnmity(players[random]) + end + return 0 +end \ No newline at end of file diff --git a/scripts/globals/mobskills/rear_lasers.lua b/scripts/globals/mobskills/rear_lasers.lua new file mode 100644 index 00000000000..57280e93a8a --- /dev/null +++ b/scripts/globals/mobskills/rear_lasers.lua @@ -0,0 +1,31 @@ +--------------------------------------------------- +-- Rear Lasers +-- Fires aft lasers at players behind user. Additional effects: Petrification +--------------------------------------------------- + +require("scripts/globals/settings") +require("scripts/globals/status") +require("scripts/globals/monstertpmoves") + +--------------------------------------------------- + +function onMobSkillCheck(target,mob,skill) + -- skillList 54 = Omega + -- skillList 727 = Proto-Omega + -- skillList 728 = Ultima + -- skillList 729 = Proto-Ultima + local skillList = mob:getMobMod(dsp.mobMod.SKILL_LIST) + + if (skillList == 54 or (skillList == 727 and mob:AnimationSub() == 1)) and target:isBehind(mob) then + return 0 + end + return 1 +end + +function onMobWeaponSkill(target, mob, skill) + local typeEffect = dsp.effect.PETRIFICATION + + skill:setMsg(MobStatusEffectMove(mob, target, typeEffect, 1, 0, 30)) + + return typeEffect +end diff --git a/scripts/globals/mobskills/smoke_discharger.lua b/scripts/globals/mobskills/smoke_discharger.lua index 25af93c48e9..9f1f9700550 100644 --- a/scripts/globals/mobskills/smoke_discharger.lua +++ b/scripts/globals/mobskills/smoke_discharger.lua @@ -19,7 +19,7 @@ function onMobSkillCheck(target,mob,skill) local mobhp = mob:getHPP() local phase = mob:getLocalVar("battlePhase") - if ((skillList == 729 and phase >= 1 and phase <= 2) or (skillList == 728 and mobhp < 70 and mobhp >= 40)) then + if mob:getLocalVar("nuclearWaste") == 1 then return 0 end @@ -35,5 +35,9 @@ function onMobWeaponSkill(target, mob, skill) local dmg = MobFinalAdjustments(info.dmg,mob,skill,target,dsp.attackType.MAGICAL,dsp.damageType.EARTH,MOBPARAM_IGNORE_SHADOWS) target:takeDamage(dmg, mob, dsp.attackType.MAGICAL, dsp.damageType.EARTH) + if target:hasStatusEffect(dsp.effect.ELEMENTALRES_DOWN) then + target:delStatusEffectSilent(dsp.effect.ELEMENTALRES_DOWN) + end + mob:setLocalVar("nuclearWaste", 0) return dmg end diff --git a/scripts/globals/mobskills/turbofan.lua b/scripts/globals/mobskills/turbofan.lua index d84f3b7ca31..ac558210cb5 100644 --- a/scripts/globals/mobskills/turbofan.lua +++ b/scripts/globals/mobskills/turbofan.lua @@ -19,7 +19,7 @@ function onMobSkillCheck(target,mob,skill) local mobhp = mob:getHPP() local phase = mob:getLocalVar("battlePhase") - if ((skillList == 729 and phase >= 1 and phase <= 2) or (skillList == 728 and mobhp < 70 and mobhp >= 40)) then + if mob:getLocalVar("nuclearWaste") == 1 then return 0 end return 1 @@ -30,9 +30,13 @@ function onMobWeaponSkill(target, mob, skill) MobPhysicalStatusEffectMove(mob, target, skill, typeEffect, 1, 3, 30) local dmgmod = 2 - local info = MobMagicalMove(mob,target,skill,mob:getWeaponDmg()*3,dsp.magic.ele.LIGHT,dmgmod,TP_MAB_BONUS,1) - local dmg = MobFinalAdjustments(info.dmg,mob,skill,target,dsp.attackType.MAGICAL,dsp.damageType.LIGHT,MOBPARAM_IGNORE_SHADOWS) + local info = MobMagicalMove(mob,target,skill,mob:getWeaponDmg()*3,dsp.magic.ele.WIND,dmgmod,TP_MAB_BONUS,1) + local dmg = MobFinalAdjustments(info.dmg,mob,skill,target,dsp.attackType.MAGICAL,dsp.damageType.WIND,MOBPARAM_IGNORE_SHADOWS) - target:takeDamage(dmg, mob, dsp.attackType.MAGICAL, dsp.damageType.LIGHT) + target:takeDamage(dmg, mob, dsp.attackType.MAGICAL, dsp.damageType.WIND) + if target:hasStatusEffect(dsp.effect.ELEMENTALRES_DOWN) then + target:delStatusEffectSilent(dsp.effect.ELEMENTALRES_DOWN) + end + mob:setLocalVar("nuclearWaste", 0) return dmg end \ No newline at end of file diff --git a/scripts/globals/mobskills/wire_cutter.lua b/scripts/globals/mobskills/wire_cutter.lua index 5e8b650b43a..6b5159d2074 100644 --- a/scripts/globals/mobskills/wire_cutter.lua +++ b/scripts/globals/mobskills/wire_cutter.lua @@ -19,7 +19,9 @@ function onMobSkillCheck(target,mob,skill) local phase = mob:getLocalVar("battlePhase") if ((skillList == 729 and phase < 2) or (skillList == 728 and mobhp > 70)) then - return 0 + if mob:getLocalVar("nuclearWaste") == 0 then + return 0 + end end return 1 diff --git a/scripts/globals/status.lua b/scripts/globals/status.lua index 98fb6136efd..8f19626be1f 100644 --- a/scripts/globals/status.lua +++ b/scripts/globals/status.lua @@ -812,6 +812,7 @@ dsp.effect = SKILLCHAIN = 799, DYNAMIS = 800, MEDITATE = 801, -- Dummy effect for SAM Meditate JA + ELEMENTALRES_DOWN = 802, -- Elemental resistance down -- PLACEHOLDER = 802, -- Description -- 802-1022 -- PLACEHOLDER = 1023 -- The client dat file seems to have only this many "slots", results of exceeding that are untested. diff --git a/scripts/zones/AlTaieu/npcs/Swirling_Vortex.lua b/scripts/zones/AlTaieu/npcs/Swirling_Vortex.lua index c8fc1457bbb..31715e425fc 100644 --- a/scripts/zones/AlTaieu/npcs/Swirling_Vortex.lua +++ b/scripts/zones/AlTaieu/npcs/Swirling_Vortex.lua @@ -4,26 +4,26 @@ -- Type: Standard NPC -- !pos ? ? ? 33 ----------------------------------- -local ID = require("scripts/zones/AlTaieu/IDs"); -require("scripts/globals/limbus"); +local ID = require("scripts/zones/AlTaieu/IDs") +require("scripts/globals/limbus") function onTrade(player,npc,trade) -end; +end function onTrigger(player,npc) - local offset = npc:getID() - ID.npc.SWIRLING_VORTEX_OFFSET; - if (offset >= 0 and offset <= 1) then - player:startEvent(159 + offset); + local offset = npc:getID() - ID.npc.SWIRLING_VORTEX_OFFSET + if offset >= 0 and offset <= 1 then + player:startEvent(159 + offset) end -end; +end function onEventUpdate(player,csid,option) -end; +end function onEventFinish(player,csid,option) - if (csid == 160 and option == 1 ) then - enterApollyon(player,APOLLYON_NW_SW); - elseif (csid == 159 and option == 1 ) then - enterApollyon(player,APOLLYON_SE_NE); + if csid == 160 and option == 1 then + dsp.limbus.enter(player,1) + elseif csid == 159 and option == 1 then + dsp.limbus.enter(player,0) end -end; +end diff --git a/scripts/zones/Apollyon/IDs.lua b/scripts/zones/Apollyon/IDs.lua index eee232ed12d..c19e1c7d8f2 100644 --- a/scripts/zones/Apollyon/IDs.lua +++ b/scripts/zones/Apollyon/IDs.lua @@ -14,15 +14,178 @@ zones[dsp.zone.APOLLYON] = ITEM_OBTAINED = 6388, -- Obtained: . GIL_OBTAINED = 6389, -- Obtained gil. KEYITEM_OBTAINED = 6391, -- Obtained key item: . + TIME_EXCEEDED = 7054, -- You have exceeded the time limit. Exiting Limbus now. + WIPE_KICK = 7347, -- All party members in Limbus have fallen in battle. Exiting now. + WIPE = 7355, -- All party members in Limbus have fallen in battle. Exiting in minutes. CONDITION_FOR_LIMBUS = 7055, -- You have clearance to enter Limbus, but cannot enter while you or a party member is engaged in battle. + HUM = 7067, -- You hear a faint hum. + NO_KEY = 7072, -- There is a disc here inscribed ... CHIP_TRADE = 7361, -- The light in the has grown dim. + TIME_EXTENDED = 7363, -- Your time in Limbus has been extended... + TIME_LEFT = 7364, -- You have minutes left in Limbus. CONQUEST_BASE = 7366, -- Tallying conquest results... + GATE_OPEN = 7545, -- A vortex materializes... }, mob = { + APOLLYON_SW_MOB = + { + 16932868, + 16932881, + 16932896, + 16932910, + }, + APOLLYON_NW_MOB = + { + 16932937, + 16932950, + 16932963, + 16932976, + 16932985, + }, + APOLLYON_SE_MOB = + { + 16932992, + 16933006, + 16933020, + 16933032, + }, + APOLLYON_NE_MOB = + { + 16933044, + 16933062, + 16933081, + 16933099, + 16933113, + }, + APOLLYON_CS_MOB = + { + 16933129, + 16933137, + 16933144, + }, }, npc = { + ENTRANCE_OFFSET = 16933218, + APOLLYON_NW_PORTAL = + { + 16933226, -- nw 1>2 + 16933227, -- nw 2>3 + 16933228, -- nw 3>4 + 16933224, -- nw 4>5 + 16933225, -- nw 5>e + }, + APOLLYON_SW_PORTAL = + { + 16933230, -- sw 1>2 + 16933231, -- sw 2>3 + 16933232, -- sw 3>4 + 16933229, -- sw 4>e + }, + APOLLYON_NE_PORTAL = + { + 16933235, -- ne 1>2 + 16933234, -- ne 2>3 + 16933233, -- ne 3>4 + 16933237, -- ne 4>5 + 16933236, -- ne 5>e + }, + APOLLYON_SE_PORTAL = + { + 16933239, -- se 1>2 + 16933238, -- se 2>3 + 16933241, -- se 3>4 + 16933240, -- se 4>e + }, + APOLLYON_SW_CRATE = + { + 16932865, + 16932878, + 16932899, + 16932909, + }, + APOLLYON_NW_CRATE = + { + [1] = + { + 16932934, -- boss + 16932935, + 16932936, + 16932945, + 16932946, + }, + [2] = + { + 16932947, -- boss + 16932948, + 16932949, + 16932958, + 16932959, + }, + [3] = + { + 16932960, -- boss + 16932961, + 16932962, + 16932971, + 16932972, + }, + [4] = + { + 16932973, -- boss + 16932974, + 16932975, + 16932982, + 16932983, + }, + [5] = 16932984, + }, + APOLLYON_SE_CRATE = + { + 16932989, + 16933003, + 16933017, + 16933031, + }, + APOLLYON_NE_CRATE = + { + [1] = + { + 16933041, -- boss + 16933042, + 16933043, + 16933053, + 16933054, + }, + [2] = + { + 16933059, -- boss + 16933060, + 16933061, + 16933074, + 16933075, + }, + [3] = + { + 16933076, -- boss + 16933077, + 16933078, + 16933079, + 16933080, + }, + [4] = + { + 16933096, -- boss + 16933097, + 16933098, + 16933110, + 16933111, + }, + [5] = 16933112, + }, + APOLLYON_CS_CRATE = 16933126, + APOLLYON_CENTRAL_CRATE = 16933123, }, } diff --git a/scripts/zones/Apollyon/Zone.lua b/scripts/zones/Apollyon/Zone.lua index edb02e2d8ec..1495964f9f7 100644 --- a/scripts/zones/Apollyon/Zone.lua +++ b/scripts/zones/Apollyon/Zone.lua @@ -1,233 +1,145 @@ ----------------------------------- --- -- Zone: Apollyon --- ----------------------------------- local ID = require("scripts/zones/Apollyon/IDs") require("scripts/globals/conquest") -require("scripts/globals/limbus") require("scripts/globals/zone") - ------------------------------------ --- onInitialize ------------------------------------ +require("scripts/globals/status") function onInitialize(zone) - SetServerVariable("[NW_Apollyon]UniqueID",0); - SetServerVariable("[SW_Apollyon]UniqueID",0); - SetServerVariable("[NE_Apollyon]UniqueID",0) ; - SetServerVariable("[SE_Apollyon]UniqueID",0); - SetServerVariable("[CS_Apollyon]UniqueID",0); - SetServerVariable("[CS_Apollyon_II]UniqueID",0); - SetServerVariable("[Central_Apollyon]UniqueID",0); - SetServerVariable("[Central_Apollyon_II]UniqueID",0); - - -zone:registerRegion(1, 637,-4,-642,642,4,-637); -- APOLLYON_SE_NE exit -zone:registerRegion(2, -642,-4,-642,-637,4,-637); -- APOLLYON_NW_SW exit - -zone:registerRegion(3, 468,-4,-637, 478,4,-622); -- appolyon SE register -zone:registerRegion(4, 421,-4,-98, 455,4,-78); -- appolyon NE register -zone:registerRegion(5, -470,-4,-629, -459,4,-620); -- appolyon SW register -zone:registerRegion(6, -455,-4,-95, -425,4,-67); -- appolyon NW register - -zone:registerRegion(7, -3,-4,-214, 3,4,-210); -- appolyon CS register -zone:registerRegion(8, -3,-4, 207, 3,4, 215); -- appolyon Center register - -zone:registerRegion(20, 396,-4,-522, 403,4,-516); -- appolyon SE telporter floor1 to floor2 -zone:registerRegion(21, 116,-4,-443, 123,4,-436); -- appolyon SE telporter floor2 to floor3 -zone:registerRegion(22, 276,-4,-283, 283,4,-276); -- appolyon SE telporter floor3 to floor4 -zone:registerRegion(23, 517,-4,-323, 523,4,-316); -- appolyon SE telporter floor4 to entrance - -zone:registerRegion(24, 396,-4,76, 403,4,83); -- appolyon NE telporter floor1 to floor2 -zone:registerRegion(25, 276,-4,356, 283,4,363); -- appolyon NE telporter floor2 to floor3 -zone:registerRegion(26, 236,-4,517, 243,4,523); -- appolyon NE telporter floor3 to floor4 -zone:registerRegion(27, 517,-4,637, 523,4,643); -- appolyon NE telporter floor4 to floor5 -zone:registerRegion(28, 557,-4,356, 563,4,363); -- appolyon NE telporter floor5 to entrance - -zone:registerRegion(29, -403,-4,-523, -396,4,-516); -- appolyon SW telporter floor1 to floor2 -zone:registerRegion(30, -123,-4,-443, -116,4,-436); -- appolyon SW telporter floor2 to floor3 -zone:registerRegion(31, -283,-4,-283, -276,4,-276); -- appolyon SW telporter floor3 to floor4 -zone:registerRegion(32, -523,-4,-323, -517,4,-316); -- appolyon SW telporter floor4 to entrance - -zone:registerRegion(33, -403,-4,76, -396,4,83); -- appolyon NW telporter floor1 to floor2 -zone:registerRegion(34, -283,-4,356, -276,4,363); -- appolyon NW telporter floor2 to floor3 -zone:registerRegion(35, -243,-4,516, -236,4,523); -- appolyon NW telporter floor3 to floor4 -zone:registerRegion(36, -523,-4,636, -516,4,643); -- appolyon NW telporter floor4 to floor5 -zone:registerRegion(37, -563,-4,356, -556,4,363); -- appolyon NW telporter floor5 to entrance - -end; - ------------------------------------ --- onConquestUpdate ------------------------------------ + SetServerVariable("[Central_Apollyon]Time", 0) + SetServerVariable("[CS_Apollyon]Time", 0) + SetServerVariable("[NE_Apollyon]Time", 0) + SetServerVariable("[NW_Apollyon]Time", 0) + SetServerVariable("[SE_Apollyon]Time", 0) + SetServerVariable("[SW_Apollyon]Time", 0) + zone:registerRegion(1, 637,-4,-642,642,4,-637) -- APOLLYON_SE_NE exit + zone:registerRegion(2, -642,-4,-642,-637,4,-637) -- APOLLYON_NW_SW exit + + zone:registerRegion(20, 396,-4,-522, 403,4,-516) -- appolyon SE telporter floor1 to floor2 + zone:registerRegion(21, 116,-4,-443, 123,4,-436) -- appolyon SE telporter floor2 to floor3 + zone:registerRegion(22, 276,-4,-283, 283,4,-276) -- appolyon SE telporter floor3 to floor4 + zone:registerRegion(23, 517,-4,-323, 523,4,-316); -- appolyon SE telporter floor4 to entrance + + zone:registerRegion(24, 396,-4,76, 403,4,83) -- appolyon NE telporter floor1 to floor2 + zone:registerRegion(25, 276,-4,356, 283,4,363) -- appolyon NE telporter floor2 to floor3 + zone:registerRegion(26, 236,-4,517, 243,4,523) -- appolyon NE telporter floor3 to floor4 + zone:registerRegion(27, 517,-4,637, 523,4,643) -- appolyon NE telporter floor4 to floor5 + zone:registerRegion(28, 557,-4,356, 563,4,363); -- appolyon NE telporter floor5 to entrance + + zone:registerRegion(29, -403,-4,-523, -396,4,-516) -- appolyon SW telporter floor1 to floor2 + zone:registerRegion(30, -123,-4,-443, -116,4,-436) -- appolyon SW telporter floor2 to floor3 + zone:registerRegion(31, -283,-4,-283, -276,4,-276) -- appolyon SW telporter floor3 to floor4 + zone:registerRegion(32, -523,-4,-323, -517,4,-316); -- appolyon SW telporter floor4 to entrance + + zone:registerRegion(33, -403,-4,76, -396,4,83) -- appolyon NW telporter floor1 to floor2 + zone:registerRegion(34, -283,-4,356, -276,4,363) -- appolyon NW telporter floor2 to floor3 + zone:registerRegion(35, -243,-4,516, -236,4,523) -- appolyon NW telporter floor3 to floor4 + zone:registerRegion(36, -523,-4,636, -516,4,643) -- appolyon NW telporter floor4 to floor5 + zone:registerRegion(37, -563,-4,356, -556,4,363); -- appolyon NW telporter floor5 to entrance +end function onConquestUpdate(zone, updatetype) dsp.conq.onConquestUpdate(zone, updatetype) -end; - - ------------------------------------ --- onZoneIn ------------------------------------ - -function onZoneIn(player,prevZone) -cs = -1; - if (prevZone ~= dsp.zone.ALTAIEU) then - local playerLimbusID = player:getCharVar("LimbusID"); - if (playerLimbusID== 1290 or playerLimbusID== 1291 or playerLimbusID== 1294 or playerLimbusID== 1295 or playerLimbusID== 1296 or playerLimbusID== 1297) then - player:setPos(-668,0.1,-666); - else - player:setPos(643,0.1,-600); - end +end - elseif ((player:getXPos() == 0) and (player:getYPos() == 0) and (player:getZPos() == 0)) then - player:setPos(643,0.1,-600); +function onZoneIn(player, prevZone) + cs = -1 + if player:getXPos() == 0 and player:getYPos() == 0 and player:getZPos() == 0 then + player:setPos(643, 0.1, -600) end - -return cs; -end; - ------------------------------------ --- onRegionEnter ------------------------------------ + return cs +end function onRegionEnter(player,region) - local regionID = region:GetRegionID(); - switch (regionID): caseof { - [1] = function (x) - player:startEvent(100); -- APOLLYON_SE_NE exit - end, - [2] = function (x) - player:startEvent(101); -- APOLLYON_NW_SW exit - -- print("APOLLYON_NW_SW"); - end, - [3] = function (x) - if (player:hasStatusEffect(dsp.effect.BATTLEFIELD) == false) then - RegisterLimbusInstance(player,1293); - end --create instance appolyon SE - end, - [4] = function (x) - if (player:hasStatusEffect(dsp.effect.BATTLEFIELD) == false) then - RegisterLimbusInstance(player,1292); - end --create instance appolyon NE - end, - [5] = function (x) - if (player:hasStatusEffect(dsp.effect.BATTLEFIELD) == false) then - RegisterLimbusInstance(player,1291); - end --create instance appolyon SW - end, - [6] = function (x) - if (player:hasStatusEffect(dsp.effect.BATTLEFIELD) == false) then - RegisterLimbusInstance(player,1290); - end --create instance appolyon NW - end, - [7] = function (x) - if (player:hasStatusEffect(dsp.effect.BATTLEFIELD) == false) then - RegisterLimbusInstance(player,1294); - end --create instance appolyon CS - end, - [8] = function (x) - if (player:hasStatusEffect(dsp.effect.BATTLEFIELD) == false) then - RegisterLimbusInstance(player,1296); - end --create instance appolyon CENTER + local regionID = region:GetRegionID() + local battlefield = player:getBattlefield() + switch (regionID): caseof + { + [1] = function () + player:startEvent(100) -- APOLLYON_SE_NE exit + end, + [2] = function () + player:startEvent(101) -- APOLLYON_NW_SW exit end, - -- ///////////////////////APOLLYON SE TELEPORTER/////////////////////////////////////////// - [20] = function (x) - -- print("SE_telporter_f1_to_f2"); - if (IsMobDead(16932992)==true and player:getAnimation()==0) then player:startEvent(219);end - end, - [21] = function (x) - -- print("SE_telporter_f2_to_f3"); - if (IsMobDead(16933006)==true and player:getAnimation()==0) then player:startEvent(218);end - end, - [22] = function (x) - -- print("SE_telporter_f3_to_f4"); - if (IsMobDead(16933020)==true and player:getAnimation()==0) then player:startEvent(216);end - end, - [23] = function (x) - -- print("SE_telporter_f3_to_entrance"); - if (IsMobDead(16933032)==true and player:getAnimation()==0) then player:startEvent(217);end - end, - -- /////////////////////////////////////////////////////////////////////////////////////////// - -- ///////////////////// APOLLYON NE TELEPORTER //////////////////////////////// - [24] = function (x) - -- print("NE_telporter_f1_to_f2"); - if (IsMobDead(16933044)==true and player:getAnimation()==0) then player:startEvent(214);end - end, - [25] = function (x) - -- print("NE_telporter_f2_to_f3"); - if (IsMobDead(16933064)==true and player:getAnimation()==0) then player:startEvent(212);end --212 - end, - [26] = function (x) - -- print("NE_telporter_f3_to_f4"); - if (IsMobDead(16933086)==true and player:getAnimation()==0) then player:startEvent(210);end --210 - end, - [27] = function (x) - -- print("NE_telporter_f4_to_f5"); - if (IsMobDead(16933101)==true and player:getAnimation()==0) then player:startEvent(215);end --215 - end, - [28] = function (x) - -- print("NE_telporter_f5_to_entrance"); - if ( (IsMobDead(16933114)==true or IsMobDead(16933113)==true) and player:getAnimation()==0) then player:startEvent(213);end --213 - end, - -- ////////////////////////////////////////////////////////////////////////////////////////////////// - -- ///////////////////// APOLLYON SW TELEPORTER //////////////////////////////// - [29] = function (x) - if (IsMobDead(16932873)==true and player:getAnimation()==0) then player:startEvent(208);end --208 - end, - [30] = function (x) - if (IsMobDead(16932885)==true and player:getAnimation()==0) then player:startEvent(209);end --209 - --printf("Mimics should be 0: %u",GetServerVariable("[SW_Apollyon]MimicTrigger")); - end, - [31] = function (x) - if (( IsMobDead(16932896)==true or IsMobDead(16932897)==true or IsMobDead(16932898)==true or IsMobDead(16932899)==true )and player:getAnimation()==0) then player:startEvent(207);end -- 207 - end, - [32] = function (x) - if (IselementalDayAreDead()==true and player:getAnimation()==0) then player:startEvent(206);end -- 206 - end, - -- ////////////////////////////////////////////////////////////////////////////////////////////////// - -- ///////////////////// APOLLYON NW TELEPORTER //////////////////////////////// - [33] = function (x) - if (IsMobDead(16932937)==true and player:getAnimation()==0) then player:startEvent(205);end --205 - end, - [34] = function (x) - if (IsMobDead(16932950)==true and player:getAnimation()==0) then player:startEvent(203);end --203 - end, - [35] = function (x) - if (IsMobDead(16932963)==true and player:getAnimation()==0) then player:startEvent(201);end --201 - end, - [36] = function (x) - if (IsMobDead(16932976)==true and player:getAnimation()==0) then player:startEvent(200);end --200 - end, - [37] = function (x) - if (IsMobDead(16932985)==true and player:getAnimation()==0) then player:startEvent(202);end --202 - end, + -- APOLLYON SE TELEPORTER + [20] = function() + if GetNPCByID(ID.npc.APOLLYON_SE_PORTAL[1]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(219) end + end, + [21] = function() + if GetNPCByID(ID.npc.APOLLYON_SE_PORTAL[2]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(218) end + end, + [22] = function() + if GetNPCByID(ID.npc.APOLLYON_SE_PORTAL[3]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(216) end + end, + [23] = function () + if GetNPCByID(ID.npc.APOLLYON_SE_PORTAL[4]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(217) end + end, + -- APOLLYON NE TELEPORTER + [24] = function() + if GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[1]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(214) end + end, + [25] = function() + if GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[2]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(212) end + end, + [26] = function() + if GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[3]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(210) end + end, + [27] = function() + if GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[4]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(215) end + end, + [28] = function () + if GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[5]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(213) end + end, + -- APOLLYON SW TELEPORTER + [29] = function() + if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[1]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(208) end + end, + [30] = function() + if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[2]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(209) end + end, + [31] = function() + if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[3]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(207) end + end, + [32] = function () + if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[4]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(206) end + end, + -- APOLLYON NW TELEPORTER + [33] = function() + if GetNPCByID(ID.npc.APOLLYON_NW_PORTAL[1]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(205) end + end, + [34] = function() + if GetNPCByID(ID.npc.APOLLYON_NW_PORTAL[2]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(203) end + end, + [35] = function() + if GetNPCByID(ID.npc.APOLLYON_NW_PORTAL[3]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(201) end + end, + [36] = function() + if GetNPCByID(ID.npc.APOLLYON_NW_PORTAL[4]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(200) end + end, + [37] = function () + if GetNPCByID(ID.npc.APOLLYON_NW_PORTAL[5]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(202) end + end, } +end -end; ------------------------------------ --- onRegionLeave ------------------------------------ - -function onRegionLeave(player,region) -end; +function onRegionLeave(player, region) +end function onEventUpdate(player,csid,option) - if (csid == 209 and option == 0 and GetServerVariable("[SW_Apollyon]MimicTrigger")==0) then - SpawnCofferSWfloor3(); - --printf("Mimics should be 1: %u",GetServerVariable("[SW_Apollyon]MimicTrigger")); - elseif (csid == 207 and option == 0 and GetServerVariable("[SW_Apollyon]ElementalTrigger")==0) then - SetServerVariable("[SW_Apollyon]ElementalTrigger",VanadielDayElement()+1); - -- printf("Elementals should be 1: %u",GetServerVariable("[SW_Apollyon]ElementalTrigger")); - end -end; +end function onEventFinish(player,csid,option) - if (csid == 100 and option == 1) then - player:setPos(557,-1,441,128,33); -- APOLLYON_SE_NE exit - elseif (csid == 101 and option == 1) then - player:setPos(-561,0,443,242,33); -- APOLLYON_NW_SW exit - end -end; + if csid == 100 and option == 1 then + player:setPos(557, -1, 441, 128, 33) -- APOLLYON_SE_NE exit + elseif csid == 101 and option == 1 then + player:setPos(-561, 0, 443, 242, 33) -- APOLLYON_NW_SW exit + end + if (csid == 32001 or csid == 32002) and player:getCharVar("ApollyonEntrance") == 1 then + player:setPos(638.099, 0.000, -610.997) -- East + player:setCharVar("ApollyonEntrance", 0) + elseif (csid == 32001 or csid == 32002) and player:getCharVar("ApollyonEntrance") == 0 then + player:setPos(-646.000, 0.000, -616.000) -- West + end +end diff --git a/scripts/zones/Apollyon/bcnms/central_apollyon.lua b/scripts/zones/Apollyon/bcnms/central_apollyon.lua index e9139b03f0d..8254150b2b2 100644 --- a/scripts/zones/Apollyon/bcnms/central_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/central_apollyon.lua @@ -2,37 +2,48 @@ -- Area: Appolyon -- Name: Central Apollyon ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") require("scripts/globals/battlefield") -require("scripts/globals/keyitems"); +require("scripts/globals/keyitems") +local ID = require("scripts/zones/Apollyon/IDs") + +function onBattlefieldInitialise(battlefield) + battlefield:setLocalVar("loot", 1) + battlefield:setLocalVar("podReady", 1) + SetServerVariable("[Central_Apollyon]Time", battlefield:getTimeLimit()/60) + dsp.limbus.setupArmouryCrates(battlefield:getID()) +end --- After registering the BCNM via bcnmRegister(bcnmid) function onBattlefieldTick(battlefield, tick) + if battlefield:getRemainingTime() % 60 == 0 then + SetServerVariable("[Central_Apollyon]Time", battlefield:getRemainingTime()/60) + end dsp.battlefield.onBattlefieldTick(battlefield, tick) end +function onBattlefieldRegister(player, battlefield) +end -function onBattlefieldRegister(player,battlefield) - SetServerVariable("[Central_Apollyon]UniqueID",os.time()); - HideArmouryCrates(Central_Apollyon,APOLLYON_SE_NE); - GetNPCByID(16933248):setAnimation(8); - if (GetMobByID():isSpawned(16933125)) then DespawnMob(16933125);end -end; - --- Physically entering the BCNM via bcnmEnter(bcnmid) -function onBattlefieldEnter(player,battlefield) - player:setCharVar("characterLimbusKey",GetServerVariable("[Central_Apollyon]UniqueID")); - player:delKeyItem(dsp.ki.COSMOCLEANSE); -end; +function onBattlefieldEnter(player, battlefield) + player:delKeyItem(dsp.ki.COSMOCLEANSE) + player:setCharVar("Cosmo_Cleanse_TIME", os.time()) + if player:getCharVar("ApollyonEntrance") == 0 then + player:delKeyItem(dsp.ki.BLACK_CARD) + else + player:delKeyItem(dsp.ki.RED_CARD) + end +end --- Leaving by every mean possible, given by the LeaveCode --- 3=Disconnected or warped out (if dyna is empty: launch 4 after 3) --- 4=Finish +function onBattlefieldDestroy(battlefield) + SetServerVariable("[Central_Apollyon]Time", 0) +end -function onBattlefieldLeave(player,battlefield,leavecode) - --print("leave code "..leavecode); - if leavecode == dsp.battlefield.leaveCode.LOST then - SetServerVariable("[Central_Apollyon]UniqueID",0); - player:setPos(-668,0.1,-666); +function onBattlefieldLeave(player, battlefield, leavecode) + player:messageSpecial(ID.text.HUM+1) + if leavecode == dsp.battlefield.leaveCode.WON then + local name, clearTime, partySize = battlefield:getRecord() + player:startEvent(32001, battlefield:getArea(), clearTime, partySize, battlefield:getTimeInside(), 1, battlefield:getLocalVar("[cs]bit"), 0) + elseif leavecode == dsp.battlefield.leaveCode.LOST then + player:startEvent(32002) end -end; \ No newline at end of file +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/bcnms/cs_apollyon.lua b/scripts/zones/Apollyon/bcnms/cs_apollyon.lua index f90b8061d9d..24f4ec85c6c 100644 --- a/scripts/zones/Apollyon/bcnms/cs_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/cs_apollyon.lua @@ -2,40 +2,47 @@ -- Area: Appolyon -- Name: ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") require("scripts/globals/battlefield") -require("scripts/globals/keyitems"); +require("scripts/globals/keyitems") +local ID = require("scripts/zones/Apollyon/IDs") +function onBattlefieldInitialise(battlefield) + battlefield:setLocalVar("loot", 1) + SetServerVariable("[CS_Apollyon]Time", battlefield:getTimeLimit()/60) + dsp.limbus.setupArmouryCrates(battlefield:getID()) +end --- After registering the BCNM via bcnmRegister(bcnmid) function onBattlefieldTick(battlefield, tick) + if battlefield:getRemainingTime() % 60 == 0 then + SetServerVariable("[CS_Apollyon]Time", battlefield:getRemainingTime()/60) + end dsp.battlefield.onBattlefieldTick(battlefield, tick) end +function onBattlefieldRegister(player, battlefield) +end -function onBattlefieldRegister(player,battlefield) - SetServerVariable("[CS_Apollyon]UniqueID",os.time()); - HideArmouryCrates(CS_Apollyon,APOLLYON_SE_NE); - SetServerVariable("[CS_Apollyon]Already_Received",0); - GetNPCByID(16933245):setAnimation(8); - GetNPCByID(16933246):setAnimation(8); - GetNPCByID(16933247):setAnimation(8); - despawnLimbusCS(); -end; +function onBattlefieldEnter(player, battlefield) + player:delKeyItem(dsp.ki.COSMOCLEANSE) + player:setCharVar("Cosmo_Cleanse_TIME", os.time()) + if player:getCharVar("ApollyonEntrance") == 0 then + player:delKeyItem(dsp.ki.BLACK_CARD) + else + player:delKeyItem(dsp.ki.RED_CARD) + end +end --- Physically entering the BCNM via bcnmEnter(bcnmid) -function onBattlefieldEnter(player,battlefield) - player:setCharVar("characterLimbusKey",GetServerVariable("[CS_Apollyon]UniqueID")); - player:delKeyItem(dsp.ki.COSMOCLEANSE); -end; +function onBattlefieldDestroy(battlefield) + SetServerVariable("[CS_Apollyon]Time", 0) +end --- Leaving the by every mean possible, given by the LeaveCode --- 3=Disconnected or warped out (if dyna is empty: launch 4 after 3) --- 4=Finish -function onBattlefieldLeave(player,battlefield,leavecode) - --print("leave code "..leavecode); - if leavecode == dsp.battlefield.leaveCode.LOST then - SetServerVariable("[CS_Apollyon]UniqueID",0); - player:setPos(-668,0.1,-666); +function onBattlefieldLeave(player, battlefield, leavecode) + player:messageSpecial(ID.text.HUM+1) + if leavecode == dsp.battlefield.leaveCode.WON then + local name, clearTime, partySize = battlefield:getRecord() + player:startEvent(32001, battlefield:getArea(), clearTime, partySize, battlefield:getTimeInside(), 1, battlefield:getLocalVar("[cs]bit"), 0) + elseif leavecode == dsp.battlefield.leaveCode.LOST then + player:startEvent(32002) end -end; \ No newline at end of file +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/bcnms/ne_apollyon.lua b/scripts/zones/Apollyon/bcnms/ne_apollyon.lua index 03ef7d5aa1c..f41c3efa864 100644 --- a/scripts/zones/Apollyon/bcnms/ne_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/ne_apollyon.lua @@ -2,37 +2,46 @@ -- Area: Appolyon -- Name: NE Apollyon ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") require("scripts/globals/battlefield") -require("scripts/globals/keyitems"); +require("scripts/globals/keyitems") +local ID = require("scripts/zones/Apollyon/IDs") + +function onBattlefieldInitialise(battlefield) + battlefield:setLocalVar("randomF1", math.random(1,6)) + battlefield:setLocalVar("loot", 1) + SetServerVariable("[NE_Apollyon]Time", battlefield:getTimeLimit()/60) + dsp.limbus.handleDoors(battlefield) + dsp.limbus.setupArmouryCrates(battlefield:getID()) +end --- After registering the BCNM via bcnmRegister(bcnmid) function onBattlefieldTick(battlefield, tick) + if battlefield:getRemainingTime() % 60 == 0 then + SetServerVariable("[NE_Apollyon]Time", battlefield:getRemainingTime()/60) + end dsp.battlefield.onBattlefieldTick(battlefield, tick) end +function onBattlefieldRegister(player, battlefield) +end -function onBattlefieldRegister(player,battlefield) - SetServerVariable("[NE_Apollyon]UniqueID",os.time()); - HideArmouryCrates(NE_Apollyon,APOLLYON_SE_NE); - SpawnCofferNEfloor1(); -end; - --- Physically entering the BCNM via bcnmEnter(bcnmid) -function onBattlefieldEnter(player,battlefield) - player:setCharVar("characterLimbusKey",GetServerVariable("[NE_Apollyon]UniqueID")); - player:delKeyItem(dsp.ki.COSMOCLEANSE); - player:delKeyItem(dsp.ki.BLACK_CARD); -end; +function onBattlefieldEnter(player, battlefield) + player:delKeyItem(dsp.ki.COSMOCLEANSE) + player:delKeyItem(dsp.ki.BLACK_CARD) + player:setCharVar("Cosmo_Cleanse_TIME", os.time()) +end --- Leaving by every mean possible, given by the LeaveCode --- 3=Disconnected or warped out (if dyna is empty: launch 4 after 3) --- 4=Finish +function onBattlefieldDestroy(battlefield) + dsp.limbus.handleDoors(battlefield, true) + SetServerVariable("[NE_Apollyon]Time", 0) +end -function onBattlefieldLeave(player,battlefield,leavecode) - --print("leave code "..leavecode); - if leavecode == dsp.battlefield.leaveCode.LOST then - SetServerVariable("[NE_Apollyon]UniqueID",0); - player:setPos(643,0.1,-600); +function onBattlefieldLeave(player, battlefield, leavecode) + player:messageSpecial(ID.text.HUM+1) + if leavecode == dsp.battlefield.leaveCode.WON then + local name, clearTime, partySize = battlefield:getRecord() + player:startEvent(32001, battlefield:getArea(), clearTime, partySize, battlefield:getTimeInside(), 1, battlefield:getLocalVar("[cs]bit"), 0) + elseif leavecode == dsp.battlefield.leaveCode.LOST then + player:startEvent(32002) end -end; \ No newline at end of file +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/bcnms/nw_apollyon.lua b/scripts/zones/Apollyon/bcnms/nw_apollyon.lua index afaa99d4861..b846b759c3f 100644 --- a/scripts/zones/Apollyon/bcnms/nw_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/nw_apollyon.lua @@ -2,36 +2,46 @@ -- Area: Appolyon -- Name: NW Apollyon ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") require("scripts/globals/battlefield") -require("scripts/globals/keyitems"); +require("scripts/globals/keyitems") +local ID = require("scripts/zones/Apollyon/IDs") + +function onBattlefieldInitialise(battlefield) + battlefield:setLocalVar("randomF1", ID.mob.APOLLYON_NW_MOB[1]+math.random(1,8)) + battlefield:setLocalVar("loot", 1) + SetServerVariable("[NW_Apollyon]Time", battlefield:getTimeLimit()/60) + dsp.limbus.handleDoors(battlefield) + dsp.limbus.setupArmouryCrates(battlefield:getID()) +end --- After registering the BCNM via bcnmRegister(bcnmid) function onBattlefieldTick(battlefield, tick) + if battlefield:getRemainingTime() % 60 == 0 then + SetServerVariable("[NW_Apollyon]Time", battlefield:getRemainingTime()/60) + end dsp.battlefield.onBattlefieldTick(battlefield, tick) end +function onBattlefieldRegister(player, battlefield) +end -function onBattlefieldRegister(player,battlefield) - SetServerVariable("[NW_Apollyon]UniqueID",os.time()); - HideArmouryCrates(NW_Apollyon,APOLLYON_NW_SW); -end; - --- Physically entering the BCNM via bcnmEnter(bcnmid) -function onBattlefieldEnter(player,battlefield) - player:setCharVar("characterLimbusKey",GetServerVariable("[NW_Apollyon]UniqueID")); - player:delKeyItem(dsp.ki.COSMOCLEANSE); - player:delKeyItem(dsp.ki.RED_CARD); -end; +function onBattlefieldEnter(player, battlefield) + player:delKeyItem(dsp.ki.COSMOCLEANSE) + player:delKeyItem(dsp.ki.RED_CARD) + player:setCharVar("Cosmo_Cleanse_TIME", os.time()) +end --- Leaving the Dynamis by every mean possible, given by the LeaveCode --- 3=Disconnected or warped out (if dyna is empty: launch 4 after 3) --- 4=Finish +function onBattlefieldDestroy(battlefield) + dsp.limbus.handleDoors(battlefield, true) + SetServerVariable("[NW_Apollyon]Time", 0) +end -function onBattlefieldLeave(player,battlefield,leavecode) - --print("leave code "..leavecode); - if leavecode == dsp.battlefield.leaveCode.LOST then - SetServerVariable("[NW_Apollyon]UniqueID",0); - player:setPos(-668,0.1,-666); +function onBattlefieldLeave(player, battlefield, leavecode) + player:messageSpecial(ID.text.HUM+1) + if leavecode == dsp.battlefield.leaveCode.WON then + local name, clearTime, partySize = battlefield:getRecord() + player:startEvent(32001, battlefield:getArea(), clearTime, partySize, battlefield:getTimeInside(), 1, battlefield:getLocalVar("[cs]bit"), 0) + elseif leavecode == dsp.battlefield.leaveCode.LOST then + player:startEvent(32002) end -end; \ No newline at end of file +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/bcnms/se_apollyon.lua b/scripts/zones/Apollyon/bcnms/se_apollyon.lua index 588be2c23f7..728d3ba589d 100644 --- a/scripts/zones/Apollyon/bcnms/se_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/se_apollyon.lua @@ -2,34 +2,45 @@ -- Area: Appolyon -- Name: SE Apollyon ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") require("scripts/globals/battlefield") -require("scripts/globals/keyitems"); +require("scripts/globals/keyitems") +local ID = require("scripts/zones/Apollyon/IDs") + +function onBattlefieldInitialise(battlefield) + --battlefield:setLocalVar("loot", 1) + SetServerVariable("[SE_Apollyon]Time", battlefield:getTimeLimit()/60) + dsp.limbus.handleDoors(battlefield) + dsp.limbus.setupArmouryCrates(battlefield:getID()) +end --- After registering the BCNM via bcnmRegister(bcnmid) function onBattlefieldTick(battlefield, tick) + if battlefield:getRemainingTime() % 60 == 0 then + SetServerVariable("[SE_Apollyon]Time", battlefield:getRemainingTime()/60) + end dsp.battlefield.onBattlefieldTick(battlefield, tick) end +function onBattlefieldRegister(player, battlefield) +end -function onBattlefieldRegister(player,battlefield) - SetServerVariable("[SE_Apollyon]UniqueID",os.time()); - HideArmouryCrates(SE_Apollyon,APOLLYON_SE_NE); -end; +function onBattlefieldEnter(player, battlefield) + player:delKeyItem(dsp.ki.COSMOCLEANSE) + player:delKeyItem(dsp.ki.BLACK_CARD) + player:setCharVar("Cosmo_Cleanse_TIME", os.time()) +end --- Physically entering the BCNM via bcnmEnter(bcnmid) -function onBattlefieldEnter(player,battlefield) - player:setCharVar("characterLimbusKey",GetServerVariable("[SE_Apollyon]UniqueID")); - player:delKeyItem(dsp.ki.COSMOCLEANSE); - player:delKeyItem(dsp.ki.BLACK_CARD); -end; --- 3=Disconnected or warped out (if dyna is empty: launch 4 after 3) --- 4=Finish +function onBattlefieldDestroy(battlefield) + dsp.limbus.handleDoors(battlefield, true) + SetServerVariable("[SE_Apollyon]Time", 0) +end -function onBattlefieldLeave(player,battlefield,leavecode) - -- print("leave code "..leavecode); - if leavecode == dsp.battlefield.leaveCode.LOST then - SetServerVariable("[SE_Apollyon]UniqueID",0); - player:setPos(643,0.1,-600); +function onBattlefieldLeave(player, battlefield, leavecode) + player:messageSpecial(ID.text.HUM+1) + if leavecode == dsp.battlefield.leaveCode.WON then + local name, clearTime, partySize = battlefield:getRecord() + player:startEvent(32001, battlefield:getArea(), clearTime, partySize, battlefield:getTimeInside(), 1, battlefield:getLocalVar("[cs]bit"), 0) + elseif leavecode == dsp.battlefield.leaveCode.LOST then + player:startEvent(32002) end -end; +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/bcnms/sw_apollyon.lua b/scripts/zones/Apollyon/bcnms/sw_apollyon.lua index 8b395025601..95c103ad695 100644 --- a/scripts/zones/Apollyon/bcnms/sw_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/sw_apollyon.lua @@ -2,37 +2,53 @@ -- Area: Appolyon -- Name: SW Apollyon ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") require("scripts/globals/battlefield") -require("scripts/globals/keyitems"); +require("scripts/globals/keyitems") +local ID = require("scripts/zones/Apollyon/IDs") + +function onBattlefieldInitialise(battlefield) + battlefield:setLocalVar("loot", 1) + battlefield:setLocalVar("lootSpawned", 1) + SetServerVariable("[SW_Apollyon]Time", battlefield:getTimeLimit()/60) + dsp.limbus.handleDoors(battlefield) + local random = math.random(0, 7) + battlefield:setLocalVar("timePH", ID.npc.APOLLYON_SW_CRATE[3]+random) + battlefield:setLocalVar("restorePH", ID.npc.APOLLYON_SW_CRATE[3]+random+1) + battlefield:setLocalVar("itemPH", ID.npc.APOLLYON_SW_CRATE[3]+random+2) + dsp.limbus.setupArmouryCrates(battlefield:getID()) +end --- After registering the BCNM via bcnmRegister(bcnmid) function onBattlefieldTick(battlefield, tick) + if battlefield:getRemainingTime() % 60 == 0 then + SetServerVariable("[SW_Apollyon]Time", battlefield:getRemainingTime()/60) + end dsp.battlefield.onBattlefieldTick(battlefield, tick) end +function onBattlefieldRegister(player, battlefield) +end -function onBattlefieldRegister(player,battlefield) - SetServerVariable("[SW_Apollyon]UniqueID",os.time()); - HideArmouryCrates(SW_Apollyon,APOLLYON_NW_SW); - SetServerVariable("[SW_Apollyon]MimicTrigger",0); - SetServerVariable("[SW_Apollyon]ElementalTrigger",0); -end; - --- Physically entering the BCNM via bcnmEnter(bcnmid) -function onBattlefieldEnter(player,battlefield) - player:setCharVar("characterLimbusKey",GetServerVariable("[SW_Apollyon]UniqueID")); - player:delKeyItem(dsp.ki.COSMOCLEANSE); - player:delKeyItem(dsp.ki.RED_CARD); -end; +function onBattlefieldEnter(player, battlefield) + player:delKeyItem(dsp.ki.COSMOCLEANSE) + player:delKeyItem(dsp.ki.RED_CARD) + player:setCharVar("Cosmo_Cleanse_TIME", os.time()) + if battlefield:getLocalVar("raceF1") == 0 then + battlefield:setLocalVar("raceF1", player:getRace()) + end +end --- Leaving by every mean possible, given by the LeaveCode --- 3=Disconnected or warped out (if dyna is empty: launch 4 after 3) --- 4=Finish +function onBattlefieldDestroy(battlefield) + dsp.limbus.handleDoors(battlefield, true) + SetServerVariable("[SW_Apollyon]Time", 0) +end -function onBattlefieldLeave(player,battlefield,leavecode) - if leavecode == dsp.battlefield.leaveCode.LOST then - SetServerVariable("[SW_Apollyon]UniqueID",0); - player:setPos(-668,0.1,-666); +function onBattlefieldLeave(player, battlefield, leavecode) + player:messageSpecial(ID.text.HUM+1) + if leavecode == dsp.battlefield.leaveCode.WON then + local name, clearTime, partySize = battlefield:getRecord() + player:startEvent(32001, battlefield:getArea(), clearTime, partySize, battlefield:getTimeInside(), 1, battlefield:getLocalVar("[cs]bit"), 0) + elseif leavecode == dsp.battlefield.leaveCode.LOST then + player:startEvent(32002) end -end; \ No newline at end of file +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Adamantshell.lua b/scripts/zones/Apollyon/mobs/Adamantshell.lua index 51b32535f16..ac96a490f6b 100644 --- a/scripts/zones/Apollyon/mobs/Adamantshell.lua +++ b/scripts/zones/Apollyon/mobs/Adamantshell.lua @@ -2,29 +2,84 @@ -- Area: Apollyon SE -- Mob: Adamantshell ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobDeath(mob, player, isKiller) -end; +require("scripts/globals/pathfind") +local ID = require("scripts/zones/Apollyon/IDs") +local flags = dsp.path.flag.WALLHACK +local path = +{ + [1] = + { + {139.903, -1.770, -497.193}, + {146.494, -0.112, -504.494} + }, + [2] = + { + {135.608, -0.261, -480.383}, + {138.953, -1.907, -495.490} + }, + [3] = + { + {128.531, -0.247, -505.639}, + {138.000, -2.000, -497.000} + }, + [4] = + { + {183.732, -0.048, -555.318}, + {184.608, -0.585, -536.562} + }, + [5] = + { + {184.608, -0.585, -536.562}, + {183.732, -0.048, -555.318} + }, + [6] = + { + {215.468, 0.000, -432.219}, + {195.000, 0.000, -446.000} + }, + [7] = + { + {212.263, 0.000, -440.719}, + {189.992, 0.000, -441.419} + }, + [8] = + { + {205.544, 0.000, -448.419}, + {189.888, 0.000, -434.880} + } +} -function onMobDespawn(mob) +function onPath(mob) + mob:setLocalVar("pause", os.time()+1) +end - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); +function onMobRoam(mob) + local offset = mob:getID() - ID.mob.APOLLYON_SE_MOB[2] + local pause = mob:getLocalVar("pause") + if pause < os.time() then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) + mob:setLocalVar("pause", os.time()+60) + end +end - if (mobID ==16933008) then -- - GetNPCByID(16932864+232):setPos(108,-1,-518); - GetNPCByID(16932864+232):setStatus(dsp.status.NORMAL); - elseif (mobID ==16933013) then -- - GetNPCByID(16932864+233):setPos(109,-1,-521); - GetNPCByID(16932864+233):setStatus(dsp.status.NORMAL); - elseif (mobID ==16933007) then -- - GetNPCByID(16932864+234):setPos(112,-1,-523); - GetNPCByID(16932864+234):setStatus(dsp.status.NORMAL); - end +function onMobSpawn(mob) + mob:setMod(dsp.mod.SLASHRES, 0) + mob:setMod(dsp.mod.PIERCERES, 1500) +end -end; \ No newline at end of file +function onMobDeath(mob, player, isKiller) + if isKiller then + local battlefield = player:getBattlefield() + battlefield:setLocalVar("killCountF2", battlefield:getLocalVar("killCountF2")+1) + local killCount = battlefield:getLocalVar("killCountF2") + if killCount == 2 then + GetNPCByID(ID.npc.APOLLYON_SE_CRATE[2]):setStatus(dsp.status.NORMAL) + elseif killCount == 4 then + GetNPCByID(ID.npc.APOLLYON_SE_CRATE[2]+1):setStatus(dsp.status.NORMAL) + elseif killCount == 8 then + GetNPCByID(ID.npc.APOLLYON_SE_CRATE[2]+2):setStatus(dsp.status.NORMAL) + end + end +end diff --git a/scripts/zones/Apollyon/mobs/Air_Elemental.lua b/scripts/zones/Apollyon/mobs/Air_Elemental.lua index 81cb38b08d4..83fa5700f88 100644 --- a/scripts/zones/Apollyon/mobs/Air_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Air_Elemental.lua @@ -2,68 +2,19 @@ -- Area: Apollyon SW -- Mob: Air Elemental ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobDeath(mob, player, isKiller) -end; - -function onMobDespawn(mob) - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); +require("scripts/globals/limbus") +local ID = require("scripts/zones/Apollyon/IDs") - local elementalday = GetServerVariable("[SW_Apollyon]ElementalTrigger") - 1; - local correctelement=false; +function onMobEngaged(mob, target) + GetMobByID(ID.mob.APOLLYON_SW_MOB[4]):updateEnmity(target) + GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+8):updateEnmity(target) + GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+16):updateEnmity(target) +end - switch (elementalday): caseof { - [0] = function (x) - if (mobID==16932913 or mobID==16932921 or mobID==16932929) then - correctelement=true; - end - end , - [1] = function (x) - if (mobID==16932912 or mobID==16932920 or mobID==16932928 ) then - correctelement=true; - end - end , - [2] = function (x) - if (mobID==16932916 or mobID==16932924 or mobID==16932932 ) then - correctelement=true; - end - end , - [3] = function (x) - if (mobID==16932910 or mobID==16932918 or mobID==16932926 ) then - correctelement=true; - end - end , - [4] = function (x) - if (mobID==16932914 or mobID==16932922 or mobID==16932930 ) then - correctelement=true; - end - end , - [5] = function (x) - if (mobID==16932917 or mobID==16932925 or mobID==16932933 ) then - correctelement=true; - end - end , - [6] = function (x) - if (mobID==16932931 or mobID==16932915 or mobID==16932923 ) then - correctelement=true; - end - end , - [7] = function (x) - if (mobID==16932911 or mobID==16932919 or mobID==16932927 ) then - correctelement=true; - end - end , - }; - - if (correctelement==true and IselementalDayAreDead() == true) then - GetNPCByID(16932864+313):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+313):setStatus(dsp.status.NORMAL); - end - -end; \ No newline at end of file +function onMobDeath(mob, player, isKiller) + if isKiller then + if dsp.limbus.elementalsDead() then + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[4]):setStatus(dsp.status.NORMAL) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Apollyon_Cleaner.lua b/scripts/zones/Apollyon/mobs/Apollyon_Cleaner.lua index a30b6c4edb5..97570687321 100644 --- a/scripts/zones/Apollyon/mobs/Apollyon_Cleaner.lua +++ b/scripts/zones/Apollyon/mobs/Apollyon_Cleaner.lua @@ -2,34 +2,19 @@ -- Area: Apollyon NE -- Mob: Apollyon Cleaner ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) -end; - -function onMobDespawn(mob) - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - - - if (mobID ==16933082) then -- item - GetNPCByID(16932864+140):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+140):setStatus(dsp.status.NORMAL); - elseif (mobID ==16933085) then -- timer T1 - GetNPCByID(16932864+139):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+139):setStatus(dsp.status.NORMAL); - elseif (mobID ==16933087) then -- timer T2 - GetNPCByID(16932864+85):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+85):setStatus(dsp.status.NORMAL); - elseif (mobID ==16933092) then -- timer T3 - GetNPCByID(16932864+94):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+94):setStatus(dsp.status.NORMAL); - elseif (mobID ==16933095) then -- recover - GetNPCByID(16932864+141):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+141):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local itemF3 = battlefield:getLocalVar("itemF3") + if itemF3 == mobID then + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + GetNPCByID(ID.npc.APOLLYON_NE_CRATE[3][1]):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.APOLLYON_NE_CRATE[3][1]):setStatus(dsp.status.NORMAL) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Apollyon_Sapling.lua b/scripts/zones/Apollyon/mobs/Apollyon_Sapling.lua new file mode 100644 index 00000000000..584862c6b1b --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Apollyon_Sapling.lua @@ -0,0 +1,18 @@ +----------------------------------- +-- Area: Apollyon NE +-- Mob: Troglodyte Dhalmel +----------------------------------- +local ID = require("scripts/zones/Apollyon/IDs") + +function onMobDeath(mob, player, isKiller) + if isKiller then + local battlefield = player:getBattlefield() + local deadF2 = battlefield:getLocalVar("deadF2") + battlefield:setLocalVar("deadF2", deadF2+1) + if battlefield:getLocalVar("deadF2") == 7 then + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[2]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[2]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[2]+2):setStatus(dsp.status.NORMAL) + end + end +end diff --git a/scripts/zones/Apollyon/mobs/Apollyon_Scavenger.lua b/scripts/zones/Apollyon/mobs/Apollyon_Scavenger.lua index 9662d2c4471..b9b5fb60d03 100644 --- a/scripts/zones/Apollyon/mobs/Apollyon_Scavenger.lua +++ b/scripts/zones/Apollyon/mobs/Apollyon_Scavenger.lua @@ -2,28 +2,73 @@ -- Area: Apollyon NW -- Mob: Apollyon Scavenger ----------------------------------- +require("scripts/globals/limbus") +require("scripts/globals/pathfind") +local ID = require("scripts/zones/Apollyon/IDs") +local flags = dsp.path.flag.WALLHACK +local path = +{ + [1] = + { + {-215.100, 0.000, 541.065}, + {-248.738, 0.000, 530.959} + }, + [2] = + { + {-286.292, 0.000, 510.972}, + {-310.000, 0.000, 485.000} + }, + [4] = + { + {-333.930, 0.000, 552.100}, + {-298.615, 0.000, 570.278} + }, + [5] = + { + {-272.770, 0.000, 540.876}, + {-307.652, 0.000, 574.133} + }, + [6] = + { + {-339.942, -0.321, 546.121}, + {-326.269, 0.000, 520.347} + }, + [7] = + { + {-307.256, 0.000, 505.708}, + {-337.000, 0.000, 522.000} + } +} -function onMobDeath(mob, player, isKiller) -end; +function onPath(mob) + if mob:getID() ~= ID.mob.APOLLYON_NW_MOB[3]+4 then + mob:setLocalVar("pause", os.time()+1) + end +end -function onMobDespawn(mob) - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); +function onMobRoam(mob) + local offset = mob:getID() - ID.mob.APOLLYON_NW_MOB[3] + local pause = mob:getLocalVar("pause") + if pause < os.time() and offset ~= 3 then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) + if offset == 4 then + mob:setLocalVar("pause", os.time()+20) + else + mob:setLocalVar("pause", os.time()+60) + end + end +end - if (mobID ==16932964) then -- recover - GetNPCByID(16932864+327):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+327):setStatus(dsp.status.NORMAL); - elseif (mobID ==16932966) then -- timer 1 - GetNPCByID(16932864+177):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+177):setStatus(dsp.status.NORMAL); - elseif (mobID ==16932967) then -- timer 2 - GetNPCByID(16932864+189):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+189):setStatus(dsp.status.NORMAL); - elseif (mobID ==16932969) then -- timer 3 - GetNPCByID(16932864+190):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+190):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file +function onMobDeath(mob, player, isKiller) + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local randomF3 = battlefield:getLocalVar("randomF3") + if mobID == randomF3 then + battlefield:setLocalVar("randomF4", ID.mob.APOLLYON_NW_MOB[4]+math.random(1,6)) + dsp.limbus.handleDoors(battlefield, true, ID.npc.APOLLYON_NW_PORTAL[3]) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Apollyon_Sweeper.lua b/scripts/zones/Apollyon/mobs/Apollyon_Sweeper.lua new file mode 100644 index 00000000000..9eeb8772302 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Apollyon_Sweeper.lua @@ -0,0 +1,18 @@ +----------------------------------- +-- Area: Apollyon NE +-- Mob: Apollyon Sweeper +----------------------------------- +require("scripts/globals/limbus") +local ID = require("scripts/zones/Apollyon/IDs") + +function onMobDeath(mob, player, isKiller) + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local portalTriggerF3 = battlefield:getLocalVar("portalTriggerF3") + if portalTriggerF3 == mobID then + battlefield:setLocalVar("randomF4", ID.mob.APOLLYON_NE_MOB[4]+math.random(0,2)) + dsp.limbus.handleDoors(battlefield, true, ID.npc.APOLLYON_NE_PORTAL[3]) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Arboricole_Beetle.lua b/scripts/zones/Apollyon/mobs/Arboricole_Beetle.lua new file mode 100644 index 00000000000..584862c6b1b --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Arboricole_Beetle.lua @@ -0,0 +1,18 @@ +----------------------------------- +-- Area: Apollyon NE +-- Mob: Troglodyte Dhalmel +----------------------------------- +local ID = require("scripts/zones/Apollyon/IDs") + +function onMobDeath(mob, player, isKiller) + if isKiller then + local battlefield = player:getBattlefield() + local deadF2 = battlefield:getLocalVar("deadF2") + battlefield:setLocalVar("deadF2", deadF2+1) + if battlefield:getLocalVar("deadF2") == 7 then + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[2]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[2]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[2]+2):setStatus(dsp.status.NORMAL) + end + end +end diff --git a/scripts/zones/Apollyon/mobs/Arboricole_Crawler.lua b/scripts/zones/Apollyon/mobs/Arboricole_Crawler.lua new file mode 100644 index 00000000000..584862c6b1b --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Arboricole_Crawler.lua @@ -0,0 +1,18 @@ +----------------------------------- +-- Area: Apollyon NE +-- Mob: Troglodyte Dhalmel +----------------------------------- +local ID = require("scripts/zones/Apollyon/IDs") + +function onMobDeath(mob, player, isKiller) + if isKiller then + local battlefield = player:getBattlefield() + local deadF2 = battlefield:getLocalVar("deadF2") + battlefield:setLocalVar("deadF2", deadF2+1) + if battlefield:getLocalVar("deadF2") == 7 then + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[2]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[2]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[2]+2):setStatus(dsp.status.NORMAL) + end + end +end diff --git a/scripts/zones/Apollyon/mobs/Arboricole_Hornet.lua b/scripts/zones/Apollyon/mobs/Arboricole_Hornet.lua new file mode 100644 index 00000000000..584862c6b1b --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Arboricole_Hornet.lua @@ -0,0 +1,18 @@ +----------------------------------- +-- Area: Apollyon NE +-- Mob: Troglodyte Dhalmel +----------------------------------- +local ID = require("scripts/zones/Apollyon/IDs") + +function onMobDeath(mob, player, isKiller) + if isKiller then + local battlefield = player:getBattlefield() + local deadF2 = battlefield:getLocalVar("deadF2") + battlefield:setLocalVar("deadF2", deadF2+1) + if battlefield:getLocalVar("deadF2") == 7 then + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[2]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[2]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[2]+2):setStatus(dsp.status.NORMAL) + end + end +end diff --git a/scripts/zones/Apollyon/mobs/Arboricole_Opo-opo.lua b/scripts/zones/Apollyon/mobs/Arboricole_Opo-opo.lua new file mode 100644 index 00000000000..584862c6b1b --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Arboricole_Opo-opo.lua @@ -0,0 +1,18 @@ +----------------------------------- +-- Area: Apollyon NE +-- Mob: Troglodyte Dhalmel +----------------------------------- +local ID = require("scripts/zones/Apollyon/IDs") + +function onMobDeath(mob, player, isKiller) + if isKiller then + local battlefield = player:getBattlefield() + local deadF2 = battlefield:getLocalVar("deadF2") + battlefield:setLocalVar("deadF2", deadF2+1) + if battlefield:getLocalVar("deadF2") == 7 then + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[2]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[2]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[2]+2):setStatus(dsp.status.NORMAL) + end + end +end diff --git a/scripts/zones/Apollyon/mobs/Arboricole_Raven.lua b/scripts/zones/Apollyon/mobs/Arboricole_Raven.lua new file mode 100644 index 00000000000..584862c6b1b --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Arboricole_Raven.lua @@ -0,0 +1,18 @@ +----------------------------------- +-- Area: Apollyon NE +-- Mob: Troglodyte Dhalmel +----------------------------------- +local ID = require("scripts/zones/Apollyon/IDs") + +function onMobDeath(mob, player, isKiller) + if isKiller then + local battlefield = player:getBattlefield() + local deadF2 = battlefield:getLocalVar("deadF2") + battlefield:setLocalVar("deadF2", deadF2+1) + if battlefield:getLocalVar("deadF2") == 7 then + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[2]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[2]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[2]+2):setStatus(dsp.status.NORMAL) + end + end +end diff --git a/scripts/zones/Apollyon/mobs/Arboricole_Spider.lua b/scripts/zones/Apollyon/mobs/Arboricole_Spider.lua new file mode 100644 index 00000000000..584862c6b1b --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Arboricole_Spider.lua @@ -0,0 +1,18 @@ +----------------------------------- +-- Area: Apollyon NE +-- Mob: Troglodyte Dhalmel +----------------------------------- +local ID = require("scripts/zones/Apollyon/IDs") + +function onMobDeath(mob, player, isKiller) + if isKiller then + local battlefield = player:getBattlefield() + local deadF2 = battlefield:getLocalVar("deadF2") + battlefield:setLocalVar("deadF2", deadF2+1) + if battlefield:getLocalVar("deadF2") == 7 then + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[2]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[2]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[2]+2):setStatus(dsp.status.NORMAL) + end + end +end diff --git a/scripts/zones/Apollyon/mobs/Armoury_Crate.lua b/scripts/zones/Apollyon/mobs/Armoury_Crate.lua new file mode 100644 index 00000000000..756136a9390 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Armoury_Crate.lua @@ -0,0 +1,33 @@ +----------------------------------- +-- Area: Apollyon SW +-- Mob: Armoury Crate +----------------------------------- +require("scripts/globals/status") +require("scripts/globals/limbus") +local ID = require("scripts/zones/Apollyon/IDs") + +function onMobInitialize(mob) + --mob:setMobMod(dsp.mobMod.DRAW_IN, 2) -- need to set a maximum distance for draw-in +end + +function onMobDeath(mob, player, isKiller) + if isKiller then + if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[3]):getAnimation() ~= dsp.animation.OPEN_DOOR then + dsp.limbus.handleDoors(player:getBattlefield(), true, ID.npc.APOLLYON_SW_PORTAL[3]) + end + end +end + +function onMobDespawn(mob) + if mob:getBattlefield() then + local mobID = mob:getID() + local mimicSpawned = mob:getBattlefield():getLocalVar("mimicSpawned") + if mobID == ID.mob.APOLLYON_SW_MOB[3] then + mob:getBattlefield():setLocalVar("mimicSpawned", mimicSpawned-1) + elseif mobID == ID.mob.APOLLYON_SW_MOB[3]+1 then + mob:getBattlefield():setLocalVar("mimicSpawned", mimicSpawned-2) + elseif mobID == ID.mob.APOLLYON_SW_MOB[3]+2 then + mob:getBattlefield():setLocalVar("mimicSpawned", mimicSpawned-4) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Bardha.lua b/scripts/zones/Apollyon/mobs/Bardha.lua index 7af1c69683d..cd882858652 100644 --- a/scripts/zones/Apollyon/mobs/Bardha.lua +++ b/scripts/zones/Apollyon/mobs/Bardha.lua @@ -2,28 +2,72 @@ -- Area: Apollyon NW -- Mob: Bardha ----------------------------------- +require("scripts/globals/limbus") +require("scripts/globals/pathfind") +local ID = require("scripts/zones/Apollyon/IDs") +local flags = dsp.path.flag.NONE +local path = +{ + [1] = + { + {-390.498, -0.005, 64.145}, + {-407.565, 0.000, 45.689} + }, + [2] = + { + {-408.219, 0.000, 70.898}, + {-398.421, 0.000, 39.880} + }, + [3] = + { + {-434.176, 0.000, 20.696}, + {-456.388, -0.133, 22.150} + }, + [4] = + { + {-511.497, 0.000, 35.424}, + {-480.833, 0.000, 24.301} + }, + [5] = + { + {-446.345, 0.000, 23.886}, + {-421.125, 0.000, 22.351} + }, + [6] = + { + {-477.721, 0.000, -24.792}, + {-428.766, 0.000, -26.896} + }, + [7] = + { + {-413.615, 0.000, 29.428}, + {-445.956, 0.000, 47.672} + } +} -function onMobDeath(mob, player, isKiller) -end; +function onPath(mob) + mob:setLocalVar("pause", os.time()+1) +end -function onMobDespawn(mob) - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); +function onMobRoam(mob) + local offset = mob:getID() - ID.mob.APOLLYON_NW_MOB[1] + local pause = mob:getLocalVar("pause") + if pause < os.time() then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) + mob:setLocalVar("pause", os.time()+60) + end +end - if (mobID ==16932944) then -- recover - GetNPCByID(16932864+264):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+264):setStatus(dsp.status.NORMAL); - elseif (mobID ==16932940) then -- timer 1 - GetNPCByID(16932864+40):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+40):setStatus(dsp.status.NORMAL); - elseif (mobID ==16932941) then -- timer 2 - GetNPCByID(16932864+41):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+41):setStatus(dsp.status.NORMAL); - elseif (mobID ==16932938) then -- timer 3 - GetNPCByID(16932864+42):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+42):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file +function onMobDeath(mob, player, isKiller) + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local randomF1 = battlefield:getLocalVar("randomF1") + if mobID == randomF1 then + battlefield:setLocalVar("randomF2", ID.mob.APOLLYON_NW_MOB[2]+math.random(1,8)) + dsp.limbus.handleDoors(battlefield, true, ID.npc.APOLLYON_NW_PORTAL[1]) + end + end +end diff --git a/scripts/zones/Apollyon/mobs/Barometz.lua b/scripts/zones/Apollyon/mobs/Barometz.lua index 278f3f16adb..19492146957 100644 --- a/scripts/zones/Apollyon/mobs/Barometz.lua +++ b/scripts/zones/Apollyon/mobs/Barometz.lua @@ -2,27 +2,24 @@ -- Area: Apollyon NE -- Mob: Barometz ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +require("scripts/globals/limbus") +local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) -end; - -function onMobDespawn(mob) - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - - if (mobID ==16933045) then -- time T2 - GetNPCByID(16932864+81):setPos(459,-1,29); - GetNPCByID(16932864+81):setStatus(dsp.status.NORMAL); - elseif (mobID ==16933049) then -- time T3 - GetNPCByID(16932864+82):setPos(480,-1,-39); - GetNPCByID(16932864+82):setStatus(dsp.status.NORMAL); - elseif (mobID ==16933055) then -- item - GetNPCByID(16932864+119):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+119):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file + if mob:getID() == ID.mob.APOLLYON_NE_MOB[1]+1 then + if isKiller then + local battlefield = player:getBattlefield() + local randomF1 = battlefield:getLocalVar("randomF1") + if randomF1 == 1 or randomF1 == 5 then + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + GetNPCByID(ID.npc.APOLLYON_NE_CRATE[1][1]):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.APOLLYON_NE_CRATE[1][1]):setStatus(dsp.status.NORMAL) + elseif randomF1 == 2 or randomF1 == 6 then + battlefield:setLocalVar("randomF2", ID.mob.APOLLYON_NE_MOB[2]+math.random(0,2)) + dsp.limbus.handleDoors(battlefield, true, ID.npc.APOLLYON_NE_PORTAL[1]) + end + end + end +end diff --git a/scripts/zones/Apollyon/mobs/Bialozar.lua b/scripts/zones/Apollyon/mobs/Bialozar.lua new file mode 100644 index 00000000000..de75fbf64e7 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Bialozar.lua @@ -0,0 +1,40 @@ +----------------------------------- +-- Area: Apollyon NE +-- Mob: Bialozar +----------------------------------- +require("scripts/globals/limbus") +local ID = require("scripts/zones/Apollyon/IDs") + +function onMobDeath(mob, player, isKiller) + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local randomF2 = battlefield:getLocalVar("randomF2") + if randomF2 == mobID then + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + GetNPCByID(ID.npc.APOLLYON_NE_CRATE[2][1]):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.APOLLYON_NE_CRATE[2][1]):setStatus(dsp.status.NORMAL) + elseif randomF2+1 == mobID then + battlefield:setLocalVar("portalTriggerF3", ID.mob.APOLLYON_NE_MOB[3]) + battlefield:setLocalVar("itemF3", ID.mob.APOLLYON_NE_MOB[3]+1) + local players = battlefield:getPlayers() + if #players > 6 then + for i = 5, 9 do + GetMobByID(ID.mob.APOLLYON_NE_MOB[3]+i):spawn() + end + battlefield:setLocalVar("portalTriggerF3", ID.mob.APOLLYON_NE_MOB[3]+(math.random(0,1)*5)) + battlefield:setLocalVar("itemF3", ID.mob.APOLLYON_NE_MOB[3]+1+(math.random(0,1)*5)) + end + if #players > 12 then + for i = 10, 14 do + GetMobByID(ID.mob.APOLLYON_NE_MOB[3]+i):spawn() + end + battlefield:setLocalVar("portalTriggerF3", ID.mob.APOLLYON_NE_MOB[3]+(math.random(0,2)*5)) + battlefield:setLocalVar("itemF3", ID.mob.APOLLYON_NE_MOB[3]+1+(math.random(0,2)*5)) + end + dsp.limbus.handleDoors(battlefield, true, ID.npc.APOLLYON_NE_PORTAL[2]) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Borametz.lua b/scripts/zones/Apollyon/mobs/Borametz.lua index f7b6617118c..8f91a20e8d7 100644 --- a/scripts/zones/Apollyon/mobs/Borametz.lua +++ b/scripts/zones/Apollyon/mobs/Borametz.lua @@ -2,21 +2,24 @@ -- Area: Apollyon NE -- Mob: Borametz ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +require("scripts/globals/limbus") +local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) - local mobID = mob:getID(); - -- print(mobID); - -- local mobX = mob:getXPos(); - --local mobY = mob:getYPos(); - --local mobZ = mob:getZPos(); - - if (mobID ==16933048) then -- time T1 - GetNPCByID(16932864+118):setPos(452,-1,30); - GetNPCByID(16932864+118):setStatus(dsp.status.NORMAL); - elseif (mobID ==16933052) then -- recover - GetNPCByID(16932864+120):setPos(470,-1,30); - GetNPCByID(16932864+120):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file + if mob:getID() == ID.mob.APOLLYON_NE_MOB[1]+2 then + if isKiller then + local battlefield = player:getBattlefield() + local randomF1 = battlefield:getLocalVar("randomF1") + if randomF1 == 3 or randomF1 == 6 then + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + GetNPCByID(ID.npc.APOLLYON_NE_CRATE[1][1]):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.APOLLYON_NE_CRATE[1][1]):setStatus(dsp.status.NORMAL) + elseif randomF1 == 4 or randomF1 == 5 then + battlefield:setLocalVar("randomF2", ID.mob.APOLLYON_NE_MOB[2]+math.random(0,2)) + dsp.limbus.handleDoors(battlefield, true, ID.npc.APOLLYON_NE_PORTAL[1]) + end + end + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Carnagechief_Jackbodokk.lua b/scripts/zones/Apollyon/mobs/Carnagechief_Jackbodokk.lua index b17500ef37a..c0877e11155 100644 --- a/scripts/zones/Apollyon/mobs/Carnagechief_Jackbodokk.lua +++ b/scripts/zones/Apollyon/mobs/Carnagechief_Jackbodokk.lua @@ -2,52 +2,82 @@ -- Area: Apollyon CS -- Mob: Carnagechief Jackbodokk ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Apollyon/IDs") function onMobSpawn(mob) - mob:setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()); -end; - -function onMobEngaged(mob,target) - local mobID = mob:getID(); - local X = mob:getXPos(); - local Y = mob:getYPos(); - local Z = mob:getZPos(); - SpawnMob(16933130):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()); - SpawnMob(16933131):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()); - SpawnMob(16933132):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()); -end; - -function onMobFight(mob,target) - local mobID = mob:getID(); - local X = mob:getXPos(); - local Y = mob:getYPos(); - local Z = mob:getZPos(); - local lifepourcent= ((mob:getHP()/mob:getMaxHP())*100); - local instancetime = target:getBattlefieldTimeLeft(Central_Temenos_2nd_Floor); + mob:setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) +end - - if (lifepourcent < 50 and GetNPCByID(16933245):getAnimation() == 8) then - SpawnMob(16933134):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()); - SpawnMob(16933135):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()); - SpawnMob(16933133):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()); - SpawnMob(16933136):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()); - GetNPCByID(16933245):setAnimation(9); +function onMobEngaged(mob, target) + local battlefield = mob:getBattlefield() + if battlefield:getLocalVar("startTime") == 0 then + battlefield:setLocalVar("startTime", battlefield:getRemainingTime()) end + SpawnMob(ID.mob.APOLLYON_CS_MOB[1]+1):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + SpawnMob(ID.mob.APOLLYON_CS_MOB[1]+2):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + SpawnMob(ID.mob.APOLLYON_CS_MOB[1]+3):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + mob:setLocalVar("wave", 1) +end - if (instancetime < 13) then - if (GetMobByID(16933144):isAlive()) then - GetMobByID(16933144):updateEnmity(target); - elseif (GetMobByID(16933137):isAlive()) then - GetMobByID(16933137):updateEnmity(target); +function onMobFight(mob, target) + local battlefield = mob:getBattlefield() + if battlefield then + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + local remainingTime = battlefield:getRemainingTime() + local startTime = battlefield:getLocalVar("startTime") + local wave = mob:getLocalVar("wave") + + if GetMobByID(ID.mob.APOLLYON_CS_MOB[1]+1):isDead() and GetMobByID(ID.mob.APOLLYON_CS_MOB[1]+2):isDead() + and GetMobByID(ID.mob.APOLLYON_CS_MOB[1]+3):isDead() and wave == 1 + then + mob:setLocalVar("wave", 2) + GetMobByID(ID.mob.APOLLYON_CS_MOB[1]+4):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.APOLLYON_CS_MOB[1]+4):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.APOLLYON_CS_MOB[1]+4):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + GetMobByID(ID.mob.APOLLYON_CS_MOB[1]+5):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.APOLLYON_CS_MOB[1]+5):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.APOLLYON_CS_MOB[1]+5):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + GetMobByID(ID.mob.APOLLYON_CS_MOB[1]+6):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.APOLLYON_CS_MOB[1]+6):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.APOLLYON_CS_MOB[1]+6):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + elseif GetMobByID(ID.mob.APOLLYON_CS_MOB[1]+4):isDead() and GetMobByID(ID.mob.APOLLYON_CS_MOB[1]+5):isDead() + and GetMobByID(ID.mob.APOLLYON_CS_MOB[1]+6):isDead() and wave == 2 + then + mob:setLocalVar("wave", 1) + GetMobByID(ID.mob.APOLLYON_CS_MOB[1]+1):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.APOLLYON_CS_MOB[1]+1):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.APOLLYON_CS_MOB[1]+1):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + GetMobByID(ID.mob.APOLLYON_CS_MOB[1]+2):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.APOLLYON_CS_MOB[1]+2):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.APOLLYON_CS_MOB[1]+2):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + GetMobByID(ID.mob.APOLLYON_CS_MOB[1]+3):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.APOLLYON_CS_MOB[1]+3):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.APOLLYON_CS_MOB[1]+3):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + end + + if remainingTime <= startTime*0.66 then + if GetMobByID(ID.mob.APOLLYON_CS_MOB[3]):isAlive() and not GetMobByID(ID.mob.APOLLYON_CS_MOB[3]):isEngaged() then + battlefield:setLocalVar("startTime", battlefield:getRemainingTime()) + GetMobByID(ID.mob.APOLLYON_CS_MOB[3]):updateEnmity(target) + elseif GetMobByID(ID.mob.APOLLYON_CS_MOB[2]):isAlive() and not GetMobByID(ID.mob.APOLLYON_CS_MOB[2]):isEngaged() then + battlefield:setLocalVar("startTime", battlefield:getRemainingTime()) + GetMobByID(ID.mob.APOLLYON_CS_MOB[2]):updateEnmity(target) + end end end -end; +end function onMobDeath(mob, player, isKiller) - if ( ( GetMobByID(16933144):isAlive() or GetMobByID(16933137):isAlive() ) and alreadyReceived(player,1,Central_Temenos_2nd_Floor) == false) then - player:addTimeToBattlefield(Central_Temenos_2nd_Floor,5); - addLimbusList(player,1,Central_Temenos_2nd_Floor); + if isKiller then + if GetMobByID(ID.mob.APOLLYON_CS_MOB[3]):isDead() and GetMobByID(ID.mob.APOLLYON_CS_MOB[2]):isDead() then + GetNPCByID(ID.npc.APOLLYON_CS_CRATE):setStatus(dsp.status.NORMAL) + elseif GetMobByID(ID.mob.APOLLYON_CS_MOB[3]):isAlive() and GetMobByID(ID.mob.APOLLYON_CS_MOB[2]):isAlive() then + GetNPCByID(ID.npc.APOLLYON_CS_CRATE+1):setStatus(dsp.status.NORMAL) + else + GetNPCByID(ID.npc.APOLLYON_CS_CRATE+2):setStatus(dsp.status.NORMAL) + end end -end; +end diff --git a/scripts/zones/Apollyon/mobs/Cornu.lua b/scripts/zones/Apollyon/mobs/Cornu.lua deleted file mode 100644 index 0bdc2577dad..00000000000 --- a/scripts/zones/Apollyon/mobs/Cornu.lua +++ /dev/null @@ -1,26 +0,0 @@ ------------------------------------ --- Area: Apollyon NE --- Mob: Cornu ------------------------------------ -require("scripts/globals/limbus"); ------------------------------------ - -function onMobDeath(mob, player, isKiller) -end; - -function onMobDespawn(mob) - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - - - if (mobID ==16933066) then -- time T3 - GetNPCByID(16932864+84):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+84):setStatus(dsp.status.NORMAL); - elseif (mobID ==16933069) then -- recover - GetNPCByID(16932864+127):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+127):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Cronos.lua b/scripts/zones/Apollyon/mobs/Cronos.lua new file mode 100644 index 00000000000..99c035271ee --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Cronos.lua @@ -0,0 +1,21 @@ +----------------------------------- +-- Area: Apollyon NE +-- Mob: Cronos +----------------------------------- +require("scripts/globals/limbus") +local ID = require("scripts/zones/Apollyon/IDs") + +function onMobSpawn(mob) + mob:setMod(dsp.mod.UDMGPHYS, -100) +end + +function onMobDeath(mob, player, isKiller) + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local randomF4 = battlefield:getLocalVar("randomF4") + if randomF4 == mobID then + dsp.limbus.handleDoors(battlefield, true, ID.npc.APOLLYON_NE_PORTAL[4]) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Cynoprosopi.lua b/scripts/zones/Apollyon/mobs/Cynoprosopi.lua index 983addfb58f..5df7b9e44c8 100644 --- a/scripts/zones/Apollyon/mobs/Cynoprosopi.lua +++ b/scripts/zones/Apollyon/mobs/Cynoprosopi.lua @@ -2,14 +2,35 @@ -- Area: Apollyon NW -- Mob: Cynoprosopi ----------------------------------- +require("scripts/globals/pathfind") +local ID = require("scripts/zones/Apollyon/IDs") +local flags = dsp.path.flag.NONE +local path = +{ + {-553.732,0.000,599.452}, + {-606.096,0.000,567.105}, + {-577.405,-0.642,541.362}, + {-543.441,0.000,523.866} +} + +function onMobRoam(mob) + if not mob:isFollowingPath() then + local point = math.random(#path) + while point == mob:getLocalVar("point") do + point = math.random(#path) + end + mob:setLocalVar("point", point) + mob:pathTo(path[point][1], path[point][2], path[point][3], flags) + end +end -function onMobDeath(mob, player, isKiller) -end; -function onMobDespawn(mob) - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - GetNPCByID(16932864+110):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+110):setStatus(dsp.status.NORMAL); -end; \ No newline at end of file +function onMobDeath(mob, player, isKiller) + if isKiller then + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + GetNPCByID(ID.npc.APOLLYON_NW_CRATE[4][1]):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.APOLLYON_NW_CRATE[4][1]):setStatus(dsp.status.NORMAL) + end +end diff --git a/scripts/zones/Apollyon/mobs/Dark_Elemental.lua b/scripts/zones/Apollyon/mobs/Dark_Elemental.lua index 86316d1e8ed..c5d13215acd 100644 --- a/scripts/zones/Apollyon/mobs/Dark_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Dark_Elemental.lua @@ -2,68 +2,19 @@ -- Area: Apollyon SW -- Mob: Dark Elemental ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobDeath(mob, player, isKiller) -end; - -function onMobDespawn(mob) - local mobID = mob:getID(); -print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); +require("scripts/globals/limbus") +local ID = require("scripts/zones/Apollyon/IDs") - local elementalday = GetServerVariable("[SW_Apollyon]ElementalTrigger"); - local correctelement=false; +function onMobEngaged(mob, target) + GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+1):updateEnmity(target) + GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+9):updateEnmity(target) + GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+17):updateEnmity(target) +end - switch (elementalday): caseof { - [1] = function (x) - if (mobID==16932913 or mobID==16932921 or mobID==16932929) then - correctelement=true; - end - end , - [2] = function (x) - if (mobID==16932912 or mobID==16932920 or mobID==16932928 ) then - correctelement=true; - end - end , - [3] = function (x) - if (mobID==16932916 or mobID==16932924 or mobID==16932932 ) then - correctelement=true; - end - end , - [4] = function (x) - if (mobID==16932910 or mobID==16932918 or mobID==16932926 ) then - correctelement=true; - end - end , - [5] = function (x) - if (mobID==16932914 or mobID==16932922 or mobID==16932930 ) then - correctelement=true; - end - end , - [6] = function (x) - if (mobID==16932917 or mobID==16932925 or mobID==16932933 ) then - correctelement=true; - end - end , - [7] = function (x) - if (mobID==16932931 or mobID==16932915 or mobID==16932923 ) then - correctelement=true; - end - end , - [8] = function (x) - if (mobID==16932911 or mobID==16932919 or mobID==16932927 ) then - correctelement=true; - end - end , - }; - -if (correctelement==true and IselementalDayAreDead() == true) then - GetNPCByID(16932864+313):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+313):setStatus(dsp.status.NORMAL); - end - -end; \ No newline at end of file +function onMobDeath(mob, player, isKiller) + if isKiller then + if dsp.limbus.elementalsDead() then + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[4]):setStatus(dsp.status.NORMAL) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Dee_Wapa_the_Desolator.lua b/scripts/zones/Apollyon/mobs/Dee_Wapa_the_Desolator.lua index c8f1cfb1555..5111c018732 100644 --- a/scripts/zones/Apollyon/mobs/Dee_Wapa_the_Desolator.lua +++ b/scripts/zones/Apollyon/mobs/Dee_Wapa_the_Desolator.lua @@ -2,52 +2,81 @@ -- Area: Apollyon CS -- Mob: Dee Wapa the Desolator ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +local ID = require("scripts/zones/Apollyon/IDs") function onMobSpawn(mob) - mob:setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()); -end; - -function onMobEngaged(mob,target) - local mobID = mob:getID(); - local X = mob:getXPos(); - local Y = mob:getYPos(); - local Z = mob:getZPos(); - SpawnMob(16933148):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()); - SpawnMob(16933147):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()); - SpawnMob(16933149):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()); - SpawnMob(16933146):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()); -end; - -function onMobFight(mob,target) - local mobID = mob:getID(); - local X = mob:getXPos(); - local Y = mob:getYPos(); - local Z = mob:getZPos(); - local lifepourcent= ((mob:getHP()/mob:getMaxHP())*100); - local instancetime = target:getBattlefieldTimeLeft(Central_Temenos_2nd_Floor); + mob:setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) +end - if (lifepourcent < 50 and GetNPCByID(16933247):getAnimation() == 8) then - SpawnMob(16933151):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()); - SpawnMob(16933150):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()); - SpawnMob(16933152):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()); - GetNPCByID(16933247):setAnimation(9); +function onMobEngaged(mob, target) + local battlefield = mob:getBattlefield() + if battlefield:getLocalVar("startTime") == 0 then + battlefield:setLocalVar("startTime", battlefield:getRemainingTime()) end + SpawnMob(ID.mob.APOLLYON_CS_MOB[3]+3):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + SpawnMob(ID.mob.APOLLYON_CS_MOB[3]+4):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + SpawnMob(ID.mob.APOLLYON_CS_MOB[3]+5):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + mob:setLocalVar("wave", 1) +end - if (instancetime < 13) then - if (GetMobByID(16933129):isAlive()) then - GetMobByID(16933129):updateEnmity(target); - elseif (GetMobByID(16933137):isAlive()) then - GetMobByID(16933137):updateEnmity(target); +function onMobFight(mob, target) + local battlefield = mob:getBattlefield() + if battlefield then + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + local remainingTime = battlefield:getRemainingTime() + local startTime = battlefield:getLocalVar("startTime") + local wave = mob:getLocalVar("wave") + + if GetMobByID(ID.mob.APOLLYON_CS_MOB[3]+3):isDead() and GetMobByID(ID.mob.APOLLYON_CS_MOB[3]+4):isDead() + and GetMobByID(ID.mob.APOLLYON_CS_MOB[3]+5):isDead() and wave == 1 + then + mob:setLocalVar("wave", 2) + GetMobByID(ID.mob.APOLLYON_CS_MOB[3]+6):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.APOLLYON_CS_MOB[3]+6):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.APOLLYON_CS_MOB[3]+6):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + GetMobByID(ID.mob.APOLLYON_CS_MOB[3]+7):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.APOLLYON_CS_MOB[3]+7):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.APOLLYON_CS_MOB[3]+7):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + GetMobByID(ID.mob.APOLLYON_CS_MOB[3]+8):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.APOLLYON_CS_MOB[3]+8):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.APOLLYON_CS_MOB[3]+8):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + elseif GetMobByID(ID.mob.APOLLYON_CS_MOB[3]+6):isDead() and GetMobByID(ID.mob.APOLLYON_CS_MOB[3]+7):isDead() + and GetMobByID(ID.mob.APOLLYON_CS_MOB[3]+8):isDead() and wave == 2 + then + mob:setLocalVar("wave", 1) + GetMobByID(ID.mob.APOLLYON_CS_MOB[3]+3):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.APOLLYON_CS_MOB[3]+3):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.APOLLYON_CS_MOB[3]+3):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + GetMobByID(ID.mob.APOLLYON_CS_MOB[3]+4):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.APOLLYON_CS_MOB[3]+4):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.APOLLYON_CS_MOB[3]+4):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + GetMobByID(ID.mob.APOLLYON_CS_MOB[3]+5):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.APOLLYON_CS_MOB[3]+5):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.APOLLYON_CS_MOB[3]+5):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + end + + if remainingTime <= startTime*0.66 then + if GetMobByID(ID.mob.APOLLYON_CS_MOB[2]):isAlive() and not GetMobByID(ID.mob.APOLLYON_CS_MOB[2]):isEngaged() then + battlefield:setLocalVar("startTime", battlefield:getRemainingTime()) + GetMobByID(ID.mob.APOLLYON_CS_MOB[2]):updateEnmity(target) + elseif GetMobByID(ID.mob.APOLLYON_CS_MOB[1]):isAlive() and not GetMobByID(ID.mob.APOLLYON_CS_MOB[1]):isEngaged() then + battlefield:setLocalVar("startTime", battlefield:getRemainingTime()) + GetMobByID(ID.mob.APOLLYON_CS_MOB[1]):updateEnmity(target) + end end end - -end; +end function onMobDeath(mob, player, isKiller) - if ( ( GetMobByID(16933129):isAlive() or GetMobByID(16933137):isAlive() ) and alreadyReceived(player,3,Central_Temenos_2nd_Floor) == false) then - player:addTimeToBattlefield(Central_Temenos_2nd_Floor,5); - addLimbusList(player,3,Central_Temenos_2nd_Floor); + if isKiller then + if GetMobByID(ID.mob.APOLLYON_CS_MOB[1]):isDead() and GetMobByID(ID.mob.APOLLYON_CS_MOB[2]):isDead() then + GetNPCByID(ID.npc.APOLLYON_CS_CRATE):setStatus(dsp.status.NORMAL) + elseif GetMobByID(ID.mob.APOLLYON_CS_MOB[1]):isAlive() and GetMobByID(ID.mob.APOLLYON_CS_MOB[2]):isAlive() then + GetNPCByID(ID.npc.APOLLYON_CS_CRATE+1):setStatus(dsp.status.NORMAL) + else + GetNPCByID(ID.npc.APOLLYON_CS_CRATE+2):setStatus(dsp.status.NORMAL) + end end -end; +end diff --git a/scripts/zones/Apollyon/mobs/Earth_Elemental.lua b/scripts/zones/Apollyon/mobs/Earth_Elemental.lua index e016c927fff..67740629791 100644 --- a/scripts/zones/Apollyon/mobs/Earth_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Earth_Elemental.lua @@ -2,68 +2,19 @@ -- Area: Apollyon SW -- Mob: Earth Elemental ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobDeath(mob, player, isKiller) -end; - -function onMobDespawn(mob) - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); +require("scripts/globals/limbus") +local ID = require("scripts/zones/Apollyon/IDs") - local elementalday = GetServerVariable("[SW_Apollyon]ElementalTrigger") - 1; - local correctelement=false; +function onMobEngaged(mob, target) + GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+2):updateEnmity(target) + GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+10):updateEnmity(target) + GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+18):updateEnmity(target) +end - switch (elementalday): caseof { - [0] = function (x) - if (mobID==16932913 or mobID==16932921 or mobID==16932929) then - correctelement=true; - end - end , - [1] = function (x) - if (mobID==16932912 or mobID==16932920 or mobID==16932928 ) then - correctelement=true; - end - end , - [2] = function (x) - if (mobID==16932916 or mobID==16932924 or mobID==16932932 ) then - correctelement=true; - end - end , - [3] = function (x) - if (mobID==16932910 or mobID==16932918 or mobID==16932926 ) then - correctelement=true; - end - end , - [4] = function (x) - if (mobID==16932914 or mobID==16932922 or mobID==16932930 ) then - correctelement=true; - end - end , - [5] = function (x) - if (mobID==16932917 or mobID==16932925 or mobID==16932933 ) then - correctelement=true; - end - end , - [6] = function (x) - if (mobID==16932931 or mobID==16932915 or mobID==16932923 ) then - correctelement=true; - end - end , - [7] = function (x) - if (mobID==16932911 or mobID==16932919 or mobID==16932927 ) then - correctelement=true; - end - end , - }; - - if (correctelement==true and IselementalDayAreDead() == true) then - GetNPCByID(16932864+313):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+313):setStatus(dsp.status.NORMAL); - end - -end; \ No newline at end of file +function onMobDeath(mob, player, isKiller) + if isKiller then + if dsp.limbus.elementalsDead() then + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[4]):setStatus(dsp.status.NORMAL) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Evil_Armory.lua b/scripts/zones/Apollyon/mobs/Evil_Armory.lua index 61898f9c3c0..d6e7207ded8 100644 --- a/scripts/zones/Apollyon/mobs/Evil_Armory.lua +++ b/scripts/zones/Apollyon/mobs/Evil_Armory.lua @@ -2,31 +2,15 @@ -- Area: Apollyon SE -- Mob: Evil Armory ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +local ID = require("scripts/zones/Apollyon/IDs") -function onMobEngaged(mob,target) - GetMobByID(16933033):updateEnmity(target); - GetMobByID(16933034):updateEnmity(target); - GetMobByID(16933035):updateEnmity(target); - GetMobByID(16933036):updateEnmity(target); - GetMobByID(16933037):updateEnmity(target); - GetMobByID(16933038):updateEnmity(target); - GetMobByID(16933039):updateEnmity(target); - GetMobByID(16933040):updateEnmity(target); -end; +function onMobSpawn(mob) + mob:setMod(dsp.mod.UDMGMAGIC, -100) + mob:setMod(dsp.mod.UDMGPHYS, -80) +end function onMobDeath(mob, player, isKiller) -end; - -function onMobDespawn(mob) - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - - GetNPCByID(16932864+263):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+263):setStatus(dsp.status.NORMAL); - -end; \ No newline at end of file + if isKiller then + GetNPCByID(ID.npc.APOLLYON_SE_CRATE[4]):setStatus(dsp.status.NORMAL) + end +end diff --git a/scripts/zones/Apollyon/mobs/Fir_Bholg.lua b/scripts/zones/Apollyon/mobs/Fir_Bholg.lua index e0ca1968208..edaccfae452 100644 --- a/scripts/zones/Apollyon/mobs/Fir_Bholg.lua +++ b/scripts/zones/Apollyon/mobs/Fir_Bholg.lua @@ -2,27 +2,65 @@ -- Area: Apollyon SW -- Mob: Fir Bholg ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +require("scripts/globals/limbus") +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) -end; - -function onMobDespawn(mob) - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - - if (mobID ==16932869) then -- time - GetNPCByID(16932864+14):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+14):setStatus(dsp.status.NORMAL); - elseif (mobID ==16932871) then -- recover - GetNPCByID(16932864+16):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+16):setStatus(dsp.status.NORMAL); - elseif (mobID ==16932874) then -- item - GetNPCByID(16932864+15):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+15):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local race = battlefield:getLocalVar("raceF1") + if race == 1 or race == 2 then + if mobID == ID.mob.APOLLYON_SW_MOB[1]+2 or mobID == ID.mob.APOLLYON_SW_MOB[1]+7 then + if GetMobByID(ID.mob.APOLLYON_SW_MOB[1]+2):isDead() and GetMobByID(ID.mob.APOLLYON_SW_MOB[1]+7):isDead() then + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[1]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[1]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[1]+2):setStatus(dsp.status.NORMAL) + else + dsp.limbus.handleDoors(battlefield, true, ID.npc.APOLLYON_SW_PORTAL[1]) + end + end + elseif race == 3 or race == 4 then + if mobID == ID.mob.APOLLYON_SW_MOB[1] or mobID == ID.mob.APOLLYON_SW_MOB[1]+5 then + if GetMobByID(ID.mob.APOLLYON_SW_MOB[1]):isDead() and GetMobByID(ID.mob.APOLLYON_SW_MOB[1]+5):isDead() then + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[1]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[1]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[1]+2):setStatus(dsp.status.NORMAL) + else + dsp.limbus.handleDoors(battlefield, true, ID.npc.APOLLYON_SW_PORTAL[1]) + end + end + elseif race == 5 or race == 6 then + if mobID == ID.mob.APOLLYON_SW_MOB[1]+4 or mobID == ID.mob.APOLLYON_SW_MOB[1]+9 then + if GetMobByID(ID.mob.APOLLYON_SW_MOB[1]+4):isDead() and GetMobByID(ID.mob.APOLLYON_SW_MOB[1]+9):isDead() then + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[1]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[1]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[1]+2):setStatus(dsp.status.NORMAL) + else + dsp.limbus.handleDoors(battlefield, true, ID.npc.APOLLYON_SW_PORTAL[1]) + end + end + elseif race == 7 then + if mobID == ID.mob.APOLLYON_SW_MOB[1]+3 or mobID == ID.mob.APOLLYON_SW_MOB[1]+8 then + if GetMobByID(ID.mob.APOLLYON_SW_MOB[1]+3):isDead() and GetMobByID(ID.mob.APOLLYON_SW_MOB[1]+8):isDead() then + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[1]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[1]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[1]+2):setStatus(dsp.status.NORMAL) + else + dsp.limbus.handleDoors(battlefield, true, ID.npc.APOLLYON_SW_PORTAL[1]) + end + end + elseif race == 8 then + if mobID == ID.mob.APOLLYON_SW_MOB[1]+1 or mobID == ID.mob.APOLLYON_SW_MOB[1]+6 then + if GetMobByID(ID.mob.APOLLYON_SW_MOB[1]+1):isDead() and GetMobByID(ID.mob.APOLLYON_SW_MOB[1]+6):isDead() then + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[1]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[1]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[1]+2):setStatus(dsp.status.NORMAL) + else + dsp.limbus.handleDoors(battlefield, true, ID.npc.APOLLYON_SW_PORTAL[1]) + end + end + end + end +end diff --git a/scripts/zones/Apollyon/mobs/Fire_Elemental.lua b/scripts/zones/Apollyon/mobs/Fire_Elemental.lua index 2fc5902f953..7b4e0575580 100644 --- a/scripts/zones/Apollyon/mobs/Fire_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Fire_Elemental.lua @@ -2,68 +2,19 @@ -- Area: Apollyon SW -- Mob: Fire Elemental ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobDeath(mob, player, isKiller) -end; - -function onMobDespawn(mob) - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); +require("scripts/globals/limbus") +local ID = require("scripts/zones/Apollyon/IDs") - local elementalday = GetServerVariable("[SW_Apollyon]ElementalTrigger") - 1; - local correctelement=false; +function onMobEngaged(mob, target) + GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+3):updateEnmity(target) + GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+11):updateEnmity(target) + GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+19):updateEnmity(target) +end - switch (elementalday): caseof { - [0] = function (x) - if (mobID==16932913 or mobID==16932921 or mobID==16932929) then - correctelement=true; - end - end , - [1] = function (x) - if (mobID==16932912 or mobID==16932920 or mobID==16932928 ) then - correctelement=true; - end - end , - [2] = function (x) - if (mobID==16932916 or mobID==16932924 or mobID==16932932 ) then - correctelement=true; - end - end , - [3] = function (x) - if (mobID==16932910 or mobID==16932918 or mobID==16932926 ) then - correctelement=true; - end - end , - [4] = function (x) - if (mobID==16932914 or mobID==16932922 or mobID==16932930 ) then - correctelement=true; - end - end , - [5] = function (x) - if (mobID==16932917 or mobID==16932925 or mobID==16932933 ) then - correctelement=true; - end - end , - [6] = function (x) - if (mobID==16932931 or mobID==16932915 or mobID==16932923 ) then - correctelement=true; - end - end , - [7] = function (x) - if (mobID==16932911 or mobID==16932919 or mobID==16932927 ) then - correctelement=true; - end - end , - }; - - if (correctelement==true and IselementalDayAreDead() == true) then - GetNPCByID(16932864+313):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+313):setStatus(dsp.status.NORMAL); - end - -end; \ No newline at end of file +function onMobDeath(mob, player, isKiller) + if isKiller then + if dsp.limbus.elementalsDead() then + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[4]):setStatus(dsp.status.NORMAL) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Flying_Spear.lua b/scripts/zones/Apollyon/mobs/Flying_Spear.lua index 85025ad041b..d0fa2a1b5c3 100644 --- a/scripts/zones/Apollyon/mobs/Flying_Spear.lua +++ b/scripts/zones/Apollyon/mobs/Flying_Spear.lua @@ -2,19 +2,79 @@ -- Area: Apollyon SE -- Mob: Flying Spear ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobDeath(mob, player, isKiller) -end; +require("scripts/globals/pathfind") +local ID = require("scripts/zones/Apollyon/IDs") +local flags = dsp.path.flag.NONE +local path = +{ + [1] = + { + {509.874, 0.000, -310.010}, + {490.000, 0.000, -287.000} + }, + [2] = + { + {559.858, 0.000, -347.135}, + {540.000, 0.000, -347.000} + }, + [3] = + { + {597.587, 0.000, -348.038}, + {619.000, 0.000, -337.000} + }, + [4] = + { + {600.347, 0.000, -358.427}, + {599.808, 0.000, -377.934} + }, + [5] = + { + {525.602, 0.000, -353.234}, + {541.000, 0.000, -368.000} + }, + [6] = + { + {539.524, 0.000, -352.514}, + {559.506, 0.000, -349.762} + }, + [7] = + { + {613.174, 0.000, -357.948}, + {615.098, 0.000, -377.595} + }, + [8] = + { + {570.718, 0.000, -343.563}, + {564.009, 0.000, -314.711} + } +} -function onMobDespawn(mob) - local mobID = mob:getID(); - if (mobID == 16933034) then -- time +function onMobRoam(mob) + local offset = mob:getID() - ID.mob.APOLLYON_SE_MOB[4] + local pause = mob:getLocalVar("pause") + if pause < os.time() then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) + mob:setLocalVar("pause", os.time()+15) + end +end - elseif (mobID == 16933037) then -- recover +function onMobSpawn(mob) + mob:setMod(dsp.mod.UDMGMAGIC, -100) +end - elseif (mobID == 16933040) then -- item - - end -end; +function onMobDeath(mob, player, isKiller) + if isKiller then + local battlefield = player:getBattlefield() + battlefield:setLocalVar("killCountF4", battlefield:getLocalVar("killCountF4")+1) + local killCount = battlefield:getLocalVar("killCountF4") + GetMobByID(ID.mob.APOLLYON_SE_MOB[4]):setMod(dsp.mod.UDMGPHYS, -(8-killCount)*10) + if killCount == 1 then + GetNPCByID(ID.mob.APOLLYON_SE_MOB[4]):setStatus(dsp.status.DISAPPEAR) + GetMobByID(ID.mob.APOLLYON_SE_MOB[4]):spawn() + elseif killCount == 8 then + GetMobByID(ID.mob.APOLLYON_SE_MOB[4]):setMod(dsp.mod.UDMGMAGIC, 0) + end + end +end diff --git a/scripts/zones/Apollyon/mobs/Fossil_Quadav.lua b/scripts/zones/Apollyon/mobs/Fossil_Quadav.lua new file mode 100644 index 00000000000..2b7d4e573ea --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Fossil_Quadav.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Apollyon CS +-- Mob: Fossil Quadav +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Apollyon/mobs/Ghost_Clot.lua b/scripts/zones/Apollyon/mobs/Ghost_Clot.lua index 16ffa04a28f..2e99e621de9 100644 --- a/scripts/zones/Apollyon/mobs/Ghost_Clot.lua +++ b/scripts/zones/Apollyon/mobs/Ghost_Clot.lua @@ -2,18 +2,17 @@ -- Area: Apollyon SE -- Mob: Ghost Clot ----------------------------------- +require("scripts/globals/limbus") +local ID = require("scripts/zones/Apollyon/IDs") -function onMobEngaged(mob,target) - GetMobByID(16932993):updateEnmity(target); - GetMobByID(16932994):updateEnmity(target); - GetMobByID(16932995):updateEnmity(target); - GetMobByID(16932996):updateEnmity(target); - GetMobByID(16932997):updateEnmity(target); - GetMobByID(16932998):updateEnmity(target); - GetMobByID(16932999):updateEnmity(target); - GetMobByID(16933000):updateEnmity(target); -end; +function onMobSpawn(mob) + mob:setMod(dsp.mod.SLASHRES, 1500) + mob:setMod(dsp.mod.HTHRES, 0) + mob:setMod(dsp.mod.IMPACTRES, 0) +end function onMobDeath(mob, player, isKiller) - -end; \ No newline at end of file + if isKiller then + dsp.limbus.handleDoors(player:getBattlefield(), true, ID.npc.APOLLYON_SE_PORTAL[1]) + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Goobbue_Harvester.lua b/scripts/zones/Apollyon/mobs/Goobbue_Harvester.lua new file mode 100644 index 00000000000..d2bfaae0937 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Goobbue_Harvester.lua @@ -0,0 +1,40 @@ +----------------------------------- +-- Area: Apollyon NE +-- Mob: Goobbue Harvester +----------------------------------- +require("scripts/globals/limbus") +require("scripts/globals/pathfind") +local ID = require("scripts/zones/Apollyon/IDs") +local flags = dsp.path.flag.NONE +local path = +{ + {424.271, 0.000, 22.975}, + {496.692, 0.000, 22.934} +} + +function onMobRoam(mob) + local pause = mob:getLocalVar("pause") + if pause < os.time() then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[point][1], path[point][2], path[point][3], flags) + mob:setLocalVar("pause", os.time()+40) + end +end + +function onMobDeath(mob, player, isKiller) + if isKiller then + local battlefield = player:getBattlefield() + local randomF1 = battlefield:getLocalVar("randomF1") + if randomF1 == 2 or randomF1 == 4 then + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + GetNPCByID(ID.npc.APOLLYON_NE_CRATE[1][1]):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.APOLLYON_NE_CRATE[1][1]):setStatus(dsp.status.NORMAL) + elseif randomF1 == 1 or randomF1 == 3 then + battlefield:setLocalVar("randomF2", ID.mob.APOLLYON_NE_MOB[2]+math.random(0,2)) + dsp.limbus.handleDoors(battlefield, true, ID.npc.APOLLYON_NE_PORTAL[1]) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Gorynich.lua b/scripts/zones/Apollyon/mobs/Gorynich.lua index 26bf198effc..2a51af88b93 100644 --- a/scripts/zones/Apollyon/mobs/Gorynich.lua +++ b/scripts/zones/Apollyon/mobs/Gorynich.lua @@ -2,28 +2,67 @@ -- Area: Apollyon NW -- Mob: Gorynich ----------------------------------- +require("scripts/globals/limbus") +require("scripts/globals/pathfind") +local ID = require("scripts/zones/Apollyon/IDs") +local flags = dsp.path.flag.WALLHACK +local path = +{ + [1] = + { + {-539.394, 0.000, 641.592}, + {-567.000, 0.000, 603.000} + }, + [2] = + { + {-580.011, 0.000, 576.735}, + {-600.000, 0.000, 570.000} + }, + [3] = + { + {-571.528, -0.020, 571.475}, + {-616.399, 0.000, 530.164} + }, + [4] = + { + {-601.184, 0.000, 520.187}, + {-564.906, 0.000, 533.680} + }, + [5] = + { + {-521.053, 0.000, 628.834}, + {-555.000, 0.000, 614.000} + } +} -function onMobDeath(mob, player, isKiller) -end; +function onPath(mob) + if mob:getID() ~= ID.mob.APOLLYON_NW_MOB[4]+1 and mob:getID() ~= ID.mob.APOLLYON_NW_MOB[4]+4 then + mob:setLocalVar("pause", os.time()+5) + end +end -function onMobDespawn(mob) - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); +function onMobRoam(mob) + local offset = mob:getID() - ID.mob.APOLLYON_NW_MOB[4] + local pause = mob:getLocalVar("pause") + if pause < os.time() then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) + if mob:getID() == ID.mob.APOLLYON_NW_MOB[4]+1 or mob:getID() == ID.mob.APOLLYON_NW_MOB[4]+4 then + mob:setLocalVar("pause", os.time()+20) + else + mob:setLocalVar("pause", os.time()+60) + end + end +end - if (mobID ==16932977) then -- recover - GetNPCByID(16932864+179):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+179):setStatus(dsp.status.NORMAL); - elseif (mobID ==16932978) then -- timer 1 - GetNPCByID(16932864+262):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+262):setStatus(dsp.status.NORMAL); - elseif (mobID ==16932980) then -- timer 2 - GetNPCByID(16932864+97):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+97):setStatus(dsp.status.NORMAL); - elseif (mobID ==16932981) then -- timer 3 - GetNPCByID(16932864+98):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+98):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file +function onMobDeath(mob, player, isKiller) + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local randomF4 = battlefield:getLocalVar("randomF4") + if mobID == randomF4 then + dsp.limbus.handleDoors(battlefield, true, ID.npc.APOLLYON_NW_PORTAL[4]) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Grave_Digger.lua b/scripts/zones/Apollyon/mobs/Grave_Digger.lua index 47fc1184c15..77389c7a492 100644 --- a/scripts/zones/Apollyon/mobs/Grave_Digger.lua +++ b/scripts/zones/Apollyon/mobs/Grave_Digger.lua @@ -2,18 +2,17 @@ -- Area: Apollyon SE -- Mob: Grave Digger ----------------------------------- +require("scripts/globals/limbus") +local ID = require("scripts/zones/Apollyon/IDs") -function onMobEngaged(mob,target) - GetMobByID(16933021):updateEnmity(target); - GetMobByID(16933022):updateEnmity(target); - GetMobByID(16933023):updateEnmity(target); - GetMobByID(16933024):updateEnmity(target); - GetMobByID(16933025):updateEnmity(target); - GetMobByID(16933026):updateEnmity(target); - GetMobByID(16933027):updateEnmity(target); - GetMobByID(16933028):updateEnmity(target); -end; +function onMobSpawn(mob) + mob:setMod(dsp.mod.HTHRES, 1500) + mob:setMod(dsp.mod.IMPACTRES, 1500) + mob:setMod(dsp.mod.PIERCERES, 0) +end function onMobDeath(mob, player, isKiller) - -end; \ No newline at end of file + if isKiller then + dsp.limbus.handleDoors(player:getBattlefield(), true, ID.npc.APOLLYON_SE_PORTAL[3]) + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Grognard_Footsoldier.lua b/scripts/zones/Apollyon/mobs/Grognard_Footsoldier.lua new file mode 100644 index 00000000000..5be609e3e62 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Grognard_Footsoldier.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Apollyon CS +-- Mob: Grognard Footsoldier +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Apollyon/mobs/Grognard_Grappler.lua b/scripts/zones/Apollyon/mobs/Grognard_Grappler.lua new file mode 100644 index 00000000000..9487101a2bf --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Grognard_Grappler.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Apollyon CS +-- Mob: Grognard Grappler +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Apollyon/mobs/Grognard_Impaler.lua b/scripts/zones/Apollyon/mobs/Grognard_Impaler.lua new file mode 100644 index 00000000000..cbcd65a4637 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Grognard_Impaler.lua @@ -0,0 +1,18 @@ +----------------------------------- +-- Area: Apollyon CS +-- Mob: Grognard Impaler +----------------------------------- +mixins = {require("scripts/mixins/job_special")} +require("scripts/globals/status") + +function onMobSpawn(mob) + dsp.mix.jobSpecial.config(mob, { + specials = + { + {id = dsp.jsa.CALL_WYVERN, hpp = 100}, + }, + }) +end + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Apollyon/mobs/Grognard_Mesmerizer.lua b/scripts/zones/Apollyon/mobs/Grognard_Mesmerizer.lua new file mode 100644 index 00000000000..a75c9871631 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Grognard_Mesmerizer.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Apollyon CS +-- Mob: Grognard Mesmerizer +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Apollyon/mobs/Grognard_Neckchopper.lua b/scripts/zones/Apollyon/mobs/Grognard_Neckchopper.lua new file mode 100644 index 00000000000..a7af8467a30 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Grognard_Neckchopper.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Apollyon CS +-- Mob: Grognard Neckchopper +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Apollyon/mobs/Grognard_Predator.lua b/scripts/zones/Apollyon/mobs/Grognard_Predator.lua new file mode 100644 index 00000000000..b1ea26da1fb --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Grognard_Predator.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Apollyon CS +-- Mob: Grognard Predator +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Apollyon/mobs/Gunpod.lua b/scripts/zones/Apollyon/mobs/Gunpod.lua index e2e92eb963e..9de9d085552 100644 --- a/scripts/zones/Apollyon/mobs/Gunpod.lua +++ b/scripts/zones/Apollyon/mobs/Gunpod.lua @@ -2,16 +2,100 @@ -- Area: Apollyon Central -- Mob: Gunpod ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +local loot = +{ + [1] = -- AF + { + { + {itemid = 1933, droprate = 9}, -- MNK + {itemid = 1931, droprate = 53}, -- WAR + {itemid = 1959, droprate = 6}, -- SMN + {itemid = 1935, droprate = 12}, -- WHM + {itemid = 1945, droprate = 29}, -- DRK + {itemid = 1957, droprate = 12}, -- DRG + {itemid = 1949, droprate = 35}, -- BRD + {itemid = 2659, droprate = 35}, -- COR + {itemid = 1939, droprate = 12}, -- RDM + {itemid = 1951, droprate = 12}, -- RNG + {itemid = 2661, droprate = 12}, -- PUP + {itemid = 1937, droprate = 18}, -- BLM + {itemid = 1955, droprate = 29}, -- NIN + {itemid = 2717, droprate = 12}, -- SCH + {itemid = 1947, droprate = 12}, -- BST + {itemid = 2657, droprate = 18}, -- BLU + {itemid = 2715, droprate = 5}, -- DNC + {itemid = 1953, droprate = 35}, -- SAM + {itemid = 1941, droprate = 41}, -- THF + {itemid = 1943, droprate = 18}, -- PLD + }, + }, + [2] = -- Chip + { + { + {itemid = 1987, droprate = 53}, -- Charcoal Chip + {itemid = 1988, droprate = 76}, -- Magenta Chip + {itemid = 1909, droprate = 64}, -- Smalt Chip + {itemid = 1910, droprate = 41}, -- Smoky Chip + }, + }, + [3] = -- Crafting + { + { + {itemid = 646, droprate = 50}, -- Adaman Ore + {itemid = 1633, droprate = 50}, -- Clot Plasma + {itemid = 664, droprate = 50}, -- Darksteel Sheet + {itemid = 645, droprate = 50}, -- Darksteel Ore + {itemid = 1311, droprate = 50}, -- Oxblood + {itemid = 1681, droprate = 50}, -- Light Steel + {itemid = 821, droprate = 50}, -- Rainbow Thread + {itemid = 1883, droprate = 50}, -- Shell Powder + }, + }, + [4] = -- ABCs + { + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 0, droprate = 1000}, -- Ancient Beastcoin + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + }, +} function onMobDeath(mob, player, isKiller) -end; - -function onMobDespawn(mob) - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - GetNPCByID(16932864+259):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+259):setStatus(dsp.status.NORMAL); -end; \ No newline at end of file + if isKiller then + local random = math.random(1, 4) + for i = 1, #loot[random] do + local lootGroup = loot[random][i] + if lootGroup then + local max = 0 + for _, entry in pairs(lootGroup) do + max = max + entry.droprate + end + local roll = math.random(max) + for _, entry in pairs(lootGroup) do + max = max - entry.droprate + if roll > max then + if entry.itemid ~= 0 then + player:addTreasure(entry.itemid, mob) + end + break + end + end + end + end + end +end diff --git a/scripts/zones/Apollyon/mobs/Hyperion.lua b/scripts/zones/Apollyon/mobs/Hyperion.lua new file mode 100644 index 00000000000..7bfd50a00aa --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Hyperion.lua @@ -0,0 +1,21 @@ +----------------------------------- +-- Area: Apollyon NE +-- Mob: Hyperion +----------------------------------- +require("scripts/globals/limbus") +local ID = require("scripts/zones/Apollyon/IDs") + +function onMobSpawn(mob) + mob:setMod(dsp.mod.UDMGMAGIC, -100) +end + +function onMobDeath(mob, player, isKiller) + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local randomF4 = battlefield:getLocalVar("randomF4") + if randomF4 == mobID then + dsp.limbus.handleDoors(battlefield, true, ID.npc.APOLLYON_NE_PORTAL[4]) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Ice_Elemental.lua b/scripts/zones/Apollyon/mobs/Ice_Elemental.lua index 63758d7e8b6..652e9aa42c7 100644 --- a/scripts/zones/Apollyon/mobs/Ice_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Ice_Elemental.lua @@ -2,68 +2,19 @@ -- Area: Apollyon SW -- Mob: Ice Elemental ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobDeath(mob, player, isKiller) -end; - -function onMobDespawn(mob) - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); +require("scripts/globals/limbus") +local ID = require("scripts/zones/Apollyon/IDs") - local elementalday = GetServerVariable("[SW_Apollyon]ElementalTrigger") - 1; - local correctelement=false; +function onMobEngaged(mob, target) + GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+4):updateEnmity(target) + GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+12):updateEnmity(target) + GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+20):updateEnmity(target) +end - switch (elementalday): caseof { - [0] = function (x) - if (mobID==16932913 or mobID==16932921 or mobID==16932929) then - correctelement=true; - end - end , - [1] = function (x) - if (mobID==16932912 or mobID==16932920 or mobID==16932928 ) then - correctelement=true; - end - end , - [2] = function (x) - if (mobID==16932916 or mobID==16932924 or mobID==16932932 ) then - correctelement=true; - end - end , - [3] = function (x) - if (mobID==16932910 or mobID==16932918 or mobID==16932926 ) then - correctelement=true; - end - end , - [4] = function (x) - if (mobID==16932914 or mobID==16932922 or mobID==16932930 ) then - correctelement=true; - end - end , - [5] = function (x) - if (mobID==16932917 or mobID==16932925 or mobID==16932933 ) then - correctelement=true; - end - end , - [6] = function (x) - if (mobID==16932931 or mobID==16932915 or mobID==16932923 ) then - correctelement=true; - end - end , - [7] = function (x) - if (mobID==16932911 or mobID==16932919 or mobID==16932927 ) then - correctelement=true; - end - end , - }; - - if (correctelement==true and IselementalDayAreDead() == true) then - GetNPCByID(16932864+313):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+313):setStatus(dsp.status.NORMAL); - end - -end; \ No newline at end of file +function onMobDeath(mob, player, isKiller) + if isKiller then + if dsp.limbus.elementalsDead() then + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[4]):setStatus(dsp.status.NORMAL) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Inhumer.lua b/scripts/zones/Apollyon/mobs/Inhumer.lua index 6c664d8b79b..30c48edbbce 100644 --- a/scripts/zones/Apollyon/mobs/Inhumer.lua +++ b/scripts/zones/Apollyon/mobs/Inhumer.lua @@ -2,23 +2,105 @@ -- Area: Apollyon SE -- Mob: Inhumer ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +require("scripts/globals/pathfind") +local ID = require("scripts/zones/Apollyon/IDs") +local flags = dsp.path.flag.WALLHACK +local path = +{ + [1] = + { + {391.345, 0.000, -362.357}, + {409.661, -0.500, -372.819} + }, + [2] = + { + {334.872, 0.000, -336.313}, + {341.842, -0.764, -319.744} + }, + [3] = + { + {362.613, 0.000, -276.235}, + {344.407, -1.398, -280.625} + }, + [4] = + { + {327.796, 0.000, -320.106}, + {336.038, -1.286, -310.834} + }, + [5] = + { + {326.597, 0.000, -313.956}, + {322.230, -0.493, -328.462} + }, + [6] = + { + {363.584, 0.000, -300.336}, + {348.563, -1.110, -312.928} + }, + [7] = + { + {331.868, 0.000, -337.062}, + {330.350, -0.481, -323.224} + }, + [8] = + { + {340.493, -0.879, -309.115}, + {339.728, -0.582, -320.195} + } +} -function onMobDeath(mob, player, isKiller) -end; +function onMobRoam(mob) + local offset = mob:getID() - ID.mob.APOLLYON_SE_MOB[3] + local pause = mob:getLocalVar("pause") + local start = mob:getLocalVar("start") == 1 + if pause < os.time() and start then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) + mob:setLocalVar("pause", os.time()+30) + end +end -function onMobDespawn(mob) - local mobID = mob:getID(); - if (mobID ==16933025) then -- time - GetNPCByID(16932864+246):setPos(343,-1,-296); - GetNPCByID(16932864+246):setStatus(dsp.status.NORMAL); - elseif (mobID ==16933028) then -- recover - GetNPCByID(16932864+248):setPos(376,-1,-259); - GetNPCByID(16932864+248):setStatus(dsp.status.NORMAL); - elseif (mobID ==16933022) then -- item - GetNPCByID(16932864+247):setPos(307,-1,-309); - GetNPCByID(16932864+247):setStatus(dsp.status.NORMAL); - end +function onMobSpawn(mob) + mob:setMod(dsp.mod.HTHRES, 1500) + mob:setMod(dsp.mod.IMPACTRES, 1500) + mob:setMod(dsp.mod.PIERCERES, 0) +end -end; \ No newline at end of file +function onMobEngaged(mob, target) + local start = mob:getLocalVar("start") == 1 + if not start then + for i = 1, 8 do + GetMobByID(ID.mob.APOLLYON_SE_MOB[3]+i):setLocalVar("pause", os.time()+(3 * i)) + GetMobByID(ID.mob.APOLLYON_SE_MOB[3]+i):setLocalVar("start", 1) + end + end +end + +function onMobDeath(mob, player, isKiller) + local cratePos = + { + [1] = {366.000, -0.500, -313.000}, + [2] = {313.021, 0.000, -317.754}, + [3] = {376.097, 0.000, -259.382}, + [4] = {321.552, 0.000, -293.187}, + [5] = {337.399, -0.388, -313.442}, + [6] = {354.661, -0.072, -273.424}, + } + if isKiller then + local battlefield = player:getBattlefield() + battlefield:setLocalVar("killCountF3", battlefield:getLocalVar("killCountF3")+1) + local killCount = battlefield:getLocalVar("killCountF3") + local random = math.random(1, 6) + if killCount == 2 then + GetNPCByID(ID.npc.APOLLYON_SE_CRATE[3]):setPos(cratePos[random]) + GetNPCByID(ID.npc.APOLLYON_SE_CRATE[3]):setStatus(dsp.status.NORMAL) + elseif killCount == 4 then + GetNPCByID(ID.npc.APOLLYON_SE_CRATE[3]+1):setPos(cratePos[random]) + GetNPCByID(ID.npc.APOLLYON_SE_CRATE[3]+1):setStatus(dsp.status.NORMAL) + elseif killCount == 8 then + GetNPCByID(ID.npc.APOLLYON_SE_CRATE[3]+2):setPos(cratePos[random]) + GetNPCByID(ID.npc.APOLLYON_SE_CRATE[3]+2):setStatus(dsp.status.NORMAL) + end + end +end diff --git a/scripts/zones/Apollyon/mobs/Jidra.lua b/scripts/zones/Apollyon/mobs/Jidra.lua index d5192c43ba9..5a45e4d51fb 100644 --- a/scripts/zones/Apollyon/mobs/Jidra.lua +++ b/scripts/zones/Apollyon/mobs/Jidra.lua @@ -2,67 +2,51 @@ -- Area: Apollyon SW -- Mob: Jidra ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobEngaged(mob,target) - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - - if (mobID ==16932882) then - SpawnMob(16932889):updateEnmity(target); - elseif (mobID ==16932883) then - SpawnMob(16932890):updateEnmity(target); - elseif (mobID ==16932884) then - SpawnMob(16932891):updateEnmity(target); - elseif (mobID ==16932885) then - SpawnMob(16932892):updateEnmity(target); - elseif (mobID ==16932886) then - SpawnMob(16932893):updateEnmity(target); - elseif (mobID ==16932887) then - SpawnMob(16932894):updateEnmity(target); - elseif (mobID ==16932888) then - SpawnMob(16932895):updateEnmity(target); - end -end; +local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) -end; - -function onMobDespawn(mob) - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - - - if ( -IsMobDead(16932882)==true and -IsMobDead(16932883)==true and -IsMobDead(16932884)==true and -IsMobDead(16932885)==true and -IsMobDead(16932886)==true and -IsMobDead(16932887)==true and -IsMobDead(16932888)==true - - ) then - --- time - GetNPCByID(16932864+70):setPos(mobX+3,mobY,mobZ); - GetNPCByID(16932864+70):setStatus(dsp.status.NORMAL); --- recover - GetNPCByID(16932864+71):setPos(mobX+4,mobY,mobZ+4); - GetNPCByID(16932864+71):setStatus(dsp.status.NORMAL); --- item - GetNPCByID(16932864+72):setPos(mobX,mobY,mobZ-3); - GetNPCByID(16932864+72):setStatus(dsp.status.NORMAL); - - - end - - -end; \ No newline at end of file + if isKiller then + local mobID = mob:getID() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + + if mobID == ID.mob.APOLLYON_SW_MOB[2] then + local battlefield = player:getBattlefield() + local players = battlefield:getPlayers() + for i, member in pairs(players) do + member:messageSpecial(ID.text.GATE_OPEN) + member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) + end + GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[2]):setAnimation(8) + elseif mobID == ID.mob.APOLLYON_SW_MOB[2]+1 then + GetMobByID(ID.mob.APOLLYON_SW_MOB[2]+8):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.APOLLYON_SW_MOB[2]+8):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.APOLLYON_SW_MOB[2]+8):updateEnmity(player) + elseif mobID == ID.mob.APOLLYON_SW_MOB[2]+2 then + GetMobByID(ID.mob.APOLLYON_SW_MOB[2]+9):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.APOLLYON_SW_MOB[2]+9):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.APOLLYON_SW_MOB[2]+9):updateEnmity(player) + elseif mobID == ID.mob.APOLLYON_SW_MOB[2]+3 then + GetMobByID(ID.mob.APOLLYON_SW_MOB[2]+10):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.APOLLYON_SW_MOB[2]+10):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.APOLLYON_SW_MOB[2]+10):updateEnmity(player) + elseif mobID == ID.mob.APOLLYON_SW_MOB[2]+4 then + GetMobByID(ID.mob.APOLLYON_SW_MOB[2]+11):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.APOLLYON_SW_MOB[2]+11):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.APOLLYON_SW_MOB[2]+11):updateEnmity(player) + elseif mobID == ID.mob.APOLLYON_SW_MOB[2]+5 then + GetMobByID(ID.mob.APOLLYON_SW_MOB[2]+12):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.APOLLYON_SW_MOB[2]+12):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.APOLLYON_SW_MOB[2]+12):updateEnmity(player) + elseif mobID == ID.mob.APOLLYON_SW_MOB[2]+6 then + GetMobByID(ID.mob.APOLLYON_SW_MOB[2]+13):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.APOLLYON_SW_MOB[2]+13):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.APOLLYON_SW_MOB[2]+13):updateEnmity(player) + elseif mobID == ID.mob.APOLLYON_SW_MOB[2]+7 then + GetMobByID(ID.mob.APOLLYON_SW_MOB[2]+14):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.APOLLYON_SW_MOB[2]+14):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.APOLLYON_SW_MOB[2]+14):updateEnmity(player) + end + end +end diff --git a/scripts/zones/Apollyon/mobs/Kaiser_Behemoth.lua b/scripts/zones/Apollyon/mobs/Kaiser_Behemoth.lua index 68ae736441e..2ea9dc21a2e 100644 --- a/scripts/zones/Apollyon/mobs/Kaiser_Behemoth.lua +++ b/scripts/zones/Apollyon/mobs/Kaiser_Behemoth.lua @@ -2,31 +2,49 @@ -- Area: Apollyon NW -- Mob: Kaiser Behemoth ----------------------------------- -require("scripts/globals/status"); -require("scripts/globals/magic"); ------------------------------------ +require("scripts/globals/status") +require("scripts/globals/magic") +require("scripts/globals/pathfind") +local ID = require("scripts/zones/Apollyon/IDs") +local flags = dsp.path.flag.NONE +local path = +{ + {-596.004, -0.254, 242.034}, + {-587.224, -0.254, 303.720}, + {-551.515, -0.254, 310.600}, + {-522.507, -0.254, 281.024}, + {-543.916, -0.254, 246.509}, + {-569.656, -0.254, 239.459} +} + +function onMobRoam(mob) + if not mob:isFollowingPath() then + local point = math.random(#path) + while point == mob:getLocalVar("point") do + point = math.random(#path) + end + mob:setLocalVar("point", point) + mob:pathTo(path[point][1], path[point][2], path[point][3], flags) + end +end function onMobInitialize(mob) - mob:setMobMod(dsp.mobMod.MAGIC_COOL, 60); -end; + mob:setMobMod(dsp.mobMod.MAGIC_COOL, 60) +end function onSpellPrecast(mob, spell) - if (spell:getID() == 218) then - spell:setAoE(dsp.magic.aoe.RADIAL); - spell:setFlag(dsp.magic.spellFlag.HIT_ALL); - spell:setRadius(30); - spell:setAnimation(280); - spell:setMPCost(1); + if spell:getID() == 218 then + spell:setAoE(dsp.magic.aoe.RADIAL) + spell:setFlag(dsp.magic.spellFlag.HIT_ALL) + spell:setRadius(30) + spell:setAnimation(280) + spell:setMPCost(1) end -end; +end function onMobDeath(mob, player, isKiller) -end; + if isKiller then + GetNPCByID(ID.npc.APOLLYON_NW_CRATE[5]):setStatus(dsp.status.NORMAL) + end +end -function onMobDespawn(mob) - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - GetNPCByID(16932864+111):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+111):setStatus(dsp.status.NORMAL); -end; diff --git a/scripts/zones/Apollyon/mobs/Kerkopes.lua b/scripts/zones/Apollyon/mobs/Kerkopes.lua index e4e74433e30..1339d96beef 100644 --- a/scripts/zones/Apollyon/mobs/Kerkopes.lua +++ b/scripts/zones/Apollyon/mobs/Kerkopes.lua @@ -2,34 +2,18 @@ -- Area: Apollyon NE -- Mob: Kerkopes ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) -end; - -function onMobDespawn(mob) - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - - - if (mobID ==16933102) then -- item - GetNPCByID(16932864+154):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+154):setStatus(dsp.status.NORMAL); - elseif (mobID ==16933104) then -- timer T1 - GetNPCByID(16932864+153):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+153):setStatus(dsp.status.NORMAL); - elseif (mobID ==16933106) then -- timer T2 - GetNPCByID(16932864+95):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+95):setStatus(dsp.status.NORMAL); - elseif (mobID ==16933108) then -- timer T3 - GetNPCByID(16932864+96):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+96):setStatus(dsp.status.NORMAL); - elseif (mobID ==16933109) then -- recover - GetNPCByID(16932864+155):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+155):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + if mobID == ID.mob.APOLLYON_NE_MOB[4]+3 then + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + GetNPCByID(ID.npc.APOLLYON_NE_CRATE[4][1]):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.APOLLYON_NE_CRATE[4][1]):setStatus(dsp.status.NORMAL) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Light_Elemental.lua b/scripts/zones/Apollyon/mobs/Light_Elemental.lua index 60ca218e891..ae80d33d30b 100644 --- a/scripts/zones/Apollyon/mobs/Light_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Light_Elemental.lua @@ -2,68 +2,19 @@ -- Area: Apollyon SW -- Mob: Light Elemental ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobDeath(mob, player, isKiller) -end; - -function onMobDespawn(mob) - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); +require("scripts/globals/limbus") +local ID = require("scripts/zones/Apollyon/IDs") - local elementalday = GetServerVariable("[SW_Apollyon]ElementalTrigger") - 1; - local correctelement=false; +function onMobEngaged(mob, target) + GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+5):updateEnmity(target) + GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+13):updateEnmity(target) + GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+21):updateEnmity(target) +end - switch (elementalday): caseof { - [0] = function (x) - if (mobID==16932913 or mobID==16932921 or mobID==16932929) then - correctelement=true; - end - end , - [1] = function (x) - if (mobID==16932912 or mobID==16932920 or mobID==16932928 ) then - correctelement=true; - end - end , - [2] = function (x) - if (mobID==16932916 or mobID==16932924 or mobID==16932932 ) then - correctelement=true; - end - end , - [3] = function (x) - if (mobID==16932910 or mobID==16932918 or mobID==16932926 ) then - correctelement=true; - end - end , - [4] = function (x) - if (mobID==16932914 or mobID==16932922 or mobID==16932930 ) then - correctelement=true; - end - end , - [5] = function (x) - if (mobID==16932917 or mobID==16932925 or mobID==16932933 ) then - correctelement=true; - end - end , - [6] = function (x) - if (mobID==16932931 or mobID==16932915 or mobID==16932923 ) then - correctelement=true; - end - end , - [7] = function (x) - if (mobID==16932911 or mobID==16932919 or mobID==16932927 ) then - correctelement=true; - end - end , - }; - - if (correctelement==true and IselementalDayAreDead() == true) then - GetNPCByID(16932864+313):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+313):setStatus(dsp.status.NORMAL); - end - -end; \ No newline at end of file +function onMobDeath(mob, player, isKiller) + if isKiller then + if dsp.limbus.elementalsDead() then + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[4]):setStatus(dsp.status.NORMAL) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Lightsteel_Quadav.lua b/scripts/zones/Apollyon/mobs/Lightsteel_Quadav.lua new file mode 100644 index 00000000000..059b5fd2a72 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Lightsteel_Quadav.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Apollyon CS +-- Mob: Lightsteel Quadav +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Apollyon/mobs/Metalloid_Amoeba.lua b/scripts/zones/Apollyon/mobs/Metalloid_Amoeba.lua index b557ed08254..d9d584660ce 100644 --- a/scripts/zones/Apollyon/mobs/Metalloid_Amoeba.lua +++ b/scripts/zones/Apollyon/mobs/Metalloid_Amoeba.lua @@ -2,27 +2,31 @@ -- Area: Apollyon SE -- Mob: Metalloid Amoeba ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobDeath(mob, player, isKiller) -end; +local ID = require("scripts/zones/Apollyon/IDs") -function onMobDespawn(mob) - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); +function onMobSpawn(mob) + mob:setMod(dsp.mod.SLASHRES, 1500) + mob:setMod(dsp.mod.HTHRES, 0) + mob:setMod(dsp.mod.IMPACTRES, 0) +end - if (mobID ==16932993) then -- time - GetNPCByID(16932864+1):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+1):setStatus(dsp.status.NORMAL); - elseif (mobID ==16932996) then -- recover - GetNPCByID(16932864+3):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+3):setStatus(dsp.status.NORMAL); - elseif (mobID ==16933000) then -- item - GetNPCByID(16932864+2):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+2):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file +function onMobDeath(mob, player, isKiller) + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + if isKiller then + local battlefield = player:getBattlefield() + battlefield:setLocalVar("killCountF1", battlefield:getLocalVar("killCountF1")+1) + local killCount = battlefield:getLocalVar("killCountF1") + if killCount == 2 then + GetNPCByID(ID.npc.APOLLYON_SE_CRATE[1]):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.APOLLYON_SE_CRATE[1]):setStatus(dsp.status.NORMAL) + elseif killCount == 4 then + GetNPCByID(ID.npc.APOLLYON_SE_CRATE[1]+1):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.APOLLYON_SE_CRATE[1]+1):setStatus(dsp.status.NORMAL) + elseif killCount == 8 then + GetNPCByID(ID.npc.APOLLYON_SE_CRATE[1]+2):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.APOLLYON_SE_CRATE[1]+2):setStatus(dsp.status.NORMAL) + end + end +end diff --git a/scripts/zones/Apollyon/mobs/Millenary_Mossback.lua b/scripts/zones/Apollyon/mobs/Millenary_Mossback.lua index 7b8c47bd6b6..0ec2fe19161 100644 --- a/scripts/zones/Apollyon/mobs/Millenary_Mossback.lua +++ b/scripts/zones/Apollyon/mobs/Millenary_Mossback.lua @@ -2,14 +2,14 @@ -- Area: Apollyon NW -- Mob: Millenary Mossback ----------------------------------- +local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) -end; - -function onMobDespawn(mob) - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - GetNPCByID(16932864+109):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+109):setStatus(dsp.status.NORMAL); -end; \ No newline at end of file + if isKiller then + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + GetNPCByID(ID.npc.APOLLYON_NW_CRATE[3][1]):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.APOLLYON_NW_CRATE[3][1]):setStatus(dsp.status.NORMAL) + end +end diff --git a/scripts/zones/Apollyon/mobs/Mountain_Buffalo.lua b/scripts/zones/Apollyon/mobs/Mountain_Buffalo.lua index 74d9ca152a6..68415aa4a0c 100644 --- a/scripts/zones/Apollyon/mobs/Mountain_Buffalo.lua +++ b/scripts/zones/Apollyon/mobs/Mountain_Buffalo.lua @@ -2,28 +2,67 @@ -- Area: Apollyon NW -- Mob: Mountain Buffalo ----------------------------------- +require("scripts/globals/limbus") +require("scripts/globals/pathfind") +local ID = require("scripts/zones/Apollyon/IDs") +local flags = dsp.path.flag.NONE +local path = +{ + [1] = + { + {-300.606, 0.000, 342.973}, + {-306.000, 0.000, 317.000} + }, + [3] = + { + {-331.642, 0.000, 219.558}, + {-356.735, 0.000, 239.488} + }, + [4] = + { + {-346.456, -1.018, 247.719}, + {-334.000, 0.000, 233.000} + }, + [5] = + { + {-314.122, 0.000, 275.821}, + {-317.276, 0.000, 240.435} + }, + [6] = + { + {-364.549, 0.000, 231.121}, + {-355.170, 0.000, 265.456} + }, + [7] = + { + {-310.297, 0.000, 297.337}, + {-324.275, 0.000, 332.532} + } +} -function onMobDeath(mob, player, isKiller) -end; +function onPath(mob) + mob:setLocalVar("pause", os.time()+5) +end -function onMobDespawn(mob) - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); +function onMobRoam(mob) + local offset = mob:getID() - ID.mob.APOLLYON_NW_MOB[2] + local pause = mob:getLocalVar("pause") + if pause < os.time() and offset ~= 2 then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) + mob:setLocalVar("pause", os.time()+60) + end +end - if (mobID ==16932951) then -- recover - GetNPCByID(16932864+289):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+289):setStatus(dsp.status.NORMAL); - elseif (mobID ==16932952) then -- timer 1 - GetNPCByID(16932864+43):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+43):setStatus(dsp.status.NORMAL); - elseif (mobID ==16932954) then -- timer 2 - GetNPCByID(16932864+44):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+44):setStatus(dsp.status.NORMAL); - elseif (mobID ==16932957) then -- timer 3 - GetNPCByID(16932864+45):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+45):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file +function onMobDeath(mob, player, isKiller) + local mobID = mob:getID() + if isKiller then + local battlefield = player:getBattlefield() + local randomF2 = battlefield:getLocalVar("randomF2") + if mobID == randomF2 then + battlefield:setLocalVar("randomF3", ID.mob.APOLLYON_NW_MOB[3]+math.random(1,8)) + dsp.limbus.handleDoors(battlefield, true, ID.npc.APOLLYON_NW_PORTAL[2]) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/NaQba_Chirurgeon.lua b/scripts/zones/Apollyon/mobs/NaQba_Chirurgeon.lua index 4080680b54e..44ffb15edfe 100644 --- a/scripts/zones/Apollyon/mobs/NaQba_Chirurgeon.lua +++ b/scripts/zones/Apollyon/mobs/NaQba_Chirurgeon.lua @@ -2,50 +2,82 @@ -- Area: Apollyon CS -- Mob: Na'Qba Chirurgeon ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Apollyon/IDs") function onMobSpawn(mob) - mob:setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()); -end; - -function onMobEngaged(mob,target) - local mobID = mob:getID(); - local X = mob:getXPos(); - local Y = mob:getYPos(); - local Z = mob:getZPos(); - SpawnMob(16933139):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()); - SpawnMob(16933140):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()); - SpawnMob(16933138):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()); -end; - -function onMobFight(mob,target) - local mobID = mob:getID(); - local X = mob:getXPos(); - local Y = mob:getYPos(); - local Z = mob:getZPos(); - local lifepourcent= ((mob:getHP()/mob:getMaxHP())*100); - local instancetime = target:getBattlefieldTimeLeft(Central_Temenos_2nd_Floor); + mob:setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) +end - if (lifepourcent < 50 and GetNPCByID(16933246):getAnimation() == 8) then - SpawnMob(16933142):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()); - SpawnMob(16933143):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()); - SpawnMob(16933141):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()); - GetNPCByID(16933246):setAnimation(9); +function onMobEngaged(mob, target) + local battlefield = mob:getBattlefield() + if battlefield:getLocalVar("startTime") == 0 then + battlefield:setLocalVar("startTime", battlefield:getRemainingTime()) end + SpawnMob(ID.mob.APOLLYON_CS_MOB[2]+1):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + SpawnMob(ID.mob.APOLLYON_CS_MOB[2]+2):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + SpawnMob(ID.mob.APOLLYON_CS_MOB[2]+3):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + mob:setLocalVar("wave", 1) +end - if (instancetime < 13) then - if (GetMobByID(16933129):isAlive()) then - GetMobByID(16933129):updateEnmity(target); - elseif (GetMobByID(16933144):isAlive()) then - GetMobByID(16933144):updateEnmity(target); +function onMobFight(mob, target) + local battlefield = mob:getBattlefield() + if battlefield then + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + local remainingTime = battlefield:getRemainingTime() + local startTime = battlefield:getLocalVar("startTime") + local wave = mob:getLocalVar("wave") + + if GetMobByID(ID.mob.APOLLYON_CS_MOB[2]+1):isDead() and GetMobByID(ID.mob.APOLLYON_CS_MOB[2]+2):isDead() + and GetMobByID(ID.mob.APOLLYON_CS_MOB[3]+3):isDead() and wave == 1 + then + mob:setLocalVar("wave", 2) + GetMobByID(ID.mob.APOLLYON_CS_MOB[2]+4):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.APOLLYON_CS_MOB[2]+4):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.APOLLYON_CS_MOB[2]+4):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + GetMobByID(ID.mob.APOLLYON_CS_MOB[2]+5):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.APOLLYON_CS_MOB[2]+5):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.APOLLYON_CS_MOB[2]+5):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + GetMobByID(ID.mob.APOLLYON_CS_MOB[2]+6):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.APOLLYON_CS_MOB[2]+6):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.APOLLYON_CS_MOB[2]+6):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + elseif GetMobByID(ID.mob.APOLLYON_CS_MOB[2]+4):isDead() and GetMobByID(ID.mob.APOLLYON_CS_MOB[2]+5):isDead() + and GetMobByID(ID.mob.APOLLYON_CS_MOB[2]+6):isDead() and wave == 2 + then + mob:setLocalVar("wave", 1) + GetMobByID(ID.mob.APOLLYON_CS_MOB[2]+1):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.APOLLYON_CS_MOB[2]+1):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.APOLLYON_CS_MOB[2]+1):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + GetMobByID(ID.mob.APOLLYON_CS_MOB[2]+2):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.APOLLYON_CS_MOB[2]+2):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.APOLLYON_CS_MOB[2]+2):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + GetMobByID(ID.mob.APOLLYON_CS_MOB[2]+3):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.APOLLYON_CS_MOB[2]+3):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.APOLLYON_CS_MOB[2]+3):setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + end + + if remainingTime <= startTime*0.66 then + if GetMobByID(ID.mob.APOLLYON_CS_MOB[1]):isAlive() and not GetMobByID(ID.mob.APOLLYON_CS_MOB[1]):isEngaged() then + battlefield:setLocalVar("startTime", battlefield:getRemainingTime()) + GetMobByID(ID.mob.APOLLYON_CS_MOB[1]):updateEnmity(target) + elseif GetMobByID(ID.mob.APOLLYON_CS_MOB[3]):isAlive() and not GetMobByID(ID.mob.APOLLYON_CS_MOB[3]):isEngaged() then + battlefield:setLocalVar("startTime", battlefield:getRemainingTime()) + GetMobByID(ID.mob.APOLLYON_CS_MOB[3]):updateEnmity(target) + end end end -end; +end function onMobDeath(mob, player, isKiller) - if ( ( GetMobByID(16933129):isAlive() or GetMobByID(16933144):isAlive() ) and alreadyReceived(player,2,Central_Temenos_2nd_Floor) == false) then - player:addTimeToBattlefield(Central_Temenos_2nd_Floor,5); - addLimbusList(player,2,Central_Temenos_2nd_Floor); + if isKiller then + if GetMobByID(ID.mob.APOLLYON_CS_MOB[1]):isDead() and GetMobByID(ID.mob.APOLLYON_CS_MOB[3]):isDead() then + GetNPCByID(ID.npc.APOLLYON_CS_CRATE):setStatus(dsp.status.NORMAL) + elseif GetMobByID(ID.mob.APOLLYON_CS_MOB[1]):isAlive() and GetMobByID(ID.mob.APOLLYON_CS_MOB[3]):isAlive() then + GetNPCByID(ID.npc.APOLLYON_CS_CRATE+1):setStatus(dsp.status.NORMAL) + else + GetNPCByID(ID.npc.APOLLYON_CS_CRATE+2):setStatus(dsp.status.NORMAL) + end end -end; +end diff --git a/scripts/zones/Apollyon/mobs/Okeanos.lua b/scripts/zones/Apollyon/mobs/Okeanos.lua new file mode 100644 index 00000000000..2760ad9a896 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Okeanos.lua @@ -0,0 +1,21 @@ +----------------------------------- +-- Area: Apollyon NE +-- Mob: Okeanos +----------------------------------- +require("scripts/globals/limbus") +local ID = require("scripts/zones/Apollyon/IDs") + +function onMobSpawn(mob) + mob:setMod(dsp.mod.UDMGRANGE, -100) +end + +function onMobDeath(mob, player, isKiller) + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local randomF4 = battlefield:getLocalVar("randomF4") + if randomF4 == mobID then + dsp.limbus.handleDoors(battlefield, true, ID.npc.APOLLYON_NE_PORTAL[4]) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Pluto.lua b/scripts/zones/Apollyon/mobs/Pluto.lua index 6e7ba89245c..46b7567cd34 100644 --- a/scripts/zones/Apollyon/mobs/Pluto.lua +++ b/scripts/zones/Apollyon/mobs/Pluto.lua @@ -2,14 +2,31 @@ -- Area: Apollyon NW -- Mob: Pluto ----------------------------------- +require("scripts/globals/pathfind") +local ID = require("scripts/zones/Apollyon/IDs") +local flags = dsp.path.flag.NONE +local path = +{ + {-459.436, 0.000, -16.257}, + {-458.178, 0.000, 49.511} +} -function onMobDeath(mob, player, isKiller) -end; +function onMobRoam(mob) + local pause = mob:getLocalVar("pause") + if pause < os.time() then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[point][1], path[point][2], path[point][3], flags) + mob:setLocalVar("pause", os.time()+30) + end +end -function onMobDespawn(mob) - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - GetNPCByID(16932864+107):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+107):setStatus(dsp.status.NORMAL); -end; \ No newline at end of file +function onMobDeath(mob, player, isKiller) + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + if isKiller then + GetNPCByID(ID.npc.APOLLYON_NW_CRATE[1][1]):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.APOLLYON_NW_CRATE[1][1]):setStatus(dsp.status.NORMAL) + end +end diff --git a/scripts/zones/Apollyon/mobs/Proto-Omega.lua b/scripts/zones/Apollyon/mobs/Proto-Omega.lua index 47038acb15e..812790ed521 100644 --- a/scripts/zones/Apollyon/mobs/Proto-Omega.lua +++ b/scripts/zones/Apollyon/mobs/Proto-Omega.lua @@ -2,78 +2,77 @@ -- Area: Apollyon (Central) -- Mob: Proto-Omega ----------------------------------- -require("scripts/globals/limbus"); -require("scripts/globals/titles"); +require("scripts/globals/titles") require("scripts/globals/mobs") ------------------------------------ +local ID = require("scripts/zones/Apollyon/IDs") function onMobInitialize(mob) - mob:setMobMod(dsp.mobMod.ADD_EFFECT, 1); + mob:setMobMod(dsp.mobMod.ADD_EFFECT, 1) mob:setMod(dsp.mod.COUNTER, 10) -- "Possesses a Counter trait" mob:setMod(dsp.mod.REGEN, 25) -- "Posseses an Auto-Regen (low to moderate)" -end; +end function onMobSpawn(mob) - mob:setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()); - mob:setMod(dsp.mod.UDMGPHYS, -75); - mob:setMod(dsp.mod.UDMGRANGE, -75); - mob:setMod(dsp.mod.UDMGMAGIC, 0); + mob:setMobMod(dsp.mobMod.SUPERLINK, mob:getShortID()) + mob:setBehaviour(bit.bor(mob:getBehaviour(), dsp.behavior.NO_TURN)) + mob:setMod(dsp.mod.UDMGPHYS, -75) + mob:setMod(dsp.mod.UDMGRANGE, -75) + mob:setMod(dsp.mod.UDMGMAGIC, 0) mob:setMod(dsp.mod.MOVE, 100) -- "Moves at Flee Speed in Quadrupedal stance and in the Final Form" -end; +end -function onMobFight(mob,target) - local mobID = mob:getID(); +function onMobFight(mob, target) + local mobID = mob:getID() local formTime = mob:getLocalVar("formWait") - local lifePercent = mob:getHPP(); + local lifePercent = mob:getHPP() local currentForm = mob:getLocalVar("form") - - if (lifePercent < 70 and currentForm < 1) then - currentForm = 1; + + if lifePercent < 70 and currentForm < 1 then + currentForm = 1 mob:setLocalVar("form", currentForm) - mob:AnimationSub(2); - formTime = os.time() + 60; - mob:setMod(dsp.mod.UDMGPHYS, 0); - mob:setMod(dsp.mod.UDMGRANGE, 0); - mob:setMod(dsp.mod.UDMGMAGIC, -75); + formTime = os.time() + mob:setMod(dsp.mod.UDMGPHYS, 0) + mob:setMod(dsp.mod.UDMGRANGE, 0) + mob:setMod(dsp.mod.UDMGMAGIC, -75) mob:setMod(dsp.mod.MOVE, 0) end - if (currentForm == 1) then - if (formTime < os.time()) then - if (mob:AnimationSub() == 1) then - mob:AnimationSub(2); + if currentForm == 1 then + if formTime < os.time() then + if mob:AnimationSub() == 1 then + mob:AnimationSub(2) + mob:setBehaviour(bit.band(mob:getBehaviour(), bit.bnot(dsp.behavior.NO_TURN))) + if not pod:isSpawned() and math.random(0,1) == 1 then + mob:useMobAbility(1532) + end else - mob:AnimationSub(1); + mob:setBehaviour(bit.bor(mob:getBehaviour(), dsp.behavior.NO_TURN)) + mob:AnimationSub(1) end - mob:setLocalVar("formWait", os.time() + 60); + mob:setLocalVar("formWait", os.time() + 60) end - if (lifePercent < 30) then - mob:AnimationSub(2); - mob:setMod(dsp.mod.UDMGPHYS, -50); - mob:setMod(dsp.mod.UDMGRANGE, -50); - mob:setMod(dsp.mod.UDMGMAGIC, -50); + if lifePercent < 30 then + mob:AnimationSub(2) + mob:setBehaviour(bit.band(mob:getBehaviour(), bit.bnot(dsp.behavior.NO_TURN))) + mob:setMod(dsp.mod.UDMGPHYS, -50) + mob:setMod(dsp.mod.UDMGRANGE, -50) + mob:setMod(dsp.mod.UDMGMAGIC, -50) mob:setMod(dsp.mod.MOVE, 100) - mob:addStatusEffect(dsp.effect.REGAIN,7,3,0); -- The final form has Regain, - mob:getStatusEffect(dsp.effect.REGAIN):setFlag(dsp.effectFlag.DEATH); - currentForm = 2; + mob:addStatusEffect(dsp.effect.REGAIN,7,3,0) -- The final form has Regain, + mob:getStatusEffect(dsp.effect.REGAIN):setFlag(dsp.effectFlag.DEATH) + currentForm = 2 mob:setLocalVar("form", currentForm) end end -end; +end function onAdditionalEffect(mob, target, damage) return dsp.mob.onAddEffect(mob, target, damage, dsp.mob.ae.STUN) end function onMobDeath(mob, player, isKiller) - player:addTitle(dsp.title.APOLLYON_RAVAGER); -end; + player:addTitle(dsp.title.APOLLYON_RAVAGER) + GetNPCByID(ID.npc.APOLLYON_CENTRAL_CRATE):setStatus(dsp.status.NORMAL) +end -function onMobDespawn(mob) - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - GetNPCByID(16932864+39):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+39):setStatus(dsp.status.NORMAL); -end; diff --git a/scripts/zones/Apollyon/mobs/Sirin.lua b/scripts/zones/Apollyon/mobs/Sirin.lua deleted file mode 100644 index 4647fd78112..00000000000 --- a/scripts/zones/Apollyon/mobs/Sirin.lua +++ /dev/null @@ -1,26 +0,0 @@ ------------------------------------ --- Area: Apollyon NE --- Mob: Sirin ------------------------------------ -require("scripts/globals/limbus"); ------------------------------------ - -function onMobDeath(mob, player, isKiller) -end; - -function onMobDespawn(mob) - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - - - if (mobID ==16933072) then -- time T1 - GetNPCByID(16932864+125):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+125):setStatus(dsp.status.NORMAL); - elseif (mobID ==16933071) then -- time T2 - GetNPCByID(16932864+83):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+83):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Star_Ruby_Quadav.lua b/scripts/zones/Apollyon/mobs/Star_Ruby_Quadav.lua new file mode 100644 index 00000000000..527e5b68579 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Star_Ruby_Quadav.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Apollyon CS +-- Mob: Star Ruby Quadav +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Apollyon/mobs/Star_Sapphire_Quadav.lua b/scripts/zones/Apollyon/mobs/Star_Sapphire_Quadav.lua new file mode 100644 index 00000000000..40a3f0556e7 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Star_Sapphire_Quadav.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Apollyon CS +-- Mob: Star Sapphire Quadav +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Apollyon/mobs/Thiazi.lua b/scripts/zones/Apollyon/mobs/Thiazi.lua index 39b3ba13c16..e195a3b6c7f 100644 --- a/scripts/zones/Apollyon/mobs/Thiazi.lua +++ b/scripts/zones/Apollyon/mobs/Thiazi.lua @@ -2,22 +2,39 @@ -- Area: Apollyon NE -- Mob: Thiazi ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +require("scripts/globals/limbus") +local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) -end; - -function onMobDespawn(mob) - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - - - if (mobID ==16933063) then -- item - GetNPCByID(16932864+126):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+126):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local randomF2 = battlefield:getLocalVar("randomF2") + if randomF2 == mobID then + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + GetNPCByID(ID.npc.APOLLYON_NE_CRATE[2][1]):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.APOLLYON_NE_CRATE[2][1]):setStatus(dsp.status.NORMAL) + elseif randomF2+1 == mobID then + battlefield:setLocalVar("portalTriggerF3", ID.mob.APOLLYON_NE_MOB[3]) + battlefield:setLocalVar("itemF3", ID.mob.APOLLYON_NE_MOB[3]+1) + local players = battlefield:getPlayers() + if #players > 6 then + for i = 5, 9 do + GetMobByID(ID.mob.APOLLYON_NE_MOB[3]+i):spawn() + end + battlefield:setLocalVar("portalTriggerF3", ID.mob.APOLLYON_NE_MOB[3]+(math.random(0,1)*5)) + battlefield:setLocalVar("itemF3", ID.mob.APOLLYON_NE_MOB[3]+1+(math.random(0,1)*5)) + end + if #players > 12 then + for i = 10, 14 do + GetMobByID(ID.mob.APOLLYON_NE_MOB[3]+i):spawn() + end + battlefield:setLocalVar("portalTriggerF3", ID.mob.APOLLYON_NE_MOB[3]+(math.random(0,2)*5)) + battlefield:setLocalVar("itemF3", ID.mob.APOLLYON_NE_MOB[3]+1+(math.random(0,2)*5)) + end + dsp.limbus.handleDoors(battlefield, true, ID.npc.APOLLYON_NE_PORTAL[2]) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Thunder_Elemental.lua b/scripts/zones/Apollyon/mobs/Thunder_Elemental.lua index 9bcb7c0ff66..580c4db24eb 100644 --- a/scripts/zones/Apollyon/mobs/Thunder_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Thunder_Elemental.lua @@ -2,68 +2,19 @@ -- Area: Apollyon SW -- Mob: Thunder Elemental ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobDeath(mob, player, isKiller) -end; - -function onMobDespawn(mob) - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); +require("scripts/globals/limbus") +local ID = require("scripts/zones/Apollyon/IDs") - local elementalday = GetServerVariable("[SW_Apollyon]ElementalTrigger") - 1; - local correctelement=false; +function onMobEngaged(mob, target) + GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+7):updateEnmity(target) + GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+15):updateEnmity(target) + GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+23):updateEnmity(target) +end - switch (elementalday): caseof { - [0] = function (x) - if (mobID==16932913 or mobID==16932921 or mobID==16932929) then - correctelement=true; - end - end , - [1] = function (x) - if (mobID==16932912 or mobID==16932920 or mobID==16932928 ) then - correctelement=true; - end - end , - [2] = function (x) - if (mobID==16932916 or mobID==16932924 or mobID==16932932 ) then - correctelement=true; - end - end , - [3] = function (x) - if (mobID==16932910 or mobID==16932918 or mobID==16932926 ) then - correctelement=true; - end - end , - [4] = function (x) - if (mobID==16932914 or mobID==16932922 or mobID==16932930 ) then - correctelement=true; - end - end , - [5] = function (x) - if (mobID==16932917 or mobID==16932925 or mobID==16932933 ) then - correctelement=true; - end - end , - [6] = function (x) - if (mobID==16932931 or mobID==16932915 or mobID==16932923 ) then - correctelement=true; - end - end , - [7] = function (x) - if (mobID==16932911 or mobID==16932919 or mobID==16932927 ) then - correctelement=true; - end - end , - }; - - if (correctelement==true and IselementalDayAreDead() == true) then - GetNPCByID(16932864+313):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+313):setStatus(dsp.status.NORMAL); - end - -end; \ No newline at end of file +function onMobDeath(mob, player, isKiller) + if isKiller then + if dsp.limbus.elementalsDead() then + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[4]):setStatus(dsp.status.NORMAL) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Tieholtsodi.lua b/scripts/zones/Apollyon/mobs/Tieholtsodi.lua index 4dc5c8c238d..37aafe3049b 100644 --- a/scripts/zones/Apollyon/mobs/Tieholtsodi.lua +++ b/scripts/zones/Apollyon/mobs/Tieholtsodi.lua @@ -2,18 +2,43 @@ -- Area: Apollyon SE -- Mob: Tieholtsodi ----------------------------------- +require("scripts/globals/limbus") +require("scripts/globals/pathfind") +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Apollyon/IDs") +local flags = dsp.path.flag.WALLHACK +local path = +{ + {149.587, -0.293, -526.395}, + {145.010, 0.000, -438.159} +} -function onMobEngaged(mob,target) - GetMobByID(16933007):updateEnmity(target); - GetMobByID(16933008):updateEnmity(target); - GetMobByID(16933009):updateEnmity(target); - GetMobByID(16933010):updateEnmity(target); - GetMobByID(16933011):updateEnmity(target); - GetMobByID(16933012):updateEnmity(target); - GetMobByID(16933013):updateEnmity(target); - GetMobByID(16933014):updateEnmity(target); -end; +function onMobRoam(mob) + local pause = mob:getLocalVar("pause") + if pause < os.time() then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[point][1], path[point][2], path[point][3], flags) + mob:setLocalVar("pause", os.time()+40) + end +end -function onMobDeath(mob, player, isKiller) +function onMobSpawn(mob) + mob:setMod(dsp.mod.SLASHRES, 0) + mob:setMod(dsp.mod.PIERCERES, 1500) +end + +function onMobSpawn(mob) + dsp.mix.jobSpecial.config(mob, { + specials = + { + {id = dsp.jsa.HUNDRED_FISTS, hpp = 50}, + }, + }) +end -end; \ No newline at end of file +function onMobDeath(mob, player, isKiller) + if isKiller then + dsp.limbus.handleDoors(player:getBattlefield(), true, ID.npc.APOLLYON_SE_PORTAL[2]) + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Troglodyte_Dhalmel.lua b/scripts/zones/Apollyon/mobs/Troglodyte_Dhalmel.lua index 5ed1b0ab26e..75a654d4ee0 100644 --- a/scripts/zones/Apollyon/mobs/Troglodyte_Dhalmel.lua +++ b/scripts/zones/Apollyon/mobs/Troglodyte_Dhalmel.lua @@ -2,30 +2,47 @@ -- Area: Apollyon NE -- Mob: Troglodyte Dhalmel ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobDeath(mob, player, isKiller) -end; +require("scripts/globals/pathfind") +local ID = require("scripts/zones/Apollyon/IDs") +local flags = dsp.path.flag.NONE +local path = +{ + {525.180,-0.500,288.169}, + {542.354,-0.499,256.271}, + {546.451,-0.499,253.793}, + {582.242,-0.499,307.279}, + {590.586,-0.500,285.598}, + {590.569,-0.500,285.574}, + {530.585,-0.500,283.369}, + {525.971,-0.499,289.436} +} -function onMobDespawn(mob) - local mobID = mob:getID(); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); +function onMobSpawn(mob) + local start = (mob:getID() - ID.mob.APOLLYON_NE_MOB[5]) - 1 + mob:setLocalVar("point", start) +end +function onMobRoam(mob) + if not mob:isFollowingPath() then + local point = math.random(#path) + while point == mob:getLocalVar("point") do + point = math.random(#path) + end + mob:setLocalVar("point", point) + mob:pathTo(path[point][1], path[point][2], path[point][3], flags) + end +end - if (IsMobDead(16933115)==true and - IsMobDead(16933116)==true and - IsMobDead(16933117)==true and - IsMobDead(16933118)==true and - IsMobDead(16933119)==true and - IsMobDead(16933120)==true and - IsMobDead(16933121)==true and - IsMobDead(16933122)==true - ) then - -- item - GetNPCByID(16932864+178):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+178):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file +function onMobDeath(mob, player, isKiller) + if isKiller then + local allDead = true + for i = 2, 9 do + if GetMobByID(ID.mob.APOLLYON_NE_MOB[5]+i):isAlive() then + allDead = false + end + end + if allDead then + GetNPCByID(ID.npc.APOLLYON_NE_CRATE[5]):setStatus(dsp.status.NORMAL) + end + end +end diff --git a/scripts/zones/Apollyon/mobs/Water_Elemental.lua b/scripts/zones/Apollyon/mobs/Water_Elemental.lua index 58c9224ef6e..cb730b1cae5 100644 --- a/scripts/zones/Apollyon/mobs/Water_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Water_Elemental.lua @@ -2,68 +2,19 @@ -- Area: Apollyon SW -- Mob: Water Elemental ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobDeath(mob, player, isKiller) -end; - -function onMobDespawn(mob) - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); +require("scripts/globals/limbus") +local ID = require("scripts/zones/Apollyon/IDs") - local elementalday = GetServerVariable("[SW_Apollyon]ElementalTrigger") - 1; - local correctelement=false; +function onMobEngaged(mob, target) + GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+6):updateEnmity(target) + GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+14):updateEnmity(target) + GetMobByID(ID.mob.APOLLYON_SW_MOB[4]+22):updateEnmity(target) +end - switch (elementalday): caseof { - [0] = function (x) - if (mobID==16932913 or mobID==16932921 or mobID==16932929) then - correctelement=true; - end - end , - [1] = function (x) - if (mobID==16932912 or mobID==16932920 or mobID==16932928 ) then - correctelement=true; - end - end , - [2] = function (x) - if (mobID==16932916 or mobID==16932924 or mobID==16932932 ) then - correctelement=true; - end - end , - [3] = function (x) - if (mobID==16932910 or mobID==16932918 or mobID==16932926 ) then - correctelement=true; - end - end , - [4] = function (x) - if (mobID==16932914 or mobID==16932922 or mobID==16932930 ) then - correctelement=true; - end - end , - [5] = function (x) - if (mobID==16932917 or mobID==16932925 or mobID==16932933 ) then - correctelement=true; - end - end , - [6] = function (x) - if (mobID==16932931 or mobID==16932915 or mobID==16932923 ) then - correctelement=true; - end - end , - [7] = function (x) - if (mobID==16932911 or mobID==16932919 or mobID==16932927 ) then - correctelement=true; - end - end , - }; - - if (correctelement==true and IselementalDayAreDead() == true) then - GetNPCByID(16932864+313):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+313):setStatus(dsp.status.NORMAL); - end - -end; \ No newline at end of file +function onMobDeath(mob, player, isKiller) + if isKiller then + if dsp.limbus.elementalsDead() then + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[4]):setStatus(dsp.status.NORMAL) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Whitegold_Quadav.lua b/scripts/zones/Apollyon/mobs/Whitegold_Quadav.lua new file mode 100644 index 00000000000..e6fc43fe0ed --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Whitegold_Quadav.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Apollyon CS +-- Mob: Whitegold Quadav +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Apollyon/mobs/Wootz_Quadav.lua b/scripts/zones/Apollyon/mobs/Wootz_Quadav.lua new file mode 100644 index 00000000000..caab3720a09 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Wootz_Quadav.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Apollyon CS +-- Mob: Wootz Quadav +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Apollyon/mobs/Yagudo_Archpriest.lua b/scripts/zones/Apollyon/mobs/Yagudo_Archpriest.lua new file mode 100644 index 00000000000..210f910283b --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Yagudo_Archpriest.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Apollyon CS +-- Mob: Yagudo Archpriest +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Apollyon/mobs/Yagudo_Discipilnant.lua b/scripts/zones/Apollyon/mobs/Yagudo_Discipilnant.lua new file mode 100644 index 00000000000..fca93c1538f --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Yagudo_Discipilnant.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Apollyon CS +-- Mob: Yagudo Discipilnant +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Apollyon/mobs/Yagudo_Eradicator.lua b/scripts/zones/Apollyon/mobs/Yagudo_Eradicator.lua new file mode 100644 index 00000000000..5c07643ac78 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Yagudo_Eradicator.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Apollyon CS +-- Mob: Yagudo Eradicator +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Apollyon/mobs/Yagudo_Kapellmeister.lua b/scripts/zones/Apollyon/mobs/Yagudo_Kapellmeister.lua new file mode 100644 index 00000000000..2e6128f9dac --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Yagudo_Kapellmeister.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Apollyon CS +-- Mob: Yagudo Kapellmeister +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Apollyon/mobs/Yagudo_Knight_Templar.lua b/scripts/zones/Apollyon/mobs/Yagudo_Knight_Templar.lua new file mode 100644 index 00000000000..c28a94e5954 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Yagudo_Knight_Templar.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Apollyon CS +-- Mob: Yagudo Knight Templar +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Apollyon/mobs/Yagudo_Prelatess.lua b/scripts/zones/Apollyon/mobs/Yagudo_Prelatess.lua new file mode 100644 index 00000000000..7c3899a169f --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Yagudo_Prelatess.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Apollyon CS +-- Mob: Yagudo Prelatess +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Apollyon/mobs/Zlatorog.lua b/scripts/zones/Apollyon/mobs/Zlatorog.lua index 5b0b862963d..e6e59ca95a1 100644 --- a/scripts/zones/Apollyon/mobs/Zlatorog.lua +++ b/scripts/zones/Apollyon/mobs/Zlatorog.lua @@ -2,14 +2,41 @@ -- Area: Apollyon NW -- Mob: Zlatorog ----------------------------------- +require("scripts/globals/pathfind") +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Apollyon/IDs") +local flags = dsp.path.flag.NONE +local path = +{ + {-343.300, 0.000, 311.863}, + {-378.080, 0.000, 274.412} +} -function onMobDeath(mob, player, isKiller) -end; +function onMobRoam(mob) + local pause = mob:getLocalVar("pause") + if pause < os.time() then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[point][1], path[point][2], path[point][3], flags) + mob:setLocalVar("pause", os.time()+30) + end +end + +function onMobSpawn(mob) + dsp.mix.jobSpecial.config(mob, { + specials = + { + {id = dsp.jsa.MIGHTY_STRIKES, hpp = math.random(90, 95), cooldown = 90}, + }, + }) +end -function onMobDespawn(mob) - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - GetNPCByID(16932864+108):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+108):setStatus(dsp.status.NORMAL); -end; \ No newline at end of file +function onMobDeath(mob, player, isKiller) + if isKiller then + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + GetNPCByID(ID.npc.APOLLYON_NW_CRATE[2][1]):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.APOLLYON_NW_CRATE[2][1]):setStatus(dsp.status.NORMAL) + end +end diff --git a/scripts/zones/Apollyon/npcs/Armoury_Crate.lua b/scripts/zones/Apollyon/npcs/Armoury_Crate.lua index a91ce22f8e2..60d2a575bb9 100644 --- a/scripts/zones/Apollyon/npcs/Armoury_Crate.lua +++ b/scripts/zones/Apollyon/npcs/Armoury_Crate.lua @@ -2,784 +2,1064 @@ -- Area: Apollyon -- NPC: Armoury Crate ----------------------------------- - require("scripts/globals/titles") require("scripts/globals/quests") require("scripts/globals/limbus") ------------------------------------ +require("scripts/globals/zone") +local ID = require("scripts/zones/Apollyon/IDs") local loot = { - -- SE_Apollyon floor 1 - [110] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1939, droprate = 350}, - {itemid = 1941, droprate = 278}, - {itemid = 1959, droprate = 174}, - {itemid = 1949, droprate = 200}, - }, - { - {itemid = 1945, droprate = 47}, - {itemid = 1951, droprate = 49}, - {itemid = 1955, droprate = 200}, - {itemid = 2659, droprate = 62}, - {itemid = 2715, droprate = 407}, - }, - }, - -- SE_Apollyon floor 2 - [111] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1959, droprate = 47}, - {itemid = 1949, droprate = 30}, - {itemid = 1943, droprate = 200}, - {itemid = 1947, droprate = 460}, - {itemid = 2661, droprate = 400}, - }, - { - {itemid = 1951, droprate = 20}, - {itemid = 1955, droprate = 80}, - {itemid = 1945, droprate = 90}, - {itemid = 2659, droprate = 100}, - {itemid = 2715, droprate = 120}, - }, - }, - -- SE_Apollyon floor 3 - [112] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1955, droprate = 59}, - {itemid = 1959, droprate = 139}, - {itemid = 1949, droprate = 39}, - {itemid = 1681, droprate = 39}, - {itemid = 645, droprate = 39}, - {itemid = 1933, droprate = 627}, - }, - { - {itemid = 1945, droprate = 159}, - {itemid = 1951, droprate = 139}, - {itemid = 2659, droprate = 39}, - {itemid = 664, droprate = 20}, - {itemid = 646, droprate = 20}, - {itemid = 1931, droprate = 200}, - }, - }, - -- SE_Apollyon floor 4 - [113] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1935, droprate = 220}, - {itemid = 1937, droprate = 300}, - {itemid = 1957, droprate = 260}, - {itemid = 1953, droprate = 340}, - }, - { - {itemid = 2657, droprate = 220}, - {itemid = 2717, droprate = 180}, - {itemid = 1931, droprate = 300}, - }, - { - {itemid = 1909, droprate = 1000}, - }, - { - {itemid = 2127, droprate = 59}, - {itemid = 1875, droprate = 100}, - }, - }, - -- NE_Apollyon floor 1 - [114] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1953, droprate = 304}, - {itemid = 1943, droprate = 18}, - {itemid = 1941, droprate = 200}, - {itemid = 2715, droprate = 200}, - {itemid = 2661, droprate = 36}, - }, - { - {itemid = 1933, droprate = 18}, - {itemid = 1939, droprate = 36}, - {itemid = 1935, droprate = 411}, - {itemid = 2717, droprate = 482}, - {itemid = 1947, droprate = 18}, - }, - }, - -- NE_Apollyon floor 2 - [115] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1947, droprate = 26}, - {itemid = 1933, droprate = 53}, - {itemid = 1943, droprate = 26}, - {itemid = 2661, droprate = 26}, - {itemid = 1937, droprate = 395}, - }, - { - {itemid = 1957, droprate = 289}, - {itemid = 1941, droprate = 53}, - {itemid = 1939, droprate = 112}, - {itemid = 2657, droprate = 477}, - }, - }, - -- NE_Apollyon floor 3 - [116] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1931, droprate = 788}, - {itemid = 1939, droprate = 30}, - {itemid = 1953, droprate = 130}, - {itemid = 1957, droprate = 100}, - {itemid = 1947, droprate = 90}, - }, - { - {itemid = 1933, droprate = 30}, - {itemid = 1941, droprate = 99}, - {itemid = 2661, droprate = 61}, - {itemid = 2715, droprate = 30}, - {itemid = 1943, droprate = 160}, - }, - { - {itemid = 1633, droprate = 30}, - {itemid = 821, droprate = 40}, - }, - { - {itemid = 1311, droprate = 50}, - {itemid = 1883, droprate = 40}, - {itemid = 2004, droprate = 20}, - }, - }, - -- NE_Apollyon floor 4 - [117] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1949, droprate = 326}, - {itemid = 1945, droprate = 256}, - {itemid = 1951, droprate = 395}, - }, - { - {itemid = 1959, droprate = 279}, - {itemid = 1955, droprate = 256}, - {itemid = 2659, droprate = 326}, - }, - }, - -- NE_Apollyon floor 5 - [118] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 100}, - {itemid = 2127, droprate = 59}, - }, - { - {itemid = 1910, droprate = 1000}, - }, - }, - -- SW_Apollyon floor 1 - [119] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1949, droprate = 464}, - {itemid = 1945, droprate = 250}, - {itemid = 1953, droprate = 110}, - {itemid = 1937, droprate = 71}, - }, - { - {itemid = 1931, droprate = 180}, - {itemid = 2657, droprate = 210}, - {itemid = 2717, droprate = 111}, - {itemid = 1935, droprate = 107}, - }, - }, - -- SW_Apollyon floor 2 - [120] = + [1293] = { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1951, droprate = 154}, - {itemid = 1935, droprate = 95}, - {itemid = 1959, droprate = 269}, - }, - { - {itemid = 1937, droprate = 106}, - {itemid = 1931, droprate = 77}, - {itemid = 2659, droprate = 423}, - {itemid = 1957, droprate = 110}, + -- SE_Apollyon floor 1 + [1] = + { + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 0, droprate = 1000}, -- Nothing + {itemid = 1939, droprate = 350}, -- RDM + {itemid = 1941, droprate = 278}, -- THF + {itemid = 1959, droprate = 174}, -- SMN + {itemid = 1949, droprate = 200}, -- BRD + {itemid = 1945, droprate = 47}, -- DRK + {itemid = 1951, droprate = 49}, -- RNG + {itemid = 1955, droprate = 200}, -- NIN + {itemid = 2659, droprate = 62}, -- COR + {itemid = 2715, droprate = 407}, -- DNC + }, + { + {itemid = 0, droprate = 1000}, -- Nothing + {itemid = 1939, droprate = 350}, -- RDM + {itemid = 1941, droprate = 278}, -- THF + {itemid = 1959, droprate = 174}, -- SMN + {itemid = 1949, droprate = 200}, -- BRD + {itemid = 1945, droprate = 47}, -- DRK + {itemid = 1951, droprate = 49}, -- RNG + {itemid = 1955, droprate = 200}, -- NIN + {itemid = 2659, droprate = 62}, -- COR + {itemid = 2715, droprate = 407}, -- DNC + }, + }, + -- SE_Apollyon floor 2 + [2] = + { + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1959, droprate = 47}, -- SMN + {itemid = 1949, droprate = 30}, -- BRD + {itemid = 1943, droprate = 200}, -- PLD + {itemid = 1947, droprate = 460}, -- BST + {itemid = 2661, droprate = 400}, -- PUP + {itemid = 1951, droprate = 20}, -- RNG + {itemid = 1955, droprate = 80}, -- NIN + {itemid = 1945, droprate = 90}, -- DRK + {itemid = 2659, droprate = 100}, -- COR + {itemid = 2715, droprate = 120}, -- DNC + }, + { + {itemid = 0, droprate = 999}, -- Nothing + {itemid = 1959, droprate = 47}, -- SMN + {itemid = 1949, droprate = 30}, -- BRD + {itemid = 1943, droprate = 200}, -- PLD + {itemid = 1947, droprate = 460}, -- BST + {itemid = 2661, droprate = 400}, -- PUP + {itemid = 1951, droprate = 20}, -- RNG + {itemid = 1955, droprate = 80}, -- NIN + {itemid = 1945, droprate = 90}, -- DRK + {itemid = 2659, droprate = 100}, -- COR + {itemid = 2715, droprate = 120}, -- DNC + }, + }, + -- SE_Apollyon floor 3 + [3] = + { + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 0, droprate = 999}, -- Nothing + {itemid = 1955, droprate = 59}, -- NIN + {itemid = 1959, droprate = 139}, -- SMN + {itemid = 1949, droprate = 39}, -- BRD + {itemid = 1681, droprate = 39}, -- Light Steel + {itemid = 645, droprate = 39}, -- Darksteel Ore + {itemid = 1933, droprate = 627}, -- MNK + }, + { + {itemid = 0, droprate = 500}, -- Nothing + {itemid = 1945, droprate = 159}, -- DRK + {itemid = 1951, droprate = 139}, -- RNG + {itemid = 2659, droprate = 39}, -- COR + {itemid = 664, droprate = 20}, -- Darksteel Sheet + {itemid = 646, droprate = 20}, -- Adaman Ore + {itemid = 1931, droprate = 200}, -- WAR + }, + }, + -- SE_Apollyon floor 4 + [4] = + { + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1935, droprate = 220}, -- WHM + {itemid = 1937, droprate = 300}, -- BLM + {itemid = 1957, droprate = 260}, -- DRG + {itemid = 1953, droprate = 340}, -- SAM + {itemid = 2657, droprate = 220}, -- BLU + {itemid = 2717, droprate = 180}, -- SCH + {itemid = 1931, droprate = 300}, -- WAR + }, + { + {itemid = 1935, droprate = 220}, -- WHM + {itemid = 1937, droprate = 300}, -- BLM + {itemid = 1957, droprate = 260}, -- DRG + {itemid = 1953, droprate = 340}, -- SAM + {itemid = 2657, droprate = 220}, -- BLU + {itemid = 2717, droprate = 180}, -- SCH + {itemid = 1931, droprate = 300}, -- WAR + }, + { + {itemid = 1909, droprate = 1000}, -- Smalt Chip + }, + { + {itemid = 2127, droprate = 59}, -- Metal Chip + {itemid = 0, droprate = 100}, -- Nothing + }, }, }, - -- SW_Apollyon floor 3 - [121] = + [1292] = { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1955, droprate = 595}, - {itemid = 1957, droprate = 100}, - {itemid = 1937, droprate = 24}, - {itemid = 1953, droprate = 48}, - }, - { - {itemid = 1931, droprate = 120}, - {itemid = 1953, droprate = 48}, - {itemid = 1935, droprate = 24}, - {itemid = 2657, droprate = 24}, - {itemid = 2717, droprate = 71}, - }, - { - {itemid = 1311, droprate = 32}, - {itemid = 1883, droprate = 40}, - {itemid = 1681, droprate = 31}, - {itemid = 1633, droprate = 71}, - {itemid = 645, droprate = 31}, - {itemid = 664, droprate = 63}, - {itemid = 646, droprate = 31}, - {itemid = 821, droprate = 63}, + -- NE_Apollyon floor 1 + [1] = + { + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 0, droprate = 1000}, -- Nothing + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1953, droprate = 304}, -- SAM + {itemid = 1943, droprate = 18}, -- PLD + {itemid = 1941, droprate = 200}, -- THF + {itemid = 2715, droprate = 200}, -- DNC + {itemid = 2661, droprate = 36}, -- PUP + {itemid = 1933, droprate = 18}, -- MNK + {itemid = 1939, droprate = 36}, -- RDM + {itemid = 1935, droprate = 411}, -- WHM + {itemid = 2717, droprate = 482}, -- SCH + {itemid = 1947, droprate = 18}, -- BST + }, + { + {itemid = 0, droprate = 1000}, -- SAM + {itemid = 1953, droprate = 304}, -- SAM + {itemid = 1943, droprate = 18}, -- PLD + {itemid = 1941, droprate = 200}, -- THF + {itemid = 2715, droprate = 200}, -- DNC + {itemid = 2661, droprate = 36}, -- PUP + {itemid = 1933, droprate = 18}, -- MNK + {itemid = 1939, droprate = 36}, -- RDM + {itemid = 1935, droprate = 411}, -- WHM + {itemid = 2717, droprate = 482}, -- SCH + {itemid = 1947, droprate = 18}, -- BST + }, + }, + -- NE_Apollyon floor 2 + [2] = + { + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 0, droprate = 1000}, -- Nothing + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1947, droprate = 26}, -- BST + {itemid = 1933, droprate = 53}, -- MNK + {itemid = 1943, droprate = 26}, -- PLD + {itemid = 2661, droprate = 26}, -- PUP + {itemid = 1937, droprate = 395}, -- BLM + {itemid = 1957, droprate = 289}, -- DRG + {itemid = 1941, droprate = 53}, -- THF + {itemid = 1939, droprate = 112}, -- RDM + {itemid = 2657, droprate = 477}, -- BLU + }, + { + {itemid = 0, droprate = 1000}, -- Nothing + {itemid = 1947, droprate = 26}, -- BST + {itemid = 1933, droprate = 53}, -- MNK + {itemid = 1943, droprate = 26}, -- PLD + {itemid = 2661, droprate = 26}, -- PUP + {itemid = 1937, droprate = 395}, -- BLM + {itemid = 1957, droprate = 289}, -- DRG + {itemid = 1941, droprate = 53}, -- THF + {itemid = 1939, droprate = 112}, -- RDM + {itemid = 2657, droprate = 477}, -- BLU + }, + }, + -- NE_Apollyon floor 3 + [3] = + { + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 0, droprate = 1000}, -- Nothing + {itemid = 1931, droprate = 788}, -- WAR + {itemid = 1939, droprate = 30}, -- RDM + {itemid = 1953, droprate = 130}, -- SAM + {itemid = 1957, droprate = 100}, -- DRG + {itemid = 1947, droprate = 90}, -- BST + {itemid = 1933, droprate = 30}, -- MNK + {itemid = 1941, droprate = 99}, -- THF + {itemid = 2661, droprate = 61}, -- PUP + {itemid = 2715, droprate = 30}, -- DNC + {itemid = 1943, droprate = 160}, -- PLD + }, + { + {itemid = 0, droprate = 1000}, -- Nothing + {itemid = 1931, droprate = 788}, -- WAR + {itemid = 1939, droprate = 30}, -- RDM + {itemid = 1953, droprate = 130}, -- SAM + {itemid = 1957, droprate = 100}, -- DRG + {itemid = 1947, droprate = 90}, -- BST + {itemid = 1933, droprate = 30}, -- MNK + {itemid = 1941, droprate = 99}, -- THF + {itemid = 2661, droprate = 61}, -- PUP + {itemid = 2715, droprate = 30}, -- DNC + {itemid = 1943, droprate = 160}, -- PLD + }, + { + {itemid = 0, droprate = 180}, -- Nothing + {itemid = 1633, droprate = 30}, -- Clot Plasma + {itemid = 821, droprate = 40}, -- Rainbow Thread + {itemid = 1311, droprate = 50}, -- Oxblood + {itemid = 1883, droprate = 40}, -- Shell Powder + {itemid = 2004, droprate = 20}, -- Carapace Powder + }, + { + {itemid = 0, droprate = 180}, -- Nothing + {itemid = 1633, droprate = 30}, -- Clot Plasma + {itemid = 821, droprate = 40}, -- Rainbow Thread + {itemid = 1311, droprate = 50}, -- Oxblood + {itemid = 1883, droprate = 40}, -- Shell Powder + {itemid = 2004, droprate = 20}, -- Carapace Powder + }, + }, + -- NE_Apollyon floor 4 + [4] = + { + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 0, droprate = 1000}, -- Nothing + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1949, droprate = 326}, -- BRD + {itemid = 1945, droprate = 256}, -- DRK + {itemid = 1951, droprate = 395}, -- RNG + {itemid = 1959, droprate = 279}, -- SMN + {itemid = 1955, droprate = 256}, -- NIN + {itemid = 2659, droprate = 326}, -- COR + }, + { + {itemid = 0, droprate = 1000}, -- Nothing + {itemid = 1949, droprate = 326}, -- BRD + {itemid = 1945, droprate = 256}, -- DRK + {itemid = 1951, droprate = 395}, -- RNG + {itemid = 1959, droprate = 279}, -- SMN + {itemid = 1955, droprate = 256}, -- NIN + {itemid = 2659, droprate = 326}, -- COR + }, + }, + -- NE_Apollyon floor 5 + [5] = + { + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1910, droprate = 1000}, -- Smoky Chip + }, + { + {itemid = 0, droprate = 100}, -- Nothing + {itemid = 2127, droprate = 59}, -- Metal Chip + }, }, }, - -- SW_Apollyon floor 4 - [122] = + [1291] = { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1941, droprate = 468}, - {itemid = 1947, droprate = 340}, - {itemid = 1933, droprate = 255}, - {itemid = 1939, droprate = 191}, - }, - { - {itemid = 1943, droprate = 170}, - {itemid = 2661, droprate = 340}, - {itemid = 2715, droprate = 170}, - }, - { - {itemid = 1987, droprate = 1000}, - }, - { - {itemid = 2127, droprate = 59}, - {itemid = 1875, droprate = 100}, + -- SW_Apollyon floor 1 + [1] = + { + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1949, droprate = 464}, -- BRD + {itemid = 1945, droprate = 250}, -- DRK + {itemid = 1953, droprate = 110}, -- SAM + {itemid = 1937, droprate = 71}, -- BLM + {itemid = 1931, droprate = 180}, -- WAR + {itemid = 2657, droprate = 210}, -- BLU + {itemid = 2717, droprate = 111}, -- SCH + {itemid = 1935, droprate = 107}, -- WHM + }, + { + {itemid = 0, droprate = 1000}, -- Nothing + {itemid = 1949, droprate = 464}, -- BRD + {itemid = 1945, droprate = 250}, -- DRK + {itemid = 1953, droprate = 110}, -- SAM + {itemid = 1937, droprate = 71}, -- BLM + {itemid = 1931, droprate = 180}, -- WAR + {itemid = 2657, droprate = 210}, -- BLU + {itemid = 2717, droprate = 111}, -- SCH + {itemid = 1935, droprate = 107}, -- WHM + }, + }, + -- SW_Apollyon floor 2 + [2] = + { + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1951, droprate = 154}, -- RNG + {itemid = 1935, droprate = 95}, -- WHM + {itemid = 1959, droprate = 269}, -- SMN + {itemid = 1937, droprate = 106}, -- BLM + {itemid = 1931, droprate = 77}, -- WAR + {itemid = 2659, droprate = 423}, -- COR + {itemid = 1957, droprate = 110}, -- DRG + }, + { + {itemid = 0, droprate = 999}, -- Nothing + {itemid = 1951, droprate = 154}, -- RNG + {itemid = 1935, droprate = 95}, -- WHM + {itemid = 1959, droprate = 269}, -- SMN + {itemid = 1937, droprate = 106}, -- BLM + {itemid = 1931, droprate = 77}, -- WAR + {itemid = 2659, droprate = 423}, -- COR + {itemid = 1957, droprate = 110}, -- DRG + }, + }, + -- SW_Apollyon floor 3 + [3] = + { + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 0, droprate = 120}, -- Nothing + {itemid = 1931, droprate = 120}, -- WAR + {itemid = 1955, droprate = 595}, -- NIN + {itemid = 1957, droprate = 100}, -- DRG + {itemid = 1937, droprate = 24}, -- BLM + {itemid = 1953, droprate = 48}, -- SAM + {itemid = 1935, droprate = 24}, -- WHM + {itemid = 2657, droprate = 24}, -- BLU + {itemid = 2717, droprate = 71}, -- SCH + }, + { + {itemid = 0, droprate = 120}, -- Nothing + {itemid = 1931, droprate = 120}, -- WAR + {itemid = 1955, droprate = 595}, -- NIN + {itemid = 1957, droprate = 100}, -- DRG + {itemid = 1937, droprate = 24}, -- BLM + {itemid = 1953, droprate = 48}, -- SAM + {itemid = 1935, droprate = 24}, -- WHM + {itemid = 2657, droprate = 24}, -- BLU + {itemid = 2717, droprate = 71}, -- SCH + }, + { + {itemid = 0, droprate = 638}, -- Nothing + {itemid = 1311, droprate = 32}, -- Oxblood + {itemid = 1883, droprate = 40}, -- Shell Powder + {itemid = 1681, droprate = 31}, -- Light Steel + {itemid = 1633, droprate = 71}, -- Clot Plasma + {itemid = 645, droprate = 31}, -- Darksteel Ore + {itemid = 664, droprate = 63}, -- Darksteel Sheet + {itemid = 646, droprate = 31}, -- Adaman Ore + {itemid = 821, droprate = 63}, -- Rainbow Thread + }, + }, + -- SW_Apollyon floor 4 + [4] = + { + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 0, droprate = 1000}, -- Nothing + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1941, droprate = 468}, -- THF + {itemid = 1947, droprate = 340}, -- BST + {itemid = 1933, droprate = 255}, -- MNK + {itemid = 1939, droprate = 191}, -- RDM + {itemid = 1943, droprate = 170}, -- PLD + {itemid = 2661, droprate = 340}, -- PUP + {itemid = 2715, droprate = 170}, -- DNC + }, + { + {itemid = 0, droprate = 400}, -- Nothing + {itemid = 1941, droprate = 468}, -- THF + {itemid = 1947, droprate = 340}, -- BST + {itemid = 1933, droprate = 255}, -- MNK + {itemid = 1939, droprate = 191}, -- RDM + {itemid = 1943, droprate = 170}, -- PLD + {itemid = 2661, droprate = 340}, -- PUP + {itemid = 2715, droprate = 170}, -- DNC + }, + { + {itemid = 1987, droprate = 1000}, -- Charcoal Chip + }, + { + {itemid = 2127, droprate = 59}, -- Metal Chip + {itemid = 0, droprate = 100}, -- Nothing + }, }, }, - -- NW_Apollyon floor 1 - [123] = + [1290] = { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1937, droprate = 25}, - {itemid = 2657, droprate = 175}, - {itemid = 1957, droprate = 100}, - {itemid = 1943, droprate = 25}, - {itemid = 1953, droprate = 250}, - {itemid = 2717, droprate = 75}, - {itemid = 1931, droprate = 225}, - {itemid = 1935, droprate = 50}, + -- NW_Apollyon floor 1 + [1] = + { + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 0, droprate = 100}, -- Nothing + {itemid = 1937, droprate = 25}, -- BLM + {itemid = 2657, droprate = 175}, -- BLU + {itemid = 1957, droprate = 100}, -- DRG + {itemid = 1943, droprate = 25}, -- PLD + {itemid = 1953, droprate = 250}, -- SAM + {itemid = 2717, droprate = 75}, -- SCH + {itemid = 1931, droprate = 225}, -- WAR + {itemid = 1935, droprate = 50}, -- WHM + }, + }, + -- NW_Apollyon floor 2 + [2] = + { + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 0, droprate = 100}, -- Nothing + {itemid = 1943, droprate = 235}, -- PLD + {itemid = 2659, droprate = 59}, -- COR + {itemid = 1945, droprate = 235}, -- DRK + {itemid = 1955, droprate = 147}, -- NIN + {itemid = 1951, droprate = 118}, -- RNG + {itemid = 1959, droprate = 176}, -- SMN + {itemid = 1935, droprate = 110}, -- WHM + }, + }, + -- NW_Apollyon floor 3 + [3] = + { + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + {itemid = 0, droprate = 1000}, -- Nothing + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + {itemid = 0, droprate = 1000}, -- Nothing + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + {itemid = 0, droprate = 1000}, -- Nothing + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + {itemid = 0, droprate = 1000}, -- Nothing + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + {itemid = 0, droprate = 1000}, -- Nothing + }, + { + {itemid = 1947, droprate = 133}, -- BST + {itemid = 1933, droprate = 133}, -- MNK + {itemid = 1943, droprate = 133}, -- PLD + {itemid = 2661, droprate = 133}, -- PUP + {itemid = 1939, droprate = 110}, -- RDM + {itemid = 1941, droprate = 400}, -- THF + }, + { + {itemid = 0, droprate = 400}, -- Nothing + {itemid = 646, droprate = 50}, -- Adaman Ore + {itemid = 1633, droprate = 50}, -- Clot Plasma + {itemid = 664, droprate = 50}, -- Darksteel Sheet + {itemid = 645, droprate = 50}, -- Darksteel Ore + {itemid = 1311, droprate = 50}, -- Oxblood + {itemid = 1681, droprate = 50}, -- Light Steel + {itemid = 821, droprate = 50}, -- Rainbow Thread + {itemid = 1883, droprate = 50}, -- Shell Powder + }, + { + {itemid = 0, droprate = 400}, -- Nothing + {itemid = 646, droprate = 50}, -- Adaman Ore + {itemid = 1633, droprate = 50}, -- Clot Plasma + {itemid = 664, droprate = 50}, -- Darksteel Sheet + {itemid = 645, droprate = 50}, -- Darksteel Ore + {itemid = 1311, droprate = 50}, -- Oxblood + {itemid = 1681, droprate = 50}, -- Light Steel + {itemid = 821, droprate = 50}, -- Rainbow Thread + {itemid = 1883, droprate = 50}, -- Shell Powder + }, + }, + -- NW_Apollyon floor 4 + [4] = + { + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + {itemid = 0, droprate = 1000}, -- Nothing + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + {itemid = 0, droprate = 1000}, -- Nothing + }, + { + {itemid = 0, droprate = 100}, -- Nothing + {itemid = 1937, droprate = 80}, -- BLM + {itemid = 2657, droprate = 70}, -- BLU + {itemid = 1949, droprate = 48}, -- BRD + {itemid = 1947, droprate = 30}, -- BST + {itemid = 2659, droprate = 25}, -- COR + {itemid = 1957, droprate = 19}, -- DRG + {itemid = 1945, droprate = 48}, -- DRK + {itemid = 1933, droprate = 90}, -- MNK + {itemid = 1955, droprate = 100}, -- NIN + {itemid = 2661, droprate = 48}, -- PUP + {itemid = 1939, droprate = 136}, -- RDM + {itemid = 1951, droprate = 80}, -- RNG + {itemid = 1953, droprate = 110}, -- SAM + {itemid = 1959, droprate = 95}, -- SMN + {itemid = 2715, droprate = 123}, -- DNC + {itemid = 1935, droprate = 48}, -- WHM + }, + }, + -- NW_Apollyon floor 5 + [5] = + { + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1937, droprate = 109}, -- BLM + {itemid = 2657, droprate = 152}, -- BLU + {itemid = 1949, droprate = 283}, -- BRD + {itemid = 1947, droprate = 109}, -- BST + {itemid = 2659, droprate = 65}, -- COR + {itemid = 2715, droprate = 130}, -- DNC + {itemid = 1957, droprate = 65}, -- DRG + {itemid = 1945, droprate = 174}, -- DRK + {itemid = 1933, droprate = 130}, -- MNK + {itemid = 1955, droprate = 196}, -- NIN + {itemid = 1943, droprate = 174}, -- PLD + {itemid = 2661, droprate = 174}, -- PUP + {itemid = 1939, droprate = 109}, -- RDM + {itemid = 1951, droprate = 130}, -- RNG + {itemid = 1953, droprate = 304}, -- SAM + {itemid = 2717, droprate = 87}, -- SCH + {itemid = 1959, droprate = 217}, -- SMN + {itemid = 1941, droprate = 174}, -- THF + {itemid = 1931, droprate = 130}, -- WAR + {itemid = 1935, droprate = 109}, -- WHM + }, + { + {itemid = 1937, droprate = 109}, -- BLM + {itemid = 2657, droprate = 152}, -- BLU + {itemid = 1949, droprate = 283}, -- BRD + {itemid = 1947, droprate = 109}, -- BST + {itemid = 2659, droprate = 65}, -- COR + {itemid = 2715, droprate = 130}, -- DNC + {itemid = 1957, droprate = 65}, -- DRG + {itemid = 1945, droprate = 174}, -- DRK + {itemid = 1933, droprate = 130}, -- MNK + {itemid = 1955, droprate = 196}, -- NIN + {itemid = 1943, droprate = 174}, -- PLD + {itemid = 2661, droprate = 174}, -- PUP + {itemid = 1939, droprate = 109}, -- RDM + {itemid = 1951, droprate = 130}, -- RNG + {itemid = 1953, droprate = 304}, -- SAM + {itemid = 2717, droprate = 87}, -- SCH + {itemid = 1959, droprate = 217}, -- SMN + {itemid = 1941, droprate = 174}, -- THF + {itemid = 1931, droprate = 130}, -- WAR + {itemid = 1935, droprate = 109}, -- WHM + }, + { + {itemid = 0, droprate = 300}, -- Nothing + {itemid = 1937, droprate = 109}, -- BLM + {itemid = 2657, droprate = 152}, -- BLU + {itemid = 1949, droprate = 283}, -- BRD + {itemid = 1947, droprate = 109}, -- BST + {itemid = 2659, droprate = 65}, -- COR + {itemid = 2715, droprate = 130}, -- DNC + {itemid = 1957, droprate = 65}, -- DRG + {itemid = 1945, droprate = 174}, -- DRK + {itemid = 1933, droprate = 130}, -- MNK + {itemid = 1955, droprate = 196}, -- NIN + {itemid = 1943, droprate = 174}, -- PLD + {itemid = 2661, droprate = 174}, -- PUP + {itemid = 1939, droprate = 109}, -- RDM + {itemid = 1951, droprate = 130}, -- RNG + {itemid = 1953, droprate = 304}, -- SAM + {itemid = 2717, droprate = 87}, -- SCH + {itemid = 1959, droprate = 217}, -- SMN + {itemid = 1941, droprate = 174}, -- THF + {itemid = 1931, droprate = 130}, -- WAR + {itemid = 1935, droprate = 109}, -- WHM + }, + { + {itemid = 1988, droprate = 1000}, -- Magenta Chip + }, + { + {itemid = 2127, droprate = 59}, -- Metal Chip + {itemid = 0, droprate = 100}, -- Nothing + }, }, }, - -- NW_Apollyon floor 2 - [124] = + [1294] = { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1943, droprate = 235}, - {itemid = 2659, droprate = 59}, - {itemid = 1945, droprate = 235}, - {itemid = 1955, droprate = 147}, - {itemid = 1951, droprate = 118}, - {itemid = 1959, droprate = 176}, - {itemid = 1935, droprate = 110}, + -- CS_Apollyon + [1] = + { + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 0, droprate = 1000}, -- Nothing + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 0, droprate = 1000}, -- Nothing + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 2127, droprate = 59}, -- Metal Chip + {itemid = 0, droprate = 100}, -- Nothing + }, }, }, - -- NW_Apollyon floor 3 - [125] = + [1296] = { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1947, droprate = 133}, - {itemid = 1933, droprate = 133}, - {itemid = 1943, droprate = 133}, - {itemid = 2661, droprate = 133}, - {itemid = 1939, droprate = 110}, - {itemid = 1941, droprate = 400}, - }, - { - {itemid = 646, droprate = 50}, - {itemid = 1633, droprate = 50}, - {itemid = 664, droprate = 50}, - {itemid = 645, droprate = 50}, - {itemid = 1311, droprate = 50}, - {itemid = 1681, droprate = 50}, - {itemid = 821, droprate = 50}, - {itemid = 1883, droprate = 50}, + -- omega + [1] = + { + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 0, droprate = 1000}, -- Nothing + {itemid = 1875, droprate = 1000}, -- Ancient Beastcoin + }, + { + {itemid = 1925, droprate = 659}, -- Omega's Eye + {itemid = 1927, droprate = 394}, -- Omega's Foreleg + {itemid = 1928, droprate = 388}, -- Omega's Hinf Leg + {itemid = 1929, droprate = 404}, -- Omega's Tail + }, + { + {itemid = 1928, droprate = 394}, -- Omega's Hind Leg + {itemid = 1929, droprate = 402}, -- Omega's Tail + {itemid = 1925, droprate = 659}, -- Omega's Eye + {itemid = 1927, droprate = 383}, -- Omega's Foreleg + }, + { + {itemid = 0, droprate = 735}, -- Nothing + {itemid = 1926, droprate = 265}, -- Omega's Heart + }, }, }, - -- NW_Apollyon floor 4 - [126] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1937, droprate = 80}, - {itemid = 2657, droprate = 70}, - {itemid = 1949, droprate = 48}, - {itemid = 1947, droprate = 30}, - {itemid = 2659, droprate = 25}, - {itemid = 1957, droprate = 19}, - {itemid = 1945, droprate = 48}, - {itemid = 1933, droprate = 90}, - {itemid = 1955, droprate = 00}, - {itemid = 2661, droprate = 48}, - {itemid = 1939, droprate = 136}, - {itemid = 1951, droprate = 80}, - {itemid = 1953, droprate = 110}, - {itemid = 1959, droprate = 95}, - {itemid = 2715, droprate = 123}, - {itemid = 1935, droprate = 48}, - }, - }, - -- NW_Apollyon floor 5 - [127] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1937, droprate = 109}, - {itemid = 2657, droprate = 152}, - {itemid = 1949, droprate = 283}, - {itemid = 1947, droprate = 109}, - {itemid = 2659, droprate = 65}, - {itemid = 2715, droprate = 130}, - }, - { - {itemid = 1957, droprate = 65}, - {itemid = 1945, droprate = 174}, - {itemid = 1933, droprate = 130}, - {itemid = 1955, droprate = 196}, - {itemid = 1943, droprate = 174}, - {itemid = 2661, droprate = 174}, - {itemid = 1939, droprate = 109}, - }, - { - {itemid = 1951, droprate = 130}, - {itemid = 1953, droprate = 304}, - {itemid = 2717, droprate = 87}, - {itemid = 1959, droprate = 217}, - {itemid = 1941, droprate = 174}, - {itemid = 1931, droprate = 130}, - {itemid = 1935, droprate = 109}, - }, - { - {itemid = 1988, droprate = 1000}, - }, - { - {itemid = 2127, droprate = 59}, - {itemid = 1875, droprate = 100}, - }, - }, - -- omega - [128] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1925, droprate = 659}, - {itemid = 1927, droprate = 394}, - {itemid = 1928, droprate = 388}, - {itemid = 1929, droprate = 404}, - }, - { - {itemid = 1928, droprate = 394}, - {itemid = 1929, droprate = 402}, - {itemid = 1925, droprate = 659}, - {itemid = 1927, droprate = 383}, - }, - { - {itemid = 1926, droprate = 265}, - {itemid = 1875, droprate = 100}, - }, - }, - -- pod - [129] = - { - { - {itemid = 1933, droprate = 9}, - {itemid = 1931, droprate = 53}, - {itemid = 1959, droprate = 6}, - {itemid = 1935, droprate = 12}, - {itemid = 1945, droprate = 29}, - {itemid = 1957, droprate = 12}, - {itemid = 1949, droprate = 35}, - {itemid = 2659, droprate = 35}, - {itemid = 1939, droprate = 12}, - {itemid = 1951, droprate = 12}, - {itemid = 2661, droprate = 12}, - {itemid = 1937, droprate = 18}, - {itemid = 1955, droprate = 29}, - {itemid = 2717, droprate = 12}, - {itemid = 1947, droprate = 12}, - {itemid = 2657, droprate = 18}, - {itemid = 2715, droprate = 5}, - {itemid = 1953, droprate = 35}, - {itemid = 1941, droprate = 41}, - {itemid = 1943, droprate = 18}, - {itemid = 1987, droprate = 53}, - {itemid = 1988, droprate = 76}, - {itemid = 1909, droprate = 64}, - {itemid = 1910, droprate = 41}, - }, - { - {itemid = 646, droprate = 50}, - {itemid = 1633, droprate = 50}, - {itemid = 664, droprate = 50}, - {itemid = 645, droprate = 50}, - {itemid = 1311, droprate = 50}, - {itemid = 1681, droprate = 50}, - {itemid = 821, droprate = 50}, - {itemid = 1883, droprate = 50}, - }, - } } ------------------------------------ --- onTrade Action ------------------------------------ - function onTrade(player,npc,trade) end ------------------------------------ --- onTrigger Action ------------------------------------ - function onTrigger(player, npc) local battlefield = player:getBattlefield() - local CofferID = npc:getID() - local CofferType = 0 - local lootID = 0 - local InstanceRegion = 0 - local addtime = 0 - local DespawnOtherCoffer = false - local MimicID = 0 if not battlefield then - printf("Error: battlefield nil but we're opening a treasure box! "..player:getName()) - printf("Illegal CofferID: "..CofferID) return end - - for coffer = 1,#ARMOURY_CRATES_LIST_APOLLYON,2 do - if (ARMOURY_CRATES_LIST_APOLLYON[coffer]== CofferID-16932864) then - CofferType=ARMOURY_CRATES_LIST_APOLLYON[coffer+1][1] - InstanceRegion=ARMOURY_CRATES_LIST_APOLLYON[coffer+1][2] - addtime=ARMOURY_CRATES_LIST_APOLLYON[coffer+1][3] - DespawnOtherCoffer=ARMOURY_CRATES_LIST_APOLLYON[coffer+1][4] - MimicID=ARMOURY_CRATES_LIST_APOLLYON[coffer+1][5] - lootID=ARMOURY_CRATES_LIST_APOLLYON[coffer+1][6] + local crateID = npc:getID() + local model = npc:getModelId() + local X = npc:getXPos() + local Y = npc:getYPos() + local Z = npc:getZPos() + local bfid = battlefield:getID() + local hold = false + if npc:getAnimation() ~= 90 then + switch (bfid): caseof + { + [1290] = function() -- NW Apollyon Crate Handling + if crateID ~= ID.npc.APOLLYON_NW_CRATE[5] then + for i = 1, 4 do + for j = 1, 5 do + if crateID == ID.npc.APOLLYON_NW_CRATE[i][j] then + if model == 960 then + dsp.battlefield.HealPlayers(battlefield) + elseif model == 961 then + dsp.limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) + elseif model == 962 then + dsp.limbus.extendTimeLimit(battlefield, 15, dsp.zone.APOLLYON) + end + end + end + end + else + dsp.limbus.handleLootRolls(battlefield, loot[bfid][5], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + end + end, + [1291] = function() -- SW Apollyon Crate Handling + if crateID ~= ID.npc.APOLLYON_SW_CRATE[4] then + for i = 1, 3 do + if i == 3 then + local mimicSpawned = battlefield:getLocalVar("mimicSpawned") + if mimicSpawned ~= 7 then + local timePH = battlefield:getLocalVar("timePH") + local restorePH = battlefield:getLocalVar("restorePH") + local itemPH = battlefield:getLocalVar("itemPH") + for j = 0, 9 do + if crateID == ID.npc.APOLLYON_SW_CRATE[i]+j then + if crateID == restorePH then + dsp.battlefield.HealPlayers(battlefield) + elseif crateID == itemPH then + dsp.limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) + elseif crateID == timePH then + dsp.limbus.extendTimeLimit(battlefield, 15, dsp.zone.APOLLYON) + else + if mimicSpawned == 0 or mimicSpawned == 2 or mimicSpawned == 4 or mimicSpawned == 6 then + npc:setStatus(dsp.status.DISAPPEAR) + battlefield:setLocalVar("mimicSpawned", mimicSpawned+1) + GetMobByID(ID.mob.APOLLYON_SW_MOB[3]):setSpawn(X, Y, Z) + SpawnMob(ID.mob.APOLLYON_SW_MOB[3]):setPos(X, Y, Z) + GetMobByID(ID.mob.APOLLYON_SW_MOB[3]):updateClaim(player) + elseif mimicSpawned == 1 or mimicSpawned == 5 then + npc:setStatus(dsp.status.DISAPPEAR) + battlefield:setLocalVar("mimicSpawned", mimicSpawned+2) + GetMobByID(ID.mob.APOLLYON_SW_MOB[3]+1):setSpawn(X, Y, Z) + SpawnMob(ID.mob.APOLLYON_SW_MOB[3]+1):setPos(X, Y, Z) + GetMobByID(ID.mob.APOLLYON_SW_MOB[3]+1):updateClaim(player) + elseif mimicSpawned == 3 then + npc:setStatus(dsp.status.DISAPPEAR) + battlefield:setLocalVar("mimicSpawned", mimicSpawned+4) + GetMobByID(ID.mob.APOLLYON_SW_MOB[3]+2):setSpawn(X, Y, Z) + SpawnMob(ID.mob.APOLLYON_SW_MOB[3]+2):setPos(X, Y, Z) + GetMobByID(ID.mob.APOLLYON_SW_MOB[3]+2):updateClaim(player) + end + end + end + end + else + hold = true + end + else + for j = 0, 2 do + if crateID == ID.npc.APOLLYON_SW_CRATE[i]+j then + if j ~= 0 then GetNPCByID(ID.npc.APOLLYON_SW_CRATE[i]):setStatus(dsp.status.DISAPPEAR) end + if j ~= 1 then GetNPCByID(ID.npc.APOLLYON_SW_CRATE[i]+1):setStatus(dsp.status.DISAPPEAR) end + if j ~= 2 then GetNPCByID(ID.npc.APOLLYON_SW_CRATE[i]+2):setStatus(dsp.status.DISAPPEAR) end + if model == 960 then + dsp.battlefield.HealPlayers(battlefield) + elseif model == 961 then + dsp.limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) + elseif model == 962 then + dsp.limbus.extendTimeLimit(battlefield, 15, dsp.zone.APOLLYON) + end + end + end + end + end + else + dsp.limbus.handleLootRolls(battlefield, loot[bfid][4], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + end + end, + [1292] = function() -- NE Apollyon Crate Handling + if crateID ~= ID.npc.APOLLYON_NE_CRATE[5] then + for i = 1, 4 do + for j = 1, 5 do + if crateID == ID.npc.APOLLYON_NE_CRATE[i][j] then + if model == 960 then + dsp.battlefield.HealPlayers(battlefield) + elseif model == 961 then + dsp.limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) + elseif model == 962 then + dsp.limbus.extendTimeLimit(battlefield, 15, dsp.zone.APOLLYON) + end + end + end + end + else + dsp.limbus.handleLootRolls(battlefield, loot[bfid][5], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + end + end, + [1293] = function() -- SE Apollyon Crate Handling + if crateID ~= ID.npc.APOLLYON_SE_CRATE[4] then + for i = 1, 3 do + for j = 0, 2 do + if crateID == ID.npc.APOLLYON_SE_CRATE[i]+j then + if model == 960 then + dsp.battlefield.HealPlayers(battlefield) + elseif model == 961 then + dsp.limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) + elseif model == 962 then + dsp.limbus.extendTimeLimit(battlefield, 15, dsp.zone.APOLLYON) + end + end + end + end + else + for i = 1, 8 do + GetMobByID(ID.mob.APOLLYON_SE_MOB[4]+i):setStatus(dsp.status.DISAPPEAR) + end + dsp.limbus.handleLootRolls(battlefield, loot[bfid][4], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + end + end, + [1294] = function() -- CS Apollyon Crate Handling + if crateID ~= ID.npc.APOLLYON_CS_CRATE then + dsp.limbus.extendTimeLimit(battlefield, 15, dsp.zone.APOLLYON) + else + dsp.limbus.handleLootRolls(battlefield, loot[bfid][1], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + end + end, + [1296] = function() -- Central Apollyon Crate Handling + dsp.limbus.handleLootRolls(battlefield, loot[bfid][1], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + end, + } + if not hold then + npc:setAnimation(90) + npc:timer(15000, function(npc) + npc:setStatus(dsp.status.DISAPPEAR) + npc:timer(500, function(npc) + npc:setAnimation(0) + end) + end) end end - --- printf("CofferID : %u",CofferID-16932864) --- printf("Coffertype %u",CofferType) --- printf("InstanceRegion: %u",InstanceRegion) --- printf("addtime: %u",addtime) --- printf("MimicID: %u",MimicID) --- printf("lootID: %u",lootID) - - if (CofferType == cTIME) then - dsp.battlefield.ExtendTimeLimit(battlefield, addtime) - elseif (CofferType == cITEM) then - battlefield:setLocalVar("loot", 1) - battlefield:spawnLoot(npc) - dsp.battlefield.HandleLootRolls(battlefield, loot[lootID], nil, npc) - elseif (CofferType == cRESTORE) then - dsp.battlefield.HealPlayers(battlefield) - elseif (CofferType == cMIMIC) then - if (CofferID==16932864+210) then - GetNPCByID(16932864+195):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()) - GetNPCByID(16932864+195):setStatus(dsp.status.NORMAL) - elseif (CofferID==16932864+211) then - GetMobByID(16932896):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()) - GetMobByID(16932896):setSpawn(npc:getXPos(),npc:getYPos(),npc:getZPos()) - GetMobByID(16932896):updateClaim(player) - elseif (CofferID==16932864+212) then - GetNPCByID(16932864+196):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()) - GetNPCByID(16932864+196):setStatus(dsp.status.NORMAL) - elseif (CofferID==16932864+213) then - GetMobByID(16932897):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()) - GetMobByID(16932897):setSpawn(npc:getXPos(),npc:getYPos(),npc:getZPos()) - GetMobByID(16932897):updateClaim(player) - elseif (CofferID==16932864+214) then - GetNPCByID(16932864+197):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()) - GetNPCByID(16932864+197):setStatus(dsp.status.NORMAL) - elseif (CofferID==16932864+215) then - GetMobByID(16932898):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()) - GetMobByID(16932898):setSpawn(npc:getXPos(),npc:getYPos(),npc:getZPos()) - GetMobByID(16932898):updateClaim(player) - elseif (CofferID==16932864+216) then - GetMobByID(16932899):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()) - GetMobByID(16932899):setSpawn(npc:getXPos(),npc:getYPos(),npc:getZPos()) - GetMobByID(16932899):updateClaim(player) - end - end - - if (DespawnOtherCoffer==true) then - HideArmouryCrates(InstanceRegion,APOLLYON_SE_NE) - end - - npc:setStatus(dsp.status.DISAPPEAR) end ------------------------------------ --- onEventUpdate ------------------------------------ - -function onEventUpdate(player,csid,option) +function onEventUpdate(player, csid, option) end ------------------------------------ --- onEventFinish Action ------------------------------------ - -function onEventFinish(player,csid,option) +function onEventFinish(player, csid, option) end diff --git a/scripts/zones/Apollyon/npcs/Radiant_Aureole.lua b/scripts/zones/Apollyon/npcs/Radiant_Aureole.lua deleted file mode 100644 index b36f91caf18..00000000000 --- a/scripts/zones/Apollyon/npcs/Radiant_Aureole.lua +++ /dev/null @@ -1,149 +0,0 @@ ------------------------------------ --- Area: Appolyon --- NPC: Radiant_Aureole --- !pos ------------------------------------ -require("scripts/globals/limbus"); -require("scripts/globals/keyitems"); - -local ID = require("scripts/zones/Apollyon/IDs"); -function onTrade(player,npc,trade) -local count = trade:getItemCount(); -if (player:hasKeyItem(dsp.ki.COSMOCLEANSE)) then - if (count==1 and trade:hasItemQty(2127,1)) then-- metal chip - player:setCharVar("Limbus_Trade_Item",32); - player:tradeComplete(); - player:messageSpecial(ID.text.CHIP_TRADE); - player:startEvent(32000,0,0,0,32,0,0,0,0); - player:setCharVar("limbusbitmap",32); - elseif (count==4 and trade:hasItemQty(1988,1) and trade:hasItemQty(1987,1) and trade:hasItemQty(1910,1) and trade:hasItemQty(1909,1)) then - player:setCharVar("Limbus_Trade_Item",16); - player:tradeComplete(); - player:messageSpecial(ID.text.CHIP_TRADE); - player:startEvent(32000,0,0,0,16,0,0,0,0); - player:setCharVar("limbusbitmap",16); - end - else - player:messageSpecial(ID.text.CONDITION_FOR_LIMBUS); - print("error player don't have cosmo clean"); - end - -end; - -function onTrigger(player,npc) - local instancelist ={}; - local limbusbitmap = 0 ; - local AllowLimbusToPlayer = true ; - local currentlimbus= TryTobackOnCurrentLimbus(player); - - if ( npc:getID() == 16933242) then - instancelist = APOLLYON_SE_NE_BCNM_LIST; - else - instancelist = APOLLYON_NW_SW_BCNM_LIST; - end -printf("currentlimbus: %u",currentlimbus); - - - if (player:hasKeyItem(dsp.ki.COSMOCLEANSE)) then - if (player:hasStatusEffect(dsp.effect.BATTLEFIELD) == false) then - local LimbusTradeItem = player:getCharVar("Limbus_Trade_Item"); - for nt = 1,#instancelist,2 do - -- printf("list d'instance: %u",instancelist[nt]); - if (instancelist[nt+1][1]==true and player:hasKeyItem(dsp.ki.WHITE_CARD)) then - -- print("player_have_white_card"); - limbusbitmap = limbusbitmap + instancelist[nt+1][4]; - -- printf("bitmapadd: %u",instancelist[nt+1][4]); - end - if (instancelist[nt+1][2]==true and player:hasKeyItem(dsp.ki.RED_CARD)) then - -- print("player_have_red_card"); - limbusbitmap = limbusbitmap + instancelist[nt+1][4]; - -- printf("bitmapadd: %u",instancelist[nt+1][4]); - end - if (instancelist[nt+1][3]==true and player:hasKeyItem(dsp.ki.BLACK_CARD)) then - -- print("player_have_black_card"); - limbusbitmap = limbusbitmap + instancelist[nt+1][4]; - -- printf("bitmapadd: %u",instancelist[nt+1][4]); - end - end - limbusbitmap= limbusbitmap + LimbusTradeItem; - ----- /////////////////////////////////////////////on doit ajouter le mipmap pour l'item trade ici - else - local status = player:getStatusEffect(dsp.effect.BATTLEFIELD); - local playerbcnmid = status:getPower(); - -- check if the player has the key item for the current battlefield - for nt = 1,#instancelist,2 do - -- printf("list d'instance: %u",instancelist[nt]); - if (instancelist[nt] == playerbcnmid) then - if (instancelist[nt+1][1]== true and player:hasKeyItem(dsp.ki.WHITE_CARD) == false) then - AllowLimbusToPlayer = false; - end - if (instancelist[nt+1][2]== true and player:hasKeyItem(dsp.ki.RED_CARD) == false ) then - AllowLimbusToPlayer = false; - end - if (instancelist[nt+1][3]== true and player:hasKeyItem(dsp.ki.BLACK_CARD) == false ) then - AllowLimbusToPlayer = false; - end - if (AllowLimbusToPlayer == true) then --player have the correct key item for the current battflield - limbusbitmap = instancelist[nt+1][4]; - end - - end - end - - - - end - - - - - if (limbusbitmap~= 0 ) then - player:startEvent(32000,0,0,0,limbusbitmap,0,0,0,0); - player:setCharVar("limbusbitmap",limbusbitmap); - else - player:messageSpecial(ID.text.CONDITION_FOR_LIMBUS); - print("player need a card for basic limbus"); - end - - elseif (currentlimbus~=0) then - for nt = 1,#instancelist,2 do - -- printf("list d'instance: %u",instancelist[nt]); - if (instancelist[nt] == currentlimbus) then - limbusbitmap = instancelist[nt+1][4]; - end - end - player:startEvent(32000,0,0,0,limbusbitmap,0,0,0,0); - player:setCharVar("limbusbitmap",limbusbitmap); - - else - player:messageSpecial(ID.text.CONDITION_FOR_LIMBUS); - print("error player don't have cosmo clean"); - end - -end; - -function onEventUpdate(player,csid,option) - - - if (csid == 32000) then - if (player:hasStatusEffect(dsp.effect.BATTLEFIELD) == false) then - ResetPlayerLimbusVariable(player); - player:setCharVar("characterLimbusKey",0); - else - local status = player:getStatusEffect(dsp.effect.BATTLEFIELD); - player:setCharVar("LimbusID",status:getPower()); - player:setCharVar("characterLimbusKey",GetLimbusKeyFromInstance(status:getPower())); - end - player:updateEvent(2,player:getCharVar("limbusbitmap"),0,1,1,0); - player:setCharVar("limbusbitmap",0); - - - end - -end; - -function onEventFinish(player,csid,option) - if (csid == 32000) then - - end -end; \ No newline at end of file diff --git a/scripts/zones/Apollyon/npcs/Sentinel_Column.lua b/scripts/zones/Apollyon/npcs/Sentinel_Column.lua index ac5e68b7abd..fcc2e250671 100644 --- a/scripts/zones/Apollyon/npcs/Sentinel_Column.lua +++ b/scripts/zones/Apollyon/npcs/Sentinel_Column.lua @@ -3,42 +3,30 @@ -- NPC: Sentinel_Column -- !pos 643 0 -609 38 ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ --- onTrade Action ------------------------------------ +function onTrade(player, npc, trade) + if npcUtil.tradeHas(trade, 2127) then + player:startEvent(221, 65) + elseif npcUtil.tradeHas(trade, {1909, 1910, 1987, 1988}) then + player:startEvent(221, 33) + end +end -function onTrade(player,npc,trade) -end; +function onTrigger(player, npc) + player:startEvent(221, 31) +end ------------------------------------ --- onTrigger Action ------------------------------------ - -function onTrigger(player,npc) - player:startEvent(221, 127); -end; - ------------------------------------ --- onEventUpdate ------------------------------------ - -function onEventUpdate(player,csid,option) +function onEventUpdate(player, csid, option) player:updateEvent( 0, - player:getBattlefieldTimeLeft(1), -- SW Apollyon - player:getBattlefieldTimeLeft(2), -- NW Apollyon - player:getBattlefieldTimeLeft(3), -- SE Apollyon - player:getBattlefieldTimeLeft(4), -- NE Apollyon - player:getBattlefieldTimeLeft(5), -- Central Apollyon - player:getBattlefieldTimeLeft(6) -- CS Apollyon - ); -end; - ------------------------------------ --- onEventFinish ------------------------------------ - -function onEventFinish(player,csid,option) -end; + GetServerVariable("[SW_Apollyon]Time"), -- SW Apollyon + GetServerVariable("[NW_Apollyon]Time"), -- NW Apollyon + GetServerVariable("[SE_Apollyon]Time"), -- SE Apollyon + GetServerVariable("[NE_Apollyon]Time"), -- NE Apollyon + GetServerVariable("[Central_Apollyon]Time"), -- Central Apollyon + GetServerVariable("[CS_Apollyon]Time") -- CS Apollyon + ) +end + +function onEventFinish(player, csid, option) +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/npcs/_127.lua b/scripts/zones/Apollyon/npcs/_127.lua new file mode 100644 index 00000000000..94e8a2c9e73 --- /dev/null +++ b/scripts/zones/Apollyon/npcs/_127.lua @@ -0,0 +1,41 @@ +----------------------------------- +-- Area: Appolyon +-- NPC: Radiant_Aureole +-- !pos +----------------------------------- +require("scripts/globals/bcnm") +local ID = require("scripts/zones/Apollyon/IDs") + +function onTrade(player, npc, trade) + if player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.RED_CARD) then + player:setCharVar("ApollyonEntrance", 0) + TradeBCNM(player, npc, trade) + else + player:messageSpecial(ID.text.NO_KEY) + end +end + +function onTrigger(player, npc) + if player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.RED_CARD) then + player:setCharVar("ApollyonEntrance", 0) + EventTriggerBCNM(player, npc) + else + player:messageSpecial(ID.text.NO_KEY) + end +end + +function onEventUpdate(player, csid, option, extras) + if EventUpdateBCNM(player, csid, option, extras) then + for _, member in pairs(player:getAlliance()) do + if member:getZoneID() == player:getZoneID() and not member:hasStatusEffect(dsp.effect.BATTLEFIELD) and not member:getBattlefield() then + member:messageSpecial(ID.text.HUM) + end + end + end +end + +function onEventFinish(player, csid, option) + if not EventFinishBCNM(player, csid, option) then + player:setCharVar("ApollyonEntrance", 0) + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/npcs/_12i.lua b/scripts/zones/Apollyon/npcs/_12i.lua new file mode 100644 index 00000000000..b15088d95bb --- /dev/null +++ b/scripts/zones/Apollyon/npcs/_12i.lua @@ -0,0 +1,41 @@ +----------------------------------- +-- Area: Appolyon +-- NPC: Radiant_Aureole +-- !pos +----------------------------------- +require("scripts/globals/bcnm") +local ID = require("scripts/zones/Apollyon/IDs") + +function onTrade(player, npc, trade) + if player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.BLACK_CARD) then + player:setCharVar("ApollyonEntrance", 1) + TradeBCNM(player, npc, trade) + else + player:messageSpecial(ID.text.NO_KEY) + end +end + +function onTrigger(player, npc) + if player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.BLACK_CARD) then + player:setCharVar("ApollyonEntrance", 1) + EventTriggerBCNM(player, npc) + else + player:messageSpecial(ID.text.NO_KEY) + end +end + +function onEventUpdate(player, csid, option, extras) + if EventUpdateBCNM(player, csid, option, extras) then + for _, member in pairs(player:getAlliance()) do + if member:getZoneID() == player:getZoneID() and not member:hasStatusEffect(dsp.effect.BATTLEFIELD) and not member:getBattlefield() then + member:messageSpecial(ID.text.HUM) + end + end + end +end + +function onEventFinish(player, csid, option) + if not EventFinishBCNM(player, csid, option) then + player:setCharVar("ApollyonEntrance", 0) + end +end \ No newline at end of file diff --git a/scripts/zones/LaLoff_Amphitheater/IDs.lua b/scripts/zones/LaLoff_Amphitheater/IDs.lua index e44934f9185..1703fd0e203 100644 --- a/scripts/zones/LaLoff_Amphitheater/IDs.lua +++ b/scripts/zones/LaLoff_Amphitheater/IDs.lua @@ -21,7 +21,7 @@ zones[dsp.zone.LALOFF_AMPHITHEATER] = }, npc = { - SHIMMERING_CIRCLE_OFFSET = 17514791, -- used by scripts/globals/bcnm.lua + ENTRANCE_OFFSET = 17514791, -- used by scripts/globals/bcnm.lua }, } diff --git a/scripts/zones/LaLoff_Amphitheater/npcs/qm1_1.lua b/scripts/zones/LaLoff_Amphitheater/npcs/qm1_1.lua index 7325b3c0e5d..4f4251ec384 100644 --- a/scripts/zones/LaLoff_Amphitheater/npcs/qm1_1.lua +++ b/scripts/zones/LaLoff_Amphitheater/npcs/qm1_1.lua @@ -3,20 +3,20 @@ -- NPC: Shimmering Circle (BCNM Entrances) ------------------------------------- -require("scripts/globals/bcnm"); +require("scripts/globals/bcnm") -function onTrade(player,npc,trade) - TradeBCNM(player,npc,trade); -end; +function onTrade(player, npc, trade) + TradeBCNM(player, npc, trade) +end -function onTrigger(player,npc) - EventTriggerBCNM(player,npc); -end; +function onTrigger(player, npc) + EventTriggerBCNM(player, npc) +end -function onEventUpdate(player,csid,option,extras) - EventUpdateBCNM(player,csid,option,extras,1); -end; +function onEventUpdate(player, csid, option, extras) + EventUpdateBCNM(player, csid, option, extras) +end -function onEventFinish(player,csid,option) - EventFinishBCNM(player,csid,option); -end; +function onEventFinish(player, csid, option) + EventFinishBCNM(player, csid, option) +end diff --git a/scripts/zones/LaLoff_Amphitheater/npcs/qm1_2.lua b/scripts/zones/LaLoff_Amphitheater/npcs/qm1_2.lua index ce5e288a501..4f4251ec384 100644 --- a/scripts/zones/LaLoff_Amphitheater/npcs/qm1_2.lua +++ b/scripts/zones/LaLoff_Amphitheater/npcs/qm1_2.lua @@ -3,20 +3,20 @@ -- NPC: Shimmering Circle (BCNM Entrances) ------------------------------------- -require("scripts/globals/bcnm"); +require("scripts/globals/bcnm") -function onTrade(player,npc,trade) - TradeBCNM(player,npc,trade); -end; +function onTrade(player, npc, trade) + TradeBCNM(player, npc, trade) +end -function onTrigger(player,npc) - EventTriggerBCNM(player,npc); -end; +function onTrigger(player, npc) + EventTriggerBCNM(player, npc) +end -function onEventUpdate(player,csid,option,extras) - EventUpdateBCNM(player,csid,option,extras,2); -end; +function onEventUpdate(player, csid, option, extras) + EventUpdateBCNM(player, csid, option, extras) +end -function onEventFinish(player,csid,option) - EventFinishBCNM(player,csid,option); -end; +function onEventFinish(player, csid, option) + EventFinishBCNM(player, csid, option) +end diff --git a/scripts/zones/LaLoff_Amphitheater/npcs/qm1_3.lua b/scripts/zones/LaLoff_Amphitheater/npcs/qm1_3.lua index 92cf4c9a7d3..4f4251ec384 100644 --- a/scripts/zones/LaLoff_Amphitheater/npcs/qm1_3.lua +++ b/scripts/zones/LaLoff_Amphitheater/npcs/qm1_3.lua @@ -3,20 +3,20 @@ -- NPC: Shimmering Circle (BCNM Entrances) ------------------------------------- -require("scripts/globals/bcnm"); +require("scripts/globals/bcnm") -function onTrade(player,npc,trade) - TradeBCNM(player,npc,trade); -end; +function onTrade(player, npc, trade) + TradeBCNM(player, npc, trade) +end -function onTrigger(player,npc) - EventTriggerBCNM(player,npc); -end; +function onTrigger(player, npc) + EventTriggerBCNM(player, npc) +end -function onEventUpdate(player,csid,option,extras) - EventUpdateBCNM(player,csid,option,extras,3); -end; +function onEventUpdate(player, csid, option, extras) + EventUpdateBCNM(player, csid, option, extras) +end -function onEventFinish(player,csid,option) - EventFinishBCNM(player,csid,option); -end; +function onEventFinish(player, csid, option) + EventFinishBCNM(player, csid, option) +end diff --git a/scripts/zones/LaLoff_Amphitheater/npcs/qm1_4.lua b/scripts/zones/LaLoff_Amphitheater/npcs/qm1_4.lua index c51abba1f5b..4f4251ec384 100644 --- a/scripts/zones/LaLoff_Amphitheater/npcs/qm1_4.lua +++ b/scripts/zones/LaLoff_Amphitheater/npcs/qm1_4.lua @@ -3,20 +3,20 @@ -- NPC: Shimmering Circle (BCNM Entrances) ------------------------------------- -require("scripts/globals/bcnm"); +require("scripts/globals/bcnm") -function onTrade(player,npc,trade) - TradeBCNM(player,npc,trade); -end; +function onTrade(player, npc, trade) + TradeBCNM(player, npc, trade) +end -function onTrigger(player,npc) - EventTriggerBCNM(player,npc); -end; +function onTrigger(player, npc) + EventTriggerBCNM(player, npc) +end -function onEventUpdate(player,csid,option,extras) - EventUpdateBCNM(player,csid,option,extras,4); -end; +function onEventUpdate(player, csid, option, extras) + EventUpdateBCNM(player, csid, option, extras) +end -function onEventFinish(player,csid,option) - EventFinishBCNM(player,csid,option); -end; +function onEventFinish(player, csid, option) + EventFinishBCNM(player, csid, option) +end diff --git a/scripts/zones/LaLoff_Amphitheater/npcs/qm1_5.lua b/scripts/zones/LaLoff_Amphitheater/npcs/qm1_5.lua index 4c0dce0353d..4f4251ec384 100644 --- a/scripts/zones/LaLoff_Amphitheater/npcs/qm1_5.lua +++ b/scripts/zones/LaLoff_Amphitheater/npcs/qm1_5.lua @@ -3,20 +3,20 @@ -- NPC: Shimmering Circle (BCNM Entrances) ------------------------------------- -require("scripts/globals/bcnm"); +require("scripts/globals/bcnm") -function onTrade(player,npc,trade) - TradeBCNM(player,npc,trade); -end; +function onTrade(player, npc, trade) + TradeBCNM(player, npc, trade) +end -function onTrigger(player,npc) - EventTriggerBCNM(player,npc); -end; +function onTrigger(player, npc) + EventTriggerBCNM(player, npc) +end -function onEventUpdate(player,csid,option,extras) - EventUpdateBCNM(player,csid,option,extras,5); -end; +function onEventUpdate(player, csid, option, extras) + EventUpdateBCNM(player, csid, option, extras) +end -function onEventFinish(player,csid,option) - EventFinishBCNM(player,csid,option); -end; +function onEventFinish(player, csid, option) + EventFinishBCNM(player, csid, option) +end diff --git a/scripts/zones/Port_Jeuno/npcs/Sagheera.lua b/scripts/zones/Port_Jeuno/npcs/Sagheera.lua index c5c15743f1e..5e3525442bf 100644 --- a/scripts/zones/Port_Jeuno/npcs/Sagheera.lua +++ b/scripts/zones/Port_Jeuno/npcs/Sagheera.lua @@ -389,7 +389,6 @@ function onEventFinish(player,csid,option) local cosmoTime = getCosmoCleanseTime(player) if cosmoTime == COSMO_READY and player:delGil(15000) then npcUtil.giveKeyItem(player, dsp.ki.COSMOCLEANSE) - player:setCharVar("Cosmo_Cleanse_TIME", os.time()) end -- purchase item using ancient beastcoins diff --git a/scripts/zones/Temenos/IDs.lua b/scripts/zones/Temenos/IDs.lua index efcbba28628..f9d152d67a7 100644 --- a/scripts/zones/Temenos/IDs.lua +++ b/scripts/zones/Temenos/IDs.lua @@ -15,14 +15,160 @@ zones[dsp.zone.TEMENOS] = GIL_OBTAINED = 6389, -- Obtained gil. KEYITEM_OBTAINED = 6391, -- Obtained key item: . CHIP_TRADE_T = 7028, -- What do you wish to do? Show me the cutscene again. Skip the cutscene and continue. + TIME_EXCEEDED = 7054, -- You have exceeded the time limit. Exiting Limbus now. + WIPE_KICK = 7354, -- All party members in Limbus have fallen in battle. Exiting now. + WIPE = 7364, -- All party members in Limbus have fallen in battle. Exiting in minutes. CONDITION_FOR_LIMBUS_T = 7055, -- You have clearance to enter Limbus, but cannot enter while you or a party member is engaged in battle. + HUM = 7071, -- You hear a faint hum. + NO_KEY = 7076, -- There is a disc here inscribed ... + TIME_EXTENDED = 7372, -- Your time in Limbus has been extended... + TIME_LEFT = 7373, -- You have minutes left in Limbus. CONQUEST_BASE = 7375, -- Tallying conquest results... + CITADEL_BASE = 7548, + CANNOT_OPEN_CHEST = 7556, -- You cannot open the treasure chest now. + GATE_OPEN = 7557, -- The gate opens... }, mob = { + TEMENOS_N_MOB = + { + 16928772, + 16928781, + 16928788, + 16928797, + 16928809, + 16928816, + 16928831, + }, + TEMENOS_E_MOB = + { + 16928840, + 16928849, + 16928858, + 16928867, + 16928876, + 16928885, + 16928892, + }, + TEMENOS_W_MOB = + { + 16928898, + 16928910, + 16928922, + 16928931, + 16928943, + 16928952, + 16928959, + }, + TEMENOS_C_MOB = + { + 16929046, + 16929030, + 16929005, + 16928966, + 16929053, + } }, npc = { + TEMENOS_N_GATE = + { + 16929197, + 16929198, + 16929199, + 16929200, + 16929201, + 16929202, + 16929203, + }, + TEMENOS_E_GATE = + { + 16929204, + 16929205, + 16929206, + 16929207, + 16929208, + 16929209, + 16929210, + }, + TEMENOS_W_GATE = + { + 16929211, + 16929212, + 16929213, + 16929214, + 16929215, + 16929216, + 16929217, + }, + TEMENOS_C_GATE = + { + 16929219, + 16929220, + 16929221, + 16929222, + 16929218, + }, + TEMENOS_N_CRATE = + { + 16928769, + 16928778, + 16928785, + 16928794, + 16928806, + 16928813, + 16928830, + }, + TEMENOS_E_CRATE = + { + 16928836, + 16928845, + 16928854, + 16928863, + 16928872, + 16928881, + 16928890, + }, + TEMENOS_W_CRATE = + { + 16928895, + 16928907, + 16928919, + 16928928, + 16928940, + 16928949, + 16928958, + }, + TEMENOS_C_CRATE = + { + 16929045, + 16929029, + 16929004, + [4] = + { + [1] = 16928965, -- boss + [16928967] = 1, -- NE corner + [16928968] = 1, -- SE corner + [16928969] = 1, -- SW corner + [16928970] = 1, -- NW corner + [16928971] = 2, -- center + [16928972] = 2, -- E + [16928973] = 2, -- E + [16928974] = 2, -- E + [16928975] = 2, -- W + [16928976] = 2, -- W + [16928977] = 2, -- W + [16928978] = 3, -- SW + [16928979] = 3, -- SW + [16928980] = 3, -- SW + [16928981] = 3, -- SW + [16928982] = 3, -- SE + [16928983] = 3, -- SE + [16928984] = 3, -- SE + [16928985] = 3, -- SE + }, + [5] = 16929052, -- basement 1 boss + }, }, } diff --git a/scripts/zones/Temenos/Zone.lua b/scripts/zones/Temenos/Zone.lua index d9ff685cbd5..86d364caca0 100644 --- a/scripts/zones/Temenos/Zone.lua +++ b/scripts/zones/Temenos/Zone.lua @@ -3,123 +3,85 @@ -- Zone: Temenos (37) -- ----------------------------------- -local ID = require("scripts/zones/Temenos/IDs"); -require("scripts/globals/conquest"); -require("scripts/globals/settings"); -require("scripts/globals/limbus"); ------------------------------------ - ------------------------------------ --- onInitialize +local ID = require("scripts/zones/Temenos/IDs") +require("scripts/globals/conquest") +require("scripts/globals/settings") +require("scripts/globals/status") ----------------------------------- function onInitialize(zone) - SetServerVariable("[Temenos_W_Tower]UniqueID",0); - SetServerVariable("[Temenos_N_Tower]UniqueID",0); - SetServerVariable("[Temenos_E_Tower]UniqueID",0); - SetServerVariable("[C_Temenos_Base]UniqueID",0); - SetServerVariable("[C_Temenos_Base_II]UniqueID",0); - SetServerVariable("[C_Temenos_1st]UniqueID",0); - SetServerVariable("[C_Temenos_2nd]UniqueID",0); - SetServerVariable("[C_Temenos_3rd]UniqueID",0); - SetServerVariable("[C_Temenos_4th]UniqueID",0); - SetServerVariable("[C_Temenos_4th_II]UniqueID",0); - - zone:registerRegion(1, 378,70,-186 ,382,72,-182); -- 'Temenos_Western_Tower' 380 71 -184 - zone:registerRegion(2, 378,70,373 ,382,72,377); -- 'Temenos_Northern_Tower' 380 71 375 - zone:registerRegion(3, 378,-4,93 ,382,4,98); -- 'Temenos_Eastern_Tower' 380 -2 96 - zone:registerRegion(4, 578,-4,-546 ,582,4,-542); -- 'Central_Temenos_Basement' 580 -2 -544 - zone:registerRegion(5, 258,-164,-506 ,262,-160,-502); -- 'Central_Temenos_1st_Floor' 260 -162 -504 - zone:registerRegion(6, 18,-4,-546 ,22,4,-542); -- 'Central_Temenos_2nd_Floor' 20 -2 -544 - zone:registerRegion(7, -298,-164,-502 ,-294,-160,-498); -- 'Central_Temenos_3rd_Floor' -296 -162 -500 - zone:registerRegion(8, -542,-4,-586 ,-538,4,-582); -- 'Central_Temenos_4th_Floor' -540 -2 -584 -end; + SetServerVariable("[Temenos_Northern_Tower]Time", 0) + SetServerVariable("[Temenos_Eastern_Tower]Time", 0) + SetServerVariable("[Temenos_Western_Tower]Time", 0) + SetServerVariable("[Central_Temenos_4th_Floor]Time", 0) + SetServerVariable("[Central_Temenos_3rd_Floor]Time", 0) + SetServerVariable("[Central_Temenos_2nd_Floor]Time", 0) + SetServerVariable("[Central_Temenos_1st_Floor]Time", 0) + SetServerVariable("[Central_Temenos_Basement]Time", 0) + -- Temenos North Elevators + zone:registerRegion(1, 340.000, 5, 376.000, 0,0,0) -- F1 -> F2 + zone:registerRegion(2, 220.000, 5, 376.000, 0,0,0) -- F2 -> F3 + zone:registerRegion(3, 20.000, 5, 376.000, 0,0,0) -- F3 -> F4 + zone:registerRegion(4, -100.000, 5, 376.000, 0,0,0) -- F4 -> F5 + zone:registerRegion(5, -300.000, 5, 376.000, 0,0,0) -- F5 -> F6 + zone:registerRegion(6, -420.000, 5, 376.000, 0,0,0) -- F6 -> F7 + zone:registerRegion(7, -620.000, 5, 376.000, 0,0,0) -- F7 -> Entrance + -- Temenos East Elevators + zone:registerRegion(8, 340.000, 5, 96.000, 0,0,0) -- F1 -> F2 + zone:registerRegion(9, 220.000, 5, 96.000, 0,0,0) -- F2 -> F3 + zone:registerRegion(10, 20.000, 5, 96.000, 0,0,0) -- F3 -> F4 + zone:registerRegion(11, -100.000, 5, 96.000, 0,0,0) -- F4 -> F5 + zone:registerRegion(12, -300.000, 5, 96.000, 0,0,0) -- F5 -> F6 + zone:registerRegion(13, -420.000, 5, 96.000, 0,0,0) -- F6 -> F7 + zone:registerRegion(14, -620.000, 5, 96.000, 0,0,0) -- F7 -> Entrance + -- Temenos West Elevators + zone:registerRegion(15, 340.000, 5, -184.000, 0,0,0) -- F1 -> F2 + zone:registerRegion(16, 220.000, 5, -184.000, 0,0,0) -- F2 -> F3 + zone:registerRegion(17, 20.000, 5, -184.000, 0,0,0) -- F3 -> F4 + zone:registerRegion(18, -100.000, 5, -184.000, 0,0,0) -- F4 -> F5 + zone:registerRegion(19, -300.000, 5, -184.000, 0,0,0) -- F5 -> F6 + zone:registerRegion(20, -420.000, 5, -184.000, 0,0,0) -- F6 -> F7 + zone:registerRegion(21, -620.000, 5, -184.000, 0,0,0) -- F7 -> Entrance + -- Temenos Central Elevators + zone:registerRegion(22, 540.000, 5, -544.000, 0,0,0) -- Basement -> Entrance + zone:registerRegion(23, 300.000, 5, -504.000, 0,0,0) -- F1 -> Entrance + zone:registerRegion(24, -20.000, 5, -544.000, 0,0,0) -- F2 -> Entrance + zone:registerRegion(25, -264.000, 5, -500.000, 0,0,0) -- F3 -> Entrance + zone:registerRegion(26, -580.000, 5, -584.000, 0,0,0) -- F4 -> Entrance - ------------------------------------ --- onConquestUpdate ------------------------------------ +end function onConquestUpdate(zone, updatetype) dsp.conq.onConquestUpdate(zone, updatetype) -end; - ------------------------------------ --- onZoneIn ------------------------------------ - -function onZoneIn(player,prevZone) - local cs = -1; - player:setPos(580,-1.5,4.452,192); - return cs; -end; - ------------------------------------ --- onRegionEnter ------------------------------------ - -function onRegionEnter(player,region) - local regionID = region:GetRegionID(); +end - switch (regionID): caseof - { - [1] = function (x) - if (player:hasStatusEffect(dsp.effect.BATTLEFIELD) == false) then - -- create instance Temenos_Western_Tower - RegisterLimbusInstance(player,1298); - end - end, - [2] = function (x) - if (player:hasStatusEffect(dsp.effect.BATTLEFIELD) == false) then - -- create instance Temenos_Northern_Tower - RegisterLimbusInstance(player,1299); - end - end, - [3] = function (x) - if (player:hasStatusEffect(dsp.effect.BATTLEFIELD) == false) then - -- create instance Temenos_Eastern_Tower - RegisterLimbusInstance(player,1300); - end - end, - [4] = function (x) - if (player:hasStatusEffect(dsp.effect.BATTLEFIELD) == false) then - -- create instance Central_Temenos_Basement - RegisterLimbusInstance(player,1301); - end - end, - [5] = function (x) - if (player:hasStatusEffect(dsp.effect.BATTLEFIELD) == false) then - -- create instance Central_Temenos_1st_Floor - RegisterLimbusInstance(player,1303); - end - end, - [6] = function (x) - if (player:hasStatusEffect(dsp.effect.BATTLEFIELD) == false) then - -- create instance Central_Temenos_2nd_Floor - RegisterLimbusInstance(player,1304); - end - end, - [7] = function (x) - if (player:hasStatusEffect(dsp.effect.BATTLEFIELD) == false) then - -- create instance Central_Temenos_3rd_Floor - RegisterLimbusInstance(player,1305); - end - end, - [8] = function (x) - if (player:hasStatusEffect(dsp.effect.BATTLEFIELD) == false) then - -- create instance Central_Temenos_4th_Floor - RegisterLimbusInstance(player,1306); - end - end, - } -end; +function onZoneIn(player, prevZone) + local cs = -1 + player:setPos(580, -1.5, 4.452, 192) + return cs +end +function onRegionEnter(player, region) + local regionID = region:GetRegionID() + local cs + if GetNPCByID(ID.npc.TEMENOS_N_GATE[1] + (regionID - 1)):getAnimation() == dsp.animation.OPEN_DOOR then + if regionID > 20 then + cs = 120 + else + cs = regionID + 99 + end + player:startEvent(cs) + end +end -function onRegionLeave(player,region) -end; +function onRegionLeave(player, region) +end -function onEventUpdate(player,csid,option) -end; +function onEventUpdate(player, csid, option) + if csid == 32001 or csid == 32002 then + player:messageSpecial(ID.text.HUM+1) + end +end -function onEventFinish(player,csid,option) -end; \ No newline at end of file +function onEventFinish(player, csid, option) +end \ No newline at end of file diff --git a/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua index a867227920b..fa234a5caf1 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua @@ -2,37 +2,41 @@ -- Area: Temenos -- Name: Central Temenos 1st Floor ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") require("scripts/globals/battlefield") -require("scripts/globals/keyitems"); +require("scripts/globals/keyitems") +local ID = require("scripts/zones/Temenos/IDs") + +function onBattlefieldInitialise(battlefield) + battlefield:setLocalVar("loot", 1) + SetServerVariable("[Central_Temenos_1st_Floor]Time", battlefield:getTimeLimit()/60) + dsp.limbus.handleDoors(battlefield) + dsp.limbus.setupArmouryCrates(battlefield:getID()) +end --- After registering the BCNM via bcnmRegister(bcnmid) function onBattlefieldTick(battlefield, tick) + if battlefield:getRemainingTime() % 60 == 0 then + SetServerVariable("[Central_Temenos_1st_Floor]Time", battlefield:getRemainingTime()/60) + end dsp.battlefield.onBattlefieldTick(battlefield, tick) end +function onBattlefieldEnter(player, battlefield) + player:delKeyItem(dsp.ki.COSMOCLEANSE) + player:delKeyItem(dsp.ki.WHITE_CARD) + player:setCharVar("Cosmo_Cleanse_TIME", os.time()) +end -function onBattlefieldRegister(player,battlefield) - SetServerVariable("[C_Temenos_1st]UniqueID",os.time()); - HideArmouryCrates(Central_Temenos_1st_Floor,TEMENOS); - HideTemenosDoor(Central_Temenos_1st_Floor); -end; - --- Physically entering the BCNM via bcnmEnter(bcnmid) -function onBattlefieldEnter(player,battlefield) - player:setCharVar("characterLimbusKey",GetServerVariable("[C_Temenos_1st]UniqueID")); - player:delKeyItem(dsp.ki.COSMOCLEANSE); - player:delKeyItem(dsp.ki.WHITE_CARD); -end; - --- Leaving by every mean possible, given by the LeaveCode --- 3=Disconnected or warped out (if dyna is empty: launch 4 after 3) --- 4=Finish he dynamis +function onBattlefieldDestroy(battlefield) + dsp.limbus.handleDoors(battlefield, true) + SetServerVariable("[Central_Temenos_1st_Floor]Time", 0) +end -function onBattlefieldLeave(player,battlefield,leavecode) - --print("leave code "..leavecode); - if leavecode == dsp.battlefield.leaveCode.LOST then - SetServerVariable("[C_Temenos_1st]UniqueID",0); - player:setPos(580,-1.5,4.452,192); +function onBattlefieldLeave(player, battlefield, leavecode) + if leavecode == dsp.battlefield.leaveCode.WON then + local name, clearTime, partySize = battlefield:getRecord() + player:startEvent(32001, battlefield:getArea(), clearTime, partySize, battlefield:getTimeInside(), 1, battlefield:getLocalVar("[cs]bit"), 0) + elseif leavecode == dsp.battlefield.leaveCode.LOST then + player:startEvent(32002) end -end; \ No newline at end of file +end \ No newline at end of file diff --git a/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua index b351133a988..cacdec8f3bf 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua @@ -2,43 +2,41 @@ -- Area: Temenos -- Name: Central Temenos 2nd Floor ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") require("scripts/globals/battlefield") -require("scripts/globals/keyitems"); +require("scripts/globals/keyitems") +local ID = require("scripts/zones/Temenos/IDs") + +function onBattlefieldInitialise(battlefield) + battlefield:setLocalVar("loot", 1) + SetServerVariable("[Central_Temenos_2nd_Floor]Time", battlefield:getTimeLimit()/60) + dsp.limbus.handleDoors(battlefield) + dsp.limbus.setupArmouryCrates(battlefield:getID()) +end --- After registering the BCNM via bcnmRegister(bcnmid) function onBattlefieldTick(battlefield, tick) + if battlefield:getRemainingTime() % 60 == 0 then + SetServerVariable("[Central_Temenos_2nd_Floor]Time", battlefield:getRemainingTime()/60) + end dsp.battlefield.onBattlefieldTick(battlefield, tick) end +function onBattlefieldEnter(player, battlefield) + player:delKeyItem(dsp.ki.COSMOCLEANSE) + player:delKeyItem(dsp.ki.WHITE_CARD) + player:setCharVar("Cosmo_Cleanse_TIME", os.time()) +end -function onBattlefieldRegister(player,battlefield) - if (GetMobByID(16929039):isSpawned()) then DespawnMob(16929039); end - if (GetMobByID(16929040):isSpawned()) then DespawnMob(16929040); end - if (GetMobByID(16929041):isSpawned()) then DespawnMob(16929041); end - if (GetMobByID(16929042):isSpawned()) then DespawnMob(16929042); end - if (GetMobByID(16929043):isSpawned()) then DespawnMob(16929043); end - if (GetMobByID(16929044):isSpawned()) then DespawnMob(16929044); end - SetServerVariable("[C_Temenos_2nd]UniqueID",os.time()); - HideArmouryCrates(Central_Temenos_2nd_Floor,TEMENOS); - HideTemenosDoor(Central_Temenos_2nd_Floor); -end; - --- Physically entering the BCNM via bcnmEnter(bcnmid) -function onBattlefieldEnter(player,battlefield) - player:setCharVar("characterLimbusKey",GetServerVariable("[C_Temenos_2nd]UniqueID")); - player:delKeyItem(dsp.ki.COSMOCLEANSE); - player:delKeyItem(dsp.ki.WHITE_CARD); -end; - --- Leaving by every mean possible, given by the LeaveCode --- 3=Disconnected or warped out (if dyna is empty: launch 4 after 3) --- 4=Finish he dynamis +function onBattlefieldDestroy(battlefield) + dsp.limbus.handleDoors(battlefield, true) + SetServerVariable("[Central_Temenos_2nd_Floor]Time", 0) +end -function onBattlefieldLeave(player,battlefield,leavecode) - --print("leave code "..leavecode); - if leavecode == dsp.battlefield.leaveCode.LOST then - SetServerVariable("[C_Temenos_2nd]UniqueID",0); - player:setPos(580,-1.5,4.452,192); +function onBattlefieldLeave(player, battlefield, leavecode) + if leavecode == dsp.battlefield.leaveCode.WON then + local name, clearTime, partySize = battlefield:getRecord() + player:startEvent(32001, battlefield:getArea(), clearTime, partySize, battlefield:getTimeInside(), 1, battlefield:getLocalVar("[cs]bit"), 0) + elseif leavecode == dsp.battlefield.leaveCode.LOST then + player:startEvent(32002) end -end; \ No newline at end of file +end \ No newline at end of file diff --git a/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua index 67aaf751eaa..bdefab17959 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua @@ -2,37 +2,43 @@ -- Area: Temenos -- Name: Central Temenos 3rd Floor ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") require("scripts/globals/battlefield") -require("scripts/globals/keyitems"); +require("scripts/globals/keyitems") +local ID = require("scripts/zones/Temenos/IDs") + +function onBattlefieldInitialise(battlefield) + battlefield:setLocalVar("loot", 1) + SetServerVariable("[Central_Temenos_3rd_Floor]Time", battlefield:getTimeLimit()/60) + dsp.limbus.handleDoors(battlefield) + dsp.limbus.setupArmouryCrates(battlefield:getID()) + DespawnMob(ID.mob.TEMENOS_C_MOB[3]+3) + DespawnMob(ID.mob.TEMENOS_C_MOB[3]+11) +end --- After registering the BCNM via bcnmRegister(bcnmid) function onBattlefieldTick(battlefield, tick) + if battlefield:getRemainingTime() % 60 == 0 then + SetServerVariable("[Central_Temenos_3rd_Floor]Time", battlefield:getRemainingTime()/60) + end dsp.battlefield.onBattlefieldTick(battlefield, tick) end +function onBattlefieldEnter(player, battlefield) + player:delKeyItem(dsp.ki.COSMOCLEANSE) + player:delKeyItem(dsp.ki.WHITE_CARD) + player:setCharVar("Cosmo_Cleanse_TIME", os.time()) +end -function onBattlefieldRegister(player,battlefield) - SetServerVariable("[C_Temenos_3rd]UniqueID",os.time()); - HideArmouryCrates(Central_Temenos_3rd_Floor,TEMENOS); - HideTemenosDoor(Central_Temenos_3rd_Floor); -end; - --- Physically entering the BCNM via bcnmEnter(bcnmid) -function onBattlefieldEnter(player,battlefield) - player:setCharVar("characterLimbusKey",GetServerVariable("[C_Temenos_3rd]UniqueID")); - player:delKeyItem(dsp.ki.COSMOCLEANSE); - player:delKeyItem(dsp.ki.WHITE_CARD); -end; - --- Leaving by every mean possible, given by the LeaveCode --- 3=Disconnected or warped out (if dyna is empty: launch 4 after 3) --- 4=Finish he dynamis +function onBattlefieldDestroy(battlefield) + dsp.limbus.handleDoors(battlefield, true) + SetServerVariable("[Central_Temenos_3rd_Floor]Time", 0) +end -function onBattlefieldLeave(player,battlefield,leavecode) - --print("leave code "..leavecode); - if leavecode == dsp.battlefield.leaveCode.LOST then - SetServerVariable("[C_Temenos_3rd]UniqueID",0); - player:setPos(580,-1.5,4.452,192); - end -end; \ No newline at end of file +function onBattlefieldLeave(player, battlefield, leavecode) + if leavecode == dsp.battlefield.leaveCode.WON then + local name, clearTime, partySize = battlefield:getRecord() + player:startEvent(32001, battlefield:getArea(), clearTime, partySize, battlefield:getTimeInside(), 1, battlefield:getLocalVar("[cs]bit"), 0) + elseif leavecode == dsp.battlefield.leaveCode.LOST then + player:startEvent(32002) + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua index 093001f0c99..83ee98b1f84 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua @@ -2,44 +2,41 @@ -- Area: Temenos -- Name: Central Temenos 4th Floor ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") require("scripts/globals/battlefield") -require("scripts/globals/keyitems"); +require("scripts/globals/keyitems") +local ID = require("scripts/zones/Temenos/IDs") --- After registering the BCNM via bcnmRegister(bcnmid) -function onBattlefieldTick(battlefield, tick) - dsp.battlefield.onBattlefieldTick(battlefield, tick) +function onBattlefieldInitialise(battlefield) + battlefield:setLocalVar("loot", 1) + SetServerVariable("[Central_Temenos_4th_Floor]Time", battlefield:getTimeLimit()/60) + dsp.limbus.handleDoors(battlefield) + dsp.limbus.setupArmouryCrates(battlefield:getID()) end - -function onBattlefieldRegister(player,battlefield) - SetServerVariable("[C_Temenos_4th]UniqueID",os.time()); - HideArmouryCrates(Central_Temenos_4th_Floor,TEMENOS); - HideTemenosDoor(Central_Temenos_4th_Floor); - for n=16928986,16928988,1 do - if (GetMobByID(n):isSpawned()) then DespawnMob(n); end - end - for n=16928991,16929003,1 do - if (GetMobByID(n):isSpawned()) then DespawnMob(n); end +function onBattlefieldTick(battlefield, tick) + if battlefield:getRemainingTime() % 60 == 0 then + SetServerVariable("[Central_Temenos_4th_Floor]Time", battlefield:getRemainingTime()/60) end - SpawnCofferTemenosCFloor4(); -end; + dsp.battlefield.onBattlefieldTick(battlefield, tick) +end --- Physically entering the BCNM via bcnmEnter(bcnmid) -function onBattlefieldEnter(player,battlefield) - player:setCharVar("characterLimbusKey",GetServerVariable("[C_Temenos_4th]UniqueID")); - player:delKeyItem(dsp.ki.COSMOCLEANSE); - player:delKeyItem(dsp.ki.WHITE_CARD); -end; +function onBattlefieldEnter(player, battlefield) + player:delKeyItem(dsp.ki.COSMOCLEANSE) + player:delKeyItem(dsp.ki.WHITE_CARD) + player:setCharVar("Cosmo_Cleanse_TIME", os.time()) +end --- Leaving by every mean possible, given by the LeaveCode --- 3=Disconnected or warped out (if dyna is empty: launch 4 after 3) --- 4=Finish he dynamis +function onBattlefieldDestroy(battlefield) + dsp.limbus.handleDoors(battlefield, true) + SetServerVariable("[Central_Temenos_4th_Floor]Time", 0) +end -function onBattlefieldLeave(player,battlefield,leavecode) - --print("leave code "..leavecode); - if leavecode == dsp.battlefield.leaveCode.LOST then - SetServerVariable("[C_Temenos_4th]UniqueID",0); - player:setPos(580,-1.5,4.452,192); +function onBattlefieldLeave(player, battlefield, leavecode) + if leavecode == dsp.battlefield.leaveCode.WON then + local name, clearTime, partySize = battlefield:getRecord() + player:startEvent(32001, battlefield:getArea(), clearTime, partySize, battlefield:getTimeInside(), 1, battlefield:getLocalVar("[cs]bit"), 0) + elseif leavecode == dsp.battlefield.leaveCode.LOST then + player:startEvent(32002) end -end; \ No newline at end of file +end \ No newline at end of file diff --git a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua index 0017d29f7ff..08c95db8e3d 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua @@ -2,38 +2,48 @@ -- Area: Temenos -- Name: Central Temenos Basement ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") require("scripts/globals/battlefield") -require("scripts/globals/keyitems"); +require("scripts/globals/keyitems") +local ID = require("scripts/zones/Temenos/IDs") + +function onBattlefieldInitialise(battlefield) + battlefield:setLocalVar("loot", 1) + battlefield:setLocalVar("lootSpawned", 1) + SetServerVariable("[Central_Temenos_Basement]Time", battlefield:getTimeLimit()/60) + dsp.limbus.handleDoors(battlefield) + dsp.limbus.setupArmouryCrates(battlefield:getID()) + DespawnMob(ID.mob.TEMENOS_C_MOB[5]+3) + DespawnMob(ID.mob.TEMENOS_C_MOB[5]+6) + DespawnMob(ID.mob.TEMENOS_C_MOB[5]+14) + DespawnMob(ID.mob.TEMENOS_C_MOB[5]+17) + DespawnMob(ID.mob.TEMENOS_C_MOB[5]+21) + DespawnMob(ID.mob.TEMENOS_C_MOB[5]+27) +end --- After registering the BCNM via bcnmRegister(bcnmid) function onBattlefieldTick(battlefield, tick) + if battlefield:getRemainingTime() % 60 == 0 then + SetServerVariable("[Central_Temenos_Basement]Time", battlefield:getRemainingTime()/60) + end dsp.battlefield.onBattlefieldTick(battlefield, tick) end +function onBattlefieldEnter(player, battlefield) + player:delKeyItem(dsp.ki.COSMOCLEANSE) + player:delKeyItem(dsp.ki.WHITE_CARD) + player:setCharVar("Cosmo_Cleanse_TIME", os.time()) +end -function onBattlefieldRegister(player,battlefield) - SetServerVariable("[C_Temenos_Base]UniqueID",os.time()); - HideArmouryCrates(Central_Temenos_Basement,TEMENOS); - HideTemenosDoor(Central_Temenos_Basement); - if (GetMobByID(16929088):isSpawned()) then DespawnMob(16929088); end -end; - --- Physically entering the BCNM via bcnmEnter(bcnmid) -function onBattlefieldEnter(player,battlefield) - player:setCharVar("characterLimbusKey",GetServerVariable("[C_Temenos_Base]UniqueID")); - player:delKeyItem(dsp.ki.COSMOCLEANSE); - player:delKeyItem(dsp.ki.WHITE_CARD); -end; - --- Leaving by every mean possible, given by the LeaveCode --- 3=Disconnected or warped out (if dyna is empty: launch 4 after 3) --- 4=Finish he dynamis +function onBattlefieldDestroy(battlefield) + dsp.limbus.handleDoors(battlefield, true) + SetServerVariable("[Central_Temenos_Basement]Time", 0) +end -function onBattlefieldLeave(player,battlefield,leavecode) - --print("leave code "..leavecode); - if leavecode == dsp.battlefield.leaveCode.LOST then - SetServerVariable("[C_Temenos_Base]UniqueID",0); - player:setPos(580,-1.5,4.452,192); +function onBattlefieldLeave(player, battlefield, leavecode) + if leavecode == dsp.battlefield.leaveCode.WON then + local name, clearTime, partySize = battlefield:getRecord() + player:startEvent(32001, battlefield:getArea(), clearTime, partySize, battlefield:getTimeInside(), 1, battlefield:getLocalVar("[cs]bit"), 0) + elseif leavecode == dsp.battlefield.leaveCode.LOST then + player:startEvent(32002) end -end; \ No newline at end of file +end \ No newline at end of file diff --git a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua index 8c738877fb2..d6bb3850c48 100644 --- a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua @@ -2,44 +2,41 @@ -- Area: Temenos -- Name: Temenos Eastern Tower ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") require("scripts/globals/battlefield") -require("scripts/globals/keyitems"); +require("scripts/globals/keyitems") +local ID = require("scripts/zones/Temenos/IDs") + +function onBattlefieldInitialise(battlefield) + battlefield:setLocalVar("loot", 1) + SetServerVariable("[Temenos_Eastern_Tower]Time", battlefield:getTimeLimit()/60) + dsp.limbus.handleDoors(battlefield) + dsp.limbus.setupArmouryCrates(battlefield:getID()) +end --- After registering the BCNM via bcnmRegister(bcnmid) function onBattlefieldTick(battlefield, tick) + if battlefield:getRemainingTime() % 60 == 0 then + SetServerVariable("[Temenos_Eastern_Tower]Time", battlefield:getRemainingTime()/60) + end dsp.battlefield.onBattlefieldTick(battlefield, tick) end +function onBattlefieldEnter(player, battlefield) + player:delKeyItem(dsp.ki.COSMOCLEANSE) + player:delKeyItem(dsp.ki.WHITE_CARD) + player:setCharVar("Cosmo_Cleanse_TIME", os.time()) +end -function onBattlefieldRegister(player,battlefield) - if (GetMobByID(16928844):isSpawned()) then DespawnMob(16928844); end - if (GetMobByID(16928853):isSpawned()) then DespawnMob(16928853); end - if (GetMobByID(16928862):isSpawned()) then DespawnMob(16928862); end - if (GetMobByID(16928871):isSpawned()) then DespawnMob(16928871); end - if (GetMobByID(16928880):isSpawned()) then DespawnMob(16928880); end - if (GetMobByID(16928889):isSpawned()) then DespawnMob(16928889); end - if (GetMobByID(16928894):isSpawned()) then DespawnMob(16928894); end - SetServerVariable("[Temenos_E_Tower]UniqueID",os.time()); - HideArmouryCrates(Temenos_Eastern_Tower,TEMENOS); - HideTemenosDoor(Temenos_Eastern_Tower); -end; - --- Physically entering the BCNM via bcnmEnter(bcnmid) -function onBattlefieldEnter(player,battlefield) - player:setCharVar("characterLimbusKey",GetServerVariable("[Temenos_E_Tower]UniqueID")); - player:delKeyItem(dsp.ki.COSMOCLEANSE); - player:delKeyItem(dsp.ki.WHITE_CARD); -end; - --- Leaving the Dynamis by every mean possible, given by the LeaveCode --- 3=Disconnected or warped out (if dyna is empty: launch 4 after 3) --- 4=Finish he dynamis +function onBattlefieldDestroy(battlefield) + dsp.limbus.handleDoors(battlefield, true) + SetServerVariable("[Temenos_Eastern_Tower]Time", 0) +end -function onBattlefieldLeave(player,battlefield,leavecode) - --print("leave code "..leavecode); - if leavecode == dsp.battlefield.leaveCode.LOST then - SetServerVariable("[Temenos_E_Tower]UniqueID",0); - player:setPos(580,-1.5,4.452,192); +function onBattlefieldLeave(player, battlefield, leavecode) + if leavecode == dsp.battlefield.leaveCode.WON then + local name, clearTime, partySize = battlefield:getRecord() + player:startEvent(32001, battlefield:getArea(), clearTime, partySize, battlefield:getTimeInside(), 1, battlefield:getLocalVar("[cs]bit"), 0) + elseif leavecode == dsp.battlefield.leaveCode.LOST then + player:startEvent(32002) end -end; \ No newline at end of file +end \ No newline at end of file diff --git a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua index 005a0de3510..90e55e0a18b 100644 --- a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua @@ -2,38 +2,47 @@ -- Area: Temenos -- Name: Temenos Northern Tower ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") require("scripts/globals/battlefield") -require("scripts/globals/keyitems"); +require("scripts/globals/keyitems") +local ID = require("scripts/zones/Temenos/IDs") + +function onBattlefieldInitialise(battlefield) + battlefield:setLocalVar("loot", 1) + battlefield:setLocalVar("randomF1", math.random(1,6)) + SetServerVariable("[Temenos_Northern_Tower]Time", battlefield:getTimeLimit()/60) + dsp.limbus.handleDoors(battlefield) + dsp.limbus.setupArmouryCrates(battlefield:getID()) + DespawnMob(ID.mob.TEMENOS_N_MOB[3]+3) + DespawnMob(ID.mob.TEMENOS_N_MOB[4]+3) + DespawnMob(ID.mob.TEMENOS_N_MOB[6]+4) + DespawnMob(ID.mob.TEMENOS_N_MOB[6]+8) + DespawnMob(ID.mob.TEMENOS_N_MOB[6]+12) +end --- After registering the BCNM via bcnmRegister(bcnmid) function onBattlefieldTick(battlefield, tick) + if battlefield:getRemainingTime() % 60 == 0 then + SetServerVariable("[Temenos_Northern_Tower]Time", battlefield:getRemainingTime()/60) + end dsp.battlefield.onBattlefieldTick(battlefield, tick) end +function onBattlefieldEnter(player, battlefield) + player:delKeyItem(dsp.ki.COSMOCLEANSE) + player:delKeyItem(dsp.ki.WHITE_CARD) + player:setCharVar("Cosmo_Cleanse_TIME", os.time()) +end -function onBattlefieldRegister(player,battlefield) - SetServerVariable("[Temenos_N_Tower]UniqueID",os.time()); - HideArmouryCrates(Temenos_Northern_Tower,TEMENOS); - HideTemenosDoor(Temenos_Northern_Tower); -end; - --- Physically entering the BCNM via bcnmEnter(bcnmid) -function onBattlefieldEnter(player,battlefield) - player:setCharVar("characterLimbusKey",GetServerVariable("[Temenos_N_Tower]UniqueID")); - player:delKeyItem(dsp.ki.COSMOCLEANSE); - player:delKeyItem(dsp.ki.WHITE_CARD); -end; - --- Leaving the Dynamis by every mean possible, given by the LeaveCode --- 3=Disconnected or warped out (if dyna is empty: launch 4 after 3) --- 4=Finish he dynamis +function onBattlefieldDestroy(battlefield) + dsp.limbus.handleDoors(battlefield, true) + SetServerVariable("[Temenos_Northern_Tower]Time", 0) +end -function onBattlefieldLeave(player,battlefield,leavecode) - -- player:PrintToPlayer(leavecode); - print("leave code "..leavecode); - if leavecode == dsp.battlefield.leaveCode.LOST then - SetServerVariable("[Temenos_N_Tower]UniqueID",0); - player:setPos(580,-1.5,4.452,192); +function onBattlefieldLeave(player, battlefield, leavecode) + if leavecode == dsp.battlefield.leaveCode.WON then + local name, clearTime, partySize = battlefield:getRecord() + player:startEvent(32001, battlefield:getArea(), clearTime, partySize, battlefield:getTimeInside(), 1, battlefield:getLocalVar("[cs]bit"), 0) + elseif leavecode == dsp.battlefield.leaveCode.LOST then + player:startEvent(32002) end -end; \ No newline at end of file +end \ No newline at end of file diff --git a/scripts/zones/Temenos/bcnms/temenos_western_tower.lua b/scripts/zones/Temenos/bcnms/temenos_western_tower.lua index 8069be4f644..a7db723177d 100644 --- a/scripts/zones/Temenos/bcnms/temenos_western_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_western_tower.lua @@ -2,37 +2,41 @@ -- Area: Temenos -- Name: Temenos Western Tower ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") require("scripts/globals/battlefield") -require("scripts/globals/keyitems"); +require("scripts/globals/keyitems") +local ID = require("scripts/zones/Temenos/IDs") + +function onBattlefieldInitialise(battlefield) + battlefield:setLocalVar("loot", 1) + SetServerVariable("[Temenos_Western_Tower]Time", battlefield:getTimeLimit()/60) + dsp.limbus.handleDoors(battlefield) + dsp.limbus.setupArmouryCrates(battlefield:getID()) +end --- After registering the BCNM via bcnmRegister(bcnmid) function onBattlefieldTick(battlefield, tick) + if battlefield:getRemainingTime() % 60 == 0 then + SetServerVariable("[Temenos_Western_Tower]Time", battlefield:getRemainingTime()/60) + end dsp.battlefield.onBattlefieldTick(battlefield, tick) end +function onBattlefieldEnter(player, battlefield) + player:delKeyItem(dsp.ki.COSMOCLEANSE) + player:delKeyItem(dsp.ki.WHITE_CARD) + player:setCharVar("Cosmo_Cleanse_TIME", os.time()) +end -function onBattlefieldRegister(player,battlefield) - SetServerVariable("[Temenos_W_Tower]UniqueID",os.time()); - HideArmouryCrates(Temenos_Western_Tower,TEMENOS); - HideTemenosDoor(Temenos_Western_Tower); -end; - --- Physically entering the BCNM via bcnmEnter(bcnmid) -function onBattlefieldEnter(player,battlefield) - player:setCharVar("characterLimbusKey",GetServerVariable("[Temenos_W_Tower]UniqueID")); - player:delKeyItem(dsp.ki.COSMOCLEANSE); - player:delKeyItem(dsp.ki.WHITE_CARD); -end; - --- Leaving by every mean possible, given by the LeaveCode --- 3=Disconnected or warped out (if dyna is empty: launch 4 after 3) --- 4=Finish he dynamis +function onBattlefieldDestroy(battlefield) + dsp.limbus.handleDoors(battlefield, true) + SetServerVariable("[Temenos_Western_Tower]Time", 0) +end -function onBattlefieldLeave(player,battlefield,leavecode) - --print("leave code "..leavecode); - if leavecode == dsp.battlefield.leaveCode.LOST then - SetServerVariable("[Temenos_W_Tower]UniqueID",0); - player:setPos(580,-1.5,4.452,192); +function onBattlefieldLeave(player, battlefield, leavecode) + if leavecode == dsp.battlefield.leaveCode.WON then + local name, clearTime, partySize = battlefield:getRecord() + player:startEvent(32001, battlefield:getArea(), clearTime, partySize, battlefield:getTimeInside(), 1, battlefield:getLocalVar("[cs]bit"), 0) + elseif leavecode == dsp.battlefield.leaveCode.LOST then + player:startEvent(32002) end -end; \ No newline at end of file +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua b/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua index 5a421ec209e..172c3417fef 100644 --- a/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua +++ b/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua @@ -2,31 +2,34 @@ -- Area: Temenos -- Mob: Abyssdweller Jhabdebb ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob,target) - if (IsMobDead(16929010)==true and IsMobDead(16929011)==true and IsMobDead(16929012)==true and - IsMobDead(16929013)==true and IsMobDead(16929014)==true and IsMobDead(16929015)==true - ) then - mob:setMod(dsp.mod.SLASHRES,1400); - mob:setMod(dsp.mod.PIERCERES,1400); - mob:setMod(dsp.mod.IMPACTRES,1400); - mob:setMod(dsp.mod.HTHRES,1400); - else - mob:setMod(dsp.mod.SLASHRES,300); - mob:setMod(dsp.mod.PIERCERES,300); - mob:setMod(dsp.mod.IMPACTRES,300); - mob:setMod(dsp.mod.HTHRES,300); - end - GetMobByID(16929006):updateEnmity(target); - GetMobByID(16929007):updateEnmity(target); -end; +function onMobEngaged(mob, target) + if GetMobByID(ID.mob.TEMENOS_C_MOB[3]+5):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[3]+6):isDead() and + GetMobByID(ID.mob.TEMENOS_C_MOB[3]+7):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[3]+8):isDead() and + GetMobByID(ID.mob.TEMENOS_C_MOB[3]+9):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[3]+10):isDead() + then + mob:setMod(dsp.mod.SLASHRES, 1400) + mob:setMod(dsp.mod.PIERCERES, 1400) + mob:setMod(dsp.mod.IMPACTRES, 1400) + mob:setMod(dsp.mod.HTHRES, 1400) + else + mob:setMod(dsp.mod.SLASHRES, 300) + mob:setMod(dsp.mod.PIERCERES, 300) + mob:setMod(dsp.mod.IMPACTRES, 300) + mob:setMod(dsp.mod.HTHRES, 300) + end + GetMobByID(ID.mob.TEMENOS_C_MOB[3]+1):updateEnmity(target) + GetMobByID(ID.mob.TEMENOS_C_MOB[3]+2):updateEnmity(target) +end function onMobDeath(mob, player, isKiller) - if (IsMobDead(16929005)==true and IsMobDead(16929006)==true and IsMobDead(16929007)==true) then - GetNPCByID(16928768+78):setPos(-280,-161,-440); - GetNPCByID(16928768+78):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+473):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file + if isKiller then + if GetMobByID(ID.mob.TEMENOS_C_MOB[3]):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[3]+1):isDead() and + GetMobByID(ID.mob.TEMENOS_C_MOB[3]+2):isDead() + then + GetNPCByID(ID.npc.TEMENOS_C_CRATE[3]):setStatus(dsp.status.NORMAL) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Aerns_Avatar.lua b/scripts/zones/Temenos/mobs/Aerns_Avatar.lua new file mode 100644 index 00000000000..c5fb17a0b30 --- /dev/null +++ b/scripts/zones/Temenos/mobs/Aerns_Avatar.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Temenos +-- Mob: Aern's Avatar +----------------------------------- +mixins = {require("scripts/mixins/families/avatar")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Temenos/mobs/Air_Elemental.lua b/scripts/zones/Temenos/mobs/Air_Elemental.lua index e5f8a056154..26b235cad00 100644 --- a/scripts/zones/Temenos/mobs/Air_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Air_Elemental.lua @@ -2,37 +2,71 @@ -- Area: Temenos E T -- Mob: Air Elemental ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +require("scripts/globals/limbus") +require("scripts/globals/pathfind") +local ID = require("scripts/zones/Temenos/IDs") +local flags = dsp.path.flag.NONE +local path = +{ + [1] = + { + {20.000, 6.000, 150.000}, + {20.000, 6.000, 142.640} + }, + [3] = + { + {60.000, 6.000, 150.000}, + {60.000, 6.000, 142.640} + }, +} + +function onMobRoam(mob) + if mob:getBattlefieldID() == 1300 then + local offset = mob:getID() - ID.mob.TEMENOS_E_MOB[3] + local pause = mob:getLocalVar("pause") + if pause < os.time() and offset == 1 or offset == 3 then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) + mob:setLocalVar("pause", os.time()+5) + end + end +end function onMobDeath(mob, player, isKiller) - local mobID = mob:getID(); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - switch (mobID): caseof { - -- 100 a 106 inclut (Temenos -Northern Tower ) - [16928858] = function (x) - GetNPCByID(16928768+181):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+181):setStatus(dsp.status.NORMAL); - end , - [16928859] = function (x) - GetNPCByID(16928768+217):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+217):setStatus(dsp.status.NORMAL); - end , - [16928860] = function (x) - GetNPCByID(16928768+348):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+348):setStatus(dsp.status.NORMAL); - end , - [16928861] = function (x) - GetNPCByID(16928768+46):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+46):setStatus(dsp.status.NORMAL); - end , - [16929035] = function (x) - if (IsMobDead(16929036)==false) then - DespawnMob(16929036); - SpawnMob(16929042); - end - end , - } -end; \ No newline at end of file + if isKiller then + local mobID = mob:getID() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + local battlefield = player:getBattlefield() + if battlefield:getLocalVar("crateOpenedF3") ~= 1 then + switch (mobID): caseof + { + [ID.mob.TEMENOS_E_MOB[3]] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[3]):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[3], player, "crateMaskF3", battlefield:getLocalVar("crateMaskF3"), true) + end, + [ID.mob.TEMENOS_E_MOB[3]+1] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[3]+1):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[3]+1, player, "crateMaskF3", battlefield:getLocalVar("crateMaskF3"), true) + end, + [ID.mob.TEMENOS_E_MOB[3]+2] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[3]+2):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[3]+2, player, "crateMaskF3", battlefield:getLocalVar("crateMaskF3"), true) + end, + [ID.mob.TEMENOS_E_MOB[3]+3] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[3]+3):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[3]+3, player, "crateMaskF3", battlefield:getLocalVar("crateMaskF3"), true) + end, + [ID.mob.TEMENOS_C_MOB[2]+5] = function() + GetMobByID(ID.mob.TEMENOS_C_MOB[2]):setMod(dsp.mod.WINDDEF, -128) + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+6):isAlive() then + DespawnMob(ID.mob.TEMENOS_C_MOB[2]+6) + SpawnMob(ID.mob.TEMENOS_C_MOB[2]+12) + end + end, + } + end + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Airi.lua b/scripts/zones/Temenos/mobs/Airi.lua index 8a8df38ec0f..9e2652a2a39 100644 --- a/scripts/zones/Temenos/mobs/Airi.lua +++ b/scripts/zones/Temenos/mobs/Airi.lua @@ -2,24 +2,26 @@ -- Area: Temenos Central Floor -- Mob: Airi ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob,target) - if (IsMobDead(16929047)==true) then - mob:addStatusEffect(dsp.effect.REGAIN,7,3,0); - mob:addStatusEffect(dsp.effect.REGEN,50,3,0); - end -end; +function onMobEngaged(mob, target) + if GetMobByID(ID.mob.TEMENOS_C_MOB[1]+1):isDead() then + mob:addStatusEffect(dsp.effect.REGAIN, 7, 3, 0) + mob:addStatusEffect(dsp.effect.REGEN, 50, 3, 0) + end +end function onMobDeath(mob, player, isKiller) - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - - if (IsMobDead(16929046)==true and IsMobDead(16929047)==true and IsMobDead(16929048)==true and IsMobDead(16929049)==true and IsMobDead(16929050)==true and IsMobDead(16929051)==true) then - GetNPCByID(16928768+71):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+71):setStatus(dsp.status.NORMAL); - GetNPCByID(16928770+471):setStatus(dsp.status.NORMAL); - end -end; + if isKiller then + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + if GetMobByID(ID.mob.TEMENOS_C_MOB[1]+1):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[1]+2):isDead() and + GetMobByID(ID.mob.TEMENOS_C_MOB[1]+3):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[1]+4):isDead() and + GetMobByID(ID.mob.TEMENOS_C_MOB[1]+5):isDead() + then + GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setStatus(dsp.status.NORMAL) + end + end +end diff --git a/scripts/zones/Temenos/mobs/Beli.lua b/scripts/zones/Temenos/mobs/Beli.lua index d41dacc2048..f8e9718cfb3 100644 --- a/scripts/zones/Temenos/mobs/Beli.lua +++ b/scripts/zones/Temenos/mobs/Beli.lua @@ -2,21 +2,20 @@ -- Area: Temenos N T -- Mob: Beli ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob,target) - GetMobByID(16928781):updateEnmity(target); - GetMobByID(16928782):updateEnmity(target); -end; +function onMobEngaged(mob, target) + GetMobByID(ID.mob.TEMENOS_N_MOB[2]):updateEnmity(target) + GetMobByID(ID.mob.TEMENOS_N_MOB[2]+1):updateEnmity(target) +end function onMobDeath(mob, player, isKiller) - if (IsMobDead(16928781)==true and IsMobDead(16928782)==true and IsMobDead(16928783)==true ) then - GetNPCByID(16928768+19):setPos(200,-82,495); - GetNPCByID(16928768+19):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+153):setPos(206,-82,495); - GetNPCByID(16928768+153):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+210):setPos(196,-82,495); - GetNPCByID(16928768+210):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file + if isKiller then + if GetMobByID(ID.mob.TEMENOS_N_MOB[2]):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[2]+1):isDead() then + GetNPCByID(ID.npc.TEMENOS_N_CRATE[2]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[2]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[2]+2):setStatus(dsp.status.NORMAL) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua new file mode 100644 index 00000000000..b72d5589e47 --- /dev/null +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua @@ -0,0 +1,51 @@ +----------------------------------- +-- Area: Temenos N T +-- Mob: Cryptonberry Abductor +----------------------------------- +require("scripts/globals/status") +require("scripts/globals/limbus") +require("scripts/globals/pathfind") +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") +local flags = dsp.path.flag.NONE +local path = +{ + [2] = + { + {-424.000, -80.000, 420.500}, + {-456.000, -80.000, 420.500} + }, + [6] = + { + {-460.500, -80.000, 416.000}, + {-460.500, -80.000, 408.000} + }, + [10] = + { + {-419.500, -80.000, 416.000}, + {-419.500, -80.000, 408.000} + }, +} + +function onMobRoam(mob) + local offset = mob:getID() - ID.mob.TEMENOS_N_MOB[6] + local pause = mob:getLocalVar("pause") + if pause < os.time() then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) + if offset == 2 then + mob:setLocalVar("pause", os.time()+30) + else + mob:setLocalVar("pause", os.time()+15) + end + end +end + +function onMobDeath(mob, player, isKiller) + if isKiller then + if GetNPCByID(ID.npc.TEMENOS_N_GATE[6]):getAnimation() == dsp.animation.CLOSE_DOOR then + dsp.limbus.handleDoors(player:getBattlefield(), true, ID.npc.TEMENOS_N_GATE[6]) + end + end +end diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua index 46ce9140908..3f0d3fb6cc7 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua @@ -2,21 +2,15 @@ -- Area: Temenos N T -- Mob: Cryptonberry Charmer ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobEngaged(mob,target) - -end; +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobDeath(mob, player, isKiller) - if (IsMobDead(16928816)==true and IsMobDead(16928817)==true ) then - GetNPCByID(16928768+38):setPos(-412,-78,426); - GetNPCByID(16928768+38):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+172):setPos(-415,-78,427); - GetNPCByID(16928768+172):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+214):setPos(-412,-78,422); - GetNPCByID(16928768+214):setStatus(dsp.status.NORMAL); - GetNPCByID(16928770+455):setStatus(dsp.status.NORMAL); - end -end; + if isKiller then + if GetMobByID(ID.mob.TEMENOS_N_MOB[6]+1):isDead() then + GetNPCByID(ID.npc.TEMENOS_N_CRATE[6]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[6]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[6]+2):setStatus(dsp.status.NORMAL) + end + end +end diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua new file mode 100644 index 00000000000..b8020bda005 --- /dev/null +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua @@ -0,0 +1,51 @@ +----------------------------------- +-- Area: Temenos N T +-- Mob: Cryptonberry Designator +----------------------------------- +require("scripts/globals/status") +require("scripts/globals/limbus") +require("scripts/globals/pathfind") +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") +local flags = dsp.path.flag.NONE +local path = +{ + [3] = + { + {-456.000, -80.000, 419.500}, + {-424.000, -80.000, 419.500} + }, + [7] = + { + {-459.500, -80.000, 416.000}, + {-459.500, -80.000, 408.000} + }, + [11] = + { + {-420.500, -80.000, 416.000}, + {-420.500, -80.000, 408.000} + }, +} + +function onMobRoam(mob) + local offset = mob:getID() - ID.mob.TEMENOS_N_MOB[6] + local pause = mob:getLocalVar("pause") + if pause < os.time() then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) + if offset == 3 then + mob:setLocalVar("pause", os.time()+30) + else + mob:setLocalVar("pause", os.time()+15) + end + end +end + +function onMobDeath(mob, player, isKiller) + if isKiller then + if GetNPCByID(ID.npc.TEMENOS_N_GATE[6]):getAnimation() == dsp.animation.CLOSE_DOOR then + dsp.limbus.handleDoors(player:getBattlefield(), true, ID.npc.TEMENOS_N_GATE[6]) + end + end +end diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua index 2f07c12a666..ae388c7fe38 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua @@ -2,21 +2,15 @@ -- Area: Temenos N T -- Mob: Cryptonberry Skulker ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobEngaged(mob,target) - -end; +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobDeath(mob, player, isKiller) - if (IsMobDead(16928816)==true and IsMobDead(16928817)==true ) then - GetNPCByID(16928768+38):setPos(-412,-78,426); - GetNPCByID(16928768+38):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+172):setPos(-415,-78,427); - GetNPCByID(16928768+172):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+214):setPos(-412,-78,422); - GetNPCByID(16928768+214):setStatus(dsp.status.NORMAL); - GetNPCByID(16928770+455):setStatus(dsp.status.NORMAL); - end -end; + if isKiller then + if GetMobByID(ID.mob.TEMENOS_N_MOB[6]):isDead() then + GetNPCByID(ID.npc.TEMENOS_N_CRATE[6]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[6]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[6]+2):setStatus(dsp.status.NORMAL) + end + end +end diff --git a/scripts/zones/Temenos/mobs/Dark_Elemental.lua b/scripts/zones/Temenos/mobs/Dark_Elemental.lua index df7667a5940..902faf6edca 100644 --- a/scripts/zones/Temenos/mobs/Dark_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Dark_Elemental.lua @@ -2,27 +2,26 @@ -- Area: Temenos E T -- Mob: Dark Elemental ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobEngaged(mob,target) - -end; +local ID = require("scripts/zones/Temenos/IDs") function onMobDeath(mob, player, isKiller) - local mobID = mob:getID(); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - switch (mobID): caseof { - -- 100 a 106 inclut (Temenos -Northern Tower ) - [16928892] = function (x) - GetNPCByID(16928768+70):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+70):setStatus(dsp.status.NORMAL); - end , - [16928893] = function (x) - GetNPCByID(16928768+123):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+123):setStatus(dsp.status.NORMAL); - end , - } -end; \ No newline at end of file + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + + switch (mobID): caseof { + [ID.mob.TEMENOS_E_MOB[7]] = function () + if GetMobByID(ID.mob.TEMENOS_E_MOB[7]+1):isDead() then + GetNPCByID(ID.npc.TEMENOS_E_CRATE[7]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_E_CRATE[7]+1):setStatus(dsp.status.NORMAL) + end + end, + [ID.mob.TEMENOS_E_MOB[7]+1] = function () + if GetMobByID(ID.mob.TEMENOS_E_MOB[7]):isDead() then + GetNPCByID(ID.npc.TEMENOS_E_CRATE[7]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_E_CRATE[7]+1):setStatus(dsp.status.NORMAL) + end + end, + } + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Earth_Elemental.lua b/scripts/zones/Temenos/mobs/Earth_Elemental.lua index 21bab11404e..bf8fe371ef1 100644 --- a/scripts/zones/Temenos/mobs/Earth_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Earth_Elemental.lua @@ -2,41 +2,43 @@ -- Area: Temenos E T -- Mob: Earth Elemental ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobEngaged(mob,target) - -end; +require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") function onMobDeath(mob, player, isKiller) - local mobID = mob:getID(); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - switch (mobID): caseof { - -- 100 a 106 inclut (Temenos -Northern Tower ) - [16928867] = function (x) - GetNPCByID(16928768+182):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+182):setStatus(dsp.status.NORMAL); - end , - [16928868] = function (x) - GetNPCByID(16928768+236):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+236):setStatus(dsp.status.NORMAL); - end , - [16928869] = function (x) - GetNPCByID(16928768+360):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+360):setStatus(dsp.status.NORMAL); - end , - [16928870] = function (x) - GetNPCByID(16928768+47):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+47):setStatus(dsp.status.NORMAL); - end , - [16929036] = function (x) - if (IsMobDead(16929037)==false) then - DespawnMob(16929037); - SpawnMob(16929043); - end - end , - } -end; \ No newline at end of file + if isKiller then + local mobID = mob:getID() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + local battlefield = player:getBattlefield() + if battlefield:getLocalVar("crateOpenedF4") ~= 1 then + switch (mobID): caseof + { + [ID.mob.TEMENOS_E_MOB[4]] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[4]):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[4], player, "crateMaskF4", battlefield:getLocalVar("crateMaskF4"), true) + end, + [ID.mob.TEMENOS_E_MOB[4]+1] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[4]+1):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[4]+1, player, "crateMaskF4", battlefield:getLocalVar("crateMaskF4"), true) + end, + [ID.mob.TEMENOS_E_MOB[4]+2] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[4]+2):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[4]+2, player, "crateMaskF4", battlefield:getLocalVar("crateMaskF4"), true) + end, + [ID.mob.TEMENOS_E_MOB[4]+3] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[4]+3):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[4]+3, player, "crateMaskF4", battlefield:getLocalVar("crateMaskF4"), true) + end, + [ID.mob.TEMENOS_C_MOB[2]+6] = function() + GetMobByID(ID.mob.TEMENOS_C_MOB[2]):setMod(dsp.mod.EARTHDEF, -128) + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+7):isAlive() then + DespawnMob(ID.mob.TEMENOS_C_MOB[2]+7) + SpawnMob(ID.mob.TEMENOS_C_MOB[2]+13) + end + end, + } + end + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Enhanced_Ahriman.lua b/scripts/zones/Temenos/mobs/Enhanced_Ahriman.lua index 2135d78e785..fbe0ce3936e 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Ahriman.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Ahriman.lua @@ -2,23 +2,26 @@ -- Area: Temenos Central Floor -- Mob: Enhanced Ahriman ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob,target) - if (IsMobDead(16929050)==true) then - mob:addStatusEffect(dsp.effect.REGAIN,7,3,0); - mob:addStatusEffect(dsp.effect.REGEN,50,3,0); - end -end; +function onMobEngaged(mob, target) + if GetMobByID(ID.mob.TEMENOS_C_MOB[1]+4):isDead() then + mob:addStatusEffect(dsp.effect.REGAIN, 7, 3, 0) + mob:addStatusEffect(dsp.effect.REGEN, 50, 3, 0) + end +end function onMobDeath(mob, player, isKiller) - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - if (IsMobDead(16929046)==true and IsMobDead(16929047)==true and IsMobDead(16929048)==true and IsMobDead(16929049)==true and IsMobDead(16929050)==true and IsMobDead(16929051)==true) then - GetNPCByID(16928768+71):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+71):setStatus(dsp.status.NORMAL); - GetNPCByID(16928770+471):setStatus(dsp.status.NORMAL); - end -end; + if isKiller then + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + if GetMobByID(ID.mob.TEMENOS_C_MOB[1]):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[1]+1):isDead() and + GetMobByID(ID.mob.TEMENOS_C_MOB[1]+2):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[1]+3):isDead() and + GetMobByID(ID.mob.TEMENOS_C_MOB[1]+4):isDead() + then + GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setStatus(dsp.status.NORMAL) + end + end +end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua b/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua index 6511bc90fd7..663f4126a07 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua @@ -2,21 +2,77 @@ -- Area: Temenos W T -- Mob: Enhanced Beetle ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobEngaged(mob,target) +require("scripts/globals/status") +require("scripts/globals/limbus") +require("scripts/globals/pathfind") +local ID = require("scripts/zones/Temenos/IDs") +local flags = dsp.path.flag.NONE +local path = +{ + [0] = + { + {18.000, 80.000, -140.000}, + {8.000, 80.000, -140.000} + }, + [1] = + { + {20.000, 80.000, -138.000}, + {20.000, 80.000, -128.000} + }, + [2] = + { + {22.000, 80.000, -140.000}, + {32.000, 80.000, -140.000} + }, + [3] = + { + {58.000, 80.000, -140.000}, + {48.000, 80.000, -140.000} + }, + [4] = + { + {60.000, 80.000, -138.000}, + {60.000, 80.000, -128.000} + }, + [5] = + { + {62.000, 80.000, -140.000}, + {72.000, 80.000, -140.000} + }, +} -end; +function onMobRoam(mob) + local offset = mob:getID() - ID.mob.TEMENOS_W_MOB[3] + local pause = mob:getLocalVar("pause") + if pause < os.time() then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) + mob:setLocalVar("pause", os.time()+30) + end +end function onMobDeath(mob, player, isKiller) -local cofferID=Randomcoffer(3,Temenos_Western_Tower); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - GetNPCByID(16929237):setStatus(dsp.status.NORMAL); - if (cofferID~=0) then - GetNPCByID(16928768+cofferID):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+cofferID):setStatus(dsp.status.NORMAL); - end -end; + if isKiller then + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + local mobID = mob:getID() + local spawn = math.random(3) == 1 + + if GetNPCByID(ID.npc.TEMENOS_W_GATE[3]):getAnimation() == dsp.animation.CLOSE_DOOR then + dsp.limbus.handleDoors(player:getBattlefield(), true, ID.npc.TEMENOS_W_GATE[3]) + end + + if spawn then + local battlefield = player:getBattlefield() + for i = 0, 2 do + if GetNPCByID(ID.npc.TEMENOS_W_CRATE[3]+i):getStatus() == dsp.status.DISAPPEAR then + GetNPCByID(ID.npc.TEMENOS_W_CRATE[3]+i):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[3]+i, player, "crateMaskF3", battlefield:getLocalVar("crateMaskF3")) + break + end + end + end + end +end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua b/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua index 84b960e6438..3b149b527fc 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua @@ -2,23 +2,27 @@ -- Area: Temenos Central Floor -- Mob: Enhanced Dragon ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob,target) - if (IsMobDead(16929051)==true) then - mob:addStatusEffect(dsp.effect.REGAIN,7,3,0); - mob:addStatusEffect(dsp.effect.REGEN,50,3,0); - end -end; +function onMobEngaged(mob, target) + if GetMobByID(ID.mob.TEMENOS_C_MOB[1]+5):isDead() then + mob:addStatusEffect(dsp.effect.REGAIN, 7, 3, 0) + mob:addStatusEffect(dsp.effect.REGEN, 50, 3, 0) + end +end function onMobDeath(mob, player, isKiller) - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - if (IsMobDead(16929046)==true and IsMobDead(16929047)==true and IsMobDead(16929048)==true and IsMobDead(16929049)==true and IsMobDead(16929050)==true and IsMobDead(16929051)==true) then - GetNPCByID(16928768+71):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+71):setStatus(dsp.status.NORMAL); - GetNPCByID(16928770+471):setStatus(dsp.status.NORMAL); - end -end; + if isKiller then + local battlefield = player:getBattlefield() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + if GetMobByID(ID.mob.TEMENOS_C_MOB[1]):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[1]+1):isDead() and + GetMobByID(ID.mob.TEMENOS_C_MOB[1]+2):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[1]+3):isDead() and + GetMobByID(ID.mob.TEMENOS_C_MOB[1]+5):isDead() + then + GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setStatus(dsp.status.NORMAL) + end + end +end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua b/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua index e100411c809..18577813813 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua @@ -2,21 +2,98 @@ -- Area: Temenos W T -- Mob: Enhanced Lizard ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobEngaged(mob,target) +require("scripts/globals/status") +require("scripts/globals/limbus") +require("scripts/globals/pathfind") +local ID = require("scripts/zones/Temenos/IDs") +local flags = dsp.path.flag.NONE +local path = +{ + [0] = + { + {-87.000, -80.000, -150.500}, + {-153.000, -80.000, -150.500} + }, + [1] = + { + {-150.000, -80.000, -147.000}, + {-130.000, -80.000, -147.000} + }, + [2] = + { + {-90.000, -80.000, -147.000}, + {-110.000, -80.000, -147.000} + }, + [3] = + { + {-153.000, -80.000, -142.000}, + {-87.000, -80.000, -142.000} + }, + [4] = + { + {-87.000, -80.000, -138.000}, + {-153.000, -80.000, -138.000} + }, + [5] = + { + {-111.960, -80.000, -140.000}, + {-127.960, -80.000, -140.000} + }, + [6] = + { + {-150.000, -80.000, -133.000}, + {-130.000, -80.000, -133.000} + }, + [7] = + { + {-90.000, -80.000, -133.000}, + {-110.000, -80.000, -133.000} + }, + [8] = + { + {-153.000, -80.000, -129.500}, + {-87.000, -80.000, -129.500} + }, +} -end; +function onMobRoam(mob) + local offset = mob:getID() - ID.mob.TEMENOS_W_MOB[4] + local pause = mob:getLocalVar("pause") + if pause < os.time() then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) + if offset == 5 then + mob:setLocalVar("pause", os.time()+10) + elseif offset == 1 or offset == 2 or offset == 6 or offset == 7 then + mob:setLocalVar("pause", os.time()+17) + else + mob:setLocalVar("pause", os.time()+25) + end + end +end function onMobDeath(mob, player, isKiller) -local cofferID=Randomcoffer(4,Temenos_Western_Tower); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - GetNPCByID(16929238):setStatus(dsp.status.NORMAL); - if (cofferID~=0) then - GetNPCByID(16928768+cofferID):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+cofferID):setStatus(dsp.status.NORMAL); - end -end; + if isKiller then + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + local mobID = mob:getID() + local spawn = math.random(4) == 1 + + if GetNPCByID(ID.npc.TEMENOS_W_GATE[4]):getAnimation() == dsp.animation.CLOSE_DOOR then + dsp.limbus.handleDoors(player:getBattlefield(), true, ID.npc.TEMENOS_W_GATE[4]) + end + + if spawn then + local battlefield = player:getBattlefield() + for i = 0, 2 do + if GetNPCByID(ID.npc.TEMENOS_W_CRATE[4]+i):getStatus() == dsp.status.DISAPPEAR then + GetNPCByID(ID.npc.TEMENOS_W_CRATE[4]+i):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[4]+i, player, "crateMaskF4", battlefield:getLocalVar("crateMaskF4")) + break + end + end + end + end +end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua b/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua index f99ffa4a02f..732ffeedc1d 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua @@ -2,21 +2,92 @@ -- Area: Temenos W T -- Mob: Enhanced Mandragora ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobEngaged(mob,target) +require("scripts/globals/status") +require("scripts/globals/limbus") +require("scripts/globals/pathfind") +local ID = require("scripts/zones/Temenos/IDs") +local flags = dsp.path.flag.NONE +local path = +{ + [0] = + { + {198.000, -81.000, -74.000}, + {198.000, -81.000, -86.000} + }, + [1] = + { + {202.000, -81.000, -86.000}, + {202.000, -81.000, -74.000} + }, + [2] = + { + {207.000, -81.000, -88.000}, + {193.000, -81.000, -88.000} + }, + [3] = + { + {208.000, -81.000, -73.000}, + {208.000, -81.000, -87.000} + }, + [4] = + { + {193.000, -81.000, -72.000}, + {207.000, -81.000, -72.000} + }, + [5] = + { + {192.000, -81.000, -87.000}, + {192.000, -81.000, -73.000} + }, + [6] = + { + {203.560, -80.000, -140.000}, + {232.680, -80.000, -140.000} + }, + [7] = + { + {205.640, -80.000, -140.000}, + {234.600, -80.000, -140.000} + }, + [8] = + { + {207.600, -80.000, -140.000}, + {236.560, -80.000, -140.000} + }, +} -end; +function onMobRoam(mob) + local offset = mob:getID() - ID.mob.TEMENOS_W_MOB[2] + local pause = mob:getLocalVar("pause") + if pause < os.time() then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) + mob:setLocalVar("pause", os.time()+15) + end +end function onMobDeath(mob, player, isKiller) -local cofferID=Randomcoffer(2,Temenos_Western_Tower); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - GetNPCByID(16929236):setStatus(dsp.status.NORMAL); - if (cofferID~=0) then - GetNPCByID(16928768+cofferID):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+cofferID):setStatus(dsp.status.NORMAL); - end -end; + if isKiller then + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + local mobID = mob:getID() + local spawn = math.random(4) == 1 + + if GetNPCByID(ID.npc.TEMENOS_W_GATE[2]):getAnimation() == dsp.animation.CLOSE_DOOR then + dsp.limbus.handleDoors(player:getBattlefield(), true, ID.npc.TEMENOS_W_GATE[2]) + end + + if spawn then + local battlefield = player:getBattlefield() + for i = 0, 2 do + if GetNPCByID(ID.npc.TEMENOS_W_CRATE[2]+i):getStatus() == dsp.status.DISAPPEAR then + GetNPCByID(ID.npc.TEMENOS_W_CRATE[2]+i):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[2]+i, player, "crateMaskF2", battlefield:getLocalVar("crateMaskF2")) + break + end + end + end + end +end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua b/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua index 5eddc390f8e..f306f0b3ae0 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua @@ -2,21 +2,34 @@ -- Area: Temenos W T -- Mob: Enhanced Pugil ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobEngaged(mob,target) +require("scripts/globals/status") +require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") -end; +function onMobEngaged(mob, target) +end function onMobDeath(mob, player, isKiller) -local cofferID=Randomcoffer(6,Temenos_Western_Tower); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - GetNPCByID(16929240):setStatus(dsp.status.NORMAL); - if (cofferID~=0) then - GetNPCByID(16928768+cofferID):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+cofferID):setStatus(dsp.status.NORMAL); - end -end; + if isKiller then + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + local mobID = mob:getID() + local spawn = math.random(3) == 1 + + if GetNPCByID(ID.npc.TEMENOS_W_GATE[6]):getAnimation() == dsp.animation.CLOSE_DOOR then + dsp.limbus.handleDoors(player:getBattlefield(), true, ID.npc.TEMENOS_W_GATE[6]) + end + + if spawn then + local battlefield = player:getBattlefield() + for i = 0, 2 do + if GetNPCByID(ID.npc.TEMENOS_W_CRATE[6]+i):getStatus() == dsp.status.DISAPPEAR then + GetNPCByID(ID.npc.TEMENOS_W_CRATE[6]+i):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[6]+i, player, "crateMaskF6", battlefield:getLocalVar("crateMaskF6")) + break + end + end + end + end +end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Slime.lua b/scripts/zones/Temenos/mobs/Enhanced_Slime.lua index 7896b5241e0..b7d4465e70e 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Slime.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Slime.lua @@ -2,21 +2,58 @@ -- Area: Temenos W T -- Mob: Enhanced Slime ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +require("scripts/globals/status") +require("scripts/globals/limbus") +require("scripts/globals/pathfind") +local ID = require("scripts/zones/Temenos/IDs") +local flags = dsp.path.flag.WALLHACK +local path = +{ + [2] = + { + {-300.000, 79.500, -130.000}, + {-300.000, 79.500, -150.000} + }, + [5] = + { + {-260.000, 79.500, -130.000}, + {-260.000, 79.500, -150.000} + }, -function onMobEngaged(mob,target) +} -end; +function onMobRoam(mob) + local offset = mob:getID() - ID.mob.TEMENOS_W_MOB[5] + local pause = mob:getLocalVar("pause") + if pause < os.time() and (offset == 2 or offset == 5) then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) + mob:setLocalVar("pause", os.time()+35) + end +end function onMobDeath(mob, player, isKiller) -local cofferID=Randomcoffer(5,Temenos_Western_Tower); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - GetNPCByID(16929239):setStatus(dsp.status.NORMAL); - if (cofferID~=0) then - GetNPCByID(16928768+cofferID):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+cofferID):setStatus(dsp.status.NORMAL); - end -end; + if isKiller then + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + local mobID = mob:getID() + local spawn = math.random(3) == 1 + + if GetNPCByID(ID.npc.TEMENOS_W_GATE[5]):getAnimation() == dsp.animation.CLOSE_DOOR then + dsp.limbus.handleDoors(player:getBattlefield(), true, ID.npc.TEMENOS_W_GATE[5]) + end + + if spawn then + local battlefield = player:getBattlefield() + for i = 0, 2 do + if GetNPCByID(ID.npc.TEMENOS_W_CRATE[5]+i):getStatus() == dsp.status.DISAPPEAR then + GetNPCByID(ID.npc.TEMENOS_W_CRATE[5]+i):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[5]+i, player, "crateMaskF5", battlefield:getLocalVar("crateMaskF5")) + break + end + end + end + end +end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua b/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua index de5e8d5df27..4ff36e0ed97 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua @@ -2,21 +2,58 @@ -- Area: Temenos W T -- Mob: Enhanced Tiger ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +require("scripts/globals/status") +require("scripts/globals/limbus") +require("scripts/globals/pathfind") +local ID = require("scripts/zones/Temenos/IDs") +local flags = dsp.path.flag.NONE +local path = +{ + [2] = + { + {377.635, 74.000, -100.000}, + {343.635, 68.000, -100.000} + }, + [6] = + { + {340.000, 74.000, -137.500}, + {340.000, 68.000, -103.500} + }, -function onMobEngaged(mob,target) +} -end; +function onMobRoam(mob) + local offset = mob:getID() - ID.mob.TEMENOS_W_MOB[1] + local pause = mob:getLocalVar("pause") + if pause < os.time() and (offset == 2 or offset == 6) then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) + mob:setLocalVar("pause", os.time()+20) + end +end function onMobDeath(mob, player, isKiller) -local cofferID=Randomcoffer(1,Temenos_Western_Tower); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - GetNPCByID(16929235):setStatus(dsp.status.NORMAL); - if (cofferID~=0) then - GetNPCByID(16928768+cofferID):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+cofferID):setStatus(dsp.status.NORMAL); - end -end; + if isKiller then + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + local mobID = mob:getID() + local spawn = math.random(4) == 1 + + if GetNPCByID(ID.npc.TEMENOS_W_GATE[1]):getAnimation() == dsp.animation.CLOSE_DOOR then + dsp.limbus.handleDoors(player:getBattlefield(), true, ID.npc.TEMENOS_W_GATE[1]) + end + + if spawn then + local battlefield = player:getBattlefield() + for i = 0, 2 do + if GetNPCByID(ID.npc.TEMENOS_W_CRATE[1]+i):getStatus() == dsp.status.DISAPPEAR then + GetNPCByID(ID.npc.TEMENOS_W_CRATE[1]+i):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[1]+i, player, "crateMaskF1", battlefield:getLocalVar("crateMaskF1")) + break + end + end + end + end +end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua b/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua index 1cfb69b0aaa..45d62f5a728 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua @@ -2,27 +2,24 @@ -- Area: Temenos W T -- Mob: Enhanced Vulture ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob,target) - GetMobByID(16928959):updateEnmity(target); - GetMobByID(16928960):updateEnmity(target); - GetMobByID(16928961):updateEnmity(target); - GetMobByID(16928962):updateEnmity(target); - GetMobByID(16928963):updateEnmity(target); - GetMobByID(16928964):updateEnmity(target); -end; +function onMobEngaged(mob, target) + GetMobByID(ID.mob.TEMENOS_W_MOB[7]):updateEnmity(target) + GetMobByID(ID.mob.TEMENOS_W_MOB[7]+1):updateEnmity(target) + GetMobByID(ID.mob.TEMENOS_W_MOB[7]+2):updateEnmity(target) + GetMobByID(ID.mob.TEMENOS_W_MOB[7]+3):updateEnmity(target) + GetMobByID(ID.mob.TEMENOS_W_MOB[7]+4):updateEnmity(target) + GetMobByID(ID.mob.TEMENOS_W_MOB[7]+5):updateEnmity(target) +end function onMobDeath(mob, player, isKiller) - - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - if (IsMobDead(16928959)==true and IsMobDead(16928960)==true and IsMobDead(16928961)==true - and IsMobDead(16928962)==true and IsMobDead(16928963)==true and IsMobDead(16928964)==true) then - GetNPCByID(16928768+17):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+17):setStatus(dsp.status.NORMAL); - GetNPCByID(16928770+470):setStatus(dsp.status.NORMAL); - end -end; + if isKiller then + if GetMobByID(ID.mob.TEMENOS_W_MOB[7]):isDead() and GetMobByID(ID.mob.TEMENOS_W_MOB[7]+1):isDead() and + GetMobByID(ID.mob.TEMENOS_W_MOB[7]+2):isDead() and GetMobByID(ID.mob.TEMENOS_W_MOB[7]+3):isDead() and + GetMobByID(ID.mob.TEMENOS_W_MOB[7]+4):isDead() and GetMobByID(ID.mob.TEMENOS_W_MOB[7]+5):isDead() + then + GetNPCByID(ID.npc.TEMENOS_W_CRATE[7]):setStatus(dsp.status.NORMAL) + end + end +end diff --git a/scripts/zones/Temenos/mobs/Fire_Elemental.lua b/scripts/zones/Temenos/mobs/Fire_Elemental.lua index 5eb2ab500e0..d9555e736b8 100644 --- a/scripts/zones/Temenos/mobs/Fire_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Fire_Elemental.lua @@ -2,40 +2,43 @@ -- Area: Temenos E T -- Mob: Fire Elemental ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobEngaged(mob,target) - -end; +require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") function onMobDeath(mob, player, isKiller) - local mobID = mob:getID(); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - switch (mobID): caseof { - [16928840] = function (x) - GetNPCByID(16928768+173):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+173):setStatus(dsp.status.NORMAL); - end , - [16928841] = function (x) - GetNPCByID(16928768+215):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+215):setStatus(dsp.status.NORMAL); - end , - [16928842] = function (x) - GetNPCByID(16928768+284):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+284):setStatus(dsp.status.NORMAL); - end , - [16928843] = function (x) - GetNPCByID(16928768+40):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+40):setStatus(dsp.status.NORMAL); - end , - [16929033] = function (x) - if (IsMobDead(16929034)==false) then -- ice - DespawnMob(16929034); - SpawnMob(16929040); - end - end , - } -end; \ No newline at end of file + if isKiller then + local mobID = mob:getID() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + local battlefield = player:getBattlefield() + if battlefield:getLocalVar("crateOpenedF1") ~= 1 then + switch (mobID): caseof + { + [ID.mob.TEMENOS_E_MOB[1]] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[1]):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[1], player, "crateMaskF1", battlefield:getLocalVar("crateMaskF1"), true) + end, + [ID.mob.TEMENOS_E_MOB[1]+1] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[1]+1):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[1]+1, player, "crateMaskF1", battlefield:getLocalVar("crateMaskF1"), true) + end, + [ID.mob.TEMENOS_E_MOB[1]+2] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[1]+2):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[1]+2, player, "crateMaskF1", battlefield:getLocalVar("crateMaskF1"), true) + end, + [ID.mob.TEMENOS_E_MOB[1]+3] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[1]+3):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[1]+3, player, "crateMaskF1", battlefield:getLocalVar("crateMaskF1"), true) + end, + [ID.mob.TEMENOS_C_MOB[2]+3] = function() + GetMobByID(ID.mob.TEMENOS_C_MOB[2]):setMod(dsp.mod.FIREDEF, -128) + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+4):isAlive() then + DespawnMob(ID.mob.TEMENOS_C_MOB[2]+4) + SpawnMob(ID.mob.TEMENOS_C_MOB[2]+10) + end + end, + } + end + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Fossil_Quadav.lua b/scripts/zones/Temenos/mobs/Fossil_Quadav.lua new file mode 100644 index 00000000000..0234abbbd9d --- /dev/null +++ b/scripts/zones/Temenos/mobs/Fossil_Quadav.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Temenos +-- Mob: Fossil Quadav +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Temenos/mobs/Goblin_Fencer.lua b/scripts/zones/Temenos/mobs/Goblin_Fencer.lua index 3e947473856..2e9ab929ac0 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Fencer.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Fencer.lua @@ -2,21 +2,22 @@ -- Area: Temenos N T -- Mob: Goblin Fencer ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobEngaged(mob,target) -GetMobByID(16928831):updateEnmity(target); -GetMobByID(16928833):updateEnmity(target); -GetMobByID(16928835):updateEnmity(target); +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") -end; +function onMobEngaged(mob, target) + GetMobByID(ID.mob.TEMENOS_N_MOB[7]):updateEnmity(target) + GetMobByID(ID.mob.TEMENOS_N_MOB[7]+2):updateEnmity(target) + GetMobByID(ID.mob.TEMENOS_N_MOB[7]+4):updateEnmity(target) +end function onMobDeath(mob, player, isKiller) - if (IsMobDead(16928831)==true and IsMobDead(16928832)==true and IsMobDead(16928833)==true and IsMobDead(16928834)==true and IsMobDead(16928835)==true ) then - GetNPCByID(16928768+39):setPos(-599,85,438); - GetNPCByID(16928768+39):setStatus(dsp.status.NORMAL); - - GetNPCByID(16928768+456):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file + if isKiller then + if GetMobByID(ID.mob.TEMENOS_N_MOB[7]):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[7]+1):isDead() and + GetMobByID(ID.mob.TEMENOS_N_MOB[7]+2):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[7]+3):isDead() and + GetMobByID(ID.mob.TEMENOS_N_MOB[7]+4):isDead() + then + GetNPCByID(ID.npc.TEMENOS_N_CRATE[7]):setStatus(dsp.status.NORMAL) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Goblin_Slaughterman.lua b/scripts/zones/Temenos/mobs/Goblin_Slaughterman.lua index ca3233299a9..9b955d2c1cb 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Slaughterman.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Slaughterman.lua @@ -2,20 +2,28 @@ -- Area: Temenos N T -- Mob: Goblin Slaughterman ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +require("scripts/globals/limbus") +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobDeath(mob, player, isKiller) - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local random = battlefield:getLocalVar("randomF1") + + if mobID - ID.mob.TEMENOS_N_MOB[1] == random - 1 then + dsp.limbus.handleDoors(battlefield, true, ID.npc.TEMENOS_N_GATE[1]) + end - if (mobID ==16928773) then - GetNPCByID(16928768+18):setPos(330,70,468); - GetNPCByID(16928768+18):setStatus(dsp.status.NORMAL); - elseif (mobID ==16928772) then - GetNPCByID(16928770+450):setStatus(dsp.status.NORMAL); - end -end; + if mobID == ID.mob.TEMENOS_N_MOB[1]+1 and random % 2 == 1 then + GetNPCByID(ID.npc.TEMENOS_N_CRATE[1]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[1]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[1]+2):setStatus(dsp.status.NORMAL) + elseif mobID == ID.mob.TEMENOS_N_MOB[1] and random % 2 == 0 then + GetNPCByID(ID.npc.TEMENOS_N_CRATE[1]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[1]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[1]+2):setStatus(dsp.status.NORMAL) + end + end +end diff --git a/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua b/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua index 815a8127701..ca1f6d39353 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua @@ -2,21 +2,22 @@ -- Area: Temenos N T -- Mob: Goblin Theurgist ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobEngaged(mob,target) -GetMobByID(16928831):updateEnmity(target); -GetMobByID(16928832):updateEnmity(target); -GetMobByID(16928834):updateEnmity(target); +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") -end; +function onMobEngaged(mob, target) + GetMobByID(ID.mob.TEMENOS_N_MOB[7]):updateEnmity(target) + GetMobByID(ID.mob.TEMENOS_N_MOB[7]+1):updateEnmity(target) + GetMobByID(ID.mob.TEMENOS_N_MOB[7]+3):updateEnmity(target) +end function onMobDeath(mob, player, isKiller) - if (IsMobDead(16928831)==true and IsMobDead(16928832)==true and IsMobDead(16928833)==true and IsMobDead(16928834)==true and IsMobDead(16928835)==true ) then - GetNPCByID(16928768+39):setPos(-599,85,438); - GetNPCByID(16928768+39):setStatus(dsp.status.NORMAL); - - GetNPCByID(16928768+456):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file + if isKiller then + if GetMobByID(ID.mob.TEMENOS_N_MOB[7]):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[7]+1):isDead() and + GetMobByID(ID.mob.TEMENOS_N_MOB[7]+2):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[7]+3):isDead() and + GetMobByID(ID.mob.TEMENOS_N_MOB[7]+4):isDead() + then + GetNPCByID(ID.npc.TEMENOS_N_CRATE[7]):setStatus(dsp.status.NORMAL) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Goblin_Warlord.lua b/scripts/zones/Temenos/mobs/Goblin_Warlord.lua index 6b70a07e183..4297ca6354c 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Warlord.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Warlord.lua @@ -2,21 +2,16 @@ -- Area: Temenos N T -- Mob: Goblin Warlord ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobEngaged(mob,target) -GetMobByID(16928831):updateEnmity(target); -GetMobByID(16928832):updateEnmity(target); -GetMobByID(16928833):updateEnmity(target); -GetMobByID(16928834):updateEnmity(target); -end; +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobDeath(mob, player, isKiller) - if (IsMobDead(16928831)==true and IsMobDead(16928832)==true and IsMobDead(16928833)==true and IsMobDead(16928834)==true and IsMobDead(16928835)==true ) then - GetNPCByID(16928768+39):setPos(-599,85,438); - GetNPCByID(16928768+39):setStatus(dsp.status.NORMAL); - - GetNPCByID(16928768+456):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file + if isKiller then + if GetMobByID(ID.mob.TEMENOS_N_MOB[7]):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[7]+1):isDead() and + GetMobByID(ID.mob.TEMENOS_N_MOB[7]+2):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[7]+3):isDead() and + GetMobByID(ID.mob.TEMENOS_N_MOB[7]+4):isDead() + then + GetNPCByID(ID.npc.TEMENOS_N_CRATE[7]):setStatus(dsp.status.NORMAL) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Grognard_Footsoldier.lua b/scripts/zones/Temenos/mobs/Grognard_Footsoldier.lua new file mode 100644 index 00000000000..7f8839a098f --- /dev/null +++ b/scripts/zones/Temenos/mobs/Grognard_Footsoldier.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Temenos +-- Mob: Grognard Footsoldier +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Temenos/mobs/Grognard_Grappler.lua b/scripts/zones/Temenos/mobs/Grognard_Grappler.lua new file mode 100644 index 00000000000..c01bd4780c4 --- /dev/null +++ b/scripts/zones/Temenos/mobs/Grognard_Grappler.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Temenos +-- Mob: Grognard Grappler +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Temenos/mobs/Grognard_Impaler.lua b/scripts/zones/Temenos/mobs/Grognard_Impaler.lua new file mode 100644 index 00000000000..75b918593bb --- /dev/null +++ b/scripts/zones/Temenos/mobs/Grognard_Impaler.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Temenos +-- Mob: Grognard Impaler +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Temenos/mobs/Grognard_Mesmerizer.lua b/scripts/zones/Temenos/mobs/Grognard_Mesmerizer.lua new file mode 100644 index 00000000000..7e6ad28620b --- /dev/null +++ b/scripts/zones/Temenos/mobs/Grognard_Mesmerizer.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Temenos +-- Mob: Grognard Mesmerizer +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Temenos/mobs/Grognard_Neckchopper.lua b/scripts/zones/Temenos/mobs/Grognard_Neckchopper.lua new file mode 100644 index 00000000000..608fddb8298 --- /dev/null +++ b/scripts/zones/Temenos/mobs/Grognard_Neckchopper.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Temenos +-- Mob: Grognard Neckchopper +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Temenos/mobs/Grognard_Predator.lua b/scripts/zones/Temenos/mobs/Grognard_Predator.lua new file mode 100644 index 00000000000..b80e3fe7f64 --- /dev/null +++ b/scripts/zones/Temenos/mobs/Grognard_Predator.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Temenos +-- Mob: Grognard Predator +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Temenos/mobs/Ice_Elemental.lua b/scripts/zones/Temenos/mobs/Ice_Elemental.lua index 4ebabc615c5..404628ed627 100644 --- a/scripts/zones/Temenos/mobs/Ice_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Ice_Elemental.lua @@ -2,43 +2,81 @@ -- Area: Temenos E T -- Mob: Ice Elemental ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobEngaged(mob,target) +require("scripts/globals/limbus") +require("scripts/globals/pathfind") +local ID = require("scripts/zones/Temenos/IDs") +local flags = dsp.path.flag.NONE +local path = +{ + [0] = + { + {200.000, -161.000, 197.000}, + {200.000, -161.000, 190.000} + }, + [1] = + { + {197.000, -161.000, 200.000}, + {190.000, -161.000, 200.000} + }, + [2] = + { + {200.000, -161.000, 203.000}, + {200.000, -161.000, 210.000} + }, + [3] = + { + {203.000, -161.000, 200.000}, + {210.000, -161.000, 200.000} + }, +} -end; +function onMobRoam(mob) + if mob:getBattlefieldID() == 1300 then + local offset = mob:getID() - ID.mob.TEMENOS_E_MOB[2] + local pause = mob:getLocalVar("pause") + if pause < os.time() then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) + mob:setLocalVar("pause", os.time()+5) + end + end +end function onMobDeath(mob, player, isKiller) - local mobID = mob:getID(); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - switch (mobID): caseof { - -- 100 a 106 inclut (Temenos -Northern Tower ) - [16928849] = function (x) - GetNPCByID(16928768+174):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+174):setStatus(dsp.status.NORMAL); - end , - [16928850] = function (x) - GetNPCByID(16928768+216):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+216):setStatus(dsp.status.NORMAL); - end , - [16928851] = function (x) - GetNPCByID(16928768+321):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+321):setStatus(dsp.status.NORMAL); - end , - [16928852] = function (x) - GetNPCByID(16928768+45):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+45):setStatus(dsp.status.NORMAL); - end , - [16929034] = function (x) - if (IsMobDead(16929035)==false) then -- wind - DespawnMob(16929035); - SpawnMob(16929041); - end - end , - - - } -end; \ No newline at end of file + if isKiller then + local mobID = mob:getID() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + local battlefield = player:getBattlefield() + if battlefield:getLocalVar("crateOpenedF2") ~= 1 then + switch (mobID): caseof + { + [ID.mob.TEMENOS_E_MOB[2]] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[2]):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[2], player, "crateMaskF2", battlefield:getLocalVar("crateMaskF2"), true) + end, + [ID.mob.TEMENOS_E_MOB[2]+1] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[2]+1):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[2]+1, player, "crateMaskF2", battlefield:getLocalVar("crateMaskF2"), true) + end, + [ID.mob.TEMENOS_E_MOB[2]+2] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[2]+2):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[2]+2, player, "crateMaskF2", battlefield:getLocalVar("crateMaskF2"), true) + end, + [ID.mob.TEMENOS_E_MOB[2]+3] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[2]+3):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[2]+3, player, "crateMaskF2", battlefield:getLocalVar("crateMaskF2"), true) + end, + [ID.mob.TEMENOS_C_MOB[2]+4] = function() + GetMobByID(ID.mob.TEMENOS_C_MOB[2]):setMod(dsp.mod.ICEDEF, -128) + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+5):isAlive() then + DespawnMob(ID.mob.TEMENOS_C_MOB[2]+5) + SpawnMob(ID.mob.TEMENOS_C_MOB[2]+11) + end + end, + } + end + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Iruci.lua b/scripts/zones/Temenos/mobs/Iruci.lua index dce7b28d6fb..fe5a7125281 100644 --- a/scripts/zones/Temenos/mobs/Iruci.lua +++ b/scripts/zones/Temenos/mobs/Iruci.lua @@ -2,24 +2,27 @@ -- Area: Temenos Central Floor -- Mob: Iruci ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob,target) - if (IsMobDead(16929049)==true) then - mob:addStatusEffect(dsp.effect.REGAIN,7,3,0); - mob:addStatusEffect(dsp.effect.REGEN,50,3,0); - end -end; +function onMobEngaged(mob, target) + if GetMobByID(ID.mob.TEMENOS_C_MOB[1]+3):isDead() then + mob:addStatusEffect(dsp.effect.REGAIN, 7, 3, 0) + mob:addStatusEffect(dsp.effect.REGEN, 50, 3, 0) + end +end function onMobDeath(mob, player, isKiller) - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - - if (IsMobDead(16929046)==true and IsMobDead(16929047)==true and IsMobDead(16929048)==true and IsMobDead(16929049)==true and IsMobDead(16929050)==true and IsMobDead(16929051)==true) then - GetNPCByID(16928768+71):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+71):setStatus(dsp.status.NORMAL); - GetNPCByID(16928770+471):setStatus(dsp.status.NORMAL); - end -end; + if isKiller then + local battlefield = player:getBattlefield() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + if GetMobByID(ID.mob.TEMENOS_C_MOB[1]):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[1]+1):isDead() and + GetMobByID(ID.mob.TEMENOS_C_MOB[1]+3):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[1]+4):isDead() and + GetMobByID(ID.mob.TEMENOS_C_MOB[1]+5):isDead() + then + GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setStatus(dsp.status.NORMAL) + end + end +end diff --git a/scripts/zones/Temenos/mobs/Kari.lua b/scripts/zones/Temenos/mobs/Kari.lua index 5b87366dd66..2599408dbd7 100644 --- a/scripts/zones/Temenos/mobs/Kari.lua +++ b/scripts/zones/Temenos/mobs/Kari.lua @@ -2,9 +2,33 @@ -- Area: Temenos N T -- Mob: Kari ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +require("scripts/globals/limbus") +require("scripts/globals/pathfind") +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") +local flags = dsp.path.flag.WALLHACK +local path = +{ + {185.000, -82.000, 465.000}, + {215.000, -82.000, 465.000}, + {215.000, -82.000, 495.500}, + {185.000, -82.000, 495.000} +} + +function onMobRoam(mob) + local pause = mob:getLocalVar("pause") + if pause < os.time() then + local point = (mob:getLocalVar("point") % 4)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[point][1], path[point][2], path[point][3], flags) + mob:setLocalVar("pause", os.time()+15) + end +end function onMobDeath(mob, player, isKiller) - GetNPCByID(16928770+451):setStatus(dsp.status.NORMAL); -end; + if isKiller then + local battlefield = player:getBattlefield() + battlefield:setLocalVar("randomF3", math.random(1,6)) + dsp.limbus.handleDoors(battlefield, true, ID.npc.TEMENOS_N_GATE[2]) + end +end diff --git a/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua b/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua index 14130d1aa91..e7a763d9aa8 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua @@ -2,13 +2,54 @@ -- Area: Temenos N T -- Mob: Kindred Black Mage ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobEngaged(mob,target) +require("scripts/globals/limbus") +require("scripts/globals/pathfind") +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") +local flags = dsp.path.flag.WALLHACK + dsp.path.flag.RUN +local path = +{ + [5] = + { + {-148.860, -80.000, 427.000}, + {-91.860, -80.000, 427.000} + }, + [6] = + { + {-148.860, -80.000, 430.000}, + {-91.860, -80.000, 430.000} + }, + [7] = + { + {-91.860, -80.000, 410.000}, + {-148.860, -80.000, 410.000} + }, + [8] = + { + {-91.860, -80.000, 413.000}, + {-148.860, -80.000, 413.000} + }, +} -end; +function onMobRoam(mob) + local offset = mob:getID() - ID.mob.TEMENOS_N_MOB[4] + local pause = mob:getLocalVar("pause") + if pause < os.time() then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) + mob:setLocalVar("pause", os.time()+10) + end +end function onMobDeath(mob, player, isKiller) - GetNPCByID(16928770+453):setStatus(dsp.status.NORMAL); -end; + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local random = battlefield:getLocalVar("randomF4") + + if mobID - ID.mob.TEMENOS_N_MOB[4] == random + 4 then + dsp.limbus.handleDoors(battlefield, true, ID.npc.TEMENOS_N_GATE[4]) + end + end +end diff --git a/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua b/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua index 1410a13a819..809b29e7be2 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua @@ -2,20 +2,20 @@ -- Area: Temenos N T -- Mob: Kindred Dark Knight ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobEngaged(mob,target) +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") -end; +function onMobEngaged(mob, target) + GetMobByID(ID.mob.TEMENOS_N_MOB[4]):updateEnmity(target) + GetMobByID(ID.mob.TEMENOS_N_MOB[4]+2):updateEnmity(target) +end function onMobDeath(mob, player, isKiller) - if (IsMobDead(16928797)==true and IsMobDead(16928798)==true and IsMobDead(16928799)==true ) then - GetNPCByID(16928768+27):setPos(-120,-80,429); - GetNPCByID(16928768+27):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+161):setPos(-123,-80,429); - GetNPCByID(16928768+161):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+212):setPos(-117,-80,429); - GetNPCByID(16928768+212):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file + if isKiller then + if GetMobByID(ID.mob.TEMENOS_N_MOB[4]):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[4]+2):isDead() then + GetNPCByID(ID.npc.TEMENOS_N_CRATE[4]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[4]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[4]+2):setStatus(dsp.status.NORMAL) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Kindred_Summoner.lua b/scripts/zones/Temenos/mobs/Kindred_Summoner.lua index c7dca285aed..5bd348955ee 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Summoner.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Summoner.lua @@ -2,20 +2,20 @@ -- Area: Temenos N T -- Mob: Kindred Summoner ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob,target) -GetMobByID(16928800):updateEnmity(target); -end; +function onMobEngaged(mob, target) + GetMobByID(ID.mob.TEMENOS_N_MOB[4]):updateEnmity(target) + GetMobByID(ID.mob.TEMENOS_N_MOB[4]+1):updateEnmity(target) +end function onMobDeath(mob, player, isKiller) - if (IsMobDead(16928797)==true and IsMobDead(16928798)==true and IsMobDead(16928799)==true ) then - GetNPCByID(16928768+27):setPos(-120,-80,429); - GetNPCByID(16928768+27):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+161):setPos(-123,-80,429); - GetNPCByID(16928768+161):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+212):setPos(-117,-80,429); - GetNPCByID(16928768+212):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file + if isKiller then + if GetMobByID(ID.mob.TEMENOS_N_MOB[4]):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[4]+1):isDead() then + GetNPCByID(ID.npc.TEMENOS_N_CRATE[4]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[4]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[4]+2):setStatus(dsp.status.NORMAL) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Kindred_Warrior.lua b/scripts/zones/Temenos/mobs/Kindred_Warrior.lua index 18b17798552..0dc811a0c3f 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Warrior.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Warrior.lua @@ -2,20 +2,20 @@ -- Area: Temenos N T -- Mob: Kindred Warrior ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobEngaged(mob,target) - -end; + GetMobByID(ID.mob.TEMENOS_N_MOB[4]+1):updateEnmity(target) + GetMobByID(ID.mob.TEMENOS_N_MOB[4]+2):updateEnmity(target) +end function onMobDeath(mob, player, isKiller) - if (IsMobDead(16928797)==true and IsMobDead(16928798)==true and IsMobDead(16928799)==true ) then - GetNPCByID(16928768+27):setPos(-120,-80,429); - GetNPCByID(16928768+27):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+161):setPos(-123,-80,429); - GetNPCByID(16928768+161):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+212):setPos(-117,-80,429); - GetNPCByID(16928768+212):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file + if isKiller then + if GetMobByID(ID.mob.TEMENOS_N_MOB[4]+1):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[4]+2):isDead() then + GetNPCByID(ID.npc.TEMENOS_N_CRATE[4]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[4]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[4]+2):setStatus(dsp.status.NORMAL) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Kindreds_Avatar.lua b/scripts/zones/Temenos/mobs/Kindreds_Avatar.lua new file mode 100644 index 00000000000..44a2f35fff3 --- /dev/null +++ b/scripts/zones/Temenos/mobs/Kindreds_Avatar.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Temenos N T +-- Mob: Kindred's Avatar +----------------------------------- +mixins = {require("scripts/mixins/families/avatar")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Temenos/mobs/Koo_Buzu_the_Theomanic.lua b/scripts/zones/Temenos/mobs/Koo_Buzu_the_Theomanic.lua new file mode 100644 index 00000000000..dd915926ee7 --- /dev/null +++ b/scripts/zones/Temenos/mobs/Koo_Buzu_the_Theomanic.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Temenos +-- Mob: Koo Buzu the Theomanic +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Light_Elemental.lua b/scripts/zones/Temenos/mobs/Light_Elemental.lua index 0d3b3297a22..d4aba1b9b53 100644 --- a/scripts/zones/Temenos/mobs/Light_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Light_Elemental.lua @@ -2,37 +2,33 @@ -- Area: Temenos E T -- Mob: Light Elemental ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob,target) - local mobID = mob:getID(); - if (mobID==16929031) then - GetMobByID(16929032):updateEnmity(target); - GetMobByID(16929030):updateEnmity(target); - elseif (mobID==16929032) then - GetMobByID(16929031):updateEnmity(target); - GetMobByID(16929030):updateEnmity(target); - end -end; +function onMobEngaged(mob, target) + local mobID = mob:getID() + if mobID == ID.mob.TEMENOS_C_MOB[2]+1 then + GetMobByID(ID.mob.TEMENOS_C_MOB[2]+2):updateEnmity(target) + GetMobByID(ID.mob.TEMENOS_C_MOB[2]):updateEnmity(target) + elseif mobID == ID.mob.TEMENOS_C_MOB[2]+2 then + GetMobByID(ID.mob.TEMENOS_C_MOB[2]+1):updateEnmity(target) + GetMobByID(ID.mob.TEMENOS_C_MOB[2]):updateEnmity(target) + end +end function onMobDeath(mob, player, isKiller) - local mobID = mob:getID(); - - switch (mobID): caseof { - [16929031] = function (x) - if (IsMobDead(16929030)==true and IsMobDead(16929032)==true ) then - GetNPCByID(16928768+77):setPos(0.5,-6,-459); - GetNPCByID(16928768+77):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+472):setStatus(dsp.status.NORMAL); - end - end , - [16929032] = function (x) - if (IsMobDead(16929030)==true and IsMobDead(16929031)==true ) then - GetNPCByID(16928768+77):setPos(0.5,-6,-459); - GetNPCByID(16928768+77):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+472):setStatus(dsp.status.NORMAL); - end - end , - } -end; \ No newline at end of file + if isKiller then + local mobID = mob:getID() + switch (mobID): caseof { + [ID.mob.TEMENOS_C_MOB[2]+1] = function() + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[2]+2):isDead() then + GetNPCByID(ID.npc.TEMENOS_C_CRATE[2]):setStatus(dsp.status.NORMAL) + end + end, + [ID.mob.TEMENOS_C_MOB[2]+2] = function() + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[2]+1):isDead() then + GetNPCByID(ID.npc.TEMENOS_C_CRATE[2]):setStatus(dsp.status.NORMAL) + end + end, + } + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Lightsteel_Quadav.lua b/scripts/zones/Temenos/mobs/Lightsteel_Quadav.lua new file mode 100644 index 00000000000..cc9e8554ac2 --- /dev/null +++ b/scripts/zones/Temenos/mobs/Lightsteel_Quadav.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Temenos +-- Mob: Lightsteel Quadav +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Temenos/mobs/Moblin_Dustman.lua b/scripts/zones/Temenos/mobs/Moblin_Dustman.lua index d8f57e289af..a7baf331b69 100644 --- a/scripts/zones/Temenos/mobs/Moblin_Dustman.lua +++ b/scripts/zones/Temenos/mobs/Moblin_Dustman.lua @@ -2,21 +2,55 @@ -- Area: Temenos N T -- Mob: Moblin Dustman ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +require("scripts/globals/limbus") +require("scripts/globals/pathfind") +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") +local flags = dsp.path.flag.NONE + +local path = +{ + [2] = + { + {340.000, 67.500, 456.000}, + {340.000, 67.500, 436.000} + }, + [3] = + { + {344.000, 68.000, 460.000}, + {364.000, 68.000, 460.000} + }, + [4] = + { + {370.210, 74.000, 432.008}, + {370.210, 74.000, 408.226} + }, + [5] = + { + {375.210, 74.000, 408.226}, + {375.210, 74.000, 432.008} + }, +} + +function onMobRoam(mob) + local offset = mob:getID() - ID.mob.TEMENOS_N_MOB[1] + local pause = mob:getLocalVar("pause") + if pause < os.time() then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) + mob:setLocalVar("pause", os.time()+10) + end +end function onMobDeath(mob, player, isKiller) - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local random = battlefield:getLocalVar("randomF1") - if (mobID ==16928775) then - GetNPCByID(16928768+152):setPos(328,70,464); - GetNPCByID(16928768+152):setStatus(dsp.status.NORMAL); - elseif (mobID ==16928777) then - GetNPCByID(16928768+209):setPos(332,70,470); - GetNPCByID(16928768+209):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file + if mobID - ID.mob.TEMENOS_N_MOB[1] == random - 1 then + dsp.limbus.handleDoors(battlefield, true, ID.npc.TEMENOS_N_GATE[1]) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Mystic_Avatar.lua b/scripts/zones/Temenos/mobs/Mystic_Avatar.lua index 24d53b96815..37e95a4fad8 100644 --- a/scripts/zones/Temenos/mobs/Mystic_Avatar.lua +++ b/scripts/zones/Temenos/mobs/Mystic_Avatar.lua @@ -2,87 +2,106 @@ -- Area: Temenos E T -- Mob: Mystic Avatar ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobEngaged(mob,target) - local mobID = mob:getID(); - if (mobID==16929030) then --Carbuncle (Central Temenos 2nd Floor) - GetMobByID(16929032):updateEnmity(target); - GetMobByID(16929031):updateEnmity(target); - if (IsMobDead(16929033)==true and IsMobDead(16929039)==true) then - mob:setMod(dsp.mod.FIREDEF,-128); - else - mob:setMod(dsp.mod.FIREDEF,256); - end - - if (IsMobDead(16929034)==true and IsMobDead(16929040)==true) then - mob:setMod(dsp.mod.ICEDEF,-128); - else - mob:setMod(dsp.mod.ICEDEF,256); - end - - if (IsMobDead(16929035)==true and IsMobDead(16929041)==true) then - mob:setMod(dsp.mod.WINDDEF,-128); - else - mob:setMod(dsp.mod.WINDDEF,256); - end +require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") - if (IsMobDead(16929036)==true and IsMobDead(16929042)==true) then - mob:setMod(dsp.mod.EARTHDEF,-128); - else - mob:setMod(dsp.mod.EARTHDEF,256); - end - - if (IsMobDead(16929037)==true and IsMobDead(16929043)==true) then - mob:setMod(dsp.mod.THUNDERDEF,-128); - else - mob:setMod(dsp.mod.THUNDERDEF,256); - end - - if (IsMobDead(16929038)==true and IsMobDead(16929044)==true) then - mob:setMod(dsp.mod.WATERDEF,-128); - else - mob:setMod(dsp.mod.WATERDEF,256); - end +function onMobSpawn(mob) + local mobID = mob:getID() + if mobID == ID.mob.TEMENOS_C_MOB[2] then --Carbuncle (Central Temenos 2nd Floor) + mob:setMod(dsp.mod.FIREDEF, 256) + mob:setMod(dsp.mod.ICEDEF, 256) + mob:setMod(dsp.mod.WINDDEF, 256) + mob:setMod(dsp.mod.EARTHDEF, 256) + mob:setMod(dsp.mod.THUNDERDEF, 256) + mob:setMod(dsp.mod.WATERDEF, 256) + mob:setMod(dsp.mod.LIGHTDEF, 256) + mob:setMod(dsp.mod.DARKDEF, -128) + end +end - mob:setMod(dsp.mod.LIGHTDEF,256); - mob:setMod(dsp.mod.DARKDEF,-128); +function onMobEngaged(mob, target) + local mobID = mob:getID() + if mobID == ID.mob.TEMENOS_C_MOB[2] then --Carbuncle (Central Temenos 2nd Floor) + GetMobByID(ID.mob.TEMENOS_C_MOB[2]+2):updateEnmity(target) + GetMobByID(ID.mob.TEMENOS_C_MOB[2]+1):updateEnmity(target) end -end; +end function onMobDeath(mob, player, isKiller) - local mobID = mob:getID(); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() - if (mobID==16928844) then --Ifrit - GetNPCByID(16928768+40):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+40):setStatus(dsp.status.NORMAL); - elseif (mobID==16928853) then --Shiva - GetNPCByID(16928768+45):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+45):setStatus(dsp.status.NORMAL); - elseif (mobID==16928862) then --Garuda - GetNPCByID(16928768+46):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+46):setStatus(dsp.status.NORMAL); - elseif (mobID==16928871) then --Titan - GetNPCByID(16928768+47):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+47):setStatus(dsp.status.NORMAL); - elseif (mobID==16928880) then --Ramuh - GetNPCByID(16928768+68):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+68):setStatus(dsp.status.NORMAL); - elseif (mobID==16928889) then --Leviathan - GetNPCByID(16928768+69):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+69):setStatus(dsp.status.NORMAL); - elseif (mobID==16928894) then --Fenrir - GetNPCByID(16928768+70):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+70):setStatus(dsp.status.NORMAL); - elseif (mobID==16929030) then --Carbuncle (Central Temenos 2nd Floor) - if (IsMobDead(16929031)==true and IsMobDead(16929032)==true ) then - GetNPCByID(16928768+77):setPos(0.5,-6,-459); - GetNPCByID(16928768+77):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+472):setStatus(dsp.status.NORMAL); + if mobID == ID.mob.TEMENOS_E_MOB[1]+4 then --Ifrit + local crateMask = battlefield:getLocalVar("crateMaskF1") + if crateMask == 0 then + dsp.limbus.handleDoors(battlefield, true, ID.npc.TEMENOS_E_GATE[1]) + end + elseif mobID == ID.mob.TEMENOS_E_MOB[2]+4 then --Shiva + local crateMask = battlefield:getLocalVar("crateMaskF2") + if crateMask == 0 then + dsp.limbus.handleDoors(battlefield, true, ID.npc.TEMENOS_E_GATE[2]) + end + elseif mobID == ID.mob.TEMENOS_E_MOB[3]+4 then --Garuda + local crateMask = battlefield:getLocalVar("crateMaskF3") + if crateMask == 0 then + dsp.limbus.handleDoors(battlefield, true, ID.npc.TEMENOS_E_GATE[3]) + end + elseif mobID == ID.mob.TEMENOS_E_MOB[4]+4 then --Titan + local crateMask = battlefield:getLocalVar("crateMaskF4") + if crateMask == 0 then + dsp.limbus.handleDoors(battlefield, true, ID.npc.TEMENOS_E_GATE[4]) + end + elseif mobID == ID.mob.TEMENOS_E_MOB[5]+4 then --Ramuh + local crateMask = battlefield:getLocalVar("crateMaskF5") + if crateMask == 0 then + dsp.limbus.handleDoors(battlefield, true, ID.npc.TEMENOS_E_GATE[5]) + end + elseif mobID == ID.mob.TEMENOS_E_MOB[6]+4 then --Leviathan + local crateMask = battlefield:getLocalVar("crateMaskF6") + if crateMask == 0 then + dsp.limbus.handleDoors(battlefield, true, ID.npc.TEMENOS_E_GATE[6]) + end + elseif mobID == ID.mob.TEMENOS_C_MOB[2]+9 then --Ifrit (Central Temenos 2nd Floor) + GetMobByID(ID.mob.TEMENOS_C_MOB[2]):setMod(dsp.mod.FIREDEF, -128) + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+4):isAlive() then + DespawnMob(ID.mob.TEMENOS_C_MOB[2]+4) + SpawnMob(ID.mob.TEMENOS_C_MOB[2]+10) + end + elseif mobID == ID.mob.TEMENOS_C_MOB[2]+10 then --Shiva (Central Temenos 2nd Floor) + GetMobByID(ID.mob.TEMENOS_C_MOB[2]):setMod(dsp.mod.ICEDEF, -128) + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+5):isAlive() then + DespawnMob(ID.mob.TEMENOS_C_MOB[2]+5) + SpawnMob(ID.mob.TEMENOS_C_MOB[2]+11) + end + elseif mobID == ID.mob.TEMENOS_C_MOB[2]+11 then --Garuda (Central Temenos 2nd Floor) + GetMobByID(ID.mob.TEMENOS_C_MOB[2]):setMod(dsp.mod.WINDDEF, -128) + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+6):isAlive() then + DespawnMob(ID.mob.TEMENOS_C_MOB[2]+6) + SpawnMob(ID.mob.TEMENOS_C_MOB[2]+12) + end + elseif mobID == ID.mob.TEMENOS_C_MOB[2]+12 then --Titan (Central Temenos 2nd Floor) + GetMobByID(ID.mob.TEMENOS_C_MOB[2]):setMod(dsp.mod.EARTHDEF, -128) + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+7):isAlive() then + DespawnMob(ID.mob.TEMENOS_C_MOB[2]+7) + SpawnMob(ID.mob.TEMENOS_C_MOB[2]+13) + end + elseif mobID == ID.mob.TEMENOS_C_MOB[2]+13 then --Ramuh (Central Temenos 2nd Floor) + GetMobByID(ID.mob.TEMENOS_C_MOB[2]):setMod(dsp.mod.THUNDERDEF, -128) + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+8):isAlive() then + DespawnMob(ID.mob.TEMENOS_C_MOB[2]+8) + SpawnMob(ID.mob.TEMENOS_C_MOB[2]+14) + end + elseif mobID == ID.mob.TEMENOS_C_MOB[2]+14 then --Leviathan (Central Temenos 2nd Floor) + GetMobByID(ID.mob.TEMENOS_C_MOB[2]):setMod(dsp.mod.WATERDEF, -128) + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+3):isAlive() then + DespawnMob(ID.mob.TEMENOS_C_MOB[2]+3) + SpawnMob(ID.mob.TEMENOS_C_MOB[2]+9) + end + elseif mobID == ID.mob.TEMENOS_C_MOB[2] then --Carbuncle (Central Temenos 2nd Floor) + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+1):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[2]+2):isDead() then + GetNPCByID(ID.npc.TEMENOS_C_CRATE[2]):setStatus(dsp.status.NORMAL) + end end end -end; +end diff --git a/scripts/zones/Temenos/mobs/Orichalcum_Quadav.lua b/scripts/zones/Temenos/mobs/Orichalcum_Quadav.lua index ac269c4c175..6364276d2f4 100644 --- a/scripts/zones/Temenos/mobs/Orichalcum_Quadav.lua +++ b/scripts/zones/Temenos/mobs/Orichalcum_Quadav.lua @@ -2,31 +2,34 @@ -- Area: Temenos -- Mob: Orichalcum Quadav ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob,target) - if (IsMobDead(16929017)==true and IsMobDead(16929018)==true and IsMobDead(16929019)==true and - IsMobDead(16929020)==true and IsMobDead(16929021)==true and IsMobDead(16929022)==true - ) then - mob:setMod(dsp.mod.SLASHRES,1400); - mob:setMod(dsp.mod.PIERCERES,1400); - mob:setMod(dsp.mod.IMPACTRES,1400); - mob:setMod(dsp.mod.HTHRES,1400); - else - mob:setMod(dsp.mod.SLASHRES,300); - mob:setMod(dsp.mod.PIERCERES,300); - mob:setMod(dsp.mod.IMPACTRES,300); - mob:setMod(dsp.mod.HTHRES,300); - end - GetMobByID(16929005):updateEnmity(target); - GetMobByID(16929007):updateEnmity(target); -end; +function onMobEngaged(mob, target) + if GetMobByID(ID.mob.TEMENOS_C_MOB[3]+12):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[3]+13):isDead() and + GetMobByID(ID.mob.TEMENOS_C_MOB[3]+14):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[3]+15):isDead() and + GetMobByID(ID.mob.TEMENOS_C_MOB[3]+16):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[3]+17):isDead() + then + mob:setMod(dsp.mod.SLASHRES, 1400) + mob:setMod(dsp.mod.PIERCERES, 1400) + mob:setMod(dsp.mod.IMPACTRES, 1400) + mob:setMod(dsp.mod.HTHRES, 1400) + else + mob:setMod(dsp.mod.SLASHRES, 300) + mob:setMod(dsp.mod.PIERCERES, 300) + mob:setMod(dsp.mod.IMPACTRES, 300) + mob:setMod(dsp.mod.HTHRES, 300) + end + GetMobByID(ID.mob.TEMENOS_C_MOB[3]):updateEnmity(target) + GetMobByID(ID.mob.TEMENOS_C_MOB[3]+2):updateEnmity(target) +end function onMobDeath(mob, player, isKiller) - if (IsMobDead(16929005)==true and IsMobDead(16929006)==true and IsMobDead(16929007)==true) then - GetNPCByID(16928768+78):setPos(-280,-161,-440); - GetNPCByID(16928768+78):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+473):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file + if isKiller then + if GetMobByID(ID.mob.TEMENOS_C_MOB[3]):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[3]+1):isDead() and + GetMobByID(ID.mob.TEMENOS_C_MOB[3]+2):isDead() + then + GetNPCByID(ID.npc.TEMENOS_C_CRATE[3]):setStatus(dsp.status.NORMAL) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Pee_Qoho_the_Python.lua b/scripts/zones/Temenos/mobs/Pee_Qoho_the_Python.lua index ab481fda925..7569f9ed3a8 100644 --- a/scripts/zones/Temenos/mobs/Pee_Qoho_the_Python.lua +++ b/scripts/zones/Temenos/mobs/Pee_Qoho_the_Python.lua @@ -2,31 +2,34 @@ -- Area: Temenos -- Mob: Pee Qoho the Python ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob,target) - if (IsMobDead(16929023)==true and IsMobDead(16929024)==true and IsMobDead(16929025)==true and - IsMobDead(16929026)==true and IsMobDead(16929027)==true and IsMobDead(16929028)==true - ) then - mob:setMod(dsp.mod.SLASHRES,1400); - mob:setMod(dsp.mod.PIERCERES,1400); - mob:setMod(dsp.mod.IMPACTRES,1400); - mob:setMod(dsp.mod.HTHRES,1400); - else - mob:setMod(dsp.mod.SLASHRES,300); - mob:setMod(dsp.mod.PIERCERES,300); - mob:setMod(dsp.mod.IMPACTRES,300); - mob:setMod(dsp.mod.HTHRES,300); - end - GetMobByID(16929005):updateEnmity(target); - GetMobByID(16929006):updateEnmity(target); -end; +function onMobEngaged(mob, target) + if GetMobByID(ID.mob.TEMENOS_C_MOB[3]+18):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[3]+19):isDead() and + GetMobByID(ID.mob.TEMENOS_C_MOB[3]+20):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[3]+21):isDead() and + GetMobByID(ID.mob.TEMENOS_C_MOB[3]+22):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[3]+23):isDead() + then + mob:setMod(dsp.mod.SLASHRES, 1400) + mob:setMod(dsp.mod.PIERCERES, 1400) + mob:setMod(dsp.mod.IMPACTRES, 1400) + mob:setMod(dsp.mod.HTHRES, 1400) + else + mob:setMod(dsp.mod.SLASHRES, 300) + mob:setMod(dsp.mod.PIERCERES, 300) + mob:setMod(dsp.mod.IMPACTRES, 300) + mob:setMod(dsp.mod.HTHRES, 300) + end + GetMobByID(ID.mob.TEMENOS_C_MOB[3]):updateEnmity(target) + GetMobByID(ID.mob.TEMENOS_C_MOB[3]+1):updateEnmity(target) +end function onMobDeath(mob, player, isKiller) - if (IsMobDead(16929005)==true and IsMobDead(16929006)==true and IsMobDead(16929007)==true) then - GetNPCByID(16928768+78):setPos(-280,-161,-440); - GetNPCByID(16928768+78):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+473):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file + if isKiller then + if GetMobByID(ID.mob.TEMENOS_C_MOB[3]):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[3]+1):isDead() and + GetMobByID(ID.mob.TEMENOS_C_MOB[3]+2):isDead() + then + GetNPCByID(ID.npc.TEMENOS_C_CRATE[3]):setStatus(dsp.status.NORMAL) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua index 58f6bfb4a4e..20290315d41 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua @@ -2,21 +2,22 @@ -- Area: Temenos N T -- Mob: Praetorian Guard CCCXI ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobEngaged(mob,target) - -end; +require("scripts/globals/status") +require("scripts/globals/limbus") +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobDeath(mob, player, isKiller) - if (IsMobDead(16928809)==true and IsMobDead(16928810)==true and IsMobDead(16928811)==true and IsMobDead(16928812)==true ) then - GetNPCByID(16928768+28):setPos(-311,80,419); - GetNPCByID(16928768+28):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+162):setPos(-311,80,417); - GetNPCByID(16928768+162):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+213):setPos(-311,80,421); - GetNPCByID(16928768+213):setStatus(dsp.status.NORMAL); - GetNPCByID(16928770+454):setStatus(dsp.status.NORMAL); - end -end; + if isKiller then + if GetMobByID(ID.mob.TEMENOS_N_MOB[5]):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[5]+1):isDead() and + GetMobByID(ID.mob.TEMENOS_N_MOB[5]+2):isDead() + then + GetNPCByID(ID.npc.TEMENOS_N_CRATE[5]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[5]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[5]+2):setStatus(dsp.status.NORMAL) + end + if GetNPCByID(ID.npc.TEMENOS_N_GATE[5]):getAnimation() == dsp.animation.CLOSE_DOOR then + dsp.limbus.handleDoors(player:getBattlefield(), true, ID.npc.TEMENOS_N_GATE[5]) + end + end +end diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua new file mode 100644 index 00000000000..375cfdaca2b --- /dev/null +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua @@ -0,0 +1,23 @@ +----------------------------------- +-- Area: Temenos N T +-- Mob: Praetorian Guard CCXX +----------------------------------- +require("scripts/globals/status") +require("scripts/globals/limbus") +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") + +function onMobDeath(mob, player, isKiller) + if isKiller then + if GetMobByID(ID.mob.TEMENOS_N_MOB[5]+1):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[5]+2):isDead() and + GetMobByID(ID.mob.TEMENOS_N_MOB[5]+3):isDead() + then + GetNPCByID(ID.npc.TEMENOS_N_CRATE[5]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[5]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[5]+2):setStatus(dsp.status.NORMAL) + end + if GetNPCByID(ID.npc.TEMENOS_N_GATE[5]):getAnimation() == dsp.animation.CLOSE_DOOR then + dsp.limbus.handleDoors(player:getBattlefield(), true, ID.npc.TEMENOS_N_GATE[5]) + end + end +end diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua new file mode 100644 index 00000000000..6eeb87bb411 --- /dev/null +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua @@ -0,0 +1,23 @@ +----------------------------------- +-- Area: Temenos N T +-- Mob: Praetorian Guard CXLVIII +----------------------------------- +require("scripts/globals/status") +require("scripts/globals/limbus") +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") + +function onMobDeath(mob, player, isKiller) + if isKiller then + if GetMobByID(ID.mob.TEMENOS_N_MOB[5]):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[5]+1):isDead() and + GetMobByID(ID.mob.TEMENOS_N_MOB[5]+3):isDead() + then + GetNPCByID(ID.npc.TEMENOS_N_CRATE[5]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[5]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[5]+2):setStatus(dsp.status.NORMAL) + end + if GetNPCByID(ID.npc.TEMENOS_N_GATE[5]):getAnimation() == dsp.animation.CLOSE_DOOR then + dsp.limbus.handleDoors(player:getBattlefield(), true, ID.npc.TEMENOS_N_GATE[5]) + end + end +end diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua new file mode 100644 index 00000000000..6fd7f6dc0c2 --- /dev/null +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua @@ -0,0 +1,23 @@ +----------------------------------- +-- Area: Temenos N T +-- Mob: Praetorian Guard LXXIII +----------------------------------- +require("scripts/globals/status") +require("scripts/globals/limbus") +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") + +function onMobDeath(mob, player, isKiller) + if isKiller then + if GetMobByID(ID.mob.TEMENOS_N_MOB[5]):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[5]+2):isDead() and + GetMobByID(ID.mob.TEMENOS_N_MOB[5]+3):isDead() + then + GetNPCByID(ID.npc.TEMENOS_N_CRATE[5]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[5]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[5]+2):setStatus(dsp.status.NORMAL) + end + if GetNPCByID(ID.npc.TEMENOS_N_GATE[5]):getAnimation() == dsp.animation.CLOSE_DOOR then + dsp.limbus.handleDoors(player:getBattlefield(), true, ID.npc.TEMENOS_N_GATE[5]) + end + end +end diff --git a/scripts/zones/Temenos/mobs/Proto-Ultima.lua b/scripts/zones/Temenos/mobs/Proto-Ultima.lua index 75d89c743eb..6e9acc8225e 100644 --- a/scripts/zones/Temenos/mobs/Proto-Ultima.lua +++ b/scripts/zones/Temenos/mobs/Proto-Ultima.lua @@ -2,37 +2,44 @@ -- Area: Temenos -- Mob: Proto-Ultima ----------------------------------- -require("scripts/globals/titles"); -require("scripts/globals/limbus"); ------------------------------------ +require("scripts/globals/titles") +require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") function onMobSpawn(mob) - mob:SetMagicCastingEnabled(false); -end; + mob:SetMagicCastingEnabled(false) + mob:SetAutoAttackEnabled(true) + mob:SetMobAbilityEnabled(true) + mob:setMobMod(dsp.mobMod.DRAW_IN, 0) +end + +function onMobEngaged(mob, target) + dsp.limbus.setupArmouryCrates(mob:getBattlefieldID(), true) +end -function onMobFight(mob,target) - local phase = mob:getLocalVar("battlePhase"); - if (mob:actionQueueEmpty() == true) then - if (mob:getHPP() < (80 - (phase * 20))) then - mob:useMobAbility(1524); -- use Dissipation on phase change - phase = phase + 1; - if (phase == 2) then -- enable Holy II - mob:SetMagicCastingEnabled(true); +function onMobFight(mob, target) + local phase = mob:getLocalVar("battlePhase") + if mob:actionQueueEmpty() then + if mob:getHPP() < (80 - (phase * 20)) then + mob:useMobAbility(1524) -- use Dissipation on phase change + phase = phase + 1 + if phase == 2 then -- enable Holy II + mob:SetMagicCastingEnabled(true) end - if (phase == 4) then -- add Regain in final phase - if (mob:hasStatusEffect(dsp.effect.REGAIN) == false) then - mob:addStatusEffect(dsp.effect.REGAIN,7,3,0); - mob:getStatusEffect(dsp.effect.REGAIN):setFlag(dsp.effectFlag.DEATH); + if phase == 4 then -- add Regain in final phase + if not mob:hasStatusEffect(dsp.effect.REGAIN) then + mob:addStatusEffect(dsp.effect.REGAIN, 7, 3, 0) + mob:getStatusEffect(dsp.effect.REGAIN):setFlag(dsp.effectFlag.DEATH) end end - mob:setLocalVar("battlePhase", phase); -- incrementing the phase here instead of in the Dissipation skill because stunning it prevents use. + mob:setLocalVar("battlePhase", phase) -- incrementing the phase here instead of in the Dissipation skill because stunning it prevents use. end end -end; +end function onMobDeath(mob, player, isKiller) - player:addTitle(dsp.title.TEMENOS_LIBERATOR); - GetNPCByID(16928768+79):setPos(-559,5,-357); - GetNPCByID(16928768+79):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+474):setStatus(dsp.status.NORMAL); -end; + player:addTitle(dsp.title.TEMENOS_LIBERATOR) + if isKiller then + GetNPCByID(ID.npc.TEMENOS_C_CRATE[4][1]):setStatus(dsp.status.NORMAL) + end +end diff --git a/scripts/zones/Temenos/mobs/Skadi.lua b/scripts/zones/Temenos/mobs/Skadi.lua index c88cb5c03bd..ec98ad47cab 100644 --- a/scripts/zones/Temenos/mobs/Skadi.lua +++ b/scripts/zones/Temenos/mobs/Skadi.lua @@ -2,21 +2,20 @@ -- Area: Temenos N T -- Mob: Skadi ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob,target) - GetMobByID(16928783):updateEnmity(target); - GetMobByID(16928782):updateEnmity(target); -end; +function onMobEngaged(mob, target) + GetMobByID(ID.mob.TEMENOS_N_MOB[2]+2):updateEnmity(target) + GetMobByID(ID.mob.TEMENOS_N_MOB[2]+1):updateEnmity(target) +end function onMobDeath(mob, player, isKiller) - if (IsMobDead(16928781)==true and IsMobDead(16928782)==true and IsMobDead(16928783)==true ) then - GetNPCByID(16928768+19):setPos(200,-82,495); - GetNPCByID(16928768+19):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+153):setPos(206,-82,495); - GetNPCByID(16928768+153):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+210):setPos(196,-82,495); - GetNPCByID(16928768+210):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file + if isKiller then + if GetMobByID(ID.mob.TEMENOS_N_MOB[2]+1):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[2]+2):isDead() then + GetNPCByID(ID.npc.TEMENOS_N_CRATE[2]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[2]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[2]+2):setStatus(dsp.status.NORMAL) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Star_Ruby_Quadav.lua b/scripts/zones/Temenos/mobs/Star_Ruby_Quadav.lua new file mode 100644 index 00000000000..0fcad0569e0 --- /dev/null +++ b/scripts/zones/Temenos/mobs/Star_Ruby_Quadav.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Temenos +-- Mob: Star Ruby Quadav +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Temenos/mobs/Star_Sapphire_Quadav.lua b/scripts/zones/Temenos/mobs/Star_Sapphire_Quadav.lua new file mode 100644 index 00000000000..416e925a716 --- /dev/null +++ b/scripts/zones/Temenos/mobs/Star_Sapphire_Quadav.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Temenos +-- Mob: Star Sapphire Quadav +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Temenos/mobs/Telchines_Bard.lua b/scripts/zones/Temenos/mobs/Telchines_Bard.lua index 30a14827660..05a4267b7fb 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Bard.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Bard.lua @@ -2,20 +2,25 @@ -- Area: Temenos N T -- Mob: Telchines Bard ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +require("scripts/globals/limbus") +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob,target) +function onMobDeath(mob, player, isKiller) + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local random = battlefield:getLocalVar("randomF3") -end; + if random == 1 then + battlefield:setLocalVar("randomF4", math.random(1, 4)) + dsp.limbus.handleDoors(battlefield, true, ID.npc.TEMENOS_N_GATE[3]) + end -function onMobDeath(mob, player, isKiller) - if (IsMobDead(16928788)==true and IsMobDead(16928789)==true and IsMobDead(16928792)==true and IsMobDead(16928793)==true ) then - GetNPCByID(16928768+26):setPos(19,80,430); - GetNPCByID(16928768+26):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+160):setPos(16,80,430); - GetNPCByID(16928768+160):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+211):setPos(22,80,430); - GetNPCByID(16928768+211):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file + if random % 2 == 0 then + GetNPCByID(ID.npc.TEMENOS_N_CRATE[3]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[3]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[3]+2):setStatus(dsp.status.NORMAL) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua b/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua index a20844036e8..422dc7135a8 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua @@ -2,13 +2,36 @@ -- Area: Temenos N T -- Mob: Telchines Dragoon ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +require("scripts/globals/limbus") +require("scripts/globals/pathfind") +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") +local flags = dsp.path.flag.NONE +local path = +{ + {50.000, 80.000, 419.500}, + {30.000, 80.000, 419.500} +} -function onMobEngaged(mob,target) - GetMobByID(16928791):updateEnmity(target); -end; +function onMobRoam(mob) + local pause = mob:getLocalVar("pause") + if pause < os.time() then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[point][1], path[point][2], path[point][3], flags) + mob:setLocalVar("pause", os.time()+10) + end +end function onMobDeath(mob, player, isKiller) - GetNPCByID(16928770+452):setStatus(dsp.status.NORMAL); -end; + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local random = battlefield:getLocalVar("randomF3") + + if random == 3 or random == 4 then + battlefield:setLocalVar("randomF4", math.random(1, 4)) + dsp.limbus.handleDoors(battlefield, true, ID.npc.TEMENOS_N_GATE[3]) + end + end +end diff --git a/scripts/zones/Temenos/mobs/Telchines_Monk.lua b/scripts/zones/Temenos/mobs/Telchines_Monk.lua index 3ee675eb90c..827b8adab04 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Monk.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Monk.lua @@ -2,20 +2,45 @@ -- Area: Temenos N T -- Mob: Telchines Monk ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobEngaged(mob,target) +require("scripts/globals/limbus") +require("scripts/globals/pathfind") +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") +local flags = dsp.path.flag.NONE +local path = +{ + [4] = + { + {30.000, 80.000, 420.500}, + {10.000, 80.000, 420.500} + }, + [5] = + { + {70.000, 80.000, 420.500}, + {50.000, 80.000, 420.500} + }, +} -end; +function onMobRoam(mob) + local offset = mob:getID() - ID.mob.TEMENOS_N_MOB[3] + local pause = mob:getLocalVar("pause") + if pause < os.time() then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) + mob:setLocalVar("pause", os.time()+10) + end +end function onMobDeath(mob, player, isKiller) - if (IsMobDead(16928788)==true and IsMobDead(16928789)==true and IsMobDead(16928792)==true and IsMobDead(16928793)==true ) then - GetNPCByID(16928768+26):setPos(19,80,430); - GetNPCByID(16928768+26):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+160):setPos(16,80,430); - GetNPCByID(16928768+160):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+211):setPos(22,80,430); - GetNPCByID(16928768+211):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local random = battlefield:getLocalVar("randomF3") + + if mobID - ID.mob.TEMENOS_N_MOB[3] == random - 1 then + battlefield:setLocalVar("randomF4", math.random(1, 4)) + dsp.limbus.handleDoors(battlefield, true, ID.npc.TEMENOS_N_GATE[3]) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua b/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua index 9797319cdd6..a9670994137 100644 --- a/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua +++ b/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua @@ -2,20 +2,25 @@ -- Area: Temenos N T -- Mob: Telchines White Mage ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +require("scripts/globals/limbus") +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob,target) +function onMobDeath(mob, player, isKiller) + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local random = battlefield:getLocalVar("randomF3") -end; + if random == 2 then + battlefield:setLocalVar("randomF4", math.random(1, 4)) + dsp.limbus.handleDoors(battlefield, true, ID.npc.TEMENOS_N_GATE[3]) + end -function onMobDeath(mob, player, isKiller) - if (IsMobDead(16928788)==true and IsMobDead(16928789)==true and IsMobDead(16928792)==true and IsMobDead(16928793)==true ) then - GetNPCByID(16928768+26):setPos(19,80,430); - GetNPCByID(16928768+26):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+160):setPos(16,80,430); - GetNPCByID(16928768+160):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+211):setPos(22,80,430); - GetNPCByID(16928768+211):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file + if random % 2 == 1 then + GetNPCByID(ID.npc.TEMENOS_N_CRATE[3]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[3]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[3]+2):setStatus(dsp.status.NORMAL) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Temenos_Aern.lua b/scripts/zones/Temenos/mobs/Temenos_Aern.lua index bbbd8fc8842..e2fc962fb8a 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Aern.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Aern.lua @@ -2,52 +2,69 @@ -- Area: Temenos -- Mob: Temenos Aern ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobDeath(mob, player, isKiller) - local mobID = mob:getID(); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); -switch (mobID): caseof { - [16929054] = function (x) - GetNPCByID(16928768+197):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+197):setStatus(dsp.status.NORMAL); - end, - [16929060] = function (x) - GetNPCByID(16928768+199):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+199):setStatus(dsp.status.NORMAL); - end, - [16929065] = function (x) - GetNPCByID(16928768+200):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+200):setStatus(dsp.status.NORMAL); - end, - [16929075] = function (x) - GetNPCByID(16928768+201):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+201):setStatus(dsp.status.NORMAL); - end, - [16929083] = function (x) - GetNPCByID(16928768+202):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+202):setStatus(dsp.status.NORMAL); - end, - +require("scripts/globals/limbus") +require("scripts/globals/zone") +mixins = +{ + require("scripts/mixins/families/aern"), + require("scripts/mixins/job_special") } -local leftAern=0; +local ID = require("scripts/zones/Temenos/IDs") -local AernList = {16929053,16929054,16929055,16929057,16929058,16929060,16929061,16929062,16929063, - 16929064,16929065,16929066,16929069,16929071,16929072,16929073,16929075,16929076, - 16929077,16929078,16929079,16929082,16929083,16929084,16929085,16929086,16929087}; - - for n=1,27,1 do - if ( GetMobByID(AernList[n]):isAlive() ) then - leftAern=leftAern+1; - end +function onMobDeath(mob, player, isKiller) + if isKiller then + mob:setLocalVar("killer", player:getID()) end - --print("leftAern" ..leftAern); - if (leftAern == 0 and isKiller == true) then - GetMobByID(16929088):setSpawn(mobX,mobY,mobZ); - GetMobByID(16929088):setPos(mobX,mobY,mobZ); - SpawnMob(16929088):updateEnmity(player); +end + +function onMobDespawn(mob) + local battlefield = mob:getBattlefield() + if battlefield then + local mobID = mob:getID() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + local killer = mob:getLocalVar("killer") + + switch (mobID): caseof + { + [ID.mob.TEMENOS_C_MOB[5]+19] = function() + dsp.limbus.extendTimeLimit(battlefield, 5, dsp.zone.TEMENOS) + end, + [ID.mob.TEMENOS_C_MOB[5]+20] = function() + dsp.limbus.extendTimeLimit(battlefield, 5, dsp.zone.TEMENOS) + end, + [ID.mob.TEMENOS_C_MOB[5]+29] = function() + dsp.limbus.extendTimeLimit(battlefield, 5, dsp.zone.TEMENOS) + end, + [ID.mob.TEMENOS_C_MOB[5]+30] = function() + dsp.limbus.extendTimeLimit(battlefield, 5, dsp.zone.TEMENOS) + end, + } + local leftAern=0 + local AernList = + { + ID.mob.TEMENOS_C_MOB[5], ID.mob.TEMENOS_C_MOB[5]+1, ID.mob.TEMENOS_C_MOB[5]+2, + ID.mob.TEMENOS_C_MOB[5]+4, ID.mob.TEMENOS_C_MOB[5]+5, ID.mob.TEMENOS_C_MOB[5]+7, + ID.mob.TEMENOS_C_MOB[5]+8, ID.mob.TEMENOS_C_MOB[5]+9, ID.mob.TEMENOS_C_MOB[5]+10, + ID.mob.TEMENOS_C_MOB[5]+11, ID.mob.TEMENOS_C_MOB[5]+12, ID.mob.TEMENOS_C_MOB[5]+13, + ID.mob.TEMENOS_C_MOB[5]+16, ID.mob.TEMENOS_C_MOB[5]+18, ID.mob.TEMENOS_C_MOB[5]+19, + ID.mob.TEMENOS_C_MOB[5]+20, ID.mob.TEMENOS_C_MOB[5]+22, ID.mob.TEMENOS_C_MOB[5]+23, + ID.mob.TEMENOS_C_MOB[5]+24, ID.mob.TEMENOS_C_MOB[5]+25, ID.mob.TEMENOS_C_MOB[5]+26, + ID.mob.TEMENOS_C_MOB[5]+29, ID.mob.TEMENOS_C_MOB[5]+30, ID.mob.TEMENOS_C_MOB[5]+31, + ID.mob.TEMENOS_C_MOB[5]+32, ID.mob.TEMENOS_C_MOB[5]+33, ID.mob.TEMENOS_C_MOB[5]+34, + } + + for n = 1, 27 do + if GetMobByID(AernList[n]):isSpawned() then + leftAern = leftAern + 1 + end + end + + if leftAern == 0 and not GetMobByID(ID.mob.TEMENOS_C_MOB[5]+35):isSpawned() then + GetMobByID(ID.mob.TEMENOS_C_MOB[5]+35):setSpawn(mobX, mobY, mobZ) + GetMobByID(ID.mob.TEMENOS_C_MOB[5]+35):setPos(mobX, mobY, mobZ) + SpawnMob(ID.mob.TEMENOS_C_MOB[5]+35):updateEnmity(GetPlayerByID(killer)) + end end -end; +end diff --git a/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua b/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua index b6b79c399af..2d7ba37885c 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua @@ -2,23 +2,26 @@ -- Area: Temenos Central 1floor -- Mob: Temenos Cleaner ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob,target) - if (IsMobDead(16929046)==true) then - mob:addStatusEffect(dsp.effect.REGAIN,7,3,0); - mob:addStatusEffect(dsp.effect.REGEN,50,3,0); - end -end; +function onMobEngaged(mob, target) + if GetMobByID(ID.mob.TEMENOS_C_MOB[1]):isDead() then + mob:addStatusEffect(dsp.effect.REGAIN, 7, 3, 0) + mob:addStatusEffect(dsp.effect.REGEN, 50, 3, 0) + end +end function onMobDeath(mob, player, isKiller) - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - if (IsMobDead(16929046)==true and IsMobDead(16929047)==true and IsMobDead(16929048)==true and IsMobDead(16929049)==true and IsMobDead(16929050)==true and IsMobDead(16929051)==true) then - GetNPCByID(16928768+71):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+71):setStatus(dsp.status.NORMAL); - GetNPCByID(16928770+471):setStatus(dsp.status.NORMAL); - end -end; + if isKiller then + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + if GetMobByID(ID.mob.TEMENOS_C_MOB[1]):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[1]+2):isDead() and + GetMobByID(ID.mob.TEMENOS_C_MOB[1]+3):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[1]+4):isDead() and + GetMobByID(ID.mob.TEMENOS_C_MOB[1]+5):isDead() + then + GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setStatus(dsp.status.NORMAL) + end + end +end diff --git a/scripts/zones/Temenos/mobs/Temenos_Ghrah.lua b/scripts/zones/Temenos/mobs/Temenos_Ghrah.lua index 677ba07c33a..59731d60ed1 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Ghrah.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Ghrah.lua @@ -2,9 +2,12 @@ -- Area: Temenos -- Mob: Temenos Ghrah ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +local ID = require("scripts/zones/Temenos/IDs") function onMobDeath(mob, player, isKiller) - GetNPCByID(16928770+475):setStatus(dsp.status.NORMAL); -end; + if isKiller then + local battlefield = player:getBattlefield() + battlefield:setLocalVar("lootSpawned", 0) + GetNPCByID(ID.npc.TEMENOS_C_CRATE[5]):setStatus(dsp.status.NORMAL) + end +end diff --git a/scripts/zones/Temenos/mobs/Temenos_Weapon.lua b/scripts/zones/Temenos/mobs/Temenos_Weapon.lua index 46f9e09319d..2fd67bed560 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Weapon.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Weapon.lua @@ -2,23 +2,26 @@ -- Area: Temenos Central Floor -- Mob: Temenos Weapon ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob,target) - if (IsMobDead(16929048)==true) then - mob:addStatusEffect(dsp.effect.REGAIN,7,3,0); - mob:addStatusEffect(dsp.effect.REGEN,50,3,0); - end -end; +function onMobEngaged(mob, target) + if GetMobByID(ID.mob.TEMENOS_C_MOB[1]+2):isDead() then + mob:addStatusEffect(dsp.effect.REGAIN, 7, 3, 0) + mob:addStatusEffect(dsp.effect.REGEN, 50, 3, 0) + end +end function onMobDeath(mob, player, isKiller) - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - if (IsMobDead(16929046)==true and IsMobDead(16929047)==true and IsMobDead(16929048)==true and IsMobDead(16929049)==true and IsMobDead(16929050)==true and IsMobDead(16929051)==true) then - GetNPCByID(16928768+71):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+71):setStatus(dsp.status.NORMAL); - GetNPCByID(16928770+471):setStatus(dsp.status.NORMAL); - end -end; + if isKiller then + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + if GetMobByID(ID.mob.TEMENOS_C_MOB[1]):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[1]+1):isDead() and + GetMobByID(ID.mob.TEMENOS_C_MOB[1]+2):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[1]+4):isDead() and + GetMobByID(ID.mob.TEMENOS_C_MOB[1]+5):isDead() + then + GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setStatus(dsp.status.NORMAL) + end + end +end diff --git a/scripts/zones/Temenos/mobs/Thrym.lua b/scripts/zones/Temenos/mobs/Thrym.lua index c86594adc5c..3303d7a510c 100644 --- a/scripts/zones/Temenos/mobs/Thrym.lua +++ b/scripts/zones/Temenos/mobs/Thrym.lua @@ -2,22 +2,20 @@ -- Area: Temenos N T -- Mob: Thrym ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob,target) - GetMobByID(16928781):updateEnmity(target); - GetMobByID(16928783):updateEnmity(target); -end; +function onMobEngaged(mob, target) + GetMobByID(ID.mob.TEMENOS_N_MOB[2]):updateEnmity(target) + GetMobByID(ID.mob.TEMENOS_N_MOB[2]+2):updateEnmity(target) +end function onMobDeath(mob, player, isKiller) - - if (IsMobDead(16928781)==true and IsMobDead(16928782)==true and IsMobDead(16928783)==true ) then - GetNPCByID(16928768+19):setPos(200,-82,495); - GetNPCByID(16928768+19):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+153):setPos(206,-82,495); - GetNPCByID(16928768+153):setStatus(dsp.status.NORMAL); - GetNPCByID(16928768+210):setPos(196,-82,495); - GetNPCByID(16928768+210):setStatus(dsp.status.NORMAL); - end -end; \ No newline at end of file + if isKiller then + if GetMobByID(ID.mob.TEMENOS_N_MOB[2]):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[2]+2):isDead() then + GetNPCByID(ID.npc.TEMENOS_N_CRATE[2]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[2]+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[2]+2):setStatus(dsp.status.NORMAL) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Thunder_Elemental.lua b/scripts/zones/Temenos/mobs/Thunder_Elemental.lua index 6b45330f0ed..115779cf7be 100644 --- a/scripts/zones/Temenos/mobs/Thunder_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Thunder_Elemental.lua @@ -2,41 +2,81 @@ -- Area: Temenos E T -- Mob: Thunder Elemental ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobEngaged(mob,target) +require("scripts/globals/limbus") +require("scripts/globals/pathfind") +local ID = require("scripts/zones/Temenos/IDs") +local flags = dsp.path.flag.WALLHACK +local path = +{ + [0] = + { + {-312.000, 0.000, 128.000}, + {-312.000, 0.000, 152.000} + }, + [1] = + { + {-300.000, 0.000, 152.000}, + {-300.000, 0.000, 128.000} + }, + [2] = + { + {-248.000, 0.000, 152.000}, + {-248.000, 0.000, 128.000} + }, + [3] = + { + {-260.000, 0.000, 128.000}, + {-260.000, 0.000, 152.000} + }, +} -end; +function onMobRoam(mob) + if mob:getBattlefieldID() == 1300 then + local offset = mob:getID() - ID.mob.TEMENOS_E_MOB[5] + local pause = mob:getLocalVar("pause") + if pause < os.time() then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) + mob:setLocalVar("pause", os.time()+10) + end + end +end function onMobDeath(mob, player, isKiller) - local mobID = mob:getID(); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - switch (mobID): caseof { - -- 100 a 106 inclut (Temenos -Northern Tower ) - [16928876] = function (x) - GetNPCByID(16928768+183):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+183):setStatus(dsp.status.NORMAL); - end , - [16928877] = function (x) - GetNPCByID(16928768+261):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+261):setStatus(dsp.status.NORMAL); - end , - [16928878] = function (x) - GetNPCByID(16928768+393):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+393):setStatus(dsp.status.NORMAL); - end , - [16928879] = function (x) - GetNPCByID(16928768+68):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+68):setStatus(dsp.status.NORMAL); - end , - [16929037] = function (x) - if (IsMobDead(16929038)==false) then - DespawnMob(16929038); - SpawnMob(16929044); - end - end , - } -end; \ No newline at end of file + if isKiller then + local mobID = mob:getID() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + local battlefield = player:getBattlefield() + if battlefield:getLocalVar("crateOpenedF5") ~= 1 then + switch (mobID): caseof + { + [ID.mob.TEMENOS_E_MOB[5]] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[5]):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[5], player, "crateMaskF5", battlefield:getLocalVar("crateMaskF5"), true) + end, + [ID.mob.TEMENOS_E_MOB[5]+1] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[5]+1):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[5]+1, player, "crateMaskF5", battlefield:getLocalVar("crateMaskF5"), true) + end, + [ID.mob.TEMENOS_E_MOB[5]+2] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[5]+2):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[5]+2, player, "crateMaskF5", battlefield:getLocalVar("crateMaskF5"), true) + end, + [ID.mob.TEMENOS_E_MOB[5]+3] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[5]+3):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[5]+3, player, "crateMaskF5", battlefield:getLocalVar("crateMaskF5"), true) + end, + [ID.mob.TEMENOS_C_MOB[2]+7] = function() + GetMobByID(ID.mob.TEMENOS_C_MOB[2]):setMod(dsp.mod.THUNDERDEF, -128) + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+8):isAlive() then + DespawnMob(ID.mob.TEMENOS_C_MOB[2]+8) + SpawnMob(ID.mob.TEMENOS_C_MOB[2]+14) + end + end, + } + end + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Tonberrys_Avatar.lua b/scripts/zones/Temenos/mobs/Tonberrys_Avatar.lua new file mode 100644 index 00000000000..92cfd203d06 --- /dev/null +++ b/scripts/zones/Temenos/mobs/Tonberrys_Avatar.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Temenos N T +-- Mob: Tonberry's Avatar +----------------------------------- +mixins = {require("scripts/mixins/families/avatar")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Temenos/mobs/Water_Elemental.lua b/scripts/zones/Temenos/mobs/Water_Elemental.lua index 6d294615847..626f201e491 100644 --- a/scripts/zones/Temenos/mobs/Water_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Water_Elemental.lua @@ -2,41 +2,43 @@ -- Area: Temenos E T -- Mob: Water Elemental ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -function onMobEngaged(mob,target) - -end; +require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") function onMobDeath(mob, player, isKiller) - local mobID = mob:getID(); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - switch (mobID): caseof { - -- 100 a 106 inclut (Temenos -Northern Tower ) - [16928885] = function (x) - GetNPCByID(16928768+277):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+277):setStatus(dsp.status.NORMAL); - end , - [16928886] = function (x) - GetNPCByID(16928768+190):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+190):setStatus(dsp.status.NORMAL); - end , - [16928887] = function (x) - GetNPCByID(16928768+127):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+127):setStatus(dsp.status.NORMAL); - end , - [16928888] = function (x) - GetNPCByID(16928768+69):setPos(mobX,mobY,mobZ); - GetNPCByID(16928768+69):setStatus(dsp.status.NORMAL); - end , - [16929038] = function (x) - if (IsMobDead(16929033)==false) then - DespawnMob(16929033); - SpawnMob(16929039); - end - end , - } -end; \ No newline at end of file + if isKiller then + local mobID = mob:getID() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + local battlefield = player:getBattlefield() + if battlefield:getLocalVar("crateOpenedF6") ~= 1 then + switch (mobID): caseof + { + [ID.mob.TEMENOS_E_MOB[6]] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[6]):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[6], player, "crateMaskF6", battlefield:getLocalVar("crateMaskF6"), true) + end, + [ID.mob.TEMENOS_E_MOB[6]+1] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[6]+1):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[6]+1, player, "crateMaskF6", battlefield:getLocalVar("crateMaskF6"), true) + end, + [ID.mob.TEMENOS_E_MOB[6]+2] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[6]+2):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[6]+2, player, "crateMaskF6", battlefield:getLocalVar("crateMaskF6"), true) + end, + [ID.mob.TEMENOS_E_MOB[6]+3] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[6]+3):setPos(mobX, mobY, mobZ) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[6]+3, player, "crateMaskF6", battlefield:getLocalVar("crateMaskF6"), true) + end, + [ID.mob.TEMENOS_C_MOB[2]+8] = function() + GetMobByID(ID.mob.TEMENOS_C_MOB[2]):setMod(dsp.mod.WATERDEF, -128) + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+3):isAlive() then + DespawnMob(ID.mob.TEMENOS_C_MOB[2]+3) + SpawnMob(ID.mob.TEMENOS_C_MOB[2]+9) + end + end, + } + end + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Whitegold_Quadav.lua b/scripts/zones/Temenos/mobs/Whitegold_Quadav.lua new file mode 100644 index 00000000000..65500415e97 --- /dev/null +++ b/scripts/zones/Temenos/mobs/Whitegold_Quadav.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Temenos +-- Mob: Whitegold Quadav +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Apollyon/mobs/Kronprinz_Behemoth.lua b/scripts/zones/Temenos/mobs/Wootz_Quadav.lua similarity index 55% rename from scripts/zones/Apollyon/mobs/Kronprinz_Behemoth.lua rename to scripts/zones/Temenos/mobs/Wootz_Quadav.lua index 51be9aca89c..595242b6236 100644 --- a/scripts/zones/Apollyon/mobs/Kronprinz_Behemoth.lua +++ b/scripts/zones/Temenos/mobs/Wootz_Quadav.lua @@ -1,8 +1,8 @@ ----------------------------------- --- Area: Apollyon NW --- Mob: Kronprinz Behemoth +-- Area: Temenos +-- Mob: Wootz Quadav ----------------------------------- +mixins = {require("scripts/mixins/job_special")} function onMobDeath(mob, player, isKiller) - -end; \ No newline at end of file +end diff --git a/scripts/zones/Temenos/mobs/Yagudo_Archpriest.lua b/scripts/zones/Temenos/mobs/Yagudo_Archpriest.lua new file mode 100644 index 00000000000..3f15030b738 --- /dev/null +++ b/scripts/zones/Temenos/mobs/Yagudo_Archpriest.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Temenos +-- Mob: Yagudo Archpriest +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Temenos/mobs/Yagudo_Discipilnant.lua b/scripts/zones/Temenos/mobs/Yagudo_Discipilnant.lua new file mode 100644 index 00000000000..789974ff039 --- /dev/null +++ b/scripts/zones/Temenos/mobs/Yagudo_Discipilnant.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Temenos +-- Mob: Yagudo Discipilnant +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Temenos/mobs/Yagudo_Eradicator.lua b/scripts/zones/Temenos/mobs/Yagudo_Eradicator.lua new file mode 100644 index 00000000000..157640c089f --- /dev/null +++ b/scripts/zones/Temenos/mobs/Yagudo_Eradicator.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Temenos +-- Mob: Yagudo Eradicator +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Temenos/mobs/Yagudo_Kapellmeister.lua b/scripts/zones/Temenos/mobs/Yagudo_Kapellmeister.lua new file mode 100644 index 00000000000..66edfbbff75 --- /dev/null +++ b/scripts/zones/Temenos/mobs/Yagudo_Kapellmeister.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Temenos +-- Mob: Yagudo Kapellmeister +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Temenos/mobs/Yagudo_Knight_Templar.lua b/scripts/zones/Temenos/mobs/Yagudo_Knight_Templar.lua new file mode 100644 index 00000000000..eac6ce3022a --- /dev/null +++ b/scripts/zones/Temenos/mobs/Yagudo_Knight_Templar.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Temenos +-- Mob: Yagudo Knight Templar +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Temenos/mobs/Yagudo_Prelatess.lua b/scripts/zones/Temenos/mobs/Yagudo_Prelatess.lua new file mode 100644 index 00000000000..8102c92f632 --- /dev/null +++ b/scripts/zones/Temenos/mobs/Yagudo_Prelatess.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Temenos +-- Mob: Yagudo Prelatess +----------------------------------- +mixins = {require("scripts/mixins/job_special")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Temenos/mobs/Yagudos_Avatar.lua b/scripts/zones/Temenos/mobs/Yagudos_Avatar.lua new file mode 100644 index 00000000000..f5aaf76e612 --- /dev/null +++ b/scripts/zones/Temenos/mobs/Yagudos_Avatar.lua @@ -0,0 +1,8 @@ +----------------------------------- +-- Area: Temenos +-- Mob: Yagudo's Avatar +----------------------------------- +mixins = {require("scripts/mixins/families/avatar")} + +function onMobDeath(mob, player, isKiller) +end diff --git a/scripts/zones/Temenos/npcs/Armoury_Crate.lua b/scripts/zones/Temenos/npcs/Armoury_Crate.lua index 959caffae0f..4ec5b3fc41a 100644 --- a/scripts/zones/Temenos/npcs/Armoury_Crate.lua +++ b/scripts/zones/Temenos/npcs/Armoury_Crate.lua @@ -2,668 +2,1048 @@ -- Area: Temenos -- NPC: Armoury Crate ----------------------------------- - -require("scripts/globals/titles"); -require("scripts/globals/quests"); -require("scripts/globals/limbus"); - ------------------------------------ +require("scripts/globals/battlefield") +require("scripts/globals/limbus") +require("scripts/globals/zone") +local ID = require("scripts/zones/Temenos/IDs") local loot = { -- northern tower floor 1 - [130] = + [1299] = { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, + [1] = + { + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 250}, + {itemid = 1954, droprate = 159}, + {itemid = 1940, droprate = 146}, + {itemid = 1932, droprate = 85}, + {itemid = 1956, droprate = 171}, + {itemid = 1934, droprate = 110}, + {itemid = 2658, droprate = 220}, + {itemid = 2716, droprate = 98}, + }, + { + {itemid = 0, droprate = 250}, + {itemid = 1954, droprate = 159}, + {itemid = 1940, droprate = 146}, + {itemid = 1932, droprate = 85}, + {itemid = 1956, droprate = 171}, + {itemid = 1934, droprate = 110}, + {itemid = 2658, droprate = 220}, + {itemid = 2716, droprate = 98}, + }, }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1954, droprate = 159}, - {itemid = 1940, droprate = 146}, - {itemid = 1932, droprate = 85}, - {itemid = 1956, droprate = 171}, - {itemid = 1934, droprate = 110}, - {itemid = 2658, droprate = 220}, - {itemid = 2716, droprate = 98}, - }, - }, -- northern tower floor 2 - [131] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, + [2] = + { + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 400}, + {itemid = 1932, droprate = 333}, + {itemid = 1954, droprate = 200}, + {itemid = 1950, droprate = 100}, + {itemid = 1940, droprate = 90}, + {itemid = 1942, droprate = 70}, + {itemid = 1934, droprate = 90}, + {itemid = 1936, droprate = 100}, + {itemid = 1958, droprate = 90}, + {itemid = 2656, droprate = 67}, + {itemid = 1956, droprate = 167}, + }, + { + {itemid = 0, droprate = 400}, + {itemid = 1932, droprate = 333}, + {itemid = 1954, droprate = 200}, + {itemid = 1950, droprate = 100}, + {itemid = 1940, droprate = 90}, + {itemid = 1942, droprate = 70}, + {itemid = 1934, droprate = 90}, + {itemid = 1936, droprate = 100}, + {itemid = 1958, droprate = 90}, + {itemid = 2656, droprate = 67}, + {itemid = 1956, droprate = 167}, + }, }, - { - {itemid = 1932, droprate = 333}, - {itemid = 1954, droprate = 200}, - {itemid = 1950, droprate = 100}, - {itemid = 1940, droprate = 90}, - {itemid = 1942, droprate = 70}, - {itemid = 1934, droprate = 90}, - {itemid = 1936, droprate = 100}, - {itemid = 1958, droprate = 90}, - {itemid = 2656, droprate = 67}, - {itemid = 1956, droprate = 167}, - }, - }, -- northern tower floor 3 - [132] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1956, droprate = 27}, - {itemid = 1932, droprate = 324}, - {itemid = 1950, droprate = 80}, - {itemid = 1934, droprate = 189}, - {itemid = 1930, droprate = 50}, + [3] = + { + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1956, droprate = 27}, + {itemid = 1932, droprate = 324}, + {itemid = 1950, droprate = 80}, + {itemid = 1934, droprate = 189}, + {itemid = 1930, droprate = 50}, + {itemid = 1940, droprate = 27}, + {itemid = 1936, droprate = 81}, + {itemid = 1944, droprate = 80}, + {itemid = 1958, droprate = 81}, + {itemid = 2658, droprate = 270}, + {itemid = 2714, droprate = 108}, + }, + { + {itemid = 0, droprate = 300}, + {itemid = 1956, droprate = 27}, + {itemid = 1932, droprate = 324}, + {itemid = 1950, droprate = 80}, + {itemid = 1934, droprate = 189}, + {itemid = 1930, droprate = 50}, + {itemid = 1940, droprate = 27}, + {itemid = 1936, droprate = 81}, + {itemid = 1944, droprate = 80}, + {itemid = 1958, droprate = 81}, + {itemid = 2658, droprate = 270}, + {itemid = 2714, droprate = 108}, + }, }, - { - {itemid = 1940, droprate = 27}, - {itemid = 1936, droprate = 81}, - {itemid = 1944, droprate = 80}, - {itemid = 1958, droprate = 81}, - {itemid = 2658, droprate = 270}, - {itemid = 2714, droprate = 108}, - }, - }, -- northern tower floor 4 - [133] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, + [4] = + { + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 300}, + {itemid = 1942, droprate = 90}, + {itemid = 1934, droprate = 435}, + {itemid = 1956, droprate = 80}, + {itemid = 1940, droprate = 174}, + {itemid = 1958, droprate = 87}, + {itemid = 1954, droprate = 90}, + {itemid = 1936, droprate = 87}, + {itemid = 1930, droprate = 43}, + {itemid = 2656, droprate = 27}, + {itemid = 2658, droprate = 261}, + }, + { + {itemid = 0, droprate = 300}, + {itemid = 1942, droprate = 90}, + {itemid = 1934, droprate = 435}, + {itemid = 1956, droprate = 80}, + {itemid = 1940, droprate = 174}, + {itemid = 1958, droprate = 87}, + {itemid = 1954, droprate = 90}, + {itemid = 1936, droprate = 87}, + {itemid = 1930, droprate = 43}, + {itemid = 2656, droprate = 27}, + {itemid = 2658, droprate = 261}, + }, }, - { - {itemid = 1942, droprate = 90}, - {itemid = 1934, droprate = 435}, - {itemid = 1956, droprate = 80}, - {itemid = 1940, droprate = 174}, - {itemid = 1958, droprate = 87}, - {itemid = 1954, droprate = 90}, - {itemid = 1936, droprate = 87}, - {itemid = 1930, droprate = 43}, - {itemid = 2656, droprate = 27}, - {itemid = 2658, droprate = 261}, - }, - }, -- northern tower floor 5 - [134] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, + [5] = + { + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 200}, + {itemid = 1954, droprate = 67}, + {itemid = 1940, droprate = 353}, + {itemid = 1936, droprate = 87}, + {itemid = 1956, droprate = 110}, + {itemid = 1958, droprate = 87}, + {itemid = 1942, droprate = 50}, + {itemid = 1950, droprate = 60}, + {itemid = 1932, droprate = 59}, + {itemid = 2716, droprate = 100}, + {itemid = 2714, droprate = 110}, + }, + { + {itemid = 0, droprate = 200}, + {itemid = 1954, droprate = 67}, + {itemid = 1940, droprate = 353}, + {itemid = 1936, droprate = 87}, + {itemid = 1956, droprate = 110}, + {itemid = 1958, droprate = 87}, + {itemid = 1942, droprate = 50}, + {itemid = 1950, droprate = 60}, + {itemid = 1932, droprate = 59}, + {itemid = 2716, droprate = 100}, + {itemid = 2714, droprate = 110}, + }, }, - { - {itemid = 1954, droprate = 67}, - {itemid = 1940, droprate = 353}, - {itemid = 1936, droprate = 87}, - {itemid = 1956, droprate = 110}, - {itemid = 1958, droprate = 87}, - {itemid = 1942, droprate = 50}, - {itemid = 1950, droprate = 60}, - {itemid = 1932, droprate = 59}, - {itemid = 2716, droprate = 100}, - {itemid = 2714, droprate = 110}, - }, - }, -- northern tower floor 6 - [135] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, + [6] = + { + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1954, droprate = 263}, + {itemid = 1932, droprate = 59}, + {itemid = 1942, droprate = 53}, + {itemid = 1934, droprate = 60}, + {itemid = 1956, droprate = 526}, + {itemid = 1930, droprate = 60}, + {itemid = 1936, droprate = 53}, + {itemid = 1950, droprate = 158}, + {itemid = 2716, droprate = 105}, + }, + { + {itemid = 0, droprate = 300}, + {itemid = 1954, droprate = 263}, + {itemid = 1932, droprate = 59}, + {itemid = 1942, droprate = 53}, + {itemid = 1934, droprate = 60}, + {itemid = 1956, droprate = 526}, + {itemid = 1930, droprate = 60}, + {itemid = 1936, droprate = 53}, + {itemid = 1950, droprate = 158}, + {itemid = 2716, droprate = 105}, + }, }, - { - {itemid = 1954, droprate = 263}, - {itemid = 1932, droprate = 59}, - {itemid = 1942, droprate = 53}, - {itemid = 1934, droprate = 60}, - {itemid = 1956, droprate = 526}, - }, - { - {itemid = 1930, droprate = 60}, - {itemid = 1936, droprate = 53}, - {itemid = 1950, droprate = 158}, - {itemid = 2716, droprate = 105}, - }, - }, -- northern tower floor 7 - [136] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1956, droprate = 240}, - {itemid = 1932, droprate = 120}, - {itemid = 1940, droprate = 200}, - }, - { - {itemid = 1934, droprate = 40}, - {itemid = 1954, droprate = 120}, - {itemid = 2658, droprate = 200}, - {itemid = 2716, droprate = 80}, - }, - { - {itemid = 1875, droprate = 100}, - {itemid = 2127, droprate = 55}, - }, - { - {itemid = 1904, droprate = 1000}, + [7] = + { + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1956, droprate = 240}, + {itemid = 1932, droprate = 120}, + {itemid = 1940, droprate = 200}, + {itemid = 1934, droprate = 40}, + {itemid = 1954, droprate = 120}, + {itemid = 2658, droprate = 200}, + {itemid = 2716, droprate = 80}, + }, + { + {itemid = 1904, droprate = 1000}, + }, + { + {itemid = 0, droprate = 100}, + {itemid = 2127, droprate = 55}, + }, }, }, -- western tower floor 1 - [137] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, + [1298] = { + [1] = + { + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 100}, + {itemid = 1948, droprate = 172}, + {itemid = 1938, droprate = 138}, + {itemid = 1952, droprate = 138}, + {itemid = 1958, droprate = 207}, + {itemid = 1930, droprate = 241}, + {itemid = 2656, droprate = 172}, + }, }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1948, droprate = 172}, - {itemid = 1938, droprate = 138}, - {itemid = 1952, droprate = 138}, - {itemid = 1958, droprate = 207}, - {itemid = 1930, droprate = 241}, - {itemid = 2656, droprate = 172}, - }, - }, -- western tower floor 2 - [138] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1948, droprate = 179}, - {itemid = 1938, droprate = 571}, - {itemid = 1944, droprate = 71}, - {itemid = 1952, droprate = 179}, - }, - { - {itemid = 1946, droprate = 120}, - {itemid = 1934, droprate = 71}, - {itemid = 1930, droprate = 143}, - {itemid = 2660, droprate = 143}, + [2] = + { + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1948, droprate = 179}, + {itemid = 1938, droprate = 571}, + {itemid = 1944, droprate = 71}, + {itemid = 1952, droprate = 179}, + {itemid = 1946, droprate = 120}, + {itemid = 1934, droprate = 71}, + {itemid = 1930, droprate = 143}, + {itemid = 2660, droprate = 143}, + }, + { + {itemid = 0, droprate = 200}, + {itemid = 1948, droprate = 179}, + {itemid = 1938, droprate = 571}, + {itemid = 1944, droprate = 71}, + {itemid = 1952, droprate = 179}, + {itemid = 1946, droprate = 120}, + {itemid = 1934, droprate = 71}, + {itemid = 1930, droprate = 143}, + {itemid = 2660, droprate = 143}, + }, }, - }, -- western tower floor 3 - [139] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1948, droprate = 536}, - {itemid = 1952, droprate = 107}, - {itemid = 1938, droprate = 60}, - {itemid = 1934, droprate = 110}, - {itemid = 1930, droprate = 80}, - {itemid = 2660, droprate = 90}, + [3] = + { + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1948, droprate = 536}, + {itemid = 1952, droprate = 107}, + {itemid = 1938, droprate = 60}, + {itemid = 1934, droprate = 110}, + {itemid = 1930, droprate = 80}, + {itemid = 2660, droprate = 90}, + {itemid = 1946, droprate = 71}, + {itemid = 1944, droprate = 103}, + {itemid = 1958, droprate = 160}, + {itemid = 1954, droprate = 36}, + {itemid = 2656, droprate = 250}, + {itemid = 2716, droprate = 350}, + }, + { + {itemid = 0, droprate = 750}, + {itemid = 1948, droprate = 536}, + {itemid = 1952, droprate = 107}, + {itemid = 1938, droprate = 60}, + {itemid = 1934, droprate = 110}, + {itemid = 1930, droprate = 80}, + {itemid = 2660, droprate = 90}, + {itemid = 1946, droprate = 71}, + {itemid = 1944, droprate = 103}, + {itemid = 1958, droprate = 160}, + {itemid = 1954, droprate = 36}, + {itemid = 2656, droprate = 250}, + {itemid = 2716, droprate = 350}, + }, }, - { - {itemid = 1946, droprate = 71}, - {itemid = 1944, droprate = 103}, - {itemid = 1958, droprate = 160}, - {itemid = 1954, droprate = 36}, - {itemid = 2656, droprate = 250}, - {itemid = 2716, droprate = 350}, - }, - }, -- western tower floor 4 - [140] = - { - { - {itemid = 1875, droprate = 1000}, + [4] = + { + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1952, droprate = 533}, + {itemid = 1946, droprate = 90}, + {itemid = 1938, droprate = 133}, + {itemid = 1932, droprate = 90}, + {itemid = 1958, droprate = 10}, + {itemid = 1954, droprate = 133}, + {itemid = 1944, droprate = 133}, + {itemid = 1930, droprate = 133}, + {itemid = 2660, droprate = 33}, + }, + { + {itemid = 0, droprate = 500}, + {itemid = 1952, droprate = 533}, + {itemid = 1946, droprate = 90}, + {itemid = 1938, droprate = 133}, + {itemid = 1932, droprate = 90}, + {itemid = 1958, droprate = 10}, + {itemid = 1954, droprate = 133}, + {itemid = 1944, droprate = 133}, + {itemid = 1930, droprate = 133}, + {itemid = 2660, droprate = 33}, + }, }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1952, droprate = 533}, - {itemid = 1946, droprate = 90}, - {itemid = 1938, droprate = 133}, - {itemid = 1932, droprate = 90}, - }, - { - {itemid = 1958, droprate = 10}, - {itemid = 1954, droprate = 133}, - {itemid = 1944, droprate = 133}, - {itemid = 1930, droprate = 133}, - {itemid = 2660, droprate = 33}, - }, - }, -- western tower floor 5 - [141] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, + [5] = + { + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1954, droprate = 59}, + {itemid = 1930, droprate = 294}, + {itemid = 1946, droprate = 59}, + {itemid = 1934, droprate = 78}, + {itemid = 1958, droprate = 176}, + {itemid = 1938, droprate = 59}, + {itemid = 1948, droprate = 25}, + {itemid = 1932, droprate = 118}, + {itemid = 2656, droprate = 294}, + }, + { + {itemid = 0, droprate = 200}, + {itemid = 1954, droprate = 59}, + {itemid = 1930, droprate = 294}, + {itemid = 1946, droprate = 59}, + {itemid = 1934, droprate = 78}, + {itemid = 1958, droprate = 176}, + {itemid = 1938, droprate = 59}, + {itemid = 1948, droprate = 25}, + {itemid = 1932, droprate = 118}, + {itemid = 2656, droprate = 294}, + }, }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1954, droprate = 59}, - {itemid = 1930, droprate = 294}, - {itemid = 1946, droprate = 59}, - {itemid = 1934, droprate = 78}, - {itemid = 2716, droprate = 59}, - }, - { - {itemid = 1958, droprate = 176}, - {itemid = 1938, droprate = 59}, - {itemid = 1948, droprate = 25}, - {itemid = 1932, droprate = 118}, - {itemid = 2656, droprate = 294}, - }, - }, -- western tower floor 6 - [142] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, + [6] = + { + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1954, droprate = 200}, + {itemid = 1958, droprate = 400}, + {itemid = 1948, droprate = 100}, + {itemid = 1934, droprate = 150}, + {itemid = 1932, droprate = 50}, + {itemid = 1930, droprate = 60}, + {itemid = 1938, droprate = 200}, + {itemid = 1944, droprate = 60}, + {itemid = 1952, droprate = 200}, + }, + { + {itemid = 0, droprate = 400}, + {itemid = 1954, droprate = 200}, + {itemid = 1958, droprate = 400}, + {itemid = 1948, droprate = 100}, + {itemid = 1934, droprate = 150}, + {itemid = 1932, droprate = 50}, + {itemid = 1930, droprate = 60}, + {itemid = 1938, droprate = 200}, + {itemid = 1944, droprate = 60}, + {itemid = 1952, droprate = 200}, + }, }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1954, droprate = 200}, - {itemid = 1958, droprate = 400}, - {itemid = 1948, droprate = 100}, - {itemid = 1934, droprate = 150}, - }, - { - {itemid = 1932, droprate = 50}, - {itemid = 1930, droprate = 60}, - {itemid = 1938, droprate = 200}, - {itemid = 1944, droprate = 60}, - {itemid = 1952, droprate = 200}, - }, - }, -- western tower floor 7 - [143] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1948, droprate = 36}, - {itemid = 1952, droprate = 143}, - {itemid = 1930, droprate = 143}, - {itemid = 1958, droprate = 214}, - {itemid = 1938, droprate = 71}, - {itemid = 2656, droprate = 321}, - }, - { - {itemid = 1875, droprate = 100}, - {itemid = 2127, droprate = 55}, - }, - { - {itemid = 1906, droprate = 1000}, + [7] = + { + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1948, droprate = 36}, + {itemid = 1952, droprate = 143}, + {itemid = 1930, droprate = 143}, + {itemid = 1958, droprate = 214}, + {itemid = 1938, droprate = 71}, + {itemid = 2656, droprate = 321}, + }, + { + {itemid = 1906, droprate = 1000}, + }, + { + {itemid = 0, droprate = 100}, + {itemid = 2127, droprate = 55}, + }, }, }, -- eastern tower floor 1 - [144] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, + [1300] = { + [1] = + { + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1944, droprate = 65}, + {itemid = 1936, droprate = 97}, + {itemid = 1946, droprate = 40}, + {itemid = 1942, droprate = 95}, + {itemid = 2660, droprate = 194}, + {itemid = 2714, droprate = 32}, + {itemid = 1950, droprate = 161}, + }, }, - { - {itemid = 1944, droprate = 65}, - {itemid = 1936, droprate = 97}, - {itemid = 1946, droprate = 40}, - {itemid = 1942, droprate = 95}, - {itemid = 2660, droprate = 194}, - {itemid = 2714, droprate = 32}, - {itemid = 1950, droprate = 161}, - {itemid = 2716, droprate = 190}, - {itemid = 2656, droprate = 210}, - }, - }, -- eastern tower floor 2 - [145] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1936, droprate = 367}, - {itemid = 1952, droprate = 70}, - {itemid = 1950, droprate = 40}, - {itemid = 1942, droprate = 333}, - {itemid = 1958, droprate = 20}, - }, - { - {itemid = 1956, droprate = 106}, - {itemid = 1938, droprate = 33}, - {itemid = 1944, droprate = 76}, - {itemid = 1948, droprate = 95}, - {itemid = 2658, droprate = 67}, - {itemid = 1946, droprate = 133}, + [2] = + { + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1936, droprate = 367}, + {itemid = 1952, droprate = 70}, + {itemid = 1950, droprate = 40}, + {itemid = 1942, droprate = 333}, + {itemid = 1958, droprate = 20}, + {itemid = 1956, droprate = 106}, + {itemid = 1938, droprate = 33}, + {itemid = 1944, droprate = 76}, + {itemid = 1948, droprate = 95}, + {itemid = 2658, droprate = 67}, + {itemid = 1946, droprate = 133}, + }, + { + {itemid = 0, droprate = 350}, + {itemid = 1936, droprate = 367}, + {itemid = 1952, droprate = 70}, + {itemid = 1950, droprate = 40}, + {itemid = 1942, droprate = 333}, + {itemid = 1958, droprate = 20}, + {itemid = 1956, droprate = 106}, + {itemid = 1938, droprate = 33}, + {itemid = 1944, droprate = 76}, + {itemid = 1948, droprate = 95}, + {itemid = 2658, droprate = 67}, + {itemid = 1946, droprate = 133}, + }, }, - }, -- eastern tower floor 3 - [146] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, + [3] = + { + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1942, droprate = 625}, + {itemid = 1944, droprate = 102}, + {itemid = 1950, droprate = 42}, + {itemid = 1952, droprate = 83}, + {itemid = 1946, droprate = 50}, + {itemid = 1940, droprate = 83}, + {itemid = 1936, droprate = 70}, + {itemid = 1938, droprate = 42}, + {itemid = 1948, droprate = 42}, + {itemid = 2660, droprate = 292}, + }, + { + {itemid = 0, droprate = 300}, + {itemid = 1942, droprate = 625}, + {itemid = 1944, droprate = 102}, + {itemid = 1950, droprate = 42}, + {itemid = 1952, droprate = 83}, + {itemid = 1946, droprate = 50}, + {itemid = 1940, droprate = 83}, + {itemid = 1936, droprate = 70}, + {itemid = 1938, droprate = 42}, + {itemid = 1948, droprate = 42}, + {itemid = 2660, droprate = 292}, + }, }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1942, droprate = 625}, - {itemid = 1944, droprate = 102}, - {itemid = 1950, droprate = 42}, - {itemid = 1952, droprate = 83}, - {itemid = 1946, droprate = 50}, - }, - { - {itemid = 1940, droprate = 83}, - {itemid = 1936, droprate = 70}, - {itemid = 1938, droprate = 42}, - {itemid = 1948, droprate = 42}, - {itemid = 2660, droprate = 292}, - }, - }, -- eastern tower floor 4 - [147] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, + [4] = + { + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1950, droprate = 417}, + {itemid = 1956, droprate = 75}, + {itemid = 1944, droprate = 208}, + {itemid = 1940, droprate = 167}, + {itemid = 1946, droprate = 62}, + {itemid = 1936, droprate = 69}, + {itemid = 2660, droprate = 208}, + {itemid = 1952, droprate = 42}, + {itemid = 2658, droprate = 83}, + }, + { + {itemid = 0, droprate = 400}, + {itemid = 1950, droprate = 417}, + {itemid = 1956, droprate = 75}, + {itemid = 1944, droprate = 208}, + {itemid = 1940, droprate = 167}, + {itemid = 1946, droprate = 62}, + {itemid = 1936, droprate = 69}, + {itemid = 2660, droprate = 208}, + {itemid = 1952, droprate = 42}, + {itemid = 2658, droprate = 83}, + }, }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1950, droprate = 417}, - {itemid = 1956, droprate = 75}, - {itemid = 1944, droprate = 208}, - {itemid = 1940, droprate = 167}, - }, - { - {itemid = 1946, droprate = 62}, - {itemid = 1936, droprate = 69}, - {itemid = 2660, droprate = 208}, - {itemid = 1952, droprate = 42}, - {itemid = 2658, droprate = 83}, - }, - }, -- eastern tower floor 5 - [148] = - { - { - {itemid = 1875, droprate = 1000}, + [5] = + { + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1944, droprate = 208}, + {itemid = 1938, droprate = 42}, + {itemid = 1946, droprate = 36}, + {itemid = 1940, droprate = 83}, + {itemid = 1942, droprate = 20}, + {itemid = 1952, droprate = 94}, + {itemid = 1956, droprate = 42}, + {itemid = 1936, droprate = 49}, + {itemid = 1950, droprate = 167}, + {itemid = 2714, droprate = 458}, + }, + { + {itemid = 0, droprate = 200}, + {itemid = 1944, droprate = 208}, + {itemid = 1938, droprate = 42}, + {itemid = 1946, droprate = 36}, + {itemid = 1940, droprate = 83}, + {itemid = 1942, droprate = 20}, + {itemid = 1952, droprate = 94}, + {itemid = 1956, droprate = 42}, + {itemid = 1936, droprate = 49}, + {itemid = 1950, droprate = 167}, + {itemid = 2714, droprate = 458}, + }, }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1944, droprate = 208}, - {itemid = 1938, droprate = 42}, - {itemid = 1946, droprate = 36}, - {itemid = 1940, droprate = 83}, - {itemid = 1942, droprate = 20}, - }, - { - {itemid = 1952, droprate = 94}, - {itemid = 1956, droprate = 42}, - {itemid = 1936, droprate = 49}, - {itemid = 1950, droprate = 167}, - {itemid = 2714, droprate = 458}, - }, - }, -- eastern tower floor 6 - [149] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, + [6] = + { + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 0, droprate = 1000}, + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1942, droprate = 68}, + {itemid = 1948, droprate = 74}, + {itemid = 1936, droprate = 259}, + {itemid = 1940, droprate = 74}, + {itemid = 1956, droprate = 74}, + {itemid = 1950, droprate = 62}, + {itemid = 2656, droprate = 150}, + {itemid = 1938, droprate = 76}, + {itemid = 1952, droprate = 53}, + {itemid = 2658, droprate = 111}, + {itemid = 2714, droprate = 370}, + {itemid = 1946, droprate = 333}, + }, + { + {itemid = 0, droprate = 300}, + {itemid = 1942, droprate = 68}, + {itemid = 1948, droprate = 74}, + {itemid = 1936, droprate = 259}, + {itemid = 1940, droprate = 74}, + {itemid = 1956, droprate = 74}, + {itemid = 1950, droprate = 62}, + {itemid = 2656, droprate = 150}, + {itemid = 1938, droprate = 76}, + {itemid = 1952, droprate = 53}, + {itemid = 2658, droprate = 111}, + {itemid = 2714, droprate = 370}, + {itemid = 1946, droprate = 333}, + }, }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1942, droprate = 68}, - {itemid = 1948, droprate = 74}, - {itemid = 1936, droprate = 259}, - {itemid = 1940, droprate = 74}, - {itemid = 1956, droprate = 74}, - {itemid = 1950, droprate = 62}, - }, - { - {itemid = 2656, droprate = 150}, - {itemid = 1938, droprate = 76}, - {itemid = 1952, droprate = 53}, - {itemid = 2658, droprate = 111}, - {itemid = 2714, droprate = 370}, - {itemid = 1946, droprate = 333}, + -- eastern tower floor 7 + [7] = + { + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1942, droprate = 38}, + {itemid = 1950, droprate = 67}, + {itemid = 1944, droprate = 100}, + {itemid = 1936, droprate = 233}, + {itemid = 1946, droprate = 80}, + {itemid = 2660, droprate = 333}, + {itemid = 2714, droprate = 67}, + }, + { + {itemid = 1905, droprate = 1000}, + }, + { + {itemid = 0, droprate = 100}, + {itemid = 2127, droprate = 55}, + }, }, }, - -- eastern tower floor 7 - [150] = + -- central temenos basement + [1301] = { { {itemid = 1875, droprate = 1000}, @@ -686,25 +1066,9 @@ local loot = { {itemid = 1875, droprate = 1000}, }, - { - {itemid = 1942, droprate = 38}, - {itemid = 1950, droprate = 67}, - {itemid = 1944, droprate = 100}, - {itemid = 1936, droprate = 233}, - {itemid = 1946, droprate = 80}, - {itemid = 2660, droprate = 333}, - {itemid = 2714, droprate = 67}, - }, - { - {itemid = 1875, droprate = 100}, - {itemid = 2127, droprate = 55}, - }, - { - {itemid = 1905, droprate = 1000}, - }, }, -- central temenos floor 1 - [151] = + [1303] = { { {itemid = 1875, droprate = 1000}, @@ -740,7 +1104,7 @@ local loot = }, }, -- central temenos floor 2 - [152] = + [1304] = { { {itemid = 1875, droprate = 1000}, @@ -765,10 +1129,10 @@ local loot = }, { {itemid = 1944, droprate = 250}, - {itemid = 1936, droprate = 94}, - {itemid = 1950, droprate = 63}, + {itemid = 1936, droprate = 94}, + {itemid = 1950, droprate = 63}, {itemid = 1942, droprate = 125}, - {itemid = 1946, droprate = 63}, + {itemid = 1946, droprate = 63}, {itemid = 2660, droprate = 281}, {itemid = 2714, droprate = 125}, }, @@ -777,7 +1141,7 @@ local loot = }, }, -- central temenos floor 3 - [153] = + [1305]= { { {itemid = 1875, droprate = 1000}, @@ -801,7 +1165,7 @@ local loot = {itemid = 1875, droprate = 1000}, }, { - {itemid = 1934, droprate = 53}, + {itemid = 1934, droprate = 53}, {itemid = 1940, droprate = 132}, {itemid = 1954, droprate = 105}, {itemid = 1932, droprate = 211}, @@ -815,241 +1179,275 @@ local loot = }, }, -- central temenos floor 4 - [154] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1920, droprate = 659}, - {itemid = 1924, droprate = 394}, - {itemid = 1923, droprate = 388}, - {itemid = 1922, droprate = 404}, - }, - { - {itemid = 1924, droprate = 394}, - {itemid = 1922, droprate = 402}, - {itemid = 1920, droprate = 659}, - {itemid = 1923, droprate = 383}, - }, - { - {itemid = 1921, droprate = 265}, - {itemid = 1875, droprate = 100}, - }, - }, - -- central temenos floor 5 - [155] = - { - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1934, droprate = 200}, - {itemid = 1930, droprate = 200}, - {itemid = 1958, droprate = 200}, - {itemid = 2658, droprate = 400}, - {itemid = 1940, droprate = 200}, + [1306] = { + [1] = + { + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1920, droprate = 659}, + {itemid = 1924, droprate = 394}, + {itemid = 1923, droprate = 388}, + {itemid = 1922, droprate = 404}, + }, + { + {itemid = 1924, droprate = 394}, + {itemid = 1922, droprate = 402}, + {itemid = 1920, droprate = 659}, + {itemid = 1923, droprate = 383}, + }, + { + {itemid = 1921, droprate = 265}, + {itemid = 0, droprate = 735}, + }, + }, + -- central temenos floor 4 side loot + [2] = + { + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1875, droprate = 1000}, + }, + { + {itemid = 1934, droprate = 200}, + {itemid = 1930, droprate = 200}, + {itemid = 1958, droprate = 200}, + {itemid = 2658, droprate = 400}, + {itemid = 1940, droprate = 200}, + }, }, }, } ------------------------------------ --- onTrade Action ------------------------------------ - -function onTrade(player,npc,trade) -end; +function onTrade(player, npc, trade) +end ------------------------------------ --- onTrigger Action ------------------------------------ - -function onTrigger(player,npc) +function onTrigger(player, npc) local battlefield = player:getBattlefield() if not battlefield then return end - local CofferID = npc:getID(); - local CofferType=0; - local lootID=0; - local InstanceRegion=0; - local addtime=0; - local DespawnOtherCoffer=false; - local MimicID=0; - local X = npc:getXPos(); - local Y = npc:getYPos(); - local Z = npc:getZPos(); - - for coffer = 1,#ARMOURY_CRATES_LIST_TEMENOS,2 do - if (ARMOURY_CRATES_LIST_TEMENOS[coffer] == CofferID-16928768) then - CofferType=ARMOURY_CRATES_LIST_TEMENOS[coffer+1][1]; - InstanceRegion=ARMOURY_CRATES_LIST_TEMENOS[coffer+1][2]; - addtime=ARMOURY_CRATES_LIST_TEMENOS[coffer+1][3]; - DespawnOtherCoffer=ARMOURY_CRATES_LIST_TEMENOS[coffer+1][4]; - MimicID=ARMOURY_CRATES_LIST_TEMENOS[coffer+1][5]; - lootID=ARMOURY_CRATES_LIST_TEMENOS[coffer+1][6]; - end - end - local coffer = CofferID-16928768; - - if (CofferType == cTIME) then - dsp.battlefield.ExtendTimeLimit(battlefield, addtime) - elseif (CofferType == cITEM) then - if (InstanceRegion == Central_Temenos_4th_Floor and coffer~=79) then - local randmimic = math.random(1,24) - if ( randmimic < 19) then - local MimicList={16928986,16928987,16928988,16928989,16928990,16928991,16928992,16928993,16928994,16928995,16928996,16928997,16928998,16928999,16929000,16929001,16929002,16929003}; - GetMobByID(MimicList[randmimic]):setSpawn(X,Y,Z); - SpawnMob(MimicList[randmimic]):setPos(X,Y,Z); - GetMobByID(MimicList[randmimic]):updateClaim(player); - else - battlefield:setLocalVar("loot", 1) - battlefield:spawnLoot(npc) - dsp.battlefield.HandleLootRolls(battlefield, loot[lootID], nil, npc) - end - -- despawn les coffer du meme groupe - for coffer = 1, #ARMOURY_CRATES_LIST_TEMENOS, 2 do - if (ARMOURY_CRATES_LIST_TEMENOS[coffer+1][5] == MimicID) then - GetNPCByID(16928768+ARMOURY_CRATES_LIST_TEMENOS[coffer]):setStatus(dsp.status.DISAPPEAR); + local crateID = npc:getID() + local model = npc:getModelId() + local X = npc:getXPos() + local Y = npc:getYPos() + local Z = npc:getZPos() + local bfid = battlefield:getID() + local hold = false + if npc:getAnimation() ~= 90 then + switch (bfid): caseof + { + [1298] = function() -- Temenos West Crate Handling + if crateID ~= ID.npc.TEMENOS_W_CRATE[7] then + for i = 1, 6 do + for j = 0, 2 do + if crateID == ID.npc.TEMENOS_W_CRATE[i]+j then + if model == 960 then + dsp.battlefield.HealPlayers(battlefield) + elseif model == 961 then + dsp.limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) + elseif model == 962 then + dsp.limbus.extendTimeLimit(battlefield, 15, dsp.zone.TEMENOS) + end + end + end + end + else + dsp.limbus.handleLootRolls(battlefield, loot[bfid][7], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) end - end - else - battlefield:setLocalVar("loot", 1) - battlefield:spawnLoot(npc) - dsp.battlefield.HandleLootRolls(battlefield, loot[lootID], nil, npc) - end - elseif (CofferType == cRESTORE) then - dsp.battlefield.HealPlayers(battlefield) - elseif (CofferType == cMIMIC) then - if (coffer == 284) then - GetMobByID(16928844):setSpawn(X,Y,Z); - SpawnMob(16928844):setPos(X,Y,Z) - GetMobByID(16928844):updateClaim(player); - elseif (coffer == 321) then - GetMobByID(16928853):setSpawn(X,Y,Z); - SpawnMob(16928853):setPos(X,Y,Z); - GetMobByID(16928853):updateClaim(player); - elseif (coffer == 348) then - GetMobByID(16928862):setSpawn(X,Y,Z); - SpawnMob(16928862):setPos(X,Y,Z); - GetMobByID(16928862):updateClaim(player); - elseif (coffer == 360) then - GetMobByID(16928871):setSpawn(X,Y,Z); - SpawnMob(16928871):setPos(X,Y,Z); - GetMobByID(16928871):updateClaim(player); - elseif (coffer == 393) then - GetMobByID(16928880):setSpawn(X,Y,Z); - SpawnMob(16928880):setPos(X,Y,Z); - GetMobByID(16928880):updateClaim(player); - elseif (coffer == 127) then - GetMobByID(16928889):setSpawn(X,Y,Z); - SpawnMob(16928889):setPos(X,Y,Z); - GetMobByID(16928889):updateClaim(player); - elseif (coffer == 123) then - GetMobByID(16928894):setSpawn(X,Y,Z); - SpawnMob(16928894):setPos(X,Y,Z); - GetMobByID(16928894):updateClaim(player); - end - end - if (DespawnOtherCoffer == true) then - HideArmouryCrates(InstanceRegion,TEMENOS); - if (InstanceRegion==Temenos_Eastern_Tower) then --despawn mob of the current floor - if (coffer == 173 or coffer == 215 or coffer == 284 or coffer == 40) then - --floor 1 - if (GetMobAction(16928840) > 0) then DespawnMob(16928840); end - if (GetMobAction(16928841) > 0) then DespawnMob(16928841); end - if (GetMobAction(16928842) > 0) then DespawnMob(16928842); end - if (GetMobAction(16928843) > 0) then DespawnMob(16928843); end - GetNPCByID(16929228):setStatus(dsp.status.NORMAL); - elseif (coffer == 174 or coffer == 216 or coffer == 321 or coffer == 45) then - --floor 2 - if (GetMobAction(16928849) > 0) then DespawnMob(16928849); end - if (GetMobAction(16928850) > 0) then DespawnMob(16928850); end - if (GetMobAction(16928851) > 0) then DespawnMob(16928851); end - if (GetMobAction(16928852) > 0) then DespawnMob(16928852); end - GetNPCByID(16929229):setStatus(dsp.status.NORMAL); - elseif (coffer == 181 or coffer == 217 or coffer == 348 or coffer == 46) then - --floor 3 - if (GetMobAction(16928858) > 0) then DespawnMob(16928858); end - if (GetMobAction(16928859) > 0) then DespawnMob(16928859); end - if (GetMobAction(16928860) > 0) then DespawnMob(16928860); end - if (GetMobAction(16928861) > 0) then DespawnMob(16928861); end - GetNPCByID(16929230):setStatus(dsp.status.NORMAL); - elseif (coffer == 182 or coffer == 236 or coffer == 360 or coffer == 47) then - --floor 4 - if (GetMobAction(16928867) > 0) then DespawnMob(16928867); end - if (GetMobAction(16928868) > 0) then DespawnMob(16928868); end - if (GetMobAction(16928869) > 0) then DespawnMob(16928869); end - if (GetMobAction(16928870) > 0) then DespawnMob(16928870); end - GetNPCByID(16929231):setStatus(dsp.status.NORMAL); - elseif (coffer == 183 or coffer == 261 or coffer == 393 or coffer == 68) then - --floor 5 - if (GetMobAction(16928876) > 0) then DespawnMob(16928876); end - if (GetMobAction(16928877) > 0) then DespawnMob(16928877); end - if (GetMobAction(16928878) > 0) then DespawnMob(16928878); end - if (GetMobAction(16928879) > 0) then DespawnMob(16928879); end - GetNPCByID(16929232):setStatus(dsp.status.NORMAL); - elseif (coffer == 277 or coffer == 190 or coffer == 127 or coffer == 69) then - --floor 6 - if (GetMobAction(16928885) > 0) then DespawnMob(16928885); end - if (GetMobAction(16928886) > 0) then DespawnMob(16928886); end - if (GetMobAction(16928887) > 0) then DespawnMob(16928887); end - if (GetMobAction(16928888) > 0) then DespawnMob(16928888); end - GetNPCByID(16929233):setStatus(dsp.status.NORMAL); - elseif (coffer == 70 or coffer == 123) then - --floor 7 - if (GetMobAction(16928892) > 0) then DespawnMob(16928892); end - if (GetMobAction(16928893) > 0) then DespawnMob(16928893); end - GetNPCByID(16929234):setStatus(dsp.status.NORMAL); - end + end, + [1299] = function() -- Temenos North Crate Handling + if crateID ~= ID.npc.TEMENOS_N_CRATE[7] then + for i = 1, 6 do + for j = 0, 2 do + if crateID == ID.npc.TEMENOS_N_CRATE[i]+j then + if j ~= 0 then GetNPCByID(ID.npc.TEMENOS_N_CRATE[i]):setStatus(dsp.status.DISAPPEAR) end + if j ~= 1 then GetNPCByID(ID.npc.TEMENOS_N_CRATE[i]+1):setStatus(dsp.status.DISAPPEAR) end + if j ~= 2 then GetNPCByID(ID.npc.TEMENOS_N_CRATE[i]+2):setStatus(dsp.status.DISAPPEAR) end + if model == 960 then + dsp.battlefield.HealPlayers(battlefield) + elseif model == 961 then + dsp.limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) + elseif model == 962 then + dsp.limbus.extendTimeLimit(battlefield, 15, dsp.zone.TEMENOS) + end + end + end + end + else + dsp.limbus.handleLootRolls(battlefield, loot[bfid][7], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + end + end, + [1300] = function() -- Temenos East Crate Handling + local spawnMimic = math.random(0,1) == 1 + if crateID ~= ID.npc.TEMENOS_E_CRATE[7] and crateID ~= ID.npc.TEMENOS_E_CRATE[7]+1 then + for i = 1, 6 do + local mask = battlefield:getLocalVar("crateMaskF"..i) + for j = 0, 3 do + if crateID == ID.npc.TEMENOS_E_CRATE[i]+j then + if GetMobByID(ID.mob.TEMENOS_E_MOB[i]+4):isDead() then + battlefield:setLocalVar("crateOpenedF"..i, 1) + if model ~= 961 or not (mask > 7 and spawnMimic) then + if j ~= 0 then GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]):setStatus(dsp.status.DISAPPEAR) end + if j ~= 1 then GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+1):setStatus(dsp.status.DISAPPEAR) end + if j ~= 2 then GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+2):setStatus(dsp.status.DISAPPEAR) end + if j ~= 3 then GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+3):setStatus(dsp.status.DISAPPEAR) end + end + if GetMobByID(ID.mob.TEMENOS_E_MOB[i]):isAlive() then DespawnMob(ID.mob.TEMENOS_E_MOB[i]) end + if GetMobByID(ID.mob.TEMENOS_E_MOB[i]+1):isAlive() then DespawnMob(ID.mob.TEMENOS_E_MOB[i]+1) end + if GetMobByID(ID.mob.TEMENOS_E_MOB[i]+2):isAlive() then DespawnMob(ID.mob.TEMENOS_E_MOB[i]+2) end + if GetMobByID(ID.mob.TEMENOS_E_MOB[i]+3):isAlive() then DespawnMob(ID.mob.TEMENOS_E_MOB[i]+3) end + if model == 960 then + dsp.battlefield.HealPlayers(battlefield) + dsp.limbus.handleDoors(battlefield, true, ID.npc.TEMENOS_E_GATE[i]) + elseif model == 961 then + if mask > 7 and spawnMimic then + battlefield:setLocalVar("crateMaskF"..i, mask-8) + GetMobByID(ID.mob.TEMENOS_E_MOB[i]+4):setSpawn(X, Y, Z) + SpawnMob(ID.mob.TEMENOS_E_MOB[i]+4):setPos(X, Y, Z) + GetMobByID(ID.mob.TEMENOS_E_MOB[i]+4):updateClaim(player) + else + dsp.limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) + dsp.limbus.handleDoors(battlefield, true, ID.npc.TEMENOS_E_GATE[i]) + end + elseif model == 962 then + dsp.limbus.extendTimeLimit(battlefield, 15, dsp.zone.TEMENOS) + dsp.limbus.handleDoors(battlefield, true, ID.npc.TEMENOS_E_GATE[i]) + end + else + hold = true + player:messageSpecial(ID.text.CANNOT_OPEN_CHEST) + end + end + end + end + else + if GetMobByID(ID.mob.TEMENOS_E_MOB[7]+2):isDead() then + local otherCrate = ID.npc.TEMENOS_E_CRATE[7] + if crateID % 2 == 0 then otherCrate = otherCrate + 1 end + if spawnMimic and battlefield:getLocalVar("otherCrate") == 0 then + GetMobByID(ID.mob.TEMENOS_E_MOB[7]+2):setSpawn(X, Y, Z) + SpawnMob(ID.mob.TEMENOS_E_MOB[7]+2):setPos(X, Y, Z) + GetMobByID(ID.mob.TEMENOS_E_MOB[7]+2):updateClaim(player) + battlefield:setLocalVar("otherCrate", otherCrate) + else + GetNPCByID(otherCrate):setStatus(dsp.status.DISAPPEAR) + dsp.limbus.handleLootRolls(battlefield, loot[bfid][7], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + end + else + hold = true + player:messageSpecial(ID.text.CANNOT_OPEN_CHEST) + end + end + end, + [1301] = function() -- Temenos Central Basement Crate Handling + dsp.limbus.handleLootRolls(battlefield, loot[bfid], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + end, + [1303] = function() -- Temenos Central F1 Crate Handling + dsp.limbus.handleLootRolls(battlefield, loot[bfid], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + end, + [1304] = function() -- Temenos Central F2 Crate Handling + dsp.limbus.handleLootRolls(battlefield, loot[bfid], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + end, + [1305] = function() -- Temenos Central F3 Crate Handling + dsp.limbus.handleLootRolls(battlefield, loot[bfid], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + end, + [1306] = function() -- Temenos Central F4 Crate Handling + if crateID ~= ID.npc.TEMENOS_C_CRATE[4][1] then + local randmimic = math.random(1, 24) + if randmimic < 17 then + local MimicList = + { + ID.mob.TEMENOS_C_MOB[4]+20, ID.mob.TEMENOS_C_MOB[4]+21, + ID.mob.TEMENOS_C_MOB[4]+22, ID.mob.TEMENOS_C_MOB[4]+25, + ID.mob.TEMENOS_C_MOB[4]+26, ID.mob.TEMENOS_C_MOB[4]+27, + ID.mob.TEMENOS_C_MOB[4]+28, ID.mob.TEMENOS_C_MOB[4]+29, + ID.mob.TEMENOS_C_MOB[4]+30, ID.mob.TEMENOS_C_MOB[4]+31, + ID.mob.TEMENOS_C_MOB[4]+32, ID.mob.TEMENOS_C_MOB[4]+33, + ID.mob.TEMENOS_C_MOB[4]+34, ID.mob.TEMENOS_C_MOB[4]+35, + ID.mob.TEMENOS_C_MOB[4]+36, ID.mob.TEMENOS_C_MOB[4]+37, + } + GetMobByID(MimicList[randmimic]):setSpawn(X, Y, Z) + SpawnMob(MimicList[randmimic]):setPos(X, Y, Z) + GetMobByID(MimicList[randmimic]):updateClaim(player) + else + dsp.limbus.handleLootRolls(battlefield, loot[bfid][2], nil, npc) + end + for i = ID.npc.TEMENOS_C_CRATE[4][1]+2, ID.npc.TEMENOS_C_CRATE[4][1]+20 do + if ID.npc.TEMENOS_C_CRATE[4][crateID] == ID.npc.TEMENOS_C_CRATE[4][i] then + if crateID ~= i then + GetNPCByID(i):setStatus(dsp.status.DISAPPEAR) + end + end + end + else + dsp.limbus.handleLootRolls(battlefield, loot[bfid][1], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + end + end, + } + if not hold then + npc:setAnimation(90) + npc:timer(15000, function(npc) + npc:setStatus(dsp.status.DISAPPEAR) + npc:timer(500, function(npc) + npc:setAnimation(0) + end) + end) end end - npc:setStatus(dsp.status.DISAPPEAR); -end; - ------------------------------------ --- onEventUpdate ------------------------------------ +end -function onEventUpdate(player,csid,option) -end; - ------------------------------------ --- onEventFinish Action ------------------------------------ +function onEventUpdate(player, csid, option) +end -function onEventFinish(player,csid,option) -end; \ No newline at end of file +function onEventFinish(player, csid, option) +end \ No newline at end of file diff --git a/scripts/zones/Temenos/npcs/Matter_Diffusion_Module.lua b/scripts/zones/Temenos/npcs/Matter_Diffusion_Module.lua index 27045da6244..abacf08c88b 100644 --- a/scripts/zones/Temenos/npcs/Matter_Diffusion_Module.lua +++ b/scripts/zones/Temenos/npcs/Matter_Diffusion_Module.lua @@ -3,157 +3,35 @@ -- NPC: Matter diffusion module -- !pos ----------------------------------- - -require("scripts/globals/limbus"); -require("scripts/globals/keyitems"); -local ID = require("scripts/zones/Temenos/IDs"); - -function onTrade(player,npc,trade) -local count = trade:getItemCount(); -local InstanceTrade=0; -if (player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.WHITE_CARD) ) then - - - if (count==1 and trade:hasItemQty(2127,1)) then -- Central Temenos - Basement 1 - InstanceTrade=128; - elseif (count==1 and trade:hasItemQty(1906,1)) then -- Central Temenos - 1st Floor - InstanceTrade=64; - elseif (count==1 and trade:hasItemQty(1905,1)) then -- Central Temenos - 2st Floor - InstanceTrade=32; - elseif (count==1 and trade:hasItemQty(1904,1)) then -- Central Temenos - 3st Floor - InstanceTrade=16; - elseif (count==3 and trade:hasItemQty(1986,1) and trade:hasItemQty(1908,1) and trade:hasItemQty(1907,1)) then --proto-ultima - InstanceTrade=8; - end - else - player:messageSpecial(ID.text.CONDITION_FOR_LIMBUS_T); - print("error player don't have cosmo clean"); - end - - if (InstanceTrade~=0) then - player:setCharVar("Limbus_Trade_Item-T",InstanceTrade); - player:tradeComplete(); - player:messageSpecial(ID.text.CHIP_TRADE_T); - player:startEvent(32000,0,0,0,InstanceTrade,0,0,0,0); - player:setCharVar("limbusbitmap",InstanceTrade); - end - - - -end; - -function onTrigger(player,npc) - local instancelist ={}; - local limbusbitmap = 0 ; - local AllowLimbusToPlayer = true ; - local currentlimbus= TryTobackOnCurrentLimbus(player); - - - instancelist = TEMENOS_LIST; - - printf("currentlimbus: %u",currentlimbus); - - - if (player:hasKeyItem(dsp.ki.COSMOCLEANSE)) then - if (player:hasStatusEffect(dsp.effect.BATTLEFIELD) == false) then - local LimbusTradeItem = player:getCharVar("Limbus_Trade_Item-T"); - for nt = 1,#instancelist,2 do - -- printf("list d'instance: %u",instancelist[nt]); - if (instancelist[nt+1][1]==true and player:hasKeyItem(dsp.ki.WHITE_CARD)) then - -- print("player_have_white_card"); - limbusbitmap = limbusbitmap + instancelist[nt+1][4]; - -- printf("bitmapadd: %u",instancelist[nt+1][4]); - end - if (instancelist[nt+1][2]==true and player:hasKeyItem(dsp.ki.RED_CARD)) then - -- print("player_have_red_card"); - limbusbitmap = limbusbitmap + instancelist[nt+1][4]; - -- printf("bitmapadd: %u",instancelist[nt+1][4]); - end - if (instancelist[nt+1][3]==true and player:hasKeyItem(dsp.ki.BLACK_CARD)) then - -- print("player_have_black_card"); - limbusbitmap = limbusbitmap + instancelist[nt+1][4]; - -- printf("bitmapadd: %u",instancelist[nt+1][4]); - end - end - limbusbitmap= limbusbitmap + LimbusTradeItem; - ----- /////////////////////////////////////////////on doit ajouter le mipmap pour l'item trade ici - else - local status = player:getStatusEffect(dsp.effect.BATTLEFIELD); - local playerbcnmid = status:getPower(); - -- check if the player has the key item for the current battlefield - for nt = 1,#instancelist,2 do - -- printf("list d'instance: %u",instancelist[nt]); - if (instancelist[nt] == playerbcnmid) then - if (instancelist[nt+1][1]== true and player:hasKeyItem(dsp.ki.WHITE_CARD) == false) then - AllowLimbusToPlayer = false; - end - if (instancelist[nt+1][2]== true and player:hasKeyItem(dsp.ki.RED_CARD) == false ) then - AllowLimbusToPlayer = false; - end - if (instancelist[nt+1][3]== true and player:hasKeyItem(dsp.ki.BLACK_CARD) == false ) then - AllowLimbusToPlayer = false; - end - if (AllowLimbusToPlayer == true) then --player have the correct key item for the current battflield - limbusbitmap = instancelist[nt+1][4]; - end - - end - end - - - - end - - - - - if (limbusbitmap~= 0 ) then - player:startEvent(32000,0,0,0,limbusbitmap,0,0,0,0); - player:setCharVar("limbusbitmap",limbusbitmap); - else - player:messageSpecial(ID.text.CONDITION_FOR_LIMBUS_T); - print("player need a card for basic limbus"); +require("scripts/globals/bcnm") +local ID = require("scripts/zones/Temenos/IDs") + +function onTrade(player, npc, trade) + if player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.WHITE_CARD) then + TradeBCNM(player, npc, trade) + else + player:messageSpecial(ID.text.NO_KEY) + end +end + +function onTrigger(player, npc) + if player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.WHITE_CARD) then + EventTriggerBCNM(player, npc) + else + player:messageSpecial(ID.text.NO_KEY) + end +end + +function onEventUpdate(player, csid, option, extras) + if EventUpdateBCNM(player, csid, option, extras) then + for _, member in pairs(player:getAlliance()) do + if member:getZoneID() == player:getZoneID() and not member:hasStatusEffect(dsp.effect.BATTLEFIELD) and not member:getBattlefield() then + member:messageSpecial(ID.text.HUM) + end end + end +end - elseif (currentlimbus~=0) then - for nt = 1,#instancelist,2 do - -- printf("list d'instance: %u",instancelist[nt]); - if (instancelist[nt] == currentlimbus) then - limbusbitmap = instancelist[nt+1][4]; - end - end - player:startEvent(32000,0,0,0,limbusbitmap,0,0,0,0); - player:setCharVar("limbusbitmap",limbusbitmap); - - else - player:messageSpecial(ID.text.CONDITION_FOR_LIMBUS_T); - print("error player don't have cosmo clean"); - end - -end; - -function onEventUpdate(player,csid,option) - - - if (csid == 32000) then - if (player:hasStatusEffect(dsp.effect.BATTLEFIELD) == false) then - ResetPlayerLimbusVariable(player); - player:setCharVar("characterLimbusKey",0); - else - local status = player:getStatusEffect(dsp.effect.BATTLEFIELD); - player:setCharVar("LimbusID",status:getPower()); - player:setCharVar("characterLimbusKey",GetLimbusKeyFromInstance(status:getPower())); - end - player:updateEvent(2,player:getCharVar("limbusbitmap"),0,1,1,0); - player:setCharVar("limbusbitmap",0); - - - end - -end; - -function onEventFinish(player,csid,option) - if (csid == 32000) then - - end -end; +function onEventFinish(player, csid, option) + EventFinishBCNM(player, csid, option) +end \ No newline at end of file diff --git a/scripts/zones/Temenos/npcs/Particle_Gate.lua b/scripts/zones/Temenos/npcs/Particle_Gate.lua deleted file mode 100644 index 7544a9ee8cb..00000000000 --- a/scripts/zones/Temenos/npcs/Particle_Gate.lua +++ /dev/null @@ -1,127 +0,0 @@ ------------------------------------ --- Area: Temenos --- NPC: Particle_Gate ------------------------------------ - -require("scripts/globals/limbus"); -require("scripts/globals/keyitems"); - ------------------------------------ --- onTrade Action ------------------------------------ - -function onTrade(player,npc,trade) -end; - ------------------------------------ --- onTrigger Action ------------------------------------ - -function onTrigger(player,npc) - local GateID = npc:getID(); - - -- print("GateID " ..GateID); - -- player:PrintToPlayer(npc:getID()); - - switch (GateID): caseof - { - -- 100-106 : Northern Tower - [GATE_OFFSET] = function (x) - player:startEvent(100); - end, - [GATE_OFFSET+1] = function (x) - player:startEvent(101); - end, - [GATE_OFFSET+2] = function (x) - player:startEvent(102); - end, - [GATE_OFFSET+3] = function (x) - player:startEvent(103); - end, - [GATE_OFFSET+4] = function (x) - player:startEvent(104); - end, - [GATE_OFFSET+5] = function (x) - player:startEvent(105); - end, - [GATE_OFFSET+6] = function (x) - player:startEvent(106); - end, - -- 107-113 : Eastern Tower - [GATE_OFFSET+7] = function (x) - player:startEvent(107); - end, - [GATE_OFFSET+8] = function (x) - player:startEvent(108); - end, - [GATE_OFFSET+9] = function (x) - player:startEvent(109); - end, - [GATE_OFFSET+10] = function (x) - player:startEvent(110); - end, - [GATE_OFFSET+11] = function (x) - player:startEvent(111); - end, - [GATE_OFFSET+12] = function (x) - player:startEvent(112); - end, - [GATE_OFFSET+13] = function (x) - player:startEvent(113); - end, - -- 114-120 Western Tower - [GATE_OFFSET+14] = function (x) - player:startEvent(114); - end, - [GATE_OFFSET+15] = function (x) - player:startEvent(115); - end, - [GATE_OFFSET+16] = function (x) - player:startEvent(116); - end, - [GATE_OFFSET+17] = function (x) - player:startEvent(117); - end, - [GATE_OFFSET+18] = function (x) - player:startEvent(118); - end, - [GATE_OFFSET+19] = function (x) - player:startEvent(119); - end, - [GATE_OFFSET+20] = function (x) - player:startEvent(120); - end, - -- The rest of Temenos - [GATE_OFFSET+21] = function (x) - player:startEvent(120); - end, - [GATE_OFFSET+22] = function (x) - player:startEvent(120); - end, - [GATE_OFFSET+23] = function (x) - player:startEvent(120); - end, - [GATE_OFFSET+24] = function (x) - player:startEvent(120); - end, - [GATE_OFFSET+25] = function (x) - player:startEvent(120); - end, - } -end; - ------------------------------------ --- onEventUpdate ------------------------------------ - -function onEventUpdate(player,csid,option) -end; - ------------------------------------ --- onEventFinish ------------------------------------ - -function onEventFinish(player,csid,option) --- printf("CSID: %u",csid); --- printf("RESULT: %u",option); -end; diff --git a/scripts/zones/Temenos/npcs/Scanning_Device.lua b/scripts/zones/Temenos/npcs/Scanning_Device.lua index d6a8caa8cc0..906c9ee9d9d 100644 --- a/scripts/zones/Temenos/npcs/Scanning_Device.lua +++ b/scripts/zones/Temenos/npcs/Scanning_Device.lua @@ -3,45 +3,40 @@ -- NPC: Scanning_Device -- !pos 586 0 66 37 ----------------------------------- -require("scripts/globals/limbus"); - ------------------------------------ --- onTrade Action ------------------------------------ - -function onTrade(player,npc,trade) -end; - ------------------------------------ --- onTrigger Action ------------------------------------ - -function onTrigger(player,npc) - player:startEvent(121, 511); -end; - ------------------------------------ --- onEventUpdate ------------------------------------ - -function onEventUpdate(player,csid,option) - local time = 0; +require("scripts/globals/npc_util") + +function onTrade(player, npc, trade) + if npcUtil.tradeHas(trade, 2127) then + player:startEvent(121, 257) + elseif npcUtil.tradeHas(trade, {1986, 1908, 1907}) then + player:startEvent(121, 17) + elseif npcUtil.tradeHas(trade, 1904) then + player:startEvent(121, 33) + elseif npcUtil.tradeHas(trade, 1905) then + player:startEvent(121, 65) + elseif npcUtil.tradeHas(trade, 1906) then + player:startEvent(121, 129) + end +end + +function onTrigger(player, npc) + player:startEvent(121, 15) +end + +function onEventUpdate(player, csid, option) + local time = 0 switch (option): caseof { - [1] = function (x) time = player:getBattlefieldTimeLeft(1); end, -- Northern Tower - [2] = function (x) time = player:getBattlefieldTimeLeft(2); end, -- Eastern Tower - [3] = function (x) time = player:getBattlefieldTimeLeft(3); end, -- Western Tower - [4] = function (x) time = player:getBattlefieldTimeLeft(4); end, -- Central 4th - [5] = function (x) time = player:getBattlefieldTimeLeft(5); end, -- Central 3rd - [6] = function (x) time = player:getBattlefieldTimeLeft(6); end, -- Central 2nd - [7] = function (x) time = player:getBattlefieldTimeLeft(7); end, -- Central 1st - [8] = function (x) time = player:getBattlefieldTimeLeft(8); end, -- Central Basement + [1] = function() time = GetServerVariable("[Temenos_Northern_Tower]Time") end, -- Northern Tower + [2] = function() time = GetServerVariable("[Temenos_Eastern_Tower]Time") end, -- Eastern Tower + [3] = function() time = GetServerVariable("[Temenos_Western_Tower]Time") end, -- Western Tower + [4] = function() time = GetServerVariable("[Central_Temenos_4th_Floor]Time") end, -- Central 4th + [5] = function() time = GetServerVariable("[Central_Temenos_3rd_Floor]Time") end, -- Central 3rd + [6] = function() time = GetServerVariable("[Central_Temenos_2nd_Floor]Time") end, -- Central 2nd + [7] = function() time = GetServerVariable("[Central_Temenos_1st_Floor]Time") end, -- Central 1st + [8] = function() time = GetServerVariable("[Central_Temenos_Basement]Time") end, -- Central Basement } - player:updateEvent(0,time,0,0,0,0,0,0); -end; - ------------------------------------ --- onEventFinish ------------------------------------ + player:updateEvent(0, time, 0, 0, 0, 0, 0, 0) +end -function onEventFinish(player,csid,option) -end; +function onEventFinish(player, csid, option) +end diff --git a/sql/bcnm_battlefield.sql b/sql/bcnm_battlefield.sql index 6c2d332ccea..332987c1b24 100644 --- a/sql/bcnm_battlefield.sql +++ b/sql/bcnm_battlefield.sql @@ -1183,21 +1183,21 @@ INSERT INTO `bcnm_battlefield` VALUES (1293,3,16933027,1);-- 'Inhumer' INSERT INTO `bcnm_battlefield` VALUES (1293,3,16933028,1);-- 'Inhumer' INSERT INTO `bcnm_battlefield` VALUES (1293,3,16933020,1);-- 'Grave_Digger' -- Fourth Floor -INSERT INTO `bcnm_battlefield` VALUES (1293,3,16933032,1);-- 'Evil_Armory' -INSERT INTO `bcnm_battlefield` VALUES (1293,3,16933033,1);-- 'Flying_Spear' -INSERT INTO `bcnm_battlefield` VALUES (1293,3,16933034,1);-- 'Flying_Spear' -INSERT INTO `bcnm_battlefield` VALUES (1293,3,16933035,1);-- 'Flying_Spear' -INSERT INTO `bcnm_battlefield` VALUES (1293,3,16933036,1);-- 'Flying_Spear' -INSERT INTO `bcnm_battlefield` VALUES (1293,3,16933037,1);-- 'Flying_Spear' -INSERT INTO `bcnm_battlefield` VALUES (1293,3,16933038,1);-- 'Flying_Spear' -INSERT INTO `bcnm_battlefield` VALUES (1293,3,16933039,1);-- 'Flying_Spear' -INSERT INTO `bcnm_battlefield` VALUES (1293,3,16933040,1);-- 'Flying_Spear' +INSERT INTO `bcnm_battlefield` VALUES (1293,3,16933032,2);-- 'Evil_Armory' +INSERT INTO `bcnm_battlefield` VALUES (1293,3,16933033,3);-- 'Flying_Spear' +INSERT INTO `bcnm_battlefield` VALUES (1293,3,16933034,3);-- 'Flying_Spear' +INSERT INTO `bcnm_battlefield` VALUES (1293,3,16933035,3);-- 'Flying_Spear' +INSERT INTO `bcnm_battlefield` VALUES (1293,3,16933036,3);-- 'Flying_Spear' +INSERT INTO `bcnm_battlefield` VALUES (1293,3,16933037,3);-- 'Flying_Spear' +INSERT INTO `bcnm_battlefield` VALUES (1293,3,16933038,3);-- 'Flying_Spear' +INSERT INTO `bcnm_battlefield` VALUES (1293,3,16933039,3);-- 'Flying_Spear' +INSERT INTO `bcnm_battlefield` VALUES (1293,3,16933040,3);-- 'Flying_Spear' -- ---------------------------------------------------------------- -- ////////////////////////////////////////////////////////////// -- APPOLYON NE -- ////////////////////////////////////////////////////////////// -INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933044,1);-- 'Goobbue_Harvestet' +INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933044,1);-- 'Goobbue_Harvester' INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933045,1);-- 'Barometz' INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933046,1);-- 'Borametz' INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933047,1);-- 'Barometz' @@ -1229,15 +1229,16 @@ INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933082,1);-- 'Apollyon_Cleaner' INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933083,1);-- 'Apollyon_Cleaner' INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933084,1);-- 'Apollyon_Cleaner' INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933085,1);-- 'Apollyon_Cleaner' -INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933086,1);-- 'Apollyon_Sweeper' -INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933087,1);-- 'Apollyon_Cleaner' -INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933088,1);-- 'Apollyon_Cleaner' -INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933090,1);-- 'Apollyon_Cleaner' -INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933091,1);-- 'Apollyon_Sweeper' -INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933092,1);-- 'Apollyon_Cleaner' -INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933093,1);-- 'Apollyon_Cleaner' -INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933094,1);-- 'Apollyon_Cleaner' -INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933095,1);-- 'Apollyon_Cleaner' +INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933086,0);-- 'Apollyon_Sweeper' +INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933087,0);-- 'Apollyon_Cleaner' +INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933088,0);-- 'Apollyon_Cleaner' +INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933089,0);-- 'Apollyon_Cleaner' +INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933090,0);-- 'Apollyon_Cleaner' +INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933091,0);-- 'Apollyon_Sweeper' +INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933092,0);-- 'Apollyon_Cleaner' +INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933093,0);-- 'Apollyon_Cleaner' +INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933094,0);-- 'Apollyon_Cleaner' +INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933095,0);-- 'Apollyon_Cleaner' INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933099,1);-- 'Hyperion' INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933100,1);-- 'Okeanos' @@ -1253,14 +1254,14 @@ INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933109,1);-- 'Kerkopes' INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933113,1);-- 'Criosphinx' INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933114,1);-- 'Hieracosphinx' -INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933115,1);-- 'Troglodyte_Dhalmel' -INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933116,1);-- 'Troglodyte_Dhalmel' -INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933117,1);-- 'Troglodyte_Dhalmel' -INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933118,1);-- 'Troglodyte_Dhalmel' -INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933119,1);-- 'Troglodyte_Dhalmel' -INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933120,1);-- 'Troglodyte_Dhalmel' -INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933121,1);-- 'Troglodyte_Dhalmel' -INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933122,1);-- 'Troglodyte_Dhalmel' +INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933115,3);-- 'Troglodyte_Dhalmel' +INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933116,3);-- 'Troglodyte_Dhalmel' +INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933117,3);-- 'Troglodyte_Dhalmel' +INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933118,3);-- 'Troglodyte_Dhalmel' +INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933119,3);-- 'Troglodyte_Dhalmel' +INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933120,3);-- 'Troglodyte_Dhalmel' +INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933121,3);-- 'Troglodyte_Dhalmel' +INSERT INTO `bcnm_battlefield` VALUES (1292,4,16933122,3);-- 'Troglodyte_Dhalmel' -- ////////////////////////////////////////////////////////////// -- APPOLYON SW -- ////////////////////////////////////////////////////////////// @@ -1275,6 +1276,7 @@ INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932875,1);-- 'FirBholg' INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932876,1);-- 'FirBholg' INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932877,1);-- 'FirBholg' +INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932881,1);-- 'Jidra' INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932882,1);-- 'Jidra' INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932883,1);-- 'Jidra' INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932884,1);-- 'Jidra' @@ -1283,22 +1285,17 @@ INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932886,1);-- 'Jidra' INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932887,1);-- 'Jidra' INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932888,1);-- 'Jidra' --- INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932889,1);-- 'Arboricole_Hornet' --- INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932890,1);-- 'Arboricole_Raven' --- INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932891,1);-- 'Arboricole_Opo-opo' --- INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932892,1);-- 'Arboricole_Spider' --- INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932893,1);-- 'Arboricole_Beetle' --- INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932894,1);-- 'Arboricole_Crawler' --- INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932895,1);-- 'Apollyon_Sapling' - -INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932896,1);-- 'Armoury_Crate' -INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932897,1);-- 'Armoury_Crate' -INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932898,1);-- 'Armoury_Crate' -INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932899,1);-- 'Armoury_Crate' -INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932900,1);-- 'Armoury_Crate' -INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932901,1);-- 'Armoury_Crate' -INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932902,1);-- 'Armoury_Crate' +INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932889,0);-- 'Arboricole_Hornet' +INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932890,0);-- 'Arboricole_Raven' +INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932891,0);-- 'Arboricole_Opo-opo' +INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932892,0);-- 'Arboricole_Spider' +INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932893,0);-- 'Arboricole_Beetle' +INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932894,0);-- 'Arboricole_Crawler' +INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932895,0);-- 'Apollyon_Sapling' +INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932896,0);-- 'Armoury_Crate' +INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932897,0);-- 'Armoury_Crate' +INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932898,0);-- 'Armoury_Crate' INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932910,1);-- 'Air_Elemental' INSERT INTO `bcnm_battlefield` VALUES (1291,1,16932911,1);-- 'Dark_Elemental' @@ -1357,20 +1354,42 @@ INSERT INTO `bcnm_battlefield` VALUES (1290,2,16932978,1);-- 'Gorynich' INSERT INTO `bcnm_battlefield` VALUES (1290,2,16932979,1);-- 'Gorynich' INSERT INTO `bcnm_battlefield` VALUES (1290,2,16932980,1);-- 'Gorynich' INSERT INTO `bcnm_battlefield` VALUES (1290,2,16932981,1);-- 'Gorynich' -INSERT INTO `bcnm_battlefield` VALUES (1290,2,16932985,1);-- 'Kaiser_Behemoth' +INSERT INTO `bcnm_battlefield` VALUES (1290,2,16932985,3);-- 'Kaiser_Behemoth' INSERT INTO `bcnm_battlefield` VALUES (1290,2,16932986,1);-- 'Kronprinz_Behemoth' INSERT INTO `bcnm_battlefield` VALUES (1290,2,16932987,1);-- 'Kronprinz_Behemoth' INSERT INTO `bcnm_battlefield` VALUES (1290,2,16932988,1);-- 'Kronprinz_Behemoth' -- ////////////////////////////////////////////////////////////// -- APPOLYON CS -- ////////////////////////////////////////////////////////////// -INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933129,1);-- 'Carnagechief_Jackbodokk' -INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933137,1);-- 'Na QbaChirurge' -INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933144,1);-- 'DeeWapatheDe' +INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933129,3);-- 'Carnagechief_Jackbodokk' +INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933130,0);-- 'Grognard Mesmerizer' +INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933131,0);-- 'Grognard Neckchopper' +INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933132,0);-- 'Grognard Footsoldier' +INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933133,0);-- 'Grognard Grappler' +INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933134,0);-- 'Grognard Predator' +INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933135,0);-- 'Grognard Impaler' +INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933136,0);-- 'Orc's Wyvern' +INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933137,3);-- 'Na QbaChirurge' +INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933138,0);-- 'Star Ruby Quadav' +INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933139,0);-- 'Wootz Quadav' +INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933140,0);-- 'Fossil Quadav' +INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933141,0);-- 'Star Sapphire Quadav' +INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933142,0);-- 'Whitegold Quadav' +INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933143,0);-- 'Lightsteel Quadav' +INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933144,3);-- 'DeeWapatheDe' +INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933145,1);-- 'Yagudo's Elemental' +INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933146,0);-- 'Yagudo's Avatar' +INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933147,0);-- 'Yagudo Archpriest' +INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933148,0);-- 'Yagudo Knight Templar' +INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933149,0);-- 'Yagudo Disciplinant' +INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933150,0);-- 'Yagudo Prelatess' +INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933151,0);-- 'Yagudo Kapellmeister' +INSERT INTO `bcnm_battlefield` VALUES (1294,6,16933152,0);-- 'Yagudo Eradicator' -- ////////////////////////////////////////////////////////////// -- APPOLYON CENTRAL -- ////////////////////////////////////////////////////////////// -INSERT INTO `bcnm_battlefield` VALUES (1296,5,16933124,1);-- 'Proto-Omega' +INSERT INTO `bcnm_battlefield` VALUES (1296,5,16933124,3);-- 'Proto-Omega' +INSERT INTO `bcnm_battlefield` VALUES (1296,5,16933125,0);-- 'Gunpod' -- ------------------------------------ -- ------Temenos - Northern Tower -- ------------------------------------ @@ -1394,6 +1413,7 @@ INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928797,1);-- Kindred Warrior INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928798,1);-- Kindred Dark Knight INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928799,1);-- Kindred Summoner INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928800,1);-- Kindred's Elemental +INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928801,0);-- Kindred's Avatar INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928802,1);-- Kindred Black Mage INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928803,1);-- Kindred Black Mage INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928804,1);-- Kindred Black Mage @@ -1407,17 +1427,20 @@ INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928817,1);-- Cryptonberry Skulke INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928818,1);-- Cryptonberry Abductor INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928819,1);-- Cryptonberry Designator INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928820,1);-- Tonberry's Elemental +INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928821,0);-- Tonberry's Avatar INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928822,1);-- Cryptonberry Abductor INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928823,1);-- Cryptonberry Designator INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928824,1);-- Tonberry's Elemental +INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928825,0);-- Tonberry's Avatar INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928826,1);-- Cryptonberry Abductor INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928827,1);-- Cryptonberry Designator INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928828,1);-- Tonberry's Elemental -INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928831,1);-- Goblin Warlord -INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928832,1);-- Goblin Fencer -INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928833,1);-- Goblin Theurgist -INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928834,1);-- Goblin Fencer -INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928835,1);-- Goblin Theurgist +INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928829,0);-- Tonberry's Avatar +INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928831,3);-- Goblin Warlord +INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928832,3);-- Goblin Fencer +INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928833,3);-- Goblin Theurgist +INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928834,3);-- Goblin Fencer +INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928835,3);-- Goblin Theurgist -- ------------------------ -- --Temenos - Eastern Tower -- ------------------------ @@ -1425,28 +1448,35 @@ INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928840,1);-- Fire Elemental INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928841,1);-- Fire Elemental INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928842,1);-- Fire Elemental INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928843,1);-- Fire Elemental +INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928844,0);-- Mystic Avatar INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928849,1);-- Ice Elemental INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928850,1);-- Ice Elemental INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928851,1);-- Ice Elemental INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928852,1);-- Ice Elemental +INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928853,0);-- Mystic Avatar INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928858,1);-- Air Elemental INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928859,1);-- Air Elemental INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928860,1);-- Air Elemental INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928861,1);-- Air Elemental +INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928862,0);-- Mystic Avatar INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928867,1);-- Earth Elemental INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928868,1);-- Earth Elemental INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928869,1);-- Earth Elemental INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928870,1);-- Earth Elemental +INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928871,0);-- Mystic Avatar INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928876,1);-- Thunder Elemental INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928877,1);-- Thunder Elemental INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928878,1);-- Thunder Elemental INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928879,1);-- Thunder Elemental +INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928880,0);-- Mystic Avatar INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928885,1);-- Water Elemental INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928886,1);-- Water Elemental INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928887,1);-- Water Elemental INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928888,1);-- Water Elemental -INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928892,1);-- Dark Elemental -INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928893,1);-- Dark Elemental +INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928889,0);-- Mystic Avatar +INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928892,3);-- Dark Elemental +INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928893,3);-- Dark Elemental +INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928894,0);-- Mystic Avatar -- ------------------------ -- Temenos - Western Tower -- ------------------------ @@ -1495,23 +1525,42 @@ INSERT INTO `bcnm_battlefield` VALUES (1298,3,16928954,1);-- Enhanced Pugil INSERT INTO `bcnm_battlefield` VALUES (1298,3,16928955,1);-- Enhanced Pugil INSERT INTO `bcnm_battlefield` VALUES (1298,3,16928956,1);-- Enhanced Pugil INSERT INTO `bcnm_battlefield` VALUES (1298,3,16928957,1);-- Enhanced Pugil -INSERT INTO `bcnm_battlefield` VALUES (1298,3,16928959,1);-- Enhanced Vulture -INSERT INTO `bcnm_battlefield` VALUES (1298,3,16928960,1);-- Enhanced Vulture -INSERT INTO `bcnm_battlefield` VALUES (1298,3,16928961,1);-- Enhanced Vulture -INSERT INTO `bcnm_battlefield` VALUES (1298,3,16928962,1);-- Enhanced Vulture -INSERT INTO `bcnm_battlefield` VALUES (1298,3,16928963,1);-- Enhanced Vulture -INSERT INTO `bcnm_battlefield` VALUES (1298,3,16928964,1);-- Enhanced Vulture +INSERT INTO `bcnm_battlefield` VALUES (1298,3,16928959,3);-- Enhanced Vulture +INSERT INTO `bcnm_battlefield` VALUES (1298,3,16928960,3);-- Enhanced Vulture +INSERT INTO `bcnm_battlefield` VALUES (1298,3,16928961,3);-- Enhanced Vulture +INSERT INTO `bcnm_battlefield` VALUES (1298,3,16928962,3);-- Enhanced Vulture +INSERT INTO `bcnm_battlefield` VALUES (1298,3,16928963,3);-- Enhanced Vulture +INSERT INTO `bcnm_battlefield` VALUES (1298,3,16928964,3);-- Enhanced Vulture -- ---------------------------- -- Central Temenos - 4th Floor -- ---------------------------- -INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928966,1);-- Proto-Ultima +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928966,3);-- Proto-Ultima +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928986,0);-- Kingslayer Doggvdegg +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928987,0);-- Ji'Gho Ageless +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928988,0);-- Koo Buzu the Theomanic +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928989,0);-- Yagudo's Elemental +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928990,0);-- Yagudo's Avatar +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928991,0);-- Mystic Avatar +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928992,0);-- Mystic Avatar +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928993,0);-- Mystic Avatar +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928994,0);-- Mystic Avatar +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928995,0);-- Mystic Avatar +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928996,0);-- Mystic Avatar +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928997,0);-- Enhanced Koenigstiger +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928998,0);-- Enhanced Pygmaioi +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928999,0);-- Enhanced Kettenkaefer +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16929000,0);-- Enhanced Salamander +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16929001,0);-- Enhanced Jelly +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16929002,0);-- Enhanced Makara +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16929003,0);-- Enhanced Akbaba -- -------------------------------- -- Central Temenos - 3rd Floor -- -------------------------------- -INSERT INTO `bcnm_battlefield` VALUES (1305,5,16929005,1);-- Abyssdweller Jhabdebb -INSERT INTO `bcnm_battlefield` VALUES (1305,5,16929006,1);-- Orichalcum Quadav -INSERT INTO `bcnm_battlefield` VALUES (1305,5,16929007,1);-- Pee Qoho the Python -INSERT INTO `bcnm_battlefield` VALUES (1305,5,16929009,1);-- Yagudo's Avatar +INSERT INTO `bcnm_battlefield` VALUES (1305,5,16929005,3);-- Abyssdweller Jhabdebb +INSERT INTO `bcnm_battlefield` VALUES (1305,5,16929006,3);-- Orichalcum Quadav +INSERT INTO `bcnm_battlefield` VALUES (1305,5,16929007,3);-- Pee Qoho the Python +INSERT INTO `bcnm_battlefield` VALUES (1305,5,16929008,1);-- Yagudo's Elemental +INSERT INTO `bcnm_battlefield` VALUES (1305,5,16929009,0);-- Yagudo's Avatar INSERT INTO `bcnm_battlefield` VALUES (1305,5,16929010,1);-- Grognard Mesmerizer INSERT INTO `bcnm_battlefield` VALUES (1305,5,16929011,1);-- Grognard Footsoldier INSERT INTO `bcnm_battlefield` VALUES (1305,5,16929012,1);-- Grognard Predator @@ -1534,59 +1583,68 @@ INSERT INTO `bcnm_battlefield` VALUES (1305,5,16929028,1);-- Yagudo Eradicator -- ----------------------------- -- Central Temenos - 2nd Floor -- ------------------------------ -INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929030,1);-- Mystic Avatar -INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929031,1);-- Light Elemental -INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929032,1);-- Light Elemental +INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929030,3);-- Mystic Avatar +INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929031,3);-- Light Elemental +INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929032,3);-- Light Elemental INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929033,1);-- Fire Elemental INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929034,1);-- Ice Elemental INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929035,1);-- Air Elemental INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929036,1);-- Earth Elemental INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929037,1);-- Thunder Elemental INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929038,1);-- Water Elemental +INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929039,0);-- Mystic Avatar +INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929040,0);-- Mystic Avatar +INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929041,0);-- Mystic Avatar +INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929042,0);-- Mystic Avatar +INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929043,0);-- Mystic Avatar +INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929044,0);-- Mystic Avatar -- ----------------------------- -- Central Temenos - 1st Floor -- ----------------------------- -INSERT INTO `bcnm_battlefield` VALUES (1303,7,16929046,1);-- Airi -INSERT INTO `bcnm_battlefield` VALUES (1303,7,16929047,1);-- Temenos Cleaner -INSERT INTO `bcnm_battlefield` VALUES (1303,7,16929048,1);-- Iruci -INSERT INTO `bcnm_battlefield` VALUES (1303,7,16929049,1);-- Temenos Weapon -INSERT INTO `bcnm_battlefield` VALUES (1303,7,16929050,1);-- Enhanced Dragon -INSERT INTO `bcnm_battlefield` VALUES (1303,7,16929051,1);-- Enhanced Ahriman +INSERT INTO `bcnm_battlefield` VALUES (1303,7,16929046,3);-- Airi +INSERT INTO `bcnm_battlefield` VALUES (1303,7,16929047,3);-- Temenos Cleaner +INSERT INTO `bcnm_battlefield` VALUES (1303,7,16929048,3);-- Iruci +INSERT INTO `bcnm_battlefield` VALUES (1303,7,16929049,3);-- Temenos Weapon +INSERT INTO `bcnm_battlefield` VALUES (1303,7,16929050,3);-- Enhanced Dragon +INSERT INTO `bcnm_battlefield` VALUES (1303,7,16929051,3);-- Enhanced Ahriman -- ------------------------------- -- Central Temenos - Basement 1 -- ------------------------------ -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929053,1);-- Temenos Aern -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929054,1);-- Temenos Aern -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929055,1);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929053,3);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929054,3);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929055,3);-- Temenos Aern INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929056,1);-- Aern's Wynav -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929057,1);-- Temenos Aern -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929058,1);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929057,3);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929058,3);-- Temenos Aern INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929059,1);-- Aern's Euvhi -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929060,1);-- Temenos Aern -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929061,1);-- Temenos Aern -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929062,1);-- Temenos Aern -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929063,1);-- Temenos Aern -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929064,1);-- Temenos Aern -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929065,1);-- Temenos Aern -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929066,1);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929060,3);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929061,3);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929062,3);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929063,3);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929064,3);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929065,3);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929066,3);-- Temenos Aern INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929067,1);-- Aern's Elemental -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929069,1);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929068,0);-- Aern's Avatar +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929069,3);-- Temenos Aern INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929070,1);-- Aern's Wynav -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929071,1);-- Temenos Aern -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929072,1);-- Temenos Aern -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929073,1);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929071,3);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929072,3);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929073,3);-- Temenos Aern INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929074,1);-- Aern's Euvhi -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929075,1);-- Temenos Aern -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929076,1);-- Temenos Aern -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929077,1);-- Temenos Aern -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929078,1);-- Temenos Aern -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929079,1);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929075,3);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929076,3);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929077,3);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929078,3);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929079,3);-- Temenos Aern INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929080,1);-- Aern's Elemental -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929082,1);-- Temenos Aern -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929083,1);-- Temenos Aern -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929084,1);-- Temenos Aern -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929085,1);-- Temenos Aern -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929086,1);-- Temenos Aern -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929087,1);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929081,0);-- Aern's Avatar +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929082,3);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929083,3);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929084,3);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929085,3);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929086,3);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929087,3);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929088,2);-- Temenos Ghrah -- Dump completed on 2017-01-31 10:38:38 diff --git a/sql/bcnm_treasure_chests.sql b/sql/bcnm_treasure_chests.sql index 92c28fc41fb..c1bc48e7ec2 100644 --- a/sql/bcnm_treasure_chests.sql +++ b/sql/bcnm_treasure_chests.sql @@ -421,3 +421,26 @@ INSERT INTO bcnm_treasure_chests VALUES (1152,3,17051654); INSERT INTO bcnm_treasure_chests VALUES (1153,1,17051660); -- shadows_of_the_mind INSERT INTO bcnm_treasure_chests VALUES (1153,2,17051666); INSERT INTO bcnm_treasure_chests VALUES (1153,3,17051672); + +-- ---------------------------- +-- Apollyon +-- ---------------------------- +INSERT INTO bcnm_treasure_chests VALUES (1290,2,16932984); -- NW_Apollyon +INSERT INTO bcnm_treasure_chests VALUES (1291,1,16932909); -- SW_Apollyon +INSERT INTO bcnm_treasure_chests VALUES (1292,4,16933112); -- NE_Apollyon +INSERT INTO bcnm_treasure_chests VALUES (1293,3,16933031); -- SE_Apollyon +INSERT INTO bcnm_treasure_chests VALUES (1294,6,16933126); -- CS_Apollyon +INSERT INTO bcnm_treasure_chests VALUES (1296,5,16933123); -- Central_Apollyon + +-- ---------------------------- +-- Temenos +-- ---------------------------- +INSERT INTO bcnm_treasure_chests VALUES (1298,3,16928958); -- Temenos - Western Tower +INSERT INTO bcnm_treasure_chests VALUES (1299,1,16928830); -- Temenos - Northern Tower +INSERT INTO bcnm_treasure_chests VALUES (1300,2,16928890); -- Temenos - Eastern Tower +INSERT INTO bcnm_treasure_chests VALUES (1303,7,16929045); -- Central Temenos - 1st Floor +INSERT INTO bcnm_treasure_chests VALUES (1304,6,16929029); -- Central Temenos - 2nd Floor +INSERT INTO bcnm_treasure_chests VALUES (1305,5,16929004); -- Central Temenos - 3rd Floor +INSERT INTO bcnm_treasure_chests VALUES (1306,4,16928965); -- Central Temenos - 4th Floor +INSERT INTO bcnm_treasure_chests VALUES (1301,8,16929052); -- Central Temenos - Basement + diff --git a/sql/mob_droplist.sql b/sql/mob_droplist.sql index c5630b10f83..b11c71d7f1b 100644 --- a/sql/mob_droplist.sql +++ b/sql/mob_droplist.sql @@ -16531,6 +16531,13 @@ INSERT INTO `mob_droplist` VALUES (3137,0,0,1000,10760,125); -- portus_ring INSERT INTO `mob_droplist` VALUES (3137,0,0,1000,10944,300); -- portus_collar INSERT INTO `mob_droplist` VALUES (3137,0,0,1000,11924,300); -- alucinor_mitts +INSERT INTO `mob_droplist` VALUES (3138,0,0,1000,1875,1000); -- (Nergal, Bata, Aeshma) ancient_beastcoin x 4 +INSERT INTO `mob_droplist` VALUES (3138,0,0,1000,1875,1000); -- (Nergal, Bata, Aeshma) ancient_beastcoin x 4 +INSERT INTO `mob_droplist` VALUES (3138,0,0,1000,1875,1000); -- (Nergal, Bata, Aeshma) ancient_beastcoin x 4 +INSERT INTO `mob_droplist` VALUES (3138,0,0,1000,1875,1000); -- (Nergal, Bata, Aeshma) ancient_beastcoin x 4 +INSERT INTO `mob_droplist` VALUES (3139,0,0,1000,1875,1000); -- (Apollyon Demon, Taurus, Ahriman) ancient_beastcoin x 1-2 +INSERT INTO `mob_droplist` VALUES (3139,0,0,1000,1875,500); -- (Apollyon Demon, Taurus, Ahriman) ancient_beastcoin x 1-2 + /*!40000 ALTER TABLE `mob_droplist` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; diff --git a/sql/mob_groups.sql b/sql/mob_groups.sql index 8e629c3eede..98273d66023 100644 --- a/sql/mob_groups.sql +++ b/sql/mob_groups.sql @@ -1251,12 +1251,12 @@ INSERT INTO `mob_groups` VALUES (8,3866,37,'Telchines_White_Mage',0,128,2856,300 INSERT INTO `mob_groups` VALUES (9,3863,37,'Telchines_Dragoon',0,128,2856,8000,0,75,80,0); INSERT INTO `mob_groups` VALUES (10,3865,37,'Telchiness_Wyvern',0,128,0,2000,300,74,74,0); INSERT INTO `mob_groups` VALUES (11,3864,37,'Telchines_Monk',0,128,2856,8000,0,75,80,0); -INSERT INTO `mob_groups` VALUES (12,2249,37,'Kindred_Warrior',0,128,2860,6000,0,75,80,0); -INSERT INTO `mob_groups` VALUES (13,2235,37,'Kindred_Dark_Knight',0,128,2860,9000,400,75,80,0); +INSERT INTO `mob_groups` VALUES (12,6133,37,'Kindred_Warrior',0,128,2860,6000,0,75,80,0); +INSERT INTO `mob_groups` VALUES (13,6134,37,'Kindred_Dark_Knight',0,128,2860,9000,400,75,80,0); INSERT INTO `mob_groups` VALUES (14,5550,37,'Kindred_Summoner',0,128,2860,9000,500,75,80,0); -INSERT INTO `mob_groups` VALUES (15,2245,37,'Kindreds_Elemental',0,128,0,2000,500,75,75,0); +INSERT INTO `mob_groups` VALUES (15,6167,37,'Kindreds_Elemental',0,128,0,2000,500,75,75,0); INSERT INTO `mob_groups` VALUES (16,2244,37,'Kindreds_Avatar',0,128,0,5000,500,60,64,0); -INSERT INTO `mob_groups` VALUES (17,2234,37,'Kindred_Black_Mage',0,128,2860,9000,500,75,80,0); +INSERT INTO `mob_groups` VALUES (17,6135,37,'Kindred_Black_Mage',0,128,2860,9000,500,75,80,0); INSERT INTO `mob_groups` VALUES (18,3192,37,'Praetorian_Guard_CCCXI',0,128,2858,9500,500,75,80,0); INSERT INTO `mob_groups` VALUES (19,6078,37,'Praetorian_Guard_CCXX',0,128,2858,9500,0,75,80,0); INSERT INTO `mob_groups` VALUES (20,6079,37,'Praetorian_Guard_CXLVIII',0,128,2858,9000,0,75,80,0); @@ -1265,25 +1265,25 @@ INSERT INTO `mob_groups` VALUES (22,848,37,'Cryptonberry_Charmer',0,128,2860,900 INSERT INTO `mob_groups` VALUES (23,855,37,'Cryptonberry_Skulker',0,128,2860,9000,0,75,80,0); INSERT INTO `mob_groups` VALUES (24,846,37,'Cryptonberry_Abductor',0,128,2860,9000,0,75,80,0); INSERT INTO `mob_groups` VALUES (25,850,37,'Cryptonberry_Designator',0,128,2860,9000,1000,75,80,0); -INSERT INTO `mob_groups` VALUES (26,3971,37,'Tonberrys_Elemental',0,128,0,2000,1000,72,72,0); +INSERT INTO `mob_groups` VALUES (26,6136,37,'Tonberrys_Elemental',0,128,0,2000,1000,72,72,0); INSERT INTO `mob_groups` VALUES (27,3970,37,'Tonberrys_Avatar',0,128,0,4000,1000,60,64,0); INSERT INTO `mob_groups` VALUES (28,1743,37,'Goblin_Warlord',0,128,2862,11000,1000,75,80,0); INSERT INTO `mob_groups` VALUES (29,1656,37,'Goblin_Fencer',0,128,2862,11000,1000,75,80,0); INSERT INTO `mob_groups` VALUES (30,1736,37,'Goblin_Theurgist',0,128,2862,11000,0,75,80,0); -INSERT INTO `mob_groups` VALUES (31,1341,37,'Fire_Elemental',0,128,2859,8000,3000,75,80,0); -INSERT INTO `mob_groups` VALUES (32,4645,37,'Ifrit_Prime',0,128,0,5000,4000,75,80,0); -INSERT INTO `mob_groups` VALUES (33,2043,37,'Ice_Elemental',0,128,2859,8000,3000,75,80,0); -INSERT INTO `mob_groups` VALUES (34,4642,37,'Shiva_Prime',0,128,0,5000,4000,75,80,0); -INSERT INTO `mob_groups` VALUES (35,71,37,'Air_Elemental',0,128,2859,8000,3000,75,80,0); -INSERT INTO `mob_groups` VALUES (36,4647,37,'Garuda_Prime',0,128,0,5000,4000,75,80,0); -INSERT INTO `mob_groups` VALUES (37,1160,37,'Earth_Elemental',0,128,2859,8000,3000,75,80,0); -INSERT INTO `mob_groups` VALUES (38,4644,37,'Titan_Prime',0,128,0,5000,4000,75,80,0); -INSERT INTO `mob_groups` VALUES (39,3912,37,'Thunder_Elemental',0,128,2859,8000,3000,75,80,0); -INSERT INTO `mob_groups` VALUES (40,4643,37,'Ramuh_Prime',0,128,0,5000,4000,75,80,0); -INSERT INTO `mob_groups` VALUES (41,4309,37,'Water_Elemental',0,128,2859,8000,3000,75,80,0); -INSERT INTO `mob_groups` VALUES (42,4646,37,'Leviathan_Prime',0,128,0,5000,4000,75,80,0); -INSERT INTO `mob_groups` VALUES (43,913,37,'Dark_Elemental',0,128,0,10000,3000,75,80,0); -INSERT INTO `mob_groups` VALUES (44,4648,37,'Fenrir_Prime',0,128,0,5000,4000,75,80,0); +INSERT INTO `mob_groups` VALUES (31,6137,37,'Fire_Elemental',0,128,2859,8000,3000,75,80,0); +INSERT INTO `mob_groups` VALUES (32,6117,37,'Mystic_Avatar',0,128,0,5000,4000,75,80,0); -- ifrit +INSERT INTO `mob_groups` VALUES (33,6138,37,'Ice_Elemental',0,128,2859,8000,3000,75,80,0); +INSERT INTO `mob_groups` VALUES (34,6118,37,'Mystic_Avatar',0,128,0,5000,4000,75,80,0); -- shiva +INSERT INTO `mob_groups` VALUES (35,6139,37,'Air_Elemental',0,128,2859,8000,3000,75,80,0); +INSERT INTO `mob_groups` VALUES (36,6119,37,'Mystic_Avatar',0,128,0,5000,4000,75,80,0); -- garuda +INSERT INTO `mob_groups` VALUES (37,6140,37,'Earth_Elemental',0,128,2859,8000,3000,75,80,0); +INSERT INTO `mob_groups` VALUES (38,6120,37,'Mystic_Avatar',0,128,0,5000,4000,75,80,0); -- titan +INSERT INTO `mob_groups` VALUES (39,6141,37,'Thunder_Elemental',0,128,2859,8000,3000,75,80,0); +INSERT INTO `mob_groups` VALUES (40,6121,37,'Mystic_Avatar',0,128,0,5000,4000,75,80,0); -- ramuh +INSERT INTO `mob_groups` VALUES (41,6142,37,'Water_Elemental',0,128,2859,8000,3000,75,80,0); +INSERT INTO `mob_groups` VALUES (42,6122,37,'Mystic_Avatar',0,128,0,5000,4000,75,80,0); -- leviathan +INSERT INTO `mob_groups` VALUES (43,6143,37,'Dark_Elemental',0,128,0,10000,3000,75,80,0); +INSERT INTO `mob_groups` VALUES (44,6123,37,'Mystic_Avatar',0,128,0,5000,4000,75,80,0); -- fenrir INSERT INTO `mob_groups` VALUES (45,1230,37,'Enhanced_Tiger',0,128,2858,10000,0,75,80,0); INSERT INTO `mob_groups` VALUES (46,1225,37,'Enhanced_Mandragora',0,128,2858,10000,0,75,80,0); INSERT INTO `mob_groups` VALUES (47,1218,37,'Enhanced_Beetle',0,128,2859,10000,1000,75,80,0); @@ -1292,10 +1292,10 @@ INSERT INTO `mob_groups` VALUES (49,1229,37,'Enhanced_Slime',0,128,2856,10000,10 INSERT INTO `mob_groups` VALUES (50,1226,37,'Enhanced_Pugil',0,128,2858,10000,0,75,80,0); INSERT INTO `mob_groups` VALUES (51,1231,37,'Enhanced_Vulture',0,128,2860,11000,1000,75,80,0); INSERT INTO `mob_groups` VALUES (52,3209,37,'Proto-Ultima',0,128,0,26000,2000,80,85,0); -INSERT INTO `mob_groups` VALUES (53,2252,37,'Kingslayer_Doggvdegg',0,128,0,0,0,75,80,0); +INSERT INTO `mob_groups` VALUES (53,6144,37,'Kingslayer_Doggvdegg',0,128,0,0,0,75,80,0); INSERT INTO `mob_groups` VALUES (54,2152,37,'Ji_Gho_Ageless',0,128,0,0,0,75,80,0); INSERT INTO `mob_groups` VALUES (55,2279,37,'Koo_Buzu_the_Theomanic',0,128,0,0,0,75,80,0); -INSERT INTO `mob_groups` VALUES (56,636,37,'Carbuncle_Prime',0,128,0,15000,0,75,80,0); +INSERT INTO `mob_groups` VALUES (56,6124,37,'Mystic_Avatar',0,128,0,15000,0,75,80,0); INSERT INTO `mob_groups` VALUES (57,1222,37,'Enhanced_Koenigstiger',0,128,0,0,0,75,80,0); INSERT INTO `mob_groups` VALUES (58,1227,37,'Enhanced_Pygmaioi',0,128,0,0,0,75,80,0); INSERT INTO `mob_groups` VALUES (59,1221,37,'Enhanced_Kettenkaefer',0,128,0,0,0,75,80,0); @@ -1306,7 +1306,7 @@ INSERT INTO `mob_groups` VALUES (63,1217,37,'Enhanced_Akbaba',0,128,0,0,0,75,80, INSERT INTO `mob_groups` VALUES (64,24,37,'Abyssdweller_Jhabdebb',0,128,2863,0,0,75,80,0); INSERT INTO `mob_groups` VALUES (65,3052,37,'Orichalcum_Quadav',0,128,2863,0,0,81,81,0); INSERT INTO `mob_groups` VALUES (66,3112,37,'Pee_Qoho_the_Python',0,128,2863,0,0,81,81,0); -INSERT INTO `mob_groups` VALUES (67,4454,37,'Yagudos_Elemental',0,128,0,2000,500,76,76,0); +INSERT INTO `mob_groups` VALUES (67,6145,37,'Yagudos_Elemental',0,128,0,2000,500,76,76,0); INSERT INTO `mob_groups` VALUES (68,4453,37,'Yagudos_Avatar',0,128,0,0,0,60,64,0); INSERT INTO `mob_groups` VALUES (69,1821,37,'Grognard_Mesmerizer',0,128,2861,0,0,75,80,0); INSERT INTO `mob_groups` VALUES (70,1818,37,'Grognard_Footsoldier',0,128,2861,0,0,75,80,0); @@ -1315,7 +1315,7 @@ INSERT INTO `mob_groups` VALUES (72,1822,37,'Grognard_Neckchopper',0,128,2861,0, INSERT INTO `mob_groups` VALUES (73,1819,37,'Grognard_Grappler',0,128,2861,0,0,75,80,0); INSERT INTO `mob_groups` VALUES (74,1820,37,'Grognard_Impaler',0,128,2861,0,0,75,80,0); INSERT INTO `mob_groups` VALUES (75,3048,37,'Orcs_Wyvern',0,128,0,0,0,74,74,0); -INSERT INTO `mob_groups` VALUES (76,3757,37,'Star_Ruby_Quadav',0,128,2861,0,0,75,80,0); +INSERT INTO `mob_groups` VALUES (76,6097,37,'Star_Ruby_Quadav',0,128,2861,0,0,75,80,0); INSERT INTO `mob_groups` VALUES (77,1410,37,'Fossil_Quadav',0,128,0,0,0,75,80,0); INSERT INTO `mob_groups` VALUES (78,4331,37,'Whitegold_Quadav',0,128,2861,0,0,75,80,0); INSERT INTO `mob_groups` VALUES (79,4372,37,'Wootz_Quadav',0,128,2861,0,0,75,80,0); @@ -1324,30 +1324,49 @@ INSERT INTO `mob_groups` VALUES (81,2412,37,'Lightsteel_Quadav',0,128,2861,0,0,7 INSERT INTO `mob_groups` VALUES (82,4406,37,'Yagudo_Archpriest',0,128,2861,0,0,75,80,0); INSERT INTO `mob_groups` VALUES (83,4415,37,'Yagudo_Disciplinant',0,128,2861,0,0,75,80,0); INSERT INTO `mob_groups` VALUES (84,4429,37,'Yagudo_Kapellmeister',0,128,2861,0,0,75,80,0); -INSERT INTO `mob_groups` VALUES (85,4430,37,'Yagudo_Knight_Templar',0,128,2861,0,0,75,80,0); +INSERT INTO `mob_groups` VALUES (85,6098,37,'Yagudo_Knight_Templar',0,128,2861,0,0,75,80,0); INSERT INTO `mob_groups` VALUES (86,4443,37,'Yagudo_Prelatess',0,128,2861,0,0,75,80,0); -INSERT INTO `mob_groups` VALUES (87,4417,37,'Yagudo_Eradicator',0,128,2861,0,0,75,80,0); -INSERT INTO `mob_groups` VALUES (88,2413,37,'Light_Elemental',0,128,2863,7000,1000,75,80,0); -INSERT INTO `mob_groups` VALUES (89,70,37,'Airi',0,128,2863,16000,1000,80,80,0); +INSERT INTO `mob_groups` VALUES (87,6099,37,'Yagudo_Eradicator',0,128,2861,0,0,75,80,0); +INSERT INTO `mob_groups` VALUES (88,6147,37,'Light_Elemental',0,128,2863,7000,1000,75,80,0); +INSERT INTO `mob_groups` VALUES (89,6148,37,'Airi',0,128,2863,16000,1000,80,80,0); INSERT INTO `mob_groups` VALUES (90,3868,37,'Temenos_Cleaner',0,128,2863,16000,1000,75,80,0); -INSERT INTO `mob_groups` VALUES (91,2105,37,'Iruci',0,128,2863,16000,1000,75,80,0); +INSERT INTO `mob_groups` VALUES (91,6149,37,'Iruci',0,128,2863,16000,1000,75,80,0); INSERT INTO `mob_groups` VALUES (92,3870,37,'Temenos_Weapon',0,128,2863,16000,1000,75,80,0); INSERT INTO `mob_groups` VALUES (93,1219,37,'Enhanced_Dragon',0,128,2863,16000,1000,75,80,0); INSERT INTO `mob_groups` VALUES (94,1216,37,'Enhanced_Ahriman',0,128,2863,16000,1000,75,80,0); -INSERT INTO `mob_groups` VALUES (95,3867,37,'Temenos_Aern',0,128,2862,6500,300,81,82,0); -INSERT INTO `mob_groups` VALUES (96,56,37,'Aerns_Wynav',0,128,0,0,0,80,80,0); -INSERT INTO `mob_groups` VALUES (97,55,37,'Aerns_Euvhi',0,128,0,0,0,75,80,0); -INSERT INTO `mob_groups` VALUES (98,54,37,'Aerns_Elemental',0,128,0,0,0,75,80,0); +INSERT INTO `mob_groups` VALUES (95,3867,37,'Temenos_Aern',0,128,2862,6500,300,80,82,0); -- PLD +INSERT INTO `mob_groups` VALUES (96,6152,37,'Aerns_Wynav',0,128,0,0,0,80,80,0); +INSERT INTO `mob_groups` VALUES (97,6151,37,'Aerns_Euvhi',0,128,0,0,0,75,80,0); +INSERT INTO `mob_groups` VALUES (98,6150,37,'Aerns_Elemental',0,128,0,0,0,75,80,0); INSERT INTO `mob_groups` VALUES (99,53,37,'Aerns_Avatar',0,128,0,0,0,75,80,0); INSERT INTO `mob_groups` VALUES (100,3869,37,'Temenos_Ghrah',0,128,0,0,0,82,82,0); INSERT INTO `mob_groups` VALUES (101,3867,37,'Temenos_Aern',0,128,0,0,0,101,102,0); -INSERT INTO `mob_groups` VALUES (102,56,37,'Aerns_Wynav',0,128,0,0,0,100,100,0); +INSERT INTO `mob_groups` VALUES (102,6152,37,'Aerns_Wynav',0,128,0,0,0,100,100,0); +INSERT INTO `mob_groups` VALUES (103,6100,37,'Temenos_Euvhi',0,128,0,0,0,102,103,0); +INSERT INTO `mob_groups` VALUES (104,6101,37,'Thalesek',0,128,0,0,0,105,105,0); +INSERT INTO `mob_groups` VALUES (105,6102,37,'Pyrrha',0,128,0,0,0,108,108,0); +INSERT INTO `mob_groups` VALUES (106,3869,37,'Temenos_Ghrah',0,128,0,0,0,105,106,0); +INSERT INTO `mob_groups` VALUES (107,6103,37,'Arch-Ultima',0,128,0,0,0,109,109,0); +INSERT INTO `mob_groups` VALUES (108,6153,37,'Temenos_Aern',0,128,2862,6500,0,80,82,0); -- nin +INSERT INTO `mob_groups` VALUES (109,6154,37,'Temenos_Aern',0,128,2862,6500,0,80,82,0); -- drg +INSERT INTO `mob_groups` VALUES (110,6155,37,'Temenos_Aern',0,128,2862,6500,0,80,82,0); -- war +INSERT INTO `mob_groups` VALUES (111,6156,37,'Temenos_Aern',0,128,2862,6500,500,80,82,0); -- blm +INSERT INTO `mob_groups` VALUES (112,6157,37,'Temenos_Aern',0,128,2862,6500,0,80,82,0); -- brd +INSERT INTO `mob_groups` VALUES (113,6158,37,'Temenos_Aern',0,128,2862,6500,0,80,82,0); -- mnk +INSERT INTO `mob_groups` VALUES (114,6159,37,'Temenos_Aern',0,128,2862,6500,0,80,82,0); -- sam +INSERT INTO `mob_groups` VALUES (115,6160,37,'Temenos_Aern',0,128,2862,6500,0,80,82,0); -- thf +INSERT INTO `mob_groups` VALUES (116,6161,37,'Temenos_Aern',0,128,2862,6500,0,80,82,0); -- rng +INSERT INTO `mob_groups` VALUES (117,6162,37,'Temenos_Aern',0,128,2862,6500,0,80,82,0); -- bst +INSERT INTO `mob_groups` VALUES (118,6163,37,'Temenos_Aern',0,128,2862,6500,500,80,82,0); -- whm +INSERT INTO `mob_groups` VALUES (119,6164,37,'Temenos_Aern',0,128,2862,6500,500,80,82,0); -- rdm +INSERT INTO `mob_groups` VALUES (120,6165,37,'Temenos_Aern',0,128,2862,6500,500,80,82,0); -- smn +INSERT INTO `mob_groups` VALUES (121,6166,37,'Temenos_Aern',0,128,2862,6500,500,80,82,0); -- drk -- ------------------------------------------------------------ -- Apollyon (Zone 38) -- ------------------------------------------------------------ -INSERT INTO `mob_groups` VALUES (1,1346,38,'Fir_Bholg',0,128,2856,4250,0,75,80,0); +INSERT INTO `mob_groups` VALUES (1,1346,38,'Jidra',0,128,0,6000,0,80,85,0); -- leafless INSERT INTO `mob_groups` VALUES (2,2149,38,'Jidra',0,128,0,6000,0,80,85,0); INSERT INTO `mob_groups` VALUES (3,211,38,'Arboricole_Hornet',0,128,2860,6000,0,75,80,0); INSERT INTO `mob_groups` VALUES (4,213,38,'Arboricole_Raven',0,128,2860,6000,500,75,80,0); @@ -1359,12 +1378,12 @@ INSERT INTO `mob_groups` VALUES (9,201,38,'Apollyon_Sapling',0,128,2860,6000,500 INSERT INTO `mob_groups` VALUES (10,248,38,'Armoury_Crate',0,128,2860,8000,0,75,80,0); INSERT INTO `mob_groups` VALUES (11,71,38,'Air_Elemental',0,128,2861,8000,2000,75,80,0); INSERT INTO `mob_groups` VALUES (12,913,38,'Dark_Elemental',0,128,2861,8000,2000,75,80,0); -INSERT INTO `mob_groups` VALUES (13,1160,38,'Earth_Elemental',0,128,2861,8000,0,75,80,0); +INSERT INTO `mob_groups` VALUES (13,1160,38,'Earth_Elemental',0,128,2861,8000,2000,75,80,0); INSERT INTO `mob_groups` VALUES (14,1341,38,'Fire_Elemental',0,128,2861,8000,2000,75,80,0); INSERT INTO `mob_groups` VALUES (15,2043,38,'Ice_Elemental',0,128,2861,8000,2000,75,80,0); INSERT INTO `mob_groups` VALUES (16,2413,38,'Light_Elemental',0,128,2861,8000,2000,75,80,0); INSERT INTO `mob_groups` VALUES (17,4309,38,'Water_Elemental',0,128,2861,8000,2000,75,80,0); -INSERT INTO `mob_groups` VALUES (18,3912,38,'Thunder_Elemental',0,128,2861,8000,0,75,80,0); +INSERT INTO `mob_groups` VALUES (18,3912,38,'Thunder_Elemental',0,128,2861,8000,2000,75,80,0); INSERT INTO `mob_groups` VALUES (19,3160,38,'Pluto',0,128,2856,11000,0,80,85,0); INSERT INTO `mob_groups` VALUES (20,341,38,'Bardha',0,128,2856,8250,0,75,80,0); INSERT INTO `mob_groups` VALUES (21,4513,38,'Zlatorog',0,128,2857,11000,0,80,85,0); @@ -1397,7 +1416,7 @@ INSERT INTO `mob_groups` VALUES (47,2959,38,'Okeanos',0,128,2860,12000,0,80,85,0 INSERT INTO `mob_groups` VALUES (48,843,38,'Cronos',0,128,2860,12000,0,80,85,0); INSERT INTO `mob_groups` VALUES (49,2211,38,'Kerkopes',0,128,2861,9500,0,75,80,0); INSERT INTO `mob_groups` VALUES (50,841,38,'Criosphinx',0,128,2862,13000,0,79,79,0); -INSERT INTO `mob_groups` VALUES (51,1941,38,'Hieracosphinx',0,128,2862,13000,0,80,85,0); +INSERT INTO `mob_groups` VALUES (51,6168,38,'Hieracosphinx',0,128,2862,13000,0,80,85,0); INSERT INTO `mob_groups` VALUES (52,4008,38,'Troglodyte_Dhalmel',0,128,2862,9500,0,75,80,0); INSERT INTO `mob_groups` VALUES (53,3208,38,'Proto-Omega',0,128,0,26000,0,80,85,0); INSERT INTO `mob_groups` VALUES (54,1849,38,'Gunpod',0,128,0,2000,600,85,85,0); @@ -1408,23 +1427,45 @@ INSERT INTO `mob_groups` VALUES (58,1818,38,'Grognard_Footsoldier',0,128,2863,10 INSERT INTO `mob_groups` VALUES (59,1819,38,'Grognard_Grappler',0,128,2863,10000,0,75,80,0); INSERT INTO `mob_groups` VALUES (60,1823,38,'Grognard_Predator',0,128,2863,10000,0,75,80,0); INSERT INTO `mob_groups` VALUES (61,1820,38,'Grognard_Impaler',0,128,2863,10000,0,75,80,0); -INSERT INTO `mob_groups` VALUES (62,3048,38,'Orcs_Wyvern',0,128,0,3000,500,60,64,0); +INSERT INTO `mob_groups` VALUES (62,6146,38,'Orcs_Wyvern',0,128,0,3000,500,60,64,0); INSERT INTO `mob_groups` VALUES (63,2815,38,'Na_Qba_Chirurgeon',0,128,2863,15000,0,80,85,0); -INSERT INTO `mob_groups` VALUES (64,3757,38,'Star_Ruby_Quadav',0,128,2863,10000,0,75,80,0); +INSERT INTO `mob_groups` VALUES (64,6097,38,'Star_Ruby_Quadav',0,128,2863,10000,0,75,80,0); INSERT INTO `mob_groups` VALUES (65,4372,38,'Wootz_Quadav',0,128,2863,10000,0,75,80,0); INSERT INTO `mob_groups` VALUES (66,1410,38,'Fossil_Quadav',0,128,2863,10000,0,75,80,0); INSERT INTO `mob_groups` VALUES (67,3758,38,'Star_Sapphire_Quadav',0,128,2863,10000,0,75,80,0); INSERT INTO `mob_groups` VALUES (68,4331,38,'Whitegold_Quadav',0,128,2863,10000,0,75,80,0); INSERT INTO `mob_groups` VALUES (69,2412,38,'Lightsteel_Quadav',0,128,2863,10000,0,75,80,0); INSERT INTO `mob_groups` VALUES (70,952,38,'Dee_Wapa_the_Desolator',0,128,2863,15000,0,81,81,0); -INSERT INTO `mob_groups` VALUES (71,4454,38,'Yagudos_Elemental',0,128,0,3000,500,64,68,0); +INSERT INTO `mob_groups` VALUES (71,6145,38,'Yagudos_Elemental',0,128,0,3000,500,64,68,0); INSERT INTO `mob_groups` VALUES (72,4453,38,'Yagudos_Avatar',0,128,0,3000,500,64,68,0); INSERT INTO `mob_groups` VALUES (73,4406,38,'Yagudo_Archpriest',0,128,2863,10000,0,75,80,0); -INSERT INTO `mob_groups` VALUES (74,4430,38,'Yagudo_Knight_Templar',0,128,2863,10000,0,75,80,0); +INSERT INTO `mob_groups` VALUES (74,6098,38,'Yagudo_Knight_Templar',0,128,2863,10000,0,75,80,0); INSERT INTO `mob_groups` VALUES (75,4415,38,'Yagudo_Disciplinant',0,128,2863,10000,0,75,80,0); INSERT INTO `mob_groups` VALUES (76,4443,38,'Yagudo_Prelatess',0,128,2863,10000,0,75,80,0); INSERT INTO `mob_groups` VALUES (77,4429,38,'Yagudo_Kapellmeister',0,128,2863,10000,0,75,80,0); -INSERT INTO `mob_groups` VALUES (78,4417,38,'Yagudo_Eradicator',0,128,2863,10000,0,75,80,0); +INSERT INTO `mob_groups` VALUES (78,6099,38,'Yagudo_Eradicator',0,128,2863,10000,0,75,80,0); +INSERT INTO `mob_groups` VALUES (79,6116,38,'Arch-Omega',0,128,0,0,0,105,105,0); +INSERT INTO `mob_groups` VALUES (81,6105,38,'Nergal',0,128,3138,0,0,105,105,0); +INSERT INTO `mob_groups` VALUES (82,6106,38,'Apollyon_Demon',0,128,3139,0,0,101,102,0); -- BLM +INSERT INTO `mob_groups` VALUES (83,6107,38,'Apollyon_Demon',0,128,3139,0,0,101,102,0); -- PLD +INSERT INTO `mob_groups` VALUES (84,6108,38,'Apollyon_Demon',0,128,3139,0,0,101,102,0); -- DRK +INSERT INTO `mob_groups` VALUES (85,6109,38,'Apollyon_Demon',0,128,3139,0,0,101,102,0); -- RDM +INSERT INTO `mob_groups` VALUES (86,6110,38,'Bata',0,128,3138,0,0,105,105,0); +INSERT INTO `mob_groups` VALUES (87,6111,38,'Apollyon_Taurus',0,128,3139,0,0,101,102,0); +INSERT INTO `mob_groups` VALUES (88,6112,38,'Aeshma',0,128,3138,0,0,105,105,0); +INSERT INTO `mob_groups` VALUES (89,6113,38,'Apollyon_Ahriman',0,128,3139,0,0,101,102,0); +INSERT INTO `mob_groups` VALUES (90,6114,38,'Ahrimans_Avatar',0,128,0,0,0,75,80,0); +INSERT INTO `mob_groups` VALUES (91,6115,38,'Ahrimans_Avatar',0,128,0,0,0,75,80,0); +INSERT INTO `mob_groups` VALUES (92,1849,38,'Gunpod',0,128,0,0,0,75,80,0); +INSERT INTO `mob_groups` VALUES (93,6125,38,'Fir_Bholg',0,128,2856,0,0,75,80,0); -- THF elvaan +INSERT INTO `mob_groups` VALUES (94,6126,38,'Fir_Bholg',0,128,2856,0,100,75,80,0); -- PLD galka +INSERT INTO `mob_groups` VALUES (95,6127,38,'Fir_Bholg',0,128,2856,0,0,75,80,0); -- SAM hume +INSERT INTO `mob_groups` VALUES (96,6128,38,'Fir_Bholg',0,128,2856,0,500,75,80,0); -- RDM mithra +INSERT INTO `mob_groups` VALUES (97,6129,38,'Fir_Bholg',0,128,2856,0,500,75,80,0); -- BLM taru +INSERT INTO `mob_groups` VALUES (98,6104,38,'Barometz',0,128,2856,8500,0,70,70,0); +INSERT INTO `mob_groups` VALUES (99,6130,38,'Borametz',0,128,2856,7000,0,70,70,0); +INSERT INTO `mob_groups` VALUES (100,6131,38,'Apollyon_Cleaner',0,128,2858,8500,800,75,80,0); +INSERT INTO `mob_groups` VALUES (101,6132,38,'Kerkopes',0,128,2861,9500,0,75,80,0); -- ------------------------------------------------------------ -- Dynamis-Valkurm (Zone 39) diff --git a/sql/mob_pets.sql b/sql/mob_pets.sql index b1e7f5ddc70..940a74906eb 100644 --- a/sql/mob_pets.sql +++ b/sql/mob_pets.sql @@ -1017,6 +1017,11 @@ INSERT INTO `mob_pets` VALUES (16920787 , 1, 15); -- INSERT INTO `mob_pets` VALUES (16887850, 1, 9); INSERT INTO `mob_pets` VALUES (16928790, 1, 14); INSERT INTO `mob_pets` VALUES (16928799, 1, 15); + +INSERT INTO `mob_pets` VALUES (16933135, 1, 14); +INSERT INTO `mob_pets` VALUES (16933144, 1, 15); + + INSERT INTO `mob_pets` VALUES (17326482, 1, 9); INSERT INTO `mob_pets` VALUES (17326509, 1, 9); INSERT INTO `mob_pets` VALUES (17326587, 1, 9); @@ -1125,15 +1130,16 @@ INSERT INTO `mob_pets` VALUES (17330481, 1, 15); INSERT INTO `mob_pets` VALUES (16928819, 1, 15); -- Tonberry_s_Elemental INSERT INTO `mob_pets` VALUES (16928823, 1, 15); -- Tonberry_s_Elemental INSERT INTO `mob_pets` VALUES (16928827, 1, 15); -- Tonberry_s_Elemental +INSERT INTO `mob_pets` VALUES (16928988, 1, 15); -- Yagudo_s_Elemental INSERT INTO `mob_pets` VALUES (16929007, 1, 15); -- Yagudo_s_Elemental INSERT INTO `mob_pets` VALUES (16929015, 1, 14); -- Orc_s_Wyvern --- INSERT INTO `mob_pets` VALUES (16929056, 1, 9); -- Aern_s_Wynav --- INSERT INTO `mob_pets` VALUES (16929059, 1, 9); -- Aern_s_Euvhi --- INSERT INTO `mob_pets` VALUES (16929067, 1, 9); -- Aern_s_Elemental --- INSERT INTO `mob_pets` VALUES (16929068, 1, 9); -- Aern_s_Avatar --- INSERT INTO `mob_pets` VALUES (16929070, 1, 9); -- Aern_s_Wynav --- INSERT INTO `mob_pets` VALUES (16929074, 1, 9); -- Aern_s_Euvhi --- INSERT INTO `mob_pets` VALUES (16929080, 1, 9); -- Aern_s_Elemental +INSERT INTO `mob_pets` VALUES (16929055, 1, 14); -- Aern_s_Wynav +INSERT INTO `mob_pets` VALUES (16929058, 1, 9); -- Aern_s_Euvhi +INSERT INTO `mob_pets` VALUES (16929066, 1, 15); -- Aern_s_Elemental +-- INSERT INTO `mob_pets` VALUES (16929068, 1, 15); -- Aern_s_Avatar +INSERT INTO `mob_pets` VALUES (16929069, 1, 14); -- Aern_s_Wynav +INSERT INTO `mob_pets` VALUES (16929073, 1, 9); -- Aern_s_Euvhi +INSERT INTO `mob_pets` VALUES (16929079, 1, 15); -- Aern_s_Elemental -- INSERT INTO `mob_pets` VALUES (16929081, 1, 9); -- Aern_s_Avatar -- INSERT INTO `mob_pets` VALUES (16929099, 1, 9); -- Aern_s_Wynav -- INSERT INTO `mob_pets` VALUES (16929102, 1, 9); -- Aern_s_Wynav diff --git a/sql/mob_pools.sql b/sql/mob_pools.sql index 3bf42ee187a..53d6e5a7b74 100644 --- a/sql/mob_pools.sql +++ b/sql/mob_pools.sql @@ -81,7 +81,7 @@ INSERT INTO `mob_pools` VALUES (20,'Abraxas','Abraxas',125,0x0000500100000000000 INSERT INTO `mob_pools` VALUES (21,'Absolute_Virtue','Absolute_Virtue',3,0x0000620500000000000000000000000000000000,14,4,8,180,125,0,0,0,0,2,0,32,6,1183,0,0,145,1,0,329); INSERT INTO `mob_pools` VALUES (22,'Abyssal_Demon','Abyssal_Demon',169,0x0000F20200000000000000000000000000000000,15,15,4,240,100,0,1,0,1,0,0,0,219,1157,0,0,31,1,0,169); INSERT INTO `mob_pools` VALUES (23,'Abyssal_Pugil','Abyssal_Pugil',197,0x00005C0100000000000000000000000000000000,1,1,7,240,100,0,1,0,0,0,0,0,0,3,0,0,0,1,0,197); -INSERT INTO `mob_pools` VALUES (24,'Abyssdweller_Jhabdebb','Abyssdweller_Jhabdebb',334,0x00007A0200000000000000000000000000000000,7,7,3,240,100,0,1,1,1,2,0,32,7,1183,0,0,4,1,0,334); +INSERT INTO `mob_pools` VALUES (24,'Abyssdweller_Jhabdebb','Abyssdweller_Jhabdebb',334,0x00007A0200000000000000000000000000000000,7,7,3,240,100,0,1,1,1,18,0,32,7,1183,0,0,4,1,256,334); INSERT INTO `mob_pools` VALUES (25,'Abyssic_Cluster','Abyssic_Cluster',68,0x0000220100000000000000000000000000000000,4,5,12,240,100,0,0,0,0,2,0,0,0,0,0,0,230,1,0,883); INSERT INTO `mob_pools` VALUES (26,'Abyssobugard','Abyssobugard',58,0x0000480500000000000000000000000000000000,1,1,3,240,100,0,1,0,0,0,0,0,0,0,0,0,0,1,0,58); INSERT INTO `mob_pools` VALUES (27,'Abyss_Sahagin','Abyss_Sahagin',213,0x0000330500000000000000000000000000000000,10,10,5,240,100,0,1,1,1,2,0,0,185,1157,0,0,6,1,0,213); @@ -102,7 +102,7 @@ INSERT INTO `mob_pools` VALUES (41,'Acro_Bat','Acro_Bat',46,0x000000010000000000 INSERT INTO `mob_pools` VALUES (42,'Adam','Adam',149,0x0100000100000000000000000000000000000000,1,1,7,240,100,0,1,1,0,16,0,0,0,3,0,0,0,1,0,149); INSERT INTO `mob_pools` VALUES (43,'Adamantking_Effigy','Adamantking_Effigy',94,0x0000220400000000000000000000000000000000,1,1,12,240,100,0,1,0,1,0,1023,0,0,1665,0,0,0,1,0,94); INSERT INTO `mob_pools` VALUES (44,'Adamantoise','Adamantoise',2,0x0000900100000000000000000000000000000000,1,1,7,380,125,0,1,0,1,2,1,0,0,3,0,0,0,1,0,2); -INSERT INTO `mob_pools` VALUES (45,'Adamantshell','Adamantshell',77,0x0000640100000000000000000000000000000000,7,7,4,240,100,0,1,1,1,16,0,0,1755,1667,0,0,0,1,0,77); +INSERT INTO `mob_pools` VALUES (45,'Adamantshell','Adamantshell',77,0x0000640100000000000000000000000000000000,7,7,4,240,100,0,1,1,1,16,0,0,1755,1667,8,0,0,1,256,77); INSERT INTO `mob_pools` VALUES (46,'Adaman_Quadav','Adaman_Quadav',202,0x00004A0800000000000000000000000000000000,8,8,4,265,100,0,1,1,1,2,0,0,0,0,0,0,5,1,0,202); -- NM Adaman Quadav in Qulun Dome INSERT INTO `mob_pools` VALUES (47,'Adamastor','Adamastor',126,0x0000C40200000000000000000000000000000000,1,1,11,240,100,0,0,0,0,2,0,0,0,0,0,0,0,1,0,809); INSERT INTO `mob_pools` VALUES (48,'Adasaurus','Adasaurus',210,0x00003C0100000000000000000000000000000000,1,1,3,240,100,0,1,0,0,0,0,0,0,0,0,0,0,1,0,210); @@ -112,7 +112,7 @@ INSERT INTO `mob_pools` VALUES (51,'Adjudicator_Demon','Adjudicator_Demon',169,0 INSERT INTO `mob_pools` VALUES (52,'Aerial_Torpedo','Aerial_Torpedo',56,0x00001A0100000000000000000000000000000000,4,4,12,240,100,0,1,1,1,0,0,0,10,1155,0,0,2,1,0,56); INSERT INTO `mob_pools` VALUES (53,'Aerns_Avatar','Aerns_Avatar',34,0x0000170300000000000000000000000000000000,4,4,7,240,100,0,0,0,1,0,8,0,0,0,0,0,0,1,0,34); INSERT INTO `mob_pools` VALUES (54,'Aerns_Elemental','Aerns_Elemental',100,0x00000F0000000000000000000000000000000000,8,5,7,240,100,0,0,0,1,8,0,0,0,131,16,0,5,1,0,100); -INSERT INTO `mob_pools` VALUES (55,'Aerns_Euvhi','Aerns_Euvhi',109,0x00000E0200000000000000000000000000000000,1,1,11,240,100,0,0,0,1,8,0,0,0,0,0,0,0,1,0,109); +INSERT INTO `mob_pools` VALUES (55,'Aerns_Euvhi','Aerns_Euvhi',109,0x00000E0200000000000000000000000000000000,1,1,11,240,100,0,0,0,1,8,0,0,0,1155,5,0,0,1,0,109); INSERT INTO `mob_pools` VALUES (56,'Aerns_Wynav','Aerns_Wynav',193,0x0000120200000000000000000000000000000000,1,1,7,200,100,0,0,0,1,8,1,0,0,1155,0,1,0,1,0,714); INSERT INTO `mob_pools` VALUES (57,'Aerns_Xzomit','Aerns_Xzomit',269,0x0000100200000000000000000000000000000000,1,1,7,200,100,0,0,0,1,0,0,0,0,1153,0,0,0,1,0,269); INSERT INTO `mob_pools` VALUES (58,'Aestutaur','Aestutaur',240,0x00004F0500000000000000000000000000000000,1,1,0,0,100,0,1,1,0,0,0,0,0,0,0,0,0,1,0,240); @@ -257,21 +257,21 @@ INSERT INTO `mob_pools` VALUES (196,'Apis','Apis',57,0x00004D0500000000000000000 INSERT INTO `mob_pools` VALUES (197,'Apkallu','Apkallu',27,0x0000BB0600000000000000000000000000000000,2,2,1,480,100,0,0,0,1,0,0,0,184,1153,0,0,0,1,0,27); INSERT INTO `mob_pools` VALUES (198,'Apocalyptic_Beast','Apocalyptic_Beast',87,0x0000A40100000000000000000000000000000000,1,1,6,240,100,0,1,1,1,2,2,0,5567,1671,16,0,0,1,0,87); INSERT INTO `mob_pools` VALUES (199,'Apocalyptic_Weapon','Apocalyptic_Weapon',110,0x0000C30100000000000000000000000000000000,1,1,3,240,100,0,1,0,0,0,0,0,375,1669,0,0,0,1,0,110); -INSERT INTO `mob_pools` VALUES (200,'Apollyon_Cleaner','Apollyon_Cleaner',175,0x00009C0100000000000000000000000000000000,5,1,7,240,100,0,1,1,1,0,0,0,131,1159,0,0,36,1,0,175); -INSERT INTO `mob_pools` VALUES (201,'Apollyon_Sapling','Apollyon_Sapling',216,0x0000880100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,0,0,0,3208,1155,0,0,0,1,0,216); -INSERT INTO `mob_pools` VALUES (202,'Apollyon_Scavenger','Apollyon_Scavenger',58,0x0000470500000000000000000000000000000000,1,1,5,300,100,0,1,1,1,2,0,0,761,1155,0,0,0,1,0,58); -INSERT INTO `mob_pools` VALUES (203,'Apollyon_Sweeper','Apollyon_Sweeper',84,0x0000300100000000000000000000000000000000,1,1,12,240,100,0,1,1,1,2,0,0,4680,1159,0,0,0,1,0,85); +INSERT INTO `mob_pools` VALUES (200,'Apollyon_Cleaner','Apollyon_Cleaner',175,0x00009C0100000000000000000000000000000000,5,1,7,240,100,0,1,1,1,16,0,0,131,1155,0,0,36,1,0,175); +INSERT INTO `mob_pools` VALUES (201,'Apollyon_Sapling','Apollyon_Sapling',216,0x0000880100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,16,0,0,3208,1155,0,0,0,1,256,216); +INSERT INTO `mob_pools` VALUES (202,'Apollyon_Scavenger','Apollyon_Scavenger',58,0x0000470500000000000000000000000000000000,1,1,5,300,100,0,1,1,1,18,0,0,761,1155,0,0,0,1,256,58); +INSERT INTO `mob_pools` VALUES (203,'Apollyon_Sweeper','Apollyon_Sweeper',84,0x0000300100000000000000000000000000000000,1,1,12,240,100,0,1,1,1,18,0,0,4680,1159,4,0,0,1,256,85); INSERT INTO `mob_pools` VALUES (204,'Apsaras','Apsaras',197,0x00005C0100000000000000000000000000000000,1,1,7,240,100,0,1,0,0,4,0,0,0,3,0,0,0,1,0,197); INSERT INTO `mob_pools` VALUES (205,'Aquarian_Caster','Aquarian_Caster',153,0x01000D0512101420143014401450E36027701B80,1,1,0,0,100,0,0,0,0,0,0,0,0,3,0,0,0,1,0,153); INSERT INTO `mob_pools` VALUES (206,'Aquarius','Aquarius',77,0x0000640100000000000000000000000000000000,7,7,4,220,100,0,1,0,0,2,0,0,0,3,0,0,0,1,0,77); INSERT INTO `mob_pools` VALUES (207,'Arachne','Arachne',235,0x0000360100000000000000000000000000000000,1,1,7,240,100,0,1,0,1,2,0,0,0,3,0,0,0,1,0,235); INSERT INTO `mob_pools` VALUES (208,'Aragoneu_Knight','Aragoneu_Knight',145,0x010009030C100C200C300C400C50FB601B700080,7,7,3,240,100,0,0,0,0,0,0,0,0,3,0,0,4,1,0,145); -INSERT INTO `mob_pools` VALUES (209,'Arboricole_Beetle','Arboricole_Beetle',49,0x0000980100000000000000000000000000000000,7,7,4,240,100,0,1,1,1,2,0,0,6540,1155,0,0,0,1,0,49); -INSERT INTO `mob_pools` VALUES (210,'Arboricole_Crawler','Arboricole_Crawler',79,0x00008C0100000000000000000000000000000000,1,1,11,240,100,0,1,1,1,2,0,0,5199,1155,0,0,0,1,0,79); -INSERT INTO `mob_pools` VALUES (211,'Arboricole_Hornet','Arboricole_Hornet',48,0x0000100100000000000000000000000000000000,1,1,5,240,100,0,1,0,1,2,0,0,4651,1155,0,0,0,1,0,48); -INSERT INTO `mob_pools` VALUES (212,'Arboricole_Opo-opo','Arboricole_Opo-opo',188,0x0000A00100000000000000000000000000000000,1,1,7,200,100,0,1,1,1,0,0,0,1051,1155,0,0,0,1,0,188); -INSERT INTO `mob_pools` VALUES (213,'Arboricole_Raven','Arboricole_Raven',55,0x0000BD0100000000000000000000000000000000,1,1,5,240,100,0,1,1,1,2,0,0,657,1155,0,0,0,1,0,55); -INSERT INTO `mob_pools` VALUES (214,'Arboricole_Spider','Arboricole_Spider',235,0x0000360100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,0,0,0,5027,1667,0,0,0,1,0,235); +INSERT INTO `mob_pools` VALUES (209,'Arboricole_Beetle','Arboricole_Beetle',49,0x0000980100000000000000000000000000000000,7,7,4,240,100,0,1,1,1,18,0,0,6540,1155,0,0,0,1,0,49); +INSERT INTO `mob_pools` VALUES (210,'Arboricole_Crawler','Arboricole_Crawler',79,0x00008C0100000000000000000000000000000000,1,1,11,240,100,0,1,1,1,18,0,0,5199,1155,0,0,0,1,0,79); +INSERT INTO `mob_pools` VALUES (211,'Arboricole_Hornet','Arboricole_Hornet',48,0x0000100100000000000000000000000000000000,1,1,5,240,100,0,1,0,1,18,0,0,4651,1155,8,0,0,1,0,48); +INSERT INTO `mob_pools` VALUES (212,'Arboricole_Opo-opo','Arboricole_Opo-opo',188,0x0000A00100000000000000000000000000000000,1,1,7,200,100,0,1,1,1,16,0,0,1051,1155,0,0,0,1,0,188); +INSERT INTO `mob_pools` VALUES (213,'Arboricole_Raven','Arboricole_Raven',55,0x0000BD0100000000000000000000000000000000,1,1,5,240,100,0,1,1,1,18,0,0,657,1155,0,0,0,1,0,55); +INSERT INTO `mob_pools` VALUES (214,'Arboricole_Spider','Arboricole_Spider',235,0x0000360100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,16,0,0,5027,1667,8,0,0,1,0,235); INSERT INTO `mob_pools` VALUES (215,'Arcane_Phantasm','Arcane_Phantasm',115,0x0500380200000000000000000000000000000000,10,10,2,240,100,0,1,1,0,2,0,0,0,3,0,0,6,1,0,115); INSERT INTO `mob_pools` VALUES (216,'Archaic_Chariot','Archaic_Chariot',63,0x00001D0700000000000000000000000000000000,1,1,6,320,100,0,1,0,2,2,0,0,7,129,0,0,0,1,0,63); INSERT INTO `mob_pools` VALUES (217,'Archaic_Chest','Archaic_Chest',183,0x0000020100000000000000000000000000000000,1,1,7,170,100,0,1,0,0,0,0,0,0,0,0,0,0,1,0,183); @@ -305,7 +305,7 @@ INSERT INTO `mob_pools` VALUES (244,'Bonnet_Beetle','Bonnet_Beetle',49,0x0000980 INSERT INTO `mob_pools` VALUES (245,'Armillaria','Armillaria',116,0x0000C90800000000000000000000000000000000,1,1,11,240,100,0,0,0,1,2,0,0,0,0,0,0,0,1,0,908); INSERT INTO `mob_pools` VALUES (246,'Armored_Chariot','Armored_Chariot',63,0x00001E0700000000000000000000000000000000,1,1,6,320,100,1024,23,0,1,2,0,0,1,135,0,0,0,1,0,1002); INSERT INTO `mob_pools` VALUES (247,'Armored_Hunter','Armored_Hunter',26,0x0000440500000000000000000000000000000000,1,1,6,240,100,0,1,1,1,2,0,0,445,1153,0,0,0,1,0,26); -INSERT INTO `mob_pools` VALUES (248,'Armoury_Crate','Armoury_Crate',183,0x0000030100000000000000000000000000000000,1,1,7,170,100,0,1,1,1,0,0,0,0,0,0,0,0,1,0,183); +INSERT INTO `mob_pools` VALUES (248,'Armoury_Crate','Armoury_Crate',183,0x0000030100000000000000000000000000000000,1,1,7,170,100,0,1,1,1,16,0,0,0,1155,1,0,0,1,0,183); INSERT INTO `mob_pools` VALUES (249,'Armsmaster_Dekbuk','Armsmaster_Dekbuk',334,0x0000660200000000000000000000000000000000,1,1,2,240,100,0,1,0,1,16,0,0,0,3,0,0,0,1,0,334); INSERT INTO `mob_pools` VALUES (250,'Aroma_Crawler','Aroma_Crawler',79,0x00008C0100000000000000000000000000000000,1,1,11,240,100,0,1,0,1,2,0,0,7076,1157,0,0,0,1,0,79); INSERT INTO `mob_pools` VALUES (251,'Aroma_Fly','Aroma_Fly',113,0x0000C00100000000000000000000000000000000,1,1,8,240,100,0,1,0,1,2,0,0,26,1669,0,0,0,1,0,113); @@ -398,7 +398,7 @@ INSERT INTO `mob_pools` VALUES (337,'Bane_Lizard','Bane_Lizard',174,0x0000480100 INSERT INTO `mob_pools` VALUES (338,'Banshee','Banshee',121,0x0000700100000000000000000000000000000000,4,4,12,240,100,0,1,0,0,0,0,0,177,643,0,0,28,1,0,121); INSERT INTO `mob_pools` VALUES (339,'Baobhan_Sith','Baobhan_Sith',121,0x0000700100000000000000000000000000000000,4,4,12,240,100,0,1,0,0,2,0,0,0,3,0,0,28,1,0,121); INSERT INTO `mob_pools` VALUES (340,'Barakbok','Barakbok',334,0x0000660200000000000000000000000000000000,8,8,5,240,100,0,1,0,1,2,0,0,0,3,0,0,5,1,0,334); -INSERT INTO `mob_pools` VALUES (341,'Bardha','Bardha',121,0x0000700100000000000000000000000000000000,4,4,12,240,100,0,1,1,1,16,0,0,970,131,0,0,28,1,0,121); +INSERT INTO `mob_pools` VALUES (341,'Bardha','Bardha',121,0x0000700100000000000000000000000000000000,4,4,12,240,100,0,1,1,1,16,0,0,970,131,0,0,28,1,256,121); INSERT INTO `mob_pools` VALUES (342,'Barghest','Barghest',143,0x00006C0100000000000000000000000000000000,1,1,3,240,100,0,1,0,0,0,0,0,664,131,0,0,0,1,0,143); INSERT INTO `mob_pools` VALUES (343,'Bark_Spider','Bark_Spider',235,0x0000360100000000000000000000000000000000,1,1,7,240,100,0,0,0,1,0,0,0,125,643,0,0,0,1,0,235); INSERT INTO `mob_pools` VALUES (344,'Bark_Tarantula','Bark_Tarantula',235,0x0000360100000000000000000000000000000000,1,1,7,240,100,0,1,0,1,0,0,0,153,645,0,0,0,1,0,235); @@ -446,7 +446,7 @@ INSERT INTO `mob_pools` VALUES (385,'Beelzebub','Beelzebub',48,0x000010010000000 INSERT INTO `mob_pools` VALUES (386,'Beet_Leafhopper','Beet_Leafhopper',113,0x0000C00100000000000000000000000000000000,1,1,8,240,100,0,1,0,1,2,0,0,1505,643,0,0,0,1,0,113); INSERT INTO `mob_pools` VALUES (387,'Behemoth','Behemoth',51,0x0000940100000000000000000000000000000000,1,1,6,380,125,1024,1,1,0,2,0,0,0,3,0,0,0,1,0,51); INSERT INTO `mob_pools` VALUES (388,'Beholder','Beholder',139,0x0000800100000000000000000000000000000000,4,4,12,240,100,0,1,0,0,0,0,0,0,0,0,0,10,1,0,139); -INSERT INTO `mob_pools` VALUES (389,'Beli','Beli',126,0x0000C70200000000000000000000000000000000,11,1,5,240,100,0,1,1,1,16,0,32,7,157,0,0,0,1,0,126); +INSERT INTO `mob_pools` VALUES (389,'Beli','Beli',126,0x0000C70200000000000000000000000000000000,11,1,5,240,100,0,1,1,1,16,0,32,7,157,0,0,0,1,256,126); INSERT INTO `mob_pools` VALUES (390,'Bendigeit_Vran','Bendigeit_Vran',221,0x0000130200000000000000000000000000000000,1,1,2,360,100,0,1,0,1,2,0,32,894,155,0,0,0,1,0,221); INSERT INTO `mob_pools` VALUES (391,'Bennu','Bennu',125,0x0000530100000000000000000000000000000000,1,1,6,240,100,0,0,0,0,2,0,0,7,143,0,0,0,1,0,933); INSERT INTO `mob_pools` VALUES (392,'Benumbed_Vodoriga','Benumbed_Vodoriga',117,0x0000B10800000000000000000000000000000000,1,1,3,240,100,0,1,0,0,0,0,0,0,0,0,0,0,1,0,118); @@ -466,7 +466,7 @@ INSERT INTO `mob_pools` VALUES (405,'Bhoot_Intruder','Bhoot_Intruder',121,0x0000 INSERT INTO `mob_pools` VALUES (406,'Bhoot_Invader','Bhoot_Invader',52,0x0000710100000000000000000000000000000000,4,4,11,240,100,0,1,1,1,0,0,0,15,131,0,0,28,1,0,52); INSERT INTO `mob_pools` VALUES (407,'Bhuta','Bhuta',121,0x0000700100000000000000000000000000000000,4,4,12,240,100,0,1,0,0,0,0,0,395,131,0,0,28,1,0,121); INSERT INTO `mob_pools` VALUES (408,'Bhuu_Wjato_the_Firepool','Bhuu_Wjato_the_Firepool',360,0x00003D0400000000000000000000000000000000,4,4,6,240,100,0,1,0,1,2,0,32,0,159,0,0,2,1,0,360); -INSERT INTO `mob_pools` VALUES (409,'Bialozar','Bialozar',125,0x0000500100000000000000000000000000000000,10,10,12,240,100,0,1,1,0,16,0,0,245,133,0,0,6,1,0,125); +INSERT INTO `mob_pools` VALUES (409,'Bialozar','Bialozar',125,0x0000500100000000000000000000000000000000,10,10,12,240,100,0,1,1,0,16,0,0,245,133,0,0,6,1,256,125); INSERT INTO `mob_pools` VALUES (410,'Biast','Biast',87,0x0000A40100000000000000000000000000000000,1,1,12,240,100,0,1,0,0,2,0,32,126,157,0,0,0,1,0,87); INSERT INTO `mob_pools` VALUES (411,'Biddybug','Biddybug',170,0x0000E20700000000000000000000000000000000,6,6,7,220,100,0,1,0,0,0,0,0,26,643,0,0,0,1,0,170); INSERT INTO `mob_pools` VALUES (412,'Bifrons','Bifrons',56,0x0000180100000000000000000000000000000000,1,1,11,240,100,0,1,0,0,0,0,0,827,133,0,0,0,1,0,56); @@ -701,7 +701,7 @@ INSERT INTO `mob_pools` VALUES (640,'Carmine-tailed_Janberry','Carmine-tailed_Ja INSERT INTO `mob_pools` VALUES (641,'Carmine_Dobsonfly','Carmine_Dobsonfly',113,0x0000C10100000000000000000000000000000000,5,5,3,240,100,0,0,0,1,2,0,0,323,645,0,0,145,1,0,113); INSERT INTO `mob_pools` VALUES (642,'Carmine_Eruca','Carmine_Eruca',107,0x0000960100000000000000000000000000000000,1,1,11,240,100,0,1,1,1,0,0,0,344,129,0,0,0,1,0,107); INSERT INTO `mob_pools` VALUES (643,'Carmine_Sentinel','Carmine_Sentinel',30,0x0600CA0700000000000000000000000000000000,4,4,11,400,100,0,0,0,1,0,0,0,0,3,0,0,2,1,0,30); -INSERT INTO `mob_pools` VALUES (644,'Carnagechief_Jackbodokk','Carnagechief_Jackbodokk',334,0x00007A0200000000000000000000000000000000,7,7,3,240,100,0,1,1,1,2,0,0,0,3,0,0,4,1,0,334); +INSERT INTO `mob_pools` VALUES (644,'Carnagechief_Jackbodokk','Carnagechief_Jackbodokk',334,0x00007A0200000000000000000000000000000000,7,7,3,240,100,0,1,1,1,18,0,32,0,159,0,0,4,1,256,334); INSERT INTO `mob_pools` VALUES (645,'Carnero','Carnero',226,0x0000540100000000000000000000000000000000,1,1,7,240,100,0,0,0,1,2,0,32,1341,157,0,0,0,1,0,226); INSERT INTO `mob_pools` VALUES (646,'Carnivorous_Crawler','Carnivorous_Crawler',79,0x00008C0100000000000000000000000000000000,1,1,11,240,100,0,0,0,1,0,0,0,451,131,0,0,0,1,0,79); INSERT INTO `mob_pools` VALUES (647,'Carpophagous_Puk','Carpophagous_Puk',198,0x0000D00600000000000000000000000000000000,1,1,7,200,100,0,1,0,0,0,0,0,0,3,0,0,0,1,0,198); @@ -853,7 +853,7 @@ INSERT INTO `mob_pools` VALUES (792,'Coquecigrue','Coquecigrue',70,0x00002001000 INSERT INTO `mob_pools` VALUES (793,'Coralline_Uragnite','Coralline_Uragnite',251,0x0000510500000000000000000000000000000000,1,1,7,290,100,0,1,0,0,0,0,0,556,643,0,0,0,1,0,251); INSERT INTO `mob_pools` VALUES (794,'Coral_Crab','Coral_Crab',77,0x0000640100000000000000000000000000000000,7,7,4,240,100,0,1,0,0,0,0,0,0,3,0,0,0,1,0,77); INSERT INTO `mob_pools` VALUES (795,'Coral_Sahagin','Coral_Sahagin',213,0x00002D0500000000000000000000000000000000,3,3,3,240,100,0,1,1,1,2,0,0,453,133,0,0,1,1,0,213); -INSERT INTO `mob_pools` VALUES (796,'Cornu','Cornu',55,0x0000BD0100000000000000000000000000000000,1,1,5,240,100,0,1,1,1,16,0,0,7,1155,0,0,0,1,0,55); +INSERT INTO `mob_pools` VALUES (796,'Cornu','Cornu',55,0x0000BD0100000000000000000000000000000000,1,1,5,240,100,0,1,1,1,16,0,0,7,1155,0,0,0,1,256,55); INSERT INTO `mob_pools` VALUES (797,'Corrupted_Soffeil','Corrupted_Soffeil',227,0x0000340200000000000000000000000000000000,4,4,10,240,100,0,1,0,0,34,0,32,4381,133,0,0,28,1,0,227); INSERT INTO `mob_pools` VALUES (798,'Corrupted_Ulbrig','Corrupted_Ulbrig',227,0x0000340200000000000000000000000000000000,4,4,10,240,100,0,1,0,0,34,0,32,6,133,0,0,28,1,0,227); INSERT INTO `mob_pools` VALUES (799,'Corrupted_Yorgos','Corrupted_Yorgos',227,0x00003C0200000000000000000000000000000000,1,1,5,240,100,0,1,0,0,34,0,32,6455,157,0,0,0,1,0,227); @@ -898,21 +898,21 @@ INSERT INTO `mob_pools` VALUES (837,'Crimson_Eruca','Crimson_Eruca',107,0x000096 INSERT INTO `mob_pools` VALUES (838,'Crimson_Grimoire','Crimson_Grimoire',149,0x0000B40800000000000000000000000000000000,20,20,11,240,100,0,0,0,1,2,0,0,574,131,0,0,0,1,0,149); INSERT INTO `mob_pools` VALUES (839,'Crimson_Knight_Crab','Crimson_Knight_Crab',77,0x0000650100000000000000000000000000000000,7,7,4,240,100,0,0,0,0,0,0,0,0,131,8,0,0,1,0,77); INSERT INTO `mob_pools` VALUES (840,'Crimson_Wolf_Esquire','Crimson_Wolf_Esquire',145,0x01000D031C101C201C301C401C50CF6000702280,1,1,8,240,100,0,0,0,0,0,0,0,0,0,0,0,0,1,0,145); -INSERT INTO `mob_pools` VALUES (841,'Criosphinx','Criosphinx',179,0x0000920100000000000000000000000000000000,1,1,7,360,100,0,1,1,1,16,0,0,7165,135,0,0,0,1,0,179); +INSERT INTO `mob_pools` VALUES (841,'Criosphinx','Criosphinx',179,0x0000920100000000000000000000000000000000,1,1,7,360,100,0,1,1,1,16,0,0,7165,135,8,0,0,1,256,179); INSERT INTO `mob_pools` VALUES (842,'Crocodile_Mercenary','Crocodile_Mercenary',151,0x01000E0772100F2072300F400F5064602E703280,1,1,0,0,100,0,0,0,0,0,0,0,0,3,0,0,0,1,0,151); INSERT INTO `mob_pools` VALUES (843,'Cronos','Cronos',127,0x0000800200000000000000000000000000000000,1,1,6,240,100,0,1,1,1,16,0,0,389,135,0,0,0,1,0,127); INSERT INTO `mob_pools` VALUES (844,'Crossbones','Crossbones',227,0x0000340200000000000000000000000000000000,1,1,5,240,100,0,1,0,0,0,0,0,238,131,0,0,0,1,0,227); INSERT INTO `mob_pools` VALUES (845,'Crushed_Krause','Crushed_Krause',121,0x0000700100000000000000000000000000000000,4,4,12,240,100,0,1,0,0,2,0,0,0,3,0,0,28,1,0,121); -INSERT INTO `mob_pools` VALUES (846,'Cryptonberry_Abductor','Cryptonberry_Abductor',243,0x0000A10400000000000000000000000000000000,6,6,2,240,100,0,1,1,1,0,0,0,719,129,0,0,0,1,0,243); +INSERT INTO `mob_pools` VALUES (846,'Cryptonberry_Abductor','Cryptonberry_Abductor',243,0x0000A10400000000000000000000000000000000,6,6,2,240,100,0,1,1,1,16,0,0,719,129,0,0,0,1,256,243); INSERT INTO `mob_pools` VALUES (847,'Cryptonberry_Assassin','Cryptonberry_Assassin',243,0x0000A10400000000000000000000000000000000,6,6,2,240,100,0,1,0,1,2,0,0,6,133,0,0,0,1,0,243); -- THF -INSERT INTO `mob_pools` VALUES (848,'Cryptonberry_Charmer','Cryptonberry_Charmer',243,0x0000A20400000000000000000000000000000000,4,4,6,240,100,0,1,1,1,0,0,0,2013,133,0,0,2,1,0,243); +INSERT INTO `mob_pools` VALUES (848,'Cryptonberry_Charmer','Cryptonberry_Charmer',243,0x0000A20400000000000000000000000000000000,4,4,6,240,100,0,1,1,1,16,0,0,2013,133,0,0,2,1,256,243); INSERT INTO `mob_pools` VALUES (849,'Cryptonberry_Cutter','Cryptonberry_Cutter',243,0x0000AC0400000000000000000000000000000000,13,13,2,240,100,0,1,0,1,0,0,0,0,3,0,0,7,1,0,243); -INSERT INTO `mob_pools` VALUES (850,'Cryptonberry_Designator','Cryptonberry_Designator',243,0x0000A30400000000000000000000000000000000,15,15,6,240,100,0,1,1,1,0,0,0,85,129,0,0,32,1,0,243); +INSERT INTO `mob_pools` VALUES (850,'Cryptonberry_Designator','Cryptonberry_Designator',243,0x0000A30400000000000000000000000000000000,15,15,6,240,100,0,1,1,1,16,0,0,85,129,0,0,32,1,256,243); INSERT INTO `mob_pools` VALUES (851,'Cryptonberry_Executor','Cryptonberry_Executor',243,0x0000A50400000000000000000000000000000000,13,13,2,240,100,0,1,0,1,2,0,0,889,133,0,0,7,1,0,243); INSERT INTO `mob_pools` VALUES (852,'Cryptonberry_Harrier','Cryptonberry_Harrier',243,0x0000A80400000000000000000000000000000000,15,15,6,240,100,0,1,0,1,0,0,0,0,3,0,0,32,1,0,243); INSERT INTO `mob_pools` VALUES (853,'Cryptonberry_Occultist','Cryptonberry_Occultist',243,0x0000A50400000000000000000000000000000000,4,4,2,240,100,0,1,0,1,0,0,0,1,135,0,0,2,1,0,243); INSERT INTO `mob_pools` VALUES (854,'Cryptonberry_Plaguer','Cryptonberry_Plaguer',243,0x0000A60400000000000000000000000000000000,4,4,6,240,100,0,1,0,1,0,0,0,191,131,0,0,2,1,0,243); -INSERT INTO `mob_pools` VALUES (855,'Cryptonberry_Skulker','Cryptonberry_Skulker',243,0x0000A50400000000000000000000000000000000,13,13,2,240,100,0,1,1,1,0,0,0,311,133,0,0,7,1,0,243); +INSERT INTO `mob_pools` VALUES (855,'Cryptonberry_Skulker','Cryptonberry_Skulker',243,0x0000A50400000000000000000000000000000000,13,13,2,240,100,0,1,1,1,16,0,0,311,133,0,0,7,1,256,243); INSERT INTO `mob_pools` VALUES (856,'Cryptonberry_Stalker','Cryptonberry_Stalker',243,0x0000AB0400000000000000000000000000000000,6,6,2,240,100,0,1,0,1,0,0,0,166,131,0,0,0,1,0,243); INSERT INTO `mob_pools` VALUES (857,'Crypt_Ghost','Crypt_Ghost',121,0x0000700100000000000000000000000000000000,4,4,12,240,100,0,1,0,0,2,0,0,309,131,0,0,28,1,0,121); INSERT INTO `mob_pools` VALUES (858,'Crystal_Eater','Crystal_Eater',116,0x0000780100000000000000000000000000000000,1,1,11,240,100,0,0,0,0,2,0,0,0,3,0,0,0,1,0,116); @@ -940,7 +940,7 @@ INSERT INTO `mob_pools` VALUES (879,'Cyan_Deep_Crab','Cyan_Deep_Crab',77,0x00006 INSERT INTO `mob_pools` VALUES (880,'Cyan_Deep_Pugil','Cyan_Deep_Pugil',197,0x00005C0100000000000000000000000000000000,1,1,7,240,100,0,0,0,0,0,0,0,237,131,0,0,0,1,0,197); INSERT INTO `mob_pools` VALUES (881,'Cyclopean_Conch','Cyclopean_Conch',251,0x0000510500000000000000000000000000000000,1,1,7,290,100,0,1,0,0,6,0,0,1855,645,0,0,0,1,0,251); INSERT INTO `mob_pools` VALUES (882,'Cyhiraeth','Cyhiraeth',91,0x0000310700000000000000000000000000000000,4,1,0,240,100,0,1,0,0,0,0,0,217,131,0,0,2,1,0,0); -INSERT INTO `mob_pools` VALUES (883,'Cynoprosopi','Cynoprosopi',261,0x00000F0300000000000000000000000000000000,1,1,7,240,125,1040,1,1,1,16,0,32,1621,155,0,0,0,1,0,261); +INSERT INTO `mob_pools` VALUES (883,'Cynoprosopi','Cynoprosopi',261,0x00000F0300000000000000000000000000000000,1,1,7,240,125,1040,1,1,1,16,0,32,1621,155,0,0,0,1,256,261); INSERT INTO `mob_pools` VALUES (884,'Cyranuce_M_Cutauleon','Cyranuce_M_Cutauleon',268,0x00003E0100000000000000000000000000000000,1,1,7,240,100,0,1,1,0,50,0,0,0,0,0,0,0,1,0,498); INSERT INTO `mob_pools` VALUES (885,'D5J2-MERROW','D5J2-MERROW',182,0x0600850600000000000000000000000000000000,10,10,5,240,100,0,1,0,1,16,0,0,1,515,4,0,6,1,0,182); INSERT INTO `mob_pools` VALUES (886,'D5R3-MERROW','D5R3-MERROW',182,0x0600850600000000000000000000000000000000,5,5,4,240,100,0,1,0,1,16,0,0,1,515,4,0,3,1,0,182); @@ -1009,7 +1009,7 @@ INSERT INTO `mob_pools` VALUES (948,'Decurio_I-III','Decurio_I-III',25,0x0000EF0 INSERT INTO `mob_pools` VALUES (949,'Decurio_XIII-LV','Decurio_XIII-LV',25,0x0000020500000000000000000000000000000000,4,4,12,265,100,0,1,0,1,2,0,0,0,3,0,0,2,1,0,25); INSERT INTO `mob_pools` VALUES (950,'Deelgeed','Deelgeed',58,0x0000480500000000000000000000000000000000,1,1,6,240,100,0,1,1,1,2,0,0,0,157,0,0,0,1,0,982); INSERT INTO `mob_pools` VALUES (951,'Deep_Eye','Deep_Eye',4,0x0000090100000000000000000000000000000000,4,4,12,240,100,0,1,0,1,0,0,0,1,133,0,0,11,1,0,4); -INSERT INTO `mob_pools` VALUES (952,'Dee_Wapa_the_Desolator','Dee_Wapa_the_Desolator',360,0x00003C0400000000000000000000000000000000,15,15,6,240,100,0,1,1,1,2,0,0,0,0,0,0,30,1,0,360); +INSERT INTO `mob_pools` VALUES (952,'Dee_Wapa_the_Desolator','Dee_Wapa_the_Desolator',360,0x0000540200000000000000000000000000000000,15,15,6,240,100,0,1,1,1,18,0,32,0,159,0,0,30,1,256,360); INSERT INTO `mob_pools` VALUES (953,'Dee_Xalmo_the_Grim','Dee_Xalmo_the_Grim',360,0x0000240800000000000000000000000000000000,2,2,1,480,100,0,1,1,1,0,0,0,0,0,0,0,0,1,0,360); INSERT INTO `mob_pools` VALUES (954,'Dee_Zelko_the_Esoteric','Dee_Zelko_the_Esoteric',360,0x00003D0400000000000000000000000000000000,4,4,9,240,100,0,1,1,1,2,23,32,221,157,0,0,239,1,0,0); INSERT INTO `mob_pools` VALUES (955,'Defender','Defender',234,0x00003B0100000000000000000000000000000000,1,1,7,240,100,0,1,0,0,0,0,0,271,131,0,0,0,1,0,234); @@ -1273,22 +1273,22 @@ INSERT INTO `mob_pools` VALUES (1212,'Empousa','Empousa',118,0x00006308000000000 INSERT INTO `mob_pools` VALUES (1213,'Enagakure','Enagakure',121,0x0000700100000000000000000000000000000000,4,4,12,240,100,0,1,0,0,2,0,0,2278,1155,0,0,28,1,0,121); INSERT INTO `mob_pools` VALUES (1214,'Enchanted_Bones','Enchanted_Bones',227,0x0000340200000000000000000000000000000000,4,4,5,240,100,0,1,0,0,0,0,0,413,1153,0,0,28,1,0,227); INSERT INTO `mob_pools` VALUES (1215,'Energetic_Eruca','Energetic_Eruca',108,0x0000960100000000000000000000000000000000,1,1,11,240,100,0,1,0,1,2,0,0,0,3,0,0,0,1,0,108); -INSERT INTO `mob_pools` VALUES (1216,'Enhanced_Ahriman','Enhanced_Ahriman',4,0x0000080100000000000000000000000000000000,4,4,12,240,100,0,1,0,1,2,0,0,187,1157,0,0,11,1,0,4); -INSERT INTO `mob_pools` VALUES (1217,'Enhanced_Akbaba','Enhanced_Akbaba',55,0x0000BC0100000000000000000000000000000000,1,1,5,240,100,0,1,1,1,2,0,0,0,3,0,0,0,1,0,55); -INSERT INTO `mob_pools` VALUES (1218,'Enhanced_Beetle','Enhanced_Beetle',49,0x0000980100000000000000000000000000000000,8,8,7,240,100,0,1,1,1,2,0,0,4109,1157,0,0,0,1,0,49); -INSERT INTO `mob_pools` VALUES (1219,'Enhanced_Dragon','Enhanced_Dragon',87,0x0000A40100000000000000000000000000000000,1,1,12,240,100,0,1,0,0,2,0,0,107,1153,0,0,0,1,0,87); -INSERT INTO `mob_pools` VALUES (1220,'Enhanced_Jelly','Enhanced_Jelly',229,0x0000240100000000000000000000000000000000,1,1,7,240,100,0,1,0,1,0,0,0,0,3,0,0,0,1,0,229); -INSERT INTO `mob_pools` VALUES (1221,'Enhanced_Kettenkaefer','Enhanced_Kettenkaefer',49,0x0000980100000000000000000000000000000000,8,8,7,240,100,0,1,1,1,2,0,0,0,3,0,0,5,1,0,49); -INSERT INTO `mob_pools` VALUES (1222,'Enhanced_Koenigstiger','Enhanced_Koenigstiger',242,0x0000340100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,0,0,0,0,3,0,0,0,1,0,242); -INSERT INTO `mob_pools` VALUES (1223,'Enhanced_Lizard','Enhanced_Lizard',174,0x0000480100000000000000000000000000000000,1,1,7,240,100,0,0,0,1,0,0,0,2679,1157,0,0,0,1,0,174); -INSERT INTO `mob_pools` VALUES (1224,'Enhanced_Makara','Enhanced_Makara',197,0x00005C0100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,0,0,0,0,3,0,0,0,1,0,197); -INSERT INTO `mob_pools` VALUES (1225,'Enhanced_Mandragora','Enhanced_Mandragora',178,0x00002C0100000000000000000000000000000000,2,2,1,480,100,0,1,1,1,0,0,0,2497,1669,0,0,0,1,0,178); -INSERT INTO `mob_pools` VALUES (1226,'Enhanced_Pugil','Enhanced_Pugil',197,0x00005C0100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,0,0,0,2357,1157,0,0,0,1,0,197); -INSERT INTO `mob_pools` VALUES (1227,'Enhanced_Pygmaioi','Enhanced_Pygmaioi',178,0x00002C0100000000000000000000000000000000,2,2,1,480,100,0,1,1,1,0,0,0,0,3,0,0,0,1,0,178); -INSERT INTO `mob_pools` VALUES (1228,'Enhanced_Salamander','Enhanced_Salamander',210,0x00003C0100000000000000000000000000000000,6,6,7,240,100,0,0,0,1,0,0,0,0,3,0,0,0,1,0,210); -INSERT INTO `mob_pools` VALUES (1229,'Enhanced_Slime','Enhanced_Slime',229,0x0000240100000000000000000000000000000000,1,1,7,240,100,0,1,0,1,0,0,0,2723,1157,0,0,0,1,0,229); -INSERT INTO `mob_pools` VALUES (1230,'Enhanced_Tiger','Enhanced_Tiger',242,0x0000340100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,0,0,0,4478,1157,0,0,0,1,0,242); -INSERT INTO `mob_pools` VALUES (1231,'Enhanced_Vulture','Enhanced_Vulture',55,0x0000BC0100000000000000000000000000000000,1,1,5,240,100,0,1,1,1,2,0,0,912,1157,0,0,0,1,0,55); +INSERT INTO `mob_pools` VALUES (1216,'Enhanced_Ahriman','Enhanced_Ahriman',4,0x0000080100000000000000000000000000000000,4,4,12,240,100,0,1,1,0,18,0,0,187,1157,0,0,11,1,256,4); +INSERT INTO `mob_pools` VALUES (1217,'Enhanced_Akbaba','Enhanced_Akbaba',55,0x0000BC0100000000000000000000000000000000,1,1,5,240,100,0,1,1,0,18,0,0,0,3,0,0,0,1,256,55); +INSERT INTO `mob_pools` VALUES (1218,'Enhanced_Beetle','Enhanced_Beetle',49,0x0000980100000000000000000000000000000000,8,8,7,240,100,0,1,1,1,18,0,0,4109,1157,0,0,0,1,256,49); +INSERT INTO `mob_pools` VALUES (1219,'Enhanced_Dragon','Enhanced_Dragon',87,0x0000A40100000000000000000000000000000000,1,1,12,240,100,0,1,1,0,18,0,0,107,1153,0,0,0,1,256,87); +INSERT INTO `mob_pools` VALUES (1220,'Enhanced_Jelly','Enhanced_Jelly',229,0x0000240100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,16,0,0,0,3,0,0,0,1,256,229); +INSERT INTO `mob_pools` VALUES (1221,'Enhanced_Kettenkaefer','Enhanced_Kettenkaefer',49,0x0000980100000000000000000000000000000000,8,8,7,240,100,0,1,1,1,18,0,0,0,3,0,0,5,1,256,49); +INSERT INTO `mob_pools` VALUES (1222,'Enhanced_Koenigstiger','Enhanced_Koenigstiger',242,0x0000340100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,16,0,0,0,3,0,0,0,1,256,242); +INSERT INTO `mob_pools` VALUES (1223,'Enhanced_Lizard','Enhanced_Lizard',174,0x0000480100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,16,0,0,2679,1157,0,0,0,1,256,174); +INSERT INTO `mob_pools` VALUES (1224,'Enhanced_Makara','Enhanced_Makara',197,0x00005C0100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,16,0,0,0,1157,0,0,0,1,256,197); +INSERT INTO `mob_pools` VALUES (1225,'Enhanced_Mandragora','Enhanced_Mandragora',178,0x00002C0100000000000000000000000000000000,2,2,1,480,100,0,1,1,1,16,0,0,2497,1669,8,0,0,1,256,178); +INSERT INTO `mob_pools` VALUES (1226,'Enhanced_Pugil','Enhanced_Pugil',197,0x00005C0100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,16,0,0,2357,1157,0,0,0,1,256,197); +INSERT INTO `mob_pools` VALUES (1227,'Enhanced_Pygmaioi','Enhanced_Pygmaioi',178,0x00002C0100000000000000000000000000000000,2,2,1,480,100,0,1,1,1,16,0,0,0,3,0,0,0,1,256,178); +INSERT INTO `mob_pools` VALUES (1228,'Enhanced_Salamander','Enhanced_Salamander',210,0x00003C0100000000000000000000000000000000,6,6,7,240,100,0,0,0,1,16,0,0,0,3,0,0,0,1,256,210); +INSERT INTO `mob_pools` VALUES (1229,'Enhanced_Slime','Enhanced_Slime',229,0x0000240100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,16,0,0,2723,1157,0,0,0,1,256,229); +INSERT INTO `mob_pools` VALUES (1230,'Enhanced_Tiger','Enhanced_Tiger',242,0x0000340100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,16,0,0,4478,1157,0,0,0,1,256,242); +INSERT INTO `mob_pools` VALUES (1231,'Enhanced_Vulture','Enhanced_Vulture',55,0x0000BC0100000000000000000000000000000000,1,1,5,240,100,0,1,1,1,18,0,0,912,1157,0,0,0,1,256,55); INSERT INTO `mob_pools` VALUES (1232,'Enigmatic_Sphere','Enigmatic_Sphere',0,0x0000000000000000000000000000000000000000,1,1,0,240,100,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0); INSERT INTO `mob_pools` VALUES (1233,'Enkelados','Enkelados',126,0x0000800200000000000000000000000000000000,9,9,5,240,100,0,1,0,1,2,0,32,5749,1181,0,0,0,1,0,126); INSERT INTO `mob_pools` VALUES (1234,'Enkidu','Enkidu',135,0x0000B00100000000000000000000000000000000,1,1,11,320,100,0,1,0,0,0,0,0,449,1155,0,0,0,1,0,135); @@ -1320,7 +1320,7 @@ INSERT INTO `mob_pools` VALUES (1259,'Es_euvhi','Es_euvhi',0,0x00000000000000000 INSERT INTO `mob_pools` VALUES (1260,'Etemmu','Etemmu',121,0x0000700100000000000000000000000000000000,4,4,12,240,100,0,1,0,0,0,0,0,555,1155,0,0,28,1,0,121); INSERT INTO `mob_pools` VALUES (1261,'Eurymedon','Eurymedon',126,0x0000800200000000000000000000000000000000,9,9,5,240,100,0,1,0,1,2,0,0,0,3,0,0,0,1,0,126); INSERT INTO `mob_pools` VALUES (1262,'Eurytos','Eurytos',126,0x0000830200000000000000000000000000000000,11,1,5,240,100,0,1,0,1,2,0,0,0,3,0,0,0,1,0,126); -INSERT INTO `mob_pools` VALUES (1263,'Evil_Armory','Evil_Armory',110,0x0000DE0100000000000000000000000000000000,5,5,3,240,100,0,1,1,1,2,0,0,2887,1671,0,0,3,1,0,110); +INSERT INTO `mob_pools` VALUES (1263,'Evil_Armory','Evil_Armory',110,0x0000DE0100000000000000000000000000000000,5,5,3,240,100,0,1,1,1,18,0,0,2887,1671,16,0,3,1,256,110); INSERT INTO `mob_pools` VALUES (1264,'Evil_Eye','Evil_Eye',4,0x0000080100000000000000000000000000000000,1,4,11,240,100,0,1,0,0,0,0,0,1104,1155,0,0,11,1,0,4); INSERT INTO `mob_pools` VALUES (1265,'Evil_Oscar','Evil_Oscar',186,0x00007C0100000000000000000000000000000000,1,1,7,200,100,0,1,1,0,18,9,32,1642,1183,0,0,0,1,0,186); INSERT INTO `mob_pools` VALUES (1266,'Evil_Spirit','Evil_Spirit',121,0x0000700100000000000000000000000000000000,4,4,12,240,100,0,1,0,0,0,0,0,292,1155,0,0,28,1,0,121); @@ -1403,7 +1403,7 @@ INSERT INTO `mob_pools` VALUES (1342,'Fire_Golem','Fire_Golem',135,0x0000B001000 INSERT INTO `mob_pools` VALUES (1343,'Fire_Pot','Fire_Pot',175,0x00009C0100000000000000000000000000000000,5,1,7,240,100,0,1,0,1,0,0,0,7,135,0,0,36,1,0,175); INSERT INTO `mob_pools` VALUES (1344,'Fire_Pukis','Fire_Pukis',87,0x0000A40100000000000000000000000000000000,1,1,12,240,100,0,1,1,1,2,513,0,924,135,0,0,0,1,0,87); INSERT INTO `mob_pools` VALUES (1345,'First_Rampart','First_Rampart',209,0x00001A0700000000000000000000000000000000,1,1,7,320,100,0,1,0,1,0,0,0,0,0,0,0,0,1,0,209); -INSERT INTO `mob_pools` VALUES (1346,'Fir_Bholg','Fir_Bholg',115,0x0500F40300000000000000000000000000000000,7,7,4,240,100,0,1,1,1,2,0,0,507,131,0,0,4,1,0,115); +INSERT INTO `mob_pools` VALUES (1346,'Jidra','Jidra',245,0x00008B0100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,16,0,0,659,135,0,0,0,1,256,245); -- leafless INSERT INTO `mob_pools` VALUES (1347,'Fishtrap','Fishtrap',114,0x0000410500000000000000000000000000000000,1,1,8,200,100,0,1,0,0,4,0,0,2370,131,0,0,0,1,0,114); INSERT INTO `mob_pools` VALUES (1348,'Fistule','Fistule',66,0x0000250100000000000000000000000000000000,9,9,5,240,100,0,0,0,0,2,0,0,1,2695,0,0,0,1,0,798); INSERT INTO `mob_pools` VALUES (1349,'Five_Moons','Five_Moons',146,0x010009081A103420343034403450C66000700000,8,8,7,240,100,0,0,0,0,2,0,0,0,0,0,0,5,1,0,146); @@ -1431,7 +1431,7 @@ INSERT INTO `mob_pools` VALUES (1370,'Floating_Eye','Floating_Eye',4,0x000008010 INSERT INTO `mob_pools` VALUES (1371,'Floe_Amoeban','Floe_Amoeban',5,0x00005C0900000000000000000000000000000000,4,4,11,240,100,0,1,0,0,0,0,0,0,0,0,0,2,1,0,5); INSERT INTO `mob_pools` VALUES (1372,'Flux_Flan','Flux_Flan',112,0x0000070700000000000000000000000000000000,4,4,12,240,100,0,1,0,0,2,0,0,0,0,0,0,2,1,0,112); INSERT INTO `mob_pools` VALUES (1373,'Flying_Manta','Flying_Manta',218,0x0000600100000000000000000000000000000000,2,2,7,360,100,0,1,0,0,0,0,0,191,131,0,0,0,1,0,218); -INSERT INTO `mob_pools` VALUES (1374,'Flying_Spear','Flying_Spear',110,0x0000A70100000000000000000000000000000000,5,5,3,240,100,0,1,1,1,2,0,0,2712,131,0,0,3,1,0,110); +INSERT INTO `mob_pools` VALUES (1374,'Flying_Spear','Flying_Spear',110,0x0000A70100000000000000000000000000000000,5,5,3,240,100,0,1,1,1,18,0,0,2712,131,0,0,3,1,256,110); INSERT INTO `mob_pools` VALUES (1375,'Flytrap','Flytrap',114,0x0000410500000000000000000000000000000000,1,1,8,200,100,0,0,0,0,0,0,0,152,131,0,0,0,1,0,114); INSERT INTO `mob_pools` VALUES (1376,'Fly_Agaric','Fly_Agaric',116,0x0000780100000000000000000000000000000000,1,1,11,240,100,0,0,0,1,0,0,0,0,3,0,0,0,1,0,116); INSERT INTO `mob_pools` VALUES (1377,'Fodderchief_Vokdek','Fodderchief_Vokdek',334,0x0000660200000000000000000000000000000000,1,1,2,240,100,0,1,0,1,50,0,32,3559,157,0,0,0,1,0,334); @@ -1467,7 +1467,7 @@ INSERT INTO `mob_pools` VALUES (1406,'Forest_Tiger','Forest_Tiger',242,0x0000340 INSERT INTO `mob_pools` VALUES (1407,'Forger','Forger',56,0x0000180100000000000000000000000000000000,1,1,5,240,100,0,1,0,0,2,0,0,1422,131,0,0,0,1,0,56); INSERT INTO `mob_pools` VALUES (1408,'Fortification','Fortification',237,0x00002C0600000000000000000000000000000000,1,1,0,32767,100,0,0,0,0,32,0,0,32768,3,0,0,0,1,0,237); INSERT INTO `mob_pools` VALUES (1409,'Fosse_Pugil','Fosse_Pugil',197,0x00005C0100000000000000000000000000000000,1,1,7,240,100,0,0,0,0,0,0,0,344,131,0,0,0,1,0,197); -INSERT INTO `mob_pools` VALUES (1410,'Fossil_Quadav','Fossil_Quadav',202,0x0000890200000000000000000000000000000000,1,1,2,265,100,0,1,0,1,0,0,0,1247,131,0,0,0,1,0,202); +INSERT INTO `mob_pools` VALUES (1410,'Fossil_Quadav','Fossil_Quadav',202,0x0000890200000000000000000000000000000000,1,1,2,265,100,0,1,1,1,16,0,0,1247,131,0,0,0,1,256,202); INSERT INTO `mob_pools` VALUES (1411,'Fossorial_Flea','Fossorial_Flea',64,0x0000D30600000000000000000000000000000000,6,6,2,150,100,0,1,0,0,0,0,0,355,2691,0,0,0,1,1024,64); INSERT INTO `mob_pools` VALUES (1412,'Foul_Meat','Foul_Meat',86,0x0000400100000000000000000000000000000000,1,1,3,270,100,0,1,0,0,0,0,0,238,131,0,0,0,1,0,86); INSERT INTO `mob_pools` VALUES (1413,'Fourth_Rampart','Fourth_Rampart',209,0x00001A0700000000000000000000000000000000,1,1,7,320,100,0,0,0,0,0,0,0,0,0,0,0,0,1,0,209); @@ -1572,7 +1572,7 @@ INSERT INTO `mob_pools` VALUES (1511,'Ghast','Ghast',227,0x000034020000000000000 INSERT INTO `mob_pools` VALUES (1512,'Ghayaraan','Ghayaraan',149,0x0500600700000000000000000000000000000000,16,16,3,240,100,0,1,1,1,8,0,0,1,155,0,0,8,1,0,149); INSERT INTO `mob_pools` VALUES (1513,'Ghelsba_Pugil','Ghelsba_Pugil',197,0x00005C0100000000000000000000000000000000,1,1,7,240,100,0,1,0,0,0,0,0,132,129,0,0,0,1,0,197); INSERT INTO `mob_pools` VALUES (1514,'Ghost','Ghost',121,0x0000700100000000000000000000000000000000,4,4,12,240,100,0,1,0,0,0,0,0,534,131,0,0,28,1,0,121); -INSERT INTO `mob_pools` VALUES (1515,'Ghost_Clot','Ghost_Clot',66,0x0000260100000000000000000000000000000000,1,1,6,240,100,0,1,1,1,2,0,0,7759,135,0,0,0,1,0,66); +INSERT INTO `mob_pools` VALUES (1515,'Ghost_Clot','Ghost_Clot',66,0x0000260100000000000000000000000000000000,1,1,6,240,100,0,1,1,1,18,0,0,7759,135,0,0,0,1,256,66); INSERT INTO `mob_pools` VALUES (1516,'Ghost_Crab_fished','Ghost_Crab',77,0x0000640100000000000000000000000000000000,7,7,4,240,100,0,1,0,0,4,0,0,0,3,0,0,0,1,0,77); INSERT INTO `mob_pools` VALUES (1517,'Ghoul','Ghoul',227,0x00003C0200000000000000000000000000000000,1,1,5,240,100,0,1,0,0,0,0,0,344,131,0,0,0,1,0,227); INSERT INTO `mob_pools` VALUES (1518,'Ghoul','Ghoul',227,0x0000340200000000000000000000000000000000,4,4,10,240,100,0,1,0,0,0,0,0,344,131,0,0,28,1,0,227); @@ -1713,7 +1713,7 @@ INSERT INTO `mob_pools` VALUES (1652,'Goblin_Draftee','Goblin_Draftee',133,0x000 INSERT INTO `mob_pools` VALUES (1653,'Goblin_Duelist','Goblin_Duelist',133,0x0000E90100000000000000000000000000000000,5,5,3,240,100,0,1,0,1,0,0,0,0,3,0,0,3,1,0,133); INSERT INTO `mob_pools` VALUES (1654,'Goblin_Enchanter','Goblin_Enchanter',133,0x0000F80100000000000000000000000000000000,5,5,3,240,100,0,1,0,1,0,0,0,139,131,0,0,3,1,0,133); INSERT INTO `mob_pools` VALUES (1655,'Goblin_Enforcer','Goblin_Enforcer',133,0x0000420400000000000000000000000000000000,5,5,11,240,100,0,1,1,1,2,0,0,0,0,0,0,3,1,0,133); -INSERT INTO `mob_pools` VALUES (1656,'Goblin_Fencer','Goblin_Fencer',133,0x0000F80100000000000000000000000000000000,5,5,3,240,100,0,1,1,1,2,0,0,944,133,0,0,3,1,0,133); +INSERT INTO `mob_pools` VALUES (1656,'Goblin_Fencer','Goblin_Fencer',133,0x0000F80100000000000000000000000000000000,5,5,3,240,100,0,1,1,1,18,0,0,944,133,0,0,3,1,256,133); INSERT INTO `mob_pools` VALUES (1657,'Goblin_Field_Doctor','Goblin_Field_Doctor',133,0x0000ED0100000000000000000000000000000000,3,3,12,240,100,0,1,0,1,0,0,0,0,0,0,0,1,1,0,133); INSERT INTO `mob_pools` VALUES (1658,'Goblin_Fireman','Goblin_Fireman',133,0x0000CB0200000000000000000000000000000000,1,1,4,240,100,0,1,0,1,0,0,0,185,131,0,0,0,1,0,133); INSERT INTO `mob_pools` VALUES (1659,'Goblin_Fisher','Goblin_Fisher',133,0x0000EC0100000000000000000000000000000000,1,1,5,240,100,0,1,0,1,0,0,0,829,129,0,0,0,1,0,133); @@ -1771,7 +1771,7 @@ INSERT INTO `mob_pools` VALUES (1710,'Goblin_Shaman','Goblin_Shaman',133,0x0000E INSERT INTO `mob_pools` VALUES (1711,'Goblin_Shepherd','Goblin_Shepherd',133,0x0000FA0100000000000000000000000000000000,9,9,5,240,100,0,1,0,1,0,0,0,310,133,0,0,0,1,0,133); INSERT INTO `mob_pools` VALUES (1712,'Goblin_Shovelman','Goblin_Shovelman',133,0x0000A10200000000000000000000000000000000,11,11,2,240,100,0,1,0,1,0,0,0,184,131,0,0,0,1,0,133); INSERT INTO `mob_pools` VALUES (1713,'Goblin_Skirmisher','Goblin_Skirmisher',133,0x0000670500000000000000000000000000000000,11,11,2,240,100,0,1,0,1,0,0,0,261,129,0,0,0,1,0,133); -INSERT INTO `mob_pools` VALUES (1714,'Goblin_Slaughterman','Goblin_Slaughterman',133,0x0000BC0200000000000000000000000000000000,1,1,11,240,100,0,1,1,1,2,0,0,4803,133,0,0,0,1,0,133); +INSERT INTO `mob_pools` VALUES (1714,'Goblin_Slaughterman','Goblin_Slaughterman',133,0x0000BC0200000000000000000000000000000000,1,1,11,240,100,0,1,1,1,18,0,0,4803,133,0,0,0,1,256,133); INSERT INTO `mob_pools` VALUES (1715,'Goblin_Smithy','Goblin_Smithy',133,0x0000F10100000000000000000000000000000000,1,1,4,240,100,0,1,0,1,0,0,0,128,131,0,0,0,1,0,133); INSERT INTO `mob_pools` VALUES (1716,'Goblin_Statue','Goblin_Statue',92,0x0000260400000000000000000000000000000000,3,3,11,240,100,0,1,0,1,2,1023,0,7,647,0,0,40,1,0,92); INSERT INTO `mob_pools` VALUES (1717,'Goblin_Swindler','Goblin_Swindler',133,0x0000FB0100000000000000000000000000000000,6,6,2,240,100,0,1,0,1,0,0,0,0,3,0,0,0,1,0,133); @@ -1793,14 +1793,14 @@ INSERT INTO `mob_pools` VALUES (1732,'Goblins_Spider','Goblins_Spider',235,0x000 INSERT INTO `mob_pools` VALUES (1733,'Goblins_Tiger','Goblins_Tiger',242,0x0000340100000000000000000000000000000000,1,1,7,240,100,0,0,0,0,0,0,0,0,0,0,0,0,1,0,242); INSERT INTO `mob_pools` VALUES (1734,'Goblin_Tamer','Goblin_Tamer',133,0x0000FA0100000000000000000000000000000000,9,9,5,240,100,0,1,0,1,0,0,0,245,133,0,0,0,1,0,133); INSERT INTO `mob_pools` VALUES (1735,'Goblin_Thespian','Goblin_Thespian',133,0x0000E90100000000000000000000000000000000,5,5,3,240,100,0,1,0,1,0,0,0,0,3,0,0,3,1,0,133); -INSERT INTO `mob_pools` VALUES (1736,'Goblin_Theurgist','Goblin_Theurgist',133,0x0000EE0100000000000000000000000000000000,4,4,11,240,100,0,1,1,1,2,0,0,165,133,0,0,2,1,0,133); +INSERT INTO `mob_pools` VALUES (1736,'Goblin_Theurgist','Goblin_Theurgist',133,0x0000EE0100000000000000000000000000000000,4,4,11,240,100,0,1,1,1,18,0,0,165,133,0,0,2,1,256,133); INSERT INTO `mob_pools` VALUES (1737,'Goblin_Thug','Goblin_Thug',133,0x0000E40100000000000000000000000000000000,6,6,2,240,100,0,1,0,1,0,0,0,258,129,0,0,0,1,0,133); INSERT INTO `mob_pools` VALUES (1738,'Goblin_Tinkerer','Goblin_Tinkerer',133,0x0000EB0100000000000000000000000000000000,8,8,3,240,100,0,1,0,1,0,0,0,1382,131,0,0,5,1,0,133); INSERT INTO `mob_pools` VALUES (1739,'Goblin_Tollman','Goblin_Tollman',133,0x0000A10200000000000000000000000000000000,9,9,2,240,100,0,1,0,1,0,0,0,185,131,0,0,0,1,0,133); INSERT INTO `mob_pools` VALUES (1740,'Goblin_Toxophilite','Goblin_Toxophilite',133,0x0000670500000000000000000000000000000000,11,11,2,240,100,0,1,0,1,0,0,0,1152,131,0,0,0,1,0,133); INSERT INTO `mob_pools` VALUES (1741,'Goblin_Trader','Goblin_Trader',133,0x0000F20100000000000000000000000000000000,9,9,5,240,100,0,1,0,1,0,0,0,537,131,0,0,0,1,0,133); INSERT INTO `mob_pools` VALUES (1742,'Goblin_Veterinarian','Goblin_Veterinarian',133,0x0000FA0100000000000000000000000000000000,9,9,5,240,100,0,1,0,1,0,0,0,73,133,0,0,0,1,0,133); -INSERT INTO `mob_pools` VALUES (1743,'Goblin_Warlord','Goblin_Warlord',133,0x0000F50100000000000000000000000000000000,8,8,4,240,100,0,1,1,1,2,0,0,3069,133,0,0,5,1,0,133); +INSERT INTO `mob_pools` VALUES (1743,'Goblin_Warlord','Goblin_Warlord',133,0x0000F50100000000000000000000000000000000,8,8,4,240,100,0,1,1,1,18,0,0,3069,133,0,0,5,1,256,133); INSERT INTO `mob_pools` VALUES (1744,'Goblin_Weaver','Goblin_Weaver',133,0x0000E90100000000000000000000000000000000,5,5,2,240,100,0,1,0,1,0,0,0,394,129,0,0,3,1,0,133); INSERT INTO `mob_pools` VALUES (1745,'Goblin_Welldigger','Goblin_Welldigger',133,0x0000F60100000000000000000000000000000000,6,6,2,240,100,0,1,0,1,0,0,0,918,131,0,0,0,1,0,133); INSERT INTO `mob_pools` VALUES (1746,'Goblin_Wolfman','Goblin_Wolfman',133,0x0000CE0200000000000000000000000000000000,8,8,3,240,100,0,1,0,1,2,0,0,429,133,0,0,5,1,0,133); @@ -1816,7 +1816,7 @@ INSERT INTO `mob_pools` VALUES (1755,'Goliath_Beetle','Goliath_Beetle',49,0x0000 INSERT INTO `mob_pools` VALUES (1756,'Goobbue','Goobbue',136,0x0000280100000000000000000000000000000000,1,1,12,320,100,0,1,0,0,0,0,0,505,131,0,0,0,1,0,136); INSERT INTO `mob_pools` VALUES (1757,'Goobbue_Farmer','Goobbue_Farmer',136,0x0000280100000000000000000000000000000000,1,1,12,320,100,0,1,0,0,0,0,0,608,131,0,0,0,1,0,136); INSERT INTO `mob_pools` VALUES (1758,'Goobbue_Gardener','Goobbue_Gardener',136,0x0000280100000000000000000000000000000000,1,1,12,320,100,0,1,0,1,0,0,0,1317,131,0,0,0,1,0,136); -INSERT INTO `mob_pools` VALUES (1759,'Goobbue_Harvester','Goobbue_Harvester',136,0x0000280100000000000000000000000000000000,1,1,12,320,100,0,1,1,1,2,0,0,441,135,0,0,0,1,0,136); +INSERT INTO `mob_pools` VALUES (1759,'Goobbue_Harvester','Goobbue_Harvester',136,0x0000280100000000000000000000000000000000,1,1,12,320,100,0,1,1,1,18,0,0,441,135,0,0,0,1,256,136); INSERT INTO `mob_pools` VALUES (1760,'Goobbue_Parasite','Goobbue_Parasite',172,0x0000150100000000000000000000000000000000,1,1,7,240,100,0,0,0,1,0,0,0,349,131,0,0,0,1,0,172); INSERT INTO `mob_pools` VALUES (1761,'Goobbue_Wanderer','Goobbue_Wanderer',136,0x0000280100000000000000000000000000000000,1,1,12,320,100,0,1,0,1,2,0,0,0,0,0,0,0,1,0,136); INSERT INTO `mob_pools` VALUES (1762,'Goo_Pake_the_Bloodhound','Goo_Pake_the_Bloodhound',360,0x00004C0200000000000000000000000000000000,13,13,2,240,100,0,1,1,1,0,0,0,0,0,0,0,7,1,0,360); @@ -1828,7 +1828,7 @@ INSERT INTO `mob_pools` VALUES (1767,'Gore_Demon','Gore_Demon',169,0x0000E402000 INSERT INTO `mob_pools` VALUES (1768,'Gorger','Gorger',138,0x00006B0400000000000000000000000000000000,8,8,3,240,100,0,1,1,1,0,0,0,238,131,0,0,5,1,0,137); INSERT INTO `mob_pools` VALUES (1769,'Gorgimera','Gorgimera',168,0x00000D0700000000000000000000000000000000,1,1,7,320,100,0,1,1,1,16,1,0,0,3,0,0,0,1,0,168); INSERT INTO `mob_pools` VALUES (1770,'Gorgotaur','Gorgotaur',240,0x00004F0500000000000000000000000000000000,1,1,0,200,100,0,1,1,1,0,0,0,238,131,0,0,0,1,0,240); -INSERT INTO `mob_pools` VALUES (1771,'Gorynich','Gorynich',266,0x00008E0100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,16,0,0,2881,131,0,0,0,1,0,266); +INSERT INTO `mob_pools` VALUES (1771,'Gorynich','Gorynich',266,0x00008E0100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,16,0,0,2881,131,0,0,0,1,256,266); INSERT INTO `mob_pools` VALUES (1772,'Gosspix_Blabberlips','Gosspix_Blabberlips',373,0x00003F0400000000000000000000000000000000,5,5,3,240,100,0,1,0,1,2,0,32,0,159,0,0,3,1,0,373); INSERT INTO `mob_pools` VALUES (1773,'Gotoh_Zha_the_Redolent','Gotoh_Zha_the_Redolent',305,0x0000670600000000000000000000000000000000,4,3,5,280,100,0,1,1,1,2,16,0,0,0,0,0,296,1,0,305); INSERT INTO `mob_pools` VALUES (1774,'Goublefaupe','Goublefaupe',359,0x0500DA0100000000000000000000000000000000,1,1,3,240,100,0,1,1,1,2,513,32,363,157,0,0,0,1,0,359); @@ -1854,7 +1854,7 @@ INSERT INTO `mob_pools` VALUES (1793,'Grauberg_Hippogryph','Grauberg_Hippogryph' INSERT INTO `mob_pools` VALUES (1794,'Graupel_Gigas','Graupel_Gigas',126,0x0000C50200000000000000000000000000000000,2,2,1,480,100,0,1,0,1,0,0,0,819,131,0,0,0,1,0,126); INSERT INTO `mob_pools` VALUES (1795,'Gravemaker_Mesmerizer','Gravemaker_Mesmerizer',334,0x0000740200000000000000000000000000000000,4,4,5,240,100,0,1,0,1,0,0,0,7,129,0,0,2,1,0,334); INSERT INTO `mob_pools` VALUES (1796,'Grave_Bat','Grave_Bat',46,0x0000000100000000000000000000000000000000,1,1,11,240,100,0,1,0,1,0,0,0,1129,641,0,0,0,1,0,46); -INSERT INTO `mob_pools` VALUES (1797,'Grave_Digger','Grave_Digger',74,0x0000530500000000000000000000000000000000,4,4,12,290,100,0,1,1,1,2,0,0,2639,135,0,0,2,1,0,74); +INSERT INTO `mob_pools` VALUES (1797,'Grave_Digger','Grave_Digger',74,0x0000530500000000000000000000000000000000,4,4,12,290,100,0,1,1,1,18,0,0,2639,135,0,0,2,1,256,74); INSERT INTO `mob_pools` VALUES (1798,'Grav_iton','Grav_iton',282,0x0000D70400000000000000000000000000000000,6,6,2,240,100,0,1,0,1,18,1,32,0,0,0,0,0,1,0,282); INSERT INTO `mob_pools` VALUES (1799,'Greatclaw','Greatclaw',77,0x0000640100000000000000000000000000000000,7,7,4,240,100,0,1,0,0,0,0,0,0,3,0,0,0,1,0,77); INSERT INTO `mob_pools` VALUES (1800,'Greater_Amphiptere','Greater_Amphiptere',6,0x0000AE0800000000000000000000000000000000,1,1,0,240,100,0,1,1,0,2,0,0,1,131,1,1,0,1,1024,6); @@ -1875,12 +1875,12 @@ INSERT INTO `mob_pools` VALUES (1814,'Grimbolt_Onkzok','Grimbolt_Onkzok',334,0x0 INSERT INTO `mob_pools` VALUES (1815,'Grimgerde','Grimgerde',115,0x05005A0700000000000000000000000000000000,1,10,7,240,100,0,1,0,1,8,0,0,0,3,0,0,0,1,0,115); INSERT INTO `mob_pools` VALUES (1816,'Grimoire_Guru_Grimogek','Grimoire_Guru_Grimogek',184,0x0000B70200000000000000000000000000000000,4,4,5,240,100,0,1,0,1,0,0,0,0,0,0,0,2,1,0,184); INSERT INTO `mob_pools` VALUES (1817,'Grindylow','Grindylow',77,0x0000640100000000000000000000000000000000,7,7,4,240,100,0,1,0,0,4,0,0,0,3,0,0,0,1,0,77); -INSERT INTO `mob_pools` VALUES (1818,'Grognard_Footsoldier','Grognard_Footsoldier',334,0x0000730200000000000000000000000000000000,1,1,2,240,100,0,1,1,1,0,0,0,1222,131,0,0,0,1,0,334); -INSERT INTO `mob_pools` VALUES (1819,'Grognard_Grappler','Grognard_Grappler',334,0x0000770200000000000000000000000000000000,2,2,1,480,100,0,1,1,1,0,0,0,982,131,0,0,0,1,0,334); -INSERT INTO `mob_pools` VALUES (1820,'Grognard_Impaler','Grognard_Impaler',334,0x00007C0200000000000000000000000000000000,14,14,8,240,100,0,1,1,1,0,0,0,2778,131,0,0,0,1,0,334); -INSERT INTO `mob_pools` VALUES (1821,'Grognard_Mesmerizer','Grognard_Mesmerizer',334,0x00007D0200000000000000000000000000000000,4,4,5,240,100,0,1,1,1,0,0,0,2673,131,0,0,2,1,0,334); -INSERT INTO `mob_pools` VALUES (1822,'Grognard_Neckchopper','Grognard_Neckchopper',334,0x0000760200000000000000000000000000000000,8,8,5,240,100,0,1,1,1,0,0,0,547,131,0,0,5,1,0,334); -INSERT INTO `mob_pools` VALUES (1823,'Grognard_Predator','Grognard_Predator',334,0x0000720200000000000000000000000000000000,11,11,5,240,100,0,1,1,1,0,0,0,1433,131,0,0,0,1,0,334); +INSERT INTO `mob_pools` VALUES (1818,'Grognard_Footsoldier','Grognard_Footsoldier',334,0x0000730200000000000000000000000000000000,1,1,2,240,100,0,1,1,1,16,0,0,1222,131,0,0,0,1,256,334); +INSERT INTO `mob_pools` VALUES (1819,'Grognard_Grappler','Grognard_Grappler',334,0x0000770200000000000000000000000000000000,2,2,1,480,100,0,1,1,1,16,0,0,982,131,0,0,0,1,256,334); +INSERT INTO `mob_pools` VALUES (1820,'Grognard_Impaler','Grognard_Impaler',334,0x00007C0200000000000000000000000000000000,14,14,8,240,100,0,1,1,1,16,0,0,2778,131,0,0,0,1,256,334); +INSERT INTO `mob_pools` VALUES (1821,'Grognard_Mesmerizer','Grognard_Mesmerizer',334,0x00007D0200000000000000000000000000000000,4,4,5,240,100,0,1,1,1,16,0,0,2673,131,0,0,2,1,256,334); +INSERT INTO `mob_pools` VALUES (1822,'Grognard_Neckchopper','Grognard_Neckchopper',334,0x0000760200000000000000000000000000000000,8,8,5,240,100,0,1,1,1,16,0,0,547,131,0,0,5,1,256,334); +INSERT INTO `mob_pools` VALUES (1823,'Grognard_Predator','Grognard_Predator',334,0x0000720200000000000000000000000000000000,11,11,5,240,100,0,1,1,1,16,0,0,1433,131,0,0,0,1,256,334); INSERT INTO `mob_pools` VALUES (1824,'Groot_Slang','Groot_Slang',192,0x0000DF0700000000000000000000000000000000,1,1,7,240,100,0,1,0,1,0,0,0,0,3,0,0,0,1,0,192); INSERT INTO `mob_pools` VALUES (1825,'Grotto_Bats','Grotto_Bats',47,0x0000040100000000000000000000000000000000,1,1,11,240,100,0,1,0,1,0,0,64,336,643,0,0,0,1,0,47); INSERT INTO `mob_pools` VALUES (1826,'Grotto_Pugil','Grotto_Pugil',197,0x00005C0100000000000000000000000000000000,1,1,7,240,100,0,1,0,0,0,0,0,193,131,0,0,0,1,0,197); @@ -1998,7 +1998,7 @@ INSERT INTO `mob_pools` VALUES (1937,'Hetairoi_Vuryargur','Hetairoi_Vuryargur',2 INSERT INTO `mob_pools` VALUES (1938,'Hetairoi_Zarwarkur','Hetairoi_Zarwarkur',246,0x0600950600000000000000000000000000000000,5,5,4,230,100,0,1,0,1,0,0,0,0,3,0,0,3,1,0,246); INSERT INTO `mob_pools` VALUES (1939,'Hexenpilz','Hexenpilz',116,0x0000C90800000000000000000000000000000000,1,8,6,240,100,0,0,0,1,2,0,0,0,0,0,0,0,1,0,800); INSERT INTO `mob_pools` VALUES (1940,'He_Dho_Spatesurge','He_Dho_Spatesurge',200,0x00009A0200000000000000000000000000000000,1,1,0,0,100,0,0,0,0,0,0,0,0,0,0,0,0,1,0,200); -INSERT INTO `mob_pools` VALUES (1941,'Hieracosphinx','Hieracosphinx',179,0x0000920100000000000000000000000000000000,1,1,7,360,100,0,1,0,0,16,0,0,6,135,0,0,0,1,0,179); +INSERT INTO `mob_pools` VALUES (1941,'Hieracosphinx','Hieracosphinx',179,0x0000920100000000000000000000000000000000,1,1,7,360,100,0,1,0,0,16,0,0,6,135,8,0,0,1,0,179); INSERT INTO `mob_pools` VALUES (1942,'Highland_Rafflesia','Highland_Rafflesia',207,0x0000E80700000000000000000000000000000000,9,8,7,240,100,0,1,0,1,0,0,0,0,0,0,0,0,1,0,207); INSERT INTO `mob_pools` VALUES (1943,'Highland_Treant','Highland_Treant',245,0x0000840100000000000000000000000000000000,1,1,8,240,100,0,1,0,0,0,0,0,1,133,0,0,0,1,0,245); INSERT INTO `mob_pools` VALUES (1944,'Hildesvini','Hildesvini',180,0x0000CA0600000000000000000000000000000000,1,1,7,320,100,0,1,1,1,16,0,0,0,3,0,0,0,1,0,180); @@ -2139,7 +2139,7 @@ INSERT INTO `mob_pools` VALUES (2078,'Inferno_Demon','Inferno_Demon',169,0x0000A INSERT INTO `mob_pools` VALUES (2079,'Ingaevon','Ingaevon',126,0x0000C70200000000000000000000000000000000,11,1,1,240,100,0,1,1,1,2,0,32,3306,1181,0,0,0,1,0,126); INSERT INTO `mob_pools` VALUES (2080,'Ingester','Ingester',138,0x0000740400000000000000000000000000000000,8,8,3,240,100,0,1,1,1,16,0,0,0,0,0,0,5,1,0,138); INSERT INTO `mob_pools` VALUES (2081,'Ingurgitator','Ingurgitator',138,0x00006D0400000000000000000000000000000000,1,1,3,240,100,0,1,1,0,16,0,0,324,1153,0,0,0,1,0,138); -INSERT INTO `mob_pools` VALUES (2082,'Inhumer','Inhumer',227,0x0000340200000000000000000000000000000000,4,4,10,240,100,0,1,1,1,16,0,0,6772,1155,0,0,28,1,0,227); +INSERT INTO `mob_pools` VALUES (2082,'Inhumer','Inhumer',227,0x0000340200000000000000000000000000000000,4,4,10,240,100,0,1,1,1,16,0,0,6772,1155,0,0,28,1,256,227); INSERT INTO `mob_pools` VALUES (2083,'Intulo','Intulo',98,0x0000450500000000000000000000000000000000,1,1,8,210,100,0,0,0,1,2,0,32,1203,1181,0,0,0,1,0,98); INSERT INTO `mob_pools` VALUES (2084,'Inugami','Inugami',143,0x00006C0100000000000000000000000000000000,1,1,3,240,100,0,1,0,0,0,0,0,0,0,0,0,0,1,0,143); INSERT INTO `mob_pools` VALUES (2085,'Invincible_Shield','Invincible_Shield',146,0x0100030802100220023015400250616121700080,1,1,5,240,100,0,0,0,0,0,0,0,0,3,0,0,0,1,0,146); @@ -2206,10 +2206,10 @@ INSERT INTO `mob_pools` VALUES (2145,'Jeduah','Jeduah',178,0x0000C70800000000000 INSERT INTO `mob_pools` VALUES (2146,'Jelly','Jelly',229,0x0000240100000000000000000000000000000000,1,1,7,240,100,0,1,0,0,0,0,0,6180,643,0,0,0,1,0,229); INSERT INTO `mob_pools` VALUES (2147,'Jeumouque_B_D_Aurphe','Jeumouque_B_D_Aurphe',222,0x0000220200000000000000000000000000000000,11,1,9,360,100,0,1,1,1,16,0,0,0,0,0,0,0,1,0,898); INSERT INTO `mob_pools` VALUES (2148,'Jeunoraider_Gepkzip','Jeunoraider_Gepkzip',334,0x0000160400000000000000000000000000000000,13,13,10,240,100,0,1,0,1,2,0,32,2041,159,0,0,7,1,0,334); -INSERT INTO `mob_pools` VALUES (2149,'Jidra','Jidra',245,0x0000840100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,16,0,0,659,135,0,0,0,1,0,245); +INSERT INTO `mob_pools` VALUES (2149,'Jidra','Jidra',245,0x0000840100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,16,0,0,659,131,0,0,0,1,256,245); INSERT INTO `mob_pools` VALUES (2150,'Jii_Xai_the_Rimebladed','Jii_Xai_the_Rimebladed',360,0x0000350800000000000000000000000000000000,1,1,7,240,100,0,1,0,1,0,0,0,0,0,0,0,0,1,0,360); INSERT INTO `mob_pools` VALUES (2151,'JiFhu_Infiltrator','JiFhu_Infiltrator',337,0x00001E0400000000000000000000000000000000,6,6,10,265,100,0,1,0,1,2,0,32,0,159,0,0,0,1,0,202); -INSERT INTO `mob_pools` VALUES (2152,'Ji_Gho_Ageless','Ji_Gho_Ageless',202,0x00009C0200000000000000000000000000000000,3,3,3,265,100,0,1,0,1,0,0,0,0,0,0,0,1,1,0,202); +INSERT INTO `mob_pools` VALUES (2152,'Ji_Gho_Ageless','Ji_Gho_Ageless',202,0x00009C0200000000000000000000000000000000,3,3,3,265,100,0,1,1,1,16,0,32,0,157,0,0,1,1,256,202); INSERT INTO `mob_pools` VALUES (2153,'JiKhu_Towercleaver','JiKhu_Towercleaver',337,0x00001B0400000000000000000000000000000000,12,12,10,265,100,0,1,0,1,2,0,32,0,159,0,0,0,1,0,202); INSERT INTO `mob_pools` VALUES (2154,'Jnun','Jnun',86,0x0000410100000000000000000000000000000000,1,1,3,270,100,0,1,0,12,0,0,0,142,133,0,0,0,1,0,86); INSERT INTO `mob_pools` VALUES (2155,'Jolly_Green','Jolly_Green',136,0x0000280100000000000000000000000000000000,1,1,12,320,100,0,1,0,0,2,0,0,0,3,0,0,0,1,0,136); @@ -2237,7 +2237,7 @@ INSERT INTO `mob_pools` VALUES (2176,'Ka','Ka',221,0x000014020000000000000000000 INSERT INTO `mob_pools` VALUES (2177,'Kadjaya','Kadjaya',149,0x01000B02000087208730AF40A0507B6100000000,6,6,2,240,100,0,0,0,0,0,0,0,0,0,0,0,0,1,0,149); INSERT INTO `mob_pools` VALUES (2178,'Kadraeth_the_Hatespawn','Kadraeth_the_Hatespawn',233,0x0000EF0600000000000000000000000000000000,4,4,12,240,100,0,0,0,0,2,0,0,0,0,0,0,252,1,0,920); INSERT INTO `mob_pools` VALUES (2179,'Kagetora','Kagetora',149,0x01000E0104100420003009401150006000700000,13,13,9,240,100,0,0,0,0,0,0,0,0,3,0,0,7,1,0,149); -INSERT INTO `mob_pools` VALUES (2180,'Kaiser_Behemoth','Kaiser_Behemoth',479,0x0000940100000000000000000000000000000000,1,1,6,380,100,1024,1,1,1,2,0,0,307,133,0,0,126,1,0,479); +INSERT INTO `mob_pools` VALUES (2180,'Kaiser_Behemoth','Kaiser_Behemoth',479,0x0000940100000000000000000000000000000000,1,1,6,380,100,1024,1,1,1,18,0,0,307,133,0,0,126,1,0,479); INSERT INTO `mob_pools` VALUES (2181,'Kalamainu','Kalamainu',174,0x0000490100000000000000000000000000000000,1,1,7,240,100,0,1,0,1,18,1,32,6623,157,0,0,0,1,0,711); INSERT INTO `mob_pools` VALUES (2182,'Kaliya','Kaliya',118,0x0000B10800000000000000000000000000000000,1,1,5,240,100,0,0,0,1,2,0,0,0,3,0,0,0,1,0,118); INSERT INTO `mob_pools` VALUES (2183,'Kampe','Kampe',274,0x0000C30800000000000000000000000000000000,1,1,6,240,100,0,0,0,0,2,0,0,7,669,0,0,0,1,0,865); @@ -2250,7 +2250,7 @@ INSERT INTO `mob_pools` VALUES (2189,'Karababa','Karababa',153,0x05005C070000000 INSERT INTO `mob_pools` VALUES (2190,'Karakul','Karakul',167,0x0000550100000000000000000000000000000000,1,1,0,240,100,0,0,0,0,0,0,0,0,0,0,0,0,1,0,167); INSERT INTO `mob_pools` VALUES (2191,'Karashix_Swollenskull','Karashix_Swollenskull',373,0x00003F0400000000000000000000000000000000,12,12,10,240,100,0,1,0,1,2,0,32,0,159,0,0,0,1,0,373); INSERT INTO `mob_pools` VALUES (2192,'Karazahm','Karazahm',145,0x0500AE0700000000000000000000000000000000,1,1,6,240,100,0,1,1,1,16,0,0,0,3,0,0,0,1,0,145); -INSERT INTO `mob_pools` VALUES (2193,'Kari','Kari',126,0x0000820200000000000000000000000000000000,2,2,1,480,100,0,1,1,1,16,0,32,553,153,0,0,0,1,0,126); +INSERT INTO `mob_pools` VALUES (2193,'Kari','Kari',126,0x0000820200000000000000000000000000000000,2,2,1,480,100,0,1,1,1,16,0,32,553,153,0,0,0,1,256,126); INSERT INTO `mob_pools` VALUES (2194,'Karkadann','Karkadann',39,0x0000B20800000000000000000000000000000000,4,1,12,240,100,0,0,0,0,2,0,0,0,0,0,0,257,1,0,921); INSERT INTO `mob_pools` VALUES (2195,'Karkatakam','Karkatakam',77,0x0000670100000000000000000000000000000000,20,4,11,240,100,0,0,0,0,2,0,0,0,0,0,0,234,1,0,372); INSERT INTO `mob_pools` VALUES (2196,'Karkinos','Karkinos',77,0x0000660100000000000000000000000000000000,1,1,6,240,100,0,0,0,0,2,0,0,0,0,0,0,0,1,0,77); @@ -2268,7 +2268,7 @@ INSERT INTO `mob_pools` VALUES (2207,'Kelp_Kulshedra','Kelp_Kulshedra',218,0x000 INSERT INTO `mob_pools` VALUES (2208,'Kelp_Pugil','Kelp_Pugil',197,0x00005C0100000000000000000000000000000000,1,1,7,240,100,0,1,0,0,0,0,0,0,0,0,0,0,1,0,197); INSERT INTO `mob_pools` VALUES (2209,'Keratyrannos','Keratyrannos',257,0x0000B90800000000000000000000000000000000,1,1,6,200,100,0,0,0,0,2,0,0,0,0,0,0,0,1,0,801); INSERT INTO `mob_pools` VALUES (2210,'Keremet','Keremet',74,0x0000530500000000000000000000000000000000,4,4,11,290,100,0,1,0,0,34,0,0,7,133,0,0,2,1,0,74); -INSERT INTO `mob_pools` VALUES (2211,'Kerkopes','Kerkopes',188,0x0000A00100000000000000000000000000000000,1,1,7,200,100,0,1,1,1,16,0,0,185,1159,0,0,0,1,0,188); +INSERT INTO `mob_pools` VALUES (2211,'Kerkopes','Kerkopes',188,0x0000A00100000000000000000000000000000000,1,1,7,200,100,0,1,1,1,16,0,0,185,1155,0,0,0,1,0,188); INSERT INTO `mob_pools` VALUES (2212,'Ketea','Ketea',0,0x0000000000000000000000000000000000000000,4,6,12,240,100,0,0,0,0,2,0,0,0,0,0,0,2,1,0,0); INSERT INTO `mob_pools` VALUES (2213,'Ketos','Ketos',197,0x00005C0100000000000000000000000000000000,1,1,7,240,100,0,1,0,0,0,0,0,0,3,0,0,0,1,0,197); INSERT INTO `mob_pools` VALUES (2214,'Kettenkaefer','Kettenkaefer',49,0x0000980100000000000000000000000000000000,8,8,3,240,100,0,1,0,0,2,0,0,7,131,0,0,5,1,0,49); @@ -2302,7 +2302,7 @@ INSERT INTO `mob_pools` VALUES (2241,'Kindred_Red_Mage','Kindred_Red_Mage',358,0 INSERT INTO `mob_pools` VALUES (2242,'Kindred_Samurai','Kindred_Samurai',358,0x0000BA0200000000000000000000000000000000,12,12,3,240,100,0,1,0,1,0,0,0,737,131,0,0,0,1,0,358); INSERT INTO `mob_pools` VALUES (2243,'Kindred_Summoner','Kindred_Summoner',358,0x0000F30200000000000000000000000000000000,15,15,7,290,100,0,1,0,1,0,0,0,343,131,0,0,31,1,0,358); INSERT INTO `mob_pools` VALUES (2244,'Kindreds_Avatar','Kindreds_Avatar',34,0x0000170300000000000000000000000000000000,4,4,7,240,100,0,0,0,1,8,0,0,0,131,0,0,0,1,0,34); -INSERT INTO `mob_pools` VALUES (2245,'Kindreds_Elemental','Kindreds_Elemental',100,0x00000F0000000000000000000000000000000000,8,8,11,240,100,0,0,0,1,8,0,0,0,0,0,0,5,1,0,100); +INSERT INTO `mob_pools` VALUES (2245,'Kindreds_Elemental','Kindreds_Elemental',100,0x00000F0000000000000000000000000000000000,8,8,11,240,100,0,0,0,0,8,0,0,0,0,0,0,5,1,0,100); INSERT INTO `mob_pools` VALUES (2246,'Kindreds_Vouivre','Kindreds_Vouivre',267,0x00008E0100000000000000000000000000000000,1,1,7,240,100,0,1,0,1,8,0,0,0,643,0,0,0,1,0,267); INSERT INTO `mob_pools` VALUES (2247,'Kindreds_Wyvern','Kindreds_Wyvern',193,0x0000F90200000000000000000000000000000000,14,14,7,200,100,0,1,0,1,8,0,0,0,131,0,0,0,1,0,714); INSERT INTO `mob_pools` VALUES (2248,'Kindred_Thief','Kindred_Thief',358,0x0000E60200000000000000000000000000000000,6,6,3,240,100,0,1,0,1,0,0,0,735,131,0,0,0,1,0,358); @@ -2336,7 +2336,7 @@ INSERT INTO `mob_pools` VALUES (2275,'Knotty_Treant','Knotty_Treant',245,0x00008 INSERT INTO `mob_pools` VALUES (2276,'Koenigstiger','Koenigstiger',242,0x0000340100000000000000000000000000000000,1,5,7,240,100,0,1,0,1,2,0,0,3127,131,0,0,0,1,0,242); INSERT INTO `mob_pools` VALUES (2277,'Koghatu','Koghatu',1,0x0000F20600000000000000000000000000000000,6,6,2,240,100,0,0,0,0,2,0,0,7,157,0,0,0,1,0,966); INSERT INTO `mob_pools` VALUES (2278,'Koios','Koios',45,0x00001A0300000000000000000000000000000000,1,1,6,240,100,0,0,0,0,2,0,0,1,157,0,0,0,1,0,45); -INSERT INTO `mob_pools` VALUES (2279,'Koo_Buzu_the_Theomanic','Koo_Buzu_the_Theomanic',360,0x0000540200000000000000000000000000000000,15,15,6,240,100,0,1,1,1,0,0,0,0,0,0,0,30,1,0,360); +INSERT INTO `mob_pools` VALUES (2279,'Koo_Buzu_the_Theomanic','Koo_Buzu_the_Theomanic',360,0x0000540200000000000000000000000000000000,15,15,6,240,100,0,1,1,1,16,0,0,0,0,0,0,30,1,256,360); INSERT INTO `mob_pools` VALUES (2280,'Koo_Rahi_the_Levinblade','Koo_Rahi_the_Levinblade',360,0x00003A0400000000000000000000000000000000,12,12,10,240,100,0,1,0,1,2,0,32,0,159,0,0,0,1,0,360); INSERT INTO `mob_pools` VALUES (2281,'Koo_Saxu_the_Everfast','Koo_Saxu_the_Everfast',360,0x00003C0400000000000000000000000000000000,3,3,3,240,100,0,1,0,1,2,0,32,0,159,0,0,1,1,0,360); INSERT INTO `mob_pools` VALUES (2282,'Korrigan','Korrigan',178,0x00002D0100000000000000000000000000000000,2,2,1,480,100,0,1,0,1,0,0,0,194,133,0,0,0,1,0,178); @@ -2346,7 +2346,7 @@ INSERT INTO `mob_pools` VALUES (2285,'KoDho_Cannonball','KoDho_Cannonball',337,0 INSERT INTO `mob_pools` VALUES (2286,'Kraken','Kraken',218,0x0000600100000000000000000000000000000000,2,2,7,360,100,0,1,0,0,0,0,0,0,3,0,0,0,1,0,218); INSERT INTO `mob_pools` VALUES (2287,'Kreutzet','Kreutzet',125,0x0000500100000000000000000000000000000000,1,1,12,240,100,0,1,0,1,2,0,0,345,133,0,0,0,1,0,1004); INSERT INTO `mob_pools` VALUES (2288,'Krinahal','Krinahal',149,0x0500600700000000000000000000000000000000,16,16,3,240,100,0,1,1,1,8,0,0,1,155,0,0,8,1,0,149); -INSERT INTO `mob_pools` VALUES (2289,'Kronprinz_Behemoth','Kronprinz_Behemoth',51,0x0000940100000000000000000000000000000000,1,1,6,380,100,1024,1,1,1,2,0,0,183,129,0,0,0,1,0,51); +INSERT INTO `mob_pools` VALUES (2289,'Kronprinz_Behemoth','Kronprinz_Behemoth',51,0x0000940100000000000000000000000000000000,1,1,6,380,100,1024,1,1,1,18,0,0,183,129,0,0,0,1,0,51); INSERT INTO `mob_pools` VALUES (2290,'Kudagitsune','Kudagitsune',52,0x0000710100000000000000000000000000000000,4,4,12,240,100,0,1,0,0,16,0,0,1,131,0,0,28,1,0,52); INSERT INTO `mob_pools` VALUES (2291,'Kudjreel','Kudjreel',149,0x0500A80700000000000000000000000000000000,16,2,1,240,100,0,0,0,0,0,0,0,0,3,0,0,8,1,0,149); INSERT INTO `mob_pools` VALUES (2292,'Kuftal_Digger','Kuftal_Digger',258,0x0000A80100000000000000000000000000000000,4,5,7,240,100,0,1,0,1,0,0,0,152,133,0,0,9,1,64,258); @@ -2469,7 +2469,7 @@ INSERT INTO `mob_pools` VALUES (2408,'Lich_C_Magnus','Lich_C_Magnus',227,0x00004 INSERT INTO `mob_pools` VALUES (2409,'Licorice','Licorice',112,0x0000070700000000000000000000000000000000,4,4,11,240,100,0,1,0,0,0,0,0,1,135,0,0,2,1,0,112); INSERT INTO `mob_pools` VALUES (2410,'Lightning_Gremlin','Lightning_Gremlin',110,0x0000D40100000000000000000000000000000000,1,1,3,240,100,0,1,0,1,2,0,0,7926,131,0,0,0,1,0,110); INSERT INTO `mob_pools` VALUES (2411,'Lightning_Wyvern','Lightning_Wyvern',266,0x00008E0100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,0,0,0,46,129,0,0,0,1,0,266); -INSERT INTO `mob_pools` VALUES (2412,'Lightsteel_Quadav','Lightsteel_Quadav',202,0x00008E0200000000000000000000000000000000,7,7,4,265,100,0,1,0,1,0,0,0,2923,131,0,0,4,1,0,202); +INSERT INTO `mob_pools` VALUES (2412,'Lightsteel_Quadav','Lightsteel_Quadav',202,0x00008E0200000000000000000000000000000000,7,7,4,265,100,0,1,1,1,16,0,0,2923,131,0,0,4,1,256,202); INSERT INTO `mob_pools` VALUES (2413,'Light_Elemental','Light_Elemental',104,0x00000E0000000000000000000000000000000000,3,3,11,240,100,0,1,0,0,0,0,0,1710,131,0,0,19,1,0,104); INSERT INTO `mob_pools` VALUES (2414,'Likho','Likho',4,0x0000080100000000000000000000000000000000,4,4,12,240,100,0,1,0,1,2,23,0,0,0,0,0,237,1,0,53); INSERT INTO `mob_pools` VALUES (2415,'Lilisette','Lilisette',484,0x00008F0800000000000000000000000000000000,19,19,2,240,100,0,0,0,0,0,0,0,3,1,0,0,0,1,0,484); @@ -2691,7 +2691,7 @@ INSERT INTO `mob_pools` VALUES (2630,'Merrow_Typhoondancer','Merrow_Typhoondance INSERT INTO `mob_pools` VALUES (2631,'Merrow_Wavedancer','Merrow_Wavedancer',182,0x0600840600000000000000000000000000000000,17,17,3,240,100,0,1,0,1,0,0,0,132,517,0,0,0,1,0,182); INSERT INTO `mob_pools` VALUES (2632,'Mesa_Wivre','Mesa_Wivre',257,0x0000B90800000000000000000000000000000000,1,1,12,240,100,0,1,0,1,0,0,0,0,0,0,0,0,1,0,257); INSERT INTO `mob_pools` VALUES (2633,'Metallic_Slime','Metallic_Slime',229,0x0000240100000000000000000000000000000000,1,1,7,240,100,0,1,0,0,0,0,0,7,131,0,0,0,1,0,229); -INSERT INTO `mob_pools` VALUES (2634,'Metalloid_Amoeba','Metalloid_Amoeba',229,0x0000240100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,0,0,0,4652,643,0,0,0,1,0,229); +INSERT INTO `mob_pools` VALUES (2634,'Metalloid_Amoeba','Metalloid_Amoeba',229,0x0000240100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,16,0,0,4652,643,8,0,0,1,256,229); INSERT INTO `mob_pools` VALUES (2635,'Metal_Crab','Metal_Crab',77,0x0000640100000000000000000000000000000000,7,7,4,240,100,0,1,0,1,16,0,0,0,3,0,0,0,1,0,77); INSERT INTO `mob_pools` VALUES (2636,'Metaquadav_Black_Mage','Metaquadav_Black_Mage',202,0x00009D0200000000000000000000000000000000,4,4,6,265,100,0,1,0,1,0,0,0,0,3,0,0,2,1,0,202); INSERT INTO `mob_pools` VALUES (2637,'Metaquadav_Dark_Knight','Metaquadav_Dark_Knight',202,0x00008F0200000000000000000000000000000000,8,8,5,265,100,0,1,0,1,0,0,0,0,3,0,0,5,1,0,202); @@ -2718,7 +2718,7 @@ INSERT INTO `mob_pools` VALUES (2657,'Mikiluru','Mikiluru',196,0x000014070000000 INSERT INTO `mob_pools` VALUES (2658,'Mikirulu','Mikirulu',196,0x0000140700000000000000000000000000000000,4,4,7,150,100,0,0,0,1,8,0,0,0,3,0,0,2,1,0,196); INSERT INTO `mob_pools` VALUES (2659,'Mikiruru','Mikiruru',196,0x0000140700000000000000000000000000000000,4,4,7,150,100,0,0,0,1,8,0,0,0,3,0,0,2,1,0,196); INSERT INTO `mob_pools` VALUES (2660,'Mildaunegeux','Mildaunegeux',359,0x0500D90100000000000000000000000000000000,1,1,1,180,100,0,1,1,1,2,513,32,231,157,0,0,0,1,0,359); -INSERT INTO `mob_pools` VALUES (2661,'Millenary_Mossback','Millenary_Mossback',2,0x0000900100000000000000000000000000000000,1,1,7,380,100,0,1,1,1,0,0,0,7,133,0,0,0,1,0,2); +INSERT INTO `mob_pools` VALUES (2661,'Millenary_Mossback','Millenary_Mossback',2,0x0000900100000000000000000000000000000000,1,1,7,380,100,0,1,1,1,16,0,0,7,133,0,0,0,1,256,2); INSERT INTO `mob_pools` VALUES (2662,'Million_Eyes','Million_Eyes',139,0x0000800100000000000000000000000000000000,4,4,12,280,100,0,1,0,0,0,0,0,151,133,0,0,10,1,0,139); INSERT INTO `mob_pools` VALUES (2663,'Mimas','Mimas',126,0x0000D00200000000000000000000000000000000,1,2,6,240,100,0,1,0,1,2,0,32,178,159,0,0,0,1,0,126); INSERT INTO `mob_pools` VALUES (2664,'Mimic','Mimic',183,0x0000030100000000000000000000000000000000,1,1,7,170,100,0,1,0,0,2,0,0,0,3,0,0,0,1,0,183); @@ -2748,7 +2748,7 @@ INSERT INTO `mob_pools` VALUES (2687,'Moblin_Chapman','Moblin_Chapman',184,0x000 INSERT INTO `mob_pools` VALUES (2688,'Moblin_Clergyman','Moblin_Clergyman',184,0x0000B00200000000000000000000000000000000,3,3,3,240,100,0,1,0,1,0,0,0,6,131,0,0,1,1,0,184); INSERT INTO `mob_pools` VALUES (2689,'Moblin_Coalman','Moblin_Coalman',184,0x0000B50200000000000000000000000000000000,4,4,9,240,100,0,1,0,1,0,0,0,521,131,0,0,2,1,0,184); INSERT INTO `mob_pools` VALUES (2690,'Moblin_Draftsman','Moblin_Draftsman',184,0x0000B30200000000000000000000000000000000,4,4,5,240,100,0,1,0,1,0,0,0,86,131,0,0,2,1,0,184); -INSERT INTO `mob_pools` VALUES (2691,'Moblin_Dustman','Moblin_Dustman',184,0x0000B80200000000000000000000000000000000,5,5,4,240,100,0,1,0,1,0,0,0,997,129,0,0,3,1,0,184); +INSERT INTO `mob_pools` VALUES (2691,'Moblin_Dustman','Moblin_Dustman',184,0x0000B80200000000000000000000000000000000,5,5,4,240,100,0,1,1,1,16,0,0,997,129,0,0,3,1,256,184); INSERT INTO `mob_pools` VALUES (2692,'Moblin_Engineman','Moblin_Engineman',184,0x0000B70200000000000000000000000000000000,4,4,5,240,100,0,1,0,1,0,0,0,0,3,0,0,2,1,0,184); INSERT INTO `mob_pools` VALUES (2693,'Moblin_Fantocciniman','Moblin_Fantocciniman',184,0x0000B30200000000000000000000000000000000,1,1,4,240,100,0,1,0,1,0,0,0,6,2177,0,0,0,1,0,184); INSERT INTO `mob_pools` VALUES (2694,'Moblin_Gasman','Moblin_Gasman',184,0x0000B00200000000000000000000000000000000,3,3,3,240,100,0,1,0,1,0,0,0,186,131,0,0,1,1,0,184); @@ -2814,7 +2814,7 @@ INSERT INTO `mob_pools` VALUES (2753,'Mosshorn','Mosshorn',208,0x000058010000000 INSERT INTO `mob_pools` VALUES (2754,'Moss_Eater','Moss_Eater',206,0x00000D0100000000000000000000000000000000,6,6,7,240,100,0,0,0,1,0,0,0,164,131,0,0,0,1,0,206); INSERT INTO `mob_pools` VALUES (2755,'Mother_Globe','Mother_Globe',234,0x00003B0100000000000000000000000000000000,1,4,7,240,100,0,1,0,0,2,0,0,177,135,0,0,41,1,0,234); INSERT INTO `mob_pools` VALUES (2756,'Motsognir','Motsognir',90,0x00002F0700000000000000000000000000000000,4,4,12,240,100,0,1,0,1,16,0,0,0,3,0,0,2,1,0,90); -INSERT INTO `mob_pools` VALUES (2757,'Mountain_Buffalo','Mountain_Buffalo',57,0x00004D0500000000000000000000000000000000,1,8,6,360,100,0,1,1,1,2,0,0,563,131,0,0,0,1,0,57); +INSERT INTO `mob_pools` VALUES (2757,'Mountain_Buffalo','Mountain_Buffalo',57,0x00004D0500000000000000000000000000000000,1,8,6,360,100,0,1,1,1,18,0,0,563,131,0,0,0,1,256,57); INSERT INTO `mob_pools` VALUES (2758,'Mountain_Clot','Mountain_Clot',66,0x0000260100000000000000000000000000000000,1,1,11,240,100,0,1,0,0,0,0,0,302,131,0,0,0,1,0,66); INSERT INTO `mob_pools` VALUES (2759,'Mountain_Jubjub','Mountain_Jubjub',55,0x0000BD0100000000000000000000000000000000,1,1,2,240,100,0,0,0,1,0,0,0,607,131,0,0,0,1,0,55); INSERT INTO `mob_pools` VALUES (2760,'Mountain_Scolopendrid','Mountain_Scolopendrid',217,0x0000C30800000000000000000000000000000000,1,1,7,280,100,0,1,0,1,0,0,0,825,133,0,0,0,1,0,217); @@ -2872,7 +2872,7 @@ INSERT INTO `mob_pools` VALUES (2811,'Nasus','Nasus',48,0x0000110100000000000000 INSERT INTO `mob_pools` VALUES (2812,'Natrix','Natrix',164,0x0000040700000000000000000000000000000000,1,1,7,240,100,0,1,1,0,2,0,0,1,135,0,0,0,1,0,164); INSERT INTO `mob_pools` VALUES (2813,'Naul','Naul',260,0x00004F0900000000000000000000000000000000,1,1,6,240,100,0,1,0,0,0,0,0,0,0,0,0,0,1,0,260); INSERT INTO `mob_pools` VALUES (2814,'NaHya_Floodmaker','NaHya_Floodmaker',337,0x00001D0400000000000000000000000000000000,5,5,3,265,100,0,1,0,1,2,0,32,0,159,0,0,3,1,0,202); -INSERT INTO `mob_pools` VALUES (2815,'Na_Qba_Chirurgeon','Na_Qba_Chirurgeon',202,0x00009C0200000000000000000000000000000000,3,3,3,265,100,0,1,0,1,2,0,0,0,0,0,0,1,1,0,202); +INSERT INTO `mob_pools` VALUES (2815,'Na_Qba_Chirurgeon','Na_Qba_Chirurgeon',202,0x00009C0200000000000000000000000000000000,3,3,3,265,100,0,1,0,1,18,0,32,0,159,0,0,1,1,256,202); INSERT INTO `mob_pools` VALUES (2816,'Nebiross_Avatar','Nebiross_Avatar',34,0x00001C0300000000000000000000000000000000,4,4,7,240,100,0,0,0,1,8,0,0,0,3,0,0,0,1,0,34); INSERT INTO `mob_pools` VALUES (2817,'Necroplasm','Necroplasm',86,0x0000400100000000000000000000000000000000,1,1,3,270,100,0,1,0,0,2,0,0,7,131,0,0,0,1,0,86); INSERT INTO `mob_pools` VALUES (2818,'Nee_Huxa_the_Judgmental','Nee_Huxa_the_Judgmental',360,0x00003A0400000000000000000000000000000000,8,8,10,240,100,0,1,0,1,2,0,32,0,159,0,0,0,1,0,360); @@ -3109,7 +3109,7 @@ INSERT INTO `mob_pools` VALUES (3048,'Orcs_Wyvern','Orcs_Wyvern',193,0x000018000 INSERT INTO `mob_pools` VALUES (3049,'Orderly_Imp','Orderly_Imp',165,0x0000BE0600000000000000000000000000000000,4,4,7,240,100,0,1,1,1,0,0,0,184,1155,0,0,2,1,0,165); INSERT INTO `mob_pools` VALUES (3050,'Ore_Eater','Ore_Eater',258,0x0000A80100000000000000000000000000000000,4,5,7,240,100,0,0,0,1,0,0,0,271,1155,0,0,9,1,64,258); INSERT INTO `mob_pools` VALUES (3051,'Ore_Golem','Ore_Golem',135,0x0000B00100000000000000000000000000000000,1,1,11,320,100,0,1,0,0,0,0,0,166,1153,0,0,0,1,0,135); -INSERT INTO `mob_pools` VALUES (3052,'Orichalcum_Quadav','Orichalcum_Quadav',202,0x00009C0200000000000000000000000000000000,3,3,3,265,100,0,1,0,1,0,0,0,7,1159,0,0,1,1,0,202); +INSERT INTO `mob_pools` VALUES (3052,'Orichalcum_Quadav','Orichalcum_Quadav',202,0x00009C0200000000000000000000000000000000,3,3,3,265,100,0,1,1,1,16,0,0,7,1159,0,0,1,1,256,202); INSERT INTO `mob_pools` VALUES (3053,'Oriri_Samariri','Oriri_Samariri',196,0x0000150700000000000000000000000000000000,4,4,5,150,100,0,1,1,1,0,0,0,0,3,0,0,2,1,0,196); INSERT INTO `mob_pools` VALUES (3054,'Ormr','Ormr',87,0x0000A40100000000000000000000000000000000,1,1,12,240,100,0,1,1,1,16,0,0,0,3,0,0,0,1,0,87); INSERT INTO `mob_pools` VALUES (3055,'Orna','Orna',110,0x0000A60100000000000000000000000000000000,5,4,3,240,100,0,1,0,1,2,0,0,0,3,0,0,3,1,0,110); @@ -3169,7 +3169,7 @@ INSERT INTO `mob_pools` VALUES (3108,'Peak_Pugil','Peak_Pugil',197,0x00005C01000 INSERT INTO `mob_pools` VALUES (3109,'Peallaidh','Peallaidh',167,0x0000550100000000000000000000000000000000,1,1,7,280,100,0,0,0,1,2,0,0,0,3,0,0,0,1,0,167); INSERT INTO `mob_pools` VALUES (3110,'Peapuk','Peapuk',198,0x0000D10600000000000000000000000000000000,1,1,3,240,100,0,1,0,0,0,0,0,0,0,0,0,0,1,0,198); INSERT INTO `mob_pools` VALUES (3111,'Peerifool','Peerifool',178,0x00002D0100000000000000000000000000000000,2,2,1,480,100,0,1,0,1,2,0,32,2992,157,0,0,0,1,0,178); -INSERT INTO `mob_pools` VALUES (3112,'Pee_Qoho_the_Python','Pee_Qoho_the_Python',360,0x0000540200000000000000000000000000000000,15,15,6,240,100,0,1,1,1,0,0,0,0,0,0,0,30,1,0,360); +INSERT INTO `mob_pools` VALUES (3112,'Pee_Qoho_the_Python','Pee_Qoho_the_Python',360,0x0000540200000000000000000000000000000000,15,15,6,240,100,0,1,1,1,16,0,32,0,159,0,0,30,1,256,360); INSERT INTO `mob_pools` VALUES (3113,'Peg_Powler','Peg_Powler',218,0x0000600100000000000000000000000000000000,2,2,7,360,100,0,1,0,0,2,0,0,0,3,0,0,0,1,0,218); INSERT INTO `mob_pools` VALUES (3114,'Peiste','Peiste',192,0x0000DF0700000000000000000000000000000000,1,1,7,240,100,0,1,0,0,0,0,0,449,131,0,0,0,1,0,192); INSERT INTO `mob_pools` VALUES (3115,'Pelican','Pelican',70,0x0000200100000000000000000000000000000000,1,1,6,240,100,0,1,0,0,2,0,0,0,3,0,0,0,1,0,70); @@ -3217,7 +3217,7 @@ INSERT INTO `mob_pools` VALUES (3156,'Platinum_Quadav','Platinum_Quadav',202,0x0 INSERT INTO `mob_pools` VALUES (3157,'Platoon_Scorpion','Platoon_Scorpion',217,0x00001C0100000000000000000000000000000000,1,1,7,280,100,0,1,1,1,16,0,0,1169,129,0,0,0,1,0,769); INSERT INTO `mob_pools` VALUES (3158,'Plenilune_Ronin','Plenilune_Ronin',360,0x00001F0800000000000000000000000000000000,13,13,2,240,100,0,1,0,1,0,0,0,0,3,0,0,7,1,0,360); INSERT INTO `mob_pools` VALUES (3159,'Plumbago','Plumbago',242,0x0000340100000000000000000000000000000000,1,1,7,240,100,0,1,0,0,0,0,0,1868,133,0,0,0,1,0,242); -INSERT INTO `mob_pools` VALUES (3160,'Pluto','Pluto',86,0x0000400100000000000000000000000000000000,1,1,6,270,100,0,1,1,1,16,0,32,1261,159,0,0,0,1,0,86); +INSERT INTO `mob_pools` VALUES (3160,'Pluto','Pluto',86,0x0000400100000000000000000000000000000000,1,1,6,270,100,0,1,1,1,16,0,32,1261,159,0,0,0,1,256,86); INSERT INTO `mob_pools` VALUES (3161,'Pneumaflayer','Pneumaflayer',233,0x0000EF0600000000000000000000000000000000,4,4,12,240,100,0,1,1,1,0,0,0,0,0,0,0,28,1,0,233); INSERT INTO `mob_pools` VALUES (3162,'Poisonhand_Gnadgad','Poisonhand_Gnadgad',189,0x0000010800000000000000000000000000000000,2,2,1,480,100,0,1,0,1,2,0,32,1099,157,0,0,0,1,0,189); INSERT INTO `mob_pools` VALUES (3163,'Poison_Bat','Poison_Bat',46,0x0000000100000000000000000000000000000000,1,1,11,240,100,0,1,0,0,0,0,0,396,643,0,0,0,1,0,46); @@ -3249,7 +3249,7 @@ INSERT INTO `mob_pools` VALUES (3188,'Porphyrion','Porphyrion',126,0x00008302000 INSERT INTO `mob_pools` VALUES (3189,'Portia','Portia',445,0x01001F020010DB20DB30DB40DB50996199710000,19,19,2,240,100,0,0,0,2,0,0,0,1,537,0,0,0,1,0,445); INSERT INTO `mob_pools` VALUES (3190,'Posten','Posten',234,0x0000210500000000000000000000000000000000,1,1,7,240,100,0,1,0,1,16,0,0,0,3,0,0,0,1,0,234); INSERT INTO `mob_pools` VALUES (3191,'Powderkeg_Yanadahn','Powderkeg_Yanadahn',115,0x05006B0700000000000000000000000000000000,5,5,3,240,100,0,1,0,0,2,0,0,0,3,0,0,3,1,0,115); -INSERT INTO `mob_pools` VALUES (3192,'Praetorian_Guard_CCCXI','Praetorian_Guard_CCCXI',25,0x0000010500000000000000000000000000000000,7,7,3,240,100,0,1,1,1,2,0,0,429,133,0,0,4,1,0,25); +INSERT INTO `mob_pools` VALUES (3192,'Praetorian_Guard_CCCXI','Praetorian_Guard_CCCXI',25,0x0000110500000000000000000000000000000000,7,7,3,240,100,0,1,1,1,18,0,0,429,133,0,0,4,1,256,25); INSERT INTO `mob_pools` VALUES (3193,'Princeps_IV-XLV','Princeps_IV-XLV',25,0x0000120500000000000000000000000000000000,7,7,3,265,100,0,1,0,1,2,0,0,0,3,0,0,4,1,0,25); INSERT INTO `mob_pools` VALUES (3194,'Princeps_V-XI','Princeps_V-XI',25,0x0000F60400000000000000000000000000000000,11,11,2,265,100,0,1,0,1,18,0,0,1143,133,0,0,0,1,0,25); INSERT INTO `mob_pools` VALUES (3195,'Princeps_XIII-LXXXIX','Princeps_XIII-LXXXIX',25,0x0000F60400000000000000000000000000000000,11,11,2,265,100,0,1,0,1,2,0,0,0,3,0,0,0,1,0,25); @@ -3265,8 +3265,8 @@ INSERT INTO `mob_pools` VALUES (3204,'Progenerator','Progenerator',138,0x00006D0 INSERT INTO `mob_pools` VALUES (3205,'Promathia','Promathia',134,0x0000300400000000000000000000000000000000,7,7,3,240,100,0,0,0,0,2,0,32,3979,155,0,0,127,1,0,134); INSERT INTO `mob_pools` VALUES (3206,'Propagator','Propagator',138,0x00006D0400000000000000000000000000000000,1,1,3,240,100,0,1,1,0,2,0,0,2629,135,0,0,0,1,0,138); INSERT INTO `mob_pools` VALUES (3207,'Proteus','Proteus',218,0x0000610100000000000000000000000000000000,2,2,7,360,100,0,1,0,0,2,0,32,236,157,0,0,0,1,0,218); -INSERT INTO `mob_pools` VALUES (3208,'Proto-Omega','Proto-Omega',54,0x0000370400000000000000000000000000000000,1,1,6,240,100,0,1,1,0,2,71,32,2773,157,1,0,0,1,0,727); -INSERT INTO `mob_pools` VALUES (3209,'Proto-Ultima','Proto-Ultima',54,0x0000340400000000000000000000000000000000,1,7,6,240,100,0,1,1,0,2,113,32,7,155,0,0,103,1,0,729); +INSERT INTO `mob_pools` VALUES (3208,'Proto-Omega','Proto-Omega',54,0x0000370400000000000000000000000000000000,1,1,6,240,100,0,1,1,0,18,71,32,2773,157,1,0,0,1,0,727); +INSERT INTO `mob_pools` VALUES (3209,'Proto-Ultima','Proto-Ultima',54,0x0000340400000000000000000000000000000000,1,7,6,240,100,0,1,1,0,18,113,32,7,155,0,0,103,1,256,729); INSERT INTO `mob_pools` VALUES (3210,'Protoamoeban','Protoamoeban',5,0x00005C0900000000000000000000000000000000,4,8,12,240,100,0,1,0,0,0,0,0,0,0,0,0,2,1,0,5); INSERT INTO `mob_pools` VALUES (3211,'Protozoan','Protozoan',229,0x0000240100000000000000000000000000000000,1,1,7,240,100,0,1,0,0,0,0,0,6353,131,0,0,0,1,0,229); INSERT INTO `mob_pools` VALUES (3212,'Provoker','Provoker',220,0x00005D0400000000000000000000000000000000,5,5,7,240,100,0,1,1,1,2,0,0,765,135,0,0,114,1,0,220); @@ -3691,7 +3691,7 @@ INSERT INTO `mob_pools` VALUES (3630,'Simurgh','Simurgh',125,0x00005001000000000 INSERT INTO `mob_pools` VALUES (3631,'Sinister_Seidel','Sinister_Seidel',175,0x00009C0100000000000000000000000000000000,5,5,11,240,100,0,1,0,0,0,0,0,0,0,0,0,36,1,0,175); INSERT INTO `mob_pools` VALUES (3632,'Sippoy','Sippoy',450,0x0000A40800000000000000000000000000000000,2,5,12,360,100,0,0,0,0,2,0,0,0,0,0,0,158,1,0,450); INSERT INTO `mob_pools` VALUES (3633,'Siranpa-kamuy','Siranpa-kamuy',245,0x00008B0100000000000000000000000000000000,4,4,12,240,100,0,0,0,0,2,0,0,0,0,0,0,172,1,0,853); -INSERT INTO `mob_pools` VALUES (3634,'Sirin','Sirin',55,0x0000BC0100000000000000000000000000000000,1,1,5,240,100,0,1,1,1,16,0,0,7503,643,0,0,0,1,0,55); +INSERT INTO `mob_pools` VALUES (3634,'Sirin','Sirin',55,0x0000BC0100000000000000000000000000000000,1,1,5,240,100,0,1,1,1,16,0,0,7503,643,8,0,0,1,256,55); INSERT INTO `mob_pools` VALUES (3635,'Sirrush','Sirrush',174,0x0000490100000000000000000000000000000000,1,1,6,200,100,0,0,0,1,2,0,0,0,0,0,0,0,1,0,905); INSERT INTO `mob_pools` VALUES (3636,'Sisyphus','Sisyphus',135,0x0000B00100000000000000000000000000000000,1,1,6,240,100,0,0,0,0,2,0,0,0,0,0,0,0,1,0,135); INSERT INTO `mob_pools` VALUES (3637,'Six_of_Batons','Six_of_Batons',61,0x0000AF0100000000000000000000000000000000,4,4,12,240,100,0,1,0,1,0,0,0,47,131,0,0,2,1,0,61); @@ -3699,7 +3699,7 @@ INSERT INTO `mob_pools` VALUES (3638,'Six_of_Coins','Six_of_Coins',61,0x0000AF01 INSERT INTO `mob_pools` VALUES (3639,'Six_of_Cups','Six_of_Cups',61,0x0000AF0100000000000000000000000000000000,3,3,12,240,100,0,1,0,1,0,0,0,2132,131,0,0,1,1,0,61); INSERT INTO `mob_pools` VALUES (3640,'Six_of_Swords','Six_of_Swords',61,0x0000AF0100000000000000000000000000000000,7,7,12,240,100,0,1,0,1,0,0,0,707,131,0,0,4,1,0,61); INSERT INTO `mob_pools` VALUES (3641,'Sjokrakjen','Sjokrakjen',218,0x0000610100000000000000000000000000000000,2,2,7,360,100,0,1,1,1,16,0,0,0,3,0,0,0,1,0,218); -INSERT INTO `mob_pools` VALUES (3642,'Skadi','Skadi',126,0x0000C50200000000000000000000000000000000,9,1,5,240,100,0,1,1,1,16,0,32,7,669,0,0,0,1,0,126); +INSERT INTO `mob_pools` VALUES (3642,'Skadi','Skadi',126,0x0000C50200000000000000000000000000000000,9,1,5,240,100,0,1,1,1,16,0,32,7,669,8,0,0,1,256,126); INSERT INTO `mob_pools` VALUES (3643,'Skahnowa','Skahnowa',2,0x0000900100000000000000000000000000000000,1,1,0,0,100,0,1,0,0,0,0,32,6265,153,0,0,0,1,0,2); INSERT INTO `mob_pools` VALUES (3644,'Skeleton_Escort','Skeleton_Escort',227,0x00003C0200000000000000000000000000000000,1,1,0,0,100,0,0,0,0,0,0,0,0,3,0,0,0,1,0,227); INSERT INTO `mob_pools` VALUES (3645,'Skeleton_Esquire','Skeleton_Esquire',227,0x0000340200000000000000000000000000000000,8,8,7,240,100,0,1,0,1,0,0,0,0,3,0,0,5,1,0,227); @@ -3815,7 +3815,7 @@ INSERT INTO `mob_pools` VALUES (3754,'Stalking_Sapling','Stalking_Sapling',216,0 INSERT INTO `mob_pools` VALUES (3755,'Starmite','Starmite',49,0x0000980100000000000000000000000000000000,7,7,8,240,100,0,1,0,1,0,0,0,151,645,0,0,0,1,0,49); INSERT INTO `mob_pools` VALUES (3756,'Star_Bat','Star_Bat',46,0x0000000100000000000000000000000000000000,1,1,11,240,100,0,0,0,0,0,0,0,377,643,0,0,0,1,0,46); INSERT INTO `mob_pools` VALUES (3757,'Star_Ruby_Quadav','Star_Ruby_Quadav',202,0x00009B0200000000000000000000000000000000,5,5,4,265,100,0,1,0,1,0,0,0,0,0,0,0,3,1,0,202); -INSERT INTO `mob_pools` VALUES (3758,'Star_Sapphire_Quadav','Star_Sapphire_Quadav',202,0x00009A0200000000000000000000000000000000,4,4,5,265,100,0,1,0,1,0,0,0,0,0,0,0,2,1,0,202); +INSERT INTO `mob_pools` VALUES (3758,'Star_Sapphire_Quadav','Star_Sapphire_Quadav',202,0x00009A0200000000000000000000000000000000,4,4,5,265,100,0,1,1,1,16,0,0,0,131,0,0,2,1,256,202); INSERT INTO `mob_pools` VALUES (3759,'Statue_Prototype','Statue_Prototype',92,0x0000260400000000000000000000000000000000,3,3,11,240,100,0,1,0,1,2,1023,0,7,647,12,0,1,1,0,92); INSERT INTO `mob_pools` VALUES (3760,'Stcemqestcint','Stcemqestcint',245,0x0000840100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,2,0,32,0,159,0,0,0,1,0,245); INSERT INTO `mob_pools` VALUES (3761,'Stealth_Bat','Stealth_Bat',46,0x0000000100000000000000000000000000000000,1,1,11,240,100,0,1,0,1,0,0,0,26,643,0,0,0,1,0,46); @@ -3919,15 +3919,15 @@ INSERT INTO `mob_pools` VALUES (3858,'Tebhi','Tebhi',188,0x0000A0010000000000000 INSERT INTO `mob_pools` VALUES (3859,'Teekesselchen','Teekesselchen',175,0x00009D0100000000000000000000000000000000,4,4,12,240,100,0,0,0,0,2,0,0,1,135,0,0,290,1,0,175); INSERT INTO `mob_pools` VALUES (3860,'Teine_Sith','Teine_Sith',56,0x0000180100000000000000000000000000000000,1,1,11,240,100,0,1,0,0,0,0,0,309,645,0,0,0,1,0,56); INSERT INTO `mob_pools` VALUES (3861,'Tejas','Tejas',322,0x0000190300000000000000000000000000000000,1,1,6,240,100,0,0,0,0,2,0,0,0,0,0,0,0,1,0,875); -INSERT INTO `mob_pools` VALUES (3862,'Telchines_Bard','Telchines_Bard',213,0x00003A0500000000000000000000000000000000,10,10,5,240,100,0,1,1,1,0,0,0,336,133,0,0,6,1,0,213); -INSERT INTO `mob_pools` VALUES (3863,'Telchines_Dragoon','Telchines_Dragoon',213,0x0000200500000000000000000000000000000000,14,14,8,240,100,0,1,1,1,0,0,0,4819,129,0,0,0,1,0,213); -INSERT INTO `mob_pools` VALUES (3864,'Telchines_Monk','Telchines_Monk',213,0x0000130500000000000000000000000000000000,2,2,1,480,100,0,1,1,1,0,0,0,786,129,0,0,0,1,0,213); -INSERT INTO `mob_pools` VALUES (3865,'Telchiness_Wyvern','Telchiness_Wyvern',193,0x0000180000000000000000000000000000000000,1,1,7,200,100,0,1,1,1,0,0,0,0,0,0,0,0,1,0,714); -INSERT INTO `mob_pools` VALUES (3866,'Telchines_White_Mage','Telchines_White_Mage',213,0x00002F0500000000000000000000000000000000,3,3,3,240,100,0,1,1,1,0,0,0,8153,133,0,0,1,1,0,213); -INSERT INTO `mob_pools` VALUES (3867,'Temenos_Aern','Temenos_Aern',3,0x0000570500000000000000000000000000000000,7,7,4,240,100,0,0,0,1,0,0,0,0,3,0,0,4,1,0,3); -INSERT INTO `mob_pools` VALUES (3868,'Temenos_Cleaner','Temenos_Cleaner',175,0x00009C0100000000000000000000000000000000,5,1,7,240,100,0,1,0,0,0,0,0,2945,133,0,0,36,1,0,175); -INSERT INTO `mob_pools` VALUES (3869,'Temenos_Ghrah','Temenos_Ghrah',123,0x0000880400000000000000000000000000000000,1,1,7,220,100,0,1,1,0,0,0,0,0,3,0,0,0,1,0,123); -INSERT INTO `mob_pools` VALUES (3870,'Temenos_Weapon','Temenos_Weapon',110,0x0000C30100000000000000000000000000000000,5,5,3,240,100,0,1,0,0,2,0,0,135,645,0,0,42,1,0,110); +INSERT INTO `mob_pools` VALUES (3862,'Telchines_Bard','Telchines_Bard',213,0x00003A0500000000000000000000000000000000,10,10,5,240,100,0,1,1,1,16,0,0,336,133,0,0,6,1,256,213); +INSERT INTO `mob_pools` VALUES (3863,'Telchines_Dragoon','Telchines_Dragoon',213,0x0000200500000000000000000000000000000000,14,14,8,240,100,0,1,1,1,16,0,0,4819,129,0,0,0,1,256,213); +INSERT INTO `mob_pools` VALUES (3864,'Telchines_Monk','Telchines_Monk',213,0x0000130500000000000000000000000000000000,2,2,1,480,100,0,1,1,1,16,0,0,786,129,0,0,0,1,256,213); +INSERT INTO `mob_pools` VALUES (3865,'Telchiness_Wyvern','Telchiness_Wyvern',193,0x0000180000000000000000000000000000000000,1,1,7,200,100,0,1,1,1,16,0,0,0,129,0,0,0,1,256,714); +INSERT INTO `mob_pools` VALUES (3866,'Telchines_White_Mage','Telchines_White_Mage',213,0x00002F0500000000000000000000000000000000,3,3,3,240,100,0,1,1,1,16,0,0,8153,133,0,0,1,1,256,213); +INSERT INTO `mob_pools` VALUES (3867,'Temenos_Aern','Temenos_Aern',3,0x0000570500000000000000000000000000000000,7,7,4,240,100,0,1,1,1,16,0,0,0,133,5,0,4,1,257,3); +INSERT INTO `mob_pools` VALUES (3868,'Temenos_Cleaner','Temenos_Cleaner',175,0x00009C0100000000000000000000000000000000,5,1,7,240,100,0,1,1,0,16,0,0,2945,133,0,0,36,1,256,175); +INSERT INTO `mob_pools` VALUES (3869,'Temenos_Ghrah','Temenos_Ghrah',123,0x0600900400000000000000000000000000000000,1,1,7,220,100,0,1,1,0,16,0,2,0,667,12,0,0,1,0,123); +INSERT INTO `mob_pools` VALUES (3870,'Temenos_Weapon','Temenos_Weapon',110,0x0000C30100000000000000000000000000000000,5,5,3,240,100,0,1,1,0,18,0,0,135,645,8,0,42,1,256,110); INSERT INTO `mob_pools` VALUES (3871,'Temple_Bee','Temple_Bee',48,0x0000110100000000000000000000000000000000,1,1,2,240,100,0,1,0,1,0,0,0,185,133,0,0,0,1,0,48); INSERT INTO `mob_pools` VALUES (3872,'Temple_Guardian','Temple_Guardian',85,0x0000300100000000000000000000000000000000,1,1,12,240,100,0,0,0,0,32,0,0,7,131,0,0,0,1,0,85); INSERT INTO `mob_pools` VALUES (3873,'Temple_Knight','Temple_Knight',145,0x0100020300100B201A301A401A50FA601C700080,7,1,3,240,100,0,0,0,0,0,0,0,0,3,0,0,4,1,0,145); @@ -3952,7 +3952,7 @@ INSERT INTO `mob_pools` VALUES (3891,'Theoyagudo_Samurai','Theoyagudo_Samurai',3 INSERT INTO `mob_pools` VALUES (3892,'Theoyagudo_Summoner','Theoyagudo_Summoner',360,0x00005D0200000000000000000000000000000000,15,15,4,240,100,0,1,0,1,0,0,0,0,3,0,0,30,1,0,360); INSERT INTO `mob_pools` VALUES (3893,'Theoyagudo_White_Mage','Theoyagudo_White_Mage',360,0x00005F0200000000000000000000000000000000,3,3,3,240,100,0,1,0,1,0,0,0,0,3,0,0,1,1,0,360); INSERT INTO `mob_pools` VALUES (3894,'The_Waughroon_Kid','The_Waughroon_Kid',136,0x0000280100000000000000000000000000000000,2,2,1,480,100,0,1,0,1,18,0,0,0,0,0,0,0,1,0,136); -INSERT INTO `mob_pools` VALUES (3895,'Thiazi','Thiazi',125,0x0000500100000000000000000000000000000000,10,10,12,240,100,0,1,1,0,16,0,0,7,133,0,0,6,1,0,125); +INSERT INTO `mob_pools` VALUES (3895,'Thiazi','Thiazi',125,0x0000500100000000000000000000000000000000,10,10,12,240,100,0,1,1,0,16,0,0,7,133,0,0,6,1,256,125); INSERT INTO `mob_pools` VALUES (3896,'Thickshell','Thickshell',77,0x0000640100000000000000000000000000000000,7,7,4,240,100,0,0,0,0,0,0,0,152,131,0,0,0,1,0,77); INSERT INTO `mob_pools` VALUES (3897,'Thinker','Thinker',241,0x0000670400000000000000000000000000000000,1,1,7,240,100,0,1,1,1,0,0,0,6,131,0,0,0,1,0,241); INSERT INTO `mob_pools` VALUES (3898,'Third_Rampart','Third_Rampart',209,0x00001A0700000000000000000000000000000000,1,1,7,320,100,0,1,0,0,0,0,0,0,0,0,0,0,1,0,209); @@ -3965,7 +3965,7 @@ INSERT INTO `mob_pools` VALUES (3904,'Three_of_Coins','Three_of_Coins',61,0x0000 INSERT INTO `mob_pools` VALUES (3905,'Three_of_Cups','Three_of_Cups',61,0x0000AF0100000000000000000000000000000000,3,3,12,240,100,0,1,0,1,0,0,0,311,129,0,0,1,1,0,61); INSERT INTO `mob_pools` VALUES (3906,'Three_of_Swords','Three_of_Swords',61,0x0000AF0100000000000000000000000000000000,7,7,12,240,100,0,1,0,1,0,0,0,257,129,0,0,4,1,0,61); INSERT INTO `mob_pools` VALUES (3907,'Throatripper_Predator','Throatripper_Predator',334,0x0000030800000000000000000000000000000000,11,4,5,240,100,0,1,0,1,0,0,0,6,129,0,0,0,1,0,334); -INSERT INTO `mob_pools` VALUES (3908,'Thrym','Thrym',126,0x0000800200000000000000000000000000000000,1,1,6,240,100,0,1,1,1,16,0,32,7,157,0,0,0,1,0,126); +INSERT INTO `mob_pools` VALUES (3908,'Thrym','Thrym',126,0x0000800200000000000000000000000000000000,1,1,6,240,100,0,1,1,1,16,0,32,7,157,0,0,0,1,256,126); INSERT INTO `mob_pools` VALUES (3909,'Thunderbolt_Piraal_Ja','Thunderbolt_Piraal_Ja',210,0x00003D0100000000000000000000000000000000,6,6,7,240,100,0,0,0,0,0,0,0,0,3,0,0,0,1,0,210); INSERT INTO `mob_pools` VALUES (3910,'Thunderclap_Sareel_Ja','Thunderclap_Sareel_Ja',176,0x06004C0600000000000000000000000000000000,9,9,2,280,100,0,1,1,1,0,0,32,8,157,0,0,0,1,0,176); INSERT INTO `mob_pools` VALUES (3911,'Thunderhead','Thunderhead',226,0x0000540100000000000000000000000000000000,1,1,7,240,100,0,0,0,0,0,0,0,0,3,0,0,0,1,0,226); @@ -3975,7 +3975,7 @@ INSERT INTO `mob_pools` VALUES (3914,'Thunder_Gremlin','Thunder_Gremlin',110,0x0 INSERT INTO `mob_pools` VALUES (3915,'Thunder_Pot','Thunder_Pot',175,0x00009C0100000000000000000000000000000000,5,1,7,240,100,0,1,0,1,0,0,0,7,135,0,0,36,1,0,175); INSERT INTO `mob_pools` VALUES (3916,'Tiamat','Tiamat',393,0x0000600200000000000000000000000000000000,1,4,7,240,125,1040,1,1,0,2,0,32,157,3,0,0,78,1,0,393); INSERT INTO `mob_pools` VALUES (3917,'Ticktox_Beadyeyes','Ticktox_Beadyeyes',373,0x00003F0400000000000000000000000000000000,8,8,3,240,100,0,1,0,1,2,0,32,0,159,0,0,5,1,0,373); -INSERT INTO `mob_pools` VALUES (3918,'Tieholtsodi','Tieholtsodi',219,0x0000600100000000000000000000000000000000,2,2,7,360,100,0,1,1,1,16,0,32,3662,159,0,0,0,1,0,219); +INSERT INTO `mob_pools` VALUES (3918,'Tieholtsodi','Tieholtsodi',219,0x0000600100000000000000000000000000000000,2,2,7,360,100,0,1,1,1,16,0,32,3662,159,0,0,0,1,256,219); INSERT INTO `mob_pools` VALUES (3919,'Tigerbane_Bakdak','Tigerbane_Bakdak',334,0x0000680200000000000000000000000000000000,8,8,5,240,100,0,1,0,1,2,0,32,1871,155,0,0,5,1,0,334); INSERT INTO `mob_pools` VALUES (3920,'Time_Bomb','Time_Bomb',56,0x0000180100000000000000000000000000000000,1,1,5,240,100,0,1,0,0,2,47,0,0,3,0,0,0,1,0,56); INSERT INTO `mob_pools` VALUES (3921,'Tind','Tind',358,0x0000F20200000000000000000000000000000000,8,8,1,240,100,0,1,1,1,16,0,0,0,3,0,0,5,1,0,358); @@ -4065,7 +4065,7 @@ INSERT INTO `mob_pools` VALUES (4004,'Trickster_Kinetix','Trickster_Kinetix',110 INSERT INTO `mob_pools` VALUES (4005,'Trikotrak','Trikotrak',184,0x0000A90200000000000000000000000000000000,5,5,4,240,100,0,1,0,1,2,1,32,2792,155,0,0,3,1,0,184); INSERT INTO `mob_pools` VALUES (4006,'Trion','Trion',483,0x0000060300000000000000000000000000000000,7,1,3,240,100,0,1,0,0,16,0,32,0,3,0,0,4,1,0,483); INSERT INTO `mob_pools` VALUES (4007,'Tristitia','Tristitia',0,0x0000000000000000000000000000000000000000,4,5,12,240,100,0,0,0,0,2,0,0,0,0,0,0,2,1,0,0); -INSERT INTO `mob_pools` VALUES (4008,'Troglodyte_Dhalmel','Troglodyte_Dhalmel',80,0x00004C0100000000000000000000000000000000,1,1,12,240,100,0,1,1,1,2,0,0,747,131,0,0,0,1,0,80); +INSERT INTO `mob_pools` VALUES (4008,'Troglodyte_Dhalmel','Troglodyte_Dhalmel',80,0x00004C0100000000000000000000000000000000,1,1,12,240,100,0,1,1,1,18,0,0,747,131,0,0,0,1,256,80); INSERT INTO `mob_pools` VALUES (4009,'Troll_Artilleryman','Troll_Artilleryman',246,0x0600AD0600000000000000000000000000000000,11,11,5,230,100,0,1,0,1,0,0,0,1,133,0,0,0,1,0,246); INSERT INTO `mob_pools` VALUES (4010,'Troll_Cameist','Troll_Cameist',246,0x0600AC0600000000000000000000000000000000,5,5,4,230,100,0,1,0,1,0,0,0,1,131,0,0,3,1,0,246); INSERT INTO `mob_pools` VALUES (4011,'Troll_Cannoneer','Troll_Cannoneer',246,0x0600AB0600000000000000000000000000000000,11,11,5,230,100,0,1,0,0,0,0,0,10,131,0,0,0,1,0,246); @@ -4388,7 +4388,7 @@ INSERT INTO `mob_pools` VALUES (4327,'Wheel_Wamoura','Wheel_Wamoura',254,0x00000 INSERT INTO `mob_pools` VALUES (4328,'Wherwetrice','Wherwetrice',70,0x0000200100000000000000000000000000000000,1,1,6,240,100,0,0,0,0,2,0,0,0,0,0,0,0,1,0,880); INSERT INTO `mob_pools` VALUES (4329,'Whiro','Whiro',98,0x0000450500000000000000000000000000000000,1,1,6,240,100,0,0,0,1,2,0,0,0,0,0,0,0,1,0,881); INSERT INTO `mob_pools` VALUES (4330,'Whistrix_Toadthroat','Whistrix_Toadthroat',373,0x0000410400000000000000000000000000000000,10,10,2,240,100,0,1,0,1,2,0,32,377,159,0,0,6,1,0,373); -INSERT INTO `mob_pools` VALUES (4331,'Whitegold_Quadav','Whitegold_Quadav',202,0x0000930200000000000000000000000000000000,6,6,2,265,100,0,1,0,1,0,0,0,4205,131,0,0,0,1,0,202); +INSERT INTO `mob_pools` VALUES (4331,'Whitegold_Quadav','Whitegold_Quadav',202,0x0000930200000000000000000000000000000000,6,6,2,265,100,0,1,1,1,16,0,0,4205,131,0,0,0,1,256,202); INSERT INTO `mob_pools` VALUES (4332,'Whitetattoo_Rahool_Ja','Whitetattoo_Rahool_Ja',176,0x06005B0600000000000000000000000000000000,3,3,6,280,100,0,1,0,1,0,0,0,0,3,0,0,1,1,0,176); INSERT INTO `mob_pools` VALUES (4333,'White_Coney','White_Coney',206,0x00000E0100000000000000000000000000000000,1,1,7,240,100,0,0,0,1,2,0,0,561,135,0,0,0,1,0,206); INSERT INTO `mob_pools` VALUES (4334,'White_Lizard','White_Lizard',174,0x0000490100000000000000000000000000000000,1,1,7,240,100,0,0,0,1,0,0,0,290,131,0,0,0,1,0,174); @@ -4429,7 +4429,7 @@ INSERT INTO `mob_pools` VALUES (4368,'Woodtroll_Ranger','Woodtroll_Ranger',246,0 INSERT INTO `mob_pools` VALUES (4369,'Woodtroll_Warrior','Woodtroll_Warrior',246,0x0600960600000000000000000000000000000000,1,1,5,280,100,0,1,0,1,0,0,0,766,131,0,0,0,1,0,246); INSERT INTO `mob_pools` VALUES (4370,'Wood_Bats','Wood_Bats',47,0x0000040100000000000000000000000000000000,1,1,11,240,100,0,1,0,0,0,0,64,293,643,0,0,0,1,0,47); INSERT INTO `mob_pools` VALUES (4371,'Wootzshell','Wootzshell',77,0x0000650100000000000000000000000000000000,7,7,4,240,100,0,1,0,0,0,0,0,0,3,0,0,0,1,0,77); -INSERT INTO `mob_pools` VALUES (4372,'Wootz_Quadav','Wootz_Quadav',202,0x0000910200000000000000000000000000000000,8,8,2,265,100,0,1,0,1,0,0,0,666,131,0,0,5,1,0,202); +INSERT INTO `mob_pools` VALUES (4372,'Wootz_Quadav','Wootz_Quadav',202,0x0000910200000000000000000000000000000000,8,8,2,265,100,0,1,1,1,16,0,0,666,131,0,0,5,1,256,202); INSERT INTO `mob_pools` VALUES (4373,'Wordorbor_the_Artificer','Wordorbor_the_Artificer',246,0x0600B00600000000000000000000000000000000,18,18,7,230,100,0,1,1,1,0,0,0,0,0,0,0,0,1,0,246); INSERT INTO `mob_pools` VALUES (4374,'Worgbut_of_Clan_Death','Worgbut_of_Clan_Death',334,0x0000700200000000000000000000000000000000,2,2,1,480,100,0,1,0,1,18,0,0,0,0,0,0,0,1,0,334); INSERT INTO `mob_pools` VALUES (4375,'Worker_Crawler','Worker_Crawler',79,0x00008C0100000000000000000000000000000000,1,1,11,240,100,0,0,0,1,0,0,0,352,131,0,0,0,1,0,79); @@ -4463,7 +4463,7 @@ INSERT INTO `mob_pools` VALUES (4402,'Yaa_Haqa_the_Profane','Yaa_Haqa_the_Profan INSERT INTO `mob_pools` VALUES (4403,'Yaguarogui','Yaguarogui',279,0x0000350100000000000000000000000000000000,6,12,2,240,100,0,0,0,0,2,0,0,7,141,0,0,0,1,0,974); INSERT INTO `mob_pools` VALUES (4404,'Yagudo_Abbot_present','Yagudo_Abbot_present',360,0x00005B0200000000000000000000000000000000,3,3,3,240,100,0,1,0,1,0,0,0,772,131,0,0,1,1,0,360); INSERT INTO `mob_pools` VALUES (4405,'Yagudo_Acolyte','Yagudo_Acolyte',270,0x0000470200000000000000000000000000000000,3,3,3,240,100,0,1,0,1,0,0,0,659,131,0,0,1,1,0,270); -INSERT INTO `mob_pools` VALUES (4406,'Yagudo_Archpriest','Yagudo_Archpriest',270,0x0000550200000000000000000000000000000000,3,3,3,240,100,0,1,1,1,0,0,0,3068,131,0,0,1,1,0,270); +INSERT INTO `mob_pools` VALUES (4406,'Yagudo_Archpriest','Yagudo_Archpriest',270,0x0000550200000000000000000000000000000000,3,3,3,240,100,0,1,1,1,16,0,0,3068,131,0,0,1,1,256,270); INSERT INTO `mob_pools` VALUES (4407,'Yagudo_Assassin','Yagudo_Assassin',270,0x0000590200000000000000000000000000000000,13,13,2,240,100,0,1,0,1,0,0,0,1154,133,0,0,7,1,0,270); INSERT INTO `mob_pools` VALUES (4408,'Yagudo_Avatar','Yagudo_Avatar',270,0x00005F0200000000000000000000000000000000,15,15,11,240,100,0,1,1,1,2,0,0,300,133,0,0,30,1,0,270); INSERT INTO `mob_pools` VALUES (4409,'Yagudo_Carrier','Yagudo_Carrier',270,0x0000230800000000000000000000000000000000,12,12,1,240,100,0,1,0,1,0,0,0,0,0,0,0,0,1,0,270); @@ -4472,7 +4472,7 @@ INSERT INTO `mob_pools` VALUES (4411,'Yagudo_Condottiere','Yagudo_Condottiere',2 INSERT INTO `mob_pools` VALUES (4412,'Yagudo_Conductor_present','Yagudo_Conductor_present',270,0x0000530200000000000000000000000000000000,10,10,5,240,100,0,1,0,1,0,0,0,206,133,0,0,6,1,0,270); INSERT INTO `mob_pools` VALUES (4413,'Yagudo_Conquistador_pres','Yagudo_Conquistador_pres',270,0x00004B0200000000000000000000000000000000,13,13,2,240,100,0,1,0,1,0,0,0,79,131,0,0,7,1,0,270); INSERT INTO `mob_pools` VALUES (4414,'Yagudo_Conversus','Yagudo_Conversus',270,0x0000230800000000000000000000000000000000,1,1,7,240,100,0,1,1,1,0,0,0,0,0,0,0,0,1,0,270); -INSERT INTO `mob_pools` VALUES (4415,'Yagudo_Disciplinant','Yagudo_Disciplinant',270,0x00004E0200000000000000000000000000000000,2,2,1,480,100,0,1,1,1,0,0,0,429,131,0,0,0,1,0,270); +INSERT INTO `mob_pools` VALUES (4415,'Yagudo_Disciplinant','Yagudo_Disciplinant',270,0x00004E0200000000000000000000000000000000,2,2,1,480,100,0,1,1,1,16,0,0,429,131,0,0,0,1,256,270); INSERT INTO `mob_pools` VALUES (4416,'Yagudo_Drummer_present','Yagudo_Drummer_present',270,0x0000500200000000000000000000000000000000,10,10,5,240,100,0,1,0,1,0,0,0,296,131,0,0,6,1,0,270); INSERT INTO `mob_pools` VALUES (4417,'Yagudo_Eradicator','Yagudo_Eradicator',270,0x0000200800000000000000000000000000000000,13,13,2,240,100,0,1,0,1,0,0,0,7,131,0,0,7,1,0,270); INSERT INTO `mob_pools` VALUES (4418,'Yagudo_Flagellant_presen','Yagudo_Flagellant_presen',270,0x00004E0200000000000000000000000000000000,2,2,1,480,100,0,1,0,1,0,0,0,1,133,0,0,0,1,0,270); @@ -4486,7 +4486,7 @@ INSERT INTO `mob_pools` VALUES (4425,'Yagudo_High_Priest','Yagudo_High_Priest',2 INSERT INTO `mob_pools` VALUES (4426,'Yagudo_Initiate','Yagudo_Initiate',270,0x0000450200000000000000000000000000000000,2,2,1,480,100,0,1,0,1,0,0,0,151,131,0,0,0,1,0,270); INSERT INTO `mob_pools` VALUES (4427,'Yagudo_Inquisitor','Yagudo_Inquisitor',270,0x0000580200000000000000000000000000000000,12,12,10,240,100,0,1,0,1,0,0,0,132,131,0,0,0,1,0,270); INSERT INTO `mob_pools` VALUES (4428,'Yagudo_Interrogator_pres','Yagudo_Interrogator_pres',270,0x0000570200000000000000000000000000000000,12,12,10,240,100,0,1,0,1,0,0,0,287,131,0,0,0,1,0,270); -INSERT INTO `mob_pools` VALUES (4429,'Yagudo_Kapellmeister','Yagudo_Kapellmeister',270,0x0000520200000000000000000000000000000000,10,10,5,240,100,0,1,1,1,0,0,0,111,131,0,0,6,1,0,270); +INSERT INTO `mob_pools` VALUES (4429,'Yagudo_Kapellmeister','Yagudo_Kapellmeister',270,0x0000520200000000000000000000000000000000,10,10,5,240,100,0,1,1,1,16,0,0,111,131,0,0,6,1,256,270); INSERT INTO `mob_pools` VALUES (4430,'Yagudo_Knight_Templar','Yagudo_Knight_Templar',270,0x00001D0800000000000000000000000000000000,12,12,10,240,100,0,1,0,1,0,0,0,0,0,0,0,0,1,0,270); INSERT INTO `mob_pools` VALUES (4431,'Yagudo_Lutenist_present','Yagudo_Lutenist_present',270,0x0000510200000000000000000000000000000000,10,10,5,240,100,0,1,0,1,0,0,0,27,131,0,0,6,1,0,270); INSERT INTO `mob_pools` VALUES (4432,'Yagudo_Mendicant','Yagudo_Mendicant',270,0x0000460200000000000000000000000000000000,15,15,6,240,100,0,1,0,1,0,0,0,65,131,0,0,30,1,0,270); @@ -4500,7 +4500,7 @@ INSERT INTO `mob_pools` VALUES (4439,'Yagudo_Persecutor','Yagudo_Persecutor',270 INSERT INTO `mob_pools` VALUES (4440,'Yagudo_Persecutor','Yagudo_Persecutor',270,0x00001C0800000000000000000000000000000000,12,12,10,240,100,0,1,0,1,0,0,0,552,131,0,0,0,1,0,270); INSERT INTO `mob_pools` VALUES (4441,'Yagudo_Piper','Yagudo_Piper',270,0x00004F0200000000000000000000000000000000,10,10,5,240,100,0,1,0,1,0,0,0,8,131,0,0,6,1,0,270); INSERT INTO `mob_pools` VALUES (4442,'Yagudo_Prelate_past','Yagudo_Prelate_past',270,0x00005D0200000000000000000000000000000000,4,4,5,240,100,0,1,0,1,0,0,0,503,131,0,0,2,1,0,270); -INSERT INTO `mob_pools` VALUES (4443,'Yagudo_Prelatess','Yagudo_Prelatess',270,0x00005C0200000000000000000000000000000000,4,4,5,240,100,0,1,1,1,0,0,0,1881,131,0,0,2,1,0,270); +INSERT INTO `mob_pools` VALUES (4443,'Yagudo_Prelatess','Yagudo_Prelatess',270,0x00005C0200000000000000000000000000000000,4,4,5,240,100,0,1,1,1,16,0,0,1881,643,8,0,2,1,256,270); INSERT INTO `mob_pools` VALUES (4444,'Yagudo_Priest_present','Yagudo_Priest_present',270,0x0000550200000000000000000000000000000000,3,3,3,240,100,0,1,0,1,0,0,0,258,131,0,0,1,1,0,270); INSERT INTO `mob_pools` VALUES (4445,'Yagudo_Prior_present','Yagudo_Prior_present',270,0x00005C0200000000000000000000000000000000,4,4,5,240,100,0,1,0,1,0,0,0,291,131,0,0,2,1,0,270); INSERT INTO `mob_pools` VALUES (4446,'Yagudo_Prioress','Yagudo_Prioress',270,0x00005F0200000000000000000000000000000000,15,15,6,240,100,0,1,0,1,0,0,0,237,131,0,0,0,1,0,270); @@ -4570,7 +4570,7 @@ INSERT INTO `mob_pools` VALUES (4509,'Zizzy_Zillah','Zizzy_Zillah',70,0x00002101 INSERT INTO `mob_pools` VALUES (4510,'Zi_Bhe_Gauntletkeeper','Zi_Bhe_Gauntletkeeper',202,0x00009D0200000000000000000000000000000000,1,1,7,265,100,0,1,0,1,0,0,0,0,0,0,0,0,1,0,202); INSERT INTO `mob_pools` VALUES (4511,'Zi_Ghi_Boneeater','Zi_Ghi_Boneeater',202,0x0000870200000000000000000000000000000000,7,7,4,265,100,0,1,0,1,2,0,0,0,0,0,0,4,1,0,202); INSERT INTO `mob_pools` VALUES (4512,'Zjaa_Bao_the_Wrathherald','Zjaa_Bao_the_Wrathherald',360,0x0000210800000000000000000000000000000000,1,1,7,240,100,0,1,0,1,0,0,0,0,0,0,0,0,1,0,360); -INSERT INTO `mob_pools` VALUES (4513,'Zlatorog','Zlatorog',208,0x0000580100000000000000000000000000000000,1,1,7,320,100,0,1,1,1,16,0,32,799,159,0,0,0,1,0,208); +INSERT INTO `mob_pools` VALUES (4513,'Zlatorog','Zlatorog',208,0x0000580100000000000000000000000000000000,1,1,7,320,100,0,1,1,1,16,0,32,799,159,0,0,0,1,256,208); INSERT INTO `mob_pools` VALUES (4514,'Zmag_Ognjeni_Vuk','Zmag_Ognjeni_Vuk',132,0x0000F10700000000000000000000000000000000,2,2,1,480,100,0,1,0,1,2,0,0,0,0,0,0,0,1,0,132); INSERT INTO `mob_pools` VALUES (4515,'Zolku-Azolku','Zolku-Azolku',153,0x01000D05CD10BA20BA30BA40BA50316100000000,1,1,0,0,100,0,0,0,0,0,0,0,0,3,0,0,0,1,0,153); INSERT INTO `mob_pools` VALUES (4516,'Zombie','Zombie',227,0x0000340200000000000000000000000000000000,1,1,5,240,100,0,1,0,0,0,0,0,555,131,0,0,0,1,0,227); @@ -5607,7 +5607,7 @@ INSERT INTO `mob_pools` VALUES (5546,'Chaneque','Chaneque',496,0x0000C7080000000 INSERT INTO `mob_pools` VALUES (5547,'Maze_Lizard','Maze_Lizard',97,0x0000490100000000000000000000000000000000,1,1,7,240,100,0,0,0,1,0,0,0,239,131,0,0,0,1,0,97); INSERT INTO `mob_pools` VALUES (5548,'Labyrinth_Lizard','Labyrinth_Lizard',97,0x0000490100000000000000000000000000000000,1,1,7,240,100,0,0,0,1,0,0,0,239,131,0,0,0,1,0,97); INSERT INTO `mob_pools` VALUES (5549,'Qn_aern_rng','Qn_aern_rng',3,0x00005E0500000000000000000000000000000000,11,11,4,240,100,0,0,0,1,0,0,0,0,0,0,0,0,1,0,443); -INSERT INTO `mob_pools` VALUES (5550,'Kindred_Summoner','Kindred_Summoner',358,0x0000E80200000000000000000000000000000000,15,15,7,290,100,0,1,0,1,16,0,0,343,133,0,0,141,1,0,358); +INSERT INTO `mob_pools` VALUES (5550,'Kindred_Summoner','Kindred_Summoner',358,0x0000E80200000000000000000000000000000000,15,15,7,290,100,0,1,1,1,16,0,0,343,135,0,0,31,1,256,358); INSERT INTO `mob_pools` VALUES (5551,'Player_Pet_Wyvern','Player_Pet_Wyvern',193,0x0000180000000000000000000000000000000000,14,1,12,320,100,0,0,0,0,0,0,32,0,0,0,0,0,1,0,193); INSERT INTO `mob_pools` VALUES (5552,'Konjac','Konjac',229,0x0000240100000000000000000000000000000000,1,1,7,240,100,0,1,0,1,2,7,0,0,0,0,0,0,1,0,111); INSERT INTO `mob_pools` VALUES (5553,'Adaman_Quadav','Adaman_Quadav',202,0x00004A0800000000000000000000000000000000,8,8,4,265,100,0,1,0,1,0,0,0,0,0,0,0,5,1,0,202); -- Standard Adaman Quadav in [S] @@ -6117,9 +6117,9 @@ INSERT INTO `mob_pools` VALUES (6074,'Targe_Beetle','Targe_Beetle',49,0x00009801 INSERT INTO `mob_pools` VALUES (6075,'Helm_Beetle_aggro','Helm_Beetle',49,0x0000980100000000000000000000000000000000,7,7,8,240,100,0,1,0,1,0,0,0,310,1157,0,0,0,1,0,49); INSERT INTO `mob_pools` VALUES (6076,'Goliath_Beetle_aggro','Goliath_Beetle',49,0x0000980100000000000000000000000000000000,7,7,8,240,100,0,1,0,1,0,0,0,244,129,0,0,0,1,0,49); INSERT INTO `mob_pools` VALUES (6077,'Deathwatch_Beetle','Deathwatch_Beetle',49,0x0000980100000000000000000000000000000000,7,7,8,240,100,0,1,0,1,0,0,0,7738,133,0,0,0,1,0,49); -INSERT INTO `mob_pools` VALUES (6078,'Praetorian_Guard_CCXX','Praetorian_Guard_CCXX',25,0x0000F10400000000000000000000000000000000,1,1,5,265,100,0,1,1,1,2,7,0,1243,1155,0,0,0,1,0,25); -INSERT INTO `mob_pools` VALUES (6079,'Praetorian_Guard_CXLVIII','Praetorian_Guard_CXLVIII',25,0x0000F80400000000000000000000000000000000,11,11,2,265,100,0,1,1,1,2,7,0,185,1155,0,0,0,1,0,25); -INSERT INTO `mob_pools` VALUES (6080,'Praetorian_Guard_LXXIII','Praetorian_Guard_LXXIII',25,0x0000FE0400000000000000000000000000000000,4,4,12,265,100,0,1,1,1,2,7,0,291,1155,0,0,2,1,0,25); +INSERT INTO `mob_pools` VALUES (6078,'Praetorian_Guard_CCXX','Praetorian_Guard_CCXX',25,0x0000EF0400000000000000000000000000000000,1,1,5,265,100,0,1,1,1,18,7,0,1243,133,0,0,0,1,256,25); +INSERT INTO `mob_pools` VALUES (6079,'Praetorian_Guard_CXLVIII','Praetorian_Guard_CXLVIII',25,0x0000FC0400000000000000000000000000000000,11,11,2,265,100,0,1,1,1,18,7,0,185,133,0,0,256,1,0,25); +INSERT INTO `mob_pools` VALUES (6080,'Praetorian_Guard_LXXIII','Praetorian_Guard_LXXIII',25,0x0000010500000000000000000000000000000000,4,4,12,265,100,0,1,1,1,18,7,0,291,133,0,0,2,1,256,25); INSERT INTO `mob_pools` VALUES (6081,'Bladeburner_Rokgevok','Bladeburner_Rokgevok',334,0x0000170400000000000000000000000000000000,4,1,8,240,100,0,1,1,1,2,0,32,34,159,0,0,2,0,0,334); INSERT INTO `mob_pools` VALUES (6082,'Steelshank_Kratzvatz','Steelshank_Kratzvatz',334,0x0000180400000000000000000000000000000000,7,9,8,240,100,0,1,1,1,2,0,32,245,159,0,0,4,0,0,334); INSERT INTO `mob_pools` VALUES (6083,'Kratzvatzs_Hecteyes','Kratzvatzs_Hecteyes',139,0x0000800100000000000000000000000000000000,4,4,12,280,100,0,1,0,1,8,0,32,865,155,0,0,10,0,0,139); @@ -6137,6 +6137,80 @@ INSERT INTO `mob_pools` VALUES (6094,'Taquede','Taquede',359,0x05000102000000000 INSERT INTO `mob_pools` VALUES (6095,'Mountain_Worm','Mountain_Worm',258,0x0000AA0100000000000000000000000000000000,4,5,7,240,100,0,0,0,1,2,0,0,337,135,0,0,9,1,64,258); -- NM INSERT INTO `mob_pools` VALUES (6096,'Frost_Flambeau','Frost_Flambeau',232,0x0000160100000000000000000000000000000000,4,1,7,240,100,0,1,0,0,2,17,0,601,131,0,0,307,1,0,232); +INSERT INTO `mob_pools` VALUES (6097,'Star_Ruby_Quadav','Star_Ruby_Quadav',202,0x00009B0200000000000000000000000000000000,5,5,4,265,100,0,1,1,1,16,0,0,0,131,0,0,3,1,256,202); -- Limbus +INSERT INTO `mob_pools` VALUES (6098,'Yagudo_Knight_Templar','Yagudo_Knight_Templar',270,0x0000570200000000000000000000000000000000,12,12,10,240,100,0,1,1,1,16,0,0,0,131,0,0,0,1,256,270); -- Limbus +INSERT INTO `mob_pools` VALUES (6099,'Yagudo_Eradicator','Yagudo_Eradicator',270,0x0000590200000000000000000000000000000000,13,13,2,240,100,0,1,1,1,16,0,0,7,131,0,0,7,1,256,270); -- Limbus +INSERT INTO `mob_pools` VALUES (6100,'Temenos_Euvhi','Temenos_Euvhi',109,0x00000E0200000000000000000000000000000000,1,1,11,240,100,0,1,1,0,16,0,0,0,131,5,0,0,1,256,109); +INSERT INTO `mob_pools` VALUES (6101,'Thalesek','Thalesek',109,0x00000E0200000000000000000000000000000000,1,1,11,240,100,0,1,1,0,16,0,32,0,157,6,0,0,1,256,109); +INSERT INTO `mob_pools` VALUES (6102,'Pyrrha','Pyrrha',123,0x06008D0400000000000000000000000000000000,1,1,7,220,100,0,1,1,0,16,0,34,0,669,13,0,0,1,256,123); +INSERT INTO `mob_pools` VALUES (6103,'Arch-Ultima','Arch-Ultima',54,0x0000340400000000000000000000000000000000,1,7,6,240,100,0,1,1,0,18,113,32,7,1181,8,0,103,1,256,729); +INSERT INTO `mob_pools` VALUES (6104,'Barometz','Barometz',178,0x00002C0100000000000000000000000000000000,2,2,1,480,100,0,1,1,1,16,0,0,7628,135,0,0,0,1,0,178); + +INSERT INTO `mob_pools` VALUES (6105,'Nergal','Nergal',358,0x0000E60200000000000000000000000000000000,1,1,5,240,100,0,1,0,1,0,0,32,343,159,0,0,0,1,0,358); -- CS Apollyon II +INSERT INTO `mob_pools` VALUES (6106,'Apollyon_Demon','Apollyon_Demon',169,0x0000E70200000000000000000000000000000000,4,4,7,240,100,0,1,0,1,0,0,0,1930,131,0,0,5,1,0,169); -- BLM +INSERT INTO `mob_pools` VALUES (6107,'Apollyon_Demon','Apollyon_Demon',358,0x0000E60200000000000000000000000000000000,7,7,3,240,100,0,1,0,1,0,0,0,1032,131,0,0,4,1,0,358); -- PLD +INSERT INTO `mob_pools` VALUES (6108,'Apollyon_Demon','Apollyon_Demon',169,0x0000E50200000000000000000000000000000000,8,8,7,240,100,0,1,0,1,0,0,0,0,131,0,0,5,1,0,169); -- DRK +INSERT INTO `mob_pools` VALUES (6109,'Apollyon_Demon','Apollyon_Demon',358,0x0000F40200000000000000000000000000000000,5,5,11,240,100,0,1,0,1,0,0,0,0,131,0,0,3,1,0,358); -- RDM +INSERT INTO `mob_pools` VALUES (6110,'Bata','Bata',240,0x00004F0500000000000000000000000000000000,1,1,7,240,100,0,1,1,1,34,0,32,7,671,0,0,0,1,0,240); +INSERT INTO `mob_pools` VALUES (6111,'Apollyon_Taurus','Apollyon_Taurus',240,0x00004F0500000000000000000000000000000000,1,1,7,240,100,0,1,1,1,34,0,0,7,131,0,0,0,1,0,240); +INSERT INTO `mob_pools` VALUES (6112,'Aeshma','Aeshma',4,0x0000080100000000000000000000000000000000,1,4,7,240,100,0,1,0,1,0,0,32,407,1183,0,0,11,1,0,4); +INSERT INTO `mob_pools` VALUES (6113,'Apollyon_Ahriman','Apollyon_Ahriman',4,0x0000080100000000000000000000000000000000,1,4,7,240,100,0,1,0,1,0,0,0,407,131,0,0,11,1,0,4); +INSERT INTO `mob_pools` VALUES (6114,'Ahrimans_Avatar','Ahrimans_Avatar',35,0x0000790400000000000000000000000000000000,4,5,12,240,100,0,1,1,0,18,0,0,191,131,0,0,115,1,0,35); -- diabolos +INSERT INTO `mob_pools` VALUES (6115,'Ahrimans_Avatar','Ahrimans_Avatar',36,0x0000180300000000000000000000000000000000,1,1,6,240,100,0,1,1,1,18,0,0,1417,131,0,0,0,1,0,36); -- fenrir +INSERT INTO `mob_pools` VALUES (6116,'Arch-Omega','Arch-Omega',54,0x0000370400000000000000000000000000000000,1,1,6,240,100,0,1,1,0,2,71,32,2773,1183,13,0,0,1,0,727); +INSERT INTO `mob_pools` VALUES (6117,'Mystic_Avatar','Mystic_Avatar',322,0x0000190300000000000000000000000000000000,1,1,5,240,100,0,1,1,1,18,0,0,0,131,0,0,0,1,256,322); -- ifrit +INSERT INTO `mob_pools` VALUES (6118,'Mystic_Avatar','Mystic_Avatar',319,0x00001D0300000000000000000000000000000000,1,1,6,240,100,0,1,1,1,18,0,0,0,3,0,0,0,1,256,319); -- shiva +INSERT INTO `mob_pools` VALUES (6119,'Mystic_Avatar','Mystic_Avatar',324,0x00001C0300000000000000000000000000000000,1,1,6,240,100,0,1,1,1,18,0,0,0,3,0,0,0,1,256,324); -- garuda +INSERT INTO `mob_pools` VALUES (6120,'Mystic_Avatar','Mystic_Avatar',321,0x00001A0300000000000000000000000000000000,1,1,6,240,100,0,1,1,1,18,0,0,0,131,0,0,0,1,256,321); -- titan +INSERT INTO `mob_pools` VALUES (6121,'Mystic_Avatar','Mystic_Avatar',320,0x00001E0300000000000000000000000000000000,1,1,12,240,100,0,1,1,1,18,0,0,0,131,0,0,0,1,256,320); -- ramuh +INSERT INTO `mob_pools` VALUES (6122,'Mystic_Avatar','Mystic_Avatar',323,0x00001B0300000000000000000000000000000000,1,1,8,240,100,0,1,1,1,18,0,0,0,131,0,0,0,1,256,323); -- leviathan +INSERT INTO `mob_pools` VALUES (6123,'Mystic_Avatar','Mystic_Avatar',325,0x0000180300000000000000000000000000000000,1,1,6,240,100,0,1,1,1,18,0,0,1417,131,0,0,0,1,256,325); -- fenrir +INSERT INTO `mob_pools` VALUES (6124,'Mystic_Avatar','Mystic_Avatar',34,0x0000170300000000000000000000000000000000,4,4,7,240,100,0,1,1,0,18,0,0,0,131,0,0,0,1,256,34); -- carbuncle +INSERT INTO `mob_pools` VALUES (6125,'Fir_Bholg','Fir_Bholg',115,0x0500FE0300000000000000000000000000000000,6,6,4,240,100,0,1,1,1,18,0,0,507,131,8,0,0,1,0,115); -- THF elvaan +INSERT INTO `mob_pools` VALUES (6126,'Fir_Bholg','Fir_Bholg',115,0x0500100400000000000000000000000000000000,7,7,4,240,100,0,1,1,1,18,0,0,507,131,0,0,4,1,0,115); -- PLD galka +INSERT INTO `mob_pools` VALUES (6127,'Fir_Bholg','Fir_Bholg',115,0x0500F40300000000000000000000000000000000,12,12,4,240,100,0,1,1,1,18,0,0,507,131,0,0,0,1,0,115); -- SAM hume +INSERT INTO `mob_pools` VALUES (6128,'Fir_Bholg','Fir_Bholg',115,0x0500080400000000000000000000000000000000,5,5,4,240,100,0,1,1,1,18,0,0,507,3,0,0,3,1,0,115); -- RDM mithra +INSERT INTO `mob_pools` VALUES (6129,'Fir_Bholg','Fir_Bholg',115,0x0500060400000000000000000000000000000000,4,4,4,240,100,0,1,1,1,18,0,0,507,131,0,0,2,1,0,115); -- BLM taru +INSERT INTO `mob_pools` VALUES (6130,'Borametz','Borametz',178,0x00002D0100000000000000000000000000000000,2,2,1,480,100,0,1,1,1,16,0,0,3744,135,0,0,0,1,0,178); +INSERT INTO `mob_pools` VALUES (6131,'Apollyon_Cleaner','Apollyon_Cleaner',175,0x00009C0100000000000000000000000000000000,5,1,7,240,100,0,1,1,1,0,0,0,131,1159,0,0,36,1,0,175); +INSERT INTO `mob_pools` VALUES (6132,'Kerkopes','Kerkopes',188,0x0000A00100000000000000000000000000000000,1,1,7,200,100,0,1,1,1,16,0,0,185,1159,0,0,0,1,0,188); +INSERT INTO `mob_pools` VALUES (6133,'Kindred_Warrior','Kindred_Warrior',358,0x0000EB0200000000000000000000000000000000,1,1,5,240,100,0,1,1,1,16,0,0,343,135,0,0,0,1,256,358); +INSERT INTO `mob_pools` VALUES (6134,'Kindred_Dark_Knight','Kindred_Dark_Knight',358,0x0000BA0200000000000000000000000000000000,8,8,3,240,100,0,1,1,1,16,0,0,0,135,0,0,5,1,256,358); +INSERT INTO `mob_pools` VALUES (6135,'Kindred_Black_Mage','Kindred_Black_Mage',358,0x0000F30200000000000000000000000000000000,4,4,12,290,100,0,1,1,1,16,0,0,0,131,0,0,2,1,256,358); +INSERT INTO `mob_pools` VALUES (6136,'Tonberrys_Elemental','Tonberrys_Elemental',102,0x0000080000000000000000000000000000000000,4,5,12,240,100,0,0,0,0,24,0,0,0,0,0,0,2,1,256,102); +INSERT INTO `mob_pools` VALUES (6137,'Fire_Elemental','Fire_Elemental',102,0x0000080000000000000000000000000000000000,4,5,12,240,100,0,1,1,1,16,36,0,1934,131,0,0,17,1,256,102); +INSERT INTO `mob_pools` VALUES (6138,'Ice_Elemental','Ice_Elemental',103,0x0000090000000000000000000000000000000000,4,5,12,240,100,0,1,1,1,16,54,0,764,1155,0,0,14,1,256,103); +INSERT INTO `mob_pools` VALUES (6139,'Air_Elemental','Air_Elemental',99,0x0000B60100000000000000000000000000000000,4,5,12,240,100,0,1,1,1,16,658,0,112,1155,16,0,12,1,256,99); +INSERT INTO `mob_pools` VALUES (6140,'Earth_Elemental','Earth_Elemental',101,0x00000B0000000000000000000000000000000000,4,5,12,240,100,0,1,1,1,16,648,0,508,1155,0,0,13,1,256,101); +INSERT INTO `mob_pools` VALUES (6141,'Thunder_Elemental','Thunder_Elemental',105,0x0000B90100000000000000000000000000000000,4,5,12,240,100,0,1,1,1,16,264,0,291,131,16,0,16,1,256,105); +INSERT INTO `mob_pools` VALUES (6142,'Water_Elemental','Water_Elemental',106,0x00000C0000000000000000000000000000000000,4,5,12,240,100,0,1,1,1,16,256,0,343,131,0,0,15,1,256,106); +INSERT INTO `mob_pools` VALUES (6143,'Dark_Elemental','Dark_Elemental',100,0x0000BB0100000000000000000000000000000000,8,8,11,240,100,0,1,1,1,16,65,0,291,131,16,0,18,1,256,100); +INSERT INTO `mob_pools` VALUES (6144,'Kingslayer_Doggvdegg','Kingslayer_Doggvdegg',334,0x00001B0800000000000000000000000000000000,1,1,4,240,100,0,1,1,1,18,0,0,1,157,0,0,0,1,256,334); +INSERT INTO `mob_pools` VALUES (6145,'Yagudos_Elemental','Yagudos_Elemental',99,0x00000A0000000000000000000000000000000000,4,4,12,240,100,0,0,0,0,24,0,0,0,0,0,0,2,1,256,99); +INSERT INTO `mob_pools` VALUES (6146,'Orcs_Wyvern','Orcs_Wyvern',193,0x0000180000000000000000000000000000000000,1,1,7,200,100,0,0,0,0,24,0,0,0,0,0,0,0,1,256,714); +INSERT INTO `mob_pools` VALUES (6147,'Light_Elemental','Light_Elemental',104,0x00000E0000000000000000000000000000000000,3,3,11,240,100,0,1,1,1,16,0,0,1710,131,0,0,19,1,256,104); +INSERT INTO `mob_pools` VALUES (6148,'Airi','Airi',121,0x0000700100000000000000000000000000000000,4,4,12,240,100,0,1,1,1,18,0,0,4759,1157,0,0,28,1,256,121); +INSERT INTO `mob_pools` VALUES (6149,'Iruci','Iruci',227,0x0000340200000000000000000000000000000000,4,4,10,240,100,0,1,1,1,18,0,0,1747,1669,0,0,28,1,256,227); +INSERT INTO `mob_pools` VALUES (6150,'Aerns_Elemental','Aerns_Elemental',100,0x00000F0000000000000000000000000000000000,8,5,7,240,100,0,0,0,0,24,0,0,0,131,16,0,5,1,256,100); +INSERT INTO `mob_pools` VALUES (6151,'Aerns_Euvhi','Aerns_Euvhi',109,0x00000E0200000000000000000000000000000000,1,1,11,240,100,0,0,0,0,24,0,0,0,1155,5,0,0,1,256,109); +INSERT INTO `mob_pools` VALUES (6152,'Aerns_Wynav','Aerns_Wynav',193,0x0000120200000000000000000000000000000000,1,1,7,200,100,0,0,0,0,24,1,0,0,1155,0,1,0,1,256,714); +INSERT INTO `mob_pools` VALUES (6153,'Temenos_Aern','Temenos_Aern',3,0x0000570500000000000000000000000000000000,13,13,1,360,100,0,1,1,1,16,0,0,1,1155,0,0,7,1,256,3); -- nin +INSERT INTO `mob_pools` VALUES (6154,'Temenos_Aern','Temenos_Aern',3,0x0000600500000000000000000000000000000000,14,14,8,360,100,0,1,1,1,16,0,0,7,1155,0,0,0,1,256,440); -- drg +INSERT INTO `mob_pools` VALUES (6155,'Temenos_Aern','Temenos_Aern',3,0x00005E0500000000000000000000000000000000,1,1,5,360,100,0,1,1,1,16,0,0,1,1155,0,0,0,1,256,443); -- war +INSERT INTO `mob_pools` VALUES (6156,'Temenos_Aern','Temenos_Aern',3,0x00005D0500000000000000000000000000000000,4,4,2,240,100,0,1,1,1,16,0,0,1,1155,0,0,2,1,256,442); -- blm +INSERT INTO `mob_pools` VALUES (6157,'Temenos_Aern','Temenos_Aern',3,0x00005D0500000000000000000000000000000000,10,10,2,360,100,0,1,1,1,16,0,0,1,1155,0,0,6,1,256,442); -- brd +INSERT INTO `mob_pools` VALUES (6158,'Temenos_Aern','Temenos_Aern',3,0x0000570500000000000000000000000000000000,2,2,1,480,100,0,1,1,1,16,0,0,1,1155,0,0,0,1,256,3); -- mnk +INSERT INTO `mob_pools` VALUES (6159,'Temenos_Aern','Temenos_Aern',3,0x0000600500000000000000000000000000000000,12,12,8,360,100,0,1,1,1,16,0,0,1,1155,0,0,0,1,256,440); -- sam +INSERT INTO `mob_pools` VALUES (6160,'Temenos_Aern','Temenos_Aern',3,0x00005D0500000000000000000000000000000000,6,6,2,240,100,0,1,1,1,16,0,0,1,1155,0,0,0,1,256,442); -- thf +INSERT INTO `mob_pools` VALUES (6161,'Temenos_Aern','Temenos_Aern',3,0x00005E0500000000000000000000000000000000,11,11,5,360,100,0,1,1,1,16,0,0,1,1155,0,0,0,1,256,443); -- rng +INSERT INTO `mob_pools` VALUES (6162,'Temenos_Aern','Temenos_Aern',3,0x00005E0500000000000000000000000000000000,9,9,5,360,100,0,1,1,1,16,0,0,1,1155,0,0,0,1,256,443); -- bst +INSERT INTO `mob_pools` VALUES (6163,'Temenos_Aern','Temenos_Aern',3,0x0000610500000000000000000000000000000000,3,3,12,360,100,0,1,1,1,16,0,0,1,1155,0,0,1,1,256,439); -- whm +INSERT INTO `mob_pools` VALUES (6164,'Temenos_Aern','Temenos_Aern',3,0x00005F0500000000000000000000000000000000,5,5,3,360,100,0,1,1,1,16,0,0,1,1155,0,0,3,1,256,441); -- rdm +INSERT INTO `mob_pools` VALUES (6165,'Temenos_Aern','Temenos_Aern',3,0x0000610500000000000000000000000000000000,15,15,12,360,100,0,1,1,1,16,0,0,1,1155,0,0,31,1,256,439); -- smn +INSERT INTO `mob_pools` VALUES (6166,'Temenos_Aern','Temenos_Aern',3,0x00005F0500000000000000000000000000000000,8,8,3,360,100,0,1,1,1,16,0,1,1155,0,0,0,5,1,256,441); -- drk +INSERT INTO `mob_pools` VALUES (6167,'Kindreds_Elemental','Kindreds_Elemental',100,0x00000F0000000000000000000000000000000000,8,8,11,240,100,0,0,0,0,24,0,0,0,0,0,0,5,1,256,100); +INSERT INTO `mob_pools` VALUES (6168,'Hieracosphinx','Hieracosphinx',179,0x0000920100000000000000000000000000000000,1,1,7,360,100,0,1,0,0,16,0,0,6,135,8,0,0,1,256,179); + /* `poolid` int(10) unsigned NOT NULL, `name` varchar(24) DEFAULT NULL, diff --git a/sql/mob_skill_lists.sql b/sql/mob_skill_lists.sql index c7953b9d2e5..c3293bc4cbc 100644 --- a/sql/mob_skill_lists.sql +++ b/sql/mob_skill_lists.sql @@ -230,13 +230,13 @@ INSERT INTO `mob_skill_lists` VALUES ('Bhoot',52,477); INSERT INTO `mob_skill_lists` VALUES ('Bhoot',52,1794); INSERT INTO `mob_skill_lists` VALUES ('Likho',53,551); INSERT INTO `mob_skill_lists` VALUES ('Likho',53,555); -INSERT INTO `mob_skill_lists` VALUES ('Omega',54,1529); INSERT INTO `mob_skill_lists` VALUES ('Omega',54,1533); INSERT INTO `mob_skill_lists` VALUES ('Omega',54,1534); +INSERT INTO `mob_skill_lists` VALUES ('Omega',54,1535); -- INSERT INTO `mob_skill_lists` VALUES ('Omega',54,1536) INSERT INTO `mob_skill_lists` VALUES ('Omega',54,1537); INSERT INTO `mob_skill_lists` VALUES ('Omega',54,1538); --- INSERT INTO `mob_skill_lists` VALUES ('Omega',54,1539) +INSERT INTO `mob_skill_lists` VALUES ('Omega',54,1539); INSERT INTO `mob_skill_lists` VALUES ('Bird',55,622); INSERT INTO `mob_skill_lists` VALUES ('Bird',55,623); INSERT INTO `mob_skill_lists` VALUES ('Bomb',56,510); @@ -2468,14 +2468,14 @@ INSERT INTO `mob_skill_lists` VALUES ('Proto-Omega',727,1525); INSERT INTO `mob_skill_lists` VALUES ('Proto-Omega',727,1526); INSERT INTO `mob_skill_lists` VALUES ('Proto-Omega',727,1527); INSERT INTO `mob_skill_lists` VALUES ('Proto-Omega',727,1528); -INSERT INTO `mob_skill_lists` VALUES ('Proto-Omega',727,1529); INSERT INTO `mob_skill_lists` VALUES ('Proto-Omega',727,1530); --- INSERT INTO `mob_skill_lists` VALUES ('Proto-Omega',727,1532); +INSERT INTO `mob_skill_lists` VALUES ('Proto-Omega',727,1532); INSERT INTO `mob_skill_lists` VALUES ('Proto-Omega',727,1533); INSERT INTO `mob_skill_lists` VALUES ('Proto-Omega',727,1534); +INSERT INTO `mob_skill_lists` VALUES ('Proto-Omega',727,1529); -- INSERT INTO `mob_skill_lists` VALUES ('Proto-Omega',727,1536); INSERT INTO `mob_skill_lists` VALUES ('Proto-Omega',727,1538); --- INSERT INTO `mob_skill_lists` VALUES ('Proto-Omega',727,1539); +INSERT INTO `mob_skill_lists` VALUES ('Proto-Omega',727,1539); INSERT INTO `mob_skill_lists` VALUES ('Ultima',728,1259); INSERT INTO `mob_skill_lists` VALUES ('Ultima',728,1260); INSERT INTO `mob_skill_lists` VALUES ('Ultima',728,1261); @@ -2485,7 +2485,7 @@ INSERT INTO `mob_skill_lists` VALUES ('Ultima',728,1264); INSERT INTO `mob_skill_lists` VALUES ('Ultima',728,1265); INSERT INTO `mob_skill_lists` VALUES ('Ultima',728,1266); INSERT INTO `mob_skill_lists` VALUES ('Ultima',728,1267); --- INSERT INTO `mob_skill_lists` VALUES ('Ultima',728,1268); +INSERT INTO `mob_skill_lists` VALUES ('Ultima',728,1268); INSERT INTO `mob_skill_lists` VALUES ('Ultima',728,1269); INSERT INTO `mob_skill_lists` VALUES ('Ultima',728,1270); INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1259); @@ -2497,13 +2497,12 @@ INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1264); INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1265); INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1266); INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1267); --- INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1268); +INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1268); INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1269); INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1521); INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1522); INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1523); -INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1524); --- INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1540); +INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1540); INSERT INTO `mob_skill_lists` VALUES ('Tiamat-Flying-Attack',730,1278); INSERT INTO `mob_skill_lists` VALUES ('Ouryu-Flying-Attack',731,1298); INSERT INTO `mob_skill_lists` VALUES ('Jormungand-Flying-Attack',732,1288); diff --git a/sql/mob_skills.sql b/sql/mob_skills.sql index dcce14ca678..2098c2ccac4 100644 --- a/sql/mob_skills.sql +++ b/sql/mob_skills.sql @@ -1088,7 +1088,7 @@ INSERT INTO `mob_skills` VALUES (1264,949,'turbofan',4,10.0,2000,1500,4,0,0,0,0, INSERT INTO `mob_skills` VALUES (1265,950,'smoke_discharger',4,10.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (1266,951,'high-tension_discharger',4,10.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (1267,952,'hydro_canon',4,10.0,2000,1500,4,0,0,0,0,0,0); --- INSERT INTO `mob_skills` VALUES (1268,953,'nuclear_waste',0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (1268,953,'nuclear_waste',1,10.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (1269,954,'chemical_bomb',0,10.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (1270,955,'particle_shield',0,7.0,2000,1500,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (1271,1015,'empty_cutter',0,7.0,2000,1500,4,0,0,0,0,0,0); @@ -1349,18 +1349,22 @@ INSERT INTO `mob_skills` VALUES (1525,1090,'guided_missile_ii',2,5.0,2000,1500,4 INSERT INTO `mob_skills` VALUES (1526,1085,'colossal_blow',0,10.0,2000,3000,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (1527,1086,'laser_shower',4,10.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (1528,1087,'floodlight',2,15.0,2000,1500,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (1529,927,'hyper_pulse',1,20.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (1529,1089,'hyper_pulse',1,20.0,2000,1500,4,0,0,0,0,0,0); -- Proto-Omega +-- INSERT INTO `mob_skills` VALUES (1529,927,'hyper_pulse',1,20.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (1530,1088,'stun_cannon',4,20.0,2000,1500,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (1531,1275,'wz_recover_all',0,7.0,2000,1500,4,0,0,0,0,0,0); --- INSERT INTO `mob_skills` VALUES (1532,1276,'pod_ejection',0,7.0,2000,1500,4,0,0,0,0,0,0); -INSERT INTO `mob_skills` VALUES (1533,925,'pile_pitch',0,10.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (1532,1124,'pod_ejection',0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (1533,1117,'pile_pitch',0,10.0,2000,1500,4,0,0,0,0,0,0); +-- INSERT INTO `mob_skills` VALUES (1533,925,'pile_pitch',0,10.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (1534,926,'guided_missile',2,5.0,2000,1500,4,0,0,0,0,0,0); --- INSERT INTO `mob_skills` VALUES (1535,1279,'hyper_pulse',0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (1535,1119,'hyper_pulse',0,7.0,2000,1500,4,0,0,0,0,0,0); -- Omega +-- INSERT INTO `mob_skills` VALUES (1535,1089,'hyper_pulse',0,7.0,2000,1500,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (1536,928,'target_analysis',0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (1537,929,'discharger',0,7.0,2000,1500,1,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (1538,930,'ion_efflux',4,10.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (1539,1123,'rear_lasers',0,7.0,2000,1500,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (1539,931,'rear_lasers',0,7.0,2000,1500,4,0,0,0,0,0,0); --- INSERT INTO `mob_skills` VALUES (1540,1284,'citadel_buster',0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (1540,1081,'citadel_buster',2,20.0,2000,1500,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (1541,1285,'blighted_gloom',0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (1542,1133,'trample',1,15.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (1543,1134,'tempest_wing',4,15.0,2000,1500,4,0,0,0,0,0,0); diff --git a/sql/mob_spawn_points.sql b/sql/mob_spawn_points.sql index c1d263a5bd0..c60eb8565aa 100644 --- a/sql/mob_spawn_points.sql +++ b/sql/mob_spawn_points.sql @@ -7827,585 +7827,567 @@ INSERT INTO `mob_spawn_points` VALUES (16924729,'Ultima','Ultima',0,0,0,0,0); -- Temenos (Zone 37) -- ------------------------------------------------------------ -INSERT INTO `mob_spawn_points` VALUES (16928772,'Goblin_Slaughterman','Goblin Slaughterman',1,392,74,420,129); -- Northern 1st -INSERT INTO `mob_spawn_points` VALUES (16928773,'Goblin_Slaughterman','Goblin Slaughterman',1,333,70,465,23); -INSERT INTO `mob_spawn_points` VALUES (16928774,'Moblin_Dustman','Moblin Dustman',2,370,74,406,224); -INSERT INTO `mob_spawn_points` VALUES (16928775,'Moblin_Dustman','Moblin Dustman',2,380,74,429,161); -INSERT INTO `mob_spawn_points` VALUES (16928776,'Moblin_Dustman','Moblin Dustman',2,350,68,459,0); -INSERT INTO `mob_spawn_points` VALUES (16928777,'Moblin_Dustman','Moblin Dustman',2,340,68,445,62); -INSERT INTO `mob_spawn_points` VALUES (16928781,'Skadi','Skadi',3,194,-81,478,59); -- Northern 2nd -INSERT INTO `mob_spawn_points` VALUES (16928782,'Thrym','Thrym',4,199,-81,478,59); -INSERT INTO `mob_spawn_points` VALUES (16928783,'Beli','Beli',5,204,-81,478,59); -INSERT INTO `mob_spawn_points` VALUES (16928784,'Kari','Kari',6,199,-82,463,191); -INSERT INTO `mob_spawn_points` VALUES (16928788,'Telchines_Bard','Telchines Bard',7,20,80,421,67); -- Northern 3rd -INSERT INTO `mob_spawn_points` VALUES (16928789,'Telchines_White_Mage','Telchines White Mage',8,59,80,429,65); -INSERT INTO `mob_spawn_points` VALUES (16928790,'Telchines_Dragoon','Telchines Dragoon',9,47,80,421,66); -INSERT INTO `mob_spawn_points` VALUES (16928791,'Telchiness_Wyvern','Telchines\'s Wyvern',10,47,80,422,66); -INSERT INTO `mob_spawn_points` VALUES (16928792,'Telchines_Monk','Telchines Monk',11,72,80,420,62); -INSERT INTO `mob_spawn_points` VALUES (16928793,'Telchines_Monk','Telchines Monk',11,32,80,421,64); -INSERT INTO `mob_spawn_points` VALUES (16928797,'Kindred_Warrior','Kindred Warrior',12,-119,-80,420,186); -- Northern 4th -INSERT INTO `mob_spawn_points` VALUES (16928798,'Kindred_Dark_Knight','Kindred Dark Knight',13,-129,-80,419,1); -INSERT INTO `mob_spawn_points` VALUES (16928799,'Kindred_Summoner','Kindred Summoner',14,-111,-80,420,123); -INSERT INTO `mob_spawn_points` VALUES (16928800,'Kindreds_Elemental','Kindred\'s Elemental',15,-111,-80,420.5,123); -INSERT INTO `mob_spawn_points` VALUES (16928801,'Kindreds_Avatar','Kindred\'s Avatar',16,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16928802,'Kindred_Black_Mage','Kindred Black Mage',17,-140,-80,432,68); -INSERT INTO `mob_spawn_points` VALUES (16928803,'Kindred_Black_Mage','Kindred Black Mage',17,-140,-80,425,189); -INSERT INTO `mob_spawn_points` VALUES (16928804,'Kindred_Black_Mage','Kindred Black Mage',17,-100,-80,406,189); -INSERT INTO `mob_spawn_points` VALUES (16928805,'Kindred_Black_Mage','Kindred Black Mage',17,-100,-80,412,68); -INSERT INTO `mob_spawn_points` VALUES (16928809,'Praetorian_Guard_CCXX','Praetorian Guard CCXX',19,-248,80,406,188); -- Northern 5th -INSERT INTO `mob_spawn_points` VALUES (16928810,'Praetorian_Guard_LXXIII','Praetorian Guard LXXIII',21,-248,80,431,65); -INSERT INTO `mob_spawn_points` VALUES (16928811,'Praetorian_Guard_CXLVIII','Praetorian Guard CXLVIII',20,-311,80,431,255); -INSERT INTO `mob_spawn_points` VALUES (16928812,'Praetorian_Guard_CCCXI','Praetorian Guard CCCXI',18,-312,80,407,247); -INSERT INTO `mob_spawn_points` VALUES (16928816,'Cryptonberry_Charmer','Cryptonberry Charmer',22,-468,-78,423,27); -- Northern 6th -INSERT INTO `mob_spawn_points` VALUES (16928817,'Cryptonberry_Skulker','Cryptonberry Skulker',23,-411,-78,428,96); -INSERT INTO `mob_spawn_points` VALUES (16928818,'Cryptonberry_Abductor','Cryptonberry Abductor',24,-463,-80,407,2); -INSERT INTO `mob_spawn_points` VALUES (16928819,'Cryptonberry_Designator','Cryptonberry Designator',25,-456,-80,407,130); -INSERT INTO `mob_spawn_points` VALUES (16928820,'Tonberrys_Elemental','Tonberry\'s Elemental',26,-456,-80,407.50,130); -INSERT INTO `mob_spawn_points` VALUES (16928821,'Tonberrys_Avatar','Tonberry\'s Avatar',27,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16928822,'Cryptonberry_Abductor','Cryptonberry Abductor',24,-443,-80,420,129); -INSERT INTO `mob_spawn_points` VALUES (16928823,'Cryptonberry_Designator','Cryptonberry Designator',25,-437,-80,420,253); -INSERT INTO `mob_spawn_points` VALUES (16928824,'Tonberrys_Elemental','Tonberry\'s Elemental',26,-437,-80,420.5,253); -INSERT INTO `mob_spawn_points` VALUES (16928825,'Tonberrys_Avatar','Tonberry\'s Avatar',27,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16928826,'Cryptonberry_Abductor','Cryptonberry Abductor',24,-414,-80,408,123); -INSERT INTO `mob_spawn_points` VALUES (16928827,'Cryptonberry_Designator','Cryptonberry Designator',25,-421,-80,408,251); -INSERT INTO `mob_spawn_points` VALUES (16928828,'Tonberrys_Elemental','Tonberry\'s Elemental',26,-421,-80,408.5,251); -INSERT INTO `mob_spawn_points` VALUES (16928829,'Tonberrys_Avatar','Tonberry\'s Avatar',27,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16928831,'Goblin_Warlord','Goblin Warlord',28,-599,85,437,66); -- Northern 7th -INSERT INTO `mob_spawn_points` VALUES (16928832,'Goblin_Fencer','Goblin Fencer',29,-607,85,437,228); -INSERT INTO `mob_spawn_points` VALUES (16928833,'Goblin_Theurgist','Goblin Theurgist',30,-599,85,447,16); -INSERT INTO `mob_spawn_points` VALUES (16928834,'Goblin_Fencer','Goblin Fencer',29,-591,85,437,80); -INSERT INTO `mob_spawn_points` VALUES (16928835,'Goblin_Theurgist','Goblin Theurgist',30,-599,85,430,145); - -INSERT INTO `mob_spawn_points` VALUES (16928840,'Fire_Elemental','Fire Elemental',31,370,-0.5,138,55); -- Eastern 1st -INSERT INTO `mob_spawn_points` VALUES (16928841,'Fire_Elemental','Fire Elemental',31,381,-0.5,178,85); -INSERT INTO `mob_spawn_points` VALUES (16928842,'Fire_Elemental','Fire Elemental',31,330,-4,187,85); -INSERT INTO `mob_spawn_points` VALUES (16928843,'Fire_Elemental','Fire Elemental',31,340,-0.5,139,219); -INSERT INTO `mob_spawn_points` VALUES (16928844,'Mystic_Avatar','Mystic Avatar',32,1,1,1,1); -INSERT INTO `mob_spawn_points` VALUES (16928849,'Ice_Elemental','Ice Elemental',33,200,-161,204,57); -- Eastern 2nd -INSERT INTO `mob_spawn_points` VALUES (16928850,'Ice_Elemental','Ice Elemental',33,200,-161,194,57); -INSERT INTO `mob_spawn_points` VALUES (16928851,'Ice_Elemental','Ice Elemental',33,194,-161,199,57); -INSERT INTO `mob_spawn_points` VALUES (16928852,'Ice_Elemental','Ice Elemental',33,204,-161,199,57); -INSERT INTO `mob_spawn_points` VALUES (16928853,'Mystic_Avatar','Mystic Avatar',34,1,1,1,1); -INSERT INTO `mob_spawn_points` VALUES (16928858,'Air_Elemental','Air Elemental',35,59,6,151,68); -- Eastern 3rd -INSERT INTO `mob_spawn_points` VALUES (16928859,'Air_Elemental','Air Elemental',35,59,6,140,63); -INSERT INTO `mob_spawn_points` VALUES (16928860,'Air_Elemental','Air Elemental',35,20,6,140,63); -INSERT INTO `mob_spawn_points` VALUES (16928861,'Air_Elemental','Air Elemental',35,20,6,151,63); -INSERT INTO `mob_spawn_points` VALUES (16928862,'Mystic_Avatar','Mystic Avatar',36,1,1,1,1); -INSERT INTO `mob_spawn_points` VALUES (16928867,'Earth_Elemental','Earth Elemental',37,-124,-160,142,1); -- Eastern 4th -INSERT INTO `mob_spawn_points` VALUES (16928868,'Earth_Elemental','Earth Elemental',37,-124,-160,132,1); -INSERT INTO `mob_spawn_points` VALUES (16928869,'Earth_Elemental','Earth Elemental',37,-116,-160,142,1); -INSERT INTO `mob_spawn_points` VALUES (16928870,'Earth_Elemental','Earth Elemental',37,-116,-160,132,1); -INSERT INTO `mob_spawn_points` VALUES (16928871,'Mystic_Avatar','Mystic Avatar',38,1,1,1,1); -INSERT INTO `mob_spawn_points` VALUES (16928876,'Thunder_Elemental','Thunder Elemental',39,-260,-0.5,138,55); -- Eastern 5th -INSERT INTO `mob_spawn_points` VALUES (16928877,'Thunder_Elemental','Thunder Elemental',39,-247,-0.5,151,55); -INSERT INTO `mob_spawn_points` VALUES (16928878,'Thunder_Elemental','Thunder Elemental',39,-300,-0.5,139,55); -INSERT INTO `mob_spawn_points` VALUES (16928879,'Thunder_Elemental','Thunder Elemental',39,-312,-0.5,128,55); -INSERT INTO `mob_spawn_points` VALUES (16928880,'Mystic_Avatar','Mystic Avatar',40,1,1,1,1); -INSERT INTO `mob_spawn_points` VALUES (16928885,'Water_Elemental','Water Elemental',41,-472,-158,146,46); -- Eastern 6th -INSERT INTO `mob_spawn_points` VALUES (16928886,'Water_Elemental','Water Elemental',41,-466,-158,151,10); -INSERT INTO `mob_spawn_points` VALUES (16928887,'Water_Elemental','Water Elemental',41,-414,-158,151,135); -INSERT INTO `mob_spawn_points` VALUES (16928888,'Water_Elemental','Water Elemental',41,-407,-158,148,78); -INSERT INTO `mob_spawn_points` VALUES (16928889,'Mystic_Avatar','Mystic Avatar',42,1,1,1,1); -INSERT INTO `mob_spawn_points` VALUES (16928892,'Dark_Elemental','Dark Elemental',43,-605,5,159,252); -- Eastern 7th -INSERT INTO `mob_spawn_points` VALUES (16928893,'Dark_Elemental','Dark Elemental',43,-597,5,159,128); -INSERT INTO `mob_spawn_points` VALUES (16928894,'Mystic_Avatar','Mystic Avatar',44,1,1,1,1); - -INSERT INTO `mob_spawn_points` VALUES (16928898,'Enhanced_Tiger','Enhanced Tiger',45,372,74,-110,250); -- Western 1st +INSERT INTO `mob_spawn_points` VALUES (16928772,'Goblin_Slaughterman','Goblin Slaughterman',1,330.000,69.500,470.000,32); +INSERT INTO `mob_spawn_points` VALUES (16928773,'Goblin_Slaughterman','Goblin Slaughterman',1,390.00,73.500,420.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928774,'Moblin_Dustman','Moblin Dustman',2,340.000,67.500,436.000,192); +INSERT INTO `mob_spawn_points` VALUES (16928775,'Moblin_Dustman','Moblin Dustman',2,364.000,68.000,460.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928776,'Moblin_Dustman','Moblin Dustman',2,370.210,74.000,408.226,54); +INSERT INTO `mob_spawn_points` VALUES (16928777,'Moblin_Dustman','Moblin Dustman',2,375.210,74.000,432.008,40); +INSERT INTO `mob_spawn_points` VALUES (16928781,'Skadi','Skadi',3,194.000,-81.500,480.000,64); +INSERT INTO `mob_spawn_points` VALUES (16928782,'Thrym','Thrym',4,199.998,-81.500,479.998,64); +INSERT INTO `mob_spawn_points` VALUES (16928783,'Beli','Beli',5,206.000,-81.500,480.000,64); +INSERT INTO `mob_spawn_points` VALUES (16928784,'Kari','Kari',6,186.000,-82.000,484.760,64); +INSERT INTO `mob_spawn_points` VALUES (16928788,'Telchines_Bard','Telchines Bard',7,20.000,79.500,430.000,64); +INSERT INTO `mob_spawn_points` VALUES (16928789,'Telchines_White_Mage','Telchines White Mage',8,60.000,79.500,430.000,64); +INSERT INTO `mob_spawn_points` VALUES (16928790,'Telchines_Dragoon','Telchines Dragoon',9,30.000,80.000,419.500,0); +INSERT INTO `mob_spawn_points` VALUES (16928791,'Telchiness_Wyvern','Telchines\'s Wyvern',10,45.470,79.913,420.334,36); +INSERT INTO `mob_spawn_points` VALUES (16928792,'Telchines_Monk','Telchines Monk',11,10.000,80.000,420.500,0); +INSERT INTO `mob_spawn_points` VALUES (16928793,'Telchines_Monk','Telchines Monk',11,50.000,80.000,420.500,128); +INSERT INTO `mob_spawn_points` VALUES (16928797,'Kindred_Warrior','Kindred Warrior',12,-120.000,-80.500,420.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928798,'Kindred_Dark_Knight','Kindred Dark Knight',13,-124.000,-80.500,420.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928799,'Kindred_Summoner','Kindred Summoner',14,-116.000,-80.500,420.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928800,'Kindreds_Elemental','Kindred\'s Elemental',15,-115.999,-80.500,420.001,128); +INSERT INTO `mob_spawn_points` VALUES (16928801,'Kindreds_Avatar','Kindred\'s Avatar',16,-128.184,-80.500,421.279,1); +INSERT INTO `mob_spawn_points` VALUES (16928802,'Kindred_Black_Mage','Kindred Black Mage',17,-148.860,-80.000,427.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928803,'Kindred_Black_Mage','Kindred Black Mage',17,-148.860,-80.000,430.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928804,'Kindred_Black_Mage','Kindred Black Mage',17,-91.860,-80.000,410.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928805,'Kindred_Black_Mage','Kindred Black Mage',17,-91.860,-80.000,413.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928809,'Praetorian_Guard_CCXX','Praetorian Guard CCXX',19,-248.000,79.500,408.000,192); +INSERT INTO `mob_spawn_points` VALUES (16928810,'Praetorian_Guard_LXXIII','Praetorian Guard LXXIII',21,-248.000,79.500,432.000,64); +INSERT INTO `mob_spawn_points` VALUES (16928811,'Praetorian_Guard_CXLVIII','Praetorian Guard CXLVIII',20,-312.000,79.500,432.000,64); +INSERT INTO `mob_spawn_points` VALUES (16928812,'Praetorian_Guard_CCCXI','Praetorian Guard CCCXI',18,-312.000,79.500,408.000,192); +INSERT INTO `mob_spawn_points` VALUES (16928816,'Cryptonberry_Charmer','Cryptonberry Charmer',22,-470.000,-78.500,430.000,32); +INSERT INTO `mob_spawn_points` VALUES (16928817,'Cryptonberry_Skulker','Cryptonberry Skulker',23,-410.000,-78.500,430.000,96); +INSERT INTO `mob_spawn_points` VALUES (16928818,'Cryptonberry_Abductor','Cryptonberry Abductor',24,-456.000,-80.000,420.500,128); +INSERT INTO `mob_spawn_points` VALUES (16928819,'Cryptonberry_Designator','Cryptonberry Designator',25,-424.000,-80.000,419.500,0); +INSERT INTO `mob_spawn_points` VALUES (16928820,'Tonberrys_Elemental','Tonberry\'s Elemental',26,-451.895,-80.500,422.834,221); +INSERT INTO `mob_spawn_points` VALUES (16928821,'Tonberrys_Avatar','Tonberry\'s Avatar',27,-452.096,-80.500,423.842,245); +INSERT INTO `mob_spawn_points` VALUES (16928822,'Cryptonberry_Abductor','Cryptonberry Abductor',24,-460.500,-80.000,408.000,64); +INSERT INTO `mob_spawn_points` VALUES (16928823,'Cryptonberry_Designator','Cryptonberry Designator',25,-459.500,-80.000,408.000,64); +INSERT INTO `mob_spawn_points` VALUES (16928824,'Tonberrys_Elemental','Tonberry\'s Elemental',26,-459.549,-80.500,405.154,128); +INSERT INTO `mob_spawn_points` VALUES (16928825,'Tonberrys_Avatar','Tonberry\'s Avatar',27,-461.317,-80.500,404.393,214); +INSERT INTO `mob_spawn_points` VALUES (16928826,'Cryptonberry_Abductor','Cryptonberry Abductor',24,-419.500,-80.000,408.000,64); +INSERT INTO `mob_spawn_points` VALUES (16928827,'Cryptonberry_Designator','Cryptonberry Designator',25,-420.500,-80.000,408.000,64); +INSERT INTO `mob_spawn_points` VALUES (16928828,'Tonberrys_Elemental','Tonberry\'s Elemental',26,-417.322,-80.500,410.365,252); +INSERT INTO `mob_spawn_points` VALUES (16928829,'Tonberrys_Avatar','Tonberry\'s Avatar',27,-415.666,-80.500,411.963,89); +INSERT INTO `mob_spawn_points` VALUES (16928831,'Goblin_Warlord','Goblin Warlord',28,-599.999,84.500,439.998,64); +INSERT INTO `mob_spawn_points` VALUES (16928832,'Goblin_Fencer','Goblin Fencer',29,-596.000,84.500,440.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928833,'Goblin_Theurgist','Goblin Theurgist',30,-600.000,84.500,436.000,64); +INSERT INTO `mob_spawn_points` VALUES (16928834,'Goblin_Fencer','Goblin Fencer',29,-604.000,84.500,440.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928835,'Goblin_Theurgist','Goblin Theurgist',30,-600.000,84.500,444.000,192); +INSERT INTO `mob_spawn_points` VALUES (16928840,'Fire_Elemental','Fire Elemental',31,372.000,-0.500,140.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928841,'Fire_Elemental','Fire Elemental',31,340.000,-0.500,140.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928842,'Fire_Elemental','Fire Elemental',31,340.000,-6.500,180.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928843,'Fire_Elemental','Fire Elemental',31,380.000,-0.500,180.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928844,'Mystic_Avatar','Mystic Avatar',32,340.766,-0.500,141.783,244); +INSERT INTO `mob_spawn_points` VALUES (16928849,'Ice_Elemental','Ice Elemental',33,200.000,-161.000,190.000,64); +INSERT INTO `mob_spawn_points` VALUES (16928850,'Ice_Elemental','Ice Elemental',33,190.000,-161.000,200.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928851,'Ice_Elemental','Ice Elemental',33,200.000,-161.000,210.000,192); +INSERT INTO `mob_spawn_points` VALUES (16928852,'Ice_Elemental','Ice Elemental',33,210.000,-161.000,200.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928853,'Mystic_Avatar','Mystic Avatar',34,199.438,-161.500,202.988,65); +INSERT INTO `mob_spawn_points` VALUES (16928858,'Air_Elemental','Air Elemental',35,20.000,6.000,152.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928859,'Air_Elemental','Air Elemental',35,20.000,6.000,142.640,64); +INSERT INTO `mob_spawn_points` VALUES (16928860,'Air_Elemental','Air Elemental',35,60.000,6.000,152.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928861,'Air_Elemental','Air Elemental',35,60.000,6.000,142.640,192); +INSERT INTO `mob_spawn_points` VALUES (16928862,'Mystic_Avatar','Mystic Avatar',36,22.520,6.000,141.250,126); +INSERT INTO `mob_spawn_points` VALUES (16928867,'Earth_Elemental','Earth Elemental',37,-122.000,-160.500,136.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928868,'Earth_Elemental','Earth Elemental',37,-118.000,-160.500,136.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928869,'Earth_Elemental','Earth Elemental',37,-122.000,-160.500,144.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928870,'Earth_Elemental','Earth Elemental',37,-118.000,-160.500,144.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928871,'Mystic_Avatar','Mystic Avatar',38,-120.119,-160.500,143.929,222); +INSERT INTO `mob_spawn_points` VALUES (16928876,'Thunder_Elemental','Thunder Elemental',39,-312.000,0.000,152.000,192); +INSERT INTO `mob_spawn_points` VALUES (16928877,'Thunder_Elemental','Thunder Elemental',39,-300.000,0.000,128.000,64); +INSERT INTO `mob_spawn_points` VALUES (16928878,'Thunder_Elemental','Thunder Elemental',39,-248.000,0.000,128.000,64); +INSERT INTO `mob_spawn_points` VALUES (16928879,'Thunder_Elemental','Thunder Elemental',39,-260.000,0.000,152.000,64); +INSERT INTO `mob_spawn_points` VALUES (16928880,'Mystic_Avatar','Mystic Avatar',40,-312.135,-0.500,149.307,238); +INSERT INTO `mob_spawn_points` VALUES (16928885,'Water_Elemental','Water Elemental',41,-467.500,-158.500,148.500,0); +INSERT INTO `mob_spawn_points` VALUES (16928886,'Water_Elemental','Water Elemental',41,-468.500,-158.500,147.500,0); +INSERT INTO `mob_spawn_points` VALUES (16928887,'Water_Elemental','Water Elemental',41,-412.500,-158.500,148.500,0); +INSERT INTO `mob_spawn_points` VALUES (16928888,'Water_Elemental','Water Elemental',41,-411.500,-158.500,147.500,0); +INSERT INTO `mob_spawn_points` VALUES (16928889,'Mystic_Avatar','Mystic Avatar',42,-415.152,-158.500,147.996,120); +INSERT INTO `mob_spawn_points` VALUES (16928892,'Dark_Elemental','Dark Elemental',43,-602.000,4.500,159.998,64); +INSERT INTO `mob_spawn_points` VALUES (16928893,'Dark_Elemental','Dark Elemental',43,-598.000,4.500,159.998,64); +INSERT INTO `mob_spawn_points` VALUES (16928894,'Mystic_Avatar','Mystic Avatar',44,-598.000,4.500,159.998,180); +INSERT INTO `mob_spawn_points` VALUES (16928898,'Enhanced_Tiger','Enhanced Tiger',45,372,74,-110,250); INSERT INTO `mob_spawn_points` VALUES (16928899,'Enhanced_Tiger','Enhanced Tiger',45,372,74,-90,250); -INSERT INTO `mob_spawn_points` VALUES (16928900,'Enhanced_Tiger','Enhanced Tiger',45,363,68,-99,250); +INSERT INTO `mob_spawn_points` VALUES (16928900,'Enhanced_Tiger','Enhanced Tiger',45,343.635,68.000,-100.000,250); INSERT INTO `mob_spawn_points` VALUES (16928901,'Enhanced_Tiger','Enhanced Tiger',45,333,70,-93,24); INSERT INTO `mob_spawn_points` VALUES (16928902,'Enhanced_Tiger','Enhanced Tiger',45,328,70,-96,248); INSERT INTO `mob_spawn_points` VALUES (16928903,'Enhanced_Tiger','Enhanced Tiger',45,335,70,-88,81); -INSERT INTO `mob_spawn_points` VALUES (16928904,'Enhanced_Tiger','Enhanced Tiger',45,339,68,-123,59); +INSERT INTO `mob_spawn_points` VALUES (16928904,'Enhanced_Tiger','Enhanced Tiger',45,340.000,68.000,-103.500,59); INSERT INTO `mob_spawn_points` VALUES (16928905,'Enhanced_Tiger','Enhanced Tiger',45,329,74,-132,50); INSERT INTO `mob_spawn_points` VALUES (16928906,'Enhanced_Tiger','Enhanced Tiger',45,349,74,-131,64); -INSERT INTO `mob_spawn_points` VALUES (16928910,'Enhanced_Mandragora','Enhanced Mandragora',46,192,-80,-140,190); -- Western 2nd -INSERT INTO `mob_spawn_points` VALUES (16928911,'Enhanced_Mandragora','Enhanced Mandragora',46,195,-80,-140,190); -INSERT INTO `mob_spawn_points` VALUES (16928912,'Enhanced_Mandragora','Enhanced Mandragora',46,189,-80,-140,190); -INSERT INTO `mob_spawn_points` VALUES (16928913,'Enhanced_Mandragora','Enhanced Mandragora',46,207,-81,-72,97); -INSERT INTO `mob_spawn_points` VALUES (16928914,'Enhanced_Mandragora','Enhanced Mandragora',46,203,-81,-72,48); -INSERT INTO `mob_spawn_points` VALUES (16928915,'Enhanced_Mandragora','Enhanced Mandragora',46,208,-81,-75,128); -INSERT INTO `mob_spawn_points` VALUES (16928916,'Enhanced_Mandragora','Enhanced Mandragora',46,192,-81,-87,223); -INSERT INTO `mob_spawn_points` VALUES (16928917,'Enhanced_Mandragora','Enhanced Mandragora',46,195,-81,-88,171); -INSERT INTO `mob_spawn_points` VALUES (16928918,'Enhanced_Mandragora','Enhanced Mandragora',46,190,-81,-84,7); -INSERT INTO `mob_spawn_points` VALUES (16928922,'Enhanced_Beetle','Enhanced Beetle',47,59,80,-128,61); -- Western 3rd -INSERT INTO `mob_spawn_points` VALUES (16928923,'Enhanced_Beetle','Enhanced Beetle',47,70,80,-139,127); -INSERT INTO `mob_spawn_points` VALUES (16928924,'Enhanced_Beetle','Enhanced Beetle',47,48,80,-140,7); -INSERT INTO `mob_spawn_points` VALUES (16928925,'Enhanced_Beetle','Enhanced Beetle',47,31,80,-140,127); -INSERT INTO `mob_spawn_points` VALUES (16928926,'Enhanced_Beetle','Enhanced Beetle',47,9,80,-140,7); -INSERT INTO `mob_spawn_points` VALUES (16928927,'Enhanced_Beetle','Enhanced Beetle',47,19,80,-129,59); -INSERT INTO `mob_spawn_points` VALUES (16928931,'Enhanced_Lizard','Enhanced Lizard',48,-120,-80,-139,62); -- Western 4th -INSERT INTO `mob_spawn_points` VALUES (16928932,'Enhanced_Lizard','Enhanced Lizard',48,-120,-80,-146,182); -INSERT INTO `mob_spawn_points` VALUES (16928933,'Enhanced_Lizard','Enhanced Lizard',48,-120,-80,-132,64); -INSERT INTO `mob_spawn_points` VALUES (16928934,'Enhanced_Lizard','Enhanced Lizard',48,-143,-80,-139,254); -INSERT INTO `mob_spawn_points` VALUES (16928935,'Enhanced_Lizard','Enhanced Lizard',48,-150,-80,-132,1); -INSERT INTO `mob_spawn_points` VALUES (16928936,'Enhanced_Lizard','Enhanced Lizard',48,-150,-80,-147,1); -INSERT INTO `mob_spawn_points` VALUES (16928937,'Enhanced_Lizard','Enhanced Lizard',48,-98,-80,-139,127); -INSERT INTO `mob_spawn_points` VALUES (16928938,'Enhanced_Lizard','Enhanced Lizard',48,-89,-80,-148,131); -INSERT INTO `mob_spawn_points` VALUES (16928939,'Enhanced_Lizard','Enhanced Lizard',48,-89,-80,-132,131); -INSERT INTO `mob_spawn_points` VALUES (16928943,'Enhanced_Slime','Enhanced Slime',49,-260,80,-150,191); -- Western 5th -INSERT INTO `mob_spawn_points` VALUES (16928944,'Enhanced_Slime','Enhanced Slime',49,-260,80,-130,62); -INSERT INTO `mob_spawn_points` VALUES (16928945,'Enhanced_Slime','Enhanced Slime',49,-276,74,-140,254); -INSERT INTO `mob_spawn_points` VALUES (16928946,'Enhanced_Slime','Enhanced Slime',49,-283,74,-140,130); -INSERT INTO `mob_spawn_points` VALUES (16928947,'Enhanced_Slime','Enhanced Slime',49,-300,80,-129,71); -INSERT INTO `mob_spawn_points` VALUES (16928948,'Enhanced_Slime','Enhanced Slime',49,-300,80,-151,187); -INSERT INTO `mob_spawn_points` VALUES (16928952,'Enhanced_Pugil','Enhanced Pugil',50,-468,-78,-131,29); -- Western 6th -INSERT INTO `mob_spawn_points` VALUES (16928953,'Enhanced_Pugil','Enhanced Pugil',50,-472,-78,-132,253); -INSERT INTO `mob_spawn_points` VALUES (16928954,'Enhanced_Pugil','Enhanced Pugil',50,-466,-78,-127,86); -INSERT INTO `mob_spawn_points` VALUES (16928955,'Enhanced_Pugil','Enhanced Pugil',50,-410,-78,-130,102); -INSERT INTO `mob_spawn_points` VALUES (16928956,'Enhanced_Pugil','Enhanced Pugil',50,-413,-78,-125,65); -INSERT INTO `mob_spawn_points` VALUES (16928957,'Enhanced_Pugil','Enhanced Pugil',50,-408,-78,-131,134); -INSERT INTO `mob_spawn_points` VALUES (16928959,'Enhanced_Vulture','Enhanced Vulture',51,-599,85,-124,61); -- Western 7th -INSERT INTO `mob_spawn_points` VALUES (16928960,'Enhanced_Vulture','Enhanced Vulture',51,-595,85,-120,61); -INSERT INTO `mob_spawn_points` VALUES (16928961,'Enhanced_Vulture','Enhanced Vulture',51,-603,85,-120,61); -INSERT INTO `mob_spawn_points` VALUES (16928962,'Enhanced_Vulture','Enhanced Vulture',51,-599,85,-117,61); -INSERT INTO `mob_spawn_points` VALUES (16928963,'Enhanced_Vulture','Enhanced Vulture',51,-607,85,-117,61); -INSERT INTO `mob_spawn_points` VALUES (16928964,'Enhanced_Vulture','Enhanced Vulture',51,-591,85,-117,61); - -INSERT INTO `mob_spawn_points` VALUES (16928966,'Proto-Ultima','Proto-Ultima',52,-559,5,-358,59); -- Central 4th -INSERT INTO `mob_spawn_points` VALUES (16928986,'Kingslayer_Doggvdegg','Kingslayer Doggvdegg',53,1,1,1,1); -INSERT INTO `mob_spawn_points` VALUES (16928987,'JiGho_Ageless','Ji\'Gho Ageless',54,1,1,1,1); -INSERT INTO `mob_spawn_points` VALUES (16928988,'Koo_Buzu_the_Theomanic','Koo Buzu the Theomanic',55,1,1,1,1); -INSERT INTO `mob_spawn_points` VALUES (16928991,'Mystic_Avatar','Mystic Avatar',56,1,1,1,1); -INSERT INTO `mob_spawn_points` VALUES (16928992,'Mystic_Avatar','Mystic Avatar',32,1,1,1,1); -INSERT INTO `mob_spawn_points` VALUES (16928993,'Mystic_Avatar','Mystic Avatar',34,1,1,1,1); -INSERT INTO `mob_spawn_points` VALUES (16928994,'Mystic_Avatar','Mystic Avatar',36,1,1,1,1); -INSERT INTO `mob_spawn_points` VALUES (16928995,'Mystic_Avatar','Mystic Avatar',38,1,1,1,1); -INSERT INTO `mob_spawn_points` VALUES (16928996,'Mystic_Avatar','Mystic Avatar',40,1,1,1,1); -INSERT INTO `mob_spawn_points` VALUES (16928997,'Enhanced_Koenigstiger','Enhanced Koenigstiger',57,1,1,1,1); -INSERT INTO `mob_spawn_points` VALUES (16928998,'Enhanced_Pygmaioi','Enhanced Pygmaioi',58,1,1,1,1); -INSERT INTO `mob_spawn_points` VALUES (16928999,'Enhanced_Kettenkaefer','Enhanced Kettenkaefer',59,1,1,1,1); -INSERT INTO `mob_spawn_points` VALUES (16929000,'Enhanced_Salamander','Enhanced Salamander',60,1,1,1,1); -INSERT INTO `mob_spawn_points` VALUES (16929001,'Enhanced_Jelly','Enhanced Jelly',61,1,1,1,1); -INSERT INTO `mob_spawn_points` VALUES (16929002,'Enhanced_Makara','Enhanced Makara',62,1,1,1,1); -INSERT INTO `mob_spawn_points` VALUES (16929003,'Enhanced_Akbaba','Enhanced Akbaba',63,1,1,1,1); - -INSERT INTO `mob_spawn_points` VALUES (16929005,'Abyssdweller_Jhabdebb','Abyssdweller Jhabdebb',64,-288,-161,-440,250); -- Central 3rd -INSERT INTO `mob_spawn_points` VALUES (16929006,'Orichalcum_Quadav','Orichalcum Quadav',65,-274,-161,-432,102); -INSERT INTO `mob_spawn_points` VALUES (16929007,'Pee_Qoho_the_Python','Pee Qoho the Python',66,-274,-161,-446,141); -INSERT INTO `mob_spawn_points` VALUES (16929008,'Yagudos_Elemental','Yagudo\'s Elemental',67,1,1,1,0); -INSERT INTO `mob_spawn_points` VALUES (16929009,'Yagudos_Avatar','Yagudo\'s Avatar',68,-274,-161,-447,141); -INSERT INTO `mob_spawn_points` VALUES (16929010,'Grognard_Mesmerizer','Grognard Mesmerizer',69,-351,-158,-512,213); -INSERT INTO `mob_spawn_points` VALUES (16929011,'Grognard_Footsoldier','Grognard Footsoldier',70,-354,-158,-504,250); -INSERT INTO `mob_spawn_points` VALUES (16929012,'Grognard_Predator','Grognard Predator',71,-344,-158,-514,178); -INSERT INTO `mob_spawn_points` VALUES (16929013,'Grognard_Neckchopper','Grognard Neckchopper',72,-210,-158,-511,159); -INSERT INTO `mob_spawn_points` VALUES (16929014,'Grognard_Grappler','Grognard Grappler',73,-204,-158,-504,117); -INSERT INTO `mob_spawn_points` VALUES (16929015,'Grognard_Impaler','Grognard Impaler',74,-217,-158,-514,182); -INSERT INTO `mob_spawn_points` VALUES (16929016,'Orcs_Wyvern','Orc\'s Wyvern',75,-217,-158,-515,182); -INSERT INTO `mob_spawn_points` VALUES (16929017,'Star_Ruby_Quadav','Star Ruby Quadav',76,-343,-166,-459,250); -INSERT INTO `mob_spawn_points` VALUES (16929018,'Fossil_Quadav','Fossil Quadav',77,-328,-166,-448,62); -INSERT INTO `mob_spawn_points` VALUES (16929019,'Whitegold_Quadav','Whitegold Quadav',78,-327,-166,-470,191); -INSERT INTO `mob_spawn_points` VALUES (16929020,'Wootz_Quadav','Wootz Quadav',79,-218,-166,-459,126); -INSERT INTO `mob_spawn_points` VALUES (16929021,'Star_Sapphire_Quadav','Star Sapphire Quadav',80,-232,-166,-448,64); -INSERT INTO `mob_spawn_points` VALUES (16929022,'Lightsteel_Quadav','Lightsteel Quadav',81,-231,-166,-472,193); -INSERT INTO `mob_spawn_points` VALUES (16929023,'Yagudo_Archpriest','Yagudo Archpriest',82,-351,-160,-420,250); -INSERT INTO `mob_spawn_points` VALUES (16929024,'Yagudo_Disciplinant','Yagudo Disciplinant',83,-333,-160,-409,117); -INSERT INTO `mob_spawn_points` VALUES (16929025,'Yagudo_Kapellmeister','Yagudo Kapellmeister',84,-330,-160,-430,134); -INSERT INTO `mob_spawn_points` VALUES (16929026,'Yagudo_Knight_Templar','Yagudo Knight Templar',85,-208,-160,-419,130); -INSERT INTO `mob_spawn_points` VALUES (16929027,'Yagudo_Prelatess','Yagudo Prelatess',86,-230,-160,-429,239); -INSERT INTO `mob_spawn_points` VALUES (16929028,'Yagudo_Eradicator','Yagudo Eradicator',87,-228,-160,-410,1); - -INSERT INTO `mob_spawn_points` VALUES (16929030,'Mystic_Avatar','Mystic Avatar',56,0.1,-6,-462,192); -- Central 2nd -INSERT INTO `mob_spawn_points` VALUES (16929031,'Light_Elemental','Light Elemental',88,3,-6,-457,87); -INSERT INTO `mob_spawn_points` VALUES (16929032,'Light_Elemental','Light Elemental',88,-3,-6,-457,34); -INSERT INTO `mob_spawn_points` VALUES (16929033,'Fire_Elemental','Fire Elemental',31,70,2,-509,150); -INSERT INTO `mob_spawn_points` VALUES (16929034,'Ice_Elemental','Ice Elemental',33,-70,2,-510,229); -INSERT INTO `mob_spawn_points` VALUES (16929035,'Air_Elemental','Air Elemental',35,-73,-0.5,-459,250); -INSERT INTO `mob_spawn_points` VALUES (16929036,'Earth_Elemental','Earth Elemental',37,-71,2,-408,26); -INSERT INTO `mob_spawn_points` VALUES (16929037,'Thunder_Elemental','Thunder Elemental',39,71,2,-408,87); -INSERT INTO `mob_spawn_points` VALUES (16929038,'Water_Elemental','Water Elemental',41,74,-0.5,-459,121); -INSERT INTO `mob_spawn_points` VALUES (16929039,'Mystic_Avatar','Mystic Avatar',32,70,2,-509,150); -INSERT INTO `mob_spawn_points` VALUES (16929040,'Mystic_Avatar','Mystic Avatar',34,-70,2,-510,229); -INSERT INTO `mob_spawn_points` VALUES (16929041,'Mystic_Avatar','Mystic Avatar',36,-73,-0.5,-459,250); -INSERT INTO `mob_spawn_points` VALUES (16929042,'Mystic_Avatar','Mystic Avatar',38,-71,2,-408,26); -INSERT INTO `mob_spawn_points` VALUES (16929043,'Mystic_Avatar','Mystic Avatar',40,71,2,-408,87); -INSERT INTO `mob_spawn_points` VALUES (16929044,'Mystic_Avatar','Mystic Avatar',42,74,-0.5,-459,121); - -INSERT INTO `mob_spawn_points` VALUES (16929046,'Airi','Airi',89,269,-160,-459,129); -- Central 1st -INSERT INTO `mob_spawn_points` VALUES (16929047,'Temenos_Cleaner','Temenos Cleaner',90,291,-160,-460,159); -INSERT INTO `mob_spawn_points` VALUES (16929048,'Iruci','Iruci',91,219,-160,-489,185); -INSERT INTO `mob_spawn_points` VALUES (16929049,'Temenos_Weapon','Temenos Weapon',92,340,-160,-489,189); -INSERT INTO `mob_spawn_points` VALUES (16929050,'Enhanced_Dragon','Enhanced Dragon',93,350,-164,-410,91); -INSERT INTO `mob_spawn_points` VALUES (16929051,'Enhanced_Ahriman','Enhanced Ahriman',94,208,-164,-409,34); - -INSERT INTO `mob_spawn_points` VALUES (16929053,'Temenos_Aern','Temenos Aern',95,539,-0.5,-460,192); -- Central Basement -INSERT INTO `mob_spawn_points` VALUES (16929054,'Temenos_Aern','Temenos Aern',95,533,-0.5,-459,246); -INSERT INTO `mob_spawn_points` VALUES (16929055,'Temenos_Aern','Temenos Aern',95,546,-0.5,-459,126); -INSERT INTO `mob_spawn_points` VALUES (16929056,'Aerns_Wynav','Aern\'s Wynav',96,546,-0.5,-460,126); -INSERT INTO `mob_spawn_points` VALUES (16929057,'Temenos_Aern','Temenos Aern',95,540,-0.5,-454,70); -- 4 -INSERT INTO `mob_spawn_points` VALUES (16929058,'Temenos_Aern','Temenos Aern',95,579,-0.5,-459,51); -INSERT INTO `mob_spawn_points` VALUES (16929059,'Aerns_Euvhi','Aern\'s Euvhi',97,579,-0.5,-460,51); -INSERT INTO `mob_spawn_points` VALUES (16929060,'Temenos_Aern','Temenos Aern',95,580,-0.5,-451,56); -INSERT INTO `mob_spawn_points` VALUES (16929061,'Temenos_Aern','Temenos Aern',95,587,-0.5,-460,123); -INSERT INTO `mob_spawn_points` VALUES (16929062,'Temenos_Aern','Temenos Aern',95,570,-0.5,-450,252); -INSERT INTO `mob_spawn_points` VALUES (16929063,'Temenos_Aern','Temenos Aern',95,579,-0.5,-469,183); -- 5 -INSERT INTO `mob_spawn_points` VALUES (16929064,'Temenos_Aern','Temenos Aern',95,630,2,-408,103); -INSERT INTO `mob_spawn_points` VALUES (16929065,'Temenos_Aern','Temenos Aern',95,633,2,-416,190); -INSERT INTO `mob_spawn_points` VALUES (16929066,'Temenos_Aern','Temenos Aern',95,618,2,-406,2); -INSERT INTO `mob_spawn_points` VALUES (16929067,'Aerns_Elemental','Aern\'s Elemental',98,618,2,-407,2); -INSERT INTO `mob_spawn_points` VALUES (16929068,'Aerns_Avatar','Aern\'s Avatar',99,0,0,0,0); -- 3 -INSERT INTO `mob_spawn_points` VALUES (16929069,'Temenos_Aern','Temenos Aern',95,495,2,-415,151); -INSERT INTO `mob_spawn_points` VALUES (16929070,'Aerns_Wynav','Aern\'s Wynav',96,495,2,-415,151); -INSERT INTO `mob_spawn_points` VALUES (16929071,'Temenos_Aern','Temenos Aern',95,488,2,-408,26); -INSERT INTO `mob_spawn_points` VALUES (16929072,'Temenos_Aern','Temenos Aern',95,496,2,-406,119); -INSERT INTO `mob_spawn_points` VALUES (16929073,'Temenos_Aern','Temenos Aern',95,489,2,-420,200); -INSERT INTO `mob_spawn_points` VALUES (16929074,'Aerns_Euvhi','Aern\'s Euvhi',97,489,2,-420,200); -- 4 -INSERT INTO `mob_spawn_points` VALUES (16929075,'Temenos_Aern','Temenos Aern',95,559,5,-398,59); -INSERT INTO `mob_spawn_points` VALUES (16929076,'Temenos_Aern','Temenos Aern',95,565,5,-405,51); -INSERT INTO `mob_spawn_points` VALUES (16929077,'Temenos_Aern','Temenos Aern',95,554,5,-405,229); -INSERT INTO `mob_spawn_points` VALUES (16929078,'Temenos_Aern','Temenos Aern',95,553,5,-393,28); -INSERT INTO `mob_spawn_points` VALUES (16929079,'Temenos_Aern','Temenos Aern',95,565,5,-394,94); -INSERT INTO `mob_spawn_points` VALUES (16929080,'Aerns_Elemental','Aern\'s Elemental',98,565,5,-395,94); -INSERT INTO `mob_spawn_points` VALUES (16929081,'Aerns_Avatar','Aern\'s Avatar',99,0,0,0,0); -- 5 17 -INSERT INTO `mob_spawn_points` VALUES (16929082,'Temenos_Aern','Temenos Aern',95,499,-0.5,-499,193); -INSERT INTO `mob_spawn_points` VALUES (16929083,'Temenos_Aern','Temenos Aern',95,507,-0.5,-503,152); -INSERT INTO `mob_spawn_points` VALUES (16929084,'Temenos_Aern','Temenos Aern',95,491,-0.5,-504,222); -INSERT INTO `mob_spawn_points` VALUES (16929085,'Temenos_Aern','Temenos Aern',95,619,-0.5,-499,189); -INSERT INTO `mob_spawn_points` VALUES (16929086,'Temenos_Aern','Temenos Aern',95,627,-0.5,-505,160); -INSERT INTO `mob_spawn_points` VALUES (16929087,'Temenos_Aern','Temenos Aern',95,610,-0.5,-506,225); -INSERT INTO `mob_spawn_points` VALUES (16929088,'Temenos_Ghrah','Temenos Ghrah',100,1,1,1,1); - -INSERT INTO `mob_spawn_points` VALUES (16929090,'Temenos_Aern','Temenos Aern',101,0,0,0,0); -- Central Basement II -INSERT INTO `mob_spawn_points` VALUES (16929091,'Temenos_Aern','Temenos Aern',101,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929092,'Temenos_Aern','Temenos Aern',101,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929093,'Temenos_Aern','Temenos Aern',101,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929094,'Temenos_Aern','Temenos Aern',101,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929095,'Temenos_Aern','Temenos Aern',101,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929096,'Temenos_Aern','Temenos Aern',101,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929097,'Temenos_Aern','Temenos Aern',101,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929098,'Temenos_Aern','Temenos Aern',101,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929099,'Aerns_Wynav','Aern\'s Wynav',102,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929100,'Temenos_Aern','Temenos Aern',101,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929101,'Temenos_Aern','Temenos Aern',101,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929102,'Aerns_Wynav','Aern\'s Wynav',102,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929103,'Temenos_Aern','Temenos Aern',101,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929104,'Temenos_Aern','Temenos Aern',101,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929105,'Temenos_Aern','Temenos Aern',101,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929106,'Temenos_Aern','Temenos Aern',101,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929107,'Temenos_Aern','Temenos Aern',101,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929108,'Temenos_Aern','Temenos Aern',101,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929109,'Temenos_Aern','Temenos Aern',101,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929110,'Temenos_Aern','Temenos Aern',101,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929111,'Temenos_Aern','Temenos Aern',101,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929112,'Temenos_Aern','Temenos Aern',101,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929113,'Temenos_Aern','Temenos Aern',101,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929114,'Aerns_Elemental','Aern\'s Elemental',98,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929115,'Aerns_Avatar','Aern\'s Avatar',99,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929117,'Temenos_Euvhi','Temenos Euvhi',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929118,'Temenos_Euvhi','Temenos Euvhi',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929119,'Temenos_Euvhi','Temenos Euvhi',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929120,'Temenos_Euvhi','Temenos Euvhi',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929121,'Temenos_Euvhi','Temenos Euvhi',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929122,'Temenos_Euvhi','Temenos Euvhi',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929123,'Temenos_Euvhi','Temenos Euvhi',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929124,'Temenos_Euvhi','Temenos Euvhi',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929125,'Temenos_Euvhi','Temenos Euvhi',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929126,'Temenos_Euvhi','Temenos Euvhi',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929127,'Thalesek','Thalesek',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929129,'Pyrrha','Pyrrha',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929130,'Pyrrha','Pyrrha',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929131,'Pyrrha','Pyrrha',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929132,'Pyrrha','Pyrrha',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929133,'Pyrrha','Pyrrha',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929134,'Pyrrha','Pyrrha',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929135,'Pyrrha','Pyrrha',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929136,'Pyrrha','Pyrrha',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929137,'Temenos_Ghrah','Temenos Ghrah',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929138,'Temenos_Ghrah','Temenos Ghrah',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929139,'Temenos_Ghrah','Temenos Ghrah',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929140,'Temenos_Ghrah','Temenos Ghrah',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929141,'Temenos_Ghrah','Temenos Ghrah',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929142,'Temenos_Ghrah','Temenos Ghrah',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929143,'Temenos_Ghrah','Temenos Ghrah',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929144,'Temenos_Ghrah','Temenos Ghrah',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929145,'Temenos_Ghrah','Temenos Ghrah',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929146,'Temenos_Ghrah','Temenos Ghrah',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929147,'Temenos_Ghrah','Temenos Ghrah',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929148,'Temenos_Ghrah','Temenos Ghrah',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929149,'Temenos_Ghrah','Temenos Ghrah',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929150,'Temenos_Ghrah','Temenos Ghrah',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929151,'Temenos_Ghrah','Temenos Ghrah',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929152,'Temenos_Ghrah','Temenos Ghrah',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929153,'Temenos_Ghrah','Temenos Ghrah',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929154,'Temenos_Ghrah','Temenos Ghrah',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929155,'Temenos_Ghrah','Temenos Ghrah',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929156,'Temenos_Ghrah','Temenos Ghrah',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929157,'Temenos_Ghrah','Temenos Ghrah',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929158,'Temenos_Ghrah','Temenos Ghrah',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929159,'Temenos_Ghrah','Temenos Ghrah',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16929160,'Temenos_Ghrah','Temenos Ghrah',0,0,0,0,0); - -INSERT INTO `mob_spawn_points` VALUES (16929162,'Arch-Ultima','Arch-Ultima',0,0,0,0,0); -- Central 4th II +INSERT INTO `mob_spawn_points` VALUES (16928910,'Enhanced_Mandragora','Enhanced Mandragora',46,198.000,-81.000,-86.000,64); +INSERT INTO `mob_spawn_points` VALUES (16928911,'Enhanced_Mandragora','Enhanced Mandragora',46,202.000,-81.000,-74.000,192); +INSERT INTO `mob_spawn_points` VALUES (16928912,'Enhanced_Mandragora','Enhanced Mandragora',46,193.000,-81.000,-88.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928913,'Enhanced_Mandragora','Enhanced Mandragora',46,208.000,-81.000,-87.000,64); +INSERT INTO `mob_spawn_points` VALUES (16928914,'Enhanced_Mandragora','Enhanced Mandragora',46,207.000,-81.000,-72.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928915,'Enhanced_Mandragora','Enhanced Mandragora',46,192.000,-81.000,-73.000,192); +INSERT INTO `mob_spawn_points` VALUES (16928916,'Enhanced_Mandragora','Enhanced Mandragora',46,232.680,-80.000,-140.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928917,'Enhanced_Mandragora','Enhanced Mandragora',46,234.600,-80.000,-140.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928918,'Enhanced_Mandragora','Enhanced Mandragora',46,236.560,-80.000,-140.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928922,'Enhanced_Beetle','Enhanced Beetle',47,8.000,80.000,-140.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928923,'Enhanced_Beetle','Enhanced Beetle',47,20.000,80.000,-128.000,192); +INSERT INTO `mob_spawn_points` VALUES (16928924,'Enhanced_Beetle','Enhanced Beetle',47,32.000,80.000,-140.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928925,'Enhanced_Beetle','Enhanced Beetle',47,48.000,80.000,-140.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928926,'Enhanced_Beetle','Enhanced Beetle',47,60.000,80.000,-128.000,192); +INSERT INTO `mob_spawn_points` VALUES (16928927,'Enhanced_Beetle','Enhanced Beetle',47,72.000,80.000,-140.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928931,'Enhanced_Lizard','Enhanced Lizard',48,-153.000,-80.000,-150.500,0); +INSERT INTO `mob_spawn_points` VALUES (16928932,'Enhanced_Lizard','Enhanced Lizard',48,-130.000,-80.000,-147.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928933,'Enhanced_Lizard','Enhanced Lizard',48,-110.000,-80.000,-147.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928934,'Enhanced_Lizard','Enhanced Lizard',48,-87.000,-80.000,-142.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928935,'Enhanced_Lizard','Enhanced Lizard',48,-153.000,-80.000,-138.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928936,'Enhanced_Lizard','Enhanced Lizard',48,-127.960,-80.000,-140.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928937,'Enhanced_Lizard','Enhanced Lizard',48,-130.000,-80.000,-133.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928938,'Enhanced_Lizard','Enhanced Lizard',48,-110.000,-80.000,-133.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928939,'Enhanced_Lizard','Enhanced Lizard',48,-87.000,-80.000,-129.500,128); +INSERT INTO `mob_spawn_points` VALUES (16928943,'Enhanced_Slime','Enhanced Slime',49,-300.000,79.500,-152.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928944,'Enhanced_Slime','Enhanced Slime',49,-300.000,79.500,-128.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928945,'Enhanced_Slime','Enhanced Slime',49,-300.000,79.500,-150.000,64); +INSERT INTO `mob_spawn_points` VALUES (16928946,'Enhanced_Slime','Enhanced Slime',49,-260.000,79.500,-152.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928947,'Enhanced_Slime','Enhanced Slime',49,-260.000,79.500,-128.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928948,'Enhanced_Slime','Enhanced Slime',49,-260.000,79.500,-150.000,192); +INSERT INTO `mob_spawn_points` VALUES (16928952,'Enhanced_Pugil','Enhanced Pugil',50,-460.000,-80.500,-143.500,64); +INSERT INTO `mob_spawn_points` VALUES (16928953,'Enhanced_Pugil','Enhanced Pugil',50,-456.500,-80.500,-140.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928954,'Enhanced_Pugil','Enhanced Pugil',50,-470.000,-78.500,-130.000,32); +INSERT INTO `mob_spawn_points` VALUES (16928955,'Enhanced_Pugil','Enhanced Pugil',50,-420.000,-80.500,-143.500,64); +INSERT INTO `mob_spawn_points` VALUES (16928956,'Enhanced_Pugil','Enhanced Pugil',50,-423.500,-80.500,-140.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928957,'Enhanced_Pugil','Enhanced Pugil',50,-410.000,-78.500,-130.000,96); +INSERT INTO `mob_spawn_points` VALUES (16928959,'Enhanced_Vulture','Enhanced Vulture',51,-600.000,84.500,-124.000,64); +INSERT INTO `mob_spawn_points` VALUES (16928960,'Enhanced_Vulture','Enhanced Vulture',51,-602.000,84.500,-120.000,64); +INSERT INTO `mob_spawn_points` VALUES (16928961,'Enhanced_Vulture','Enhanced Vulture',51,-598.000,84.500,-120.000,64); +INSERT INTO `mob_spawn_points` VALUES (16928962,'Enhanced_Vulture','Enhanced Vulture',51,-604.000,84.500,-116.000,64); +INSERT INTO `mob_spawn_points` VALUES (16928963,'Enhanced_Vulture','Enhanced Vulture',51,-600.000,84.500,-116.000,64); +INSERT INTO `mob_spawn_points` VALUES (16928964,'Enhanced_Vulture','Enhanced Vulture',51,-596.000,84.500,-116.000,64); +INSERT INTO `mob_spawn_points` VALUES (16928966,'Proto-Ultima','Proto-Ultima',52,-559.999,4.500,-359.998,64); +INSERT INTO `mob_spawn_points` VALUES (16928986,'Kingslayer_Doggvdegg','Kingslayer Doggvdegg',53,1.000,1.000,1.000,1); +INSERT INTO `mob_spawn_points` VALUES (16928987,'JiGho_Ageless','Ji\'Gho Ageless',54,-492.000,1.500,-412.000,125); +INSERT INTO `mob_spawn_points` VALUES (16928988,'Koo_Buzu_the_Theomanic','Koo Buzu the Theomanic',55,1.000,1.000,1.000,1); +INSERT INTO `mob_spawn_points` VALUES (16928989,'Yagudos_Elemental','Yagudo\'s Elemental',67,1.000,1.000,1.000,1); +INSERT INTO `mob_spawn_points` VALUES (16928990,'Yagudos_Avatar','Yagudo\'s Avatar',68,1.000,1.000,1.000,1); +INSERT INTO `mob_spawn_points` VALUES (16928991,'Mystic_Avatar','Mystic Avatar',56,1.000,1.000,1.000,1); +INSERT INTO `mob_spawn_points` VALUES (16928992,'Mystic_Avatar','Mystic Avatar',32,1.000,1.000,1.000,1); +INSERT INTO `mob_spawn_points` VALUES (16928993,'Mystic_Avatar','Mystic Avatar',34,1.000,1.000,1.000,1); +INSERT INTO `mob_spawn_points` VALUES (16928994,'Mystic_Avatar','Mystic Avatar',36,1.000,1.000,1.000,1); +INSERT INTO `mob_spawn_points` VALUES (16928995,'Mystic_Avatar','Mystic Avatar',40,-560.000,-6.500,-460.000,1); +INSERT INTO `mob_spawn_points` VALUES (16928996,'Mystic_Avatar','Mystic Avatar',38,1.000,1.000,1.000,1); +INSERT INTO `mob_spawn_points` VALUES (16928997,'Enhanced_Koenigstiger','Enhanced Koenigstiger',57,1.000,1.000,1.000,1); +INSERT INTO `mob_spawn_points` VALUES (16928998,'Enhanced_Pygmaioi','Enhanced Pygmaioi',58,1.000,1.000,1.000,1); +INSERT INTO `mob_spawn_points` VALUES (16928999,'Enhanced_Kettenkaefer','Enhanced Kettenkaefer',59,1.000,1.000,1.000,1); +INSERT INTO `mob_spawn_points` VALUES (16929000,'Enhanced_Salamander','Enhanced Salamander',60,1.000,1.000,1.000,1); +INSERT INTO `mob_spawn_points` VALUES (16929001,'Enhanced_Jelly','Enhanced Jelly',61,1.000,1.000,1.000,1); +INSERT INTO `mob_spawn_points` VALUES (16929002,'Enhanced_Makara','Enhanced Makara',62,-552.000,-6.500,-488.000,42); +INSERT INTO `mob_spawn_points` VALUES (16929003,'Enhanced_Akbaba','Enhanced Akbaba',63,1.000,1.000,1.000,1); +INSERT INTO `mob_spawn_points` VALUES (16929005,'Abyssdweller_Jhabdebb','Abyssdweller Jhabdebb',64,-280.000,-161.500,-438.000,192); +INSERT INTO `mob_spawn_points` VALUES (16929006,'Orichalcum_Quadav','Orichalcum Quadav',65,-278.000,-161.500,-442.000,32); +INSERT INTO `mob_spawn_points` VALUES (16929007,'Pee_Qoho_the_Python','Pee Qoho the Python',66,-282.000,-161.500,-442.000,96); +INSERT INTO `mob_spawn_points` VALUES (16929008,'Yagudos_Elemental','Yagudo\'s Elemental',67,-281.998,-161.500,-441.998,96); +INSERT INTO `mob_spawn_points` VALUES (16929009,'Yagudos_Avatar','Yagudo\'s Avatar',68,-285.580,-161.500,-442.786,69); +INSERT INTO `mob_spawn_points` VALUES (16929010,'Grognard_Mesmerizer','Grognard Mesmerizer',69,-352.000,-158.500,-512.000,224); +INSERT INTO `mob_spawn_points` VALUES (16929011,'Grognard_Footsoldier','Grognard Footsoldier',70,-352.000,-158.500,-508.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929012,'Grognard_Predator','Grognard Predator',71,-348.000,-158.500,-512.000,192); +INSERT INTO `mob_spawn_points` VALUES (16929013,'Grognard_Neckchopper','Grognard Neckchopper',72,-208.000,-158.500,-512.000,160); +INSERT INTO `mob_spawn_points` VALUES (16929014,'Grognard_Grappler','Grognard Grappler',73,-208.000,-158.500,-508.000,128); +INSERT INTO `mob_spawn_points` VALUES (16929015,'Grognard_Impaler','Grognard Impaler',74,-212.000,-158.500,-512.000,192); +INSERT INTO `mob_spawn_points` VALUES (16929016,'Orcs_Wyvern','Orc\'s Wyvern',75,-213.338,-158.233,-509.844,102); +INSERT INTO `mob_spawn_points` VALUES (16929017,'Star_Ruby_Quadav','Star Ruby Quadav',76,-328.000,-166.500,-460.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929018,'Fossil_Quadav','Fossil Quadav',77,-328.000,-166.500,-453.000,64); +INSERT INTO `mob_spawn_points` VALUES (16929019,'Whitegold_Quadav','Whitegold Quadav',78,-328.000,-166.500,-467.000,192); +INSERT INTO `mob_spawn_points` VALUES (16929020,'Wootz_Quadav','Wootz Quadav',79,-232.000,-166.500,-460.000,128); +INSERT INTO `mob_spawn_points` VALUES (16929021,'Star_Sapphire_Quadav','Star Sapphire Quadav',80,-232.000,-166.500,-453.000,64); +INSERT INTO `mob_spawn_points` VALUES (16929022,'Lightsteel_Quadav','Lightsteel Quadav',81,-232.000,-166.500,-467.000,192); +INSERT INTO `mob_spawn_points` VALUES (16929023,'Yagudo_Archpriest','Yagudo Archpriest',82,-352.000,-160.500,-420.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929024,'Yagudo_Disciplinant','Yagudo Disciplinant',83,-330.000,-160.500,-410.000,128); +INSERT INTO `mob_spawn_points` VALUES (16929025,'Yagudo_Kapellmeister','Yagudo Kapellmeister',84,-330.000,-160.500,-430.000,128); +INSERT INTO `mob_spawn_points` VALUES (16929026,'Yagudo_Knight_Templar','Yagudo Knight Templar',85,-208.000,-160.500,-420.000,128); +INSERT INTO `mob_spawn_points` VALUES (16929027,'Yagudo_Prelatess','Yagudo Prelatess',86,-230.000,-160.500,-410.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929028,'Yagudo_Eradicator','Yagudo Eradicator',87,-230.000,-160.500,-430.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929030,'Mystic_Avatar','Mystic Avatar',56,0.000,-6.500,-460.000,64); +INSERT INTO `mob_spawn_points` VALUES (16929031,'Light_Elemental','Light Elemental',88,-2.000,-6.500,-460.000,128); +INSERT INTO `mob_spawn_points` VALUES (16929032,'Light_Elemental','Light Elemental',88,2.000,-6.500,-460.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929033,'Fire_Elemental','Fire Elemental',31,70.000,1.500,-510.000,160); +INSERT INTO `mob_spawn_points` VALUES (16929034,'Ice_Elemental','Ice Elemental',33,-70.000,1.500,-510.000,224); +INSERT INTO `mob_spawn_points` VALUES (16929035,'Air_Elemental','Air Elemental',35,-62.000,-6.500,-460.000,128); +INSERT INTO `mob_spawn_points` VALUES (16929036,'Earth_Elemental','Earth Elemental',37,-70.000,1.500,-410.000,32); +INSERT INTO `mob_spawn_points` VALUES (16929037,'Thunder_Elemental','Thunder Elemental',39,70.000,1.500,-410.000,96); +INSERT INTO `mob_spawn_points` VALUES (16929038,'Water_Elemental','Water Elemental',41,62.000,-6.500,-460.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929039,'Mystic_Avatar','Mystic Avatar',32,70.000,1.500,-510.000,160); +INSERT INTO `mob_spawn_points` VALUES (16929040,'Mystic_Avatar','Mystic Avatar',34,-70.000,1.500,-510.000,224); +INSERT INTO `mob_spawn_points` VALUES (16929041,'Mystic_Avatar','Mystic Avatar',36,-62.000,-6.500,-460.000,128); +INSERT INTO `mob_spawn_points` VALUES (16929042,'Mystic_Avatar','Mystic Avatar',38,-70.000,1.500,-410.000,32); +INSERT INTO `mob_spawn_points` VALUES (16929043,'Mystic_Avatar','Mystic Avatar',40,70.000,1.500,-410.000,96); +INSERT INTO `mob_spawn_points` VALUES (16929044,'Mystic_Avatar','Mystic Avatar',42,62.000,-6.500,-460.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929046,'Airi','Airi',89,270.000,-160.500,-460.000,128); +INSERT INTO `mob_spawn_points` VALUES (16929047,'Temenos_Cleaner','Temenos Cleaner',90,290.000,-160.500,-460.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929048,'Iruci','Iruci',91,220.000,-160.500,-490.000,192); +INSERT INTO `mob_spawn_points` VALUES (16929049,'Temenos_Weapon','Temenos Weapon',92,340.000,-160.500,-490.000,192); +INSERT INTO `mob_spawn_points` VALUES (16929050,'Enhanced_Dragon','Enhanced Dragon',93,348.000,-164.500,-412.000,96); +INSERT INTO `mob_spawn_points` VALUES (16929051,'Enhanced_Ahriman','Enhanced Ahriman',94,212.000,-164.500,-412.000,32); +INSERT INTO `mob_spawn_points` VALUES (16929053,'Temenos_Aern','Temenos Aern',114,622.000,-6.500,-530.000,192); +INSERT INTO `mob_spawn_points` VALUES (16929054,'Temenos_Aern','Temenos Aern',113,618.000,-6.500,-530.000,192); +INSERT INTO `mob_spawn_points` VALUES (16929055,'Temenos_Aern','Temenos Aern',109,498.000,-6.500,-530.000,192); +INSERT INTO `mob_spawn_points` VALUES (16929056,'Aerns_Wynav','Aern\'s Wynav',96,498.870,-6.138,-527.066,189); +INSERT INTO `mob_spawn_points` VALUES (16929057,'Temenos_Aern','Temenos Aern',118,502.000,-6.500,-530.000,192); +INSERT INTO `mob_spawn_points` VALUES (16929058,'Temenos_Aern','Temenos Aern',117,572.000,-0.500,-500.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929059,'Aerns_Euvhi','Aern\'s Euvhi',97,573.818,-0.500,-499.907,143); +INSERT INTO `mob_spawn_points` VALUES (16929060,'Temenos_Aern','Temenos Aern',119,568.000,-0.500,-500.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929061,'Temenos_Aern','Temenos Aern',108,548.000,-0.500,-500.000,128); +INSERT INTO `mob_spawn_points` VALUES (16929062,'Temenos_Aern','Temenos Aern',121,552.000,-0.500,-500.000,128); +INSERT INTO `mob_spawn_points` VALUES (16929063,'Temenos_Aern','Temenos Aern',111,630.000,-0.500,-462.000,128); +INSERT INTO `mob_spawn_points` VALUES (16929064,'Temenos_Aern','Temenos Aern',110,630.000,-0.500,-458.000,128); +INSERT INTO `mob_spawn_points` VALUES (16929065,'Temenos_Aern','Temenos Aern',110,490.000,-0.500,-462.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929066,'Temenos_Aern','Temenos Aern',120,490.000,-0.500,-458.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929067,'Aerns_Elemental','Aern\'s Elemental',98,492.263,-0.500,-459.598,42); +INSERT INTO `mob_spawn_points` VALUES (16929068,'Aerns_Avatar','Aern\'s Avatar',99,491.847,-0.150,-459.568,25); +INSERT INTO `mob_spawn_points` VALUES (16929069,'Temenos_Aern','Temenos Aern',109,630.000,1.500,-410.000,96); +INSERT INTO `mob_spawn_points` VALUES (16929070,'Aerns_Wynav','Aern\'s Wynav',96,629.957,1.790,-414.486,58); +INSERT INTO `mob_spawn_points` VALUES (16929071,'Temenos_Aern','Temenos Aern',118,626.000,1.500,-410.000,96); +INSERT INTO `mob_spawn_points` VALUES (16929072,'Temenos_Aern','Temenos Aern',111,630.000,1.500,-414.000,96); +INSERT INTO `mob_spawn_points` VALUES (16929073,'Temenos_Aern','Temenos Aern',117,490.000,1.500,-410.000,32); +INSERT INTO `mob_spawn_points` VALUES (16929074,'Aerns_Euvhi','Aern\'s Euvhi',97,493.894,1.500,-412.941,65); +INSERT INTO `mob_spawn_points` VALUES (16929075,'Temenos_Aern','Temenos Aern',116,494.000,1.500,-410.000,32); +INSERT INTO `mob_spawn_points` VALUES (16929076,'Temenos_Aern','Temenos Aern',114,490.000,1.500,-414.000,32); +INSERT INTO `mob_spawn_points` VALUES (16929077,'Temenos_Aern','Temenos Aern',95,562.000,-0.500,-458.000,224); +INSERT INTO `mob_spawn_points` VALUES (16929078,'Temenos_Aern','Temenos Aern',115,562.000,-0.500,-462.000,32); +INSERT INTO `mob_spawn_points` VALUES (16929079,'Temenos_Aern','Temenos Aern',120,558.000,-0.500,-462.000,96); +INSERT INTO `mob_spawn_points` VALUES (16929080,'Aerns_Elemental','Aern\'s Elemental',98,551.434,-0.389,-460.882,197); +INSERT INTO `mob_spawn_points` VALUES (16929081,'Aerns_Avatar','Aern\'s Avatar',99,550.762,-0.366,-458.530,39); +INSERT INTO `mob_spawn_points` VALUES (16929082,'Temenos_Aern','Temenos Aern',119,558.000,-0.500,-458.000,160); +INSERT INTO `mob_spawn_points` VALUES (16929083,'Temenos_Aern','Temenos Aern',112,560.000,4.500,-400.000,64); +INSERT INTO `mob_spawn_points` VALUES (16929084,'Temenos_Aern','Temenos Aern',113,560.000,4.500,-396.000,192); +INSERT INTO `mob_spawn_points` VALUES (16929085,'Temenos_Aern','Temenos Aern',121,564.000,4.500,-400.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929086,'Temenos_Aern','Temenos Aern',108,560.000,4.500,-404.000,64); +INSERT INTO `mob_spawn_points` VALUES (16929087,'Temenos_Aern','Temenos Aern',110,556.000,4.500,-400.000,128); +INSERT INTO `mob_spawn_points` VALUES (16929088,'Temenos_Ghrah','Temenos Ghrah',100,547.682,-0.500,-459.515,126); +INSERT INTO `mob_spawn_points` VALUES (16929090,'Temenos_Aern','Temenos Aern',101,552.000,-0.500,-500.000,128); +INSERT INTO `mob_spawn_points` VALUES (16929091,'Temenos_Aern','Temenos Aern',101,548.000,-0.500,-500.000,128); +INSERT INTO `mob_spawn_points` VALUES (16929092,'Temenos_Aern','Temenos Aern',101,572.000,-0.500,-500.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929093,'Temenos_Aern','Temenos Aern',101,568.000,-0.500,-500.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929094,'Temenos_Aern','Temenos Aern',101,502.000,-6.500,-530.000,192); +INSERT INTO `mob_spawn_points` VALUES (16929095,'Temenos_Aern','Temenos Aern',101,498.000,-6.500,-530.000,192); +INSERT INTO `mob_spawn_points` VALUES (16929096,'Temenos_Aern','Temenos Aern',101,622.000,-6.500,-530.000,192); +INSERT INTO `mob_spawn_points` VALUES (16929097,'Temenos_Aern','Temenos Aern',101,618.000,-6.500,-530.000,192); +INSERT INTO `mob_spawn_points` VALUES (16929098,'Temenos_Aern','Temenos Aern',101,490.000,-0.500,-462.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929099,'Aerns_Wynav','Aern\'s Wynav',102,493.065,-0.111,-456.319,20); +INSERT INTO `mob_spawn_points` VALUES (16929100,'Temenos_Aern','Temenos Aern',101,490.000,-0.500,-458.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929101,'Temenos_Aern','Temenos Aern',101,630.000,-0.500,-462.000,128); +INSERT INTO `mob_spawn_points` VALUES (16929102,'Aerns_Wynav','Aern\'s Wynav',102,628.781,-0.209,-458.266,234); +INSERT INTO `mob_spawn_points` VALUES (16929103,'Temenos_Aern','Temenos Aern',101,630.000,-0.500,-458.000,128); +INSERT INTO `mob_spawn_points` VALUES (16929104,'Temenos_Aern','Temenos Aern',101,490.000,1.500,-414.000,32); +INSERT INTO `mob_spawn_points` VALUES (16929105,'Temenos_Aern','Temenos Aern',101,494.000,1.500,-410.000,32); +INSERT INTO `mob_spawn_points` VALUES (16929106,'Temenos_Aern','Temenos Aern',101,490.000,1.500,-410.000,32); +INSERT INTO `mob_spawn_points` VALUES (16929107,'Temenos_Aern','Temenos Aern',101,630.000,1.500,-414.000,96); +INSERT INTO `mob_spawn_points` VALUES (16929108,'Temenos_Aern','Temenos Aern',101,626.000,1.500,-410.000,96); +INSERT INTO `mob_spawn_points` VALUES (16929109,'Temenos_Aern','Temenos Aern',101,630.000,1.500,-410.000,96); +INSERT INTO `mob_spawn_points` VALUES (16929110,'Temenos_Aern','Temenos Aern',101,558.000,4.500,-402.000,64); +INSERT INTO `mob_spawn_points` VALUES (16929111,'Temenos_Aern','Temenos Aern',101,562.000,4.500,-402.000,64); +INSERT INTO `mob_spawn_points` VALUES (16929112,'Temenos_Aern','Temenos Aern',101,562.000,4.500,-398.000,64); +INSERT INTO `mob_spawn_points` VALUES (16929113,'Temenos_Aern','Temenos Aern',101,558.000,4.500,-398.000,64); +INSERT INTO `mob_spawn_points` VALUES (16929114,'Aerns_Elemental','Aern\'s Elemental',98,556.836,4.500,-398.578,193); +INSERT INTO `mob_spawn_points` VALUES (16929115,'Aerns_Avatar','Aern\'s Avatar',99,555.493,4.782,-397.940,191); +INSERT INTO `mob_spawn_points` VALUES (16929117,'Temenos_Euvhi','Temenos Euvhi',103,561.000,-0.500,-456.000,64); +INSERT INTO `mob_spawn_points` VALUES (16929118,'Temenos_Euvhi','Temenos Euvhi',103,562.500,-0.500,-458.000,64); +INSERT INTO `mob_spawn_points` VALUES (16929119,'Temenos_Euvhi','Temenos Euvhi',103,564.000,-0.500,-460.000,64); +INSERT INTO `mob_spawn_points` VALUES (16929120,'Temenos_Euvhi','Temenos Euvhi',103,562.500,-0.500,-462.000,64); +INSERT INTO `mob_spawn_points` VALUES (16929121,'Temenos_Euvhi','Temenos Euvhi',103,561.000,-0.500,-464.000,64); +INSERT INTO `mob_spawn_points` VALUES (16929122,'Temenos_Euvhi','Temenos Euvhi',103,559.000,-0.500,-464.000,64); +INSERT INTO `mob_spawn_points` VALUES (16929123,'Temenos_Euvhi','Temenos Euvhi',103,557.500,-0.500,-462.000,64); +INSERT INTO `mob_spawn_points` VALUES (16929124,'Temenos_Euvhi','Temenos Euvhi',103,556.000,-0.500,-460.000,64); +INSERT INTO `mob_spawn_points` VALUES (16929125,'Temenos_Euvhi','Temenos Euvhi',103,557.500,-0.500,-458.000,64); +INSERT INTO `mob_spawn_points` VALUES (16929126,'Temenos_Euvhi','Temenos Euvhi',103,559.000,-0.500,-456.000,64); +INSERT INTO `mob_spawn_points` VALUES (16929127,'Thalesek','Thalesek',104,560.000,-0.500,-460.000,64); +INSERT INTO `mob_spawn_points` VALUES (16929129,'Pyrrha','Pyrrha',105,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929130,'Pyrrha','Pyrrha',105,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929131,'Pyrrha','Pyrrha',105,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929132,'Pyrrha','Pyrrha',105,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929133,'Pyrrha','Pyrrha',105,539.175,-0.441,-467.844,68); +INSERT INTO `mob_spawn_points` VALUES (16929134,'Pyrrha','Pyrrha',105,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929135,'Pyrrha','Pyrrha',105,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929136,'Pyrrha','Pyrrha',105,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929137,'Temenos_Ghrah','Temenos Ghrah',106,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929138,'Temenos_Ghrah','Temenos Ghrah',106,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929139,'Temenos_Ghrah','Temenos Ghrah',106,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929140,'Temenos_Ghrah','Temenos Ghrah',106,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929141,'Temenos_Ghrah','Temenos Ghrah',106,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929142,'Temenos_Ghrah','Temenos Ghrah',106,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929143,'Temenos_Ghrah','Temenos Ghrah',106,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929144,'Temenos_Ghrah','Temenos Ghrah',106,540.421,-0.500,-465.730,67); +INSERT INTO `mob_spawn_points` VALUES (16929145,'Temenos_Ghrah','Temenos Ghrah',106,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929146,'Temenos_Ghrah','Temenos Ghrah',106,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929147,'Temenos_Ghrah','Temenos Ghrah',106,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929148,'Temenos_Ghrah','Temenos Ghrah',106,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929149,'Temenos_Ghrah','Temenos Ghrah',106,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929150,'Temenos_Ghrah','Temenos Ghrah',106,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929151,'Temenos_Ghrah','Temenos Ghrah',106,541.309,-0.500,-466.245,66); +INSERT INTO `mob_spawn_points` VALUES (16929152,'Temenos_Ghrah','Temenos Ghrah',106,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929153,'Temenos_Ghrah','Temenos Ghrah',106,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929154,'Temenos_Ghrah','Temenos Ghrah',106,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929155,'Temenos_Ghrah','Temenos Ghrah',106,541.758,-0.500,-463.901,70); +INSERT INTO `mob_spawn_points` VALUES (16929156,'Temenos_Ghrah','Temenos Ghrah',106,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929157,'Temenos_Ghrah','Temenos Ghrah',106,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929158,'Temenos_Ghrah','Temenos Ghrah',106,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929159,'Temenos_Ghrah','Temenos Ghrah',106,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929160,'Temenos_Ghrah','Temenos Ghrah',106,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929162,'Arch-Ultima','Arch-Ultima',107,-559.999,4.500,-359.998,64); -- ------------------------------------------------------------ -- Apollyon (Zone 38) -- ------------------------------------------------------------ -INSERT INTO `mob_spawn_points` VALUES (16932868,'Fir_Bholg','Fir Bholg',1,-396.988,-0.496,-548.817,7); -- SW 1st -INSERT INTO `mob_spawn_points` VALUES (16932869,'Fir_Bholg','Fir Bholg',1,-420.667,-0.486,-535.516,255); -INSERT INTO `mob_spawn_points` VALUES (16932870,'Fir_Bholg','Fir Bholg',1,-426.185,-0.411,-529.013,5); -INSERT INTO `mob_spawn_points` VALUES (16932871,'Fir_Bholg','Fir Bholg',1,-404.352,-0.5,-554.551,134); -INSERT INTO `mob_spawn_points` VALUES (16932872,'Fir_Bholg','Fir Bholg',1,-393.528,-0.463,-543.536,16); -INSERT INTO `mob_spawn_points` VALUES (16932873,'Fir_Bholg','Fir Bholg',1,-399.696,-0.496,-535.582,27); -INSERT INTO `mob_spawn_points` VALUES (16932874,'Fir_Bholg','Fir Bholg',1,-407.513,-0.384,-537.297,240); -INSERT INTO `mob_spawn_points` VALUES (16932875,'Fir_Bholg','Fir Bholg',1,-408.324,-0.499,-554.723,28); -INSERT INTO `mob_spawn_points` VALUES (16932876,'Fir_Bholg','Fir Bholg',1,-411.247,-0.5,-553.286,136); -INSERT INTO `mob_spawn_points` VALUES (16932877,'Fir_Bholg','Fir Bholg',1,-383.654,-0.5,-541.223,22); -INSERT INTO `mob_spawn_points` VALUES (16932881,'Jidra','Jidra',2,-188.651,-0.5,-613.478,129); -- SW 2nd -INSERT INTO `mob_spawn_points` VALUES (16932882,'Jidra','Jidra',2,-191.297,-0.5,-481.057,206); -INSERT INTO `mob_spawn_points` VALUES (16932883,'Jidra','Jidra',2,-218.947,-0.5,-420.081,250); -INSERT INTO `mob_spawn_points` VALUES (16932884,'Jidra','Jidra',2,-185.952,-0.5,-565.775,144); -INSERT INTO `mob_spawn_points` VALUES (16932885,'Jidra','Jidra',2,-105.521,-0.5,-575.232,51); -INSERT INTO `mob_spawn_points` VALUES (16932886,'Jidra','Jidra',2,-128.503,-0.509,-523.877,195); -INSERT INTO `mob_spawn_points` VALUES (16932887,'Jidra','Jidra',2,-118.119,-0.491,-475.240,59); -INSERT INTO `mob_spawn_points` VALUES (16932888,'Jidra','Jidra',2,-152.613,-0.5,-515.516,197); -INSERT INTO `mob_spawn_points` VALUES (16932889,'Arboricole_Hornet','Arboricole Hornet',3,-179.879,-0.5,-476.623,154); -INSERT INTO `mob_spawn_points` VALUES (16932890,'Arboricole_Raven','Arboricole Raven',4,-211.035,-0.5,-426.522,20); -INSERT INTO `mob_spawn_points` VALUES (16932891,'Arboricole_Opo-opo','Arboricole Opo-opo',5,-193.048,-0.5,-573.836,126); -INSERT INTO `mob_spawn_points` VALUES (16932892,'Arboricole_Spider','Arboricole Spider',6,-116.767,-0.5,-573.876,38); -INSERT INTO `mob_spawn_points` VALUES (16932893,'Arboricole_Beetle','Arboricole Beetle',7,-142.143,-0.5,-525.237,9); -INSERT INTO `mob_spawn_points` VALUES (16932894,'Arboricole_Crawler','Arboricole Crawler',8,-119.788,-0.5,-475.870,127); -INSERT INTO `mob_spawn_points` VALUES (16932895,'Apollyon_Sapling','Apollyon Sapling',9,-155.530,-0.5,-532.987,51); -INSERT INTO `mob_spawn_points` VALUES (16932896,'Armoury_Crate','Armoury Crate',10,1,-0.5,1,50); -- SW 3rd -INSERT INTO `mob_spawn_points` VALUES (16932897,'Armoury_Crate','Armoury Crate',10,1,-0.5,1,50); -INSERT INTO `mob_spawn_points` VALUES (16932898,'Armoury_Crate','Armoury Crate',10,1,-0.5,1,50); -INSERT INTO `mob_spawn_points` VALUES (16932899,'Armoury_Crate','Armoury Crate',10,1,-0.5,1,50); -INSERT INTO `mob_spawn_points` VALUES (16932900,'Armoury_Crate','Armoury Crate',10,1,-0.5,1,50); -INSERT INTO `mob_spawn_points` VALUES (16932901,'Armoury_Crate','Armoury Crate',10,1,-0.5,1,50); -INSERT INTO `mob_spawn_points` VALUES (16932902,'Armoury_Crate','Armoury Crate',10,1,-0.5,1,50); -INSERT INTO `mob_spawn_points` VALUES (16932910,'Air_Elemental','Air Elemental',11,-527.376,-0.5,-337.286,245); -- SW 4th -INSERT INTO `mob_spawn_points` VALUES (16932911,'Dark_Elemental','Dark Elemental',12,-596.522,-1,-369.874,239); -INSERT INTO `mob_spawn_points` VALUES (16932912,'Earth_Elemental','Earth Elemental',13,-544,-0.506,-356,100); -INSERT INTO `mob_spawn_points` VALUES (16932913,'Fire_Elemental','Fire Elemental',14,-609,-0.5,-343,94); -INSERT INTO `mob_spawn_points` VALUES (16932914,'Ice_Elemental','Ice Elemental',15,-590,-1,-372,204); -INSERT INTO `mob_spawn_points` VALUES (16932915,'Light_Elemental','Light Elemental',16,-516.007,-0.438,-336.163,206); -INSERT INTO `mob_spawn_points` VALUES (16932916,'Water_Elemental','Water Elemental',17,-563,-0.5,-335.072,251); -INSERT INTO `mob_spawn_points` VALUES (16932917,'Thunder_Elemental','Thunder Elemental',18,-582.635,-0.5,-423.374,136); -INSERT INTO `mob_spawn_points` VALUES (16932918,'Air_Elemental','Air Elemental',11,-525.312,-0.5,-336.952,242); -INSERT INTO `mob_spawn_points` VALUES (16932919,'Dark_Elemental','Dark Elemental',12,-585,-1,-365,120); -INSERT INTO `mob_spawn_points` VALUES (16932920,'Earth_Elemental','Earth Elemental',13,-544,-0.5,-357,57); -INSERT INTO `mob_spawn_points` VALUES (16932921,'Fire_Elemental','Fire Elemental',14,-608,-0.5,-343,181); -INSERT INTO `mob_spawn_points` VALUES (16932922,'Ice_Elemental','Ice Elemental',15,-595,-1,-388,229); -INSERT INTO `mob_spawn_points` VALUES (16932923,'Light_Elemental','Light Elemental',16,-514.594,-0.422,-337.083,55); -INSERT INTO `mob_spawn_points` VALUES (16932924,'Water_Elemental','Water Elemental',17,-564,-0.5,-335,254); -INSERT INTO `mob_spawn_points` VALUES (16932925,'Thunder_Elemental','Thunder Elemental',18,-583.478,-0.5,-415.835,219); -INSERT INTO `mob_spawn_points` VALUES (16932926,'Air_Elemental','Air Elemental',11,-525.352,-0.5,-338.655,230); -INSERT INTO `mob_spawn_points` VALUES (16932927,'Dark_Elemental','Dark Elemental',12,-590.255,-1,-366.051,119); -INSERT INTO `mob_spawn_points` VALUES (16932928,'Earth_Elemental','Earth Elemental',13,-544,-0.5,-358,22); -INSERT INTO `mob_spawn_points` VALUES (16932929,'Fire_Elemental','Fire Elemental',14,-610,-0.5,-343,75); -INSERT INTO `mob_spawn_points` VALUES (16932930,'Ice_Elemental','Ice Elemental',15,-596,-1,-388,67); -INSERT INTO `mob_spawn_points` VALUES (16932931,'Light_Elemental','Light Elemental',16,-514.963,-0.5,-329.281,74); -INSERT INTO `mob_spawn_points` VALUES (16932932,'Water_Elemental','Water Elemental',17,-565,-0.5,-335,251); -INSERT INTO `mob_spawn_points` VALUES (16932933,'Thunder_Elemental','Thunder Elemental',18,-583.564,-0.5,-417.534,28); - -INSERT INTO `mob_spawn_points` VALUES (16932937,'Pluto','Pluto',19,-483.404,-0.5,25.815,15); -- NW 1st -INSERT INTO `mob_spawn_points` VALUES (16932938,'Bardha','Bardha',20,-423.538,-0.5,22.165,106); -INSERT INTO `mob_spawn_points` VALUES (16932939,'Bardha','Bardha',20,-417.520,-0.5,21.314,194); -INSERT INTO `mob_spawn_points` VALUES (16932940,'Bardha','Bardha',20,-494.544,-0.5,25.158,231); -INSERT INTO `mob_spawn_points` VALUES (16932941,'Bardha','Bardha',20,-489.120,-0.5,-11.164,51); -INSERT INTO `mob_spawn_points` VALUES (16932942,'Bardha','Bardha',20,-502.541,-0.5,30.053,49); -INSERT INTO `mob_spawn_points` VALUES (16932943,'Bardha','Bardha',20,-442.008,-0.5,-52.849,13); -INSERT INTO `mob_spawn_points` VALUES (16932944,'Bardha','Bardha',20,-424.761,-0.5,21.696,106); -INSERT INTO `mob_spawn_points` VALUES (16932950,'Zlatorog','Zlatorog',21,-358.583,-0.481,236.646,228); -- NW 2nd -INSERT INTO `mob_spawn_points` VALUES (16932951,'Mountain_Buffalo','Mountain Buffalo',22,-294.339,-0.5,354.403,20); -INSERT INTO `mob_spawn_points` VALUES (16932952,'Mountain_Buffalo','Mountain Buffalo',22,-340.282,-0.816,284.544,164); -INSERT INTO `mob_spawn_points` VALUES (16932953,'Mountain_Buffalo','Mountain Buffalo',22,-329.818,-0.5,217.735,65); -INSERT INTO `mob_spawn_points` VALUES (16932954,'Mountain_Buffalo','Mountain Buffalo',22,-327.324,-0.5,195.225,59); -INSERT INTO `mob_spawn_points` VALUES (16932955,'Mountain_Buffalo','Mountain Buffalo',22,-318.440,-0.5,206.571,30); -INSERT INTO `mob_spawn_points` VALUES (16932956,'Mountain_Buffalo','Mountain Buffalo',22,-352.216,-0.859,244.921,151); -INSERT INTO `mob_spawn_points` VALUES (16932957,'Mountain_Buffalo','Mountain Buffalo',22,-335.081,-0.5,319.489,142); -INSERT INTO `mob_spawn_points` VALUES (16932963,'Millenary_Mossback','Millenary Mossback',23,-318,-0.5,595,95); -- NW 3rd -INSERT INTO `mob_spawn_points` VALUES (16932964,'Apollyon_Scavenger','Apollyon Scavenger',24,-243.891,-0.5,533.246,218); -INSERT INTO `mob_spawn_points` VALUES (16932965,'Apollyon_Scavenger','Apollyon Scavenger',24,-301.489,-0.5,498.404,222); -INSERT INTO `mob_spawn_points` VALUES (16932966,'Apollyon_Scavenger','Apollyon Scavenger',24,-307.566,-0.774,542.412,233); -INSERT INTO `mob_spawn_points` VALUES (16932967,'Apollyon_Scavenger','Apollyon Scavenger',24,-336.161,-0.611,546.656,223); -INSERT INTO `mob_spawn_points` VALUES (16932968,'Apollyon_Scavenger','Apollyon Scavenger',24,-308.599,-1,575.052,159); -INSERT INTO `mob_spawn_points` VALUES (16932969,'Apollyon_Scavenger','Apollyon Scavenger',24,-359.054,-0.5,512.131,49); -INSERT INTO `mob_spawn_points` VALUES (16932970,'Apollyon_Scavenger','Apollyon Scavenger',24,-352.104,-0.5,511.257,190); -INSERT INTO `mob_spawn_points` VALUES (16932976,'Cynoprosopi','Cynoprosopi',25,-603.724,-0.726,552.088,134); -- NW 4th -INSERT INTO `mob_spawn_points` VALUES (16932977,'Gorynich','Gorynich',26,-546.086,-0.5,544.469,153); -INSERT INTO `mob_spawn_points` VALUES (16932978,'Gorynich','Gorynich',26,-531.294,-0.5,521.829,35); -INSERT INTO `mob_spawn_points` VALUES (16932979,'Gorynich','Gorynich',26,-624.687,-0.5,497.069,134); -INSERT INTO `mob_spawn_points` VALUES (16932980,'Gorynich','Gorynich',26,-589.855,-0.5,511.147,142); -INSERT INTO `mob_spawn_points` VALUES (16932981,'Gorynich','Gorynich',26,-536.150,-0.5,637.393,27); -INSERT INTO `mob_spawn_points` VALUES (16932985,'Kaiser_Behemoth','Kaiser Behemoth',27,-523.042,-0.469,280.802,191); -- NW 5th -INSERT INTO `mob_spawn_points` VALUES (16932986,'Kronprinz_Behemoth','Kronprinz Behemoth',28,-555,-0.476,198,142); -INSERT INTO `mob_spawn_points` VALUES (16932987,'Kronprinz_Behemoth','Kronprinz Behemoth',28,-592,-0.466,235,175); -INSERT INTO `mob_spawn_points` VALUES (16932988,'Kronprinz_Behemoth','Kronprinz Behemoth',28,-595,-0.454,247,76); -INSERT INTO `mob_spawn_points` VALUES (16932992,'Ghost_Clot','Ghost Clot',29,416.231,-0.5,-517.729,8); -- SE 1st -INSERT INTO `mob_spawn_points` VALUES (16932993,'Metalloid_Amoeba','Metalloid Amoeba',30,442.679,-0.5,-590.150,57); -INSERT INTO `mob_spawn_points` VALUES (16932994,'Metalloid_Amoeba','Metalloid Amoeba',30,460.108,-0.5,-610.478,175); -INSERT INTO `mob_spawn_points` VALUES (16932995,'Metalloid_Amoeba','Metalloid Amoeba',30,386.693,-0.5,-552.865,25); -INSERT INTO `mob_spawn_points` VALUES (16932996,'Metalloid_Amoeba','Metalloid Amoeba',30,426.747,-0.5,-506.603,12); -INSERT INTO `mob_spawn_points` VALUES (16932997,'Metalloid_Amoeba','Metalloid Amoeba',30,437.930,-0.5,-563.140,59); -INSERT INTO `mob_spawn_points` VALUES (16932998,'Metalloid_Amoeba','Metalloid Amoeba',30,438.841,-0.582,-576.316,176); -INSERT INTO `mob_spawn_points` VALUES (16932999,'Metalloid_Amoeba','Metalloid Amoeba',30,370.087,-0.5,-554.406,253); -INSERT INTO `mob_spawn_points` VALUES (16933000,'Metalloid_Amoeba','Metalloid Amoeba',30,369.594,-0.5,-558.288,244); -INSERT INTO `mob_spawn_points` VALUES (16933001,'Metalloid_Amoeba','Metalloid Amoeba',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933002,'Metalloid_Amoeba','Metalloid Amoeba',0,0,0,0,0); - -INSERT INTO `mob_spawn_points` VALUES (16933006,'Tieholtsodi','Tieholtsodi',31,149.879,-1,-511.197,61); -- SE 2nd -INSERT INTO `mob_spawn_points` VALUES (16933007,'Adamantshell','Adamantshell',32,176.428,-0.529,-532.477,182); -INSERT INTO `mob_spawn_points` VALUES (16933008,'Adamantshell','Adamantshell',32,185.961,-0.5,-519.646,118); -INSERT INTO `mob_spawn_points` VALUES (16933009,'Adamantshell','Adamantshell',32,172.945,-0.5,-510.277,19); -INSERT INTO `mob_spawn_points` VALUES (16933010,'Adamantshell','Adamantshell',32,177.989,-0.5,-571.156,49); -INSERT INTO `mob_spawn_points` VALUES (16933011,'Adamantshell','Adamantshell',32,177.559,-0.5,-575.4,29); -INSERT INTO `mob_spawn_points` VALUES (16933012,'Adamantshell','Adamantshell',32,179.401,-0.185,-443.616,191); -INSERT INTO `mob_spawn_points` VALUES (16933013,'Adamantshell','Adamantshell',32,181.178,-0.046,-446.372,125); -INSERT INTO `mob_spawn_points` VALUES (16933014,'Adamantshell','Adamantshell',32,171.873,-0.506,-506.756,21); -INSERT INTO `mob_spawn_points` VALUES (16933015,'Adamantshell','Adamantshell',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933016,'Adamantshell','Adamantshell',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933020,'Grave_Digger','Grave Digger',33,288.290,-0.5,-282.002,213); -- SE 3rd -INSERT INTO `mob_spawn_points` VALUES (16933021,'Inhumer','Inhumer',34,399.021,-0.5,-359.661,95); -INSERT INTO `mob_spawn_points` VALUES (16933022,'Inhumer','Inhumer',34,369.667,-0.5,-331.554,217); -INSERT INTO `mob_spawn_points` VALUES (16933023,'Inhumer','Inhumer',34,385.610,-0.5,-344.221,206); -INSERT INTO `mob_spawn_points` VALUES (16933024,'Inhumer','Inhumer',34,387.920,-0.5,-346.788,125); -INSERT INTO `mob_spawn_points` VALUES (16933025,'Inhumer','Inhumer',34,363.561,-0.5,-327.410,54); -INSERT INTO `mob_spawn_points` VALUES (16933026,'Inhumer','Inhumer',34,365.054,-0.5,-315.842,125); -INSERT INTO `mob_spawn_points` VALUES (16933027,'Inhumer','Inhumer',34,389.151,-0.5,-345.362,72); -INSERT INTO `mob_spawn_points` VALUES (16933028,'Inhumer','Inhumer',34,393.045,-0.5,-353.061,24); -INSERT INTO `mob_spawn_points` VALUES (16933029,'Inhumer','Inhumer',34,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933030,'Inhumer','Inhumer',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933032,'Evil_Armory','Evil Armory',35,516.519,-1,-319.486,135); -- SE 4th -INSERT INTO `mob_spawn_points` VALUES (16933033,'Flying_Spear','Flying Spear',36,498.166,-0.5,-303.294,126); -INSERT INTO `mob_spawn_points` VALUES (16933034,'Flying_Spear','Flying Spear',36,563.272,-0.543,-341.1,247); -INSERT INTO `mob_spawn_points` VALUES (16933035,'Flying_Spear','Flying Spear',36,619.837,-0.5,-335.944,39); -INSERT INTO `mob_spawn_points` VALUES (16933036,'Flying_Spear','Flying Spear',36,591.278,-0.5,-389.078,51); -INSERT INTO `mob_spawn_points` VALUES (16933037,'Flying_Spear','Flying Spear',36,542.576,-0.5,-367.419,67); -INSERT INTO `mob_spawn_points` VALUES (16933038,'Flying_Spear','Flying Spear',36,583.014,-0.5,-354.473,179); -INSERT INTO `mob_spawn_points` VALUES (16933039,'Flying_Spear','Flying Spear',36,611.096,-0.5,-373.520,149); -INSERT INTO `mob_spawn_points` VALUES (16933040,'Flying_Spear','Flying Spear',36,583.444,-0.5,-362.715,207); - -INSERT INTO `mob_spawn_points` VALUES (16933044,'Goobbue_Harvester','Goobbue Harvester',37,419.807,-0.5,40.291,237); -- NE 1st -INSERT INTO `mob_spawn_points` VALUES (16933045,'Barometz','Barometz',38,444.923,-0.5,-39.620,150); -INSERT INTO `mob_spawn_points` VALUES (16933046,'Borametz','Borametz',39,445.406,-0.5,53.342,120); -INSERT INTO `mob_spawn_points` VALUES (16933047,'Barometz','Barometz',38,465.325,-0.5,3.318,54); -INSERT INTO `mob_spawn_points` VALUES (16933048,'Borametz','Borametz',39,430.229,-0.5,1.9,195); -INSERT INTO `mob_spawn_points` VALUES (16933049,'Barometz','Barometz',38,455.138,-0.5,-36.295,231); -INSERT INTO `mob_spawn_points` VALUES (16933050,'Borametz','Borametz',39,483.768,-0.5,31.777,9); -INSERT INTO `mob_spawn_points` VALUES (16933051,'Barometz','Barometz',38,458.221,-0.5,-34.967,238); -INSERT INTO `mob_spawn_points` VALUES (16933052,'Borametz','Borametz',39,486.436,-0.5,38.185,204); -INSERT INTO `mob_spawn_points` VALUES (16933055,'Barometz','Barometz',38,462.853,-0.5,-27.454,115); -INSERT INTO `mob_spawn_points` VALUES (16933056,'Borametz','Borametz',39,412.058,-0.5,45.077,19); -INSERT INTO `mob_spawn_points` VALUES (16933057,'Barometz','Barometz',38,456.842,-0.5,-25.991,123); -INSERT INTO `mob_spawn_points` VALUES (16933058,'Borametz','Borametz',39,414.341,-0.5,42.908,29); -INSERT INTO `mob_spawn_points` VALUES (16933062,'Thiazi','Thiazi',40,316,-0.5,359,64); -- NE 2nd -INSERT INTO `mob_spawn_points` VALUES (16933063,'Thiazi','Thiazi',40,367,-0.5,321,81); -INSERT INTO `mob_spawn_points` VALUES (16933064,'Bialozar','Bialozar',41,405,-0.5,280,128); -INSERT INTO `mob_spawn_points` VALUES (16933065,'Bialozar','Bialozar',41,335.523,-0.5,236.009,62); -INSERT INTO `mob_spawn_points` VALUES (16933066,'Cornu','Cornu',42,319,-0.5,359,64); -INSERT INTO `mob_spawn_points` VALUES (16933067,'Cornu','Cornu',42,313,-0.5,359,64); -INSERT INTO `mob_spawn_points` VALUES (16933068,'Cornu','Cornu',42,370,-0.5,321,81); -INSERT INTO `mob_spawn_points` VALUES (16933069,'Cornu','Cornu',42,364,-0.559,321,81); -INSERT INTO `mob_spawn_points` VALUES (16933070,'Sirin','Sirin',43,364.348,-0.5,284.072,242); -INSERT INTO `mob_spawn_points` VALUES (16933071,'Sirin','Sirin',43,367.406,-0.5,276.263,207); -INSERT INTO `mob_spawn_points` VALUES (16933072,'Sirin','Sirin',43,314.675,-0.5,216.8,48); -INSERT INTO `mob_spawn_points` VALUES (16933073,'Sirin','Sirin',43,317.286,-0.5,212.491,122); -INSERT INTO `mob_spawn_points` VALUES (16933081,'Apollyon_Sweeper','Apollyon Sweeper',44,317.825,-0.444,487.696,237); -- NE 3rd -INSERT INTO `mob_spawn_points` VALUES (16933082,'Apollyon_Cleaner','Apollyon Cleaner',45,301.845,-0.445,550.428,197); -INSERT INTO `mob_spawn_points` VALUES (16933083,'Apollyon_Cleaner','Apollyon Cleaner',45,300.287,-0.499,540.540,93); -INSERT INTO `mob_spawn_points` VALUES (16933084,'Apollyon_Cleaner','Apollyon Cleaner',45,303.966,-0.380,521.720,35); -INSERT INTO `mob_spawn_points` VALUES (16933085,'Apollyon_Cleaner','Apollyon Cleaner',45,294.664,-0.499,555.455,175); +INSERT INTO `mob_spawn_points` VALUES (16932868,'Fir_Bholg','Fir Bholg',93,-409.035,-0.500,-552.977,129); +INSERT INTO `mob_spawn_points` VALUES (16932869,'Fir_Bholg','Fir Bholg',94,-405.623,-0.500,-554.222,180); +INSERT INTO `mob_spawn_points` VALUES (16932870,'Fir_Bholg','Fir Bholg',95,-413.892,-0.494,-534.561,238); +INSERT INTO `mob_spawn_points` VALUES (16932871,'Fir_Bholg','Fir Bholg',96,-431.455,-0.500,-542.257,32); +INSERT INTO `mob_spawn_points` VALUES (16932872,'Fir_Bholg','Fir Bholg',97,-429.963,-0.411,-549.440,184); +INSERT INTO `mob_spawn_points` VALUES (16932873,'Fir_Bholg','Fir Bholg',93,-406.587,-0.499,-548.924,201); +INSERT INTO `mob_spawn_points` VALUES (16932874,'Fir_Bholg','Fir Bholg',94,-434.001,-0.500,-556.145,197); +INSERT INTO `mob_spawn_points` VALUES (16932875,'Fir_Bholg','Fir Bholg',95,-413.363,-0.496,-531.946,67); +INSERT INTO `mob_spawn_points` VALUES (16932876,'Fir_Bholg','Fir Bholg',96,-424.986,-0.500,-553.587,156); +INSERT INTO `mob_spawn_points` VALUES (16932877,'Fir_Bholg','Fir Bholg',97,-431.678,-0.429,-530.915,68); +INSERT INTO `mob_spawn_points` VALUES (16932881,'Jidra','Jidra',1,-117.560,-0.500,-516.356,118); +INSERT INTO `mob_spawn_points` VALUES (16932882,'Jidra','Jidra',2,-197.582,-0.500,-593.406,39); +INSERT INTO `mob_spawn_points` VALUES (16932883,'Jidra','Jidra',2,-176.126,-0.597,-560.057,112); +INSERT INTO `mob_spawn_points` VALUES (16932884,'Jidra','Jidra',2,-101.319,-0.500,-582.854,158); +INSERT INTO `mob_spawn_points` VALUES (16932885,'Jidra','Jidra',2,-202.641,-0.500,-484.549,207); +INSERT INTO `mob_spawn_points` VALUES (16932886,'Jidra','Jidra',2,-150.902,-0.500,-507.214,65); +INSERT INTO `mob_spawn_points` VALUES (16932887,'Jidra','Jidra',2,-222.520,-0.500,-414.109,38); +INSERT INTO `mob_spawn_points` VALUES (16932888,'Jidra','Jidra',2,-114.735,-0.500,-470.750,91); +INSERT INTO `mob_spawn_points` VALUES (16932889,'Arboricole_Hornet','Arboricole Hornet',3,-108.499,-0.400,-576.941,220); +INSERT INTO `mob_spawn_points` VALUES (16932890,'Arboricole_Raven','Arboricole Raven',4,-148.216,-0.500,-506.945,65); +INSERT INTO `mob_spawn_points` VALUES (16932891,'Arboricole_Opo-opo','Arboricole Opo-opo',5,-195.269,-0.500,-595.306,30); +INSERT INTO `mob_spawn_points` VALUES (16932892,'Arboricole_Spider','Arboricole Spider',6,-117.884,-0.500,-471.734,29); +INSERT INTO `mob_spawn_points` VALUES (16932893,'Arboricole_Beetle','Arboricole Beetle',7,-220.488,-0.500,-416.709,87); +INSERT INTO `mob_spawn_points` VALUES (16932894,'Arboricole_Crawler','Arboricole Crawler',8,-202.371,-0.500,-483.903,2); +INSERT INTO `mob_spawn_points` VALUES (16932895,'Apollyon_Sapling','Apollyon Sapling',9,-119.785,-0.585,-517.700,90); +INSERT INTO `mob_spawn_points` VALUES (16932896,'Armoury_Crate','Armoury Crate',10,-286.000,-0.600,-280.000,0); +INSERT INTO `mob_spawn_points` VALUES (16932897,'Armoury_Crate','Armoury Crate',10,-286.000,-0.600,-282.000,0); +INSERT INTO `mob_spawn_points` VALUES (16932898,'Armoury_Crate','Armoury Crate',10,-286.000,-0.600,-282.000,0); +INSERT INTO `mob_spawn_points` VALUES (16932910,'Air_Elemental','Air Elemental',11,-602.263,0.000,-369.095,113); +INSERT INTO `mob_spawn_points` VALUES (16932911,'Dark_Elemental','Dark Elemental',12,-604.192,0.000,-373.120,111); +INSERT INTO `mob_spawn_points` VALUES (16932912,'Earth_Elemental','Earth Elemental',13,-564.041,0.000,-324.520,109); +INSERT INTO `mob_spawn_points` VALUES (16932913,'Fire_Elemental','Fire Elemental',14,-549.872,0.000,-354.613,105); +INSERT INTO `mob_spawn_points` VALUES (16932914,'Ice_Elemental','Ice Elemental',15,-593.149,0.000,-382.079,76); +INSERT INTO `mob_spawn_points` VALUES (16932915,'Light_Elemental','Light Elemental',16,-551.281,0.000,-364.682,140); +INSERT INTO `mob_spawn_points` VALUES (16932916,'Water_Elemental','Water Elemental',17,-570.168,0.000,-347.309,69); +INSERT INTO `mob_spawn_points` VALUES (16932917,'Thunder_Elemental','Thunder Elemental',18,-605.679,0.000,-342.943,3); +INSERT INTO `mob_spawn_points` VALUES (16932918,'Air_Elemental','Air Elemental',11,-602.000,0.000,-369.000,145); +INSERT INTO `mob_spawn_points` VALUES (16932919,'Dark_Elemental','Dark Elemental',12,-583.327,0.000,-364.695,120); +INSERT INTO `mob_spawn_points` VALUES (16932920,'Earth_Elemental','Earth Elemental',13,-571.000,0.000,-328.000,220); +INSERT INTO `mob_spawn_points` VALUES (16932921,'Fire_Elemental','Fire Elemental',14,-530.325,0.000,-330.858,194); +INSERT INTO `mob_spawn_points` VALUES (16932922,'Ice_Elemental','Ice Elemental',15,-595.000,0.000,-388.000,229); +INSERT INTO `mob_spawn_points` VALUES (16932923,'Light_Elemental','Light Elemental',16,-547.000,0.000,-366.000,28); +INSERT INTO `mob_spawn_points` VALUES (16932924,'Water_Elemental','Water Elemental',17,-574.548,0.000,-369.499,199); +INSERT INTO `mob_spawn_points` VALUES (16932925,'Thunder_Elemental','Thunder Elemental',18,-617.684,0.000,-342.105,131); +INSERT INTO `mob_spawn_points` VALUES (16932926,'Air_Elemental','Air Elemental',11,-602.000,0.000,-369.000,114); +INSERT INTO `mob_spawn_points` VALUES (16932927,'Dark_Elemental','Dark Elemental',12,-586.014,0.000,-365.202,248); +INSERT INTO `mob_spawn_points` VALUES (16932928,'Earth_Elemental','Earth Elemental',13,-568.621,0.000,-328.317,5); +INSERT INTO `mob_spawn_points` VALUES (16932929,'Fire_Elemental','Fire Elemental',14,-532.470,0.000,-346.676,79); +INSERT INTO `mob_spawn_points` VALUES (16932930,'Ice_Elemental','Ice Elemental',15,-595.000,0.000,-388.000,67); +INSERT INTO `mob_spawn_points` VALUES (16932931,'Light_Elemental','Light Elemental',16,-555.388,0.000,-366.932,123); +INSERT INTO `mob_spawn_points` VALUES (16932932,'Water_Elemental','Water Elemental',17,-572.796,0.000,-369.071,68); +INSERT INTO `mob_spawn_points` VALUES (16932933,'Thunder_Elemental','Thunder Elemental',18,-609.846,0.000,-344.298,1); +INSERT INTO `mob_spawn_points` VALUES (16932937,'Pluto','Pluto',19,-458.178,0.000,49.511,64); +INSERT INTO `mob_spawn_points` VALUES (16932938,'Bardha','Bardha',20,-407.565,0.000,45.689,225); +INSERT INTO `mob_spawn_points` VALUES (16932939,'Bardha','Bardha',20,-398.421,0.000,39.880,176); +INSERT INTO `mob_spawn_points` VALUES (16932940,'Bardha','Bardha',20,-456.388,-0.133,22.150,136); +INSERT INTO `mob_spawn_points` VALUES (16932941,'Bardha','Bardha',20,-480.833,0.000,24.301,10); +INSERT INTO `mob_spawn_points` VALUES (16932942,'Bardha','Bardha',20,-421.125,0.000,22.351,254); +INSERT INTO `mob_spawn_points` VALUES (16932943,'Bardha','Bardha',20,-428.766,0.000,-26.896,7); +INSERT INTO `mob_spawn_points` VALUES (16932944,'Bardha','Bardha',20,-445.956,0.000,47.672,19); +INSERT INTO `mob_spawn_points` VALUES (16932950,'Zlatorog','Zlatorog',21,-378.080,0.000,274.412,94); +INSERT INTO `mob_spawn_points` VALUES (16932951,'Mountain_Buffalo','Mountain Buffalo',22,-306.000,0.000,317.000,75); +INSERT INTO `mob_spawn_points` VALUES (16932952,'Mountain_Buffalo','Mountain Buffalo',22,-329.000,0.000,283.000,250); +INSERT INTO `mob_spawn_points` VALUES (16932953,'Mountain_Buffalo','Mountain Buffalo',22,-356.735,0.000,239.488,26); +INSERT INTO `mob_spawn_points` VALUES (16932954,'Mountain_Buffalo','Mountain Buffalo',22,-334.000,0.000,233.000,35); +INSERT INTO `mob_spawn_points` VALUES (16932955,'Mountain_Buffalo','Mountain Buffalo',22,-317.276,0.000,240.435,189); +INSERT INTO `mob_spawn_points` VALUES (16932956,'Mountain_Buffalo','Mountain Buffalo',22,-355.170,0.000,265.456,77); +INSERT INTO `mob_spawn_points` VALUES (16932957,'Mountain_Buffalo','Mountain Buffalo',22,-324.275,0.000,332.532,178); +INSERT INTO `mob_spawn_points` VALUES (16932963,'Millenary_Mossback','Millenary Mossback',23,-318.000,-0.500,595.000,95); +INSERT INTO `mob_spawn_points` VALUES (16932964,'Apollyon_Scavenger','Apollyon Scavenger',24,-248.738,0.000,530.959,116); +INSERT INTO `mob_spawn_points` VALUES (16932965,'Apollyon_Scavenger','Apollyon Scavenger',24,-310.000,0.000,485.000,92); +INSERT INTO `mob_spawn_points` VALUES (16932966,'Apollyon_Scavenger','Apollyon Scavenger',24,-300.000,-2.281,537.000,128); +INSERT INTO `mob_spawn_points` VALUES (16932967,'Apollyon_Scavenger','Apollyon Scavenger',24,-298.615,0.000,570.278,107); +INSERT INTO `mob_spawn_points` VALUES (16932968,'Apollyon_Scavenger','Apollyon Scavenger',24,-307.652,0.000,574.133,159); +INSERT INTO `mob_spawn_points` VALUES (16932969,'Apollyon_Scavenger','Apollyon Scavenger',24,-326.269,0.000,520.347,172); +INSERT INTO `mob_spawn_points` VALUES (16932970,'Apollyon_Scavenger','Apollyon Scavenger',24,-337.000,0.000,522.000,159); +INSERT INTO `mob_spawn_points` VALUES (16932976,'Cynoprosopi','Cynoprosopi',25,-587.357,-0.393,566.195,50); +INSERT INTO `mob_spawn_points` VALUES (16932977,'Gorynich','Gorynich',26,-567.000,0.000,603.000,93); +INSERT INTO `mob_spawn_points` VALUES (16932978,'Gorynich','Gorynich',26,-600.000,0.000,570.000,119); +INSERT INTO `mob_spawn_points` VALUES (16932979,'Gorynich','Gorynich',26,-616.399,0.000,530.164,91); +INSERT INTO `mob_spawn_points` VALUES (16932980,'Gorynich','Gorynich',26,-564.906,0.000,533.680,115); +INSERT INTO `mob_spawn_points` VALUES (16932981,'Gorynich','Gorynich',26,-555.000,0.000,614.000,105); +INSERT INTO `mob_spawn_points` VALUES (16932985,'Kaiser_Behemoth','Kaiser Behemoth',27,-562.475,-0.499,242.136,247); +INSERT INTO `mob_spawn_points` VALUES (16932986,'Kronprinz_Behemoth','Kronprinz Behemoth',28,-552.012,-0.480,234.028,113); +INSERT INTO `mob_spawn_points` VALUES (16932987,'Kronprinz_Behemoth','Kronprinz Behemoth',28,-575.267,-0.479,306.001,42); +INSERT INTO `mob_spawn_points` VALUES (16932988,'Kronprinz_Behemoth','Kronprinz Behemoth',28,-573.809,-0.495,238.166,249); +INSERT INTO `mob_spawn_points` VALUES (16932992,'Ghost_Clot','Ghost Clot',29,400.000,-1.000,-520.000,0); +INSERT INTO `mob_spawn_points` VALUES (16932993,'Metalloid_Amoeba','Metalloid Amoeba',30,438.000,-0.500,-566.000,0); +INSERT INTO `mob_spawn_points` VALUES (16932994,'Metalloid_Amoeba','Metalloid Amoeba',30,449.000,-0.500,-590.000,0); +INSERT INTO `mob_spawn_points` VALUES (16932995,'Metalloid_Amoeba','Metalloid Amoeba',30,361.000,-0.500,-546.000,0); +INSERT INTO `mob_spawn_points` VALUES (16932996,'Metalloid_Amoeba','Metalloid Amoeba',30,388.000,-0.500,-508.000,0); +INSERT INTO `mob_spawn_points` VALUES (16932997,'Metalloid_Amoeba','Metalloid Amoeba',30,412.000,-0.500,-550.000,0); +INSERT INTO `mob_spawn_points` VALUES (16932998,'Metalloid_Amoeba','Metalloid Amoeba',30,424.000,-0.500,-542.000,0); +INSERT INTO `mob_spawn_points` VALUES (16932999,'Metalloid_Amoeba','Metalloid Amoeba',30,365.000,-0.500,-595.000,0); +INSERT INTO `mob_spawn_points` VALUES (16933000,'Metalloid_Amoeba','Metalloid Amoeba',30,366.000,-0.500,-586.000,0); +INSERT INTO `mob_spawn_points` VALUES (16933001,'Metalloid_Amoeba','Metalloid Amoeba',0,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16933002,'Metalloid_Amoeba','Metalloid Amoeba',0,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16933006,'Tieholtsodi','Tieholtsodi',31,145.010,0.000,-438.159,189); +INSERT INTO `mob_spawn_points` VALUES (16933007,'Adamantshell','Adamantshell',32,146.494,-0.112,-504.494,32); +INSERT INTO `mob_spawn_points` VALUES (16933008,'Adamantshell','Adamantshell',32,138.953,-1.907,-495.490,188); +INSERT INTO `mob_spawn_points` VALUES (16933009,'Adamantshell','Adamantshell',32,138.000,-2.000,-497.000,229); +INSERT INTO `mob_spawn_points` VALUES (16933010,'Adamantshell','Adamantshell',32,184.608,-0.585,-536.562,68); +INSERT INTO `mob_spawn_points` VALUES (16933011,'Adamantshell','Adamantshell',32,183.732,-0.048,-555.318,196); +INSERT INTO `mob_spawn_points` VALUES (16933012,'Adamantshell','Adamantshell',32,195.000,0.000,-446.000,109); +INSERT INTO `mob_spawn_points` VALUES (16933013,'Adamantshell','Adamantshell',32,189.992,0.000,-441.419,128); +INSERT INTO `mob_spawn_points` VALUES (16933014,'Adamantshell','Adamantshell',32,189.888,0.000,-434.880,152); +INSERT INTO `mob_spawn_points` VALUES (16933015,'Adamantshell','Adamantshell',0,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16933016,'Adamantshell','Adamantshell',0,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16933020,'Grave_Digger','Grave Digger',33,280.000,-1.000,-280.000,0); +INSERT INTO `mob_spawn_points` VALUES (16933021,'Inhumer','Inhumer',34,409.661,-0.500,-372.819,149); +INSERT INTO `mob_spawn_points` VALUES (16933022,'Inhumer','Inhumer',34,341.842,-0.764,-319.744,72); +INSERT INTO `mob_spawn_points` VALUES (16933023,'Inhumer','Inhumer',34,344.407,-1.398,-280.625,239); +INSERT INTO `mob_spawn_points` VALUES (16933024,'Inhumer','Inhumer',34,336.038,-1.286,-310.834,218); +INSERT INTO `mob_spawn_points` VALUES (16933025,'Inhumer','Inhumer',34,322.230,-0.493,-328.462,108); +INSERT INTO `mob_spawn_points` VALUES (16933026,'Inhumer','Inhumer',34,348.563,-1.110,-312.928,131); +INSERT INTO `mob_spawn_points` VALUES (16933027,'Inhumer','Inhumer',34,330.350,-0.481,-323.224,60); +INSERT INTO `mob_spawn_points` VALUES (16933028,'Inhumer','Inhumer',34,339.728,-0.582,-320.195,233); +INSERT INTO `mob_spawn_points` VALUES (16933029,'Inhumer','Inhumer',34,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16933030,'Inhumer','Inhumer',0,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16933032,'Evil_Armory','Evil Armory',35,520.000,-1.000,-320.000,0); +INSERT INTO `mob_spawn_points` VALUES (16933033,'Flying_Spear','Flying Spear',36,490.000,0.000,-287.000,163); +INSERT INTO `mob_spawn_points` VALUES (16933034,'Flying_Spear','Flying Spear',36,540.000,0.000,-347.000,130); +INSERT INTO `mob_spawn_points` VALUES (16933035,'Flying_Spear','Flying Spear',36,619.000,0.000,-337.000,114); +INSERT INTO `mob_spawn_points` VALUES (16933036,'Flying_Spear','Flying Spear',36,599.808,0.000,-377.934,61); +INSERT INTO `mob_spawn_points` VALUES (16933037,'Flying_Spear','Flying Spear',36,541.000,0.000,-368.000,38); +INSERT INTO `mob_spawn_points` VALUES (16933038,'Flying_Spear','Flying Spear',36,559.506,0.000,-349.762,243); +INSERT INTO `mob_spawn_points` VALUES (16933039,'Flying_Spear','Flying Spear',36,615.098,0.000,-377.595,49); +INSERT INTO `mob_spawn_points` VALUES (16933040,'Flying_Spear','Flying Spear',36,564.009,0.000,-314.711,51); +INSERT INTO `mob_spawn_points` VALUES (16933044,'Goobbue_Harvester','Goobbue Harvester',37,496.692,0.000,22.934,128); +INSERT INTO `mob_spawn_points` VALUES (16933045,'Barometz','Barometz',98,465.548,-0.500,13.832,169); +INSERT INTO `mob_spawn_points` VALUES (16933046,'Borametz','Borametz',99,448.197,-0.500,30.825,10); +INSERT INTO `mob_spawn_points` VALUES (16933047,'Barometz','Barometz',38,459.392,-0.501,13.353,185); +INSERT INTO `mob_spawn_points` VALUES (16933048,'Borametz','Borametz',39,437.342,-0.500,23.941,57); +INSERT INTO `mob_spawn_points` VALUES (16933049,'Barometz','Barometz',38,469.541,-0.500,-23.776,18); +INSERT INTO `mob_spawn_points` VALUES (16933050,'Borametz','Borametz',39,480.411,-0.501,37.913,153); +INSERT INTO `mob_spawn_points` VALUES (16933051,'Barometz','Barometz',38,470.248,-0.500,21.134,126); +INSERT INTO `mob_spawn_points` VALUES (16933052,'Borametz','Borametz',39,486.132,-0.501,34.731,54); +INSERT INTO `mob_spawn_points` VALUES (16933055,'Barometz','Barometz',38,467.168,-0.500,11.415,63); +INSERT INTO `mob_spawn_points` VALUES (16933056,'Borametz','Borametz',39,450.915,-0.500,31.892,32); +INSERT INTO `mob_spawn_points` VALUES (16933057,'Barometz','Barometz',38,471.000,-0.500,20.668,158); +INSERT INTO `mob_spawn_points` VALUES (16933058,'Borametz','Borametz',39,464.472,-0.500,38.638,60); +INSERT INTO `mob_spawn_points` VALUES (16933062,'Thiazi','Thiazi',40,316.000,-0.500,359.000,64); +INSERT INTO `mob_spawn_points` VALUES (16933063,'Thiazi','Thiazi',40,367.000,-0.500,321.000,81); +INSERT INTO `mob_spawn_points` VALUES (16933064,'Bialozar','Bialozar',41,405.000,-0.500,280.000,128); +INSERT INTO `mob_spawn_points` VALUES (16933065,'Bialozar','Bialozar',41,350.000,-0.500,245.000,128); +INSERT INTO `mob_spawn_points` VALUES (16933066,'Cornu','Cornu',42,319.000,-0.500,359.000,64); +INSERT INTO `mob_spawn_points` VALUES (16933067,'Cornu','Cornu',42,313.000,-0.500,359.000,64); +INSERT INTO `mob_spawn_points` VALUES (16933068,'Cornu','Cornu',42,370.000,-0.500,321.000,81); +INSERT INTO `mob_spawn_points` VALUES (16933069,'Cornu','Cornu',42,364.000,-0.559,321.000,81); +INSERT INTO `mob_spawn_points` VALUES (16933070,'Sirin','Sirin',43,405.000,-0.500,283.000,128); +INSERT INTO `mob_spawn_points` VALUES (16933071,'Sirin','Sirin',43,405.000,-0.500,277.000,128); +INSERT INTO `mob_spawn_points` VALUES (16933072,'Sirin','Sirin',43,350.000,-0.500,242.000,128); +INSERT INTO `mob_spawn_points` VALUES (16933073,'Sirin','Sirin',43,350.000,-0.500,248.000,128); +INSERT INTO `mob_spawn_points` VALUES (16933081,'Apollyon_Sweeper','Apollyon Sweeper',44,284.000,-0.500,553.000,0); +INSERT INTO `mob_spawn_points` VALUES (16933082,'Apollyon_Cleaner','Apollyon Cleaner',100,289.210,-0.500,562.470,136); +INSERT INTO `mob_spawn_points` VALUES (16933083,'Apollyon_Cleaner','Apollyon Cleaner',45,277.075,-0.495,557.767,188); +INSERT INTO `mob_spawn_points` VALUES (16933084,'Apollyon_Cleaner','Apollyon Cleaner',45,278.794,-0.407,532.062,90); +INSERT INTO `mob_spawn_points` VALUES (16933085,'Apollyon_Cleaner','Apollyon Cleaner',45,294.102,-0.500,557.373,62); INSERT INTO `mob_spawn_points` VALUES (16933086,'Apollyon_Sweeper','Apollyon Sweeper',44,326.550,-0.474,542.858,209); -INSERT INTO `mob_spawn_points` VALUES (16933087,'Apollyon_Cleaner','Apollyon Cleaner',45,312.713,-0.406,594.577,127); +INSERT INTO `mob_spawn_points` VALUES (16933087,'Apollyon_Cleaner','Apollyon Cleaner',100,312.713,-0.406,594.577,127); INSERT INTO `mob_spawn_points` VALUES (16933088,'Apollyon_Cleaner','Apollyon Cleaner',45,327.726,-0.499,591.391,229); -INSERT INTO `mob_spawn_points` VALUES (16933089,'Apollyon_Cleaner','Apollyon Cleaner',45,333.459,-0.5,565.051,0); -INSERT INTO `mob_spawn_points` VALUES (16933090,'Apollyon_Cleaner','Apollyon Cleaner',45,337.937,-0.5,559.812,78); -INSERT INTO `mob_spawn_points` VALUES (16933091,'Apollyon_Sweeper','Apollyon Sweeper',44,321.294,-0.5,490.523,92); -INSERT INTO `mob_spawn_points` VALUES (16933092,'Apollyon_Cleaner','Apollyon Cleaner',45,325.514,-0.5,502.881,72); -INSERT INTO `mob_spawn_points` VALUES (16933093,'Apollyon_Cleaner','Apollyon Cleaner',45,339.3,-0.5,518.345,97); +INSERT INTO `mob_spawn_points` VALUES (16933089,'Apollyon_Cleaner','Apollyon Cleaner',45,333.459,-0.500,565.051,0); +INSERT INTO `mob_spawn_points` VALUES (16933090,'Apollyon_Cleaner','Apollyon Cleaner',45,337.937,-0.500,559.812,78); +INSERT INTO `mob_spawn_points` VALUES (16933091,'Apollyon_Sweeper','Apollyon Sweeper',44,321.294,-0.500,490.523,92); +INSERT INTO `mob_spawn_points` VALUES (16933092,'Apollyon_Cleaner','Apollyon Cleaner',100,325.514,-0.500,502.881,72); +INSERT INTO `mob_spawn_points` VALUES (16933093,'Apollyon_Cleaner','Apollyon Cleaner',45,339.300,-0.500,518.345,97); INSERT INTO `mob_spawn_points` VALUES (16933094,'Apollyon_Cleaner','Apollyon Cleaner',45,361.428,-0.391,540.602,138); -INSERT INTO `mob_spawn_points` VALUES (16933095,'Apollyon_Cleaner','Apollyon Cleaner',45,333.445,-0.5,516.713,108); -INSERT INTO `mob_spawn_points` VALUES (16933099,'Hyperion','Hyperion',46,551.942,-0.5,619.478,68); -- NE 4th -INSERT INTO `mob_spawn_points` VALUES (16933100,'Okeanos','Okeanos',47,560.385,-0.499,585.433,55); -INSERT INTO `mob_spawn_points` VALUES (16933101,'Cronos','Cronos',48,509.713,-0.5,645.516,208); -INSERT INTO `mob_spawn_points` VALUES (16933102,'Kerkopes','Kerkopes',49,583.405,-0.499,540.242,149); -INSERT INTO `mob_spawn_points` VALUES (16933103,'Kerkopes','Kerkopes',49,576.942,-0.480,586.207,99); -INSERT INTO `mob_spawn_points` VALUES (16933104,'Kerkopes','Kerkopes',49,587.429,-0.5,593.418,12); -INSERT INTO `mob_spawn_points` VALUES (16933105,'Kerkopes','Kerkopes',49,571.751,-0.481,554.473,161); -INSERT INTO `mob_spawn_points` VALUES (16933106,'Kerkopes','Kerkopes',49,568.912,-0.5,583.597,244); -INSERT INTO `mob_spawn_points` VALUES (16933107,'Kerkopes','Kerkopes',49,595.427,-0.486,540.516,133); -INSERT INTO `mob_spawn_points` VALUES (16933108,'Kerkopes','Kerkopes',49,599.645,-0.5,594.747,248); -INSERT INTO `mob_spawn_points` VALUES (16933109,'Kerkopes','Kerkopes',49,591.129,-0.483,602.821,24); -INSERT INTO `mob_spawn_points` VALUES (16933113,'Criosphinx','Criosphinx',50,532.886,-0.5,328.844,231); -- NE 5th -INSERT INTO `mob_spawn_points` VALUES (16933114,'Hieracosphinx','Hieracosphinx',51,565,-0.5,347,64); -INSERT INTO `mob_spawn_points` VALUES (16933115,'Troglodyte_Dhalmel','Troglodyte Dhalmel',52,557.856,-0.5,226.776,211); -INSERT INTO `mob_spawn_points` VALUES (16933116,'Troglodyte_Dhalmel','Troglodyte Dhalmel',52,559.136,-0.5,227.692,177); -INSERT INTO `mob_spawn_points` VALUES (16933117,'Troglodyte_Dhalmel','Troglodyte Dhalmel',52,558.508,-0.5,229.798,49); -INSERT INTO `mob_spawn_points` VALUES (16933118,'Troglodyte_Dhalmel','Troglodyte Dhalmel',52,555.551,-0.5,223.357,191); -INSERT INTO `mob_spawn_points` VALUES (16933119,'Troglodyte_Dhalmel','Troglodyte Dhalmel',52,578.299,-0.5,228.391,62); -INSERT INTO `mob_spawn_points` VALUES (16933120,'Troglodyte_Dhalmel','Troglodyte Dhalmel',52,593.756,-0.5,279.373,41); -INSERT INTO `mob_spawn_points` VALUES (16933121,'Troglodyte_Dhalmel','Troglodyte Dhalmel',52,563.367,-0.5,228.131,78); -INSERT INTO `mob_spawn_points` VALUES (16933122,'Troglodyte_Dhalmel','Troglodyte Dhalmel',52,589.718,-0.5,273.523,209); - -INSERT INTO `mob_spawn_points` VALUES (16933124,'Proto-Omega','Proto-Omega',53,12.377,-0.5,167.199,50); -- Central -INSERT INTO `mob_spawn_points` VALUES (16933125,'Gunpod','Gunpod',54,7.943,-0.358,159.710,162); - -INSERT INTO `mob_spawn_points` VALUES (16933129,'Carnagechief_Jackbodokk','Carnagechief Jackbodokk',55,1,-0.5,-143,73); -- CS -INSERT INTO `mob_spawn_points` VALUES (16933130,'Grognard_Mesmerizer','Grognard Mesmerizer',56,3,-0.5,-127,1); -INSERT INTO `mob_spawn_points` VALUES (16933131,'Grognard_Neckchopper','Grognard Neckchopper',57,3,-0.5,-127,1); -INSERT INTO `mob_spawn_points` VALUES (16933132,'Grognard_Footsoldier','Grognard Footsoldier',58,3,-0.5,-127,1); -INSERT INTO `mob_spawn_points` VALUES (16933133,'Grognard_Grappler','Grognard Grappler',59,3,-0.5,-127,1); -INSERT INTO `mob_spawn_points` VALUES (16933134,'Grognard_Predator','Grognard Predator',60,3,-0.5,-127,1); -INSERT INTO `mob_spawn_points` VALUES (16933135,'Grognard_Impaler','Grognard Impaler',61,3,-0.5,-127,1); -INSERT INTO `mob_spawn_points` VALUES (16933136,'Orcs_Wyvern','Orc\'s Wyvern',62,3,-0.5,-127,1); -INSERT INTO `mob_spawn_points` VALUES (16933137,'NaQba_Chirurgeon','Na\'Qba Chirurgeon',63,-35,-0.5,-125,73); -INSERT INTO `mob_spawn_points` VALUES (16933138,'Star_Ruby_Quadav','Star Ruby Quadav',64,-64,-0.5,-93,1); -INSERT INTO `mob_spawn_points` VALUES (16933139,'Wootz_Quadav','Wootz Quadav',65,-64,-0.5,-93,1); -INSERT INTO `mob_spawn_points` VALUES (16933140,'Fossil_Quadav','Fossil Quadav',66,-64,-0.5,-93,1); -INSERT INTO `mob_spawn_points` VALUES (16933141,'Star_Sapphire_Quadav','Star Sapphire Quadav',67,-64,-0.5,-93,1); -INSERT INTO `mob_spawn_points` VALUES (16933142,'Whitegold_Quadav','Whitegold Quadav',68,-64,-0.5,-93,1); -INSERT INTO `mob_spawn_points` VALUES (16933143,'Lightsteel_Quadav','Lightsteel Quadav',69,-64,-0.5,-93,1); -INSERT INTO `mob_spawn_points` VALUES (16933144,'Dee_Wapa_the_Desolator','Dee Wapa the Desolator',70,36,-0.5,-122,73); -INSERT INTO `mob_spawn_points` VALUES (16933145,'Yagudos_Elemental','Yagudo\'s Elemental',71,54,-0.5,-107,1); -INSERT INTO `mob_spawn_points` VALUES (16933146,'Yagudos_Avatar','Yagudo\'s Avatar',72,54,-0.5,-107,1); -INSERT INTO `mob_spawn_points` VALUES (16933147,'Yagudo_Archpriest','Yagudo Archpriest',73,54,-0.5,-107,1); -INSERT INTO `mob_spawn_points` VALUES (16933148,'Yagudo_Knight_Templar','Yagudo Knight Templar',74,54,-0.5,-107,1); -INSERT INTO `mob_spawn_points` VALUES (16933149,'Yagudo_Disciplinant','Yagudo Disciplinant',75,54,-0.5,-107,1); -INSERT INTO `mob_spawn_points` VALUES (16933150,'Yagudo_Prelatess','Yagudo Prelatess',76,54,-0.5,-107,1); -INSERT INTO `mob_spawn_points` VALUES (16933151,'Yagudo_Kapellmeister','Yagudo Kapellmeister',77,54,-0.5,-107,1); -INSERT INTO `mob_spawn_points` VALUES (16933152,'Yagudo_Eradicator','Yagudo Eradicator',78,54,-0.5,-107,1); - -INSERT INTO `mob_spawn_points` VALUES (16933154,'Nergal','Nergal',0,0,0,0,0); -- CS II -INSERT INTO `mob_spawn_points` VALUES (16933155,'Apollyon_Demon','Apollyon Demon',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933156,'Apollyon_Demon','Apollyon Demon',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933157,'Apollyon_Demon','Apollyon Demon',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933158,'Apollyon_Demon','Apollyon Demon',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933159,'Apollyon_Demon','Apollyon Demon',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933160,'Apollyon_Demon','Apollyon Demon',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933161,'Apollyon_Demon','Apollyon Demon',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933162,'Apollyon_Demon','Apollyon Demon',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933163,'Apollyon_Demon','Apollyon Demon',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933164,'Apollyon_Demon','Apollyon Demon',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933166,'Bata','Bata',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933167,'Apollyon_Taurus','Apollyon Taurus',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933168,'Apollyon_Taurus','Apollyon Taurus',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933169,'Apollyon_Taurus','Apollyon Taurus',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933170,'Apollyon_Taurus','Apollyon Taurus',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933171,'Apollyon_Taurus','Apollyon Taurus',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933172,'Apollyon_Taurus','Apollyon Taurus',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933173,'Apollyon_Taurus','Apollyon Taurus',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933174,'Apollyon_Taurus','Apollyon Taurus',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933175,'Apollyon_Taurus','Apollyon Taurus',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933176,'Apollyon_Taurus','Apollyon Taurus',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933178,'Aeshma','Aeshma',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933179,'Apollyon_Ahriman','Apollyon Ahriman',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933180,'Apollyon_Ahriman','Apollyon Ahriman',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933181,'Apollyon_Ahriman','Apollyon Ahriman',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933182,'Apollyon_Ahriman','Apollyon Ahriman',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933183,'Apollyon_Ahriman','Apollyon Ahriman',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933184,'Apollyon_Ahriman','Apollyon Ahriman',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933185,'Apollyon_Ahriman','Apollyon Ahriman',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933186,'Apollyon_Ahriman','Apollyon Ahriman',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933187,'Apollyon_Ahriman','Apollyon Ahriman',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933188,'Ahrimans_Avatar','Ahriman\'s Avatar',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933189,'Apollyon_Ahriman','Apollyon Ahriman',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933190,'Ahrimans_Avatar','Ahriman\'s Avatar',0,0,0,0,0); - -INSERT INTO `mob_spawn_points` VALUES (16933192,'Arch-Omega','Arch-Omega',0,0,0,0,0); -- Central II -INSERT INTO `mob_spawn_points` VALUES (16933193,'Gunpod','Gunpod',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933194,'Gunpod','Gunpod',0,0,0,0,0); -INSERT INTO `mob_spawn_points` VALUES (16933195,'Gunpod','Gunpod',0,0,0,0,0); +INSERT INTO `mob_spawn_points` VALUES (16933095,'Apollyon_Cleaner','Apollyon Cleaner',45,333.445,-0.500,516.713,108); +INSERT INTO `mob_spawn_points` VALUES (16933099,'Hyperion','Hyperion',46,594.721,-0.499,527.531,233); +INSERT INTO `mob_spawn_points` VALUES (16933100,'Okeanos','Okeanos',47,564.915,-0.487,573.353,60); +INSERT INTO `mob_spawn_points` VALUES (16933101,'Cronos','Cronos',48,563.713,-0.497,570.866,53); +INSERT INTO `mob_spawn_points` VALUES (16933102,'Kerkopes','Kerkopes',101,572.973,-0.492,573.219,26); +INSERT INTO `mob_spawn_points` VALUES (16933103,'Kerkopes','Kerkopes',49,575.197,-0.396,568.593,253); +INSERT INTO `mob_spawn_points` VALUES (16933104,'Kerkopes','Kerkopes',49,557.304,-0.401,528.465,45); +INSERT INTO `mob_spawn_points` VALUES (16933105,'Kerkopes','Kerkopes',49,597.542,-0.414,561.673,229); +INSERT INTO `mob_spawn_points` VALUES (16933106,'Kerkopes','Kerkopes',49,563.680,-0.499,594.684,16); +INSERT INTO `mob_spawn_points` VALUES (16933107,'Kerkopes','Kerkopes',49,579.133,-0.499,525.427,228); +INSERT INTO `mob_spawn_points` VALUES (16933108,'Kerkopes','Kerkopes',49,583.213,-0.500,594.479,30); +INSERT INTO `mob_spawn_points` VALUES (16933109,'Kerkopes','Kerkopes',49,588.764,-0.499,569.740,47); +INSERT INTO `mob_spawn_points` VALUES (16933113,'Criosphinx','Criosphinx',50,555.000,-0.500,347.000,64); +INSERT INTO `mob_spawn_points` VALUES (16933114,'Hieracosphinx','Hieracosphinx',51,565.000,-0.500,347.000,64); +INSERT INTO `mob_spawn_points` VALUES (16933115,'Troglodyte_Dhalmel','Troglodyte Dhalmel',52,525.180,-0.500,288.169,38); +INSERT INTO `mob_spawn_points` VALUES (16933116,'Troglodyte_Dhalmel','Troglodyte Dhalmel',52,542.354,-0.499,256.271,25); +INSERT INTO `mob_spawn_points` VALUES (16933117,'Troglodyte_Dhalmel','Troglodyte Dhalmel',52,546.451,-0.499,253.793,25); +INSERT INTO `mob_spawn_points` VALUES (16933118,'Troglodyte_Dhalmel','Troglodyte Dhalmel',52,582.242,-0.499,307.279,37); +INSERT INTO `mob_spawn_points` VALUES (16933119,'Troglodyte_Dhalmel','Troglodyte Dhalmel',52,590.586,-0.500,285.598,66); +INSERT INTO `mob_spawn_points` VALUES (16933120,'Troglodyte_Dhalmel','Troglodyte Dhalmel',52,590.569,-0.500,285.574,66); +INSERT INTO `mob_spawn_points` VALUES (16933121,'Troglodyte_Dhalmel','Troglodyte Dhalmel',52,530.585,-0.500,283.369,37); +INSERT INTO `mob_spawn_points` VALUES (16933122,'Troglodyte_Dhalmel','Troglodyte Dhalmel',52,525.971,-0.499,289.436,37); +INSERT INTO `mob_spawn_points` VALUES (16933124,'Proto-Omega','Proto-Omega',53,0.000,-0.500,138.000,192); +INSERT INTO `mob_spawn_points` VALUES (16933125,'Gunpod','Gunpod',54,-2.072,-0.500,161.557,200); +INSERT INTO `mob_spawn_points` VALUES (16933129,'Carnagechief_Jackbodokk','Carnagechief Jackbodokk',55,-25.000,-0.500,-155.000,0); +INSERT INTO `mob_spawn_points` VALUES (16933130,'Grognard_Mesmerizer','Grognard Mesmerizer',56,-21.555,-0.448,-152.677,238); +INSERT INTO `mob_spawn_points` VALUES (16933131,'Grognard_Neckchopper','Grognard Neckchopper',57,-22.085,-0.439,-152.998,236); +INSERT INTO `mob_spawn_points` VALUES (16933132,'Grognard_Footsoldier','Grognard Footsoldier',58,-22.590,-0.500,-153.781,236); +INSERT INTO `mob_spawn_points` VALUES (16933133,'Grognard_Grappler','Grognard Grappler',59,3.000,-0.500,-127.000,1); +INSERT INTO `mob_spawn_points` VALUES (16933134,'Grognard_Predator','Grognard Predator',60,3.000,-0.500,-127.000,1); +INSERT INTO `mob_spawn_points` VALUES (16933135,'Grognard_Impaler','Grognard Impaler',61,3.000,-0.500,-127.000,1); +INSERT INTO `mob_spawn_points` VALUES (16933136,'Orcs_Wyvern','Orc\'s Wyvern',62,3.000,-0.500,-127.000,1); +INSERT INTO `mob_spawn_points` VALUES (16933137,'NaQba_Chirurgeon','Na\'Qba Chirurgeon',63,0.000,-0.500,-135.000,64); +INSERT INTO `mob_spawn_points` VALUES (16933138,'Star_Ruby_Quadav','Star Ruby Quadav',64,0.904,-0.278,-141.138,28); +INSERT INTO `mob_spawn_points` VALUES (16933139,'Wootz_Quadav','Wootz Quadav',65,0.140,-0.383,-142.198,207); +INSERT INTO `mob_spawn_points` VALUES (16933140,'Fossil_Quadav','Fossil Quadav',66,0.405,-0.500,-143.149,219); +INSERT INTO `mob_spawn_points` VALUES (16933141,'Star_Sapphire_Quadav','Star Sapphire Quadav',67,-64.000,-0.500,-93.000,1); +INSERT INTO `mob_spawn_points` VALUES (16933142,'Whitegold_Quadav','Whitegold Quadav',68,-64.000,-0.500,-93.000,1); +INSERT INTO `mob_spawn_points` VALUES (16933143,'Lightsteel_Quadav','Lightsteel Quadav',69,-64.000,-0.500,-93.000,1); +INSERT INTO `mob_spawn_points` VALUES (16933144,'Dee_Wapa_the_Desolator','Dee Wapa the Desolator',70,25.000,-0.500,-155.000,128); +INSERT INTO `mob_spawn_points` VALUES (16933145,'Yagudos_Elemental','Yagudo\'s Elemental',71,54.000,-0.500,-107.000,1); +INSERT INTO `mob_spawn_points` VALUES (16933146,'Yagudos_Avatar','Yagudo\'s Avatar',72,26.304,-0.168,-165.291,75); +INSERT INTO `mob_spawn_points` VALUES (16933147,'Yagudo_Archpriest','Yagudo Archpriest',73,23.340,-0.184,-164.876,118); +INSERT INTO `mob_spawn_points` VALUES (16933148,'Yagudo_Knight_Templar','Yagudo Knight Templar',74,23.445,-0.230,-165.999,141); +INSERT INTO `mob_spawn_points` VALUES (16933149,'Yagudo_Disciplinant','Yagudo Disciplinant',75,22.471,-0.500,-165.039,5); +INSERT INTO `mob_spawn_points` VALUES (16933150,'Yagudo_Prelatess','Yagudo Prelatess',76,54.000,-0.500,-107.000,1); +INSERT INTO `mob_spawn_points` VALUES (16933151,'Yagudo_Kapellmeister','Yagudo Kapellmeister',77,54.000,-0.500,-107.000,1); +INSERT INTO `mob_spawn_points` VALUES (16933152,'Yagudo_Eradicator','Yagudo Eradicator',78,54.000,-0.500,-107.000,1); +INSERT INTO `mob_spawn_points` VALUES (16933154,'Nergal','Nergal',81,0.000,-0.500,-212.000,193); +INSERT INTO `mob_spawn_points` VALUES (16933155,'Apollyon_Demon','Apollyon Demon',82,-7.351,-0.025,-189.509,73); +INSERT INTO `mob_spawn_points` VALUES (16933156,'Apollyon_Demon','Apollyon Demon',82,-9.190,-0.012,-191.698,17); +INSERT INTO `mob_spawn_points` VALUES (16933157,'Apollyon_Demon','Apollyon Demon',82,-7.906,-0.504,-193.091,167); +INSERT INTO `mob_spawn_points` VALUES (16933158,'Apollyon_Demon','Apollyon Demon',83,-7.508,-0.013,-194.477,183); +INSERT INTO `mob_spawn_points` VALUES (16933159,'Apollyon_Demon','Apollyon Demon',83,-9.059,-0.013,-193.702,218); +INSERT INTO `mob_spawn_points` VALUES (16933160,'Apollyon_Demon','Apollyon Demon',83,-5.843,-0.051,-192.175,126); +INSERT INTO `mob_spawn_points` VALUES (16933161,'Apollyon_Demon','Apollyon Demon',84,-5.406,-0.500,-187.359,136); +INSERT INTO `mob_spawn_points` VALUES (16933162,'Apollyon_Demon','Apollyon Demon',84,-6.851,-0.500,-196.508,181); +INSERT INTO `mob_spawn_points` VALUES (16933163,'Apollyon_Demon','Apollyon Demon',85,-9.880,-0.500,-191.122,21); +INSERT INTO `mob_spawn_points` VALUES (16933164,'Apollyon_Demon','Apollyon Demon',85,-7.829,-0.500,-191.426,71); +INSERT INTO `mob_spawn_points` VALUES (16933166,'Bata','Bata',86,-69.017,-0.500,-93.395,233); +INSERT INTO `mob_spawn_points` VALUES (16933167,'Apollyon_Taurus','Apollyon Taurus',87,-42.762,-0.345,-109.180,8); +INSERT INTO `mob_spawn_points` VALUES (16933168,'Apollyon_Taurus','Apollyon Taurus',87,-40.805,0.000,-110.185,233); +INSERT INTO `mob_spawn_points` VALUES (16933169,'Apollyon_Taurus','Apollyon Taurus',87,-41.035,0.000,-113.208,202); +INSERT INTO `mob_spawn_points` VALUES (16933170,'Apollyon_Taurus','Apollyon Taurus',87,-40.559,0.000,-108.116,52); +INSERT INTO `mob_spawn_points` VALUES (16933171,'Apollyon_Taurus','Apollyon Taurus',87,-43.064,0.000,-110.706,243); +INSERT INTO `mob_spawn_points` VALUES (16933172,'Apollyon_Taurus','Apollyon Taurus',87,-43.179,0.000,-111.245,237); +INSERT INTO `mob_spawn_points` VALUES (16933173,'Apollyon_Taurus','Apollyon Taurus',87,-43.165,-0.008,-110.671,244); +INSERT INTO `mob_spawn_points` VALUES (16933174,'Apollyon_Taurus','Apollyon Taurus',87,-39.514,-0.500,-108.943,89); +INSERT INTO `mob_spawn_points` VALUES (16933175,'Apollyon_Taurus','Apollyon Taurus',87,-41.824,-0.500,-108.039,31); +INSERT INTO `mob_spawn_points` VALUES (16933176,'Apollyon_Taurus','Apollyon Taurus',87,-40.430,-0.500,-112.251,197); +INSERT INTO `mob_spawn_points` VALUES (16933178,'Aeshma','Aeshma',88,68.000,-0.500,-87.000,88); +INSERT INTO `mob_spawn_points` VALUES (16933179,'Apollyon_Ahriman','Apollyon Ahriman',89,71.000,-0.500,-91.000,88); +INSERT INTO `mob_spawn_points` VALUES (16933180,'Apollyon_Ahriman','Apollyon Ahriman',89,69.000,-0.500,-99.000,88); +INSERT INTO `mob_spawn_points` VALUES (16933181,'Apollyon_Ahriman','Apollyon Ahriman',89,55.000,-0.500,-102.000,88); +INSERT INTO `mob_spawn_points` VALUES (16933182,'Apollyon_Ahriman','Apollyon Ahriman',89,65.000,-0.500,-92.000,88); +INSERT INTO `mob_spawn_points` VALUES (16933183,'Apollyon_Ahriman','Apollyon Ahriman',89,63.000,-0.500,-96.000,88); +INSERT INTO `mob_spawn_points` VALUES (16933184,'Apollyon_Ahriman','Apollyon Ahriman',89,63.000,-0.500,-108.000,88); +INSERT INTO `mob_spawn_points` VALUES (16933185,'Apollyon_Ahriman','Apollyon Ahriman',89,71.000,-0.500,-95.000,88); +INSERT INTO `mob_spawn_points` VALUES (16933186,'Apollyon_Ahriman','Apollyon Ahriman',89,65.000,-0.500,-103.000,88); +INSERT INTO `mob_spawn_points` VALUES (16933187,'Apollyon_Ahriman','Apollyon Ahriman',89,61.000,-0.500,-100.000,88); +INSERT INTO `mob_spawn_points` VALUES (16933188,'Ahrimans_Avatar','Ahriman\'s Avatar',90,59.389,-0.500,-103.684,15); +INSERT INTO `mob_spawn_points` VALUES (16933189,'Apollyon_Ahriman','Apollyon Ahriman',89,59.000,-0.500,-105.000,88); +INSERT INTO `mob_spawn_points` VALUES (16933190,'Ahrimans_Avatar','Ahriman\'s Avatar',91,58.684,-0.500,-104.947,250); +INSERT INTO `mob_spawn_points` VALUES (16933192,'Arch-Omega','Arch-Omega',79,0.000,-0.500,138.000,193); +INSERT INTO `mob_spawn_points` VALUES (16933193,'Gunpod','Gunpod',92,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16933194,'Gunpod','Gunpod',92,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (16933195,'Gunpod','Gunpod',92,0.000,0.000,0.000,0); -- ------------------------------------------------------------ -- Dynamis - Valkurm (Zone 39) diff --git a/sql/npc_list.sql b/sql/npc_list.sql index 6f8ee1ca638..573d2711f38 100644 --- a/sql/npc_list.sql +++ b/sql/npc_list.sql @@ -2865,175 +2865,164 @@ INSERT INTO `npc_list` VALUES (16924814,'Mystic_Retriever','Mystic Retriever',13 -- ------------------------------------------------------------ -- Temenos (Zone 37) -- ------------------------------------------------------------ --- item -INSERT INTO `npc_list` VALUES (16928769,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928770,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928771,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16928778,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928779,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928780,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16928785,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928786,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928787,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16928794,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928795,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928796,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16928806,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928807,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928808,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16928813,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928814,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928815,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16928830,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928836,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928837,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928838,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928839,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16928845,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928846,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928847,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928848,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16928854,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928855,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928856,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928857,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16928863,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928864,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928865,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928866,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16928872,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928873,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928874,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928875,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16928881,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928882,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928883,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928884,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16928890,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928891,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); - --- time -INSERT INTO `npc_list` VALUES (16928895,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928896,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928897,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16928907,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928908,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928909,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16928919,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928920,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928921,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16928928,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928929,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928930,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16928940,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928941,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928942,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16928949,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928950,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928951,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16928958,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16928965,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16928967,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928968,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928969,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928970,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); --- recover -INSERT INTO `npc_list` VALUES (16928971,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928972,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928973,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928974,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928975,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928976,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928977,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928978,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928979,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928980,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928981,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928982,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928983,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928984,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16928985,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16929004,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16929029,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16929045,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); - --- mimic -INSERT INTO `npc_list` VALUES (16929052,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16929089,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16929116,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16929128,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16929161,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16929171,'Scanning_Device','Scanning Device',222,586.000,-2.000,66.000,0,40,40,8,0,0,0,3,0x0000340000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928769,'Armoury_Crate','Armoury Crate',32,332.000,69.500,468.000,7,40,40,0,8,0,6,1155,0x0000C00300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928770,'Armoury_Crate','Armoury Crate',32,328.000,69.500,464.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928771,'Armoury_Crate','Armoury Crate',32,336.000,69.500,472.000,7,40,40,0,8,0,6,1155,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928778,'Armoury_Crate','Armoury Crate',64,199.998,-81.500,479.998,7,40,40,0,8,0,6,1155,0x0000C00300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928779,'Armoury_Crate','Armoury Crate',64,198.000,-81.500,480.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928780,'Armoury_Crate','Armoury Crate',64,202.000,-81.500,480.000,7,40,40,0,8,0,6,1155,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928785,'Armoury_Crate','Armoury Crate',64,20.000,79.500,428.000,7,40,40,0,8,0,6,1155,0x0000C00300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928786,'Armoury_Crate','Armoury Crate',64,20.000,79.500,432.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928787,'Armoury_Crate','Armoury Crate',64,20.000,79.500,436.000,7,40,40,0,8,0,6,1155,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928794,'Armoury_Crate','Armoury Crate',64,-120.000,-80.500,420.000,7,40,40,0,8,0,6,1155,0x0000C00300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928795,'Armoury_Crate','Armoury Crate',64,-120.000,-80.500,422.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928796,'Armoury_Crate','Armoury Crate',64,-120.000,-80.500,418.000,7,40,40,0,8,0,6,1155,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928806,'Armoury_Crate','Armoury Crate',128,-284.000,73.500,420.000,7,40,40,0,8,0,6,1155,0x0000C00300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928807,'Armoury_Crate','Armoury Crate',64,-280.000,73.550,420.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928808,'Armoury_Crate','Armoury Crate',0,-276.000,73.500,420.000,7,40,40,0,8,0,6,1155,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928813,'Armoury_Crate','Armoury Crate',32,-470.000,-78.500,426.000,7,40,40,0,8,0,6,1155,0x0000C00300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928814,'Armoury_Crate','Armoury Crate',32,-468.000,-78.500,428.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928815,'Armoury_Crate','Armoury Crate',32,-466.000,-78.500,430.000,7,40,40,0,8,0,6,1155,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928830,'Armoury_Crate','Armoury Crate',64,-599.999,84.500,439.998,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928836,'Armoury_Crate','Armoury Crate',77,373.138,-0.500,137.551,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928837,'Armoury_Crate','Armoury Crate',0,340.000,-0.500,140.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928838,'Armoury_Crate','Armoury Crate',0,340.000,-6.500,180.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928839,'Armoury_Crate','Armoury Crate',0,380.000,-0.500,180.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928845,'Armoury_Crate','Armoury Crate',0,200.000,-161.500,198.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928846,'Armoury_Crate','Armoury Crate',0,198.000,-161.500,200.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928847,'Armoury_Crate','Armoury Crate',0,200.000,-161.500,202.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928848,'Armoury_Crate','Armoury Crate',0,202.000,-161.500,200.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928854,'Armoury_Crate','Armoury Crate',0,20.000,5.500,152.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928855,'Armoury_Crate','Armoury Crate',0,20.000,5.500,140.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928856,'Armoury_Crate','Armoury Crate',0,60.000,5.500,152.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928857,'Armoury_Crate','Armoury Crate',0,60.000,5.500,148.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928863,'Armoury_Crate','Armoury Crate',0,-122.000,-160.500,136.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928864,'Armoury_Crate','Armoury Crate',0,-118.000,-160.500,136.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928865,'Armoury_Crate','Armoury Crate',0,-122.000,-160.500,144.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928866,'Armoury_Crate','Armoury Crate',0,-118.000,-160.500,144.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928872,'Armoury_Crate','Armoury Crate',0,-312.000,-0.500,152.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928873,'Armoury_Crate','Armoury Crate',0,-300.000,-0.500,128.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928874,'Armoury_Crate','Armoury Crate',0,-248.000,-0.500,152.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928875,'Armoury_Crate','Armoury Crate',0,-260.000,-0.500,128.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928881,'Armoury_Crate','Armoury Crate',0,-468.000,-158.500,148.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928882,'Armoury_Crate','Armoury Crate',0,-472.000,-158.500,152.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928883,'Armoury_Crate','Armoury Crate',0,-412.000,-158.500,148.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928884,'Armoury_Crate','Armoury Crate',0,-408.000,-158.500,152.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928890,'Armoury_Crate','Armoury Crate',64,-602.000,4.500,159.998,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928891,'Armoury_Crate','Armoury Crate',64,-598.000,4.500,159.998,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928895,'Armoury_Crate','Armoury Crate',107,345.023,73.796,-152.570,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928896,'Armoury_Crate','Armoury Crate',109,345.065,73.691,-152.738,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928897,'Armoury_Crate','Armoury Crate',103,344.439,73.537,-152.272,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928907,'Armoury_Crate','Armoury Crate',0,200.000,-81.500,-80.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928908,'Armoury_Crate','Armoury Crate',0,198.000,-81.500,-80.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928909,'Armoury_Crate','Armoury Crate',0,200.000,-81.500,-82.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928919,'Armoury_Crate','Armoury Crate',0,60.000,79.500,-134.800,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928920,'Armoury_Crate','Armoury Crate',0,58.000,79.374,-134.800,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928921,'Armoury_Crate','Armoury Crate',0,60.000,79.500,-136.800,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928928,'Armoury_Crate','Armoury Crate',0,-120.000,-80.500,-140.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928929,'Armoury_Crate','Armoury Crate',0,-122.000,-80.500,-140.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928930,'Armoury_Crate','Armoury Crate',0,-120.000,-80.500,-142.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928940,'Armoury_Crate','Armoury Crate',0,-306.000,79.500,-140.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928941,'Armoury_Crate','Armoury Crate',0,-308.000,79.500,-140.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928942,'Armoury_Crate','Armoury Crate',0,-306.000,79.375,-142.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928949,'Armoury_Crate','Armoury Crate',183,-469.532,-78.297,-133.277,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928950,'Armoury_Crate','Armoury Crate',0,-414.000,-78.500,-132.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928951,'Armoury_Crate','Armoury Crate',0,-412.000,-78.500,-134.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928958,'Armoury_Crate','Armoury Crate',64,-600.000,84.500,-120.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928965,'Armoury_Crate','Armoury Crate',64,-559.999,4.500,-359.998,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928967,'Armoury_Crate','Armoury Crate',96,-492.000,1.500,-412.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928968,'Armoury_Crate','Armoury Crate',160,-492.000,1.500,-508.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928969,'Armoury_Crate','Armoury Crate',222,-628.000,1.500,-508.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928970,'Armoury_Crate','Armoury Crate',286,-628.000,1.500,-412.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928971,'Armoury_Crate','Armoury Crate',64,-560.000,-6.500,-460.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928972,'Armoury_Crate','Armoury Crate',64,-512.000,-6.500,-448.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928973,'Armoury_Crate','Armoury Crate',128,-512.000,-6.500,-460.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928974,'Armoury_Crate','Armoury Crate',192,-512.000,-6.500,-472.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928975,'Armoury_Crate','Armoury Crate',64,-608.000,-6.500,-448.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928976,'Armoury_Crate','Armoury Crate',0,-608.000,-6.500,-460.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928977,'Armoury_Crate','Armoury Crate',192,-608.000,-6.500,-472.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928978,'Armoury_Crate','Armoury Crate',0,-592.000,-6.500,-512.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928979,'Armoury_Crate','Armoury Crate',128,-568.000,-6.500,-512.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928980,'Armoury_Crate','Armoury Crate',0,-592.000,-6.500,-488.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928981,'Armoury_Crate','Armoury Crate',128,-568.000,-6.500,-488.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928982,'Armoury_Crate','Armoury Crate',0,-552.000,-6.500,-512.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928983,'Armoury_Crate','Armoury Crate',128,-528.000,-6.500,-512.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928984,'Armoury_Crate','Armoury Crate',0,-552.000,-6.500,-488.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16928985,'Armoury_Crate','Armoury Crate',128,-528.000,-6.500,-488.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16929004,'Armoury_Crate','Armoury Crate',0,-280.000,-161.500,-440.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16929029,'Armoury_Crate','Armoury Crate',64,0.000,-6.500,-460.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16929045,'Armoury_Crate','Armoury Crate',0,288.000,-160.500,-420.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16929052,'Armoury_Crate','Armoury Crate',64,560.000,4.500,-400.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16929089,'Armoury_Crate','Armoury Crate',64,560.000,-0.500,-460.000,7,40,40,0,8,0,6,1155,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16929116,'Armoury_Crate','Armoury Crate',64,560.000,-0.500,-460.000,7,40,40,0,8,0,6,1155,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16929128,'Armoury_Crate','Armoury Crate',64,560.000,-0.500,-460.000,7,40,40,0,8,0,6,1155,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16929161,'Armoury_Crate','Armoury Crate',64,560.000,-0.500,-460.000,7,40,40,0,8,0,6,1155,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16929171,'Scanning_Device','Scanning Device',0,580.000,-4.875,107.750,32769,50,50,0,0,0,0,3,0x0000340000000000000000000000000000000000,0,'COP',1); INSERT INTO `npc_list` VALUES (16929172,'Achieve_Master','Achieve Master',0,0.000,0.000,0.000,0,50,50,0,0,0,2,3,0x0000320000000000000000000000000000000000,0,'SOA',0); INSERT INTO `npc_list` VALUES (16929173,'Unity_Master','Unity Master',0,0.000,0.000,0.000,0,50,50,0,0,96,2,2051,0x0000340000000000000000000000000000000000,0,'SOA',0); - -INSERT INTO `npc_list` VALUES (16929188,'Matter_Diffusion_Module','Matter Diffusion Module',222,580.000,-2.000,104.000,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929189,'Matter_Diffusion_Module','Matter Diffusion Module',222,655.000,-2.000,-610.000,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929190,'Matter_Diffusion_Module','Matter Diffusion Module',222,655.000,-2.000,-610.000,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929191,'Matter_Diffusion_Module','Matter Diffusion Module',222,655.000,-2.000,-610.000,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929192,'Matter_Diffusion_Module','Matter Diffusion Module',222,655.000,-2.000,-610.000,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929193,'Matter_Diffusion_Module','Matter Diffusion Module',222,655.000,-2.000,-610.000,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929194,'Matter_Diffusion_Module','Matter Diffusion Module',222,655.000,-2.000,-610.000,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929195,'Matter_Diffusion_Module','Matter Diffusion Module',222,655.000,-2.000,-610.000,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929196,'Matter_Diffusion_Module','Matter Diffusion Module',222,655.000,-2.000,-610.000,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); - -INSERT INTO `npc_list` VALUES (16929221,'Particle_Gate','',0,339.990,72.000,400.255,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929222,'Particle_Gate','',0,220.000,-82.000,400.000,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929223,'Particle_Gate','',0,19.910,72.970,400.220,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929224,'Particle_Gate','',0,-100.020,-81.640,399.970,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929225,'Particle_Gate','',0,-299.970,78.000,400.170,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929226,'Particle_Gate','',0,-420.130,-81.400,399.960,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929227,'Particle_Gate','',0,-620.020,78.300,399.790,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); - -INSERT INTO `npc_list` VALUES (16929228,'Particle_Gate','',0,340.000,-1.230,120.000,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929229,'Particle_Gate','',0,219.980,-162.000,120.000,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929230,'Particle_Gate','',0,20.000,-2.370,120.100,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929231,'Particle_Gate','',0,-100.500,-161.980,120.270,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929232,'Particle_Gate','',0,-299.980,-2.190,120.130,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929233,'Particle_Gate','',0,-420.030,-161.800,120.330,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929234,'Particle_Gate','',0,-619.990,-1.550,119.770,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929235,'Particle_Gate','',0,339.990,72.430,-159.800,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929236,'Particle_Gate','',0,220.000,-81.940,-159.800,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929237,'Particle_Gate','',0,20.000,72.840,-159.830,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929238,'Particle_Gate','',0,-100.050,-81.570,-159.730,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929239,'Particle_Gate','',0,-299.890,78.600,-159.720,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929240,'Particle_Gate','',0,-420.000,-81.460,-159.600,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929241,'Particle_Gate','',0,-620.000,78.640,-159.840,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929242,'Particle_Gate','',0,299.949,-161.560,-479.840,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929243,'Particle_Gate','',0,-20.080,-1.960,-520.000,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929244,'Particle_Gate','',0,-239.990,-161.190,-500.020,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929245,'Particle_Gate','',0,-580.000,-1.450,-560.370,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); -INSERT INTO `npc_list` VALUES (16929246,'Particle_Gate','',0,540.000,-1.390,-520.000,0,40,40,8,0,0,0,3,0x0200000000000000000000000000000000000000,0,'COP',0); - +INSERT INTO `npc_list` VALUES (16929188,'Matter_Diffusion_Module','Matter Diffusion Module',0,580.000,-2.375,104.000,1,50,50,0,0,0,0,3,0x0000340000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929189,'Matter_Diffusion_Module','Matter Diffusion Module',0,-620.000,77.500,376.000,1,50,50,0,0,0,2,3,0x0000340000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929190,'Matter_Diffusion_Module','Matter Diffusion Module',0,-620.000,-2.500,96.000,1,50,50,0,0,0,2,3,0x0000340000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929191,'Matter_Diffusion_Module','Matter Diffusion Module',0,-620.000,77.500,-184.000,1,50,50,0,0,0,2,3,0x0000340000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929192,'Matter_Diffusion_Module','Matter Diffusion Module',0,-580.000,-2.500,-584.000,1,50,50,0,0,0,2,3,0x0000340000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929193,'Matter_Diffusion_Module','Matter Diffusion Module',0,-264.000,-162.500,-500.000,1,50,50,0,0,0,2,3,0x0000340000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929194,'Matter_Diffusion_Module','Matter Diffusion Module',0,-20.000,-2.500,-544.000,1,50,50,0,0,0,2,3,0x0000340000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929195,'Matter_Diffusion_Module','Matter Diffusion Module',0,300.000,-162.500,-504.000,1,50,50,0,0,0,2,3,0x0000340000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929196,'Matter_Diffusion_Module','Matter Diffusion Module',0,540.000,-2.500,-544.000,1,50,50,0,0,0,2,3,0x0000340000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929197,'_110','',0,340.000,72.000,400.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929198,'_111','',0,220.000,-82.000,400.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929199,'_112','',0,20.000,72.000,400.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929200,'_113','',0,-100.000,-82.000,400.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929201,'_114','',0,-300.000,78.000,400.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929202,'_115','',0,-420.000,-82.000,400.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929203,'_116','',0,-620.000,78.000,400.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929204,'_117','',0,340.000,-2.000,120.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929205,'_118','',0,220.000,-162.000,120.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929206,'_119','',0,20.000,-2.000,120.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929207,'_11a','',0,-100.000,-162.000,120.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929208,'_11b','',0,-300.000,-2.000,120.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929209,'_11c','',0,-420.000,-162.000,120.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929210,'_11d','',0,-620.000,-2.000,120.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929211,'_11e','',0,340.000,72.000,-160.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929212,'_11f','',0,220.000,-82.000,-160.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929213,'_11g','',0,20.000,72.000,-160.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929214,'_11h','',0,-100.000,-82.000,-160.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929215,'_11i','',0,-300.000,78.000,-160.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929216,'_11j','',0,-420.000,-82.000,-160.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929217,'_11k','',0,-620.000,78.000,-160.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929218,'_11l','',0,540.000,-2.000,-520.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929219,'_11m','',0,300.000,-162.000,-480.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929220,'_11n','',0,-20.000,-2.000,-520.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929221,'_11o','',0,-240.000,-162.000,-500.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929222,'_11p','',0,-580.000,-2.000,-560.000,1,50,50,8,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); + +INSERT INTO `npc_list` VALUES (16929223,'_11q','',0,340.000,74.000,376.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929224,'_11r','',0,220.000,-80.000,376.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929225,'_11s','',0,20.000,74.000,376.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929226,'_11t','',0,-100.000,-80.000,376.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929227,'_11u','',0,-300.000,80.000,376.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929228,'_11v','',0,-420.000,-80.000,376.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929229,'_11w','',0,-620.000,80.000,376.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929230,'_11x','',0,340.000,0.000,96.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929231,'_11y','',0,220.000,-160.000,96.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929232,'_11z','',0,20.000,0.000,96.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929233,'_j10','',0,-100.000,-160.000,96.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929234,'_j11','',0,-300.000,0.000,96.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929235,'_j12','',0,-420.000,-160.000,96.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929236,'_j13','',0,-620.000,0.000,96.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929237,'_j14','',0,340.000,74.000,-184.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929238,'_j15','',0,220.000,-80.000,-184.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929239,'_j16','',0,20.000,74.000,-184.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929240,'_j17','',0,-100.000,-80.000,-184.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929241,'_j18','',0,-300.000,80.000,-184.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929242,'_j19','',0,-420.000,-80.000,-184.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929243,'_j1a','',0,-620.000,80.000,-184.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929244,'_j1b','',0,540.000,0.000,-544.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929245,'_j1c','',0,300.000,-160.000,-504.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929246,'_j1d','',0,-20.000,0.000,-544.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929247,'_j1e','',0,-264.000,-160.000,-500.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); +INSERT INTO `npc_list` VALUES (16929248,'_j1f','',0,-580.000,0.000,-584.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',0); INSERT INTO `npc_list` VALUES (16929249,'Moogle','Moogle',0,0.000,0.000,0.000,0,40,40,0,0,0,2,4194307,0x0000520000000000000000000000000000000000,0,'COP',0); INSERT INTO `npc_list` VALUES (16929250,'Moogle','Moogle',0,0.000,0.000,0.000,0,40,40,0,0,0,2,4194307,0x0000520000000000000000000000000000000000,0,'COP',0); INSERT INTO `npc_list` VALUES (16929251,'Moogle','Moogle',0,0.000,0.000,0.000,0,40,40,0,0,0,2,4194307,0x0000520000000000000000000000000000000000,0,'COP',0); @@ -3047,128 +3036,116 @@ INSERT INTO `npc_list` VALUES (16929256,'Moogle','Moogle',0,0.000,0.000,0.000,0, -- Apollyon (Zone 38) -- ------------------------------------------------------------ -INSERT INTO `npc_list` VALUES (16932865,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932866,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932867,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16932878,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932879,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932880,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); - --- Mimics, listing here so they are not confused with NPCs --- INSERT INTO `npc_list` VALUES (16932896,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); --- INSERT INTO `npc_list` VALUES (16932897,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); --- INSERT INTO `npc_list` VALUES (16932898,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); --- INSERT INTO `npc_list` VALUES (16932899,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); --- INSERT INTO `npc_list` VALUES (16932900,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); --- INSERT INTO `npc_list` VALUES (16932901,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); --- INSERT INTO `npc_list` VALUES (16932902,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); --- end Mimics - -INSERT INTO `npc_list` VALUES (16932903,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932904,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932905,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932906,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932907,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932908,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932909,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16932934,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932935,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932936,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16932945,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932946,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932947,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932948,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932949,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16932958,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932959,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932960,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932961,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932962,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16932971,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932972,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932973,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932974,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932975,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16932982,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932983,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16932984,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16932989,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932990,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16932991,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16933003,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933004,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933005,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16933017,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933018,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933019,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); - --- NC: INSERT INTO `npc_list` VALUES (16933031,'NOT_CAPTURED','Armoury Crate',0,0.000,0.000,0.000,0,50,50,0,0,0,0,0,0x0000320000000000000000000000000000000000,0,NULL,0); - -INSERT INTO `npc_list` VALUES (16933041,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933042,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933043,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16933053,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933054,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16933059,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933060,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933061,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16933074,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933075,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933076,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933077,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933078,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933079,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933080,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16933096,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933097,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933098,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16933110,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933111,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933112,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16933123,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16933126,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C50300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933127,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933128,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16933153,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); - --- NC: INSERT INTO `npc_list` VALUES (16933165,'Armoury_Crate','Armoury Crate',222,0,0,0,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16933177,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C60300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16933191,'Armoury_Crate','Armoury Crate',222,655.000,-2.000,-610.000,0,40,40,0,4,0,2,1,0x0000C70300000000000000000000000000000000,0,'COP',1); - -INSERT INTO `npc_list` VALUES (16933202,'Sentinel_Column','Sentinel Column',222,645.000,-2.000,-610.000,0,40,40,0,0,0,0,3,0x0000340000000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933203,'Sentinel_Column','Sentinel Column',222,-647.000,-2.000,-595.000,0,40,40,0,0,0,0,3,0x0000340000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932865,'Armoury_Crate','Armoury Crate',64,-400.000,-0.549,-527.000,6,40,40,0,0,0,2,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932866,'Armoury_Crate','Armoury Crate',64,-403.000,-0.549,-527.000,6,40,40,0,8,0,2,1155,0x0000C00300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932867,'Armoury_Crate','Armoury Crate',64,-397.000,-0.549,-527.000,6,40,40,0,8,0,2,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932878,'Armoury_Crate','Armoury Crate',0,-120.000,-0.500,-542.000,7,40,40,0,0,0,2,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932879,'Armoury_Crate','Armoury Crate',0,-117.000,-0.500,-542.000,6,40,40,0,8,0,2,1155,0x0000C00300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932880,'Armoury_Crate','Armoury Crate',0,-123.000,-0.500,-542.000,7,40,40,0,8,0,2,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +-- NOTE: Armoury Crates 16932896 - 16932898 are Mimic mobs, not NPCs! +INSERT INTO `npc_list` VALUES (16932899,'Armoury_Crate','Armoury Crate',0,-320.000,-0.500,-270.000,6,40,40,0,12,100,0,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932900,'Armoury_Crate','Armoury Crate',0,-336.000,-0.500,-292.000,6,40,40,0,12,100,0,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932901,'Armoury_Crate','Armoury Crate',0,-250.000,-0.500,-254.000,6,40,40,0,12,100,0,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932902,'Armoury_Crate','Armoury Crate',0,-295.000,-0.500,-345.000,6,40,40,0,12,100,0,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932903,'Armoury_Crate','Armoury Crate',0,-316.334,0.000,-318.264,6,40,40,0,12,100,0,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932904,'Armoury_Crate','Armoury Crate',0,-275.000,-0.500,-292.000,7,40,40,0,12,100,0,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932905,'Armoury_Crate','Armoury Crate',0,-398.000,-0.500,-369.000,7,40,40,0,12,100,0,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932906,'Armoury_Crate','Armoury Crate',0,-354.000,-0.500,-312.000,6,40,40,0,12,100,0,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932907,'Armoury_Crate','Armoury Crate',0,-373.000,-0.500,-285.000,7,40,40,0,12,100,0,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932908,'Armoury_Crate','Armoury Crate',0,-387.000,-0.500,-251.000,6,40,40,0,12,100,0,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); + +INSERT INTO `npc_list` VALUES (16932909,'Armoury_Crate','Armoury Crate',64,-520.000,-1.000,-320.000,6,40,40,0,8,0,2,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932934,'Armoury_Crate','Armoury Crate',68,-457.895,-0.500,4.691,7,40,40,0,8,0,0,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932935,'Armoury_Crate','Armoury Crate',128,-460.000,-0.500,24.000,7,40,40,0,0,0,0,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932936,'Armoury_Crate','Armoury Crate',0,-462.000,-0.530,6.000,7,40,40,0,8,0,0,1155,0x0000C00300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932945,'Armoury_Crate','Armoury Crate',0,-444.000,-0.500,-19.000,7,40,40,0,0,0,0,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932946,'Armoury_Crate','Armoury Crate',64,-474.000,-0.500,26.000,7,40,40,0,0,0,0,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932947,'Armoury_Crate','Armoury Crate',232,-368.747,0.000,284.523,7,40,40,0,8,0,0,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932948,'Armoury_Crate','Armoury Crate',128,-338.000,-1.217,267.000,6,40,40,0,0,0,0,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932949,'Armoury_Crate','Armoury Crate',148,-321.000,-0.500,222.000,6,40,40,0,8,0,0,1155,0x0000C00300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932958,'Armoury_Crate','Armoury Crate',128,-372.000,-1.225,302.000,6,40,40,0,0,0,0,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932959,'Armoury_Crate','Armoury Crate',128,-378.000,-0.500,271.000,6,40,40,0,0,0,0,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932960,'Armoury_Crate','Armoury Crate',198,-319.722,-0.500,593.613,7,40,40,0,8,0,0,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932961,'Armoury_Crate','Armoury Crate',128,-298.000,-2.228,539.000,7,40,40,0,0,0,0,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932962,'Armoury_Crate','Armoury Crate',128,-343.000,-0.664,556.000,7,40,40,0,8,0,0,1155,0x0000C00300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932971,'Armoury_Crate','Armoury Crate',96,-212.000,-0.500,548.000,7,40,40,0,0,0,0,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932972,'Armoury_Crate','Armoury Crate',64,-323.000,-0.500,614.000,7,40,40,0,0,0,0,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932973,'Armoury_Crate','Armoury Crate',99,-576.631,-1.040,546.645,7,40,40,0,8,0,0,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932974,'Armoury_Crate','Armoury Crate',192,-600.000,-0.500,605.000,6,40,40,0,0,0,0,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932975,'Armoury_Crate','Armoury Crate',125,-538.000,-0.376,543.000,6,40,40,0,0,0,0,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932982,'Armoury_Crate','Armoury Crate',128,-609.000,-0.500,589.000,6,40,40,0,0,0,0,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932983,'Armoury_Crate','Armoury Crate',64,-564.000,-0.699,573.000,6,40,40,0,8,0,0,1155,0x0000C00300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932984,'Armoury_Crate','Armoury Crate',64,-560.000,-1.000,360.000,7,40,40,0,8,0,0,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932989,'Armoury_Crate','Armoury Crate',0,404.000,-0.500,-532.000,7,40,40,0,0,0,2,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932990,'Armoury_Crate','Armoury Crate',0,402.000,-0.500,-532.000,7,40,40,0,8,0,2,1155,0x0000C00300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16932991,'Armoury_Crate','Armoury Crate',0,404.000,-0.500,-534.000,7,40,40,0,8,0,2,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933003,'Armoury_Crate','Armoury Crate',0,121.000,-0.500,-530.000,7,40,40,0,0,0,2,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933004,'Armoury_Crate','Armoury Crate',0,124.000,-0.500,-530.000,7,40,40,0,8,0,2,1155,0x0000C00300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933005,'Armoury_Crate','Armoury Crate',0,118.000,-0.500,-530.000,7,40,40,0,8,0,2,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933017,'Armoury_Crate','Armoury Crate',0,366.000,-0.500,-313.000,7,40,40,0,0,0,2,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933018,'Armoury_Crate','Armoury Crate',0,363.000,-0.500,-307.000,7,40,40,0,8,0,2,1155,0x0000C00300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933019,'Armoury_Crate','Armoury Crate',0,337.000,-0.500,-330.000,7,40,40,0,8,0,2,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933031,'Armoury_Crate','Armoury Crate',0,520.000,-1.000,-320.000,6,40,40,0,8,0,2,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933032,'Evil_Armory','Evil Armory',0,520.000,-1.000,-320.000,6,40,40,0,0,1,0,3203,0x0000DE0100000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933041,'Armoury_Crate','Armoury Crate',0,460.000,-0.500,23.000,7,40,40,0,8,0,2,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933042,'Armoury_Crate','Armoury Crate',128,455.000,-0.550,30.000,7,40,40,0,0,0,0,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933043,'Armoury_Crate','Armoury Crate',128,480.000,-0.500,-40.000,7,40,40,0,0,0,0,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933053,'Armoury_Crate','Armoury Crate',192,470.000,-0.500,30.000,7,40,40,0,8,0,0,1155,0x0000C00300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933054,'Armoury_Crate','Armoury Crate',0,455.000,-0.550,17.000,7,40,40,0,0,0,0,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933059,'Armoury_Crate','Armoury Crate',0,287.000,-0.550,360.000,7,40,40,0,8,0,2,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933060,'Armoury_Crate','Armoury Crate',128,316.000,-0.500,361.000,7,40,40,0,0,0,0,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933061,'Armoury_Crate','Armoury Crate',81,369.000,-0.500,323.000,7,40,40,0,8,0,0,1155,0x0000C00300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933074,'Armoury_Crate','Armoury Crate',64,407.000,-0.500,280.000,7,40,40,0,0,0,0,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933075,'Armoury_Crate','Armoury Crate',128,352.000,-0.500,245.000,7,40,40,0,0,0,0,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933076,'Armoury_Crate','Armoury Crate',107,285.051,-0.500,556.355,7,40,40,0,8,0,0,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933077,'Armoury_Crate','Armoury Crate',192,307.000,-0.500,534.000,7,40,40,0,0,0,0,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933078,'Armoury_Crate','Armoury Crate',0,367.000,-0.793,536.000,7,40,40,0,8,0,0,1155,0x0000C00300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933079,'Armoury_Crate','Armoury Crate',128,356.000,-0.620,550.000,7,40,40,0,0,0,0,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933080,'Armoury_Crate','Armoury Crate',64,211.000,-0.500,555.000,7,40,40,0,0,0,0,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933096,'Armoury_Crate','Armoury Crate',248,582.915,-0.491,581.733,6,40,40,0,8,0,0,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933097,'Armoury_Crate','Armoury Crate',0,594.000,-0.691,525.000,7,40,40,0,0,0,0,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933098,'Armoury_Crate','Armoury Crate',128,597.000,-0.607,587.000,7,40,40,0,8,0,0,1155,0x0000C00300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933110,'Armoury_Crate','Armoury Crate',0,567.000,-0.607,566.000,7,40,40,0,0,0,0,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933111,'Armoury_Crate','Armoury Crate',0,557.000,-0.500,644.000,7,40,40,0,0,0,0,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933112,'Armoury_Crate','Armoury Crate',64,560.000,-1.000,360.000,6,40,40,0,8,0,2,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933123,'Armoury_Crate','Armoury Crate',192,0.000,-0.500,138.000,7,40,40,0,8,0,2,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933126,'Armoury_Crate','Armoury Crate',0,0.000,-0.500,-130.000,6,40,40,0,8,0,2,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933127,'Armoury_Crate','Armoury Crate',0,0.000,-0.500,-132.000,7,40,40,0,0,0,2,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933128,'Armoury_Crate','Armoury Crate',0,0.000,-0.500,-128.000,7,40,40,0,0,0,2,131,0x0000C20300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933153,'Armoury_Crate','Armoury Crate',0,0.000,-0.500,-212.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933165,'Armoury_Crate','Armoury Crate',233,-69.017,-0.500,-93.395,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933177,'Armoury_Crate','Armoury Crate',0,68.000,-0.500,-87.000,7,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933191,'Armoury_Crate','Armoury Crate',192,0.000,-0.500,138.000,7,40,40,0,8,0,2,1155,0x0000C10300000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933202,'Sentinel_Column','Sentinel Column',0,-597.500,-2.000,-602.500,32769,50,50,0,0,0,0,3,0x0000340000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933203,'Sentinel_Column','Sentinel Column',0,597.500,-2.000,-602.500,32769,50,50,0,0,0,0,3,0x0000340000000000000000000000000000000000,0,'COP',1); INSERT INTO `npc_list` VALUES (16933204,'Achieve_Master','Achieve Master',0,0.000,0.000,0.000,0,50,50,0,0,0,2,3,0x0000320000000000000000000000000000000000,0,'SOA',0); INSERT INTO `npc_list` VALUES (16933205,'Unity_Master','Unity Master',0,0.000,0.000,0.000,0,50,50,0,0,96,2,2051,0x0000340000000000000000000000000000000000,0,'SOA',0); - -INSERT INTO `npc_list` VALUES (16933218,'Swirling_Vortex','Swirling Vortex',0,60.000,-1.000,-600.000,1,40,40,8,0,0,0,3,0x0000340000000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933219,'Swirling_Vortex','Swirling Vortex',0,60.000,-1.000,-600.000,1,40,40,8,0,0,0,3,0x0000340000000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933220,'Swirling_Vortex','Swirling Vortex',0,60.000,-1.000,-600.000,1,40,40,8,0,0,0,3,0x0000340000000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933221,'Swirling_Vortex','Swirling Vortex',0,60.000,-1.000,-600.000,1,40,40,8,0,0,0,3,0x0000340000000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933222,'Swirling_Vortex','Swirling Vortex',0,60.000,-1.000,-600.000,1,40,40,8,0,0,0,3,0x0000340000000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933223,'Swirling_Vortex','Swirling Vortex',0,60.000,-1.000,-600.000,1,40,40,8,0,0,0,3,0x0000340000000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933242,'Radiant_Aureole','Radiant Aureole',0,-600.000,-1.000,-600.000,1,40,40,0,0,0,0,3,0x0000340000000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933243,'Radiant_Aureole','Radiant Aureole',0,600.000,-1.000,-600.000,1,40,40,0,0,0,0,3,0x0000340000000000000000000000000000000000,0,'COP',1); - +INSERT INTO `npc_list` VALUES (16933218,'_127','Swirling Vortex',0,-600.000,-0.500,-600.000,1,50,50,8,0,0,0,4099,0x0200000000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933219,'_12i','Swirling Vortex',0,600.000, -0.500,-600.000,1,50,50,8,0,0,0,4099,0x0200000000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933220,'SwirlingVortex','Swirling Vortex',0,-520.000,-1.500,-320.000,1,50,50,0,0,0,2,3,0x0000340000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933221,'SwirlingVortex','Swirling Vortex',0,-560.000,-0.500,360.000,1,50,50,0,0,0,2,3,0x0000340000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933222,'SwirlingVortex','Swirling Vortex',0,520.000,-0.500,-320.000,1,50,50,0,0,0,2,3,0x0000340000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933223,'SwirlingVortex','Swirling Vortex',0,560.000,-0.500,360.000,1,50,50,0,0,0,2,3,0x0000340000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933224,'_121','',0,-520.000,0.000,640.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933225,'_122','',0,-560.000,0.000,360.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933226,'_123','',0,-400.000,0.000,80.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933227,'_124','',0,-280.000,0.000,360.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933228,'_125','',0,-240.000,0.000,520.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933229,'_126','',0,-520.000,0.000,-320.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933230,'_128','',0,-400.000,0.000,-520.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933231,'_129','',0,-120.000,0.000,-440.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933232,'_12a','',0,-280.000,0.000,-280.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933233,'_12b','',0,240.000, 0.000,520.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933234,'_12c','',0,280.000, 0.000,360.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933235,'_12d','',0,400.000, 0.000,80.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933236,'_12e','',0,560.000, 0.000,360.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933237,'_12f','',0,520.000, 0.000,640.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933238,'_12g','',0,120.000, 0.000,-440.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933239,'_12h','',0,400.000, 0.000,-520.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933240,'_12j','',0,520.000, 0.000,-320.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933241,'_12k','',0,280.000, 0.000,-280.000,1,50,50,9,0,0,0,6147,0x0200000000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933242,'Radiant_Aureole','Radiant Aureole',0,-640.000,-1.000,-640.000,1,50,50,0,0,0,0,2051,0x0000340000000000000000000000000000000000,0,'COP',1); +INSERT INTO `npc_list` VALUES (16933243,'Radiant_Aureole','Radiant Aureole',0,640.000,-1.000,-640.000,1,50,50,0,0,0,0,2051,0x0000340000000000000000000000000000000000,0,'COP',1); INSERT INTO `npc_list` VALUES (16933245,'Moogle','Moogle',0,0.000,0.000,0.000,0,40,40,0,0,0,2,4194307,0x0000520000000000000000000000000000000000,0,'COP',0); INSERT INTO `npc_list` VALUES (16933246,'Moogle','Moogle',0,0.000,0.000,0.000,0,40,40,0,0,0,2,4194307,0x0000520000000000000000000000000000000000,0,'COP',0); INSERT INTO `npc_list` VALUES (16933247,'Moogle','Moogle',0,0.000,0.000,0.000,0,40,40,0,0,0,2,4194307,0x0000520000000000000000000000000000000000,0,'COP',0); diff --git a/sql/status_effects.sql b/sql/status_effects.sql index e4fad11cf80..8ff22c381e5 100644 --- a/sql/status_effects.sql +++ b/sql/status_effects.sql @@ -672,6 +672,7 @@ INSERT INTO `status_effects` VALUES (798,'chainbound',32,0,0,0,0,0,0,0); INSERT INTO `status_effects` VALUES (799,'skillchain',32,0,0,0,0,0,0,0); INSERT INTO `status_effects` VALUES (800,'dynamis',33554432,0,0,0,0,0,0,0); INSERT INTO `status_effects` VALUES (801,'meditate',32,0,0,0,0,0,7,0); +INSERT INTO `status_effects` VALUES (802,'elemental_resistance_down',8389408,0,0,0,0,0,0,0); /*!40000 ALTER TABLE `status_effects` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; diff --git a/sql/zone_settings.sql b/sql/zone_settings.sql index bf0fe234eb0..ce51d145e3e 100644 --- a/sql/zone_settings.sql +++ b/sql/zone_settings.sql @@ -82,8 +82,8 @@ INSERT INTO `zone_settings` VALUES (33,2,'127.0.0.1',54230,'AlTaieu',233,233,101 INSERT INTO `zone_settings` VALUES (34,3,'127.0.0.1',54230,'Grand_Palace_of_HuXzoi',0,0,115,218,0,0.00,145); INSERT INTO `zone_settings` VALUES (35,3,'127.0.0.1',54230,'The_Garden_of_RuHmet',228,228,115,218,0,0.00,145); INSERT INTO `zone_settings` VALUES (36,4,'127.0.0.1',54230,'Empyreal_Paradox',0,0,224,224,0,0.00,145); -INSERT INTO `zone_settings` VALUES (37,5,'127.0.0.1',54230,'Temenos',0,0,218,219,0,0.00,144); -INSERT INTO `zone_settings` VALUES (38,5,'127.0.0.1',54230,'Apollyon',0,0,218,219,0,0.00,144); +INSERT INTO `zone_settings` VALUES (37,7,'127.0.0.1',54230,'Temenos',0,0,218,219,0,0.00,144); +INSERT INTO `zone_settings` VALUES (38,7,'127.0.0.1',54230,'Apollyon',0,0,218,219,0,0.00,144); INSERT INTO `zone_settings` VALUES (39,5,'127.0.0.1',54230,'Dynamis-Valkurm',121,121,121,121,0,0.00,144); INSERT INTO `zone_settings` VALUES (40,5,'127.0.0.1',54230,'Dynamis-Buburimu',121,121,121,121,0,0.00,144); INSERT INTO `zone_settings` VALUES (41,5,'127.0.0.1',54230,'Dynamis-Qufim',121,121,121,121,0,0.00,144); diff --git a/src/map/lua/lua_baseentity.cpp b/src/map/lua/lua_baseentity.cpp index 93c058b2700..42b2ad02768 100644 --- a/src/map/lua/lua_baseentity.cpp +++ b/src/map/lua/lua_baseentity.cpp @@ -1799,6 +1799,7 @@ inline int32 CLuaBaseEntity::pathTo(lua_State* L) DSP_DEBUG_BREAK_IF(lua_isnil(L, 3) || !lua_isnumber(L, 3)); position_t point; + uint8 flags; point.x = (float)lua_tonumber(L, 1); point.y = (float)lua_tonumber(L, 2); @@ -1806,7 +1807,15 @@ inline int32 CLuaBaseEntity::pathTo(lua_State* L) if (m_PBaseEntity->PAI->PathFind) { - m_PBaseEntity->PAI->PathFind->PathTo(point, PATHFLAG_RUN | PATHFLAG_WALLHACK | PATHFLAG_SCRIPT); + if (lua_isnumber(L, 4)) + { + flags = (uint8)lua_tointeger(L, 4); + m_PBaseEntity->PAI->PathFind->PathTo(point, flags); + } + else + { + m_PBaseEntity->PAI->PathFind->PathTo(point, PATHFLAG_RUN | PATHFLAG_WALLHACK | PATHFLAG_SCRIPT); + } } return 0; diff --git a/src/map/status_effect.h b/src/map/status_effect.h index 50ed5983263..4efbceab6cc 100644 --- a/src/map/status_effect.h +++ b/src/map/status_effect.h @@ -718,12 +718,13 @@ enum EFFECT EFFECT_SKILLCHAIN = 799, EFFECT_DYNAMIS = 800, EFFECT_MEDITATE = 801, // Dummy effect for SAM Meditate JA - // EFFECT_PLACEHOLDER = 802 // Description - // 802-1022 + EFFECT_ELEMENTALRES_DOWN = 802, // Elemental resistance down + // EFFECT_PLACEHOLDER = 803 // Description + // 804-1022 // EFFECT_PLACEHOLDER = 1023 // The client dat file seems to have only this many "slots", results of exceeding that are untested. }; -#define MAX_EFFECTID 802 // 768 real + 32 custom +#define MAX_EFFECTID 803 // 768 real + 35 custom /************************************************************************ * * diff --git a/src/map/utils/mobutils.cpp b/src/map/utils/mobutils.cpp index 3d2dda3c4ff..f3d71d18783 100644 --- a/src/map/utils/mobutils.cpp +++ b/src/map/utils/mobutils.cpp @@ -547,6 +547,10 @@ void CalculateStats(CMobEntity * PMob) { SetupDynamisMob(PMob); } + else if(zoneType == ZONETYPE_LIMBUS) + { + SetupLimbusMob(PMob); + } if(PMob->m_Type & MOBTYPE_NOTORIOUS) { @@ -783,6 +787,17 @@ void SetupPetSkills(CMobEntity* PMob) } } +void SetupLimbusMob(CMobEntity* PMob) +{ + PMob->setMobMod(MOBMOD_NO_DESPAWN, 1); + PMob->setMobMod(MOBMOD_EXP_BONUS, -100); + PMob->setMobMod(MOBMOD_ALWAYS_AGGRO, 1); + PMob->setMobMod(MOBMOD_GIL_MAX, -1); + PMob->setMobMod(MOBMOD_MUG_GIL, -1); + PMob->SetDespawnTime(0s); + PMob->setMobMod(MOBMOD_ALLI_HATE, 200); +} + void SetupDynamisMob(CMobEntity* PMob) { // no gil drop and no mugging! diff --git a/src/map/utils/mobutils.h b/src/map/utils/mobutils.h index ffd85bf8eec..495c5d9fcb2 100644 --- a/src/map/utils/mobutils.h +++ b/src/map/utils/mobutils.h @@ -48,6 +48,7 @@ namespace mobutils void CalculateStats(CMobEntity* PMob); void SetupJob(CMobEntity* PMob); void SetupRoaming(CMobEntity* PMob); + void SetupLimbusMob(CMobEntity* PMob); void SetupDynamisMob(CMobEntity* PMob); void SetupBattlefieldMob(CMobEntity* PMob); void SetupDungeonMob(CMobEntity* PMob); diff --git a/src/map/zone.h b/src/map/zone.h index 401069abc9d..d65f980331d 100644 --- a/src/map/zone.h +++ b/src/map/zone.h @@ -412,7 +412,8 @@ enum ZONETYPE ZONETYPE_DUNGEON = 3, ZONETYPE_BATTLEFIELD = 4, ZONETYPE_DYNAMIS = 5, - ZONETYPE_DUNGEON_INSTANCED = 6 + ZONETYPE_DUNGEON_INSTANCED = 6, + ZONETYPE_LIMBUS = 7 }; enum GLOBAL_MESSAGE_TYPE