From a05dbc34b6e060cb44bf5f39aa7bfe67ff75555a Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Sat, 19 Oct 2019 22:12:57 -0400 Subject: [PATCH 01/33] Temenos --- scripts/globals/battlefield.lua | 6 +- scripts/globals/bcnm.lua | 14 +- scripts/globals/limbus.lua | 53 +-- scripts/zones/Temenos/IDs.lua | 1 + scripts/zones/Temenos/Zone.lua | 127 ++------ .../bcnms/central_temenos_1st_floor.lua | 46 ++- .../bcnms/central_temenos_2nd_floor.lua | 58 ++-- .../bcnms/central_temenos_3rd_floor.lua | 48 ++- .../bcnms/central_temenos_4th_floor.lua | 60 ++-- .../bcnms/central_temenos_basement.lua | 48 ++- .../Temenos/bcnms/temenos_eastern_tower.lua | 60 ++-- .../Temenos/bcnms/temenos_northern_tower.lua | 47 ++- .../Temenos/bcnms/temenos_western_tower.lua | 46 ++- scripts/zones/Temenos/mobs/Airi.lua | 34 +- scripts/zones/Temenos/mobs/Beli.lua | 28 +- .../Temenos/mobs/Cryptonberry_Abductor.lua | 13 + .../Temenos/mobs/Cryptonberry_Charmer.lua | 26 +- .../Temenos/mobs/Cryptonberry_Designator.lua | 13 + .../Temenos/mobs/Cryptonberry_Skulker.lua | 26 +- .../zones/Temenos/mobs/Enhanced_Ahriman.lua | 33 +- .../zones/Temenos/mobs/Enhanced_Dragon.lua | 33 +- scripts/zones/Temenos/mobs/Goblin_Fencer.lua | 26 +- .../Temenos/mobs/Goblin_Slaughterman.lua | 29 +- .../zones/Temenos/mobs/Goblin_Theurgist.lua | 26 +- scripts/zones/Temenos/mobs/Goblin_Warlord.lua | 27 +- scripts/zones/Temenos/mobs/Iruci.lua | 34 +- scripts/zones/Temenos/mobs/Kari.lua | 6 +- .../zones/Temenos/mobs/Kindred_Black_Mage.lua | 11 +- .../Temenos/mobs/Kindred_Dark_Knight.lua | 25 +- .../zones/Temenos/mobs/Kindred_Summoner.lua | 24 +- .../zones/Temenos/mobs/Kindred_Warrior.lua | 25 +- scripts/zones/Temenos/mobs/Moblin_Dustman.lua | 17 +- .../Temenos/mobs/Praetorian_Guard_CCCXI.lua | 27 +- .../Temenos/mobs/Praetorian_Guard_CCXX.lua | 21 ++ .../Temenos/mobs/Praetorian_Guard_CXLVIII.lua | 21 ++ .../Temenos/mobs/Praetorian_Guard_LXXIII.lua | 21 ++ scripts/zones/Temenos/mobs/Skadi.lua | 28 +- scripts/zones/Temenos/mobs/Telchines_Bard.lua | 25 +- .../zones/Temenos/mobs/Telchines_Dragoon.lua | 12 +- .../Temenos/mobs/Telchines_White_Mage.lua | 25 +- .../zones/Temenos/mobs/Temenos_Cleaner.lua | 33 +- scripts/zones/Temenos/mobs/Temenos_Ghrah.lua | 9 +- scripts/zones/Temenos/mobs/Temenos_Weapon.lua | 33 +- scripts/zones/Temenos/mobs/Thrym.lua | 29 +- scripts/zones/Temenos/npcs/Armoury_Crate.lua | 303 ++++++++++-------- .../Temenos/npcs/Matter_Diffusion_Module.lua | 163 +--------- scripts/zones/Temenos/npcs/Particle_Gate.lua | 139 ++------ sql/bcnm_battlefield.sql | 82 +++-- sql/bcnm_treasure_chests.sql | 13 + 49 files changed, 932 insertions(+), 1122 deletions(-) create mode 100644 scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua create mode 100644 scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua create mode 100644 scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua create mode 100644 scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua create mode 100644 scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua diff --git a/scripts/globals/battlefield.lua b/scripts/globals/battlefield.lua index 669f5b7baa7..817fef8d5df 100644 --- a/scripts/globals/battlefield.lua +++ b/scripts/globals/battlefield.lua @@ -229,7 +229,7 @@ function dsp.battlefield.ExtendTimeLimit(battlefield, minutes, message, param, p if message then players = players or battlefield:getPlayers() for _, player in pairs(players) do - player:messageBasic(message, param or minutes) + player:messageSpecial(message, param or minutes) end end end @@ -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..57ad2b6b849 100644 --- a/scripts/globals/bcnm.lua +++ b/scripts/globals/bcnm.lua @@ -739,7 +739,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 @@ -900,7 +900,17 @@ function EventUpdateBCNM(player, csid, option, extras, entrance) local clearTime = 1 local name = "Meme" local partySize = 1 - + switch (battlefieldId): caseof + { + [1298] = function() area = 3 end, + [1299] = function() area = 1 end, + [1300] = function() area = 2 end, + [1301] = function() area = 8 end, + [1303] = function() area = 7 end, + [1304] = function() area = 6 end, + [1305] = function() area = 5 end, + [1306] = function() area = 4 end, + } local result = dsp.battlefield.returnCode.REQS_NOT_MET result = player:registerBattlefield(id, area) local status = dsp.battlefield.status.OPEN diff --git a/scripts/globals/limbus.lua b/scripts/globals/limbus.lua index 044ee94f420..eff5584237e 100644 --- a/scripts/globals/limbus.lua +++ b/scripts/globals/limbus.lua @@ -6,6 +6,7 @@ require("scripts/globals/status") APOLLYON_SE_NE = 1 -- out 557 -1 441 128 APOLLYON_NW_SW = 2 -- out -561 0 443 242 TEMENOS = 3 +GATE_OFFSET = 16929221 -- dsp.ki.WHITE_CARD = 349 -- dsp.ki.RED_CARD = 350 -- dsp.ki.BLACK_CARD = 351 @@ -350,39 +351,39 @@ 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) + GetNPCByID(GATE_OFFSET):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(GATE_OFFSET+1):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(GATE_OFFSET+2):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(GATE_OFFSET+3):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(GATE_OFFSET+4):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(GATE_OFFSET+5):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(GATE_OFFSET+6):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) + GetNPCByID(GATE_OFFSET+7):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(GATE_OFFSET+8):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(GATE_OFFSET+9):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(GATE_OFFSET+10):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(GATE_OFFSET+11):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(GATE_OFFSET+12):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(GATE_OFFSET+13):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) + GetNPCByID(GATE_OFFSET+14):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(GATE_OFFSET+15):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(GATE_OFFSET+16):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(GATE_OFFSET+17):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(GATE_OFFSET+18):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(GATE_OFFSET+18):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(GATE_OFFSET+20):setStatus(dsp.status.DISAPPEAR) elseif (Region == Central_Temenos_1st_Floor) then - GetNPCByID((471)+16928770):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(GATE_OFFSET+21):setStatus(dsp.status.DISAPPEAR) elseif (Region == Central_Temenos_2nd_Floor) then - GetNPCByID((472)+16928770):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(GATE_OFFSET+22):setStatus(dsp.status.DISAPPEAR) elseif (Region == Central_Temenos_3rd_Floor) then - GetNPCByID((473)+16928770):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(GATE_OFFSET+23):setStatus(dsp.status.DISAPPEAR) elseif (Region == Central_Temenos_4th_Floor) then - GetNPCByID((474)+16928770):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(GATE_OFFSET+24):setStatus(dsp.status.DISAPPEAR) elseif (Region == Central_Temenos_Basement) then - GetNPCByID((475)+16928770):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(GATE_OFFSET+25):setStatus(dsp.status.DISAPPEAR) end end diff --git a/scripts/zones/Temenos/IDs.lua b/scripts/zones/Temenos/IDs.lua index efcbba28628..64c52b64eae 100644 --- a/scripts/zones/Temenos/IDs.lua +++ b/scripts/zones/Temenos/IDs.lua @@ -16,6 +16,7 @@ zones[dsp.zone.TEMENOS] = 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. CONDITION_FOR_LIMBUS_T = 7055, -- You have clearance to enter Limbus, but cannot enter while you or a party member is engaged in battle. + TIME_EXTENDED = 7372, -- Yur time in Limbus has been extended... CONQUEST_BASE = 7375, -- Tallying conquest results... }, mob = diff --git a/scripts/zones/Temenos/Zone.lua b/scripts/zones/Temenos/Zone.lua index d9ff685cbd5..9707b542df6 100644 --- a/scripts/zones/Temenos/Zone.lua +++ b/scripts/zones/Temenos/Zone.lua @@ -3,123 +3,32 @@ -- 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") ----------------------------------- 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; - - ------------------------------------ --- 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) +end -function onRegionLeave(player,region) -end; +function onRegionLeave(player, region) +end -function onEventUpdate(player,csid,option) -end; +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/bcnms/central_temenos_1st_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua index a867227920b..e4f54d8577c 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua @@ -2,37 +2,33 @@ -- 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") + +function onBattlefieldInitialise(battlefield) + battlefield:setLocalVar("loot", 1) + HideTemenosDoor(Central_Temenos_1st_Floor) + HideArmouryCrates(Central_Temenos_1st_Floor, TEMENOS) +end --- After registering the BCNM via bcnmRegister(bcnmid) function onBattlefieldTick(battlefield, tick) dsp.battlefield.onBattlefieldTick(battlefield, tick) end +function onBattlefieldRegister(player, battlefield) +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 onBattlefieldEnter(player, battlefield) + player:delKeyItem(dsp.ki.COSMOCLEANSE) + player:delKeyItem(dsp.ki.WHITE_CARD) +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..fc2087a87b1 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua @@ -2,43 +2,39 @@ -- 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") + +function onBattlefieldInitialise(battlefield) + battlefield:setLocalVar("loot", 1) + HideTemenosDoor(Central_Temenos_2nd_Floor) + HideArmouryCrates(Central_Temenos_2nd_Floor, TEMENOS) + 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 +end --- After registering the BCNM via bcnmRegister(bcnmid) function onBattlefieldTick(battlefield, tick) dsp.battlefield.onBattlefieldTick(battlefield, tick) end +function onBattlefieldRegister(player, battlefield) +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 onBattlefieldEnter(player, battlefield) + player:delKeyItem(dsp.ki.COSMOCLEANSE) + player:delKeyItem(dsp.ki.WHITE_CARD) +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..5d37de8ec20 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua @@ -2,37 +2,33 @@ -- 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") + +function onBattlefieldInitialise(battlefield) + battlefield:setLocalVar("loot", 1) + HideTemenosDoor(Central_Temenos_3rd_Floor) + HideArmouryCrates(Central_Temenos_3rd_Floor, TEMENOS) +end --- After registering the BCNM via bcnmRegister(bcnmid) function onBattlefieldTick(battlefield, tick) dsp.battlefield.onBattlefieldTick(battlefield, tick) end +function onBattlefieldRegister(player, battlefield) +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 onBattlefieldEnter(player, battlefield) + player:delKeyItem(dsp.ki.COSMOCLEANSE) + player:delKeyItem(dsp.ki.WHITE_CARD) +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..35cdf587f7f 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua @@ -2,44 +2,40 @@ -- 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") + +function onBattlefieldInitialise(battlefield) + battlefield:setLocalVar("loot", 1) + 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 + end + SpawnCofferTemenosCFloor4() +end --- After registering the BCNM via bcnmRegister(bcnmid) function onBattlefieldTick(battlefield, tick) dsp.battlefield.onBattlefieldTick(battlefield, tick) end +function onBattlefieldRegister(player, battlefield) +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 - end - SpawnCofferTemenosCFloor4(); -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; - --- 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 onBattlefieldEnter(player, battlefield) + player:delKeyItem(dsp.ki.COSMOCLEANSE) + player:delKeyItem(dsp.ki.WHITE_CARD) +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..0f99a65a250 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua @@ -2,38 +2,34 @@ -- 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") + +function onBattlefieldInitialise(battlefield) + battlefield:setLocalVar("loot", 1) + HideTemenosDoor(Central_Temenos_Basement) + HideArmouryCrates(Central_Temenos_Basement, TEMENOS) + if GetMobByID(16929088):isSpawned() then DespawnMob(16929088) end +end --- After registering the BCNM via bcnmRegister(bcnmid) function onBattlefieldTick(battlefield, tick) dsp.battlefield.onBattlefieldTick(battlefield, tick) end +function onBattlefieldRegister(player, battlefield) +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 onBattlefieldEnter(player, battlefield) + player:delKeyItem(dsp.ki.COSMOCLEANSE) + player:delKeyItem(dsp.ki.WHITE_CARD) +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..126d9d46539 100644 --- a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua @@ -2,44 +2,40 @@ -- 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") + +function onBattlefieldInitialise(battlefield) + battlefield:setLocalVar("loot", 1) + 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 + HideArmouryCrates(Temenos_Eastern_Tower, TEMENOS) + HideTemenosDoor(Temenos_Eastern_Tower) +end --- After registering the BCNM via bcnmRegister(bcnmid) function onBattlefieldTick(battlefield, tick) dsp.battlefield.onBattlefieldTick(battlefield, tick) end +function onBattlefieldRegister(player, battlefield) +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 onBattlefieldEnter(player, battlefield) + player:delKeyItem(dsp.ki.COSMOCLEANSE) + player:delKeyItem(dsp.ki.WHITE_CARD) +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..cd3f300b03d 100644 --- a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua @@ -2,38 +2,33 @@ -- 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") + +function onBattlefieldInitialise(battlefield) + battlefield:setLocalVar("loot", 1) + HideTemenosDoor(Temenos_Northern_Tower) + HideArmouryCrates(Temenos_Northern_Tower, TEMENOS) +end --- After registering the BCNM via bcnmRegister(bcnmid) function onBattlefieldTick(battlefield, tick) dsp.battlefield.onBattlefieldTick(battlefield, tick) end +function onBattlefieldRegister(player, battlefield) +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 onBattlefieldEnter(player, battlefield) + player:delKeyItem(dsp.ki.COSMOCLEANSE) + player:delKeyItem(dsp.ki.WHITE_CARD) +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..21f375e579b 100644 --- a/scripts/zones/Temenos/bcnms/temenos_western_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_western_tower.lua @@ -2,37 +2,33 @@ -- 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") + +function onBattlefieldInitialise(battlefield) + battlefield:setLocalVar("loot", 1) + HideTemenosDoor(Temenos_Western_Tower) + HideArmouryCrates(Temenos_Western_Tower, TEMENOS) +end --- After registering the BCNM via bcnmRegister(bcnmid) function onBattlefieldTick(battlefield, tick) dsp.battlefield.onBattlefieldTick(battlefield, tick) end +function onBattlefieldRegister(player, battlefield) +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 onBattlefieldEnter(player, battlefield) + player:delKeyItem(dsp.ki.COSMOCLEANSE) + player:delKeyItem(dsp.ki.WHITE_CARD) +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/Airi.lua b/scripts/zones/Temenos/mobs/Airi.lua index 8a8df38ec0f..5833646f227 100644 --- a/scripts/zones/Temenos/mobs/Airi.lua +++ b/scripts/zones/Temenos/mobs/Airi.lua @@ -2,24 +2,22 @@ -- Area: Temenos Central Floor -- Mob: Airi ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- - -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 IsMobDead(16929047) 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; + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + if IsMobDead(16929047) and IsMobDead(16929048) and IsMobDead(16929049) and IsMobDead(16929050) and IsMobDead(16929051) then + GetNPCByID(16928768+71):setPos(mobX, mobY, mobZ) + GetNPCByID(16928768+71):setStatus(dsp.status.NORMAL) + GetNPCByID(16928770+471):setStatus(dsp.status.NORMAL) + end +end diff --git a/scripts/zones/Temenos/mobs/Beli.lua b/scripts/zones/Temenos/mobs/Beli.lua index d41dacc2048..6e38f1d5aac 100644 --- a/scripts/zones/Temenos/mobs/Beli.lua +++ b/scripts/zones/Temenos/mobs/Beli.lua @@ -2,21 +2,21 @@ -- Area: Temenos N T -- Mob: Beli ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- -function onMobEngaged(mob,target) - GetMobByID(16928781):updateEnmity(target); - GetMobByID(16928782):updateEnmity(target); -end; +function onMobEngaged(mob, target) + GetMobByID(16928781):updateEnmity(target) + GetMobByID(16928782):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 IsMobDead(16928781) and IsMobDead(16928782) 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 diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua new file mode 100644 index 00000000000..49066334e8e --- /dev/null +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua @@ -0,0 +1,13 @@ +----------------------------------- +-- Area: Temenos N T +-- Mob: Cryptonberry Charmer +----------------------------------- +require("scripts/globals/limbus") +----------------------------------- + +function onMobEngaged(mob, target) +end + +function onMobDeath(mob, player, isKiller) + GetNPCByID(GATE_OFFSET+5):setStatus(dsp.status.NORMAL) +end diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua index 46ce9140908..6896fd7c4f0 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua @@ -2,21 +2,19 @@ -- Area: Temenos N T -- Mob: Cryptonberry Charmer ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- -function onMobEngaged(mob,target) - -end; +function onMobEngaged(mob, target) +end 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 IsMobDead(16928817) 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) + 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..49066334e8e --- /dev/null +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua @@ -0,0 +1,13 @@ +----------------------------------- +-- Area: Temenos N T +-- Mob: Cryptonberry Charmer +----------------------------------- +require("scripts/globals/limbus") +----------------------------------- + +function onMobEngaged(mob, target) +end + +function onMobDeath(mob, player, isKiller) + GetNPCByID(GATE_OFFSET+5):setStatus(dsp.status.NORMAL) +end diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua index 2f07c12a666..e1ac43eba48 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua @@ -2,21 +2,19 @@ -- Area: Temenos N T -- Mob: Cryptonberry Skulker ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- -function onMobEngaged(mob,target) - -end; +function onMobEngaged(mob, target) +end 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 IsMobDead(16928816) 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) + end +end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Ahriman.lua b/scripts/zones/Temenos/mobs/Enhanced_Ahriman.lua index 2135d78e785..a5defd83e1d 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Ahriman.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Ahriman.lua @@ -2,23 +2,22 @@ -- Area: Temenos Central Floor -- Mob: Enhanced Ahriman ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- - -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 IsMobDead(16929050) 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; + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + if IsMobDead(16929046) and IsMobDead(16929047) and IsMobDead(16929048) and IsMobDead(16929049) and IsMobDead(16929050) then + GetNPCByID(16928768+71):setPos(mobX, mobY, mobZ) + GetNPCByID(16928768+71):setStatus(dsp.status.NORMAL) + GetNPCByID(16928770+471):setStatus(dsp.status.NORMAL) + end +end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua b/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua index 84b960e6438..cdf4bc48bd9 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua @@ -2,23 +2,22 @@ -- Area: Temenos Central Floor -- Mob: Enhanced Dragon ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- - -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 IsMobDead(16929051) 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; + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + if IsMobDead(16929046) and IsMobDead(16929047) and IsMobDead(16929048) and IsMobDead(16929049) and IsMobDead(16929051) then + GetNPCByID(16928768+71):setPos(mobX, mobY, mobZ) + GetNPCByID(16928768+71):setStatus(dsp.status.NORMAL) + GetNPCByID(16928770+471):setStatus(dsp.status.NORMAL) + end +end diff --git a/scripts/zones/Temenos/mobs/Goblin_Fencer.lua b/scripts/zones/Temenos/mobs/Goblin_Fencer.lua index 3e947473856..5aae1f15b98 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Fencer.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Fencer.lua @@ -2,21 +2,19 @@ -- Area: Temenos N T -- Mob: Goblin Fencer ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- -function onMobEngaged(mob,target) -GetMobByID(16928831):updateEnmity(target); -GetMobByID(16928833):updateEnmity(target); -GetMobByID(16928835):updateEnmity(target); - -end; +function onMobEngaged(mob, target) + GetMobByID(16928831):updateEnmity(target) + GetMobByID(16928833):updateEnmity(target) + GetMobByID(16928835):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 IsMobDead(16928831) and IsMobDead(16928832) and IsMobDead(16928833) and IsMobDead(16928834) and IsMobDead(16928835) then + GetNPCByID(16928768+39):setPos(-599, 85, 438) + GetNPCByID(16928768+39):setStatus(dsp.status.NORMAL) + GetNPCByID(GATE_OFFSET+6):setStatus(dsp.status.NORMAL) + 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..b1f00ca4c20 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Slaughterman.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Slaughterman.lua @@ -2,20 +2,23 @@ -- Area: Temenos N T -- Mob: Goblin Slaughterman ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- function onMobDeath(mob, player, isKiller) - local mobID = mob:getID(); - -- print(mobID); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); + local mobID = mob:getID() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() - 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 == 16928773 then + GetNPCByID(16928768+18):setPos(330, 70, 468) + GetNPCByID(16928768+18):setStatus(dsp.status.NORMAL) + GetNPCByID(16928768+152):setPos(328, 70, 464) + GetNPCByID(16928768+152):setStatus(dsp.status.NORMAL) + GetNPCByID(16928768+209):setPos(332, 70, 470) + GetNPCByID(16928768+209):setStatus(dsp.status.NORMAL) + elseif mobID ==16928772 then + GetNPCByID(GATE_OFFSET):setStatus(dsp.status.NORMAL) + end +end diff --git a/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua b/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua index 815a8127701..a646a48e38c 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua @@ -2,21 +2,19 @@ -- Area: Temenos N T -- Mob: Goblin Theurgist ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- -function onMobEngaged(mob,target) -GetMobByID(16928831):updateEnmity(target); -GetMobByID(16928832):updateEnmity(target); -GetMobByID(16928834):updateEnmity(target); - -end; +function onMobEngaged(mob, target) + GetMobByID(16928831):updateEnmity(target) + GetMobByID(16928832):updateEnmity(target) + GetMobByID(16928834):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 IsMobDead(16928831) and IsMobDead(16928832) and IsMobDead(16928833) and IsMobDead(16928834) and IsMobDead(16928835) then + GetNPCByID(16928768+39):setPos(-599, 85, 438) + GetNPCByID(16928768+39):setStatus(dsp.status.NORMAL) + GetNPCByID(GATE_OFFSET+6):setStatus(dsp.status.NORMAL) + 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..4ac18af4f77 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Warlord.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Warlord.lua @@ -2,21 +2,20 @@ -- Area: Temenos N T -- Mob: Goblin Warlord ----------------------------------- -require("scripts/globals/limbus"); +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; +function onMobEngaged(mob, target) + GetMobByID(16928831):updateEnmity(target) + GetMobByID(16928832):updateEnmity(target) + GetMobByID(16928833):updateEnmity(target) + GetMobByID(16928834):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 IsMobDead(16928831) and IsMobDead(16928832) and IsMobDead(16928833) and IsMobDead(16928834) and IsMobDead(16928835) then + GetNPCByID(16928768+39):setPos(-599, 85, 438) + GetNPCByID(16928768+39):setStatus(dsp.status.NORMAL) + GetNPCByID(GATE_OFFSET+6):setStatus(dsp.status.NORMAL) + 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..bd26257dbb7 100644 --- a/scripts/zones/Temenos/mobs/Iruci.lua +++ b/scripts/zones/Temenos/mobs/Iruci.lua @@ -2,24 +2,22 @@ -- Area: Temenos Central Floor -- Mob: Iruci ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- - -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 IsMobDead(16929049) 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; + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + if IsMobDead(16929046) and IsMobDead(16929047) and IsMobDead(16929049) and IsMobDead(16929050) and IsMobDead(16929051) then + GetNPCByID(16928768+71):setPos(mobX, mobY, mobZ) + GetNPCByID(16928768+71):setStatus(dsp.status.NORMAL) + GetNPCByID(16928770+471):setStatus(dsp.status.NORMAL) + end +end diff --git a/scripts/zones/Temenos/mobs/Kari.lua b/scripts/zones/Temenos/mobs/Kari.lua index 5b87366dd66..d8e0eeec5ca 100644 --- a/scripts/zones/Temenos/mobs/Kari.lua +++ b/scripts/zones/Temenos/mobs/Kari.lua @@ -2,9 +2,9 @@ -- Area: Temenos N T -- Mob: Kari ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- function onMobDeath(mob, player, isKiller) - GetNPCByID(16928770+451):setStatus(dsp.status.NORMAL); -end; + GetNPCByID(GATE_OFFSET+1):setStatus(dsp.status.NORMAL) +end diff --git a/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua b/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua index 14130d1aa91..9ed2ee6a8e2 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua @@ -2,13 +2,12 @@ -- Area: Temenos N T -- Mob: Kindred Black Mage ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- -function onMobEngaged(mob,target) - -end; +function onMobEngaged(mob, target) +end function onMobDeath(mob, player, isKiller) - GetNPCByID(16928770+453):setStatus(dsp.status.NORMAL); -end; + GetNPCByID(GATE_OFFSET+3):setStatus(dsp.status.NORMAL) +end diff --git a/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua b/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua index 1410a13a819..29f8fe654c3 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua @@ -2,20 +2,19 @@ -- Area: Temenos N T -- Mob: Kindred Dark Knight ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- -function onMobEngaged(mob,target) - -end; +function onMobEngaged(mob, 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 IsMobDead(16928797) and IsMobDead(16928799) 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 diff --git a/scripts/zones/Temenos/mobs/Kindred_Summoner.lua b/scripts/zones/Temenos/mobs/Kindred_Summoner.lua index c7dca285aed..f822a9f2028 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"); +require("scripts/globals/limbus") ----------------------------------- function onMobEngaged(mob,target) -GetMobByID(16928800):updateEnmity(target); -end; + GetMobByID(16928800):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 IsMobDead(16928797) and IsMobDead(16928798) 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 diff --git a/scripts/zones/Temenos/mobs/Kindred_Warrior.lua b/scripts/zones/Temenos/mobs/Kindred_Warrior.lua index 18b17798552..93607ccab63 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Warrior.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Warrior.lua @@ -2,20 +2,19 @@ -- Area: Temenos N T -- Mob: Kindred Warrior ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- -function onMobEngaged(mob,target) - -end; +function onMobEngaged(mob, 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 IsMobDead(16928798) and IsMobDead(16928799) 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 diff --git a/scripts/zones/Temenos/mobs/Moblin_Dustman.lua b/scripts/zones/Temenos/mobs/Moblin_Dustman.lua index d8f57e289af..858e029c459 100644 --- a/scripts/zones/Temenos/mobs/Moblin_Dustman.lua +++ b/scripts/zones/Temenos/mobs/Moblin_Dustman.lua @@ -2,21 +2,8 @@ -- Area: Temenos N T -- Mob: Moblin Dustman ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- 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 ==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 +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..1282a2d76de 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua @@ -2,21 +2,20 @@ -- Area: Temenos N T -- Mob: Praetorian Guard CCCXI ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- -function onMobEngaged(mob,target) - -end; +function onMobEngaged(mob, target) +end 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 IsMobDead(16928809) and IsMobDead(16928810) and IsMobDead(16928811) 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) + end + GetNPCByID(GATE_OFFSET+4):setStatus(dsp.status.NORMAL) +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..56b5a47a32c --- /dev/null +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua @@ -0,0 +1,21 @@ +----------------------------------- +-- Area: Temenos N T +-- Mob: Praetorian Guard CCXX +----------------------------------- +require("scripts/globals/limbus") +----------------------------------- + +function onMobEngaged(mob, target) +end + +function onMobDeath(mob, player, isKiller) + if IsMobDead(16928810) and IsMobDead(16928811) and IsMobDead(16928812) 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) + end + GetNPCByID(GATE_OFFSET+4):setStatus(dsp.status.NORMAL) +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..a4d38fba736 --- /dev/null +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua @@ -0,0 +1,21 @@ +----------------------------------- +-- Area: Temenos N T +-- Mob: Praetorian Guard CXLVIII +----------------------------------- +require("scripts/globals/limbus") +----------------------------------- + +function onMobEngaged(mob, target) +end + +function onMobDeath(mob, player, isKiller) + if IsMobDead(16928809) and IsMobDead(16928810) and IsMobDead(16928812) 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) + end + GetNPCByID(GATE_OFFSET+4):setStatus(dsp.status.NORMAL) +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..ad7ef9e1a28 --- /dev/null +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua @@ -0,0 +1,21 @@ +----------------------------------- +-- Area: Temenos N T +-- Mob: Praetorian Guard LXXIII +----------------------------------- +require("scripts/globals/limbus") +----------------------------------- + +function onMobEngaged(mob, target) +end + +function onMobDeath(mob, player, isKiller) + if IsMobDead(16928809) and IsMobDead(16928811) and IsMobDead(16928812) 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) + end + GetNPCByID(GATE_OFFSET+4):setStatus(dsp.status.NORMAL) +end diff --git a/scripts/zones/Temenos/mobs/Skadi.lua b/scripts/zones/Temenos/mobs/Skadi.lua index c88cb5c03bd..9a7d8145f6e 100644 --- a/scripts/zones/Temenos/mobs/Skadi.lua +++ b/scripts/zones/Temenos/mobs/Skadi.lua @@ -2,21 +2,21 @@ -- Area: Temenos N T -- Mob: Skadi ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- -function onMobEngaged(mob,target) - GetMobByID(16928783):updateEnmity(target); - GetMobByID(16928782):updateEnmity(target); -end; +function onMobEngaged(mob, target) + GetMobByID(16928783):updateEnmity(target) + GetMobByID(16928782):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 IsMobDead(16928782) and IsMobDead(16928783) 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 diff --git a/scripts/zones/Temenos/mobs/Telchines_Bard.lua b/scripts/zones/Temenos/mobs/Telchines_Bard.lua index 30a14827660..adbcef8fd46 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Bard.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Bard.lua @@ -2,20 +2,19 @@ -- Area: Temenos N T -- Mob: Telchines Bard ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- -function onMobEngaged(mob,target) - -end; +function onMobEngaged(mob, target) +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 IsMobDead(16928789) 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 diff --git a/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua b/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua index a20844036e8..0922f3a674f 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua @@ -2,13 +2,13 @@ -- Area: Temenos N T -- Mob: Telchines Dragoon ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- -function onMobEngaged(mob,target) - GetMobByID(16928791):updateEnmity(target); -end; +function onMobEngaged(mob, target) + GetMobByID(16928791):updateEnmity(target) +end function onMobDeath(mob, player, isKiller) - GetNPCByID(16928770+452):setStatus(dsp.status.NORMAL); -end; + GetNPCByID(GATE_OFFSET+2):setStatus(dsp.status.NORMAL) +end diff --git a/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua b/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua index 9797319cdd6..b11fc7f1993 100644 --- a/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua +++ b/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua @@ -2,20 +2,19 @@ -- Area: Temenos N T -- Mob: Telchines White Mage ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- -function onMobEngaged(mob,target) - -end; +function onMobEngaged(mob, target) +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 IsMobDead(16928788) 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 diff --git a/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua b/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua index b6b79c399af..15b028cdb17 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua @@ -2,23 +2,22 @@ -- Area: Temenos Central 1floor -- Mob: Temenos Cleaner ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- - -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 IsMobDead(16929046) 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; + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + if IsMobDead(16929046) and IsMobDead(16929048) and IsMobDead(16929049) and IsMobDead(16929050) and IsMobDead(16929051) then + GetNPCByID(16928768+71):setPos(mobX, mobY, mobZ) + GetNPCByID(16928768+71):setStatus(dsp.status.NORMAL) + GetNPCByID(16928770+471):setStatus(dsp.status.NORMAL) + end +end diff --git a/scripts/zones/Temenos/mobs/Temenos_Ghrah.lua b/scripts/zones/Temenos/mobs/Temenos_Ghrah.lua index 677ba07c33a..34f316c0a22 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"); +require("scripts/globals/limbus") ----------------------------------- function onMobDeath(mob, player, isKiller) - GetNPCByID(16928770+475):setStatus(dsp.status.NORMAL); -end; + local battlefield = player:getBattlefield() + GetNPCByID(16928770+475):setStatus(dsp.status.NORMAL) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) +end diff --git a/scripts/zones/Temenos/mobs/Temenos_Weapon.lua b/scripts/zones/Temenos/mobs/Temenos_Weapon.lua index 46f9e09319d..2a462ef676e 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Weapon.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Weapon.lua @@ -2,23 +2,22 @@ -- Area: Temenos Central Floor -- Mob: Temenos Weapon ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- - -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 IsMobDead(16929048) 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; + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + if IsMobDead(16929046) and IsMobDead(16929047) and IsMobDead(16929048) and IsMobDead(16929050) and IsMobDead(16929051) then + GetNPCByID(16928768+71):setPos(mobX, mobY, mobZ) + GetNPCByID(16928768+71):setStatus(dsp.status.NORMAL) + GetNPCByID(16928770+471):setStatus(dsp.status.NORMAL) + end +end diff --git a/scripts/zones/Temenos/mobs/Thrym.lua b/scripts/zones/Temenos/mobs/Thrym.lua index c86594adc5c..84aac53437b 100644 --- a/scripts/zones/Temenos/mobs/Thrym.lua +++ b/scripts/zones/Temenos/mobs/Thrym.lua @@ -2,22 +2,21 @@ -- Area: Temenos N T -- Mob: Thrym ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- -function onMobEngaged(mob,target) - GetMobByID(16928781):updateEnmity(target); - GetMobByID(16928783):updateEnmity(target); -end; +function onMobEngaged(mob, target) + GetMobByID(16928781):updateEnmity(target) + GetMobByID(16928783):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 IsMobDead(16928781) and IsMobDead(16928783) 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 diff --git a/scripts/zones/Temenos/npcs/Armoury_Crate.lua b/scripts/zones/Temenos/npcs/Armoury_Crate.lua index 959caffae0f..da58b6b2e0e 100644 --- a/scripts/zones/Temenos/npcs/Armoury_Crate.lua +++ b/scripts/zones/Temenos/npcs/Armoury_Crate.lua @@ -2,11 +2,10 @@ -- Area: Temenos -- NPC: Armoury Crate ----------------------------------- - -require("scripts/globals/titles"); -require("scripts/globals/quests"); -require("scripts/globals/limbus"); - +require("scripts/globals/titles") +require("scripts/globals/quests") +require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- local loot = @@ -886,170 +885,204 @@ local loot = }, } ------------------------------------ --- 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(); + 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 + 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]; + 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; + 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); + if CofferType == cTIME then + dsp.battlefield.ExtendTimeLimit(battlefield, addtime, ID.text.TIME_EXTENDED) + 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) + players = battlefield:getPlayers() + if npc then + npc:setAnimation(90) + end + for i = 1, #loot[lootID], 1 do + local lootGroup = loot[lootID][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 -- 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); + if ARMOURY_CRATES_LIST_TEMENOS[coffer+1][5] == MimicID then + GetNPCByID(16928768+ARMOURY_CRATES_LIST_TEMENOS[coffer]):setStatus(dsp.status.DISAPPEAR) end end else battlefield:setLocalVar("loot", 1) battlefield:spawnLoot(npc) - dsp.battlefield.HandleLootRolls(battlefield, loot[lootID], nil, npc) + players = battlefield:getPlayers() + if npc then + npc:setAnimation(90) + end + for i = 1, #loot[lootID], 1 do + local lootGroup = loot[lootID][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 - elseif (CofferType == cRESTORE) then + if lootID == 136 or lootID == 143 or lootID == 150 or lootID == 151 or + lootID == 152 or lootID == 153 or lootID == 154 or lootID == 155 + then + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + 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); + 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 + if DespawnOtherCoffer 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 + if GetMobByID(16928840):isSpawned() then DespawnMob(16928840) end + if GetMobByID(16928841):isSpawned() then DespawnMob(16928841) end + if GetMobByID(16928842):isSpawned() then DespawnMob(16928842) end + if GetMobByID(16928843):isSpawned() 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 + if GetMobByID(16928849):isSpawned() then DespawnMob(16928849) end + if GetMobByID(16928850):isSpawned() then DespawnMob(16928850) end + if GetMobByID(16928851):isSpawned() then DespawnMob(16928851) end + if GetMobByID(16928852):isSpawned() then DespawnMob(16928843) 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 + if GetMobByID(16928858):isSpawned() then DespawnMob(16928858) end + if GetMobByID(16928859):isSpawned() then DespawnMob(16928859) end + if GetMobByID(16928860):isSpawned() then DespawnMob(16928860) end + if GetMobByID(16928861):isSpawned() 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 + if GetMobByID(16928867):isSpawned() then DespawnMob(16928867) end + if GetMobByID(16928868):isSpawned() then DespawnMob(16928868) end + if GetMobByID(16928869):isSpawned() then DespawnMob(16928869) end + if GetMobByID(16928870):isSpawned() 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 + if GetMobByID(16928876):isSpawned() then DespawnMob(16928876) end + if GetMobByID(16928877):isSpawned() then DespawnMob(16928877) end + if GetMobByID(16928878):isSpawned() then DespawnMob(16928878) end + if GetMobByID(16928879):isSpawned() 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 + if GetMobByID(16928885):isSpawned() then DespawnMob(16928885) end + if GetMobByID(16928886):isSpawned() then DespawnMob(16928886) end + if GetMobByID(16928887):isSpawned() then DespawnMob(16928887) end + if GetMobByID(16928888):isSpawned() 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); + if GetMobByID(16928892):isSpawned() then DespawnMob(16928892) end + if GetMobByID(16928893):isSpawned() then DespawnMob(16928893) end + GetNPCByID(16929234):setStatus(dsp.status.NORMAL) end end end - npc:setStatus(dsp.status.DISAPPEAR); -end; - ------------------------------------ --- onEventUpdate ------------------------------------ - -function onEventUpdate(player,csid,option) -end; + npc:setStatus(dsp.status.DISAPPEAR) +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..793e5deff9f 100644 --- a/scripts/zones/Temenos/npcs/Matter_Diffusion_Module.lua +++ b/scripts/zones/Temenos/npcs/Matter_Diffusion_Module.lua @@ -3,157 +3,20 @@ -- NPC: Matter diffusion module -- !pos ----------------------------------- +require("scripts/globals/bcnm") -require("scripts/globals/limbus"); -require("scripts/globals/keyitems"); -local ID = require("scripts/zones/Temenos/IDs"); +function onTrade(player, npc, trade) + TradeBCNM(player, npc, trade) +end -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 +function onTrigger(player, npc) + EventTriggerBCNM(player, npc) +end +function onEventUpdate(player, csid, option, extras) + EventUpdateBCNM(player, csid, option, extras) +end - 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"); - 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 index 7544a9ee8cb..85b43ce1463 100644 --- a/scripts/zones/Temenos/npcs/Particle_Gate.lua +++ b/scripts/zones/Temenos/npcs/Particle_Gate.lua @@ -2,126 +2,51 @@ -- Area: Temenos -- NPC: Particle_Gate ----------------------------------- - -require("scripts/globals/limbus"); -require("scripts/globals/keyitems"); - ------------------------------------ --- onTrade Action ------------------------------------ +require("scripts/globals/limbus") function onTrade(player,npc,trade) -end; - ------------------------------------ --- onTrigger Action ------------------------------------ +end function onTrigger(player,npc) - local GateID = npc:getID(); - - -- print("GateID " ..GateID); - -- player:PrintToPlayer(npc:getID()); + local GateID = 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, + [GATE_OFFSET] = function() player:startEvent(100) end, + [GATE_OFFSET+1] = function() player:startEvent(101) end, + [GATE_OFFSET+2] = function() player:startEvent(102) end, + [GATE_OFFSET+3] = function() player:startEvent(103) end, + [GATE_OFFSET+4] = function() player:startEvent(104) end, + [GATE_OFFSET+5] = function() player:startEvent(105) end, + [GATE_OFFSET+6] = function() 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, + [GATE_OFFSET+7] = function() player:startEvent(107) end, + [GATE_OFFSET+8] = function() player:startEvent(108) end, + [GATE_OFFSET+9] = function() player:startEvent(109) end, + [GATE_OFFSET+10] = function() player:startEvent(110) end, + [GATE_OFFSET+11] = function() player:startEvent(111) end, + [GATE_OFFSET+12] = function() player:startEvent(112) end, + [GATE_OFFSET+13] = function() 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, + [GATE_OFFSET+14] = function() player:startEvent(114) end, + [GATE_OFFSET+15] = function() player:startEvent(115) end, + [GATE_OFFSET+16] = function() player:startEvent(116) end, + [GATE_OFFSET+17] = function() player:startEvent(117) end, + [GATE_OFFSET+18] = function() player:startEvent(118) end, + [GATE_OFFSET+19] = function() player:startEvent(119) end, + [GATE_OFFSET+20] = function() 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, + [GATE_OFFSET+21] = function() player:startEvent(120) end, + [GATE_OFFSET+22] = function() player:startEvent(120) end, + [GATE_OFFSET+23] = function() player:startEvent(120) end, + [GATE_OFFSET+24] = function() player:startEvent(120) end, + [GATE_OFFSET+25] = function() player:startEvent(120) end, } -end; - ------------------------------------ --- onEventUpdate ------------------------------------ +end function onEventUpdate(player,csid,option) -end; - ------------------------------------ --- onEventFinish ------------------------------------ +end function onEventFinish(player,csid,option) --- printf("CSID: %u",csid); --- printf("RESULT: %u",option); -end; +end diff --git a/sql/bcnm_battlefield.sql b/sql/bcnm_battlefield.sql index 6c2d332ccea..ae7e3b34d3f 100644 --- a/sql/bcnm_battlefield.sql +++ b/sql/bcnm_battlefield.sql @@ -1413,11 +1413,11 @@ INSERT INTO `bcnm_battlefield` VALUES (1299,1,16928824,1);-- Tonberry's Elementa 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,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 +1425,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,1);-- 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,1);-- 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,1);-- 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,1);-- 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,1);-- 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,1);-- 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,1);-- Mystic Avatar -- ------------------------ -- Temenos - Western Tower -- ------------------------ @@ -1495,22 +1502,38 @@ 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,3);-- Kingslayer Doggvdegg +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928987,3);-- Ji'Gho Ageless +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928988,3);-- Koo Buzu the Theomanic +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928991,1);-- Mystic Avatar +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928992,1);-- Mystic Avatar +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928993,1);-- Mystic Avatar +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928994,1);-- Mystic Avatar +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928995,1);-- Mystic Avatar +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928996,1);-- Mystic Avatar +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928997,1);-- Enhanced Koenigstiger +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928998,1);-- Enhanced Pygmaioi +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928999,1);-- Enhanced Kettenkaefer +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16929000,1);-- Enhanced Salamander +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16929001,1);-- Enhanced Jelly +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16929002,1);-- Enhanced Makara +INSERT INTO `bcnm_battlefield` VALUES (1306,4,16929003,1);-- 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,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,16929009,1);-- 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 @@ -1534,24 +1557,30 @@ 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,1);-- Mystic Avatar +INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929040,1);-- Mystic Avatar +INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929041,1);-- Mystic Avatar +INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929042,1);-- Mystic Avatar +INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929043,1);-- Mystic Avatar +INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929044,1);-- 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 -- ------------------------------ @@ -1588,5 +1617,6 @@ 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,16929088,3);-- 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..b7c66ce5417 100644 --- a/sql/bcnm_treasure_chests.sql +++ b/sql/bcnm_treasure_chests.sql @@ -421,3 +421,16 @@ 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); + +-- ---------------------------- +-- Temenos +-- ---------------------------- +INSERT INTO bcnm_treasure_chests VALUES (1298,3,16928785); -- Temenos - Western Tower +INSERT INTO bcnm_treasure_chests VALUES (1299,1,16928807); -- Temenos - Northern Tower +INSERT INTO bcnm_treasure_chests VALUES (1300,2,16928838); -- Temenos - Eastern Tower +INSERT INTO bcnm_treasure_chests VALUES (1301,8,16929245); -- Central Temenos - Basement 1 placeholder +INSERT INTO bcnm_treasure_chests VALUES (1303,7,16928839); -- Central Temenos - 1st Floor +INSERT INTO bcnm_treasure_chests VALUES (1304,6,16928845); -- Central Temenos - 2nd Floor +INSERT INTO bcnm_treasure_chests VALUES (1305,5,16928846); -- Central Temenos - 3rd Floor +INSERT INTO bcnm_treasure_chests VALUES (1306,4,16928847); -- Central Temenos - 4th Floor + From a2bed75038e81c3a0630e04c65ddbd81cbcbbd37 Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Sun, 20 Oct 2019 04:10:09 -0400 Subject: [PATCH 02/33] Removed unnecessary mob despawning. Updated db to not spawn these mobs on init. --- scripts/zones/Temenos/IDs.lua | 2 +- .../bcnms/central_temenos_2nd_floor.lua | 6 -- .../bcnms/central_temenos_4th_floor.lua | 6 -- .../bcnms/central_temenos_basement.lua | 1 - .../Temenos/bcnms/temenos_eastern_tower.lua | 7 --- sql/bcnm_battlefield.sql | 60 +++++++++---------- 6 files changed, 31 insertions(+), 51 deletions(-) diff --git a/scripts/zones/Temenos/IDs.lua b/scripts/zones/Temenos/IDs.lua index 64c52b64eae..d0f4d08d7e9 100644 --- a/scripts/zones/Temenos/IDs.lua +++ b/scripts/zones/Temenos/IDs.lua @@ -16,7 +16,7 @@ zones[dsp.zone.TEMENOS] = 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. CONDITION_FOR_LIMBUS_T = 7055, -- You have clearance to enter Limbus, but cannot enter while you or a party member is engaged in battle. - TIME_EXTENDED = 7372, -- Yur time in Limbus has been extended... + TIME_EXTENDED = 7372, -- Your time in Limbus has been extended... CONQUEST_BASE = 7375, -- Tallying conquest results... }, mob = diff --git a/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua index fc2087a87b1..1f9b2c7e116 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua @@ -10,12 +10,6 @@ function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) HideTemenosDoor(Central_Temenos_2nd_Floor) HideArmouryCrates(Central_Temenos_2nd_Floor, TEMENOS) - 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 end function onBattlefieldTick(battlefield, tick) diff --git a/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua index 35cdf587f7f..104a33318eb 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua @@ -10,12 +10,6 @@ function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) 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 - end SpawnCofferTemenosCFloor4() end diff --git a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua index 0f99a65a250..dc260924860 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua @@ -10,7 +10,6 @@ function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) HideTemenosDoor(Central_Temenos_Basement) HideArmouryCrates(Central_Temenos_Basement, TEMENOS) - if GetMobByID(16929088):isSpawned() then DespawnMob(16929088) end end function onBattlefieldTick(battlefield, tick) diff --git a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua index 126d9d46539..efdc818069e 100644 --- a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua @@ -8,13 +8,6 @@ require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) - 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 HideArmouryCrates(Temenos_Eastern_Tower, TEMENOS) HideTemenosDoor(Temenos_Eastern_Tower) end diff --git a/sql/bcnm_battlefield.sql b/sql/bcnm_battlefield.sql index ae7e3b34d3f..1b182c9d368 100644 --- a/sql/bcnm_battlefield.sql +++ b/sql/bcnm_battlefield.sql @@ -1425,35 +1425,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,1);-- Mystic Avatar +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,1);-- Mystic Avatar +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,1);-- Mystic Avatar +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,1);-- Mystic Avatar +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,1);-- Mystic Avatar +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,16928889,1);-- Mystic Avatar +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,1);-- Mystic Avatar +INSERT INTO `bcnm_battlefield` VALUES (1300,2,16928894,0);-- Mystic Avatar -- ------------------------ -- Temenos - Western Tower -- ------------------------ @@ -1512,22 +1512,22 @@ INSERT INTO `bcnm_battlefield` VALUES (1298,3,16928964,3);-- Enhanced Vulture -- Central Temenos - 4th Floor -- ---------------------------- INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928966,3);-- Proto-Ultima -INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928986,3);-- Kingslayer Doggvdegg -INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928987,3);-- Ji'Gho Ageless -INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928988,3);-- Koo Buzu the Theomanic -INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928991,1);-- Mystic Avatar -INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928992,1);-- Mystic Avatar -INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928993,1);-- Mystic Avatar -INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928994,1);-- Mystic Avatar -INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928995,1);-- Mystic Avatar -INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928996,1);-- Mystic Avatar -INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928997,1);-- Enhanced Koenigstiger -INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928998,1);-- Enhanced Pygmaioi -INSERT INTO `bcnm_battlefield` VALUES (1306,4,16928999,1);-- Enhanced Kettenkaefer -INSERT INTO `bcnm_battlefield` VALUES (1306,4,16929000,1);-- Enhanced Salamander -INSERT INTO `bcnm_battlefield` VALUES (1306,4,16929001,1);-- Enhanced Jelly -INSERT INTO `bcnm_battlefield` VALUES (1306,4,16929002,1);-- Enhanced Makara -INSERT INTO `bcnm_battlefield` VALUES (1306,4,16929003,1);-- Enhanced Akbaba +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,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 -- -------------------------------- @@ -1566,12 +1566,12 @@ 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,1);-- Mystic Avatar -INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929040,1);-- Mystic Avatar -INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929041,1);-- Mystic Avatar -INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929042,1);-- Mystic Avatar -INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929043,1);-- Mystic Avatar -INSERT INTO `bcnm_battlefield` VALUES (1304,6,16929044,1);-- Mystic Avatar +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 -- ----------------------------- @@ -1617,6 +1617,6 @@ 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,16929088,3);-- Temenos Ghrah +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929088,2);-- Temenos Ghrah -- Dump completed on 2017-01-31 10:38:38 From 79b866d482fdbf8948ee1536060191cb81fc4ecb Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Sun, 20 Oct 2019 08:02:10 -0400 Subject: [PATCH 03/33] Removed mislabeled chest from final-chest check --- scripts/zones/Temenos/npcs/Armoury_Crate.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/zones/Temenos/npcs/Armoury_Crate.lua b/scripts/zones/Temenos/npcs/Armoury_Crate.lua index da58b6b2e0e..e54ed7d24d9 100644 --- a/scripts/zones/Temenos/npcs/Armoury_Crate.lua +++ b/scripts/zones/Temenos/npcs/Armoury_Crate.lua @@ -854,7 +854,7 @@ local loot = {itemid = 1875, droprate = 100}, }, }, - -- central temenos floor 5 + -- central temenos floor 5 ? [155] = { { @@ -987,7 +987,7 @@ function onTrigger(player, npc) end end if lootID == 136 or lootID == 143 or lootID == 150 or lootID == 151 or - lootID == 152 or lootID == 153 or lootID == 154 or lootID == 155 + lootID == 152 or lootID == 153 or lootID == 154 then battlefield:setLocalVar("cutsceneTimer", 10) battlefield:setLocalVar("lootSeen", 1) From 37b07a9ce4aa4c635ea5b214e571b039269d5973 Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Mon, 21 Oct 2019 13:30:25 -0400 Subject: [PATCH 04/33] Changed some function names and started cleanup of limbus.lua. Made some stuff more readable. Started to replace hardcoded IDs. Moved Limbus loot rolling into its own function. --- scripts/globals/limbus.lua | 1195 +++++++---------- scripts/zones/Temenos/IDs.lua | 12 + .../bcnms/central_temenos_1st_floor.lua | 4 +- .../bcnms/central_temenos_2nd_floor.lua | 4 +- .../bcnms/central_temenos_3rd_floor.lua | 4 +- .../bcnms/central_temenos_4th_floor.lua | 6 +- .../bcnms/central_temenos_basement.lua | 4 +- .../Temenos/bcnms/temenos_eastern_tower.lua | 4 +- .../Temenos/bcnms/temenos_northern_tower.lua | 4 +- .../Temenos/bcnms/temenos_western_tower.lua | 4 +- .../Temenos/mobs/Abyssdweller_Jhabdebb.lua | 6 +- scripts/zones/Temenos/mobs/Air_Elemental.lua | 2 +- scripts/zones/Temenos/mobs/Airi.lua | 4 +- scripts/zones/Temenos/mobs/Beli.lua | 2 +- .../Temenos/mobs/Cryptonberry_Charmer.lua | 2 +- .../Temenos/mobs/Cryptonberry_Skulker.lua | 2 +- .../zones/Temenos/mobs/Earth_Elemental.lua | 2 +- .../zones/Temenos/mobs/Enhanced_Ahriman.lua | 4 +- .../zones/Temenos/mobs/Enhanced_Beetle.lua | 27 +- .../zones/Temenos/mobs/Enhanced_Dragon.lua | 4 +- .../zones/Temenos/mobs/Enhanced_Lizard.lua | 27 +- .../Temenos/mobs/Enhanced_Mandragora.lua | 27 +- scripts/zones/Temenos/mobs/Enhanced_Pugil.lua | 27 +- scripts/zones/Temenos/mobs/Enhanced_Slime.lua | 27 +- scripts/zones/Temenos/mobs/Enhanced_Tiger.lua | 27 +- .../zones/Temenos/mobs/Enhanced_Vulture.lua | 4 +- scripts/zones/Temenos/mobs/Fire_Elemental.lua | 2 +- scripts/zones/Temenos/mobs/Goblin_Fencer.lua | 2 +- .../zones/Temenos/mobs/Goblin_Theurgist.lua | 2 +- scripts/zones/Temenos/mobs/Goblin_Warlord.lua | 2 +- scripts/zones/Temenos/mobs/Ice_Elemental.lua | 2 +- scripts/zones/Temenos/mobs/Iruci.lua | 4 +- .../Temenos/mobs/Kindred_Dark_Knight.lua | 2 +- .../zones/Temenos/mobs/Kindred_Summoner.lua | 2 +- .../zones/Temenos/mobs/Kindred_Warrior.lua | 2 +- .../zones/Temenos/mobs/Light_Elemental.lua | 4 +- scripts/zones/Temenos/mobs/Mystic_Avatar.lua | 14 +- .../zones/Temenos/mobs/Orichalcum_Quadav.lua | 6 +- .../Temenos/mobs/Pee_Qoho_the_Python.lua | 6 +- .../Temenos/mobs/Praetorian_Guard_CCCXI.lua | 2 +- .../Temenos/mobs/Praetorian_Guard_CCXX.lua | 2 +- .../Temenos/mobs/Praetorian_Guard_CXLVIII.lua | 2 +- .../Temenos/mobs/Praetorian_Guard_LXXIII.lua | 2 +- scripts/zones/Temenos/mobs/Skadi.lua | 2 +- scripts/zones/Temenos/mobs/Telchines_Bard.lua | 2 +- scripts/zones/Temenos/mobs/Telchines_Monk.lua | 2 +- .../Temenos/mobs/Telchines_White_Mage.lua | 2 +- .../zones/Temenos/mobs/Temenos_Cleaner.lua | 4 +- scripts/zones/Temenos/mobs/Temenos_Weapon.lua | 4 +- scripts/zones/Temenos/mobs/Thrym.lua | 2 +- .../zones/Temenos/mobs/Thunder_Elemental.lua | 2 +- .../zones/Temenos/mobs/Water_Elemental.lua | 2 +- scripts/zones/Temenos/npcs/Armoury_Crate.lua | 229 ++-- scripts/zones/Temenos/npcs/Particle_Gate.lua | 57 +- 54 files changed, 744 insertions(+), 1057 deletions(-) diff --git a/scripts/globals/limbus.lua b/scripts/globals/limbus.lua index eff5584237e..0e6b4670a7e 100644 --- a/scripts/globals/limbus.lua +++ b/scripts/globals/limbus.lua @@ -1,67 +1,41 @@ -------------------------------------- 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 -GATE_OFFSET = 16929221 +limbus = {} + -- dsp.ki.WHITE_CARD = 349 -- dsp.ki.RED_CARD = 350 -- dsp.ki.BLACK_CARD = 351 -- dsp.ki.COSMOCLEANSE = 734 +APOLLYON_SE_NE = 1 -- out 557 -1 441 128 +APOLLYON_NW_SW = 2 -- out -561 0 443 242 +TEMENOS = 3 + -- REGION -NW_Apollyon = 1 -SW_Apollyon = 2 -NE_Apollyon = 3 -SE_Apollyon = 4 -CS_Apollyon = 5 +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 +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 -} +-- Armoury crate type +cTIME = 1 +cITEM = 2 +cRESTORE = 3 +cMIMIC = 4 MIMICPOSITION = { @@ -75,21 +49,104 @@ MIMICPOSITION = 8, {-335, 0, -281}; } -cTIME = 1 -cITEM = 2 -cRESTORE = 3 -cMIMIC = 4 - -ARMOURY_CRATES_LIST_APOLLYON = +-- armoryID, (type, regionID, time, despawnothercoffer, mimicID, lootID) +ARMOURY_CRATE_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 + ----------------------------------------------- + -- SE_Apollyon + ----------------------------------------------- + -- floor 1 + 1, {cTIME, SE_Apollyon, 5, false, 0, 0}, -- time + 2, {cITEM, SE_Apollyon, 0, false, 0, 110}, -- items + 3, {cRESTORE, SE_Apollyon, 0, false, 0, 0}, -- restore + -- floor 2 + 232, {cTIME, SE_Apollyon, 5, false, 0, 0}, -- time + 233, {cITEM, SE_Apollyon, 0, false, 0, 111}, -- items + 234, {cRESTORE, SE_Apollyon, 0, false, 0, 0}, -- restore + -- floor 3 + 246, {cTIME, SE_Apollyon, 10, false, 0, 0}, -- time + 247, {cITEM, SE_Apollyon, 0, false, 0, 112}, -- items + 248, {cRESTORE, SE_Apollyon, 0, false, 0, 0}, -- restore + -- floor 4 + 263, {cITEM, SE_Apollyon, 0, false, 0, 113}, -- items + + ----------------------------------------------- + -- SW_Apollyon + ----------------------------------------------- + -- floor 1 + 14, {cTIME, SW_Apollyon, 10, false, 0, 0}, -- time + 15, {cITEM, SW_Apollyon, 0, false, 0, 119}, -- items + 16, {cRESTORE, SW_Apollyon, 0, false, 0, 0}, -- restore + -- floor 2 + 70, {cTIME, SW_Apollyon, 10, true, 0, 0}, -- time + 71, {cITEM, SW_Apollyon, 0, true, 0, 120}, -- items + 72, {cRESTORE, SW_Apollyon, 0, true, 0, 0}, -- restore + -- floor 3 + 195, {cTIME, SW_Apollyon, 10, false, 0, 0}, -- time + 196, {cITEM, SW_Apollyon, 5, false, 0, 121}, -- items + 197, {cRESTORE, SW_Apollyon, 0, false, 0, 0}, -- restore + -- floor 4 + 313, {cITEM, SW_Apollyon, 0, false, 0, 122}, -- items + + ----------------------------------------------- + -- NW_Apollyon + ----------------------------------------------- + -- floor 1 + 40, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time T1 + 41, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time T2 + 42, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time T3 + 107, {cITEM, NW_Apollyon, 0, false, 0, 123}, -- item + 264, {cRESTORE, NW_Apollyon, 0, false, 0, 0}, -- restore + -- floor 2 + 43, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time T1 + 44, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time T2 + 45, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time T3 + 108, {cITEM, NW_Apollyon, 0, false, 0, 124}, -- item + 289, {cRESTORE, NW_Apollyon, 0, false, 0, 0}, -- restore + -- floor 3 + 109, {cITEM, NW_Apollyon, 0, false, 0, 125}, -- item + 177, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time T1 + 189, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time T2 + 190, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time T3 + 327, {cRESTORE, NW_Apollyon, 0, false, 0, 0}, -- restore + -- floor 4 + 97, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time T2 + 98, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time T3 + 110, {cITEM, NW_Apollyon, 0, false, 0, 126}, -- item + 179, {cRESTORE, NW_Apollyon, 0, false, 0, 0}, -- restore + 262, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time T1 + -- floor 5 + 111, {cITEM, NW_Apollyon, 0, false, 0, 127}, -- item + + ----------------------------------------------- + -- NE_Apollyon + ----------------------------------------------- + -- floor 1 + 81, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time T2 + 82, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time T3 + 118, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time T1 + 119, {cITEM, NE_Apollyon, 0, false, 0, 114}, -- items + 120, {cRESTORE, NE_Apollyon, 0, false, 0, 0}, -- restore + -- floor 2 + 83, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time T2 + 84, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time T3 + 125, {cTIME, NE_Apollyon, 5, false, 0, 10}, -- time T1 + 126, {cITEM, NE_Apollyon, 0, false, 0, 115}, -- items + 127, {cRESTORE, NE_Apollyon, 0, false, 0, 0}, -- restore + -- floor 3 + 85, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time T2 + 94, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time T3 + 139, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time T1 + 140, {cITEM, NE_Apollyon, 0, false, 0, 116}, -- items + 141, {cRESTORE, NE_Apollyon, 0, false, 0, 0}, -- restore + -- floor 4 + 95, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time T2 + 96, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time T3 + 153, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time T1 + 154, {cITEM, NE_Apollyon, 0, false, 0, 117}, -- items + 155, {cRESTORE, NE_Apollyon, 0, false, 0, 0}, -- restore + -- floor 5 + 178, {cITEM, NE_Apollyon, 0, false, 0, 118}, -- items -- 32, {}, -- mimic -- 33, {}, -- mimic @@ -98,292 +155,369 @@ ARMOURY_CRATES_LIST_APOLLYON = -- 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 + 39, {cITEM, Central_Apollyon, 0, false, 0, 128}, -- omega + 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 + 259, {cITEM, Central_Apollyon, 0, false, 0, 129}, -- Pod } -ARMOURY_CRATES_LIST_TEMENOS = +-- armoryID, (type, regionID, time, despawnothercoffer, mimicID, lootID) +ARMOURY_CRATE_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}, + ----------------------------------------------- + -- Temenos_Western_Tower + ----------------------------------------------- + 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}, -- Boss chest + 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}, + 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}, + + ----------------------------------------------- + -- Temenos_Northern_Tower + ----------------------------------------------- + 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 -- Boss chest + 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 + 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 + + ----------------------------------------------- + -- Temenos_Eastern_Tower + ----------------------------------------------- + 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}, -- Boss chest + 123, {cMIMIC, Temenos_Eastern_Tower, 0, true, 0, 0}, + 127, {cMIMIC, Temenos_Eastern_Tower, 0, true, 0, 0}, + 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}, + 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}, + + ----------------------------------------------- + -- Central_Temenos_1st_Floor + ----------------------------------------------- + 71, {cITEM, Central_Temenos_1st_Floor, 0, false, 0, 151}, -- Boss chest + + ----------------------------------------------- + -- Central_Temenos_2nd_Floor + ----------------------------------------------- + 77, {cITEM, Central_Temenos_2nd_Floor, 0, false, 0, 152}, -- Boss chest + + ----------------------------------------------- + -- Central_Temenos_3rd_Floor + ----------------------------------------------- + 78, {cITEM, Central_Temenos_3rd_Floor, 0, false, 0, 153}, -- Boss chest + + ----------------------------------------------- + -- Central_Temenos_4th_Floor + ----------------------------------------------- + 79, {cITEM, Central_Temenos_4th_Floor, 0, false, 0, 154}, -- Boss chest + 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}, + ----------------------------------------------- + -- Central_Temenos_Basement + ----------------------------------------------- 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 limbus.enter(player, entrance) switch (entrance): caseof { - [1] = function (x) + [1] = function () player:setPos(643, 0.1, -600, 124, 38) -- instance entrer 600 1 -600 end, -- sortiezone 637, -4, -642, 642, 4, -637 - [2] = function (x) + [2] = function () player:setPos(-668, 0.1, -666, 209, 38) -- instance entrer -599 0 -600 end, -- sortiezone -642, -4, -642, -637, 4, -637 } end -function ResetPlayerLimbusVariable(player) - player:setCharVar("characterLimbusKey", 0) - player:setCharVar("LimbusID", 0) +function limbus.hideArmouryCrates(region, zone) + if zone == APOLLYON_SE_NE or zone == APOLLYON_NW_SW then + local ID = zones[dsp.zone.APOLLYON] + for i = 1, #ARMOURY_CRATE_APOLLYON, 2 do + if ARMOURY_CRATE_APOLLYON[i+1][2] == region then + GetNPCByID(ARMOURY_CRATE_APOLLYON[i]+ID.npc.COFFER_OFFSET):setStatus(dsp.status.DISAPPEAR) + end + end + elseif zone == TEMENOS then + local ID = zones[dsp.zone.TEMENOS] + for i = 1, #ARMOURY_CRATE_TEMENOS, 2 do + if ARMOURY_CRATE_TEMENOS[i+1][2] == region then + GetNPCByID(ARMOURY_CRATE_TEMENOS[i]+ID.npc.COFFER_OFFSET):setStatus(dsp.status.DISAPPEAR) + end + end + end +end + +function limbus.hideTemenosDoors(region) + local ID = zones[dsp.zone.TEMENOS] + if region == Temenos_Northern_Tower then + for i = 0, 6 do + GetNPCByID(ID.npc.GATE_OFFSET+i):setStatus(dsp.status.DISAPPEAR) + end + elseif region == Temenos_Eastern_Tower then + for i = 7, 13 do + GetNPCByID(ID.npc.GATE_OFFSET+i):setStatus(dsp.status.DISAPPEAR) + end + elseif region == Temenos_Western_Tower then + for i = 14, 20 do + GetNPCByID(ID.npc.GATE_OFFSET+i):setStatus(dsp.status.DISAPPEAR) + end + elseif region == Central_Temenos_1st_Floor then + GetNPCByID(ID.npc.GATE_OFFSET+21):setStatus(dsp.status.DISAPPEAR) + elseif region == Central_Temenos_2nd_Floor then + GetNPCByID(ID.npc.GATE_OFFSET+22):setStatus(dsp.status.DISAPPEAR) + elseif region == Central_Temenos_3rd_Floor then + GetNPCByID(ID.npc.GATE_OFFSET+23):setStatus(dsp.status.DISAPPEAR) + elseif region == Central_Temenos_4th_Floor then + GetNPCByID(ID.npc.GATE_OFFSET+24):setStatus(dsp.status.DISAPPEAR) + elseif region == Central_Temenos_Basement then + GetNPCByID(ID.npc.GATE_OFFSET+25):setStatus(dsp.status.DISAPPEAR) + end +end + +function limbus.isMobDead(mobID) + local ActionValue = GetMobAction(mobID) + -- Todo: replace this + if ActionValue == 0 or ActionValue == 21 or ActionValue == 22 or ActionValue == 23 then + return true + else + return false + end end -function GenerateLimbusKey() - local Key = math.random(1, 1000000) +function limbus.spawnArmouryCrates(region) + if region == SW_Apollyon then + local ID = zones[dsp.zone.APOLLYON] + GetNPCByID(ID.npc.COFFER_OFFSET+210):setPos(MIMICPOSITION[2][1], MIMICPOSITION[2][2], MIMICPOSITION[2][3]) + GetNPCByID(ID.npc.COFFER_OFFSET+210):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+211):setPos(MIMICPOSITION[4][1], MIMICPOSITION[4][2], MIMICPOSITION[4][3]) + GetNPCByID(ID.npc.COFFER_OFFSET+211):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+212):setPos(MIMICPOSITION[6][1], MIMICPOSITION[6][2], MIMICPOSITION[6][3]) + GetNPCByID(ID.npc.COFFER_OFFSET+212):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+213):setPos(MIMICPOSITION[8][1], MIMICPOSITION[8][2], MIMICPOSITION[8][3]) + GetNPCByID(ID.npc.COFFER_OFFSET+213):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+214):setPos(MIMICPOSITION[10][1], MIMICPOSITION[10][2], MIMICPOSITION[10][3]) + GetNPCByID(ID.npc.COFFER_OFFSET+214):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+215):setPos(MIMICPOSITION[12][1], MIMICPOSITION[12][2], MIMICPOSITION[12][3]) + GetNPCByID(ID.npc.COFFER_OFFSET+215):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+216):setPos(MIMICPOSITION[14][1], MIMICPOSITION[14][2], MIMICPOSITION[14][3]) + GetNPCByID(ID.npc.COFFER_OFFSET+216):setStatus(dsp.status.NORMAL) + SetServerVariable("[SW_Apollyon]MimicTrigger", 1) + elseif region == Central_Temenos_4th_Floor then + local ID = zones[dsp.zone.TEMENOS] + GetNPCByID(ID.npc.COFFER_OFFSET+80):setPos(-560, -6, -459) + GetNPCByID(ID.npc.COFFER_OFFSET+80):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+86):setPos(-540, -6, -459) + GetNPCByID(ID.npc.COFFER_OFFSET+86):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+87):setPos(-576, -6, -459) + GetNPCByID(ID.npc.COFFER_OFFSET+87):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+88):setPos(-528, -6, -459) + GetNPCByID(ID.npc.COFFER_OFFSET+88):setStatus(dsp.status.NORMAL) + + GetNPCByID(ID.npc.COFFER_OFFSET+89):setPos(-592, -6, -487) + GetNPCByID(ID.npc.COFFER_OFFSET+89):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+95):setPos(-566, -6, -486) + GetNPCByID(ID.npc.COFFER_OFFSET+95):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+96):setPos(-566, -6, -513) + GetNPCByID(ID.npc.COFFER_OFFSET+96):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+97):setPos(-592, -6, -513) + GetNPCByID(ID.npc.COFFER_OFFSET+97):setStatus(dsp.status.NORMAL) + + GetNPCByID(ID.npc.COFFER_OFFSET+98):setPos(-531, -0.5, -501) + GetNPCByID(ID.npc.COFFER_OFFSET+98):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+104):setPos(-527, -6, -512) + GetNPCByID(ID.npc.COFFER_OFFSET+104):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+105):setPos(-552, -6, -512) + GetNPCByID(ID.npc.COFFER_OFFSET+105):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+106):setPos(-552, -6, -488) + GetNPCByID(ID.npc.COFFER_OFFSET+106):setStatus(dsp.status.NORMAL) + + GetNPCByID(ID.npc.COFFER_OFFSET+107):setPos(-488, 2, -510) + GetNPCByID(ID.npc.COFFER_OFFSET+107):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+113):setPos(-486, 2, -491) + GetNPCByID(ID.npc.COFFER_OFFSET+113):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+114):setPos(-508, 2, -513) + GetNPCByID(ID.npc.COFFER_OFFSET+114):setStatus(dsp.status.NORMAL) + + GetNPCByID(ID.npc.COFFER_OFFSET+115):setPos(-488, 2, -408) + GetNPCByID(ID.npc.COFFER_OFFSET+115):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+116):setPos(-485, 2, -423) + GetNPCByID(ID.npc.COFFER_OFFSET+116):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+122):setPos(-506, 2, -406) + GetNPCByID(ID.npc.COFFER_OFFSET+122):setStatus(dsp.status.NORMAL) + end +end - while (IsKeyExist(Key) == true) do - Key = math.random(1, 1000000) +function limbus.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 - return Key + if region == Temenos_Western_Tower and cofferType == cITEM then + switch (floor): caseof + { + [1] = function() cofferID = 1 end, + [2] = function() cofferID = 2 end, + [3] = function() cofferID = 3 end, + [4] = function() cofferID = 10 end, + [5] = function() cofferID = 11 end, + [6] = function() cofferID = 12 end, + } + elseif region == Temenos_Western_Tower and cofferType == cRESTORE then + switch (floor): caseof + { + [1] = function() cofferID = 203 end, + [2] = function() cofferID = 204 end, + [3] = function() cofferID = 205 end, + [4] = function() cofferID = 206 end, + [5] = function() cofferID = 207 end, + [6] = function() cofferID = 208 end, + } + elseif region == Temenos_Western_Tower and cofferType == cTIME then + switch (floor): caseof + { + [1] = function() cofferID = 128 end, + [2] = function() cofferID = 129 end, + [3] = function() cofferID = 139 end, + [4] = function() cofferID = 140 end, + [5] = function() cofferID = 141 end, + [6] = function() cofferID = 151 end, + } + end + -- print("cofferID" ..cofferID) + return cofferID 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 +function limbus.handleLootRolls(battlefield, lootTable, players, npc) + players = players or battlefield:getPlayers() + if npc then + npc:setAnimation(90) 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) + 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 end -function HideTemenosDoor(Region) - if (Region == Temenos_Northern_Tower) then - GetNPCByID(GATE_OFFSET):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(GATE_OFFSET+1):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(GATE_OFFSET+2):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(GATE_OFFSET+3):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(GATE_OFFSET+4):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(GATE_OFFSET+5):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(GATE_OFFSET+6):setStatus(dsp.status.DISAPPEAR) - elseif (Region == Temenos_Eastern_Tower) then - GetNPCByID(GATE_OFFSET+7):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(GATE_OFFSET+8):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(GATE_OFFSET+9):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(GATE_OFFSET+10):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(GATE_OFFSET+11):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(GATE_OFFSET+12):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(GATE_OFFSET+13):setStatus(dsp.status.DISAPPEAR) - elseif (Region == Temenos_Western_Tower) then - GetNPCByID(GATE_OFFSET+14):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(GATE_OFFSET+15):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(GATE_OFFSET+16):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(GATE_OFFSET+17):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(GATE_OFFSET+18):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(GATE_OFFSET+18):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(GATE_OFFSET+20):setStatus(dsp.status.DISAPPEAR) - elseif (Region == Central_Temenos_1st_Floor) then - GetNPCByID(GATE_OFFSET+21):setStatus(dsp.status.DISAPPEAR) - elseif (Region == Central_Temenos_2nd_Floor) then - GetNPCByID(GATE_OFFSET+22):setStatus(dsp.status.DISAPPEAR) - elseif (Region == Central_Temenos_3rd_Floor) then - GetNPCByID(GATE_OFFSET+23):setStatus(dsp.status.DISAPPEAR) - elseif (Region == Central_Temenos_4th_Floor) then - GetNPCByID(GATE_OFFSET+24):setStatus(dsp.status.DISAPPEAR) - elseif (Region == Central_Temenos_Basement) then - GetNPCByID(GATE_OFFSET+25):setStatus(dsp.status.DISAPPEAR) +function limbus.despawnCS() + for n = 16933130, 16933136 do + if not limbus.isMobDead(n) then + DespawnMob(n) + end + end + + for n = 16933138, 16933143 do + if not limbus.isMobDead(n) then + DespawnMob(n) + end + end + + for n = 16933145, 16933152 do + if not limbus.isMobDead(n) then + DespawnMob(n) + end end end @@ -391,35 +525,35 @@ 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 + if (limbus.isMobDead(16932913) == true and limbus.isMobDead(16932921) == true and limbus.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 + if (limbus.isMobDead(16932912) == true and limbus.isMobDead(16932920) == true and limbus.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 + if (limbus.isMobDead(16932916) == true and limbus.isMobDead(16932924) == true and limbus.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 + if (limbus.isMobDead(16932910) == true and limbus.isMobDead(16932918) == true and limbus.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 + if (limbus.isMobDead(16932914) == true and limbus.isMobDead(16932922) == true and limbus.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 + if (limbus.isMobDead(16932917) == true and limbus.isMobDead(16932925) == true and limbus.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 + if (limbus.isMobDead(16932931) == true and limbus.isMobDead(16932915) == true and limbus.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 + if (limbus.isMobDead(16932911) == true and limbus.isMobDead(16932919) == true and limbus.isMobDead(16932927) == true) then daykill = true end end @@ -437,9 +571,9 @@ function alreadyReceived(player, number, region) local bit = {} local pZone = player:getZoneID() - if (pZone == 37) then + if (pZone == dsp.zone.TEMENOS) then -- WHY? Why is there even HERE? - elseif (pZone == 38) then + elseif (pZone == dsp.zone.APOLLYON) then LimbusVar = GetServerVariable("[CS_Apollyon]Already_Received") end @@ -463,434 +597,9 @@ end function addLimbusList(player, number, Region) local pZone = player:getZoneID() - if (pZone == 37) then + if (pZone == dsp.zone.TEMENOS) then -- The hell? - elseif (pZone == 38) then + elseif (pZone == dsp.zone.APOLLYON) then SetServerVariable("[CS_Apollyon]Already_Received", GetServerVariable("[CS_Apollyon]Already_Received") + number) end -end - -function IsKeyExist(Key) -- return true if Key already exist for another linbus - local H = false - local KeyAlreadyExist = - { - 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") - end, - [1295] = function (x) - Instancekey = GetServerVariable("[CS_Apollyon_II]UniqueID") - end, - [1296] = function (x) - Instancekey = GetServerVariable("[Central_Apollyon]UniqueID") - end, - [1297] = function (x) - Instancekey = GetServerVariable("[Central_Apollyon_II]UniqueID") - end, - [1298] = function (x) - Instancekey = GetServerVariable("[Temenos_W_Tower]UniqueID") - end, - [1299] = function (x) - Instancekey = GetServerVariable("[Temenos_N_Tower]UniqueID") - end, - [1300] = function (x) - Instancekey = GetServerVariable("[Temenos_E_Tower]UniqueID") - end, - [1301] = function (x) - Instancekey = GetServerVariable("[C_Temenos_Base]UniqueID") - end, - [1302] = function (x) - Instancekey = GetServerVariable("[C_Temenos_Base_II]UniqueID") - end, - [1303] = function (x) - Instancekey = GetServerVariable("[C_Temenos_1st]UniqueID") - end, - [1304] = function (x) - Instancekey = GetServerVariable("[C_Temenos_2nd]UniqueID") - end, - [1305] = function (x) - Instancekey = GetServerVariable("[C_Temenos_3rd]UniqueID") - end, - [1306] = function (x) - Instancekey = GetServerVariable("[C_Temenos_4th]UniqueID") - end, - [1307] = function (x) - Instancekey = GetServerVariable("[C_Temenos_4th_II]UniqueID") - 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 - else - return false - end -end - -function despawnLimbusCS() - for n = 16933130, 16933136, 1 do - if (IsMobDead(n) == false) then - DespawnMob(n) - end - end - - for n = 16933138, 16933143, 1 do - if (IsMobDead(n) == false) then - DespawnMob(n) - end - end - - for n = 16933145, 16933152, 1 do - if (IsMobDead(n) == false) then - DespawnMob(n) - 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) - - 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, - } - 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 - { - [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) - end, - [1301] = function (x) - SetServerVariable("[C_Temenos_Base]UniqueID", 0) - end, - [1302] = function (x) - SetServerVariable("[C_Temenos_Base_II]UniqueID", 0) - end, - [1303] = function (x) - SetServerVariable("[C_Temenos_1st]UniqueID", 0) - end, - [1304] = function (x) - SetServerVariable("[C_Temenos_2nd]UniqueID", 0) - end, - [1305] = function (x) - SetServerVariable("[C_Temenos_3rd]UniqueID", 0) - end, - [1306] = function (x) - SetServerVariable("[C_Temenos_4th]UniqueID", 0) - end, - [1307] = function (x) - SetServerVariable("[C_Temenos_4th_II]UniqueID", 0) - end, - } - 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] - 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] - end - end - - for M = 1, #TEMENOS_LIST, 2 do - if (TEMENOS_LIST[M] == instanceID) then - region = TEMENOS_LIST[M+1][5] - 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 - 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 - end - else - currentlimbus = 0 - end - - return currentlimbus end \ No newline at end of file diff --git a/scripts/zones/Temenos/IDs.lua b/scripts/zones/Temenos/IDs.lua index d0f4d08d7e9..b6a1f790db3 100644 --- a/scripts/zones/Temenos/IDs.lua +++ b/scripts/zones/Temenos/IDs.lua @@ -21,9 +21,21 @@ zones[dsp.zone.TEMENOS] = }, mob = { + TEMENOS_E_MOB = + { + 16928840, + 16928849, + 16928858, + 16928867, + 16928876, + 16928885, + 16928892, + }, }, npc = { + GATE_OFFSET = 16929221, + COFFER_OFFSET = 16928768, }, } diff --git a/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua index e4f54d8577c..73802fa7e2f 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua @@ -8,8 +8,8 @@ require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) - HideTemenosDoor(Central_Temenos_1st_Floor) - HideArmouryCrates(Central_Temenos_1st_Floor, TEMENOS) + limbus.hideTemenosDoors(Central_Temenos_1st_Floor) + limbus.hideArmouryCrates(Central_Temenos_1st_Floor, TEMENOS) end function onBattlefieldTick(battlefield, tick) diff --git a/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua index 1f9b2c7e116..7c1d5425e2e 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua @@ -8,8 +8,8 @@ require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) - HideTemenosDoor(Central_Temenos_2nd_Floor) - HideArmouryCrates(Central_Temenos_2nd_Floor, TEMENOS) + limbus.hideTemenosDoors(Central_Temenos_2nd_Floor) + limbus.hideArmouryCrates(Central_Temenos_2nd_Floor, TEMENOS) end function onBattlefieldTick(battlefield, tick) diff --git a/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua index 5d37de8ec20..5ef75eb4a32 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua @@ -8,8 +8,8 @@ require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) - HideTemenosDoor(Central_Temenos_3rd_Floor) - HideArmouryCrates(Central_Temenos_3rd_Floor, TEMENOS) + limbus.hideTemenosDoors(Central_Temenos_3rd_Floor) + limbus.hideArmouryCrates(Central_Temenos_3rd_Floor, TEMENOS) end function onBattlefieldTick(battlefield, tick) diff --git a/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua index 104a33318eb..da293b8bb99 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua @@ -8,9 +8,9 @@ require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) - HideArmouryCrates(Central_Temenos_4th_Floor, TEMENOS) - HideTemenosDoor(Central_Temenos_4th_Floor) - SpawnCofferTemenosCFloor4() + limbus.hideArmouryCrates(Central_Temenos_4th_Floor, TEMENOS) + limbus.hideTemenosDoors(Central_Temenos_4th_Floor) + limbus.spawnArmouryCrates(Central_Temenos_4th_Floor) end function onBattlefieldTick(battlefield, tick) diff --git a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua index dc260924860..0d6151fde69 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua @@ -8,8 +8,8 @@ require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) - HideTemenosDoor(Central_Temenos_Basement) - HideArmouryCrates(Central_Temenos_Basement, TEMENOS) + limbus.hideTemenosDoors(Central_Temenos_Basement) + limbus.hideArmouryCrates(Central_Temenos_Basement, TEMENOS) end function onBattlefieldTick(battlefield, tick) diff --git a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua index efdc818069e..3bccb725c0e 100644 --- a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua @@ -8,8 +8,8 @@ require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) - HideArmouryCrates(Temenos_Eastern_Tower, TEMENOS) - HideTemenosDoor(Temenos_Eastern_Tower) + limbus.hideArmouryCrates(Temenos_Eastern_Tower, TEMENOS) + limbus.hideTemenosDoors(Temenos_Eastern_Tower) end function onBattlefieldTick(battlefield, tick) diff --git a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua index cd3f300b03d..7ef0bbc9686 100644 --- a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua @@ -8,8 +8,8 @@ require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) - HideTemenosDoor(Temenos_Northern_Tower) - HideArmouryCrates(Temenos_Northern_Tower, TEMENOS) + limbus.hideTemenosDoors(Temenos_Northern_Tower) + limbus.hideArmouryCrates(Temenos_Northern_Tower, TEMENOS) end function onBattlefieldTick(battlefield, tick) diff --git a/scripts/zones/Temenos/bcnms/temenos_western_tower.lua b/scripts/zones/Temenos/bcnms/temenos_western_tower.lua index 21f375e579b..8900952366f 100644 --- a/scripts/zones/Temenos/bcnms/temenos_western_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_western_tower.lua @@ -8,8 +8,8 @@ require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) - HideTemenosDoor(Temenos_Western_Tower) - HideArmouryCrates(Temenos_Western_Tower, TEMENOS) + limbus.hideTemenosDoors(Temenos_Western_Tower) + limbus.hideArmouryCrates(Temenos_Western_Tower, TEMENOS) end function onBattlefieldTick(battlefield, tick) diff --git a/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua b/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua index 5a421ec209e..7d7edd5d95a 100644 --- a/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua +++ b/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua @@ -6,8 +6,8 @@ require("scripts/globals/limbus"); ----------------------------------- 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 + if (limbus.isMobDead(16929010)==true and limbus.isMobDead(16929011)==true and limbus.isMobDead(16929012)==true and + limbus.isMobDead(16929013)==true and limbus.isMobDead(16929014)==true and limbus.isMobDead(16929015)==true ) then mob:setMod(dsp.mod.SLASHRES,1400); mob:setMod(dsp.mod.PIERCERES,1400); @@ -24,7 +24,7 @@ function onMobEngaged(mob,target) end; function onMobDeath(mob, player, isKiller) - if (IsMobDead(16929005)==true and IsMobDead(16929006)==true and IsMobDead(16929007)==true) then + if (limbus.isMobDead(16929005)==true and limbus.isMobDead(16929006)==true and limbus.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); diff --git a/scripts/zones/Temenos/mobs/Air_Elemental.lua b/scripts/zones/Temenos/mobs/Air_Elemental.lua index e5f8a056154..065e040e3a3 100644 --- a/scripts/zones/Temenos/mobs/Air_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Air_Elemental.lua @@ -29,7 +29,7 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(16928768+46):setStatus(dsp.status.NORMAL); end , [16929035] = function (x) - if (IsMobDead(16929036)==false) then + if (limbus.isMobDead(16929036)==false) then DespawnMob(16929036); SpawnMob(16929042); end diff --git a/scripts/zones/Temenos/mobs/Airi.lua b/scripts/zones/Temenos/mobs/Airi.lua index 5833646f227..7c2cff17b16 100644 --- a/scripts/zones/Temenos/mobs/Airi.lua +++ b/scripts/zones/Temenos/mobs/Airi.lua @@ -5,7 +5,7 @@ require("scripts/globals/limbus") ----------------------------------- function onMobEngaged(mob, target) - if IsMobDead(16929047) then + if limbus.isMobDead(16929047) then mob:addStatusEffect(dsp.effect.REGAIN, 7, 3, 0) mob:addStatusEffect(dsp.effect.REGEN, 50, 3, 0) end @@ -15,7 +15,7 @@ function onMobDeath(mob, player, isKiller) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - if IsMobDead(16929047) and IsMobDead(16929048) and IsMobDead(16929049) and IsMobDead(16929050) and IsMobDead(16929051) then + if limbus.isMobDead(16929047) and limbus.isMobDead(16929048) and limbus.isMobDead(16929049) and limbus.isMobDead(16929050) and limbus.isMobDead(16929051) then GetNPCByID(16928768+71):setPos(mobX, mobY, mobZ) GetNPCByID(16928768+71):setStatus(dsp.status.NORMAL) GetNPCByID(16928770+471):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Beli.lua b/scripts/zones/Temenos/mobs/Beli.lua index 6e38f1d5aac..bc2826057f8 100644 --- a/scripts/zones/Temenos/mobs/Beli.lua +++ b/scripts/zones/Temenos/mobs/Beli.lua @@ -11,7 +11,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if IsMobDead(16928781) and IsMobDead(16928782) then + if limbus.isMobDead(16928781) and limbus.isMobDead(16928782) then GetNPCByID(16928768+19):setPos(200, -82, 495) GetNPCByID(16928768+19):setStatus(dsp.status.NORMAL) GetNPCByID(16928768+153):setPos(206, -82, 495) diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua index 6896fd7c4f0..23b51b03587 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua @@ -9,7 +9,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if IsMobDead(16928817) then + if limbus.isMobDead(16928817) then GetNPCByID(16928768+38):setPos(-412, -78, 426) GetNPCByID(16928768+38):setStatus(dsp.status.NORMAL) GetNPCByID(16928768+172):setPos(-415, -78, 427) diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua index e1ac43eba48..bcbb2623f80 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua @@ -9,7 +9,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if IsMobDead(16928816) then + if limbus.isMobDead(16928816) then GetNPCByID(16928768+38):setPos(-412, -78, 426) GetNPCByID(16928768+38):setStatus(dsp.status.NORMAL) GetNPCByID(16928768+172):setPos(-415, -78, 427) diff --git a/scripts/zones/Temenos/mobs/Earth_Elemental.lua b/scripts/zones/Temenos/mobs/Earth_Elemental.lua index 21bab11404e..58fc15ad35f 100644 --- a/scripts/zones/Temenos/mobs/Earth_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Earth_Elemental.lua @@ -33,7 +33,7 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(16928768+47):setStatus(dsp.status.NORMAL); end , [16929036] = function (x) - if (IsMobDead(16929037)==false) then + if (limbus.isMobDead(16929037)==false) then DespawnMob(16929037); SpawnMob(16929043); end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Ahriman.lua b/scripts/zones/Temenos/mobs/Enhanced_Ahriman.lua index a5defd83e1d..93e81641db1 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Ahriman.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Ahriman.lua @@ -5,7 +5,7 @@ require("scripts/globals/limbus") ----------------------------------- function onMobEngaged(mob, target) - if IsMobDead(16929050) then + if limbus.isMobDead(16929050) then mob:addStatusEffect(dsp.effect.REGAIN, 7, 3, 0) mob:addStatusEffect(dsp.effect.REGEN, 50, 3, 0) end @@ -15,7 +15,7 @@ function onMobDeath(mob, player, isKiller) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - if IsMobDead(16929046) and IsMobDead(16929047) and IsMobDead(16929048) and IsMobDead(16929049) and IsMobDead(16929050) then + if limbus.isMobDead(16929046) and limbus.isMobDead(16929047) and limbus.isMobDead(16929048) and limbus.isMobDead(16929049) and limbus.isMobDead(16929050) then GetNPCByID(16928768+71):setPos(mobX, mobY, mobZ) GetNPCByID(16928768+71):setStatus(dsp.status.NORMAL) GetNPCByID(16928770+471):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua b/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua index 6511bc90fd7..6ba254cd8e5 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua @@ -2,21 +2,20 @@ -- Area: Temenos W T -- Mob: Enhanced Beetle ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- -function onMobEngaged(mob,target) - -end; +function onMobEngaged(mob, target) +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; +local cofferID = limbus.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 diff --git a/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua b/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua index cdf4bc48bd9..33ce4a1d0f5 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua @@ -5,7 +5,7 @@ require("scripts/globals/limbus") ----------------------------------- function onMobEngaged(mob, target) - if IsMobDead(16929051) then + if limbus.isMobDead(16929051) then mob:addStatusEffect(dsp.effect.REGAIN, 7, 3, 0) mob:addStatusEffect(dsp.effect.REGEN, 50, 3, 0) end @@ -15,7 +15,7 @@ function onMobDeath(mob, player, isKiller) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - if IsMobDead(16929046) and IsMobDead(16929047) and IsMobDead(16929048) and IsMobDead(16929049) and IsMobDead(16929051) then + if limbus.isMobDead(16929046) and limbus.isMobDead(16929047) and limbus.isMobDead(16929048) and limbus.isMobDead(16929049) and limbus.isMobDead(16929051) then GetNPCByID(16928768+71):setPos(mobX, mobY, mobZ) GetNPCByID(16928768+71):setStatus(dsp.status.NORMAL) GetNPCByID(16928770+471):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua b/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua index e100411c809..f2227b34f40 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua @@ -2,21 +2,20 @@ -- Area: Temenos W T -- Mob: Enhanced Lizard ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- -function onMobEngaged(mob,target) - -end; +function onMobEngaged(mob, target) +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; +local cofferID = limbus.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 diff --git a/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua b/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua index f99ffa4a02f..020707279e7 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua @@ -2,21 +2,20 @@ -- Area: Temenos W T -- Mob: Enhanced Mandragora ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- -function onMobEngaged(mob,target) - -end; +function onMobEngaged(mob, target) +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; +local cofferID = limbus.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 diff --git a/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua b/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua index 5eddc390f8e..aa533f06fe2 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua @@ -2,21 +2,20 @@ -- Area: Temenos W T -- Mob: Enhanced Pugil ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- -function onMobEngaged(mob,target) - -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; +local cofferID = limbus.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 diff --git a/scripts/zones/Temenos/mobs/Enhanced_Slime.lua b/scripts/zones/Temenos/mobs/Enhanced_Slime.lua index 7896b5241e0..ed0ef9f7d1d 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Slime.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Slime.lua @@ -2,21 +2,20 @@ -- Area: Temenos W T -- Mob: Enhanced Slime ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- -function onMobEngaged(mob,target) - -end; +function onMobEngaged(mob, target) +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; +local cofferID = limbus.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 diff --git a/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua b/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua index de5e8d5df27..e5e6b310c99 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua @@ -2,21 +2,20 @@ -- Area: Temenos W T -- Mob: Enhanced Tiger ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") ----------------------------------- -function onMobEngaged(mob,target) - -end; +function onMobEngaged(mob, target) +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; +local cofferID = limbus.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 diff --git a/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua b/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua index 1cfb69b0aaa..914cbc975b7 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua @@ -19,8 +19,8 @@ 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 + if (limbus.isMobDead(16928959)==true and limbus.isMobDead(16928960)==true and limbus.isMobDead(16928961)==true + and limbus.isMobDead(16928962)==true and limbus.isMobDead(16928963)==true and limbus.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); diff --git a/scripts/zones/Temenos/mobs/Fire_Elemental.lua b/scripts/zones/Temenos/mobs/Fire_Elemental.lua index 5eb2ab500e0..4afbbe1e076 100644 --- a/scripts/zones/Temenos/mobs/Fire_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Fire_Elemental.lua @@ -32,7 +32,7 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(16928768+40):setStatus(dsp.status.NORMAL); end , [16929033] = function (x) - if (IsMobDead(16929034)==false) then -- ice + if (limbus.isMobDead(16929034)==false) then -- ice DespawnMob(16929034); SpawnMob(16929040); end diff --git a/scripts/zones/Temenos/mobs/Goblin_Fencer.lua b/scripts/zones/Temenos/mobs/Goblin_Fencer.lua index 5aae1f15b98..2ebeaef6197 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Fencer.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Fencer.lua @@ -12,7 +12,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if IsMobDead(16928831) and IsMobDead(16928832) and IsMobDead(16928833) and IsMobDead(16928834) and IsMobDead(16928835) then + if limbus.isMobDead(16928831) and limbus.isMobDead(16928832) and limbus.isMobDead(16928833) and limbus.isMobDead(16928834) and limbus.isMobDead(16928835) then GetNPCByID(16928768+39):setPos(-599, 85, 438) GetNPCByID(16928768+39):setStatus(dsp.status.NORMAL) GetNPCByID(GATE_OFFSET+6):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua b/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua index a646a48e38c..9c1a52d48af 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua @@ -12,7 +12,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if IsMobDead(16928831) and IsMobDead(16928832) and IsMobDead(16928833) and IsMobDead(16928834) and IsMobDead(16928835) then + if limbus.isMobDead(16928831) and limbus.isMobDead(16928832) and limbus.isMobDead(16928833) and limbus.isMobDead(16928834) and limbus.isMobDead(16928835) then GetNPCByID(16928768+39):setPos(-599, 85, 438) GetNPCByID(16928768+39):setStatus(dsp.status.NORMAL) GetNPCByID(GATE_OFFSET+6):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Goblin_Warlord.lua b/scripts/zones/Temenos/mobs/Goblin_Warlord.lua index 4ac18af4f77..8c9ed5f8309 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Warlord.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Warlord.lua @@ -13,7 +13,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if IsMobDead(16928831) and IsMobDead(16928832) and IsMobDead(16928833) and IsMobDead(16928834) and IsMobDead(16928835) then + if limbus.isMobDead(16928831) and limbus.isMobDead(16928832) and limbus.isMobDead(16928833) and limbus.isMobDead(16928834) and limbus.isMobDead(16928835) then GetNPCByID(16928768+39):setPos(-599, 85, 438) GetNPCByID(16928768+39):setStatus(dsp.status.NORMAL) GetNPCByID(GATE_OFFSET+6):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Ice_Elemental.lua b/scripts/zones/Temenos/mobs/Ice_Elemental.lua index 4ebabc615c5..1eba29f5dc2 100644 --- a/scripts/zones/Temenos/mobs/Ice_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Ice_Elemental.lua @@ -33,7 +33,7 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(16928768+45):setStatus(dsp.status.NORMAL); end , [16929034] = function (x) - if (IsMobDead(16929035)==false) then -- wind + if (limbus.isMobDead(16929035)==false) then -- wind DespawnMob(16929035); SpawnMob(16929041); end diff --git a/scripts/zones/Temenos/mobs/Iruci.lua b/scripts/zones/Temenos/mobs/Iruci.lua index bd26257dbb7..3ad8fe38f5a 100644 --- a/scripts/zones/Temenos/mobs/Iruci.lua +++ b/scripts/zones/Temenos/mobs/Iruci.lua @@ -5,7 +5,7 @@ require("scripts/globals/limbus") ----------------------------------- function onMobEngaged(mob, target) - if IsMobDead(16929049) then + if limbus.isMobDead(16929049) then mob:addStatusEffect(dsp.effect.REGAIN, 7, 3, 0) mob:addStatusEffect(dsp.effect.REGEN, 50, 3, 0) end @@ -15,7 +15,7 @@ function onMobDeath(mob, player, isKiller) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - if IsMobDead(16929046) and IsMobDead(16929047) and IsMobDead(16929049) and IsMobDead(16929050) and IsMobDead(16929051) then + if limbus.isMobDead(16929046) and limbus.isMobDead(16929047) and limbus.isMobDead(16929049) and limbus.isMobDead(16929050) and limbus.isMobDead(16929051) then GetNPCByID(16928768+71):setPos(mobX, mobY, mobZ) GetNPCByID(16928768+71):setStatus(dsp.status.NORMAL) GetNPCByID(16928770+471):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua b/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua index 29f8fe654c3..a319895e2b5 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua @@ -9,7 +9,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if IsMobDead(16928797) and IsMobDead(16928799) then + if limbus.isMobDead(16928797) and limbus.isMobDead(16928799) then GetNPCByID(16928768+27):setPos(-120, -80, 429) GetNPCByID(16928768+27):setStatus(dsp.status.NORMAL) GetNPCByID(16928768+161):setPos(-123, -80, 429) diff --git a/scripts/zones/Temenos/mobs/Kindred_Summoner.lua b/scripts/zones/Temenos/mobs/Kindred_Summoner.lua index f822a9f2028..3b414e3d5ef 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Summoner.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Summoner.lua @@ -10,7 +10,7 @@ function onMobEngaged(mob,target) end function onMobDeath(mob, player, isKiller) - if IsMobDead(16928797) and IsMobDead(16928798) then + if limbus.isMobDead(16928797) and limbus.isMobDead(16928798) then GetNPCByID(16928768+27):setPos(-120, -80, 429) GetNPCByID(16928768+27):setStatus(dsp.status.NORMAL) GetNPCByID(16928768+161):setPos(-123, -80, 429) diff --git a/scripts/zones/Temenos/mobs/Kindred_Warrior.lua b/scripts/zones/Temenos/mobs/Kindred_Warrior.lua index 93607ccab63..621f4abde8e 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Warrior.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Warrior.lua @@ -9,7 +9,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if IsMobDead(16928798) and IsMobDead(16928799) then + if limbus.isMobDead(16928798) and limbus.isMobDead(16928799) then GetNPCByID(16928768+27):setPos(-120, -80, 429) GetNPCByID(16928768+27):setStatus(dsp.status.NORMAL) GetNPCByID(16928768+161):setPos(-123, -80, 429) diff --git a/scripts/zones/Temenos/mobs/Light_Elemental.lua b/scripts/zones/Temenos/mobs/Light_Elemental.lua index 0d3b3297a22..86b73ceb7b5 100644 --- a/scripts/zones/Temenos/mobs/Light_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Light_Elemental.lua @@ -21,14 +21,14 @@ function onMobDeath(mob, player, isKiller) switch (mobID): caseof { [16929031] = function (x) - if (IsMobDead(16929030)==true and IsMobDead(16929032)==true ) then + if (limbus.isMobDead(16929030)==true and limbus.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 + if (limbus.isMobDead(16929030)==true and limbus.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); diff --git a/scripts/zones/Temenos/mobs/Mystic_Avatar.lua b/scripts/zones/Temenos/mobs/Mystic_Avatar.lua index 24d53b96815..3360f8156fb 100644 --- a/scripts/zones/Temenos/mobs/Mystic_Avatar.lua +++ b/scripts/zones/Temenos/mobs/Mystic_Avatar.lua @@ -10,37 +10,37 @@ function onMobEngaged(mob,target) 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 + if (limbus.isMobDead(16929033)==true and limbus.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 + if (limbus.isMobDead(16929034)==true and limbus.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 + if (limbus.isMobDead(16929035)==true and limbus.isMobDead(16929041)==true) then mob:setMod(dsp.mod.WINDDEF,-128); else mob:setMod(dsp.mod.WINDDEF,256); end - if (IsMobDead(16929036)==true and IsMobDead(16929042)==true) then + if (limbus.isMobDead(16929036)==true and limbus.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 + if (limbus.isMobDead(16929037)==true and limbus.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 + if (limbus.isMobDead(16929038)==true and limbus.isMobDead(16929044)==true) then mob:setMod(dsp.mod.WATERDEF,-128); else mob:setMod(dsp.mod.WATERDEF,256); @@ -79,7 +79,7 @@ function onMobDeath(mob, player, isKiller) 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 + if (limbus.isMobDead(16929031)==true and limbus.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); diff --git a/scripts/zones/Temenos/mobs/Orichalcum_Quadav.lua b/scripts/zones/Temenos/mobs/Orichalcum_Quadav.lua index ac269c4c175..acaa683a73a 100644 --- a/scripts/zones/Temenos/mobs/Orichalcum_Quadav.lua +++ b/scripts/zones/Temenos/mobs/Orichalcum_Quadav.lua @@ -6,8 +6,8 @@ require("scripts/globals/limbus"); ----------------------------------- 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 + if (limbus.isMobDead(16929017)==true and limbus.isMobDead(16929018)==true and limbus.isMobDead(16929019)==true and + limbus.isMobDead(16929020)==true and limbus.isMobDead(16929021)==true and limbus.isMobDead(16929022)==true ) then mob:setMod(dsp.mod.SLASHRES,1400); mob:setMod(dsp.mod.PIERCERES,1400); @@ -24,7 +24,7 @@ function onMobEngaged(mob,target) end; function onMobDeath(mob, player, isKiller) - if (IsMobDead(16929005)==true and IsMobDead(16929006)==true and IsMobDead(16929007)==true) then + if (limbus.isMobDead(16929005)==true and limbus.isMobDead(16929006)==true and limbus.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); diff --git a/scripts/zones/Temenos/mobs/Pee_Qoho_the_Python.lua b/scripts/zones/Temenos/mobs/Pee_Qoho_the_Python.lua index ab481fda925..330799f9427 100644 --- a/scripts/zones/Temenos/mobs/Pee_Qoho_the_Python.lua +++ b/scripts/zones/Temenos/mobs/Pee_Qoho_the_Python.lua @@ -6,8 +6,8 @@ require("scripts/globals/limbus"); ----------------------------------- 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 + if (limbus.isMobDead(16929023)==true and limbus.isMobDead(16929024)==true and limbus.isMobDead(16929025)==true and + limbus.isMobDead(16929026)==true and limbus.isMobDead(16929027)==true and limbus.isMobDead(16929028)==true ) then mob:setMod(dsp.mod.SLASHRES,1400); mob:setMod(dsp.mod.PIERCERES,1400); @@ -24,7 +24,7 @@ function onMobEngaged(mob,target) end; function onMobDeath(mob, player, isKiller) - if (IsMobDead(16929005)==true and IsMobDead(16929006)==true and IsMobDead(16929007)==true) then + if (limbus.isMobDead(16929005)==true and limbus.isMobDead(16929006)==true and limbus.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); diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua index 1282a2d76de..a1e666ab465 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua @@ -9,7 +9,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if IsMobDead(16928809) and IsMobDead(16928810) and IsMobDead(16928811) then + if limbus.isMobDead(16928809) and limbus.isMobDead(16928810) and limbus.isMobDead(16928811) then GetNPCByID(16928768+28):setPos(-311, 80, 419) GetNPCByID(16928768+28):setStatus(dsp.status.NORMAL) GetNPCByID(16928768+162):setPos(-311, 80, 417) diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua index 56b5a47a32c..e8be5f3ebfd 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua @@ -9,7 +9,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if IsMobDead(16928810) and IsMobDead(16928811) and IsMobDead(16928812) then + if limbus.isMobDead(16928810) and limbus.isMobDead(16928811) and limbus.isMobDead(16928812) then GetNPCByID(16928768+28):setPos(-311, 80, 419) GetNPCByID(16928768+28):setStatus(dsp.status.NORMAL) GetNPCByID(16928768+162):setPos(-311, 80, 417) diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua index a4d38fba736..230d358dae6 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua @@ -9,7 +9,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if IsMobDead(16928809) and IsMobDead(16928810) and IsMobDead(16928812) then + if limbus.isMobDead(16928809) and limbus.isMobDead(16928810) and limbus.isMobDead(16928812) then GetNPCByID(16928768+28):setPos(-311, 80, 419) GetNPCByID(16928768+28):setStatus(dsp.status.NORMAL) GetNPCByID(16928768+162):setPos(-311, 80, 417) diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua index ad7ef9e1a28..2aa3886f662 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua @@ -9,7 +9,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if IsMobDead(16928809) and IsMobDead(16928811) and IsMobDead(16928812) then + if limbus.isMobDead(16928809) and limbus.isMobDead(16928811) and limbus.isMobDead(16928812) then GetNPCByID(16928768+28):setPos(-311, 80, 419) GetNPCByID(16928768+28):setStatus(dsp.status.NORMAL) GetNPCByID(16928768+162):setPos(-311, 80, 417) diff --git a/scripts/zones/Temenos/mobs/Skadi.lua b/scripts/zones/Temenos/mobs/Skadi.lua index 9a7d8145f6e..a43e4164d92 100644 --- a/scripts/zones/Temenos/mobs/Skadi.lua +++ b/scripts/zones/Temenos/mobs/Skadi.lua @@ -11,7 +11,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if IsMobDead(16928782) and IsMobDead(16928783) then + if limbus.isMobDead(16928782) and limbus.isMobDead(16928783) then GetNPCByID(16928768+19):setPos(200, -82, 495) GetNPCByID(16928768+19):setStatus(dsp.status.NORMAL) GetNPCByID(16928768+153):setPos(206, -82, 495) diff --git a/scripts/zones/Temenos/mobs/Telchines_Bard.lua b/scripts/zones/Temenos/mobs/Telchines_Bard.lua index adbcef8fd46..30904697e97 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Bard.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Bard.lua @@ -9,7 +9,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if IsMobDead(16928789) then + if limbus.isMobDead(16928789) then GetNPCByID(16928768+26):setPos(19, 80, 430) GetNPCByID(16928768+26):setStatus(dsp.status.NORMAL) GetNPCByID(16928768+160):setPos(16, 80, 430) diff --git a/scripts/zones/Temenos/mobs/Telchines_Monk.lua b/scripts/zones/Temenos/mobs/Telchines_Monk.lua index 3ee675eb90c..a6abf4591c7 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Monk.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Monk.lua @@ -10,7 +10,7 @@ function onMobEngaged(mob,target) end; function onMobDeath(mob, player, isKiller) - if (IsMobDead(16928788)==true and IsMobDead(16928789)==true and IsMobDead(16928792)==true and IsMobDead(16928793)==true ) then + if (limbus.isMobDead(16928788)==true and limbus.isMobDead(16928789)==true and limbus.isMobDead(16928792)==true and limbus.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); diff --git a/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua b/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua index b11fc7f1993..c08262ab9d8 100644 --- a/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua +++ b/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua @@ -9,7 +9,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if IsMobDead(16928788) then + if limbus.isMobDead(16928788) then GetNPCByID(16928768+26):setPos(19, 80, 430) GetNPCByID(16928768+26):setStatus(dsp.status.NORMAL) GetNPCByID(16928768+160):setPos(16, 80, 430) diff --git a/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua b/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua index 15b028cdb17..eb1e3bba355 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua @@ -5,7 +5,7 @@ require("scripts/globals/limbus") ----------------------------------- function onMobEngaged(mob, target) - if IsMobDead(16929046) then + if limbus.isMobDead(16929046) then mob:addStatusEffect(dsp.effect.REGAIN, 7, 3, 0) mob:addStatusEffect(dsp.effect.REGEN, 50, 3, 0) end @@ -15,7 +15,7 @@ function onMobDeath(mob, player, isKiller) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - if IsMobDead(16929046) and IsMobDead(16929048) and IsMobDead(16929049) and IsMobDead(16929050) and IsMobDead(16929051) then + if limbus.isMobDead(16929046) and limbus.isMobDead(16929048) and limbus.isMobDead(16929049) and limbus.isMobDead(16929050) and limbus.isMobDead(16929051) then GetNPCByID(16928768+71):setPos(mobX, mobY, mobZ) GetNPCByID(16928768+71):setStatus(dsp.status.NORMAL) GetNPCByID(16928770+471):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Temenos_Weapon.lua b/scripts/zones/Temenos/mobs/Temenos_Weapon.lua index 2a462ef676e..f10e0d89c36 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Weapon.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Weapon.lua @@ -5,7 +5,7 @@ require("scripts/globals/limbus") ----------------------------------- function onMobEngaged(mob, target) - if IsMobDead(16929048) then + if limbus.isMobDead(16929048) then mob:addStatusEffect(dsp.effect.REGAIN, 7, 3, 0) mob:addStatusEffect(dsp.effect.REGEN, 50, 3, 0) end @@ -15,7 +15,7 @@ function onMobDeath(mob, player, isKiller) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - if IsMobDead(16929046) and IsMobDead(16929047) and IsMobDead(16929048) and IsMobDead(16929050) and IsMobDead(16929051) then + if limbus.isMobDead(16929046) and limbus.isMobDead(16929047) and limbus.isMobDead(16929048) and limbus.isMobDead(16929050) and limbus.isMobDead(16929051) then GetNPCByID(16928768+71):setPos(mobX, mobY, mobZ) GetNPCByID(16928768+71):setStatus(dsp.status.NORMAL) GetNPCByID(16928770+471):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Thrym.lua b/scripts/zones/Temenos/mobs/Thrym.lua index 84aac53437b..e8df9ae7fcb 100644 --- a/scripts/zones/Temenos/mobs/Thrym.lua +++ b/scripts/zones/Temenos/mobs/Thrym.lua @@ -11,7 +11,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if IsMobDead(16928781) and IsMobDead(16928783) then + if limbus.isMobDead(16928781) and limbus.isMobDead(16928783) then GetNPCByID(16928768+19):setPos(200, -82, 495) GetNPCByID(16928768+19):setStatus(dsp.status.NORMAL) GetNPCByID(16928768+153):setPos(206, -82, 495) diff --git a/scripts/zones/Temenos/mobs/Thunder_Elemental.lua b/scripts/zones/Temenos/mobs/Thunder_Elemental.lua index 6b45330f0ed..328cb044f3e 100644 --- a/scripts/zones/Temenos/mobs/Thunder_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Thunder_Elemental.lua @@ -33,7 +33,7 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(16928768+68):setStatus(dsp.status.NORMAL); end , [16929037] = function (x) - if (IsMobDead(16929038)==false) then + if (limbus.isMobDead(16929038)==false) then DespawnMob(16929038); SpawnMob(16929044); end diff --git a/scripts/zones/Temenos/mobs/Water_Elemental.lua b/scripts/zones/Temenos/mobs/Water_Elemental.lua index 6d294615847..7fad57d57a1 100644 --- a/scripts/zones/Temenos/mobs/Water_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Water_Elemental.lua @@ -33,7 +33,7 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(16928768+69):setStatus(dsp.status.NORMAL); end , [16929038] = function (x) - if (IsMobDead(16929033)==false) then + if (limbus.isMobDead(16929033)==false) then DespawnMob(16929033); SpawnMob(16929039); end diff --git a/scripts/zones/Temenos/npcs/Armoury_Crate.lua b/scripts/zones/Temenos/npcs/Armoury_Crate.lua index e54ed7d24d9..b6212d8d93f 100644 --- a/scripts/zones/Temenos/npcs/Armoury_Crate.lua +++ b/scripts/zones/Temenos/npcs/Armoury_Crate.lua @@ -5,8 +5,8 @@ require("scripts/globals/titles") require("scripts/globals/quests") require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +local ID = require("scripts/zones/Temenos/IDs") local loot = { @@ -893,98 +893,60 @@ function onTrigger(player, npc) 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 ID = zones[37] + local cofferID = npc:getID() local X = npc:getXPos() local Y = npc:getYPos() local Z = npc:getZPos() + local cofferType = 0 + local instanceRegion = 0 + local addtime = 0 + local despawnOtherCoffer = false + local mimicID = 0 + local lootID = 0 - 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] + for coffer = 1, #ARMOURY_CRATE_TEMENOS, 2 do + if ARMOURY_CRATE_TEMENOS[coffer] == cofferID-ID.npc.COFFER_OFFSET then + cofferType = ARMOURY_CRATE_TEMENOS[coffer+1][1] + instanceRegion = ARMOURY_CRATE_TEMENOS[coffer+1][2] + addtime = ARMOURY_CRATE_TEMENOS[coffer+1][3] + despawnOtherCoffer = ARMOURY_CRATE_TEMENOS[coffer+1][4] + mimicID = ARMOURY_CRATE_TEMENOS[coffer+1][5] + lootID = ARMOURY_CRATE_TEMENOS[coffer+1][6] end end - local coffer = CofferID-16928768 + local coffer = cofferID-ID.npc.COFFER_OFFSET - if CofferType == cTIME then + if cofferType == cTIME then dsp.battlefield.ExtendTimeLimit(battlefield, addtime, ID.text.TIME_EXTENDED) - elseif CofferType == cITEM then - if InstanceRegion == Central_Temenos_4th_Floor and coffer ~= 79 then + 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} + 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) - players = battlefield:getPlayers() - if npc then - npc:setAnimation(90) - end - for i = 1, #loot[lootID], 1 do - local lootGroup = loot[lootID][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 + limbus.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) + for coffer = 1, #ARMOURY_CRATE_TEMENOS, 2 do + if ARMOURY_CRATE_TEMENOS[coffer+1][5] == mimicID then + GetNPCByID(ARMOURY_CRATE_TEMENOS[coffer]+ID.npc.COFFER_OFFSET):setStatus(dsp.status.DISAPPEAR) end end else battlefield:setLocalVar("loot", 1) battlefield:spawnLoot(npc) - players = battlefield:getPlayers() - if npc then - npc:setAnimation(90) - end - for i = 1, #loot[lootID], 1 do - local lootGroup = loot[lootID][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 + limbus.handleLootRolls(battlefield, loot[lootID], nil, npc) end if lootID == 136 or lootID == 143 or lootID == 150 or lootID == 151 or lootID == 152 or lootID == 153 or lootID == 154 @@ -992,89 +954,98 @@ function onTrigger(player, npc) battlefield:setLocalVar("cutsceneTimer", 10) battlefield:setLocalVar("lootSeen", 1) end - elseif CofferType == cRESTORE then + elseif cofferType == cRESTORE then dsp.battlefield.HealPlayers(battlefield) - elseif CofferType == cMIMIC then + elseif cofferType == cMIMIC then if coffer == 284 then - GetMobByID(16928844):setSpawn(X, Y, Z) - SpawnMob(16928844):setPos(X, Y, Z) - GetMobByID(16928844):updateClaim(player) + GetMobByID(ID.mob.TEMENOS_E_MOB[1]+4):setSpawn(X, Y, Z) + SpawnMob(ID.mob.TEMENOS_E_MOB[1]+4):setPos(X, Y, Z) + GetMobByID(ID.mob.TEMENOS_E_MOB[1]+4):updateClaim(player) elseif coffer == 321 then - GetMobByID(16928853):setSpawn(X, Y, Z) - SpawnMob(16928853):setPos(X, Y, Z) - GetMobByID(16928853):updateClaim(player) + GetMobByID(ID.mob.TEMENOS_E_MOB[2]+4):setSpawn(X, Y, Z) + SpawnMob(ID.mob.TEMENOS_E_MOB[2]+4):setPos(X, Y, Z) + GetMobByID(ID.mob.TEMENOS_E_MOB[2]+4):updateClaim(player) elseif coffer == 348 then - GetMobByID(16928862):setSpawn(X, Y, Z) - SpawnMob(16928862):setPos(X, Y, Z) - GetMobByID(16928862):updateClaim(player) + GetMobByID(ID.mob.TEMENOS_E_MOB[3]+4):setSpawn(X, Y, Z) + SpawnMob(ID.mob.TEMENOS_E_MOB[3]+4):setPos(X, Y, Z) + GetMobByID(ID.mob.TEMENOS_E_MOB[3]+4):updateClaim(player) elseif coffer == 360 then - GetMobByID(16928871):setSpawn(X, Y, Z) - SpawnMob(16928871):setPos(X, Y, Z) - GetMobByID(16928871):updateClaim(player) + GetMobByID(ID.mob.TEMENOS_E_MOB[4]+4):setSpawn(X, Y, Z) + SpawnMob(ID.mob.TEMENOS_E_MOB[4]+4):setPos(X, Y, Z) + GetMobByID(ID.mob.TEMENOS_E_MOB[4]+4):updateClaim(player) elseif coffer == 393 then - GetMobByID(16928880):setSpawn(X, Y, Z) - SpawnMob(16928880):setPos(X, Y, Z) - GetMobByID(16928880):updateClaim(player) + GetMobByID(ID.mob.TEMENOS_E_MOB[5]+4):setSpawn(X, Y, Z) + SpawnMob(ID.mob.TEMENOS_E_MOB[5]+4):setPos(X, Y, Z) + GetMobByID(ID.mob.TEMENOS_E_MOB[5]+4):updateClaim(player) elseif coffer == 127 then - GetMobByID(16928889):setSpawn(X, Y, Z) - SpawnMob(16928889):setPos(X, Y, Z) - GetMobByID(16928889):updateClaim(player) + GetMobByID(ID.mob.TEMENOS_E_MOB[6]+4):setSpawn(X, Y, Z) + SpawnMob(ID.mob.TEMENOS_E_MOB[6]+4):setPos(X, Y, Z) + GetMobByID(ID.mob.TEMENOS_E_MOB[6]+4):updateClaim(player) elseif coffer == 123 then - GetMobByID(16928894):setSpawn(X, Y, Z) - SpawnMob(16928894):setPos(X, Y, Z) - GetMobByID(16928894):updateClaim(player) + GetMobByID(ID.mob.TEMENOS_E_MOB[7]+4):setSpawn(X, Y, Z) + SpawnMob(ID.mob.TEMENOS_E_MOB[7]+4):setPos(X, Y, Z) + GetMobByID(ID.mob.TEMENOS_E_MOB[7]+4):updateClaim(player) end end - if DespawnOtherCoffer then - HideArmouryCrates(InstanceRegion, TEMENOS) - if InstanceRegion == Temenos_Eastern_Tower then --despawn mob of the current floor + if despawnOtherCoffer then + limbus.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 GetMobByID(16928840):isSpawned() then DespawnMob(16928840) end - if GetMobByID(16928841):isSpawned() then DespawnMob(16928841) end - if GetMobByID(16928842):isSpawned() then DespawnMob(16928842) end - if GetMobByID(16928843):isSpawned() then DespawnMob(16928843) end - GetNPCByID(16929228):setStatus(dsp.status.NORMAL) + for i = 0, 3 do + if GetMobByID(ID.mob.TEMENOS_E_MOB[1]+i):isSpawned() then + DespawnMob(ID.mob.TEMENOS_E_MOB[1]+i) + end + end + GetNPCByID(ID.npc.GATE_OFFSET+7):setStatus(dsp.status.NORMAL) elseif coffer == 174 or coffer == 216 or coffer == 321 or coffer == 45 then --floor 2 - if GetMobByID(16928849):isSpawned() then DespawnMob(16928849) end - if GetMobByID(16928850):isSpawned() then DespawnMob(16928850) end - if GetMobByID(16928851):isSpawned() then DespawnMob(16928851) end - if GetMobByID(16928852):isSpawned() then DespawnMob(16928843) end - GetNPCByID(16929229):setStatus(dsp.status.NORMAL) + for i = 0, 3 do + if GetMobByID(ID.mob.TEMENOS_E_MOB[2]+i):isSpawned() then + DespawnMob(ID.mob.TEMENOS_E_MOB[2]+i) + end + end + GetNPCByID(ID.npc.GATE_OFFSET+8):setStatus(dsp.status.NORMAL) elseif coffer == 181 or coffer == 217 or coffer == 348 or coffer == 46 then --floor 3 - if GetMobByID(16928858):isSpawned() then DespawnMob(16928858) end - if GetMobByID(16928859):isSpawned() then DespawnMob(16928859) end - if GetMobByID(16928860):isSpawned() then DespawnMob(16928860) end - if GetMobByID(16928861):isSpawned() then DespawnMob(16928861) end - GetNPCByID(16929230):setStatus(dsp.status.NORMAL) + for i = 0, 3 do + if GetMobByID(ID.mob.TEMENOS_E_MOB[3]+i):isSpawned() then + DespawnMob(ID.mob.TEMENOS_E_MOB[3]+i) + end + end + GetNPCByID(ID.npc.GATE_OFFSET+9):setStatus(dsp.status.NORMAL) elseif coffer == 182 or coffer == 236 or coffer == 360 or coffer == 47 then --floor 4 - if GetMobByID(16928867):isSpawned() then DespawnMob(16928867) end - if GetMobByID(16928868):isSpawned() then DespawnMob(16928868) end - if GetMobByID(16928869):isSpawned() then DespawnMob(16928869) end - if GetMobByID(16928870):isSpawned() then DespawnMob(16928870) end - GetNPCByID(16929231):setStatus(dsp.status.NORMAL) + for i = 0, 3 do + if GetMobByID(ID.mob.TEMENOS_E_MOB[4]+i):isSpawned() then + DespawnMob(ID.mob.TEMENOS_E_MOB[4]+i) + end + end + GetNPCByID(ID.npc.GATE_OFFSET+10):setStatus(dsp.status.NORMAL) elseif coffer == 183 or coffer == 261 or coffer == 393 or coffer == 68 then --floor 5 - if GetMobByID(16928876):isSpawned() then DespawnMob(16928876) end - if GetMobByID(16928877):isSpawned() then DespawnMob(16928877) end - if GetMobByID(16928878):isSpawned() then DespawnMob(16928878) end - if GetMobByID(16928879):isSpawned() then DespawnMob(16928879) end - GetNPCByID(16929232):setStatus(dsp.status.NORMAL) + for i = 0, 3 do + if GetMobByID(ID.mob.TEMENOS_E_MOB[5]+i):isSpawned() then + DespawnMob(ID.mob.TEMENOS_E_MOB[5]+i) + end + end + GetNPCByID(ID.npc.GATE_OFFSET+11):setStatus(dsp.status.NORMAL) elseif coffer == 277 or coffer == 190 or coffer == 127 or coffer == 69 then --floor 6 - if GetMobByID(16928885):isSpawned() then DespawnMob(16928885) end - if GetMobByID(16928886):isSpawned() then DespawnMob(16928886) end - if GetMobByID(16928887):isSpawned() then DespawnMob(16928887) end - if GetMobByID(16928888):isSpawned() then DespawnMob(16928888) end - GetNPCByID(16929233):setStatus(dsp.status.NORMAL) + for i = 0, 3 do + if GetMobByID(ID.mob.TEMENOS_E_MOB[6]+i):isSpawned() then + DespawnMob(ID.mob.TEMENOS_E_MOB[6]+i) + end + end + GetNPCByID(ID.npc.GATE_OFFSET+12):setStatus(dsp.status.NORMAL) elseif coffer == 70 or coffer == 123 then --floor 7 - if GetMobByID(16928892):isSpawned() then DespawnMob(16928892) end - if GetMobByID(16928893):isSpawned() then DespawnMob(16928893) end - GetNPCByID(16929234):setStatus(dsp.status.NORMAL) + for i = 0, 1 do + if GetMobByID(ID.mob.TEMENOS_E_MOB[7]+i):isSpawned() then + DespawnMob(ID.mob.TEMENOS_E_MOB[7]+i) + end + end + GetNPCByID(ID.npc.GATE_OFFSET+13):setStatus(dsp.status.NORMAL) end end end diff --git a/scripts/zones/Temenos/npcs/Particle_Gate.lua b/scripts/zones/Temenos/npcs/Particle_Gate.lua index 85b43ce1463..f0dec1454f9 100644 --- a/scripts/zones/Temenos/npcs/Particle_Gate.lua +++ b/scripts/zones/Temenos/npcs/Particle_Gate.lua @@ -3,45 +3,46 @@ -- NPC: Particle_Gate ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") function onTrade(player,npc,trade) end function onTrigger(player,npc) - local GateID = npc:getID() + local gateID = npc:getID() - switch (GateID): caseof + switch (gateID): caseof { -- 100-106 : Northern Tower - [GATE_OFFSET] = function() player:startEvent(100) end, - [GATE_OFFSET+1] = function() player:startEvent(101) end, - [GATE_OFFSET+2] = function() player:startEvent(102) end, - [GATE_OFFSET+3] = function() player:startEvent(103) end, - [GATE_OFFSET+4] = function() player:startEvent(104) end, - [GATE_OFFSET+5] = function() player:startEvent(105) end, - [GATE_OFFSET+6] = function() player:startEvent(106) end, + [ID.npc.GATE_OFFSET] = function() player:startEvent(100) end, + [ID.npc.GATE_OFFSET+1] = function() player:startEvent(101) end, + [ID.npc.GATE_OFFSET+2] = function() player:startEvent(102) end, + [ID.npc.GATE_OFFSET+3] = function() player:startEvent(103) end, + [ID.npc.GATE_OFFSET+4] = function() player:startEvent(104) end, + [ID.npc.GATE_OFFSET+5] = function() player:startEvent(105) end, + [ID.npc.GATE_OFFSET+6] = function() player:startEvent(106) end, -- 107-113 : Eastern Tower - [GATE_OFFSET+7] = function() player:startEvent(107) end, - [GATE_OFFSET+8] = function() player:startEvent(108) end, - [GATE_OFFSET+9] = function() player:startEvent(109) end, - [GATE_OFFSET+10] = function() player:startEvent(110) end, - [GATE_OFFSET+11] = function() player:startEvent(111) end, - [GATE_OFFSET+12] = function() player:startEvent(112) end, - [GATE_OFFSET+13] = function() player:startEvent(113) end, + [ID.npc.GATE_OFFSET+7] = function() player:startEvent(107) end, + [ID.npc.GATE_OFFSET+8] = function() player:startEvent(108) end, + [ID.npc.GATE_OFFSET+9] = function() player:startEvent(109) end, + [ID.npc.GATE_OFFSET+10] = function() player:startEvent(110) end, + [ID.npc.GATE_OFFSET+11] = function() player:startEvent(111) end, + [ID.npc.GATE_OFFSET+12] = function() player:startEvent(112) end, + [ID.npc.GATE_OFFSET+13] = function() player:startEvent(113) end, -- 114-120 Western Tower - [GATE_OFFSET+14] = function() player:startEvent(114) end, - [GATE_OFFSET+15] = function() player:startEvent(115) end, - [GATE_OFFSET+16] = function() player:startEvent(116) end, - [GATE_OFFSET+17] = function() player:startEvent(117) end, - [GATE_OFFSET+18] = function() player:startEvent(118) end, - [GATE_OFFSET+19] = function() player:startEvent(119) end, - [GATE_OFFSET+20] = function() player:startEvent(120) end, + [ID.npc.GATE_OFFSET+14] = function() player:startEvent(114) end, + [ID.npc.GATE_OFFSET+15] = function() player:startEvent(115) end, + [ID.npc.GATE_OFFSET+16] = function() player:startEvent(116) end, + [ID.npc.GATE_OFFSET+17] = function() player:startEvent(117) end, + [ID.npc.GATE_OFFSET+18] = function() player:startEvent(118) end, + [ID.npc.GATE_OFFSET+19] = function() player:startEvent(119) end, + [ID.npc.GATE_OFFSET+20] = function() player:startEvent(120) end, -- The rest of Temenos - [GATE_OFFSET+21] = function() player:startEvent(120) end, - [GATE_OFFSET+22] = function() player:startEvent(120) end, - [GATE_OFFSET+23] = function() player:startEvent(120) end, - [GATE_OFFSET+24] = function() player:startEvent(120) end, - [GATE_OFFSET+25] = function() player:startEvent(120) end, + [ID.npc.GATE_OFFSET+21] = function() player:startEvent(120) end, + [ID.npc.GATE_OFFSET+22] = function() player:startEvent(120) end, + [ID.npc.GATE_OFFSET+23] = function() player:startEvent(120) end, + [ID.npc.GATE_OFFSET+24] = function() player:startEvent(120) end, + [ID.npc.GATE_OFFSET+25] = function() player:startEvent(120) end, } end From 2a877fafa86b4a4beb857264f50078446227a73e Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Mon, 21 Oct 2019 13:44:32 -0400 Subject: [PATCH 05/33] Update renamed functions in Apollyon. Add entrance option to findBattlefields and EventTriggerBCNM to filter available battlefields instead of in EventUpdateBCNM (wasn't being used), adjusted ZM14 entrances to use this instead. --- scripts/globals/bcnm.lua | 31 ++-- .../zones/AlTaieu/npcs/Swirling_Vortex.lua | 26 +-- scripts/zones/Apollyon/IDs.lua | 3 + scripts/zones/Apollyon/Zone.lua | 96 +++++------ .../zones/Apollyon/bcnms/central_apollyon.lua | 2 +- scripts/zones/Apollyon/bcnms/cs_apollyon.lua | 4 +- scripts/zones/Apollyon/bcnms/ne_apollyon.lua | 2 +- scripts/zones/Apollyon/bcnms/nw_apollyon.lua | 2 +- scripts/zones/Apollyon/bcnms/se_apollyon.lua | 2 +- scripts/zones/Apollyon/bcnms/sw_apollyon.lua | 2 +- scripts/zones/Apollyon/mobs/Jidra.lua | 14 +- .../Apollyon/mobs/Troglodyte_Dhalmel.lua | 16 +- scripts/zones/Apollyon/npcs/Armoury_Crate.lua | 18 +-- .../zones/Apollyon/npcs/Radiant_Aureole.lua | 150 ++---------------- .../zones/LaLoff_Amphitheater/npcs/qm1_1.lua | 26 +-- .../zones/LaLoff_Amphitheater/npcs/qm1_2.lua | 26 +-- .../zones/LaLoff_Amphitheater/npcs/qm1_3.lua | 26 +-- .../zones/LaLoff_Amphitheater/npcs/qm1_4.lua | 26 +-- .../zones/LaLoff_Amphitheater/npcs/qm1_5.lua | 26 +-- 19 files changed, 183 insertions(+), 315 deletions(-) diff --git a/scripts/globals/bcnm.lua b/scripts/globals/bcnm.lua index 57ad2b6b849..0cfc051797e 100644 --- a/scripts/globals/bcnm.lua +++ b/scripts/globals/bcnm.lua @@ -12,7 +12,7 @@ require("scripts/globals/zone") --[[ [zoneId] = { - {bit, battlefieldIdInDatabase, requiredItemToTrade} + {bit, battlefieldIdInDatabase, requiredItemToTrade, entrance} }, --]] @@ -133,10 +133,10 @@ local battlefields = { }, [38] = { -- APOLLYON - { 0, 1291, 0}, -- SW Apollyon - { 1, 1290, 0}, -- NW Apollyon - { 2, 1293, 0}, -- SE Apollyon - { 3, 1292, 0}, -- NE Apollyon + { 0, 1291, 0, 1}, -- SW Apollyon + { 1, 1290, 0, 1}, -- NW Apollyon + { 2, 1293, 0, 2}, -- SE Apollyon + { 3, 1292, 0, 2}, -- NE Apollyon { 4, 1296, -2}, -- Central Apollyon (multiple items needed: 1909 1910 1987 1988) { 5, 1294, 2127}, -- CS Apollyon -- { 6, 1295, 0}, -- CS Apollyon II @@ -326,11 +326,11 @@ local battlefields = { }, [180] = { -- LALOFF AMPHITHEATER - { 0, 288, 0}, -- Ark Angels 1 (ZM14) - { 1, 289, 0}, -- Ark Angels 2 (ZM14) - { 2, 290, 0}, -- Ark Angels 3 (ZM14) - { 3, 291, 0}, -- Ark Angels 4 (ZM14) - { 4, 292, 0}, -- Ark Angels 5 (ZM14) + { 0, 288, 0, 1}, -- Ark Angels 1 (ZM14) + { 1, 289, 0, 2}, -- Ark Angels 2 (ZM14) + { 2, 290, 0, 3}, -- Ark Angels 3 (ZM14) + { 3, 291, 0, 4}, -- Ark Angels 4 (ZM14) + { 4, 292, 0, 5}, -- Ark Angels 5 (ZM14) { 5, 293, 1550}, -- Divine Might (ZM14) -- { 6, ?, 0}, -- *Ark Angels 1 (HTMBF) -- { 7, ?, 0}, -- *Ark Angels 2 (HTMBF) @@ -732,7 +732,7 @@ end -- which battlefields are valid for registrant? ----------------------------------------------- -function findBattlefields(player, npc, itemId) +function findBattlefields(player, npc, itemId, entrance) local mask = 0 local zbfs = battlefields[player:getZoneID()] if zbfs == nil then @@ -740,7 +740,9 @@ function findBattlefields(player, npc, itemId) end for k, v in pairs(zbfs) do 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])) + if v[4] == entrance then + mask = bit.bor(mask,math.pow(2,v[1])) + end end end return mask @@ -841,7 +843,7 @@ end -- onTrigger Action ----------------------------------------------- -function EventTriggerBCNM(player, npc) +function EventTriggerBCNM(player, npc, entrance) -- player is in battlefield and clicks to leave if player:getBattlefield() then @@ -850,7 +852,8 @@ 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) + local mask = findBattlefields(player, npc, 0, entrance) + -- mask = 268435455 -- uncomment to open menu with all possible battlefields local battlefieldId = getBattlefieldIdByBit(player, mask) if mask ~= 0 and not player:battlefieldAtCapacity(battlefieldId) then diff --git a/scripts/zones/AlTaieu/npcs/Swirling_Vortex.lua b/scripts/zones/AlTaieu/npcs/Swirling_Vortex.lua index c8fc1457bbb..3da85c82da5 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 + limbus.enter(player,APOLLYON_SE_NE) + elseif csid == 159 and option == 1 then + limbus.enter(player,APOLLYON_NW_SW) end -end; +end diff --git a/scripts/zones/Apollyon/IDs.lua b/scripts/zones/Apollyon/IDs.lua index eee232ed12d..dcc5a44ffbf 100644 --- a/scripts/zones/Apollyon/IDs.lua +++ b/scripts/zones/Apollyon/IDs.lua @@ -16,6 +16,7 @@ zones[dsp.zone.APOLLYON] = KEYITEM_OBTAINED = 6391, -- Obtained key item: . CONDITION_FOR_LIMBUS = 7055, -- You have clearance to enter Limbus, but cannot enter while you or a party member is engaged in battle. CHIP_TRADE = 7361, -- The light in the has grown dim. + TIME_EXTENDED = 7363, -- Your time in Limbus has been extended... CONQUEST_BASE = 7366, -- Tallying conquest results... }, mob = @@ -23,6 +24,8 @@ zones[dsp.zone.APOLLYON] = }, npc = { + WEST_ENTRANCE = 16933242, + COFFER_OFFSET = 16932864, }, } diff --git a/scripts/zones/Apollyon/Zone.lua b/scripts/zones/Apollyon/Zone.lua index edb02e2d8ec..49a30e56688 100644 --- a/scripts/zones/Apollyon/Zone.lua +++ b/scripts/zones/Apollyon/Zone.lua @@ -13,16 +13,6 @@ require("scripts/globals/zone") ----------------------------------- 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 @@ -72,21 +62,12 @@ end; ----------------------------------- 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 - - elseif ((player:getXPos() == 0) and (player:getYPos() == 0) and (player:getZPos() == 0)) then - player:setPos(643,0.1,-600); - end - -return cs; -end; + 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 @@ -136,53 +117,53 @@ function onRegionEnter(player,region) -- ///////////////////////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 + if (limbus.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 + if (limbus.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 + if (limbus.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 + if (limbus.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 + if (limbus.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 + if (limbus.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 + if (limbus.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 + if (limbus.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 + if ( (limbus.isMobDead(16933114)==true or limbus.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 + if (limbus.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 + if (limbus.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 + if (( limbus.isMobDead(16932896)==true or limbus.isMobDead(16932897)==true or limbus.isMobDead(16932898)==true or limbus.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 @@ -190,44 +171,41 @@ function onRegionEnter(player,region) -- ////////////////////////////////////////////////////////////////////////////////////////////////// -- ///////////////////// APOLLYON NW TELEPORTER //////////////////////////////// [33] = function (x) - if (IsMobDead(16932937)==true and player:getAnimation()==0) then player:startEvent(205);end --205 + if (limbus.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 + if (limbus.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 + if (limbus.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 + if (limbus.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 + if (limbus.isMobDead(16932985)==true and player:getAnimation()==0) then player:startEvent(202);end --202 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); + if (csid == 209 and option == 0 and GetServerVariable("[SW_Apollyon]MimicTrigger")==0) then + limbus.spawnArmouryCrates(SW_Apollyon) +--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 +end diff --git a/scripts/zones/Apollyon/bcnms/central_apollyon.lua b/scripts/zones/Apollyon/bcnms/central_apollyon.lua index e9139b03f0d..6b0cf55b7ab 100644 --- a/scripts/zones/Apollyon/bcnms/central_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/central_apollyon.lua @@ -14,7 +14,7 @@ end function onBattlefieldRegister(player,battlefield) SetServerVariable("[Central_Apollyon]UniqueID",os.time()); - HideArmouryCrates(Central_Apollyon,APOLLYON_SE_NE); + limbus.hideArmouryCrates(Central_Apollyon,APOLLYON_SE_NE); GetNPCByID(16933248):setAnimation(8); if (GetMobByID():isSpawned(16933125)) then DespawnMob(16933125);end end; diff --git a/scripts/zones/Apollyon/bcnms/cs_apollyon.lua b/scripts/zones/Apollyon/bcnms/cs_apollyon.lua index f90b8061d9d..b14d1db466e 100644 --- a/scripts/zones/Apollyon/bcnms/cs_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/cs_apollyon.lua @@ -15,12 +15,12 @@ end function onBattlefieldRegister(player,battlefield) SetServerVariable("[CS_Apollyon]UniqueID",os.time()); - HideArmouryCrates(CS_Apollyon,APOLLYON_SE_NE); + limbus.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(); + limbus.despawnCS(); end; -- Physically entering the BCNM via bcnmEnter(bcnmid) diff --git a/scripts/zones/Apollyon/bcnms/ne_apollyon.lua b/scripts/zones/Apollyon/bcnms/ne_apollyon.lua index 03ef7d5aa1c..1768a49e6ff 100644 --- a/scripts/zones/Apollyon/bcnms/ne_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/ne_apollyon.lua @@ -14,7 +14,7 @@ end function onBattlefieldRegister(player,battlefield) SetServerVariable("[NE_Apollyon]UniqueID",os.time()); - HideArmouryCrates(NE_Apollyon,APOLLYON_SE_NE); + limbus.hideArmouryCrates(NE_Apollyon,APOLLYON_SE_NE); SpawnCofferNEfloor1(); end; diff --git a/scripts/zones/Apollyon/bcnms/nw_apollyon.lua b/scripts/zones/Apollyon/bcnms/nw_apollyon.lua index afaa99d4861..cec11259d1b 100644 --- a/scripts/zones/Apollyon/bcnms/nw_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/nw_apollyon.lua @@ -14,7 +14,7 @@ end function onBattlefieldRegister(player,battlefield) SetServerVariable("[NW_Apollyon]UniqueID",os.time()); - HideArmouryCrates(NW_Apollyon,APOLLYON_NW_SW); + limbus.hideArmouryCrates(NW_Apollyon,APOLLYON_NW_SW); end; -- Physically entering the BCNM via bcnmEnter(bcnmid) diff --git a/scripts/zones/Apollyon/bcnms/se_apollyon.lua b/scripts/zones/Apollyon/bcnms/se_apollyon.lua index 588be2c23f7..7bba07ae71d 100644 --- a/scripts/zones/Apollyon/bcnms/se_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/se_apollyon.lua @@ -14,7 +14,7 @@ end function onBattlefieldRegister(player,battlefield) SetServerVariable("[SE_Apollyon]UniqueID",os.time()); - HideArmouryCrates(SE_Apollyon,APOLLYON_SE_NE); + limbus.hideArmouryCrates(SE_Apollyon,APOLLYON_SE_NE); end; -- Physically entering the BCNM via bcnmEnter(bcnmid) diff --git a/scripts/zones/Apollyon/bcnms/sw_apollyon.lua b/scripts/zones/Apollyon/bcnms/sw_apollyon.lua index 8b395025601..ea93070dab0 100644 --- a/scripts/zones/Apollyon/bcnms/sw_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/sw_apollyon.lua @@ -14,7 +14,7 @@ end function onBattlefieldRegister(player,battlefield) SetServerVariable("[SW_Apollyon]UniqueID",os.time()); - HideArmouryCrates(SW_Apollyon,APOLLYON_NW_SW); + limbus.hideArmouryCrates(SW_Apollyon,APOLLYON_NW_SW); SetServerVariable("[SW_Apollyon]MimicTrigger",0); SetServerVariable("[SW_Apollyon]ElementalTrigger",0); end; diff --git a/scripts/zones/Apollyon/mobs/Jidra.lua b/scripts/zones/Apollyon/mobs/Jidra.lua index d5192c43ba9..abbe5c3fe4f 100644 --- a/scripts/zones/Apollyon/mobs/Jidra.lua +++ b/scripts/zones/Apollyon/mobs/Jidra.lua @@ -41,13 +41,13 @@ function onMobDespawn(mob) 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 +limbus.isMobDead(16932882)==true and +limbus.isMobDead(16932883)==true and +limbus.isMobDead(16932884)==true and +limbus.isMobDead(16932885)==true and +limbus.isMobDead(16932886)==true and +limbus.isMobDead(16932887)==true and +limbus.isMobDead(16932888)==true ) then diff --git a/scripts/zones/Apollyon/mobs/Troglodyte_Dhalmel.lua b/scripts/zones/Apollyon/mobs/Troglodyte_Dhalmel.lua index 5ed1b0ab26e..dcd74f9f6c0 100644 --- a/scripts/zones/Apollyon/mobs/Troglodyte_Dhalmel.lua +++ b/scripts/zones/Apollyon/mobs/Troglodyte_Dhalmel.lua @@ -15,14 +15,14 @@ function onMobDespawn(mob) local mobZ = mob:getZPos(); - 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 + if (limbus.isMobDead(16933115)==true and + limbus.isMobDead(16933116)==true and + limbus.isMobDead(16933117)==true and + limbus.isMobDead(16933118)==true and + limbus.isMobDead(16933119)==true and + limbus.isMobDead(16933120)==true and + limbus.isMobDead(16933121)==true and + limbus.isMobDead(16933122)==true ) then -- item GetNPCByID(16932864+178):setPos(mobX,mobY,mobZ); diff --git a/scripts/zones/Apollyon/npcs/Armoury_Crate.lua b/scripts/zones/Apollyon/npcs/Armoury_Crate.lua index a91ce22f8e2..2db7abe9f17 100644 --- a/scripts/zones/Apollyon/npcs/Armoury_Crate.lua +++ b/scripts/zones/Apollyon/npcs/Armoury_Crate.lua @@ -708,14 +708,14 @@ function onTrigger(player, npc) 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] + for coffer = 1,#ARMOURY_CRATE_APOLLYON,2 do + if (ARMOURY_CRATE_APOLLYON[coffer]== CofferID-16932864) then + CofferType=ARMOURY_CRATE_APOLLYON[coffer+1][1] + InstanceRegion=ARMOURY_CRATE_APOLLYON[coffer+1][2] + addtime=ARMOURY_CRATE_APOLLYON[coffer+1][3] + DespawnOtherCoffer=ARMOURY_CRATE_APOLLYON[coffer+1][4] + MimicID=ARMOURY_CRATE_APOLLYON[coffer+1][5] + lootID=ARMOURY_CRATE_APOLLYON[coffer+1][6] end end @@ -764,7 +764,7 @@ function onTrigger(player, npc) end if (DespawnOtherCoffer==true) then - HideArmouryCrates(InstanceRegion,APOLLYON_SE_NE) + limbus.hideArmouryCrates(InstanceRegion,APOLLYON_SE_NE) end npc:setStatus(dsp.status.DISAPPEAR) diff --git a/scripts/zones/Apollyon/npcs/Radiant_Aureole.lua b/scripts/zones/Apollyon/npcs/Radiant_Aureole.lua index b36f91caf18..44d8feeb8c2 100644 --- a/scripts/zones/Apollyon/npcs/Radiant_Aureole.lua +++ b/scripts/zones/Apollyon/npcs/Radiant_Aureole.lua @@ -7,143 +7,27 @@ 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); +require("scripts/globals/bcnm") +function onTrade(player, npc, trade) + TradeBCNM(player, npc, trade) +end - 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 onTrigger(player, npc) + if npc:getID() == ID.npc.WEST_ENTRANCE then + EventTriggerBCNM(player, npc, 1) + else + EventTriggerBCNM(player, npc, 2) + end +end -function onEventFinish(player,csid,option) - if (csid == 32000) then +function onEventUpdate(player, csid, option, extras) + EventUpdateBCNM(player, csid, option, extras) +end - end -end; \ No newline at end of file +function onEventFinish(player, csid, option) + EventFinishBCNM(player, csid, option) +end \ No newline at end of file diff --git a/scripts/zones/LaLoff_Amphitheater/npcs/qm1_1.lua b/scripts/zones/LaLoff_Amphitheater/npcs/qm1_1.lua index 7325b3c0e5d..f994dd143b6 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, 1) +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..627bae6a867 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, 2) +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..86d24a7c0cc 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, 3) +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..da91e8d9069 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, 4) +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..ec3e3c508c3 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, 5) +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 From f21ed4711503cb36adc8bf5281382ea10b5ece63 Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Mon, 21 Oct 2019 21:52:57 -0400 Subject: [PATCH 06/33] Cleaned up all Temenos mob files. Moved IDs to ID file. Got rid of unnecessary chest and updated requirements in sql. Fixed issue in Temenos East allowing use of teleporter before all mobs are killed. --- scripts/zones/Temenos/IDs.lua | 28 +++++ .../bcnms/central_temenos_basement.lua | 1 - .../Temenos/mobs/Abyssdweller_Jhabdebb.lua | 52 ++++---- scripts/zones/Temenos/mobs/Air_Elemental.lua | 63 +++++----- scripts/zones/Temenos/mobs/Airi.lua | 15 ++- scripts/zones/Temenos/mobs/Beli.lua | 19 +-- .../Temenos/mobs/Cryptonberry_Abductor.lua | 3 +- .../Temenos/mobs/Cryptonberry_Charmer.lua | 15 +-- .../Temenos/mobs/Cryptonberry_Designator.lua | 3 +- .../Temenos/mobs/Cryptonberry_Skulker.lua | 15 +-- scripts/zones/Temenos/mobs/Dark_Elemental.lua | 40 +++--- .../zones/Temenos/mobs/Earth_Elemental.lua | 68 +++++----- .../zones/Temenos/mobs/Enhanced_Ahriman.lua | 15 ++- .../zones/Temenos/mobs/Enhanced_Beetle.lua | 9 +- .../zones/Temenos/mobs/Enhanced_Dragon.lua | 15 ++- .../zones/Temenos/mobs/Enhanced_Lizard.lua | 7 +- .../Temenos/mobs/Enhanced_Mandragora.lua | 9 +- scripts/zones/Temenos/mobs/Enhanced_Pugil.lua | 7 +- scripts/zones/Temenos/mobs/Enhanced_Slime.lua | 7 +- scripts/zones/Temenos/mobs/Enhanced_Tiger.lua | 7 +- .../zones/Temenos/mobs/Enhanced_Vulture.lua | 42 ++++--- scripts/zones/Temenos/mobs/Fire_Elemental.lua | 66 +++++----- scripts/zones/Temenos/mobs/Goblin_Fencer.lua | 18 +-- .../Temenos/mobs/Goblin_Slaughterman.lua | 19 +-- .../zones/Temenos/mobs/Goblin_Theurgist.lua | 18 +-- scripts/zones/Temenos/mobs/Goblin_Warlord.lua | 20 +-- scripts/zones/Temenos/mobs/Ice_Elemental.lua | 66 +++++----- scripts/zones/Temenos/mobs/Iruci.lua | 15 ++- scripts/zones/Temenos/mobs/Kari.lua | 3 +- .../zones/Temenos/mobs/Kindred_Black_Mage.lua | 3 +- .../Temenos/mobs/Kindred_Dark_Knight.lua | 15 +-- .../zones/Temenos/mobs/Kindred_Summoner.lua | 17 +-- .../zones/Temenos/mobs/Kindred_Warrior.lua | 15 +-- .../zones/Temenos/mobs/Light_Elemental.lua | 60 ++++----- scripts/zones/Temenos/mobs/Mystic_Avatar.lua | 117 +++++++++--------- .../zones/Temenos/mobs/Orichalcum_Quadav.lua | 52 ++++---- .../Temenos/mobs/Pee_Qoho_the_Python.lua | 52 ++++---- .../Temenos/mobs/Praetorian_Guard_CCCXI.lua | 19 +-- .../Temenos/mobs/Praetorian_Guard_CCXX.lua | 19 +-- .../Temenos/mobs/Praetorian_Guard_CXLVIII.lua | 19 +-- .../Temenos/mobs/Praetorian_Guard_LXXIII.lua | 19 +-- scripts/zones/Temenos/mobs/Proto-Ultima.lua | 45 +++---- scripts/zones/Temenos/mobs/Skadi.lua | 19 +-- scripts/zones/Temenos/mobs/Telchines_Bard.lua | 15 +-- .../zones/Temenos/mobs/Telchines_Dragoon.lua | 5 +- scripts/zones/Temenos/mobs/Telchines_Monk.lua | 28 +++-- .../Temenos/mobs/Telchines_White_Mage.lua | 15 +-- scripts/zones/Temenos/mobs/Temenos_Aern.lua | 90 ++++++++------ .../zones/Temenos/mobs/Temenos_Cleaner.lua | 15 ++- scripts/zones/Temenos/mobs/Temenos_Ghrah.lua | 3 +- scripts/zones/Temenos/mobs/Temenos_Weapon.lua | 15 ++- scripts/zones/Temenos/mobs/Thrym.lua | 19 +-- .../zones/Temenos/mobs/Thunder_Elemental.lua | 68 +++++----- .../zones/Temenos/mobs/Water_Elemental.lua | 68 +++++----- scripts/zones/Temenos/npcs/Armoury_Crate.lua | 47 ++++--- sql/bcnm_battlefield.sql | 66 +++++----- sql/bcnm_treasure_chests.sql | 1 - 57 files changed, 869 insertions(+), 722 deletions(-) diff --git a/scripts/zones/Temenos/IDs.lua b/scripts/zones/Temenos/IDs.lua index b6a1f790db3..d04fda57ab3 100644 --- a/scripts/zones/Temenos/IDs.lua +++ b/scripts/zones/Temenos/IDs.lua @@ -21,6 +21,26 @@ zones[dsp.zone.TEMENOS] = }, mob = { + TEMENOS_N_MOB = + { + 16928772, + 16928781, + 16928788, + 16928797, + 16928809, + 16928816, + 16928831, + }, + TEMENOS_W_MOB = + { + 16928898, + 16928910, + 16928922, + 16928931, + 16928943, + 16928952, + 16928959, + }, TEMENOS_E_MOB = { 16928840, @@ -31,6 +51,14 @@ zones[dsp.zone.TEMENOS] = 16928885, 16928892, }, + TEMENOS_C_MOB = + { + 16929046, + 16929030, + 16929005, + 16928966, + 16929053, + } }, npc = { diff --git a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua index 0d6151fde69..53fed7914d0 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua @@ -7,7 +7,6 @@ require("scripts/globals/battlefield") require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) - battlefield:setLocalVar("loot", 1) limbus.hideTemenosDoors(Central_Temenos_Basement) limbus.hideArmouryCrates(Central_Temenos_Basement, TEMENOS) end diff --git a/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua b/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua index 7d7edd5d95a..bed50e7c9b9 100644 --- a/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua +++ b/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua @@ -2,31 +2,35 @@ -- Area: Temenos -- Mob: Abyssdweller Jhabdebb ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- -function onMobEngaged(mob,target) - if (limbus.isMobDead(16929010)==true and limbus.isMobDead(16929011)==true and limbus.isMobDead(16929012)==true and - limbus.isMobDead(16929013)==true and limbus.isMobDead(16929014)==true and limbus.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 limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+5) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+6) and + limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+7) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+8) and + limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+9) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+10) + 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 (limbus.isMobDead(16929005)==true and limbus.isMobDead(16929006)==true and limbus.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 limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+1) and + limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+2) + then + GetNPCByID(ID.npc.COFFER_OFFSET+78):setPos(-280, -161, -440) + GetNPCByID(ID.npc.COFFER_OFFSET+78):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+473):setStatus(dsp.status.NORMAL) + end +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Air_Elemental.lua b/scripts/zones/Temenos/mobs/Air_Elemental.lua index 065e040e3a3..3fbcf93882a 100644 --- a/scripts/zones/Temenos/mobs/Air_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Air_Elemental.lua @@ -2,37 +2,38 @@ -- Area: Temenos E T -- Mob: Air Elemental ----------------------------------- -require("scripts/globals/limbus"); +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 ) - [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 (limbus.isMobDead(16929036)==false) then - DespawnMob(16929036); - SpawnMob(16929042); - end - end , - } -end; \ No newline at end of file + 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 ) + [ID.mob.TEMENOS_E_MOB[3]] = function () + GetNPCByID(ID.npc.COFFER_OFFSET+181):setPos(mobX,mobY,mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+181):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_E_MOB[3]+1] = function () + GetNPCByID(ID.npc.COFFER_OFFSET+217):setPos(mobX,mobY,mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+217):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_E_MOB[3]+2] = function () + GetNPCByID(ID.npc.COFFER_OFFSET+348):setPos(mobX,mobY,mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+348):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_E_MOB[3]+3] = function () + GetNPCByID(ID.npc.COFFER_OFFSET+46):setPos(mobX,mobY,mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+46):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_C_MOB[2]+5] = function () + if not limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+6) then + DespawnMob(ID.mob.TEMENOS_C_MOB[2]+6) + SpawnMob(ID.mob.TEMENOS_C_MOB[2]+12) + 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 7c2cff17b16..0da7ffdd344 100644 --- a/scripts/zones/Temenos/mobs/Airi.lua +++ b/scripts/zones/Temenos/mobs/Airi.lua @@ -3,9 +3,11 @@ -- Mob: Airi ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- + function onMobEngaged(mob, target) - if limbus.isMobDead(16929047) then + if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+1) then mob:addStatusEffect(dsp.effect.REGAIN, 7, 3, 0) mob:addStatusEffect(dsp.effect.REGEN, 50, 3, 0) end @@ -15,9 +17,12 @@ function onMobDeath(mob, player, isKiller) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - if limbus.isMobDead(16929047) and limbus.isMobDead(16929048) and limbus.isMobDead(16929049) and limbus.isMobDead(16929050) and limbus.isMobDead(16929051) then - GetNPCByID(16928768+71):setPos(mobX, mobY, mobZ) - GetNPCByID(16928768+71):setStatus(dsp.status.NORMAL) - GetNPCByID(16928770+471):setStatus(dsp.status.NORMAL) + if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+1) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+2) and + limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+3) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+4) and + limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+5) + then + GetNPCByID(ID.npc.COFFER_OFFSET+71):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+71):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Temenos/mobs/Beli.lua b/scripts/zones/Temenos/mobs/Beli.lua index bc2826057f8..80d19952f19 100644 --- a/scripts/zones/Temenos/mobs/Beli.lua +++ b/scripts/zones/Temenos/mobs/Beli.lua @@ -3,20 +3,21 @@ -- Mob: Beli ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) - GetMobByID(16928781):updateEnmity(target) - GetMobByID(16928782):updateEnmity(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 limbus.isMobDead(16928781) and limbus.isMobDead(16928782) 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) + if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[2]) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[2]+1) then + GetNPCByID(ID.npc.COFFER_OFFSET+19):setPos(200, -82, 495) + GetNPCByID(ID.npc.COFFER_OFFSET+19):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+153):setPos(206, -82, 495) + GetNPCByID(ID.npc.COFFER_OFFSET+153):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+210):setPos(196, -82, 495) + GetNPCByID(ID.npc.COFFER_OFFSET+210):setStatus(dsp.status.NORMAL) 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 index 49066334e8e..e99d3e4e558 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua @@ -3,11 +3,12 @@ -- Mob: Cryptonberry Charmer ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - GetNPCByID(GATE_OFFSET+5):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+5):setStatus(dsp.status.NORMAL) end diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua index 23b51b03587..7fe8876eb19 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua @@ -3,18 +3,19 @@ -- Mob: Cryptonberry Charmer ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(16928817) 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) + if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[6]+1) then + GetNPCByID(ID.npc.COFFER_OFFSET+38):setPos(-412, -78, 426) + GetNPCByID(ID.npc.COFFER_OFFSET+38):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+172):setPos(-415, -78, 427) + GetNPCByID(ID.npc.COFFER_OFFSET+172):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+214):setPos(-412, -78, 422) + GetNPCByID(ID.npc.COFFER_OFFSET+214):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua index 49066334e8e..e99d3e4e558 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua @@ -3,11 +3,12 @@ -- Mob: Cryptonberry Charmer ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - GetNPCByID(GATE_OFFSET+5):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+5):setStatus(dsp.status.NORMAL) end diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua index bcbb2623f80..02a4e09a4e9 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua @@ -3,18 +3,19 @@ -- Mob: Cryptonberry Skulker ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(16928816) 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) + if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[6]) then + GetNPCByID(ID.npc.COFFER_OFFSET+38):setPos(-412, -78, 426) + GetNPCByID(ID.npc.COFFER_OFFSET+38):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+172):setPos(-415, -78, 427) + GetNPCByID(ID.npc.COFFER_OFFSET+172):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+214):setPos(-412, -78, 422) + GetNPCByID(ID.npc.COFFER_OFFSET+214):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Temenos/mobs/Dark_Elemental.lua b/scripts/zones/Temenos/mobs/Dark_Elemental.lua index df7667a5940..46555c9cf2b 100644 --- a/scripts/zones/Temenos/mobs/Dark_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Dark_Elemental.lua @@ -2,27 +2,27 @@ -- Area: Temenos E T -- Mob: Dark Elemental ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- -function onMobEngaged(mob,target) - -end; +function onMobEngaged(mob, target) +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 ) - [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 + 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 ) + [ID.mob.TEMENOS_E_MOB[7]] = function () + GetNPCByID(ID.npc.COFFER_OFFSET+70):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+70):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_E_MOB[7]+1] = function () + GetNPCByID(ID.npc.COFFER_OFFSET+123):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+123):setStatus(dsp.status.NORMAL) + 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 58fc15ad35f..baf84290f32 100644 --- a/scripts/zones/Temenos/mobs/Earth_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Earth_Elemental.lua @@ -2,41 +2,41 @@ -- Area: Temenos E T -- Mob: Earth Elemental ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- -function onMobEngaged(mob,target) - -end; +function onMobEngaged(mob, target) +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 ) - [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 (limbus.isMobDead(16929037)==false) then - DespawnMob(16929037); - SpawnMob(16929043); - end - end , - } -end; \ No newline at end of file + 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 ) + [ID.mob.TEMENOS_E_MOB[4]] = function () + GetNPCByID(ID.npc.COFFER_OFFSET+182):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+182):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_E_MOB[3]+1] = function () + GetNPCByID(ID.npc.COFFER_OFFSET+236):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+236):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_E_MOB[3]+2] = function () + GetNPCByID(ID.npc.COFFER_OFFSET+360):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+360):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_E_MOB[3]+3] = function () + GetNPCByID(ID.npc.COFFER_OFFSET+47):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+47):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_C_MOB[2]+6] = function () + if not limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+7) then + DespawnMob(ID.mob.TEMENOS_C_MOB[2]+7) + SpawnMob(ID.mob.TEMENOS_C_MOB[2]+13) + 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 93e81641db1..752aa933b42 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Ahriman.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Ahriman.lua @@ -3,9 +3,11 @@ -- Mob: Enhanced Ahriman ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- + function onMobEngaged(mob, target) - if limbus.isMobDead(16929050) then + if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+4) then mob:addStatusEffect(dsp.effect.REGAIN, 7, 3, 0) mob:addStatusEffect(dsp.effect.REGEN, 50, 3, 0) end @@ -15,9 +17,12 @@ function onMobDeath(mob, player, isKiller) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - if limbus.isMobDead(16929046) and limbus.isMobDead(16929047) and limbus.isMobDead(16929048) and limbus.isMobDead(16929049) and limbus.isMobDead(16929050) then - GetNPCByID(16928768+71):setPos(mobX, mobY, mobZ) - GetNPCByID(16928768+71):setStatus(dsp.status.NORMAL) - GetNPCByID(16928770+471):setStatus(dsp.status.NORMAL) + if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+1) and + limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+2) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+3) and + limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+4) + then + GetNPCByID(ID.npc.COFFER_OFFSET+71):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+71):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua b/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua index 6ba254cd8e5..3e2042fdeea 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua @@ -3,19 +3,20 @@ -- Mob: Enhanced Beetle ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) -local cofferID = limbus.randomCoffer(3, Temenos_Western_Tower) + local cofferID = limbus.randomCoffer(3, Temenos_Western_Tower) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - GetNPCByID(16929237):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+16):setStatus(dsp.status.NORMAL) if cofferID ~= 0 then - GetNPCByID(16928768+cofferID):setPos(mobX, mobY, mobZ) - GetNPCByID(16928768+cofferID):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua b/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua index 33ce4a1d0f5..d217b8e19ee 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua @@ -3,9 +3,11 @@ -- Mob: Enhanced Dragon ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- + function onMobEngaged(mob, target) - if limbus.isMobDead(16929051) then + if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+5) then mob:addStatusEffect(dsp.effect.REGAIN, 7, 3, 0) mob:addStatusEffect(dsp.effect.REGEN, 50, 3, 0) end @@ -15,9 +17,12 @@ function onMobDeath(mob, player, isKiller) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - if limbus.isMobDead(16929046) and limbus.isMobDead(16929047) and limbus.isMobDead(16929048) and limbus.isMobDead(16929049) and limbus.isMobDead(16929051) then - GetNPCByID(16928768+71):setPos(mobX, mobY, mobZ) - GetNPCByID(16928768+71):setStatus(dsp.status.NORMAL) - GetNPCByID(16928770+471):setStatus(dsp.status.NORMAL) + if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+1) and + limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+2) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+3) and + limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+5) + then + GetNPCByID(ID.npc.COFFER_OFFSET+71):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+71):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua b/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua index f2227b34f40..7ce26d38e83 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua @@ -3,6 +3,7 @@ -- Mob: Enhanced Lizard ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) @@ -13,9 +14,9 @@ local cofferID = limbus.randomCoffer(4, Temenos_Western_Tower) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - GetNPCByID(16929238):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+17):setStatus(dsp.status.NORMAL) if cofferID ~= 0 then - GetNPCByID(16928768+cofferID):setPos(mobX, mobY, mobZ) - GetNPCByID(16928768+cofferID):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua b/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua index 020707279e7..aff65d7b23e 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua @@ -3,19 +3,20 @@ -- Mob: Enhanced Mandragora ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) -local cofferID = limbus.randomCoffer(2, Temenos_Western_Tower) + local cofferID = limbus.randomCoffer(2, Temenos_Western_Tower) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - GetNPCByID(16929236):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+15):setStatus(dsp.status.NORMAL) if cofferID ~= 0 then - GetNPCByID(16928768+cofferID):setPos(mobX, mobY, mobZ) - GetNPCByID(16928768+cofferID):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua b/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua index aa533f06fe2..758657625b5 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua @@ -3,6 +3,7 @@ -- Mob: Enhanced Pugil ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) @@ -13,9 +14,9 @@ local cofferID = limbus.randomCoffer(6, Temenos_Western_Tower) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - GetNPCByID(16929240):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+19):setStatus(dsp.status.NORMAL) if cofferID ~= 0 then - GetNPCByID(16928768+cofferID):setPos(mobX, mobY, mobZ) - GetNPCByID(16928768+cofferID):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Slime.lua b/scripts/zones/Temenos/mobs/Enhanced_Slime.lua index ed0ef9f7d1d..77f78b57e55 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Slime.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Slime.lua @@ -3,6 +3,7 @@ -- Mob: Enhanced Slime ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) @@ -13,9 +14,9 @@ local cofferID = limbus.randomCoffer(5, Temenos_Western_Tower) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - GetNPCByID(16929239):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+18):setStatus(dsp.status.NORMAL) if cofferID ~= 0 then - GetNPCByID(16928768+cofferID):setPos(mobX, mobY, mobZ) - GetNPCByID(16928768+cofferID):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua b/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua index e5e6b310c99..482d4116dec 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua @@ -3,6 +3,7 @@ -- Mob: Enhanced Tiger ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) @@ -13,9 +14,9 @@ local cofferID = limbus.randomCoffer(1, Temenos_Western_Tower) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - GetNPCByID(16929235):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+14):setStatus(dsp.status.NORMAL) if cofferID ~= 0 then - GetNPCByID(16928768+cofferID):setPos(mobX, mobY, mobZ) - GetNPCByID(16928768+cofferID):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua b/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua index 914cbc975b7..50f2fc42af3 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua @@ -2,27 +2,29 @@ -- Area: Temenos W T -- Mob: Enhanced Vulture ----------------------------------- -require("scripts/globals/limbus"); +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 (limbus.isMobDead(16928959)==true and limbus.isMobDead(16928960)==true and limbus.isMobDead(16928961)==true - and limbus.isMobDead(16928962)==true and limbus.isMobDead(16928963)==true and limbus.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; + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + if limbus.isMobDead(ID.mob.TEMENOS_W_MOB[7]) and limbus.isMobDead(ID.mob.TEMENOS_W_MOB[7]+1) and + limbus.isMobDead(ID.mob.TEMENOS_W_MOB[7]+2) and limbus.isMobDead(ID.mob.TEMENOS_W_MOB[7]+3) and + limbus.isMobDead(ID.mob.TEMENOS_W_MOB[7]+4) and limbus.isMobDead(ID.mob.TEMENOS_W_MOB[7]+5) + then + GetNPCByID(ID.npc.COFFER_OFFSET+17):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+17):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+19):setStatus(dsp.status.NORMAL) + end +end diff --git a/scripts/zones/Temenos/mobs/Fire_Elemental.lua b/scripts/zones/Temenos/mobs/Fire_Elemental.lua index 4afbbe1e076..44c776cbbcf 100644 --- a/scripts/zones/Temenos/mobs/Fire_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Fire_Elemental.lua @@ -2,40 +2,40 @@ -- Area: Temenos E T -- Mob: Fire Elemental ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- -function onMobEngaged(mob,target) - -end; +function onMobEngaged(mob, target) +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 { - [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 (limbus.isMobDead(16929034)==false) then -- ice - DespawnMob(16929034); - SpawnMob(16929040); - end - end , - } -end; \ No newline at end of file + local mobID = mob:getID() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + switch (mobID): caseof { + [ID.mob.TEMENOS_E_MOB[1]] = function() + GetNPCByID(ID.npc.COFFER_OFFSET+173):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+173):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_E_MOB[1]+1] = function() + GetNPCByID(ID.npc.COFFER_OFFSET+215):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+215):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_E_MOB[1]+2] = function() + GetNPCByID(ID.npc.COFFER_OFFSET+284):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+284):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_E_MOB[1]+3] = function() + GetNPCByID(ID.npc.COFFER_OFFSET+40):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+40):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_C_MOB[2]+3] = function() + if not limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+4) then -- ice + DespawnMob(ID.mob.TEMENOS_C_MOB[2]+4) + SpawnMob(ID.mob.TEMENOS_C_MOB[2]+10) + end + end, + } +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Goblin_Fencer.lua b/scripts/zones/Temenos/mobs/Goblin_Fencer.lua index 2ebeaef6197..67945bd84ef 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Fencer.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Fencer.lua @@ -3,18 +3,22 @@ -- Mob: Goblin Fencer ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) - GetMobByID(16928831):updateEnmity(target) - GetMobByID(16928833):updateEnmity(target) - GetMobByID(16928835):updateEnmity(target) + GetMobByID(ID.npc.TEMENOS_N_MOB[7]):updateEnmity(target) + GetMobByID(ID.npc.TEMENOS_N_MOB[7]+2):updateEnmity(target) + GetMobByID(ID.npc.TEMENOS_N_MOB[7]+4):updateEnmity(target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(16928831) and limbus.isMobDead(16928832) and limbus.isMobDead(16928833) and limbus.isMobDead(16928834) and limbus.isMobDead(16928835) then - GetNPCByID(16928768+39):setPos(-599, 85, 438) - GetNPCByID(16928768+39):setStatus(dsp.status.NORMAL) - GetNPCByID(GATE_OFFSET+6):setStatus(dsp.status.NORMAL) + if limbus.isMobDead(ID.npc.TEMENOS_N_MOB[7]) and limbus.isMobDead(ID.npc.TEMENOS_N_MOB[7]+1) and + limbus.isMobDead(ID.npc.TEMENOS_N_MOB[7]+2) and limbus.isMobDead(ID.npc.TEMENOS_N_MOB[7]+3) and + limbus.isMobDead(ID.npc.TEMENOS_N_MOB[7]+4) + then + GetNPCByID(ID.npc.COFFER_OFFSET+39):setPos(-599, 85, 438) + GetNPCByID(ID.npc.COFFER_OFFSET+39):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+6):setStatus(dsp.status.NORMAL) 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 b1f00ca4c20..670b7e48f7e 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Slaughterman.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Slaughterman.lua @@ -3,6 +3,7 @@ -- Mob: Goblin Slaughterman ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobDeath(mob, player, isKiller) @@ -11,14 +12,14 @@ function onMobDeath(mob, player, isKiller) local mobY = mob:getYPos() local mobZ = mob:getZPos() - if mobID == 16928773 then - GetNPCByID(16928768+18):setPos(330, 70, 468) - GetNPCByID(16928768+18):setStatus(dsp.status.NORMAL) - GetNPCByID(16928768+152):setPos(328, 70, 464) - GetNPCByID(16928768+152):setStatus(dsp.status.NORMAL) - GetNPCByID(16928768+209):setPos(332, 70, 470) - GetNPCByID(16928768+209):setStatus(dsp.status.NORMAL) - elseif mobID ==16928772 then - GetNPCByID(GATE_OFFSET):setStatus(dsp.status.NORMAL) + if mobID == ID.mob.TEMENOS_N_MOB[1]+1 then + GetNPCByID(ID.npc.COFFER_OFFSET+18):setPos(330, 70, 468) + GetNPCByID(ID.npc.COFFER_OFFSET+18):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+152):setPos(328, 70, 464) + GetNPCByID(ID.npc.COFFER_OFFSET+152):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+209):setPos(332, 70, 470) + GetNPCByID(ID.npc.COFFER_OFFSET+209):setStatus(dsp.status.NORMAL) + elseif mobID == ID.mob.TEMENOS_N_MOB[1] then + GetNPCByID(ID.npc.GATE_OFFSET):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua b/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua index 9c1a52d48af..742ab45c5fe 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua @@ -3,18 +3,22 @@ -- Mob: Goblin Theurgist ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) - GetMobByID(16928831):updateEnmity(target) - GetMobByID(16928832):updateEnmity(target) - GetMobByID(16928834):updateEnmity(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 limbus.isMobDead(16928831) and limbus.isMobDead(16928832) and limbus.isMobDead(16928833) and limbus.isMobDead(16928834) and limbus.isMobDead(16928835) then - GetNPCByID(16928768+39):setPos(-599, 85, 438) - GetNPCByID(16928768+39):setStatus(dsp.status.NORMAL) - GetNPCByID(GATE_OFFSET+6):setStatus(dsp.status.NORMAL) + if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]+1) and + limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]+2) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]+3) and + limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]+4) + then + GetNPCByID(ID.npc.COFFER_OFFSET+39):setPos(-599, 85, 438) + GetNPCByID(ID.npc.COFFER_OFFSET+39):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+6):setStatus(dsp.status.NORMAL) 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 8c9ed5f8309..76200d9553a 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Warlord.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Warlord.lua @@ -3,19 +3,23 @@ -- Mob: Goblin Warlord ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) - GetMobByID(16928831):updateEnmity(target) - GetMobByID(16928832):updateEnmity(target) - GetMobByID(16928833):updateEnmity(target) - GetMobByID(16928834):updateEnmity(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]+2):updateEnmity(target) + GetMobByID(ID.mob.TEMENOS_N_MOB[7]+3):updateEnmity(target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(16928831) and limbus.isMobDead(16928832) and limbus.isMobDead(16928833) and limbus.isMobDead(16928834) and limbus.isMobDead(16928835) then - GetNPCByID(16928768+39):setPos(-599, 85, 438) - GetNPCByID(16928768+39):setStatus(dsp.status.NORMAL) - GetNPCByID(GATE_OFFSET+6):setStatus(dsp.status.NORMAL) + if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]+1) and + limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]+2) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]+2) and + limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]+4) + then + GetNPCByID(ID.npc.COFFER_OFFSET+39):setPos(-599, 85, 438) + GetNPCByID(ID.npc.COFFER_OFFSET+39):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+6):setStatus(dsp.status.NORMAL) end end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Ice_Elemental.lua b/scripts/zones/Temenos/mobs/Ice_Elemental.lua index 1eba29f5dc2..cf0f7906fde 100644 --- a/scripts/zones/Temenos/mobs/Ice_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Ice_Elemental.lua @@ -2,43 +2,41 @@ -- Area: Temenos E T -- Mob: Ice Elemental ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- -function onMobEngaged(mob,target) - -end; +function onMobEngaged(mob, target) +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 { + 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 (limbus.isMobDead(16929035)==false) then -- wind - DespawnMob(16929035); - SpawnMob(16929041); - end - end , - - + [ID.mob.TEMENOS_E_MOB[2]] = function() + GetNPCByID(ID.npc.COFFER_OFFSET+174):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+174):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_E_MOB[2]+1] = function() + GetNPCByID(ID.npc.COFFER_OFFSET+216):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+216):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_E_MOB[2]+2] = function() + GetNPCByID(ID.npc.COFFER_OFFSET+321):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+321):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_E_MOB[2]+3] = function() + GetNPCByID(ID.npc.COFFER_OFFSET+45):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+45):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_C_MOB[2]+4] = function() + if not limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+5) then -- wind + DespawnMob(ID.mob.TEMENOS_C_MOB[2]+5) + SpawnMob(ID.mob.TEMENOS_C_MOB[2]+11) + end + end, } -end; \ No newline at end of file +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Iruci.lua b/scripts/zones/Temenos/mobs/Iruci.lua index 3ad8fe38f5a..58476c897b0 100644 --- a/scripts/zones/Temenos/mobs/Iruci.lua +++ b/scripts/zones/Temenos/mobs/Iruci.lua @@ -3,9 +3,11 @@ -- Mob: Iruci ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- + function onMobEngaged(mob, target) - if limbus.isMobDead(16929049) then + if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+3) then mob:addStatusEffect(dsp.effect.REGAIN, 7, 3, 0) mob:addStatusEffect(dsp.effect.REGEN, 50, 3, 0) end @@ -15,9 +17,12 @@ function onMobDeath(mob, player, isKiller) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - if limbus.isMobDead(16929046) and limbus.isMobDead(16929047) and limbus.isMobDead(16929049) and limbus.isMobDead(16929050) and limbus.isMobDead(16929051) then - GetNPCByID(16928768+71):setPos(mobX, mobY, mobZ) - GetNPCByID(16928768+71):setStatus(dsp.status.NORMAL) - GetNPCByID(16928770+471):setStatus(dsp.status.NORMAL) + if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+1) and + limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+3) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+4) and + limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+5) + then + GetNPCByID(ID.npc.COFFER_OFFSET+71):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+71):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Temenos/mobs/Kari.lua b/scripts/zones/Temenos/mobs/Kari.lua index d8e0eeec5ca..c3e76ae26d6 100644 --- a/scripts/zones/Temenos/mobs/Kari.lua +++ b/scripts/zones/Temenos/mobs/Kari.lua @@ -3,8 +3,9 @@ -- Mob: Kari ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobDeath(mob, player, isKiller) - GetNPCByID(GATE_OFFSET+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+1):setStatus(dsp.status.NORMAL) end diff --git a/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua b/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua index 9ed2ee6a8e2..bb1e63578e3 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua @@ -3,11 +3,12 @@ -- Mob: Kindred Black Mage ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - GetNPCByID(GATE_OFFSET+3):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+3):setStatus(dsp.status.NORMAL) end diff --git a/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua b/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua index a319895e2b5..c1f22365dc1 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua @@ -3,18 +3,19 @@ -- Mob: Kindred Dark Knight ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(16928797) and limbus.isMobDead(16928799) 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) + if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[4]) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[4]+2) then + GetNPCByID(ID.npc.COFFER_OFFSET+27):setPos(-120, -80, 429) + GetNPCByID(ID.npc.COFFER_OFFSET+27):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+161):setPos(-123, -80, 429) + GetNPCByID(ID.npc.COFFER_OFFSET+161):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+212):setPos(-117, -80, 429) + GetNPCByID(ID.npc.COFFER_OFFSET+212):setStatus(dsp.status.NORMAL) 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 3b414e3d5ef..45928827f94 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Summoner.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Summoner.lua @@ -3,19 +3,20 @@ -- Mob: Kindred Summoner ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob,target) - GetMobByID(16928800):updateEnmity(target) + GetMobByID(ID.mob.TEMENOS_N_MOB[4]+3):updateEnmity(target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(16928797) and limbus.isMobDead(16928798) 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) + if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[4]) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[4]+1) then + GetNPCByID(ID.npc.COFFER_OFFSET+27):setPos(-120, -80, 429) + GetNPCByID(ID.npc.COFFER_OFFSET+27):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+161):setPos(-123, -80, 429) + GetNPCByID(ID.npc.COFFER_OFFSET+161):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+212):setPos(-117, -80, 429) + GetNPCByID(ID.npc.COFFER_OFFSET+212):setStatus(dsp.status.NORMAL) 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 621f4abde8e..265f8c3935c 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Warrior.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Warrior.lua @@ -3,18 +3,19 @@ -- Mob: Kindred Warrior ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(16928798) and limbus.isMobDead(16928799) 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) + if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[4]+1) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[4]+2) then + GetNPCByID(ID.npc.COFFER_OFFSET+27):setPos(-120, -80, 429) + GetNPCByID(ID.npc.COFFER_OFFSET+27):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+161):setPos(-123, -80, 429) + GetNPCByID(ID.npc.COFFER_OFFSET+161):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+212):setPos(-117, -80, 429) + GetNPCByID(ID.npc.COFFER_OFFSET+212):setStatus(dsp.status.NORMAL) end 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 86b73ceb7b5..ebb4346080c 100644 --- a/scripts/zones/Temenos/mobs/Light_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Light_Elemental.lua @@ -2,37 +2,37 @@ -- Area: Temenos E T -- Mob: Light Elemental ----------------------------------- -require("scripts/globals/limbus"); +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 (limbus.isMobDead(16929030)==true and limbus.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 (limbus.isMobDead(16929030)==true and limbus.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 + local mobID = mob:getID() + switch (mobID): caseof { + [ID.mob.TEMENOS_C_MOB[2]+1] = function() + if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+2) then + GetNPCByID(ID.npc.COFFER_OFFSET+77):setPos(0.5, -6, -459) + GetNPCByID(ID.npc.COFFER_OFFSET+77):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+19):setStatus(dsp.status.NORMAL) + end + end, + [ID.mob.TEMENOS_C_MOB[2]+2] = function() + if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+1) then + GetNPCByID(ID.npc.COFFER_OFFSET+77):setPos(0.5, -6, -459) + GetNPCByID(ID.npc.COFFER_OFFSET+77):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+19):setStatus(dsp.status.NORMAL) + 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 3360f8156fb..92ef9edfcf7 100644 --- a/scripts/zones/Temenos/mobs/Mystic_Avatar.lua +++ b/scripts/zones/Temenos/mobs/Mystic_Avatar.lua @@ -2,87 +2,88 @@ -- Area: Temenos E T -- Mob: Mystic Avatar ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- -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 (limbus.isMobDead(16929033)==true and limbus.isMobDead(16929039)==true) then - mob:setMod(dsp.mod.FIREDEF,-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) + if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+3) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+9) then + mob:setMod(dsp.mod.FIREDEF, -128) else - mob:setMod(dsp.mod.FIREDEF,256); + mob:setMod(dsp.mod.FIREDEF, 256) end - if (limbus.isMobDead(16929034)==true and limbus.isMobDead(16929040)==true) then - mob:setMod(dsp.mod.ICEDEF,-128); + if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+4) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+11) then + mob:setMod(dsp.mod.ICEDEF, -128) else - mob:setMod(dsp.mod.ICEDEF,256); + mob:setMod(dsp.mod.ICEDEF, 256) end - if (limbus.isMobDead(16929035)==true and limbus.isMobDead(16929041)==true) then - mob:setMod(dsp.mod.WINDDEF,-128); + if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+5) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+12) then + mob:setMod(dsp.mod.WINDDEF, -128) else - mob:setMod(dsp.mod.WINDDEF,256); + mob:setMod(dsp.mod.WINDDEF, 256) end - if (limbus.isMobDead(16929036)==true and limbus.isMobDead(16929042)==true) then - mob:setMod(dsp.mod.EARTHDEF,-128); + if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+6) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+13) then + mob:setMod(dsp.mod.EARTHDEF, -128) else - mob:setMod(dsp.mod.EARTHDEF,256); + mob:setMod(dsp.mod.EARTHDEF, 256) end - if (limbus.isMobDead(16929037)==true and limbus.isMobDead(16929043)==true) then - mob:setMod(dsp.mod.THUNDERDEF,-128); + if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+7) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+14) then + mob:setMod(dsp.mod.THUNDERDEF, -128) else - mob:setMod(dsp.mod.THUNDERDEF,256); + mob:setMod(dsp.mod.THUNDERDEF, 256) end - if (limbus.isMobDead(16929038)==true and limbus.isMobDead(16929044)==true) then - mob:setMod(dsp.mod.WATERDEF,-128); + if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+8) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+15) then + mob:setMod(dsp.mod.WATERDEF, -128) else - mob:setMod(dsp.mod.WATERDEF,256); + mob:setMod(dsp.mod.WATERDEF, 256) end - mob:setMod(dsp.mod.LIGHTDEF,256); - mob:setMod(dsp.mod.DARKDEF,-128); + mob:setMod(dsp.mod.LIGHTDEF, 256) + mob:setMod(dsp.mod.DARKDEF, -128) end -end; +end function onMobDeath(mob, player, isKiller) - local mobID = mob:getID(); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); + local mobID = mob:getID() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() - 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 (limbus.isMobDead(16929031)==true and limbus.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 + GetNPCByID(ID.npc.COFFER_OFFSET+40):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+40):setStatus(dsp.status.NORMAL) + elseif mobID == ID.mob.TEMENOS_E_MOB[2]+4 then --Shiva + GetNPCByID(ID.npc.COFFER_OFFSET+45):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+45):setStatus(dsp.status.NORMAL) + elseif mobID == ID.mob.TEMENOS_E_MOB[3]+4 then --Garuda + GetNPCByID(ID.npc.COFFER_OFFSET+46):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+46):setStatus(dsp.status.NORMAL) + elseif mobID == ID.mob.TEMENOS_E_MOB[4]+4 then --Titan + GetNPCByID(ID.npc.COFFER_OFFSET+47):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+47):setStatus(dsp.status.NORMAL) + elseif mobID == ID.mob.TEMENOS_E_MOB[5]+4 then --Ramuh + GetNPCByID(ID.npc.COFFER_OFFSET+68):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+68):setStatus(dsp.status.NORMAL) + elseif mobID == ID.mob.TEMENOS_E_MOB[6]+4 then --Leviathan + GetNPCByID(ID.npc.COFFER_OFFSET+69):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+69):setStatus(dsp.status.NORMAL) + elseif mobID == ID.mob.TEMENOS_E_MOB[7]+2 then --Fenrir + GetNPCByID(ID.npc.COFFER_OFFSET+70):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+70):setStatus(dsp.status.NORMAL) + elseif mobID == ID.mob.TEMENOS_C_MOB[2] then --Carbuncle (Central Temenos 2nd Floor) + if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+1) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+2) then + GetNPCByID(ID.npc.COFFER_OFFSET+77):setPos(0.5, -6, -459) + GetNPCByID(ID.npc.COFFER_OFFSET+77):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+19):setStatus(dsp.status.NORMAL) end end -end; +end diff --git a/scripts/zones/Temenos/mobs/Orichalcum_Quadav.lua b/scripts/zones/Temenos/mobs/Orichalcum_Quadav.lua index acaa683a73a..129b413e282 100644 --- a/scripts/zones/Temenos/mobs/Orichalcum_Quadav.lua +++ b/scripts/zones/Temenos/mobs/Orichalcum_Quadav.lua @@ -2,31 +2,35 @@ -- Area: Temenos -- Mob: Orichalcum Quadav ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- -function onMobEngaged(mob,target) - if (limbus.isMobDead(16929017)==true and limbus.isMobDead(16929018)==true and limbus.isMobDead(16929019)==true and - limbus.isMobDead(16929020)==true and limbus.isMobDead(16929021)==true and limbus.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 limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+12) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+13) and + limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+14) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+15) and + limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+16) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+17) + 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 (limbus.isMobDead(16929005)==true and limbus.isMobDead(16929006)==true and limbus.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 limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+1) and + limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+2) + then + GetNPCByID(ID.npc.COFFER_OFFSET+78):setPos(-280, -161, -440) + GetNPCByID(ID.npc.COFFER_OFFSET+78):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) + 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 330799f9427..52e1256bc2e 100644 --- a/scripts/zones/Temenos/mobs/Pee_Qoho_the_Python.lua +++ b/scripts/zones/Temenos/mobs/Pee_Qoho_the_Python.lua @@ -2,31 +2,35 @@ -- Area: Temenos -- Mob: Pee Qoho the Python ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- -function onMobEngaged(mob,target) - if (limbus.isMobDead(16929023)==true and limbus.isMobDead(16929024)==true and limbus.isMobDead(16929025)==true and - limbus.isMobDead(16929026)==true and limbus.isMobDead(16929027)==true and limbus.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 limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+18) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+19) and + limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+20) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+21) and + limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+22) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+23) + 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 (limbus.isMobDead(16929005)==true and limbus.isMobDead(16929006)==true and limbus.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 limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+1) and + limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+2) + then + GetNPCByID(ID.npc.COFFER_OFFSET+78):setPos(-280, -161, -440) + GetNPCByID(ID.npc.COFFER_OFFSET+78):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) + 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 a1e666ab465..ce820e83ab6 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua @@ -3,19 +3,22 @@ -- Mob: Praetorian Guard CCCXI ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(16928809) and limbus.isMobDead(16928810) and limbus.isMobDead(16928811) 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) + if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[5]) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[5]+1) and + limbus.isMobDead(ID.mob.TEMENOS_N_MOB[5]+2) + then + GetNPCByID(ID.npc.COFFER_OFFSET+28):setPos(-311, 80, 419) + GetNPCByID(ID.npc.COFFER_OFFSET+28):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+162):setPos(-311, 80, 417) + GetNPCByID(ID.npc.COFFER_OFFSET+162):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+213):setPos(-311, 80, 421) + GetNPCByID(ID.npc.COFFER_OFFSET+213):setStatus(dsp.status.NORMAL) end - GetNPCByID(GATE_OFFSET+4):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+4):setStatus(dsp.status.NORMAL) end diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua index e8be5f3ebfd..7c758d97d43 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua @@ -3,19 +3,22 @@ -- Mob: Praetorian Guard CCXX ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(16928810) and limbus.isMobDead(16928811) and limbus.isMobDead(16928812) 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) + if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[5]+1) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[5]+2) and + limbus.isMobDead(ID.mob.TEMENOS_N_MOB[5]+3) + then + GetNPCByID(ID.npc.COFFER_OFFSET+28):setPos(-311, 80, 419) + GetNPCByID(ID.npc.COFFER_OFFSET+28):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+162):setPos(-311, 80, 417) + GetNPCByID(ID.npc.COFFER_OFFSET+162):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+213):setPos(-311, 80, 421) + GetNPCByID(ID.npc.COFFER_OFFSET+213):setStatus(dsp.status.NORMAL) end - GetNPCByID(GATE_OFFSET+4):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+4):setStatus(dsp.status.NORMAL) end diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua index 230d358dae6..75458a9bf73 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua @@ -3,19 +3,22 @@ -- Mob: Praetorian Guard CXLVIII ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(16928809) and limbus.isMobDead(16928810) and limbus.isMobDead(16928812) 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) + if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[5]) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[5]+1) and + limbus.isMobDead(ID.mob.TEMENOS_N_MOB[5]+3) + then + GetNPCByID(ID.npc.COFFER_OFFSET+28):setPos(-311, 80, 419) + GetNPCByID(ID.npc.COFFER_OFFSET+28):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+162):setPos(-311, 80, 417) + GetNPCByID(ID.npc.COFFER_OFFSET+162):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+213):setPos(-311, 80, 421) + GetNPCByID(ID.npc.COFFER_OFFSET+213):setStatus(dsp.status.NORMAL) end - GetNPCByID(GATE_OFFSET+4):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+4):setStatus(dsp.status.NORMAL) end diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua index 2aa3886f662..3aa70437cba 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua @@ -3,19 +3,22 @@ -- Mob: Praetorian Guard LXXIII ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(16928809) and limbus.isMobDead(16928811) and limbus.isMobDead(16928812) 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) + if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[5]) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[5]+2) and + limbus.isMobDead(ID.mob.TEMENOS_N_MOB[5]+3) + then + GetNPCByID(ID.npc.COFFER_OFFSET+28):setPos(-311, 80, 419) + GetNPCByID(ID.npc.COFFER_OFFSET+28):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+162):setPos(-311, 80, 417) + GetNPCByID(ID.npc.COFFER_OFFSET+162):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+213):setPos(-311, 80, 421) + GetNPCByID(ID.npc.COFFER_OFFSET+213):setStatus(dsp.status.NORMAL) end - GetNPCByID(GATE_OFFSET+4):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+4):setStatus(dsp.status.NORMAL) end diff --git a/scripts/zones/Temenos/mobs/Proto-Ultima.lua b/scripts/zones/Temenos/mobs/Proto-Ultima.lua index 75d89c743eb..bc1e372c415 100644 --- a/scripts/zones/Temenos/mobs/Proto-Ultima.lua +++ b/scripts/zones/Temenos/mobs/Proto-Ultima.lua @@ -2,37 +2,38 @@ -- 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) +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 +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) + GetNPCByID(ID.npc.COFFER_OFFSET+79):setPos(-559, 5, -357) + GetNPCByID(ID.npc.COFFER_OFFSET+79):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+24):setStatus(dsp.status.NORMAL) +end diff --git a/scripts/zones/Temenos/mobs/Skadi.lua b/scripts/zones/Temenos/mobs/Skadi.lua index a43e4164d92..8115480d847 100644 --- a/scripts/zones/Temenos/mobs/Skadi.lua +++ b/scripts/zones/Temenos/mobs/Skadi.lua @@ -3,20 +3,21 @@ -- Mob: Skadi ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) - GetMobByID(16928783):updateEnmity(target) - GetMobByID(16928782):updateEnmity(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 limbus.isMobDead(16928782) and limbus.isMobDead(16928783) 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) + if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[2]+1) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[2]+2) then + GetNPCByID(ID.npc.COFFER_OFFSET+19):setPos(200, -82, 495) + GetNPCByID(ID.npc.COFFER_OFFSET+19):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+153):setPos(206, -82, 495) + GetNPCByID(ID.npc.COFFER_OFFSET+153):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+210):setPos(196, -82, 495) + GetNPCByID(ID.npc.COFFER_OFFSET+210):setStatus(dsp.status.NORMAL) end end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Telchines_Bard.lua b/scripts/zones/Temenos/mobs/Telchines_Bard.lua index 30904697e97..de1708cbbad 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Bard.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Bard.lua @@ -3,18 +3,19 @@ -- Mob: Telchines Bard ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(16928789) 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) + if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[3]+1) then + GetNPCByID(ID.npc.COFFER_OFFSET+26):setPos(19, 80, 430) + GetNPCByID(ID.npc.COFFER_OFFSET+26):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+160):setPos(16, 80, 430) + GetNPCByID(ID.npc.COFFER_OFFSET+160):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+211):setPos(22, 80, 430) + GetNPCByID(ID.npc.COFFER_OFFSET+211):setStatus(dsp.status.NORMAL) 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 0922f3a674f..f3c1560f870 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua @@ -3,12 +3,13 @@ -- Mob: Telchines Dragoon ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) - GetMobByID(16928791):updateEnmity(target) + GetMobByID(ID.mob.TEMENOS_N_MOB[3]+3):updateEnmity(target) end function onMobDeath(mob, player, isKiller) - GetNPCByID(GATE_OFFSET+2):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+2):setStatus(dsp.status.NORMAL) end diff --git a/scripts/zones/Temenos/mobs/Telchines_Monk.lua b/scripts/zones/Temenos/mobs/Telchines_Monk.lua index a6abf4591c7..93721c51f09 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Monk.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Monk.lua @@ -2,20 +2,22 @@ -- Area: Temenos N T -- Mob: Telchines Monk ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- -function onMobEngaged(mob,target) - -end; +function onMobEngaged(mob, target) +end function onMobDeath(mob, player, isKiller) - if (limbus.isMobDead(16928788)==true and limbus.isMobDead(16928789)==true and limbus.isMobDead(16928792)==true and limbus.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 limbus.isMobDead(ID.mob.TEMENOS_N_MOB[3]) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[3]+1) and + limbus.isMobDead(ID.mob.TEMENOS_N_MOB[3]+4) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[3]+5) + then + GetNPCByID(ID.npc.COFFER_OFFSET+26):setPos(19, 80, 430) + GetNPCByID(ID.npc.COFFER_OFFSET+26):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+160):setPos(16, 80, 430) + GetNPCByID(ID.npc.COFFER_OFFSET+160):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+211):setPos(22, 80, 430) + GetNPCByID(ID.npc.COFFER_OFFSET+211):setStatus(dsp.status.NORMAL) + 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 c08262ab9d8..05dff1f99a4 100644 --- a/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua +++ b/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua @@ -3,18 +3,19 @@ -- Mob: Telchines White Mage ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(16928788) 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) + if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[3]) then + GetNPCByID(ID.npc.COFFER_OFFSET+26):setPos(19, 80, 430) + GetNPCByID(ID.npc.COFFER_OFFSET+26):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+160):setPos(16, 80, 430) + GetNPCByID(ID.npc.COFFER_OFFSET+160):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+211):setPos(22, 80, 430) + GetNPCByID(ID.npc.COFFER_OFFSET+211):setStatus(dsp.status.NORMAL) 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..4f32b4891fa 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Aern.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Aern.lua @@ -2,52 +2,60 @@ -- Area: Temenos -- Mob: Temenos Aern ----------------------------------- -require("scripts/globals/limbus"); +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 { - [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, + local mobID = mob:getID() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + switch (mobID): caseof { + [ID.mob.TEMENOS_C_MOB[5]+1] = function() + GetNPCByID(ID.npc.COFFER_OFFSET+197):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+197):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_C_MOB[5]+7] = function() + GetNPCByID(ID.npc.COFFER_OFFSET+199):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+199):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_C_MOB[5]+12] = function() + GetNPCByID(ID.npc.COFFER_OFFSET+200):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+200):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_C_MOB[5]+22] = function() + GetNPCByID(ID.npc.COFFER_OFFSET+201):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+201):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_C_MOB[5]+30] = function() + GetNPCByID(ID.npc.COFFER_OFFSET+202):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+202):setStatus(dsp.status.NORMAL) + 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, -} -local leftAern=0; + } -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 + for n = 1, 27 do + if GetMobByID(AernList[n]):isAlive() then + leftAern = leftAern + 1 + end 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); + if leftAern == 0 and isKiller 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(player) end -end; +end diff --git a/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua b/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua index eb1e3bba355..6382f80b322 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua @@ -3,9 +3,11 @@ -- Mob: Temenos Cleaner ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- + function onMobEngaged(mob, target) - if limbus.isMobDead(16929046) then + if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]) then mob:addStatusEffect(dsp.effect.REGAIN, 7, 3, 0) mob:addStatusEffect(dsp.effect.REGEN, 50, 3, 0) end @@ -15,9 +17,12 @@ function onMobDeath(mob, player, isKiller) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - if limbus.isMobDead(16929046) and limbus.isMobDead(16929048) and limbus.isMobDead(16929049) and limbus.isMobDead(16929050) and limbus.isMobDead(16929051) then - GetNPCByID(16928768+71):setPos(mobX, mobY, mobZ) - GetNPCByID(16928768+71):setStatus(dsp.status.NORMAL) - GetNPCByID(16928770+471):setStatus(dsp.status.NORMAL) + if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+2) and + limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+3) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+4) and + limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+5) + then + GetNPCByID(ID.npc.COFFER_OFFSET+71):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+71):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Temenos/mobs/Temenos_Ghrah.lua b/scripts/zones/Temenos/mobs/Temenos_Ghrah.lua index 34f316c0a22..db063697833 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Ghrah.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Ghrah.lua @@ -3,11 +3,12 @@ -- Mob: Temenos Ghrah ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobDeath(mob, player, isKiller) local battlefield = player:getBattlefield() - GetNPCByID(16928770+475):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+24):setStatus(dsp.status.NORMAL) battlefield:setLocalVar("cutsceneTimer", 10) battlefield:setLocalVar("lootSeen", 1) end diff --git a/scripts/zones/Temenos/mobs/Temenos_Weapon.lua b/scripts/zones/Temenos/mobs/Temenos_Weapon.lua index f10e0d89c36..502f0ce1d37 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Weapon.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Weapon.lua @@ -3,9 +3,11 @@ -- Mob: Temenos Weapon ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- + function onMobEngaged(mob, target) - if limbus.isMobDead(16929048) then + if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+2) then mob:addStatusEffect(dsp.effect.REGAIN, 7, 3, 0) mob:addStatusEffect(dsp.effect.REGEN, 50, 3, 0) end @@ -15,9 +17,12 @@ function onMobDeath(mob, player, isKiller) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - if limbus.isMobDead(16929046) and limbus.isMobDead(16929047) and limbus.isMobDead(16929048) and limbus.isMobDead(16929050) and limbus.isMobDead(16929051) then - GetNPCByID(16928768+71):setPos(mobX, mobY, mobZ) - GetNPCByID(16928768+71):setStatus(dsp.status.NORMAL) - GetNPCByID(16928770+471):setStatus(dsp.status.NORMAL) + if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+1) and + limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+2) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+4) and + limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+5) + then + GetNPCByID(ID.npc.COFFER_OFFSET+71):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+71):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Temenos/mobs/Thrym.lua b/scripts/zones/Temenos/mobs/Thrym.lua index e8df9ae7fcb..26323a3ea57 100644 --- a/scripts/zones/Temenos/mobs/Thrym.lua +++ b/scripts/zones/Temenos/mobs/Thrym.lua @@ -3,20 +3,21 @@ -- Mob: Thrym ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) - GetMobByID(16928781):updateEnmity(target) - GetMobByID(16928783):updateEnmity(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 limbus.isMobDead(16928781) and limbus.isMobDead(16928783) 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) + if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[2]) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[2]+2) then + GetNPCByID(ID.npc.COFFER_OFFSET+19):setPos(200, -82, 495) + GetNPCByID(ID.npc.COFFER_OFFSET+19):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+153):setPos(206, -82, 495) + GetNPCByID(ID.npc.COFFER_OFFSET+153):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+210):setPos(196, -82, 495) + GetNPCByID(ID.npc.COFFER_OFFSET+210):setStatus(dsp.status.NORMAL) 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 328cb044f3e..0185d89dd9b 100644 --- a/scripts/zones/Temenos/mobs/Thunder_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Thunder_Elemental.lua @@ -2,41 +2,41 @@ -- Area: Temenos E T -- Mob: Thunder Elemental ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- -function onMobEngaged(mob,target) - -end; +function onMobEngaged(mob, target) +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 (limbus.isMobDead(16929038)==false) then - DespawnMob(16929038); - SpawnMob(16929044); - end - end , - } -end; \ No newline at end of file + 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 ) + [ID.mob.TEMENOS_E_MOB[5]] = function() + GetNPCByID(ID.npc.COFFER_OFFSET+183):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+183):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_E_MOB[5]+1] = function() + GetNPCByID(ID.npc.COFFER_OFFSET+261):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+261):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_E_MOB[5]+2] = function() + GetNPCByID(ID.npc.COFFER_OFFSET+393):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+393):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_E_MOB[5]+3] = function() + GetNPCByID(ID.npc.COFFER_OFFSET+68):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+68):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_C_MOB[2]+7] = function() + if not limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+8) then + DespawnMob(ID.mob.TEMENOS_C_MOB[2]+8) + SpawnMob(ID.mob.TEMENOS_C_MOB[2]+14) + end + end, + } +end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Water_Elemental.lua b/scripts/zones/Temenos/mobs/Water_Elemental.lua index 7fad57d57a1..7c55199ca18 100644 --- a/scripts/zones/Temenos/mobs/Water_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Water_Elemental.lua @@ -2,41 +2,41 @@ -- Area: Temenos E T -- Mob: Water Elemental ----------------------------------- -require("scripts/globals/limbus"); +require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- -function onMobEngaged(mob,target) - -end; +function onMobEngaged(mob, target) +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 ) - [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 (limbus.isMobDead(16929033)==false) then - DespawnMob(16929033); - SpawnMob(16929039); - end - end , - } -end; \ No newline at end of file + 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 ) + [ID.mob.TEMENOS_E_MOB[6]] = function() + GetNPCByID(ID.npc.COFFER_OFFSET+277):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+277):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_E_MOB[6]+1] = function() + GetNPCByID(ID.npc.COFFER_OFFSET+190):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+190):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_E_MOB[6]+2] = function() + GetNPCByID(ID.npc.COFFER_OFFSET+127):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+127):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_E_MOB[6]+3] = function() + GetNPCByID(ID.npc.COFFER_OFFSET+69):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+69):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_C_MOB[2]+8] = function() + if not limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+3) then + DespawnMob(ID.mob.TEMENOS_C_MOB[2]+3) + SpawnMob(ID.mob.TEMENOS_C_MOB[2]+9) + end + end, + } +end \ No newline at end of file diff --git a/scripts/zones/Temenos/npcs/Armoury_Crate.lua b/scripts/zones/Temenos/npcs/Armoury_Crate.lua index b6212d8d93f..da30df3b528 100644 --- a/scripts/zones/Temenos/npcs/Armoury_Crate.lua +++ b/scripts/zones/Temenos/npcs/Armoury_Crate.lua @@ -922,12 +922,17 @@ function onTrigger(player, npc) elseif cofferType == cITEM then if instanceRegion == Central_Temenos_4th_Floor and coffer ~= 79 then local randmimic = math.random(1, 24) - if randmimic < 19 then + if randmimic < 17 then local MimicList = { - 16928986, 16928987, 16928988, 16928989, 16928990, 16928991, - 16928992, 16928993, 16928994, 16928995, 16928996, 16928997, - 16928998, 16928999, 16929000, 16929001, 16929002, 16929003, + 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) @@ -982,9 +987,9 @@ function onTrigger(player, npc) SpawnMob(ID.mob.TEMENOS_E_MOB[6]+4):setPos(X, Y, Z) GetMobByID(ID.mob.TEMENOS_E_MOB[6]+4):updateClaim(player) elseif coffer == 123 then - GetMobByID(ID.mob.TEMENOS_E_MOB[7]+4):setSpawn(X, Y, Z) - SpawnMob(ID.mob.TEMENOS_E_MOB[7]+4):setPos(X, Y, Z) - GetMobByID(ID.mob.TEMENOS_E_MOB[7]+4):updateClaim(player) + 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) end end if despawnOtherCoffer then @@ -997,7 +1002,9 @@ function onTrigger(player, npc) DespawnMob(ID.mob.TEMENOS_E_MOB[1]+i) end end - GetNPCByID(ID.npc.GATE_OFFSET+7):setStatus(dsp.status.NORMAL) + if coffer ~= 284 then + GetNPCByID(ID.npc.GATE_OFFSET+7):setStatus(dsp.status.NORMAL) + end elseif coffer == 174 or coffer == 216 or coffer == 321 or coffer == 45 then --floor 2 for i = 0, 3 do @@ -1005,7 +1012,9 @@ function onTrigger(player, npc) DespawnMob(ID.mob.TEMENOS_E_MOB[2]+i) end end - GetNPCByID(ID.npc.GATE_OFFSET+8):setStatus(dsp.status.NORMAL) + if coffer ~= 321 then + GetNPCByID(ID.npc.GATE_OFFSET+8):setStatus(dsp.status.NORMAL) + end elseif coffer == 181 or coffer == 217 or coffer == 348 or coffer == 46 then --floor 3 for i = 0, 3 do @@ -1013,7 +1022,9 @@ function onTrigger(player, npc) DespawnMob(ID.mob.TEMENOS_E_MOB[3]+i) end end - GetNPCByID(ID.npc.GATE_OFFSET+9):setStatus(dsp.status.NORMAL) + if coffer ~= 348 then + GetNPCByID(ID.npc.GATE_OFFSET+9):setStatus(dsp.status.NORMAL) + end elseif coffer == 182 or coffer == 236 or coffer == 360 or coffer == 47 then --floor 4 for i = 0, 3 do @@ -1021,7 +1032,9 @@ function onTrigger(player, npc) DespawnMob(ID.mob.TEMENOS_E_MOB[4]+i) end end - GetNPCByID(ID.npc.GATE_OFFSET+10):setStatus(dsp.status.NORMAL) + if coffer ~= 360 then + GetNPCByID(ID.npc.GATE_OFFSET+10):setStatus(dsp.status.NORMAL) + end elseif coffer == 183 or coffer == 261 or coffer == 393 or coffer == 68 then --floor 5 for i = 0, 3 do @@ -1029,7 +1042,9 @@ function onTrigger(player, npc) DespawnMob(ID.mob.TEMENOS_E_MOB[5]+i) end end - GetNPCByID(ID.npc.GATE_OFFSET+11):setStatus(dsp.status.NORMAL) + if coffer ~= 393 then + GetNPCByID(ID.npc.GATE_OFFSET+11):setStatus(dsp.status.NORMAL) + end elseif coffer == 277 or coffer == 190 or coffer == 127 or coffer == 69 then --floor 6 for i = 0, 3 do @@ -1037,7 +1052,9 @@ function onTrigger(player, npc) DespawnMob(ID.mob.TEMENOS_E_MOB[6]+i) end end - GetNPCByID(ID.npc.GATE_OFFSET+12):setStatus(dsp.status.NORMAL) + if coffer ~= 127 then + GetNPCByID(ID.npc.GATE_OFFSET+12):setStatus(dsp.status.NORMAL) + end elseif coffer == 70 or coffer == 123 then --floor 7 for i = 0, 1 do @@ -1045,7 +1062,9 @@ function onTrigger(player, npc) DespawnMob(ID.mob.TEMENOS_E_MOB[7]+i) end end - GetNPCByID(ID.npc.GATE_OFFSET+13):setStatus(dsp.status.NORMAL) + if coffer ~= 123 then + GetNPCByID(ID.npc.GATE_OFFSET+13):setStatus(dsp.status.NORMAL) + end end end end diff --git a/sql/bcnm_battlefield.sql b/sql/bcnm_battlefield.sql index 1b182c9d368..7f12db6bae8 100644 --- a/sql/bcnm_battlefield.sql +++ b/sql/bcnm_battlefield.sql @@ -1584,39 +1584,39 @@ 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,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,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,16929067,1);-- Aern's Elemental -INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929069,1);-- 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,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,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,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,3);-- Aern's Wynav +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,3);-- Aern's Euvhi +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,3);-- Aern's Elemental +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929069,3);-- Temenos Aern +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929070,3);-- Aern's Wynav +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,3);-- Aern's Euvhi +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,3);-- Aern's Elemental +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 b7c66ce5417..f6da832d090 100644 --- a/sql/bcnm_treasure_chests.sql +++ b/sql/bcnm_treasure_chests.sql @@ -428,7 +428,6 @@ INSERT INTO bcnm_treasure_chests VALUES (1153,3,17051672); INSERT INTO bcnm_treasure_chests VALUES (1298,3,16928785); -- Temenos - Western Tower INSERT INTO bcnm_treasure_chests VALUES (1299,1,16928807); -- Temenos - Northern Tower INSERT INTO bcnm_treasure_chests VALUES (1300,2,16928838); -- Temenos - Eastern Tower -INSERT INTO bcnm_treasure_chests VALUES (1301,8,16929245); -- Central Temenos - Basement 1 placeholder INSERT INTO bcnm_treasure_chests VALUES (1303,7,16928839); -- Central Temenos - 1st Floor INSERT INTO bcnm_treasure_chests VALUES (1304,6,16928845); -- Central Temenos - 2nd Floor INSERT INTO bcnm_treasure_chests VALUES (1305,5,16928846); -- Central Temenos - 3rd Floor From 77702245aafbfa56ef9c307fd4e8e8cbc072f0bb Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Tue, 22 Oct 2019 00:18:29 -0400 Subject: [PATCH 07/33] Randomize chest position in Temenos East floor 7. Fix typo. --- scripts/zones/Temenos/mobs/Dark_Elemental.lua | 19 +++++++++++++++---- .../zones/Temenos/mobs/Earth_Elemental.lua | 6 +++--- scripts/zones/Temenos/mobs/Mystic_Avatar.lua | 1 - 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/scripts/zones/Temenos/mobs/Dark_Elemental.lua b/scripts/zones/Temenos/mobs/Dark_Elemental.lua index 46555c9cf2b..95ef73e8713 100644 --- a/scripts/zones/Temenos/mobs/Dark_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Dark_Elemental.lua @@ -14,15 +14,26 @@ function onMobDeath(mob, player, isKiller) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() + local posRand = math.random(1, 2) + local cofferPos = {{-603, 5, 160, 64}, {-597, 5, 160, 64}} + switch (mobID): caseof { -- 100 a 106 inclut (Temenos -Northern Tower ) [ID.mob.TEMENOS_E_MOB[7]] = function () - GetNPCByID(ID.npc.COFFER_OFFSET+70):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+70):setStatus(dsp.status.NORMAL) + if limbus.isMobDead(ID.mob.TEMENOS_E_MOB[7]+1) then + GetNPCByID(ID.npc.COFFER_OFFSET+70):setPos(cofferPos[posRand]) + GetNPCByID(ID.npc.COFFER_OFFSET+70):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+123):setPos(cofferPos[3-posRand]) + GetNPCByID(ID.npc.COFFER_OFFSET+123):setStatus(dsp.status.NORMAL) + end end, [ID.mob.TEMENOS_E_MOB[7]+1] = function () - GetNPCByID(ID.npc.COFFER_OFFSET+123):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+123):setStatus(dsp.status.NORMAL) + if limbus.isMobDead(ID.mob.TEMENOS_E_MOB[7]) then + GetNPCByID(ID.npc.COFFER_OFFSET+70):setPos(cofferPos[posRand]) + GetNPCByID(ID.npc.COFFER_OFFSET+70):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+123):setPos(cofferPos[3-posRand]) + GetNPCByID(ID.npc.COFFER_OFFSET+123):setStatus(dsp.status.NORMAL) + 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 baf84290f32..c6232324a4b 100644 --- a/scripts/zones/Temenos/mobs/Earth_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Earth_Elemental.lua @@ -20,15 +20,15 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(ID.npc.COFFER_OFFSET+182):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+182):setStatus(dsp.status.NORMAL) end, - [ID.mob.TEMENOS_E_MOB[3]+1] = function () + [ID.mob.TEMENOS_E_MOB[4]+1] = function () GetNPCByID(ID.npc.COFFER_OFFSET+236):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+236):setStatus(dsp.status.NORMAL) end, - [ID.mob.TEMENOS_E_MOB[3]+2] = function () + [ID.mob.TEMENOS_E_MOB[4]+2] = function () GetNPCByID(ID.npc.COFFER_OFFSET+360):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+360):setStatus(dsp.status.NORMAL) end, - [ID.mob.TEMENOS_E_MOB[3]+3] = function () + [ID.mob.TEMENOS_E_MOB[4]+3] = function () GetNPCByID(ID.npc.COFFER_OFFSET+47):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+47):setStatus(dsp.status.NORMAL) end, diff --git a/scripts/zones/Temenos/mobs/Mystic_Avatar.lua b/scripts/zones/Temenos/mobs/Mystic_Avatar.lua index 92ef9edfcf7..c7fb726e745 100644 --- a/scripts/zones/Temenos/mobs/Mystic_Avatar.lua +++ b/scripts/zones/Temenos/mobs/Mystic_Avatar.lua @@ -77,7 +77,6 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(ID.npc.COFFER_OFFSET+69):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+69):setStatus(dsp.status.NORMAL) elseif mobID == ID.mob.TEMENOS_E_MOB[7]+2 then --Fenrir - GetNPCByID(ID.npc.COFFER_OFFSET+70):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+70):setStatus(dsp.status.NORMAL) elseif mobID == ID.mob.TEMENOS_C_MOB[2] then --Carbuncle (Central Temenos 2nd Floor) if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+1) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+2) then From 431501a24fd31a86765556e107b8b0044c21d058 Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Tue, 22 Oct 2019 04:09:39 -0400 Subject: [PATCH 08/33] Fixed some wrong IDs causing miscolored chests --- scripts/globals/limbus.lua | 6 +++--- scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua | 2 +- scripts/zones/Temenos/mobs/Temenos_Aern.lua | 4 ++-- scripts/zones/Temenos/mobs/Water_Elemental.lua | 8 ++++---- scripts/zones/Temenos/npcs/Armoury_Crate.lua | 6 +++--- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/scripts/globals/limbus.lua b/scripts/globals/limbus.lua index 0e6b4670a7e..930336dcd70 100644 --- a/scripts/globals/limbus.lua +++ b/scripts/globals/limbus.lua @@ -226,7 +226,6 @@ ARMOURY_CRATE_TEMENOS = 69, {cITEM, Temenos_Eastern_Tower, 0, true, 0, 149}, 70, {cITEM, Temenos_Eastern_Tower, 0, true, 0, 150}, -- Boss chest 123, {cMIMIC, Temenos_Eastern_Tower, 0, true, 0, 0}, - 127, {cMIMIC, Temenos_Eastern_Tower, 0, true, 0, 0}, 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}, @@ -238,12 +237,13 @@ ARMOURY_CRATE_TEMENOS = 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}, + 202, {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}, + 277, {cMIMIC, Temenos_Eastern_Tower, 0, true, 0, 0}, ----------------------------------------------- -- Central_Temenos_1st_Floor @@ -290,7 +290,7 @@ ARMOURY_CRATE_TEMENOS = 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}, + 127, {cTIME, Central_Temenos_Basement, 5, false, 0, 0}, } function limbus.enter(player, entrance) diff --git a/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua b/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua index bed50e7c9b9..41c195fb9ee 100644 --- a/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua +++ b/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua @@ -31,6 +31,6 @@ function onMobDeath(mob, player, isKiller) then GetNPCByID(ID.npc.COFFER_OFFSET+78):setPos(-280, -161, -440) GetNPCByID(ID.npc.COFFER_OFFSET+78):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+473):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) 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 4f32b4891fa..9669b6fa3c3 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Aern.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Aern.lua @@ -29,8 +29,8 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(ID.npc.COFFER_OFFSET+201):setStatus(dsp.status.NORMAL) end, [ID.mob.TEMENOS_C_MOB[5]+30] = function() - GetNPCByID(ID.npc.COFFER_OFFSET+202):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+202):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+127):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+127):setStatus(dsp.status.NORMAL) end, } local leftAern=0 diff --git a/scripts/zones/Temenos/mobs/Water_Elemental.lua b/scripts/zones/Temenos/mobs/Water_Elemental.lua index 7c55199ca18..1ba07db4aa7 100644 --- a/scripts/zones/Temenos/mobs/Water_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Water_Elemental.lua @@ -17,16 +17,16 @@ function onMobDeath(mob, player, isKiller) switch (mobID): caseof { -- 100 a 106 inclut (Temenos -Northern Tower ) [ID.mob.TEMENOS_E_MOB[6]] = function() - GetNPCByID(ID.npc.COFFER_OFFSET+277):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+277):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+202):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+202):setStatus(dsp.status.NORMAL) end, [ID.mob.TEMENOS_E_MOB[6]+1] = function() GetNPCByID(ID.npc.COFFER_OFFSET+190):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+190):setStatus(dsp.status.NORMAL) end, [ID.mob.TEMENOS_E_MOB[6]+2] = function() - GetNPCByID(ID.npc.COFFER_OFFSET+127):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+127):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+277):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+277):setStatus(dsp.status.NORMAL) end, [ID.mob.TEMENOS_E_MOB[6]+3] = function() GetNPCByID(ID.npc.COFFER_OFFSET+69):setPos(mobX, mobY, mobZ) diff --git a/scripts/zones/Temenos/npcs/Armoury_Crate.lua b/scripts/zones/Temenos/npcs/Armoury_Crate.lua index da30df3b528..f485c3b80b1 100644 --- a/scripts/zones/Temenos/npcs/Armoury_Crate.lua +++ b/scripts/zones/Temenos/npcs/Armoury_Crate.lua @@ -982,7 +982,7 @@ function onTrigger(player, npc) GetMobByID(ID.mob.TEMENOS_E_MOB[5]+4):setSpawn(X, Y, Z) SpawnMob(ID.mob.TEMENOS_E_MOB[5]+4):setPos(X, Y, Z) GetMobByID(ID.mob.TEMENOS_E_MOB[5]+4):updateClaim(player) - elseif coffer == 127 then + elseif coffer == 277 then GetMobByID(ID.mob.TEMENOS_E_MOB[6]+4):setSpawn(X, Y, Z) SpawnMob(ID.mob.TEMENOS_E_MOB[6]+4):setPos(X, Y, Z) GetMobByID(ID.mob.TEMENOS_E_MOB[6]+4):updateClaim(player) @@ -1045,14 +1045,14 @@ function onTrigger(player, npc) if coffer ~= 393 then GetNPCByID(ID.npc.GATE_OFFSET+11):setStatus(dsp.status.NORMAL) end - elseif coffer == 277 or coffer == 190 or coffer == 127 or coffer == 69 then + elseif coffer == 202 or coffer == 190 or coffer == 277 or coffer == 69 then --floor 6 for i = 0, 3 do if GetMobByID(ID.mob.TEMENOS_E_MOB[6]+i):isSpawned() then DespawnMob(ID.mob.TEMENOS_E_MOB[6]+i) end end - if coffer ~= 127 then + if coffer ~= 277 then GetNPCByID(ID.npc.GATE_OFFSET+12):setStatus(dsp.status.NORMAL) end elseif coffer == 70 or coffer == 123 then From 8209633d8a5a99f05140a13637c82e526a03e822 Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Tue, 22 Oct 2019 04:23:23 -0400 Subject: [PATCH 09/33] Chests should despawn when Ultima is engaged --- scripts/zones/Temenos/mobs/Proto-Ultima.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/zones/Temenos/mobs/Proto-Ultima.lua b/scripts/zones/Temenos/mobs/Proto-Ultima.lua index bc1e372c415..99dbc85d6be 100644 --- a/scripts/zones/Temenos/mobs/Proto-Ultima.lua +++ b/scripts/zones/Temenos/mobs/Proto-Ultima.lua @@ -11,6 +11,10 @@ function onMobSpawn(mob) mob:SetMagicCastingEnabled(false) end +function onMobEngaged(mob, target) + limbus.hideArmouryCrates(Central_Temenos_4th_Floor, TEMENOS) +end + function onMobFight(mob, target) local phase = mob:getLocalVar("battlePhase") if mob:actionQueueEmpty() then From 9338d2767c3401193b9d0a9d055b2be51517cdab Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Tue, 22 Oct 2019 16:52:15 -0400 Subject: [PATCH 10/33] Added a server variable to keep track of time remaining for Scanning Device. Add the Limbus hum. Added a "dontKick" variable to battlefields to delay cleanup in battlefields with no item chest (Temenos Basement) --- scripts/globals/battlefield.lua | 3 +- scripts/zones/Temenos/IDs.lua | 1 + .../bcnms/central_temenos_1st_floor.lua | 2 + .../bcnms/central_temenos_2nd_floor.lua | 2 + .../bcnms/central_temenos_3rd_floor.lua | 2 + .../bcnms/central_temenos_4th_floor.lua | 2 + .../bcnms/central_temenos_basement.lua | 2 + .../Temenos/bcnms/temenos_eastern_tower.lua | 2 + .../Temenos/bcnms/temenos_northern_tower.lua | 2 + .../Temenos/bcnms/temenos_western_tower.lua | 2 + scripts/zones/Temenos/mobs/Goblin_Fencer.lua | 12 +-- scripts/zones/Temenos/mobs/Temenos_Aern.lua | 2 + scripts/zones/Temenos/mobs/Temenos_Ghrah.lua | 8 +- scripts/zones/Temenos/npcs/Armoury_Crate.lua | 4 + .../Temenos/npcs/Matter_Diffusion_Module.lua | 9 +- .../zones/Temenos/npcs/Scanning_Device.lua | 86 ++++++++++--------- 16 files changed, 92 insertions(+), 49 deletions(-) diff --git a/scripts/globals/battlefield.lua b/scripts/globals/battlefield.lua index 817fef8d5df..fe23421881e 100644 --- a/scripts/globals/battlefield.lua +++ b/scripts/globals/battlefield.lua @@ -65,6 +65,7 @@ function dsp.battlefield.onBattlefieldTick(battlefield, timeinside, players) local leavecode = -1 local players = battlefield:getPlayers() local cutsceneTimer = battlefield:getLocalVar("cutsceneTimer") + local dontKick = battlefield:getLocalVar("dontKick") == 1 if status == dsp.battlefield.status.LOST then leavecode = 4 @@ -83,7 +84,7 @@ function dsp.battlefield.onBattlefieldTick(battlefield, timeinside, players) canLeave = true end end - if canLeave and cutsceneTimer >= 15 then + if canLeave and cutsceneTimer >= 15 and not dontKick then battlefield:cleanup(true) end end diff --git a/scripts/zones/Temenos/IDs.lua b/scripts/zones/Temenos/IDs.lua index d04fda57ab3..a3502d9e3d0 100644 --- a/scripts/zones/Temenos/IDs.lua +++ b/scripts/zones/Temenos/IDs.lua @@ -16,6 +16,7 @@ zones[dsp.zone.TEMENOS] = 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. 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. TIME_EXTENDED = 7372, -- Your time in Limbus has been extended... CONQUEST_BASE = 7375, -- Tallying conquest results... }, diff --git a/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua index 73802fa7e2f..88678748de7 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua @@ -8,11 +8,13 @@ require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) + SetServerVariable("[1303]Time", 0) limbus.hideTemenosDoors(Central_Temenos_1st_Floor) limbus.hideArmouryCrates(Central_Temenos_1st_Floor, TEMENOS) end function onBattlefieldTick(battlefield, tick) + SetServerVariable("[1303]Time", battlefield:getRemainingTime()/60) dsp.battlefield.onBattlefieldTick(battlefield, tick) end diff --git a/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua index 7c1d5425e2e..277e99e0341 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua @@ -8,11 +8,13 @@ require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) + SetServerVariable("[1304]Time", 0) limbus.hideTemenosDoors(Central_Temenos_2nd_Floor) limbus.hideArmouryCrates(Central_Temenos_2nd_Floor, TEMENOS) end function onBattlefieldTick(battlefield, tick) + SetServerVariable("[1304]Time", battlefield:getRemainingTime()/60) dsp.battlefield.onBattlefieldTick(battlefield, tick) end diff --git a/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua index 5ef75eb4a32..342653e779a 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua @@ -8,11 +8,13 @@ require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) + SetServerVariable("[1305]Time", 0) limbus.hideTemenosDoors(Central_Temenos_3rd_Floor) limbus.hideArmouryCrates(Central_Temenos_3rd_Floor, TEMENOS) end function onBattlefieldTick(battlefield, tick) + SetServerVariable("[1305]Time", battlefield:getRemainingTime()/60) dsp.battlefield.onBattlefieldTick(battlefield, tick) end diff --git a/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua index da293b8bb99..0a7b20c1232 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua @@ -8,12 +8,14 @@ require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) + SetServerVariable("[1306]Time", 0) limbus.hideArmouryCrates(Central_Temenos_4th_Floor, TEMENOS) limbus.hideTemenosDoors(Central_Temenos_4th_Floor) limbus.spawnArmouryCrates(Central_Temenos_4th_Floor) end function onBattlefieldTick(battlefield, tick) + SetServerVariable("[1306]Time", battlefield:getRemainingTime()/60) dsp.battlefield.onBattlefieldTick(battlefield, tick) end diff --git a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua index 53fed7914d0..6b7aa1ea11e 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua @@ -7,11 +7,13 @@ require("scripts/globals/battlefield") require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) + SetServerVariable("[1301]Time", 0) limbus.hideTemenosDoors(Central_Temenos_Basement) limbus.hideArmouryCrates(Central_Temenos_Basement, TEMENOS) end function onBattlefieldTick(battlefield, tick) + SetServerVariable("[1301]Time", battlefield:getRemainingTime()/60) dsp.battlefield.onBattlefieldTick(battlefield, tick) end diff --git a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua index 3bccb725c0e..c99d2b5c931 100644 --- a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua @@ -8,11 +8,13 @@ require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) + SetServerVariable("[1300]Time", 0) limbus.hideArmouryCrates(Temenos_Eastern_Tower, TEMENOS) limbus.hideTemenosDoors(Temenos_Eastern_Tower) end function onBattlefieldTick(battlefield, tick) + SetServerVariable("[1300]Time", battlefield:getRemainingTime()/60) dsp.battlefield.onBattlefieldTick(battlefield, tick) end diff --git a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua index 7ef0bbc9686..8848932feb0 100644 --- a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua @@ -8,11 +8,13 @@ require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) + SetServerVariable("[1299]Time", 0) limbus.hideTemenosDoors(Temenos_Northern_Tower) limbus.hideArmouryCrates(Temenos_Northern_Tower, TEMENOS) end function onBattlefieldTick(battlefield, tick) + SetServerVariable("[1299]Time", battlefield:getRemainingTime()/60) dsp.battlefield.onBattlefieldTick(battlefield, tick) end diff --git a/scripts/zones/Temenos/bcnms/temenos_western_tower.lua b/scripts/zones/Temenos/bcnms/temenos_western_tower.lua index 8900952366f..a5061679d78 100644 --- a/scripts/zones/Temenos/bcnms/temenos_western_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_western_tower.lua @@ -8,11 +8,13 @@ require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) + SetServerVariable("[1298]Time", 0) limbus.hideTemenosDoors(Temenos_Western_Tower) limbus.hideArmouryCrates(Temenos_Western_Tower, TEMENOS) end function onBattlefieldTick(battlefield, tick) + SetServerVariable("[1298]Time", battlefield:getRemainingTime()/60) dsp.battlefield.onBattlefieldTick(battlefield, tick) end diff --git a/scripts/zones/Temenos/mobs/Goblin_Fencer.lua b/scripts/zones/Temenos/mobs/Goblin_Fencer.lua index 67945bd84ef..bd00d9d2f79 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Fencer.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Fencer.lua @@ -7,15 +7,15 @@ local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) - GetMobByID(ID.npc.TEMENOS_N_MOB[7]):updateEnmity(target) - GetMobByID(ID.npc.TEMENOS_N_MOB[7]+2):updateEnmity(target) - GetMobByID(ID.npc.TEMENOS_N_MOB[7]+4):updateEnmity(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 limbus.isMobDead(ID.npc.TEMENOS_N_MOB[7]) and limbus.isMobDead(ID.npc.TEMENOS_N_MOB[7]+1) and - limbus.isMobDead(ID.npc.TEMENOS_N_MOB[7]+2) and limbus.isMobDead(ID.npc.TEMENOS_N_MOB[7]+3) and - limbus.isMobDead(ID.npc.TEMENOS_N_MOB[7]+4) + if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]+1) and + limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]+2) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]+3) and + limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]+4) then GetNPCByID(ID.npc.COFFER_OFFSET+39):setPos(-599, 85, 438) GetNPCByID(ID.npc.COFFER_OFFSET+39):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Temenos_Aern.lua b/scripts/zones/Temenos/mobs/Temenos_Aern.lua index 9669b6fa3c3..0cc720215d3 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Aern.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Aern.lua @@ -54,6 +54,8 @@ function onMobDeath(mob, player, isKiller) end --print("leftAern" ..leftAern); if leftAern == 0 and isKiller then + local battlefield = player:getBattlefield() + battlefield:setLocalVar("dontKick", 1) 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(player) diff --git a/scripts/zones/Temenos/mobs/Temenos_Ghrah.lua b/scripts/zones/Temenos/mobs/Temenos_Ghrah.lua index db063697833..f5c14a9465f 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Ghrah.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Ghrah.lua @@ -8,7 +8,11 @@ local ID = require("scripts/zones/Temenos/IDs") function onMobDeath(mob, player, isKiller) local battlefield = player:getBattlefield() - GetNPCByID(ID.npc.GATE_OFFSET+24):setStatus(dsp.status.NORMAL) + players = battlefield:getPlayers() + for i = 1, #players do + players[i]:messageSpecial(ID.text.HUM+1) + end + GetNPCByID(ID.npc.GATE_OFFSET+25):setStatus(dsp.status.NORMAL) battlefield:setLocalVar("cutsceneTimer", 10) - battlefield:setLocalVar("lootSeen", 1) + battlefield:setLocalVar("dontKick", 0) end diff --git a/scripts/zones/Temenos/npcs/Armoury_Crate.lua b/scripts/zones/Temenos/npcs/Armoury_Crate.lua index f485c3b80b1..fa638233d88 100644 --- a/scripts/zones/Temenos/npcs/Armoury_Crate.lua +++ b/scripts/zones/Temenos/npcs/Armoury_Crate.lua @@ -956,6 +956,10 @@ function onTrigger(player, npc) if lootID == 136 or lootID == 143 or lootID == 150 or lootID == 151 or lootID == 152 or lootID == 153 or lootID == 154 then + players = battlefield:getPlayers() + for i = 1, #players do + players[i]:messageSpecial(ID.text.HUM+1) + end battlefield:setLocalVar("cutsceneTimer", 10) battlefield:setLocalVar("lootSeen", 1) end diff --git a/scripts/zones/Temenos/npcs/Matter_Diffusion_Module.lua b/scripts/zones/Temenos/npcs/Matter_Diffusion_Module.lua index 793e5deff9f..b94e698ccce 100644 --- a/scripts/zones/Temenos/npcs/Matter_Diffusion_Module.lua +++ b/scripts/zones/Temenos/npcs/Matter_Diffusion_Module.lua @@ -4,6 +4,7 @@ -- !pos ----------------------------------- require("scripts/globals/bcnm") +local ID = require("scripts/zones/Temenos/IDs") function onTrade(player, npc, trade) TradeBCNM(player, npc, trade) @@ -14,7 +15,13 @@ function onTrigger(player, npc) end function onEventUpdate(player, csid, option, extras) - EventUpdateBCNM(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) diff --git a/scripts/zones/Temenos/npcs/Scanning_Device.lua b/scripts/zones/Temenos/npcs/Scanning_Device.lua index d6a8caa8cc0..041a433ce48 100644 --- a/scripts/zones/Temenos/npcs/Scanning_Device.lua +++ b/scripts/zones/Temenos/npcs/Scanning_Device.lua @@ -3,45 +3,53 @@ -- 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/limbus") + +function onTrade(player, npc, trade) +end + +function onTrigger(player, npc) + if not player:battlefieldAtCapacity(1299) then + SetServerVariable("[1299]Time", 0) + end + if not player:battlefieldAtCapacity(1300) then + SetServerVariable("[1300]Time", 0) + end + if not player:battlefieldAtCapacity(1298) then + SetServerVariable("[1298]Time", 0) + end + if not player:battlefieldAtCapacity(1306) then + SetServerVariable("[1306]Time", 0) + end + if not player:battlefieldAtCapacity(1305) then + SetServerVariable("[1305]Time", 0) + end + if not player:battlefieldAtCapacity(1304) then + SetServerVariable("[1304]Time", 0) + end + if not player:battlefieldAtCapacity(1303) then + SetServerVariable("[1303]Time", 0) + end + if not player:battlefieldAtCapacity(1301) then + SetServerVariable("[1301]Time", 0) + end + player:startEvent(121, 511) +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("[1299]Time") end, -- Northern Tower + [2] = function() time = GetServerVariable("[1300]Time") end, -- Eastern Tower + [3] = function() time = GetServerVariable("[1298]Time") end, -- Western Tower + [4] = function() time = GetServerVariable("[1306]Time") end, -- Central 4th + [5] = function() time = GetServerVariable("[1305]Time") end, -- Central 3rd + [6] = function() time = GetServerVariable("[1304]Time") end, -- Central 2nd + [7] = function() time = GetServerVariable("[1303]Time") end, -- Central 1st + [8] = function() time = GetServerVariable("[1301]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 From 4b65186aa2652ddd12b5dd3ff8faf2d5289d54ba Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Tue, 22 Oct 2019 18:26:40 -0400 Subject: [PATCH 11/33] Change dontKick to int --- scripts/globals/battlefield.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/globals/battlefield.lua b/scripts/globals/battlefield.lua index fe23421881e..3f2bdcbb6c3 100644 --- a/scripts/globals/battlefield.lua +++ b/scripts/globals/battlefield.lua @@ -65,7 +65,7 @@ function dsp.battlefield.onBattlefieldTick(battlefield, timeinside, players) local leavecode = -1 local players = battlefield:getPlayers() local cutsceneTimer = battlefield:getLocalVar("cutsceneTimer") - local dontKick = battlefield:getLocalVar("dontKick") == 1 + local dontKick = battlefield:getLocalVar("dontKick") if status == dsp.battlefield.status.LOST then leavecode = 4 @@ -84,7 +84,7 @@ function dsp.battlefield.onBattlefieldTick(battlefield, timeinside, players) canLeave = true end end - if canLeave and cutsceneTimer >= 15 and not dontKick then + if canLeave and cutsceneTimer >= 15 and dontKick == 0 then battlefield:cleanup(true) end end From b039847599ec5b8fb444ab2873ce16a93f7f3f91 Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Wed, 23 Oct 2019 02:40:08 -0400 Subject: [PATCH 12/33] Removed the entrance option on a few functions since it's not being used, use checkReqs instead. Updated checkReqs table. Removed incorrect usage of battlefieldAtCapacity, it's now correctly checked in findBattlefields. --- scripts/globals/bcnm.lua | 106 +++++++++--------- scripts/zones/Apollyon/IDs.lua | 4 +- .../zones/Apollyon/npcs/Radiant_Aureole.lua | 14 +-- .../zones/LaLoff_Amphitheater/npcs/qm1_1.lua | 2 +- .../zones/LaLoff_Amphitheater/npcs/qm1_2.lua | 2 +- .../zones/LaLoff_Amphitheater/npcs/qm1_3.lua | 2 +- .../zones/LaLoff_Amphitheater/npcs/qm1_4.lua | 2 +- .../zones/LaLoff_Amphitheater/npcs/qm1_5.lua | 2 +- scripts/zones/Temenos/IDs.lua | 1 + .../Temenos/npcs/Matter_Diffusion_Module.lua | 6 +- 10 files changed, 71 insertions(+), 70 deletions(-) diff --git a/scripts/globals/bcnm.lua b/scripts/globals/bcnm.lua index 0cfc051797e..f303a2af647 100644 --- a/scripts/globals/bcnm.lua +++ b/scripts/globals/bcnm.lua @@ -12,7 +12,7 @@ require("scripts/globals/zone") --[[ [zoneId] = { - {bit, battlefieldIdInDatabase, requiredItemToTrade, entrance} + {bit, battlefieldIdInDatabase, requiredItemToTrade} }, --]] @@ -133,10 +133,10 @@ local battlefields = { }, [38] = { -- APOLLYON - { 0, 1291, 0, 1}, -- SW Apollyon - { 1, 1290, 0, 1}, -- NW Apollyon - { 2, 1293, 0, 2}, -- SE Apollyon - { 3, 1292, 0, 2}, -- NE Apollyon + { 0, 1291, 0}, -- SW Apollyon + { 1, 1290, 0}, -- NW Apollyon + { 2, 1293, 0}, -- SE Apollyon + { 3, 1292, 0}, -- NE Apollyon { 4, 1296, -2}, -- Central Apollyon (multiple items needed: 1909 1910 1987 1988) { 5, 1294, 2127}, -- CS Apollyon -- { 6, 1295, 0}, -- CS Apollyon II @@ -326,11 +326,11 @@ local battlefields = { }, [180] = { -- LALOFF AMPHITHEATER - { 0, 288, 0, 1}, -- Ark Angels 1 (ZM14) - { 1, 289, 0, 2}, -- Ark Angels 2 (ZM14) - { 2, 290, 0, 3}, -- Ark Angels 3 (ZM14) - { 3, 291, 0, 4}, -- Ark Angels 4 (ZM14) - { 4, 292, 0, 5}, -- Ark Angels 5 (ZM14) + { 0, 288, 0}, -- Ark Angels 1 (ZM14) + { 1, 289, 0}, -- Ark Angels 2 (ZM14) + { 2, 290, 0}, -- Ark Angels 3 (ZM14) + { 3, 291, 0}, -- Ark Angels 4 (ZM14) + { 4, 292, 0}, -- Ark Angels 5 (ZM14) { 5, 293, 1550}, -- Divine Might (ZM14) -- { 6, ?, 0}, -- *Ark Angels 1 (HTMBF) -- { 7, ?, 0}, -- *Ark Angels 2 (HTMBF) @@ -459,6 +459,7 @@ 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 radiantOffset = zones[dsp.zone.APOLLYON].npc.RADIANT_OFFSET local function getZM14Offset(offset) return zones[dsp.zone.LALOFF_AMPHITHEATER].npc.SHIMMERING_CIRCLE_OFFSET + offset @@ -577,12 +578,12 @@ 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 == radiantOffset + 0 ) end, -- NW Apollyon + [1291] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.RED_CARD) and npcid == radiantOffset + 0 ) end, -- SW Apollyon + [1292] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == radiantOffset + 1 ) end, -- NE Apollyon + [1293] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == radiantOffset + 1 ) end, -- SE Apollyon + [1294] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and (player:hasKeyItem(dsp.ki.BLACK_CARD) or player:hasKeyItem(dsp.ki.RED_CARD)) ) end, -- CS Apollyon + [1296] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and (player:hasKeyItem(dsp.ki.BLACK_CARD) or player:hasKeyItem(dsp.ki.RED_CARD)) ) 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 +597,22 @@ 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 == radiantOffset + 0 ) end, -- NW Apollyon + [1291] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.RED_CARD) and npcid == radiantOffset + 0 ) end, -- SW Apollyon + [1292] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == radiantOffset + 1 ) end, -- NE Apollyon + [1293] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == radiantOffset + 1 ) end, -- SE Apollyon + [1294] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and (player:hasKeyItem(dsp.ki.BLACK_CARD) or player:hasKeyItem(dsp.ki.RED_CARD))) end, -- CS Apollyon + [1296] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and (player:hasKeyItem(dsp.ki.BLACK_CARD) or player:hasKeyItem(dsp.ki.RED_CARD))) 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 @@ -732,7 +733,7 @@ end -- which battlefields are valid for registrant? ----------------------------------------------- -function findBattlefields(player, npc, itemId, entrance) +function findBattlefields(player, npc, itemId) local mask = 0 local zbfs = battlefields[player:getZoneID()] if zbfs == nil then @@ -740,9 +741,7 @@ function findBattlefields(player, npc, itemId, entrance) end for k, v in pairs(zbfs) do if v[3] == itemId and checkReqs(player, npc, v[2], true) and not player:battlefieldAtCapacity(v[2]) then - if v[4] == entrance then - mask = bit.bor(mask,math.pow(2,v[1])) - end + mask = bit.bor(mask,math.pow(2,v[1])) end end return mask @@ -828,8 +827,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 @@ -843,8 +841,7 @@ end -- onTrigger Action ----------------------------------------------- -function EventTriggerBCNM(player, npc, entrance) - +function EventTriggerBCNM(player, npc) -- player is in battlefield and clicks to leave if player:getBattlefield() then player:startEvent(32003) @@ -852,11 +849,10 @@ function EventTriggerBCNM(player, npc, entrance) -- player wants to register a new battlefield elseif not player:hasStatusEffect(dsp.effect.BATTLEFIELD) then - local mask = findBattlefields(player, npc, 0, entrance) + 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 @@ -880,7 +876,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 @@ -905,14 +901,20 @@ function EventUpdateBCNM(player, csid, option, extras, entrance) local partySize = 1 switch (battlefieldId): caseof { - [1298] = function() area = 3 end, - [1299] = function() area = 1 end, - [1300] = function() area = 2 end, - [1301] = function() area = 8 end, - [1303] = function() area = 7 end, - [1304] = function() area = 6 end, - [1305] = function() area = 5 end, - [1306] = function() area = 4 end, + [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) diff --git a/scripts/zones/Apollyon/IDs.lua b/scripts/zones/Apollyon/IDs.lua index dcc5a44ffbf..7b22f1e1cf2 100644 --- a/scripts/zones/Apollyon/IDs.lua +++ b/scripts/zones/Apollyon/IDs.lua @@ -24,8 +24,8 @@ zones[dsp.zone.APOLLYON] = }, npc = { - WEST_ENTRANCE = 16933242, - COFFER_OFFSET = 16932864, + RADIANT_OFFSET = 16933242, + COFFER_OFFSET = 16932864, }, } diff --git a/scripts/zones/Apollyon/npcs/Radiant_Aureole.lua b/scripts/zones/Apollyon/npcs/Radiant_Aureole.lua index 44d8feeb8c2..b4115e62216 100644 --- a/scripts/zones/Apollyon/npcs/Radiant_Aureole.lua +++ b/scripts/zones/Apollyon/npcs/Radiant_Aureole.lua @@ -3,24 +3,18 @@ -- NPC: Radiant_Aureole -- !pos ----------------------------------- -require("scripts/globals/limbus"); -require("scripts/globals/keyitems"); - -local ID = require("scripts/zones/Apollyon/IDs"); - - - require("scripts/globals/bcnm") +local ID = require("scripts/zones/Apollyon/IDs") function onTrade(player, npc, trade) TradeBCNM(player, npc, trade) end function onTrigger(player, npc) - if npc:getID() == ID.npc.WEST_ENTRANCE then - EventTriggerBCNM(player, npc, 1) + if npc:getID() == ID.npc.RADIANT_OFFSET then + EventTriggerBCNM(player, npc) else - EventTriggerBCNM(player, npc, 2) + EventTriggerBCNM(player, npc) end end diff --git a/scripts/zones/LaLoff_Amphitheater/npcs/qm1_1.lua b/scripts/zones/LaLoff_Amphitheater/npcs/qm1_1.lua index f994dd143b6..4f4251ec384 100644 --- a/scripts/zones/LaLoff_Amphitheater/npcs/qm1_1.lua +++ b/scripts/zones/LaLoff_Amphitheater/npcs/qm1_1.lua @@ -10,7 +10,7 @@ function onTrade(player, npc, trade) end function onTrigger(player, npc) - EventTriggerBCNM(player, npc, 1) + EventTriggerBCNM(player, npc) end function onEventUpdate(player, csid, option, extras) diff --git a/scripts/zones/LaLoff_Amphitheater/npcs/qm1_2.lua b/scripts/zones/LaLoff_Amphitheater/npcs/qm1_2.lua index 627bae6a867..4f4251ec384 100644 --- a/scripts/zones/LaLoff_Amphitheater/npcs/qm1_2.lua +++ b/scripts/zones/LaLoff_Amphitheater/npcs/qm1_2.lua @@ -10,7 +10,7 @@ function onTrade(player, npc, trade) end function onTrigger(player, npc) - EventTriggerBCNM(player, npc, 2) + EventTriggerBCNM(player, npc) end function onEventUpdate(player, csid, option, extras) diff --git a/scripts/zones/LaLoff_Amphitheater/npcs/qm1_3.lua b/scripts/zones/LaLoff_Amphitheater/npcs/qm1_3.lua index 86d24a7c0cc..4f4251ec384 100644 --- a/scripts/zones/LaLoff_Amphitheater/npcs/qm1_3.lua +++ b/scripts/zones/LaLoff_Amphitheater/npcs/qm1_3.lua @@ -10,7 +10,7 @@ function onTrade(player, npc, trade) end function onTrigger(player, npc) - EventTriggerBCNM(player, npc, 3) + EventTriggerBCNM(player, npc) end function onEventUpdate(player, csid, option, extras) diff --git a/scripts/zones/LaLoff_Amphitheater/npcs/qm1_4.lua b/scripts/zones/LaLoff_Amphitheater/npcs/qm1_4.lua index da91e8d9069..4f4251ec384 100644 --- a/scripts/zones/LaLoff_Amphitheater/npcs/qm1_4.lua +++ b/scripts/zones/LaLoff_Amphitheater/npcs/qm1_4.lua @@ -10,7 +10,7 @@ function onTrade(player, npc, trade) end function onTrigger(player, npc) - EventTriggerBCNM(player, npc, 4) + EventTriggerBCNM(player, npc) end function onEventUpdate(player, csid, option, extras) diff --git a/scripts/zones/LaLoff_Amphitheater/npcs/qm1_5.lua b/scripts/zones/LaLoff_Amphitheater/npcs/qm1_5.lua index ec3e3c508c3..4f4251ec384 100644 --- a/scripts/zones/LaLoff_Amphitheater/npcs/qm1_5.lua +++ b/scripts/zones/LaLoff_Amphitheater/npcs/qm1_5.lua @@ -10,7 +10,7 @@ function onTrade(player, npc, trade) end function onTrigger(player, npc) - EventTriggerBCNM(player, npc, 5) + EventTriggerBCNM(player, npc) end function onEventUpdate(player, csid, option, extras) diff --git a/scripts/zones/Temenos/IDs.lua b/scripts/zones/Temenos/IDs.lua index a3502d9e3d0..4adc6e46570 100644 --- a/scripts/zones/Temenos/IDs.lua +++ b/scripts/zones/Temenos/IDs.lua @@ -17,6 +17,7 @@ zones[dsp.zone.TEMENOS] = CHIP_TRADE_T = 7028, -- What do you wish to do? Show me the cutscene again. Skip the cutscene and continue. 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... CONQUEST_BASE = 7375, -- Tallying conquest results... }, diff --git a/scripts/zones/Temenos/npcs/Matter_Diffusion_Module.lua b/scripts/zones/Temenos/npcs/Matter_Diffusion_Module.lua index b94e698ccce..d393af02e83 100644 --- a/scripts/zones/Temenos/npcs/Matter_Diffusion_Module.lua +++ b/scripts/zones/Temenos/npcs/Matter_Diffusion_Module.lua @@ -11,7 +11,11 @@ function onTrade(player, npc, trade) end function onTrigger(player, npc) - EventTriggerBCNM(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) From a314c6582c51338af76bb34109576b0ed541c460 Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Thu, 24 Oct 2019 05:47:16 -0400 Subject: [PATCH 13/33] Fix Scanning Device to show correct options. Renamed some variables to be more descriptive. Update time remaining var only once per minute. --- .../bcnms/central_temenos_1st_floor.lua | 6 ++- .../bcnms/central_temenos_2nd_floor.lua | 6 ++- .../bcnms/central_temenos_3rd_floor.lua | 6 ++- .../bcnms/central_temenos_4th_floor.lua | 6 ++- .../bcnms/central_temenos_basement.lua | 6 ++- .../Temenos/bcnms/temenos_eastern_tower.lua | 6 ++- .../Temenos/bcnms/temenos_northern_tower.lua | 6 ++- .../Temenos/bcnms/temenos_western_tower.lua | 6 ++- scripts/zones/Temenos/npcs/Armoury_Crate.lua | 1 - .../zones/Temenos/npcs/Scanning_Device.lua | 46 ++++++++++++------- 10 files changed, 61 insertions(+), 34 deletions(-) diff --git a/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua index 88678748de7..5e52475aa64 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua @@ -8,13 +8,15 @@ require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) - SetServerVariable("[1303]Time", 0) + SetServerVariable("[Central_Temenos_1st_Floor]Time", 0) limbus.hideTemenosDoors(Central_Temenos_1st_Floor) limbus.hideArmouryCrates(Central_Temenos_1st_Floor, TEMENOS) end function onBattlefieldTick(battlefield, tick) - SetServerVariable("[1303]Time", battlefield:getRemainingTime()/60) + if battlefield:getRemainingTime() % 60 == 0 then + SetServerVariable("[Central_Temenos_1st_Floor]Time", battlefield:getRemainingTime()/60) + end dsp.battlefield.onBattlefieldTick(battlefield, tick) end diff --git a/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua index 277e99e0341..f0c0289390e 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua @@ -8,13 +8,15 @@ require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) - SetServerVariable("[1304]Time", 0) + SetServerVariable("[Central_Temenos_2nd_Floor]Time", 0) limbus.hideTemenosDoors(Central_Temenos_2nd_Floor) limbus.hideArmouryCrates(Central_Temenos_2nd_Floor, TEMENOS) end function onBattlefieldTick(battlefield, tick) - SetServerVariable("[1304]Time", battlefield:getRemainingTime()/60) + if battlefield:getRemainingTime() % 60 == 0 then + SetServerVariable("[Central_Temenos_2nd_Floor]Time", battlefield:getRemainingTime()/60) + end dsp.battlefield.onBattlefieldTick(battlefield, tick) end diff --git a/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua index 342653e779a..892dc92b7ae 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua @@ -8,13 +8,15 @@ require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) - SetServerVariable("[1305]Time", 0) + SetServerVariable("[Central_Temenos_3rd_Floor]Time", 0) limbus.hideTemenosDoors(Central_Temenos_3rd_Floor) limbus.hideArmouryCrates(Central_Temenos_3rd_Floor, TEMENOS) end function onBattlefieldTick(battlefield, tick) - SetServerVariable("[1305]Time", battlefield:getRemainingTime()/60) + if battlefield:getRemainingTime() % 60 == 0 then + SetServerVariable("[Central_Temenos_3rd_Floor]Time", battlefield:getRemainingTime()/60) + end dsp.battlefield.onBattlefieldTick(battlefield, tick) end diff --git a/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua index 0a7b20c1232..1f98b1246fd 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua @@ -8,14 +8,16 @@ require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) - SetServerVariable("[1306]Time", 0) + SetServerVariable("[Central_Temenos_4th_Floor]Time", 0) limbus.hideArmouryCrates(Central_Temenos_4th_Floor, TEMENOS) limbus.hideTemenosDoors(Central_Temenos_4th_Floor) limbus.spawnArmouryCrates(Central_Temenos_4th_Floor) end function onBattlefieldTick(battlefield, tick) - SetServerVariable("[1306]Time", battlefield:getRemainingTime()/60) + if battlefield:getRemainingTime() % 60 == 0 then + SetServerVariable("[Central_Temenos_4th_Floor]Time", battlefield:getRemainingTime()/60) + end dsp.battlefield.onBattlefieldTick(battlefield, tick) end diff --git a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua index 6b7aa1ea11e..41b5c5c42a5 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua @@ -7,13 +7,15 @@ require("scripts/globals/battlefield") require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) - SetServerVariable("[1301]Time", 0) + SetServerVariable("[Central_Temenos_Basement]Time", 0) limbus.hideTemenosDoors(Central_Temenos_Basement) limbus.hideArmouryCrates(Central_Temenos_Basement, TEMENOS) end function onBattlefieldTick(battlefield, tick) - SetServerVariable("[1301]Time", battlefield:getRemainingTime()/60) + if battlefield:getRemainingTime() % 60 == 0 then + SetServerVariable("[Central_Temenos_Basement]Time", battlefield:getRemainingTime()/60) + end dsp.battlefield.onBattlefieldTick(battlefield, tick) end diff --git a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua index c99d2b5c931..45e9d65586e 100644 --- a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua @@ -8,13 +8,15 @@ require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) - SetServerVariable("[1300]Time", 0) + SetServerVariable("[Temenos_Eastern_Tower]Time", 0) limbus.hideArmouryCrates(Temenos_Eastern_Tower, TEMENOS) limbus.hideTemenosDoors(Temenos_Eastern_Tower) end function onBattlefieldTick(battlefield, tick) - SetServerVariable("[1300]Time", battlefield:getRemainingTime()/60) + if battlefield:getRemainingTime() % 60 == 0 then + SetServerVariable("[Temenos_Eastern_Tower]Time", battlefield:getRemainingTime()/60) + end dsp.battlefield.onBattlefieldTick(battlefield, tick) end diff --git a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua index 8848932feb0..20f6bfd03d7 100644 --- a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua @@ -8,13 +8,15 @@ require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) - SetServerVariable("[1299]Time", 0) + SetServerVariable("[Temenos_Northern_Tower]Time", 0) limbus.hideTemenosDoors(Temenos_Northern_Tower) limbus.hideArmouryCrates(Temenos_Northern_Tower, TEMENOS) end function onBattlefieldTick(battlefield, tick) - SetServerVariable("[1299]Time", battlefield:getRemainingTime()/60) + if battlefield:getRemainingTime() % 60 == 0 then + SetServerVariable("[Temenos_Northern_Tower]Time", battlefield:getRemainingTime()/60) + end dsp.battlefield.onBattlefieldTick(battlefield, tick) end diff --git a/scripts/zones/Temenos/bcnms/temenos_western_tower.lua b/scripts/zones/Temenos/bcnms/temenos_western_tower.lua index a5061679d78..e9c94128d75 100644 --- a/scripts/zones/Temenos/bcnms/temenos_western_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_western_tower.lua @@ -8,13 +8,15 @@ require("scripts/globals/keyitems") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) - SetServerVariable("[1298]Time", 0) + SetServerVariable("[Temenos_Western_Tower]Time", 0) limbus.hideTemenosDoors(Temenos_Western_Tower) limbus.hideArmouryCrates(Temenos_Western_Tower, TEMENOS) end function onBattlefieldTick(battlefield, tick) - SetServerVariable("[1298]Time", battlefield:getRemainingTime()/60) + if battlefield:getRemainingTime() % 60 == 0 then + SetServerVariable("[Temenos_Western_Tower]Time", battlefield:getRemainingTime()/60) + end dsp.battlefield.onBattlefieldTick(battlefield, tick) end diff --git a/scripts/zones/Temenos/npcs/Armoury_Crate.lua b/scripts/zones/Temenos/npcs/Armoury_Crate.lua index fa638233d88..1b49557194e 100644 --- a/scripts/zones/Temenos/npcs/Armoury_Crate.lua +++ b/scripts/zones/Temenos/npcs/Armoury_Crate.lua @@ -893,7 +893,6 @@ function onTrigger(player, npc) if not battlefield then return end - local ID = zones[37] local cofferID = npc:getID() local X = npc:getXPos() local Y = npc:getYPos() diff --git a/scripts/zones/Temenos/npcs/Scanning_Device.lua b/scripts/zones/Temenos/npcs/Scanning_Device.lua index 041a433ce48..1f59017a56f 100644 --- a/scripts/zones/Temenos/npcs/Scanning_Device.lua +++ b/scripts/zones/Temenos/npcs/Scanning_Device.lua @@ -4,49 +4,61 @@ -- !pos 586 0 66 37 ----------------------------------- require("scripts/globals/limbus") +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) if not player:battlefieldAtCapacity(1299) then - SetServerVariable("[1299]Time", 0) + SetServerVariable("[Temenos_Northern_Tower]Time", 0) end if not player:battlefieldAtCapacity(1300) then - SetServerVariable("[1300]Time", 0) + SetServerVariable("[Temenos_Eastern_Tower]Time", 0) end if not player:battlefieldAtCapacity(1298) then - SetServerVariable("[1298]Time", 0) + SetServerVariable("[Temenos_Western_Tower]Time", 0) end if not player:battlefieldAtCapacity(1306) then - SetServerVariable("[1306]Time", 0) + SetServerVariable("[Central_Temenos_4th_Floor]Time", 0) end if not player:battlefieldAtCapacity(1305) then - SetServerVariable("[1305]Time", 0) + SetServerVariable("[Central_Temenos_3rd_Floor]Time", 0) end if not player:battlefieldAtCapacity(1304) then - SetServerVariable("[1304]Time", 0) + SetServerVariable("[Central_Temenos_2nd_Floor]Time", 0) end if not player:battlefieldAtCapacity(1303) then - SetServerVariable("[1303]Time", 0) + SetServerVariable("[Central_Temenos_1st_Floor]Time", 0) end if not player:battlefieldAtCapacity(1301) then - SetServerVariable("[1301]Time", 0) + SetServerVariable("[Central_Temenos_Basement]Time", 0) end - player:startEvent(121, 511) + player:startEvent(121, 15) end function onEventUpdate(player, csid, option) local time = 0 switch (option): caseof { - [1] = function() time = GetServerVariable("[1299]Time") end, -- Northern Tower - [2] = function() time = GetServerVariable("[1300]Time") end, -- Eastern Tower - [3] = function() time = GetServerVariable("[1298]Time") end, -- Western Tower - [4] = function() time = GetServerVariable("[1306]Time") end, -- Central 4th - [5] = function() time = GetServerVariable("[1305]Time") end, -- Central 3rd - [6] = function() time = GetServerVariable("[1304]Time") end, -- Central 2nd - [7] = function() time = GetServerVariable("[1303]Time") end, -- Central 1st - [8] = function() time = GetServerVariable("[1301]Time") 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 From e5fa54f73da65afc598f82dfe0461a11158fba20 Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Fri, 25 Oct 2019 11:53:55 -0400 Subject: [PATCH 14/33] Start removal of limbus.isMobDead, replaced with npc:isDead for more accurate results. Set correct time remaining value on battlefield init for that first minute and clear it on battlefield destruction and zone init. Removed the server var cleaning from Scanning Device since it should clean itself now. --- scripts/globals/limbus.lua | 22 ++++++++--------- scripts/zones/Temenos/Zone.lua | 8 +++++++ .../bcnms/central_temenos_1st_floor.lua | 8 ++++++- .../bcnms/central_temenos_2nd_floor.lua | 8 ++++++- .../bcnms/central_temenos_3rd_floor.lua | 8 ++++++- .../bcnms/central_temenos_4th_floor.lua | 8 ++++++- .../bcnms/central_temenos_basement.lua | 8 ++++++- .../Temenos/bcnms/temenos_eastern_tower.lua | 8 ++++++- .../Temenos/bcnms/temenos_northern_tower.lua | 8 ++++++- .../Temenos/bcnms/temenos_western_tower.lua | 8 ++++++- .../Temenos/mobs/Abyssdweller_Jhabdebb.lua | 10 ++++---- scripts/zones/Temenos/mobs/Air_Elemental.lua | 2 +- scripts/zones/Temenos/mobs/Airi.lua | 8 +++---- scripts/zones/Temenos/mobs/Beli.lua | 2 +- .../Temenos/mobs/Cryptonberry_Charmer.lua | 2 +- .../Temenos/mobs/Cryptonberry_Skulker.lua | 2 +- scripts/zones/Temenos/mobs/Dark_Elemental.lua | 4 ++-- .../zones/Temenos/mobs/Earth_Elemental.lua | 2 +- .../zones/Temenos/mobs/Enhanced_Ahriman.lua | 8 +++---- .../zones/Temenos/mobs/Enhanced_Dragon.lua | 8 +++---- .../zones/Temenos/mobs/Enhanced_Vulture.lua | 6 ++--- scripts/zones/Temenos/mobs/Fire_Elemental.lua | 2 +- scripts/zones/Temenos/mobs/Goblin_Fencer.lua | 6 ++--- .../zones/Temenos/mobs/Goblin_Theurgist.lua | 6 ++--- scripts/zones/Temenos/mobs/Goblin_Warlord.lua | 6 ++--- scripts/zones/Temenos/mobs/Ice_Elemental.lua | 2 +- scripts/zones/Temenos/mobs/Iruci.lua | 8 +++---- .../Temenos/mobs/Kindred_Dark_Knight.lua | 2 +- .../zones/Temenos/mobs/Kindred_Summoner.lua | 2 +- .../zones/Temenos/mobs/Kindred_Warrior.lua | 2 +- .../zones/Temenos/mobs/Light_Elemental.lua | 4 ++-- scripts/zones/Temenos/mobs/Mystic_Avatar.lua | 14 +++++------ .../zones/Temenos/mobs/Orichalcum_Quadav.lua | 10 ++++---- .../Temenos/mobs/Pee_Qoho_the_Python.lua | 10 ++++---- .../Temenos/mobs/Praetorian_Guard_CCCXI.lua | 4 ++-- .../Temenos/mobs/Praetorian_Guard_CCXX.lua | 4 ++-- .../Temenos/mobs/Praetorian_Guard_CXLVIII.lua | 4 ++-- .../Temenos/mobs/Praetorian_Guard_LXXIII.lua | 4 ++-- scripts/zones/Temenos/mobs/Skadi.lua | 2 +- scripts/zones/Temenos/mobs/Telchines_Bard.lua | 2 +- scripts/zones/Temenos/mobs/Telchines_Monk.lua | 4 ++-- .../Temenos/mobs/Telchines_White_Mage.lua | 2 +- .../zones/Temenos/mobs/Temenos_Cleaner.lua | 8 +++---- scripts/zones/Temenos/mobs/Temenos_Weapon.lua | 8 +++---- scripts/zones/Temenos/mobs/Thrym.lua | 2 +- .../zones/Temenos/mobs/Thunder_Elemental.lua | 2 +- .../zones/Temenos/mobs/Water_Elemental.lua | 2 +- scripts/zones/Temenos/npcs/Armoury_Crate.lua | 4 ---- .../Temenos/npcs/Matter_Diffusion_Module.lua | 6 ++++- .../zones/Temenos/npcs/Scanning_Device.lua | 24 ------------------- 50 files changed, 168 insertions(+), 136 deletions(-) diff --git a/scripts/globals/limbus.lua b/scripts/globals/limbus.lua index 930336dcd70..c26b954b439 100644 --- a/scripts/globals/limbus.lua +++ b/scripts/globals/limbus.lua @@ -503,19 +503,19 @@ end function limbus.despawnCS() for n = 16933130, 16933136 do - if not limbus.isMobDead(n) then + if GetMobByID(n):isAlive() then DespawnMob(n) end end for n = 16933138, 16933143 do - if not limbus.isMobDead(n) then + if GetMobByID(n):isAlive() then DespawnMob(n) end end for n = 16933145, 16933152 do - if not limbus.isMobDead(n) then + if GetMobByID(n):isAlive() then DespawnMob(n) end end @@ -525,35 +525,35 @@ function IselementalDayAreDead() local day = GetServerVariable("[SW_Apollyon]ElementalTrigger") - 1 local daykill=false if (day == 0) then -- fire - if (limbus.isMobDead(16932913) == true and limbus.isMobDead(16932921) == true and limbus.isMobDead(16932929) == true) then + if (GetMobByID(16932913):isDead() and GetMobByID(16932921):isDead() and GetMobByID(16932929):isDead()) then daykill = true end elseif (day == 1) then -- earth - if (limbus.isMobDead(16932912) == true and limbus.isMobDead(16932920) == true and limbus.isMobDead(16932928) == true) then + if (GetMobByID(16932912):isDead() and GetMobByID(16932920):isDead() and GetMobByID(16932928):isDead()) then daykill = true end elseif (day == 2) then -- water - if (limbus.isMobDead(16932916) == true and limbus.isMobDead(16932924) == true and limbus.isMobDead(16932932) == true) then + if (GetMobByID(16932916):isDead() and GetMobByID(16932924):isDead() and GetMobByID(16932932):isDead()) then daykill = true end elseif (day == 3) then -- wind - if (limbus.isMobDead(16932910) == true and limbus.isMobDead(16932918) == true and limbus.isMobDead(16932926) == true) then + if (GetMobByID(16932910):isDead() and GetMobByID(16932918):isDead() and GetMobByID(16932926):isDead()) then daykill = true end elseif (day == 4) then -- ice - if (limbus.isMobDead(16932914) == true and limbus.isMobDead(16932922) == true and limbus.isMobDead(16932930) == true) then + if (GetMobByID(16932914):isDead() and GetMobByID(16932922):isDead() and GetMobByID(16932930):isDead()) then daykill = true end elseif (day == 5) then -- lightning - if (limbus.isMobDead(16932917) == true and limbus.isMobDead(16932925) == true and limbus.isMobDead(16932933) == true) then + if (GetMobByID(16932917):isDead() and GetMobByID(16932925):isDead() and GetMobByID(16932933):isDead()) then daykill = true end elseif (day == 6) then -- ligth - if (limbus.isMobDead(16932931) == true and limbus.isMobDead(16932915) == true and limbus.isMobDead(16932923) == true) then + if (GetMobByID(16932931):isDead() and GetMobByID(16932915):isDead() and GetMobByID(16932923):isDead()) then daykill = true end elseif (day == 7) then -- dark - if (limbus.isMobDead(16932911) == true and limbus.isMobDead(16932919) == true and limbus.isMobDead(16932927) == true) then + if (GetMobByID(16932911):isDead() and GetMobByID(16932919):isDead() and GetMobByID(16932927):isDead()) then daykill = true end end diff --git a/scripts/zones/Temenos/Zone.lua b/scripts/zones/Temenos/Zone.lua index 9707b542df6..5e7f0e1672c 100644 --- a/scripts/zones/Temenos/Zone.lua +++ b/scripts/zones/Temenos/Zone.lua @@ -9,6 +9,14 @@ require("scripts/globals/settings") ----------------------------------- function onInitialize(zone) + 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) end function onConquestUpdate(zone, updatetype) diff --git a/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua index 5e52475aa64..703b9c21c89 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua @@ -5,10 +5,11 @@ require("scripts/globals/limbus") require("scripts/globals/battlefield") require("scripts/globals/keyitems") +local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) - SetServerVariable("[Central_Temenos_1st_Floor]Time", 0) + SetServerVariable("[Central_Temenos_1st_Floor]Time", battlefield:getTimeLimit()/60) limbus.hideTemenosDoors(Central_Temenos_1st_Floor) limbus.hideArmouryCrates(Central_Temenos_1st_Floor, TEMENOS) end @@ -28,7 +29,12 @@ function onBattlefieldEnter(player, battlefield) player:delKeyItem(dsp.ki.WHITE_CARD) end +function onBattlefieldDestroy(battlefield) + SetServerVariable("[Central_Temenos_1st_Floor]Time", 0) +end + 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) diff --git a/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua index f0c0289390e..069bb262dfe 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua @@ -5,10 +5,11 @@ require("scripts/globals/limbus") require("scripts/globals/battlefield") require("scripts/globals/keyitems") +local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) - SetServerVariable("[Central_Temenos_2nd_Floor]Time", 0) + SetServerVariable("[Central_Temenos_2nd_Floor]Time", battlefield:getTimeLimit()/60) limbus.hideTemenosDoors(Central_Temenos_2nd_Floor) limbus.hideArmouryCrates(Central_Temenos_2nd_Floor, TEMENOS) end @@ -28,7 +29,12 @@ function onBattlefieldEnter(player, battlefield) player:delKeyItem(dsp.ki.WHITE_CARD) end +function onBattlefieldDestroy(battlefield) + SetServerVariable("[Central_Temenos_2nd_Floor]Time", 0) +end + 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) diff --git a/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua index 892dc92b7ae..d6e143af2c6 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua @@ -5,10 +5,11 @@ require("scripts/globals/limbus") require("scripts/globals/battlefield") require("scripts/globals/keyitems") +local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) - SetServerVariable("[Central_Temenos_3rd_Floor]Time", 0) + SetServerVariable("[Central_Temenos_3rd_Floor]Time", battlefield:getTimeLimit()/60) limbus.hideTemenosDoors(Central_Temenos_3rd_Floor) limbus.hideArmouryCrates(Central_Temenos_3rd_Floor, TEMENOS) end @@ -28,7 +29,12 @@ function onBattlefieldEnter(player, battlefield) player:delKeyItem(dsp.ki.WHITE_CARD) end +function onBattlefieldDestroy(battlefield) + SetServerVariable("[Central_Temenos_3rd_Floor]Time", 0) +end + 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) diff --git a/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua index 1f98b1246fd..9a612dc38f4 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua @@ -5,10 +5,11 @@ require("scripts/globals/limbus") require("scripts/globals/battlefield") require("scripts/globals/keyitems") +local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) - SetServerVariable("[Central_Temenos_4th_Floor]Time", 0) + SetServerVariable("[Central_Temenos_4th_Floor]Time", battlefield:getTimeLimit()/60) limbus.hideArmouryCrates(Central_Temenos_4th_Floor, TEMENOS) limbus.hideTemenosDoors(Central_Temenos_4th_Floor) limbus.spawnArmouryCrates(Central_Temenos_4th_Floor) @@ -29,7 +30,12 @@ function onBattlefieldEnter(player, battlefield) player:delKeyItem(dsp.ki.WHITE_CARD) end +function onBattlefieldDestroy(battlefield) + SetServerVariable("[Central_Temenos_4th_Floor]Time", 0) +end + 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) diff --git a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua index 41b5c5c42a5..eb171ee5e07 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua @@ -5,9 +5,10 @@ require("scripts/globals/limbus") require("scripts/globals/battlefield") require("scripts/globals/keyitems") +local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) - SetServerVariable("[Central_Temenos_Basement]Time", 0) + SetServerVariable("[Central_Temenos_Basement]Time", battlefield:getTimeLimit()/60) limbus.hideTemenosDoors(Central_Temenos_Basement) limbus.hideArmouryCrates(Central_Temenos_Basement, TEMENOS) end @@ -27,7 +28,12 @@ function onBattlefieldEnter(player, battlefield) player:delKeyItem(dsp.ki.WHITE_CARD) end +function onBattlefieldDestroy(battlefield) + SetServerVariable("[Central_Temenos_Basement]Time", 0) +end + 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) diff --git a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua index 45e9d65586e..ee56a04732d 100644 --- a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua @@ -5,10 +5,11 @@ require("scripts/globals/limbus") require("scripts/globals/battlefield") require("scripts/globals/keyitems") +local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) - SetServerVariable("[Temenos_Eastern_Tower]Time", 0) + SetServerVariable("[Temenos_Eastern_Tower]Time", battlefield:getTimeLimit()/60) limbus.hideArmouryCrates(Temenos_Eastern_Tower, TEMENOS) limbus.hideTemenosDoors(Temenos_Eastern_Tower) end @@ -28,7 +29,12 @@ function onBattlefieldEnter(player, battlefield) player:delKeyItem(dsp.ki.WHITE_CARD) end +function onBattlefieldDestroy(battlefield) + SetServerVariable("[Temenos_Eastern_Tower]Time", 0) +end + 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) diff --git a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua index 20f6bfd03d7..c5d8ee695cb 100644 --- a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua @@ -5,10 +5,11 @@ require("scripts/globals/limbus") require("scripts/globals/battlefield") require("scripts/globals/keyitems") +local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) - SetServerVariable("[Temenos_Northern_Tower]Time", 0) + SetServerVariable("[Temenos_Northern_Tower]Time", battlefield:getTimeLimit()/60) limbus.hideTemenosDoors(Temenos_Northern_Tower) limbus.hideArmouryCrates(Temenos_Northern_Tower, TEMENOS) end @@ -28,7 +29,12 @@ function onBattlefieldEnter(player, battlefield) player:delKeyItem(dsp.ki.WHITE_CARD) end +function onBattlefieldDestroy(battlefield) + SetServerVariable("[Temenos_Northern_Tower]Time", 0) +end + 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) diff --git a/scripts/zones/Temenos/bcnms/temenos_western_tower.lua b/scripts/zones/Temenos/bcnms/temenos_western_tower.lua index e9c94128d75..8b4dd3abdb3 100644 --- a/scripts/zones/Temenos/bcnms/temenos_western_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_western_tower.lua @@ -5,10 +5,11 @@ require("scripts/globals/limbus") require("scripts/globals/battlefield") require("scripts/globals/keyitems") +local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) - SetServerVariable("[Temenos_Western_Tower]Time", 0) + SetServerVariable("[Temenos_Western_Tower]Time", battlefield:getTimeLimit()/60) limbus.hideTemenosDoors(Temenos_Western_Tower) limbus.hideArmouryCrates(Temenos_Western_Tower, TEMENOS) end @@ -28,7 +29,12 @@ function onBattlefieldEnter(player, battlefield) player:delKeyItem(dsp.ki.WHITE_CARD) end +function onBattlefieldDestroy(battlefield) + SetServerVariable("[Temenos_Western_Tower]Time", 0) +end + 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) diff --git a/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua b/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua index 41c195fb9ee..a5be673a9e7 100644 --- a/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua +++ b/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua @@ -7,9 +7,9 @@ local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+5) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+6) and - limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+7) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+8) and - limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+9) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+10) + 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) @@ -26,8 +26,8 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+1) and - limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+2) + 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.COFFER_OFFSET+78):setPos(-280, -161, -440) GetNPCByID(ID.npc.COFFER_OFFSET+78):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Air_Elemental.lua b/scripts/zones/Temenos/mobs/Air_Elemental.lua index 3fbcf93882a..710c2a738ff 100644 --- a/scripts/zones/Temenos/mobs/Air_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Air_Elemental.lua @@ -30,7 +30,7 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(ID.npc.COFFER_OFFSET+46):setStatus(dsp.status.NORMAL) end, [ID.mob.TEMENOS_C_MOB[2]+5] = function () - if not limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+6) then + 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 diff --git a/scripts/zones/Temenos/mobs/Airi.lua b/scripts/zones/Temenos/mobs/Airi.lua index 0da7ffdd344..e9d84a3b610 100644 --- a/scripts/zones/Temenos/mobs/Airi.lua +++ b/scripts/zones/Temenos/mobs/Airi.lua @@ -7,7 +7,7 @@ local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+1) then + 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 @@ -17,9 +17,9 @@ function onMobDeath(mob, player, isKiller) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+1) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+2) and - limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+3) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+4) and - limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+5) + 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.COFFER_OFFSET+71):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+71):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Beli.lua b/scripts/zones/Temenos/mobs/Beli.lua index 80d19952f19..0ac934f3978 100644 --- a/scripts/zones/Temenos/mobs/Beli.lua +++ b/scripts/zones/Temenos/mobs/Beli.lua @@ -12,7 +12,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[2]) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[2]+1) then + if GetMobByID(ID.mob.TEMENOS_N_MOB[2]):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[2]+1):isDead() then GetNPCByID(ID.npc.COFFER_OFFSET+19):setPos(200, -82, 495) GetNPCByID(ID.npc.COFFER_OFFSET+19):setStatus(dsp.status.NORMAL) GetNPCByID(ID.npc.COFFER_OFFSET+153):setPos(206, -82, 495) diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua index 7fe8876eb19..9fb899474c9 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua @@ -10,7 +10,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[6]+1) then + if GetMobByID(ID.mob.TEMENOS_N_MOB[6]+1):isDead() then GetNPCByID(ID.npc.COFFER_OFFSET+38):setPos(-412, -78, 426) GetNPCByID(ID.npc.COFFER_OFFSET+38):setStatus(dsp.status.NORMAL) GetNPCByID(ID.npc.COFFER_OFFSET+172):setPos(-415, -78, 427) diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua index 02a4e09a4e9..4ade0bad982 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua @@ -10,7 +10,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[6]) then + if GetMobByID(ID.mob.TEMENOS_N_MOB[6]):isDead() then GetNPCByID(ID.npc.COFFER_OFFSET+38):setPos(-412, -78, 426) GetNPCByID(ID.npc.COFFER_OFFSET+38):setStatus(dsp.status.NORMAL) GetNPCByID(ID.npc.COFFER_OFFSET+172):setPos(-415, -78, 427) diff --git a/scripts/zones/Temenos/mobs/Dark_Elemental.lua b/scripts/zones/Temenos/mobs/Dark_Elemental.lua index 95ef73e8713..9d91c92a2ed 100644 --- a/scripts/zones/Temenos/mobs/Dark_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Dark_Elemental.lua @@ -20,7 +20,7 @@ function onMobDeath(mob, player, isKiller) switch (mobID): caseof { -- 100 a 106 inclut (Temenos -Northern Tower ) [ID.mob.TEMENOS_E_MOB[7]] = function () - if limbus.isMobDead(ID.mob.TEMENOS_E_MOB[7]+1) then + if GetMobByID(ID.mob.TEMENOS_E_MOB[7]+1):isDead() then GetNPCByID(ID.npc.COFFER_OFFSET+70):setPos(cofferPos[posRand]) GetNPCByID(ID.npc.COFFER_OFFSET+70):setStatus(dsp.status.NORMAL) GetNPCByID(ID.npc.COFFER_OFFSET+123):setPos(cofferPos[3-posRand]) @@ -28,7 +28,7 @@ function onMobDeath(mob, player, isKiller) end end, [ID.mob.TEMENOS_E_MOB[7]+1] = function () - if limbus.isMobDead(ID.mob.TEMENOS_E_MOB[7]) then + if GetMobByID(ID.mob.TEMENOS_E_MOB[7]):isDead() then GetNPCByID(ID.npc.COFFER_OFFSET+70):setPos(cofferPos[posRand]) GetNPCByID(ID.npc.COFFER_OFFSET+70):setStatus(dsp.status.NORMAL) GetNPCByID(ID.npc.COFFER_OFFSET+123):setPos(cofferPos[3-posRand]) diff --git a/scripts/zones/Temenos/mobs/Earth_Elemental.lua b/scripts/zones/Temenos/mobs/Earth_Elemental.lua index c6232324a4b..bfc52055c77 100644 --- a/scripts/zones/Temenos/mobs/Earth_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Earth_Elemental.lua @@ -33,7 +33,7 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(ID.npc.COFFER_OFFSET+47):setStatus(dsp.status.NORMAL) end, [ID.mob.TEMENOS_C_MOB[2]+6] = function () - if not limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+7) then + 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 diff --git a/scripts/zones/Temenos/mobs/Enhanced_Ahriman.lua b/scripts/zones/Temenos/mobs/Enhanced_Ahriman.lua index 752aa933b42..5315d2dffe9 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Ahriman.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Ahriman.lua @@ -7,7 +7,7 @@ local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+4) then + 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 @@ -17,9 +17,9 @@ function onMobDeath(mob, player, isKiller) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+1) and - limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+2) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+3) and - limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+4) + 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.COFFER_OFFSET+71):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+71):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua b/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua index d217b8e19ee..d104595ba19 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua @@ -7,7 +7,7 @@ local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+5) then + 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 @@ -17,9 +17,9 @@ function onMobDeath(mob, player, isKiller) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+1) and - limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+2) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+3) and - limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+5) + 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.COFFER_OFFSET+71):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+71):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua b/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua index 50f2fc42af3..414eb8377c8 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua @@ -19,9 +19,9 @@ function onMobDeath(mob, player, isKiller) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - if limbus.isMobDead(ID.mob.TEMENOS_W_MOB[7]) and limbus.isMobDead(ID.mob.TEMENOS_W_MOB[7]+1) and - limbus.isMobDead(ID.mob.TEMENOS_W_MOB[7]+2) and limbus.isMobDead(ID.mob.TEMENOS_W_MOB[7]+3) and - limbus.isMobDead(ID.mob.TEMENOS_W_MOB[7]+4) and limbus.isMobDead(ID.mob.TEMENOS_W_MOB[7]+5) + 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.COFFER_OFFSET+17):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+17):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Fire_Elemental.lua b/scripts/zones/Temenos/mobs/Fire_Elemental.lua index 44c776cbbcf..24639c9037c 100644 --- a/scripts/zones/Temenos/mobs/Fire_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Fire_Elemental.lua @@ -32,7 +32,7 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(ID.npc.COFFER_OFFSET+40):setStatus(dsp.status.NORMAL) end, [ID.mob.TEMENOS_C_MOB[2]+3] = function() - if not limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+4) then -- ice + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+4):isAlive() then -- ice DespawnMob(ID.mob.TEMENOS_C_MOB[2]+4) SpawnMob(ID.mob.TEMENOS_C_MOB[2]+10) end diff --git a/scripts/zones/Temenos/mobs/Goblin_Fencer.lua b/scripts/zones/Temenos/mobs/Goblin_Fencer.lua index bd00d9d2f79..161681c28e2 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Fencer.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Fencer.lua @@ -13,9 +13,9 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]+1) and - limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]+2) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]+3) and - limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]+4) + 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.COFFER_OFFSET+39):setPos(-599, 85, 438) GetNPCByID(ID.npc.COFFER_OFFSET+39):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua b/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua index 742ab45c5fe..ea52b6b91db 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua @@ -13,9 +13,9 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]+1) and - limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]+2) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]+3) and - limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]+4) + 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.COFFER_OFFSET+39):setPos(-599, 85, 438) GetNPCByID(ID.npc.COFFER_OFFSET+39):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Goblin_Warlord.lua b/scripts/zones/Temenos/mobs/Goblin_Warlord.lua index 76200d9553a..1fef9515f41 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Warlord.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Warlord.lua @@ -14,9 +14,9 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]+1) and - limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]+2) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]+2) and - limbus.isMobDead(ID.mob.TEMENOS_N_MOB[7]+4) + 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]+2):isDead() and + GetMobByID(ID.mob.TEMENOS_N_MOB[7]+4):isDead() then GetNPCByID(ID.npc.COFFER_OFFSET+39):setPos(-599, 85, 438) GetNPCByID(ID.npc.COFFER_OFFSET+39):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Ice_Elemental.lua b/scripts/zones/Temenos/mobs/Ice_Elemental.lua index cf0f7906fde..ba7492fa99e 100644 --- a/scripts/zones/Temenos/mobs/Ice_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Ice_Elemental.lua @@ -33,7 +33,7 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(ID.npc.COFFER_OFFSET+45):setStatus(dsp.status.NORMAL) end, [ID.mob.TEMENOS_C_MOB[2]+4] = function() - if not limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+5) then -- wind + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+5):isAlive() then -- wind DespawnMob(ID.mob.TEMENOS_C_MOB[2]+5) SpawnMob(ID.mob.TEMENOS_C_MOB[2]+11) end diff --git a/scripts/zones/Temenos/mobs/Iruci.lua b/scripts/zones/Temenos/mobs/Iruci.lua index 58476c897b0..1f4c7172201 100644 --- a/scripts/zones/Temenos/mobs/Iruci.lua +++ b/scripts/zones/Temenos/mobs/Iruci.lua @@ -7,7 +7,7 @@ local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+3) then + 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 @@ -17,9 +17,9 @@ function onMobDeath(mob, player, isKiller) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+1) and - limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+3) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+4) and - limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+5) + 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.COFFER_OFFSET+71):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+71):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua b/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua index c1f22365dc1..9fc5937bd27 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua @@ -10,7 +10,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[4]) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[4]+2) then + if GetMobByID(ID.mob.TEMENOS_N_MOB[4]):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[4]+2):isDead() then GetNPCByID(ID.npc.COFFER_OFFSET+27):setPos(-120, -80, 429) GetNPCByID(ID.npc.COFFER_OFFSET+27):setStatus(dsp.status.NORMAL) GetNPCByID(ID.npc.COFFER_OFFSET+161):setPos(-123, -80, 429) diff --git a/scripts/zones/Temenos/mobs/Kindred_Summoner.lua b/scripts/zones/Temenos/mobs/Kindred_Summoner.lua index 45928827f94..0b278850bf9 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Summoner.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Summoner.lua @@ -11,7 +11,7 @@ function onMobEngaged(mob,target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[4]) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[4]+1) then + if GetMobByID(ID.mob.TEMENOS_N_MOB[4]):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[4]+1):isDead() then GetNPCByID(ID.npc.COFFER_OFFSET+27):setPos(-120, -80, 429) GetNPCByID(ID.npc.COFFER_OFFSET+27):setStatus(dsp.status.NORMAL) GetNPCByID(ID.npc.COFFER_OFFSET+161):setPos(-123, -80, 429) diff --git a/scripts/zones/Temenos/mobs/Kindred_Warrior.lua b/scripts/zones/Temenos/mobs/Kindred_Warrior.lua index 265f8c3935c..78c816e2c84 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Warrior.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Warrior.lua @@ -10,7 +10,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[4]+1) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[4]+2) 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.COFFER_OFFSET+27):setPos(-120, -80, 429) GetNPCByID(ID.npc.COFFER_OFFSET+27):setStatus(dsp.status.NORMAL) GetNPCByID(ID.npc.COFFER_OFFSET+161):setPos(-123, -80, 429) diff --git a/scripts/zones/Temenos/mobs/Light_Elemental.lua b/scripts/zones/Temenos/mobs/Light_Elemental.lua index ebb4346080c..6dcbc25e909 100644 --- a/scripts/zones/Temenos/mobs/Light_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Light_Elemental.lua @@ -21,14 +21,14 @@ function onMobDeath(mob, player, isKiller) local mobID = mob:getID() switch (mobID): caseof { [ID.mob.TEMENOS_C_MOB[2]+1] = function() - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+2) then + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[2]+2):isDead() then GetNPCByID(ID.npc.COFFER_OFFSET+77):setPos(0.5, -6, -459) GetNPCByID(ID.npc.COFFER_OFFSET+77):setStatus(dsp.status.NORMAL) GetNPCByID(ID.npc.GATE_OFFSET+19):setStatus(dsp.status.NORMAL) end end, [ID.mob.TEMENOS_C_MOB[2]+2] = function() - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+1) then + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[2]+1):isDead() then GetNPCByID(ID.npc.COFFER_OFFSET+77):setPos(0.5, -6, -459) GetNPCByID(ID.npc.COFFER_OFFSET+77):setStatus(dsp.status.NORMAL) GetNPCByID(ID.npc.GATE_OFFSET+19):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Mystic_Avatar.lua b/scripts/zones/Temenos/mobs/Mystic_Avatar.lua index c7fb726e745..13a3735d453 100644 --- a/scripts/zones/Temenos/mobs/Mystic_Avatar.lua +++ b/scripts/zones/Temenos/mobs/Mystic_Avatar.lua @@ -11,37 +11,37 @@ function onMobEngaged(mob, target) 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) - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+3) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+9) then + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+3):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[2]+9):isDead() then mob:setMod(dsp.mod.FIREDEF, -128) else mob:setMod(dsp.mod.FIREDEF, 256) end - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+4) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+11) then + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+4):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[2]+11):isDead() then mob:setMod(dsp.mod.ICEDEF, -128) else mob:setMod(dsp.mod.ICEDEF, 256) end - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+5) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+12) then + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+5):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[2]+12):isDead() then mob:setMod(dsp.mod.WINDDEF, -128) else mob:setMod(dsp.mod.WINDDEF, 256) end - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+6) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+13) then + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+6):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[2]+13):isDead() then mob:setMod(dsp.mod.EARTHDEF, -128) else mob:setMod(dsp.mod.EARTHDEF, 256) end - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+7) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+14) then + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+7):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[2]+14):isDead() then mob:setMod(dsp.mod.THUNDERDEF, -128) else mob:setMod(dsp.mod.THUNDERDEF, 256) end - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+8) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+15) then + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+8):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[2]+15):isDead() then mob:setMod(dsp.mod.WATERDEF, -128) else mob:setMod(dsp.mod.WATERDEF, 256) @@ -79,7 +79,7 @@ function onMobDeath(mob, player, isKiller) elseif mobID == ID.mob.TEMENOS_E_MOB[7]+2 then --Fenrir GetNPCByID(ID.npc.COFFER_OFFSET+70):setStatus(dsp.status.NORMAL) elseif mobID == ID.mob.TEMENOS_C_MOB[2] then --Carbuncle (Central Temenos 2nd Floor) - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+1) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+2) then + if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+1):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[2]+2):isDead() then GetNPCByID(ID.npc.COFFER_OFFSET+77):setPos(0.5, -6, -459) GetNPCByID(ID.npc.COFFER_OFFSET+77):setStatus(dsp.status.NORMAL) GetNPCByID(ID.npc.GATE_OFFSET+19):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Orichalcum_Quadav.lua b/scripts/zones/Temenos/mobs/Orichalcum_Quadav.lua index 129b413e282..2823141d9e4 100644 --- a/scripts/zones/Temenos/mobs/Orichalcum_Quadav.lua +++ b/scripts/zones/Temenos/mobs/Orichalcum_Quadav.lua @@ -7,9 +7,9 @@ local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+12) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+13) and - limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+14) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+15) and - limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+16) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+17) + 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) @@ -26,8 +26,8 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+1) and - limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+2) + 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.COFFER_OFFSET+78):setPos(-280, -161, -440) GetNPCByID(ID.npc.COFFER_OFFSET+78):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Pee_Qoho_the_Python.lua b/scripts/zones/Temenos/mobs/Pee_Qoho_the_Python.lua index 52e1256bc2e..9ee03892e50 100644 --- a/scripts/zones/Temenos/mobs/Pee_Qoho_the_Python.lua +++ b/scripts/zones/Temenos/mobs/Pee_Qoho_the_Python.lua @@ -7,9 +7,9 @@ local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+18) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+19) and - limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+20) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+21) and - limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+22) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+23) + 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) @@ -26,8 +26,8 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+1) and - limbus.isMobDead(ID.mob.TEMENOS_C_MOB[3]+2) + 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.COFFER_OFFSET+78):setPos(-280, -161, -440) GetNPCByID(ID.npc.COFFER_OFFSET+78):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua index ce820e83ab6..924e1a42f82 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua @@ -10,8 +10,8 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[5]) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[5]+1) and - limbus.isMobDead(ID.mob.TEMENOS_N_MOB[5]+2) + 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.COFFER_OFFSET+28):setPos(-311, 80, 419) GetNPCByID(ID.npc.COFFER_OFFSET+28):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua index 7c758d97d43..5c3b99d82ee 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua @@ -10,8 +10,8 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[5]+1) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[5]+2) and - limbus.isMobDead(ID.mob.TEMENOS_N_MOB[5]+3) + 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.COFFER_OFFSET+28):setPos(-311, 80, 419) GetNPCByID(ID.npc.COFFER_OFFSET+28):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua index 75458a9bf73..0ae6effc9ac 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua @@ -10,8 +10,8 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[5]) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[5]+1) and - limbus.isMobDead(ID.mob.TEMENOS_N_MOB[5]+3) + 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.COFFER_OFFSET+28):setPos(-311, 80, 419) GetNPCByID(ID.npc.COFFER_OFFSET+28):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua index 3aa70437cba..dc0610ef8f9 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua @@ -10,8 +10,8 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[5]) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[5]+2) and - limbus.isMobDead(ID.mob.TEMENOS_N_MOB[5]+3) + 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.COFFER_OFFSET+28):setPos(-311, 80, 419) GetNPCByID(ID.npc.COFFER_OFFSET+28):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Skadi.lua b/scripts/zones/Temenos/mobs/Skadi.lua index 8115480d847..f9da2d3490c 100644 --- a/scripts/zones/Temenos/mobs/Skadi.lua +++ b/scripts/zones/Temenos/mobs/Skadi.lua @@ -12,7 +12,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[2]+1) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[2]+2) 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.COFFER_OFFSET+19):setPos(200, -82, 495) GetNPCByID(ID.npc.COFFER_OFFSET+19):setStatus(dsp.status.NORMAL) GetNPCByID(ID.npc.COFFER_OFFSET+153):setPos(206, -82, 495) diff --git a/scripts/zones/Temenos/mobs/Telchines_Bard.lua b/scripts/zones/Temenos/mobs/Telchines_Bard.lua index de1708cbbad..bdb54fd0e73 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Bard.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Bard.lua @@ -10,7 +10,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[3]+1) then + if GetMobByID(ID.mob.TEMENOS_N_MOB[3]+1):isDead() then GetNPCByID(ID.npc.COFFER_OFFSET+26):setPos(19, 80, 430) GetNPCByID(ID.npc.COFFER_OFFSET+26):setStatus(dsp.status.NORMAL) GetNPCByID(ID.npc.COFFER_OFFSET+160):setPos(16, 80, 430) diff --git a/scripts/zones/Temenos/mobs/Telchines_Monk.lua b/scripts/zones/Temenos/mobs/Telchines_Monk.lua index 93721c51f09..cddf6ee051a 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Monk.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Monk.lua @@ -10,8 +10,8 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[3]) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[3]+1) and - limbus.isMobDead(ID.mob.TEMENOS_N_MOB[3]+4) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[3]+5) + if GetMobByID(ID.mob.TEMENOS_N_MOB[3]):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[3]+1):isDead() and + GetMobByID(ID.mob.TEMENOS_N_MOB[3]+4):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[3]+5):isDead() then GetNPCByID(ID.npc.COFFER_OFFSET+26):setPos(19, 80, 430) GetNPCByID(ID.npc.COFFER_OFFSET+26):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua b/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua index 05dff1f99a4..f0367923bfd 100644 --- a/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua +++ b/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua @@ -10,7 +10,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[3]) then + if GetMobByID(ID.mob.TEMENOS_N_MOB[3]):isDead() then GetNPCByID(ID.npc.COFFER_OFFSET+26):setPos(19, 80, 430) GetNPCByID(ID.npc.COFFER_OFFSET+26):setStatus(dsp.status.NORMAL) GetNPCByID(ID.npc.COFFER_OFFSET+160):setPos(16, 80, 430) diff --git a/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua b/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua index 6382f80b322..9a92c307fe0 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua @@ -7,7 +7,7 @@ local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]) then + 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 @@ -17,9 +17,9 @@ function onMobDeath(mob, player, isKiller) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+2) and - limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+3) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+4) and - limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+5) + 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.COFFER_OFFSET+71):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+71):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Temenos_Weapon.lua b/scripts/zones/Temenos/mobs/Temenos_Weapon.lua index 502f0ce1d37..c6ea6f7d079 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Weapon.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Weapon.lua @@ -7,7 +7,7 @@ local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobEngaged(mob, target) - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+2) then + 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 @@ -17,9 +17,9 @@ function onMobDeath(mob, player, isKiller) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - if limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+1) and - limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+2) and limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+4) and - limbus.isMobDead(ID.mob.TEMENOS_C_MOB[1]+5) + 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.COFFER_OFFSET+71):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+71):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Thrym.lua b/scripts/zones/Temenos/mobs/Thrym.lua index 26323a3ea57..7375d94957a 100644 --- a/scripts/zones/Temenos/mobs/Thrym.lua +++ b/scripts/zones/Temenos/mobs/Thrym.lua @@ -12,7 +12,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if limbus.isMobDead(ID.mob.TEMENOS_N_MOB[2]) and limbus.isMobDead(ID.mob.TEMENOS_N_MOB[2]+2) then + if GetMobByID(ID.mob.TEMENOS_N_MOB[2]):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[2]+2):isDead() then GetNPCByID(ID.npc.COFFER_OFFSET+19):setPos(200, -82, 495) GetNPCByID(ID.npc.COFFER_OFFSET+19):setStatus(dsp.status.NORMAL) GetNPCByID(ID.npc.COFFER_OFFSET+153):setPos(206, -82, 495) diff --git a/scripts/zones/Temenos/mobs/Thunder_Elemental.lua b/scripts/zones/Temenos/mobs/Thunder_Elemental.lua index 0185d89dd9b..33f9795f78e 100644 --- a/scripts/zones/Temenos/mobs/Thunder_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Thunder_Elemental.lua @@ -33,7 +33,7 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(ID.npc.COFFER_OFFSET+68):setStatus(dsp.status.NORMAL) end, [ID.mob.TEMENOS_C_MOB[2]+7] = function() - if not limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+8) then + 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 diff --git a/scripts/zones/Temenos/mobs/Water_Elemental.lua b/scripts/zones/Temenos/mobs/Water_Elemental.lua index 1ba07db4aa7..6599f8b0a6b 100644 --- a/scripts/zones/Temenos/mobs/Water_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Water_Elemental.lua @@ -33,7 +33,7 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(ID.npc.COFFER_OFFSET+69):setStatus(dsp.status.NORMAL) end, [ID.mob.TEMENOS_C_MOB[2]+8] = function() - if not limbus.isMobDead(ID.mob.TEMENOS_C_MOB[2]+3) then + 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 diff --git a/scripts/zones/Temenos/npcs/Armoury_Crate.lua b/scripts/zones/Temenos/npcs/Armoury_Crate.lua index 1b49557194e..58d51f14a67 100644 --- a/scripts/zones/Temenos/npcs/Armoury_Crate.lua +++ b/scripts/zones/Temenos/npcs/Armoury_Crate.lua @@ -955,10 +955,6 @@ function onTrigger(player, npc) if lootID == 136 or lootID == 143 or lootID == 150 or lootID == 151 or lootID == 152 or lootID == 153 or lootID == 154 then - players = battlefield:getPlayers() - for i = 1, #players do - players[i]:messageSpecial(ID.text.HUM+1) - end battlefield:setLocalVar("cutsceneTimer", 10) battlefield:setLocalVar("lootSeen", 1) end diff --git a/scripts/zones/Temenos/npcs/Matter_Diffusion_Module.lua b/scripts/zones/Temenos/npcs/Matter_Diffusion_Module.lua index d393af02e83..d7ca8be87f6 100644 --- a/scripts/zones/Temenos/npcs/Matter_Diffusion_Module.lua +++ b/scripts/zones/Temenos/npcs/Matter_Diffusion_Module.lua @@ -7,7 +7,11 @@ require("scripts/globals/bcnm") local ID = require("scripts/zones/Temenos/IDs") function onTrade(player, npc, trade) - TradeBCNM(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+1) + end end function onTrigger(player, npc) diff --git a/scripts/zones/Temenos/npcs/Scanning_Device.lua b/scripts/zones/Temenos/npcs/Scanning_Device.lua index 1f59017a56f..efa321398a0 100644 --- a/scripts/zones/Temenos/npcs/Scanning_Device.lua +++ b/scripts/zones/Temenos/npcs/Scanning_Device.lua @@ -21,30 +21,6 @@ function onTrade(player, npc, trade) end function onTrigger(player, npc) - if not player:battlefieldAtCapacity(1299) then - SetServerVariable("[Temenos_Northern_Tower]Time", 0) - end - if not player:battlefieldAtCapacity(1300) then - SetServerVariable("[Temenos_Eastern_Tower]Time", 0) - end - if not player:battlefieldAtCapacity(1298) then - SetServerVariable("[Temenos_Western_Tower]Time", 0) - end - if not player:battlefieldAtCapacity(1306) then - SetServerVariable("[Central_Temenos_4th_Floor]Time", 0) - end - if not player:battlefieldAtCapacity(1305) then - SetServerVariable("[Central_Temenos_3rd_Floor]Time", 0) - end - if not player:battlefieldAtCapacity(1304) then - SetServerVariable("[Central_Temenos_2nd_Floor]Time", 0) - end - if not player:battlefieldAtCapacity(1303) then - SetServerVariable("[Central_Temenos_1st_Floor]Time", 0) - end - if not player:battlefieldAtCapacity(1301) then - SetServerVariable("[Central_Temenos_Basement]Time", 0) - end player:startEvent(121, 15) end From 31c45d693203c84a144fc9aee30a765d6de87578 Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Sat, 26 Oct 2019 08:41:48 -0400 Subject: [PATCH 15/33] Randomize portal/chest trigger mobs where appropriate. Adjust mob/chest/portal spawn mechanics. Add progress messages. --- scripts/zones/Temenos/IDs.lua | 2 + .../Temenos/bcnms/temenos_eastern_tower.lua | 1 + .../Temenos/bcnms/temenos_northern_tower.lua | 1 + scripts/zones/Temenos/mobs/Air_Elemental.lua | 42 ++-- .../Temenos/mobs/Cryptonberry_Abductor.lua | 3 + .../Temenos/mobs/Cryptonberry_Designator.lua | 3 + scripts/zones/Temenos/mobs/Dark_Elemental.lua | 18 +- .../zones/Temenos/mobs/Earth_Elemental.lua | 41 ++-- .../zones/Temenos/mobs/Enhanced_Beetle.lua | 3 + .../zones/Temenos/mobs/Enhanced_Dragon.lua | 3 + .../zones/Temenos/mobs/Enhanced_Lizard.lua | 5 +- .../Temenos/mobs/Enhanced_Mandragora.lua | 3 + scripts/zones/Temenos/mobs/Enhanced_Pugil.lua | 5 +- scripts/zones/Temenos/mobs/Enhanced_Slime.lua | 5 +- scripts/zones/Temenos/mobs/Enhanced_Tiger.lua | 7 +- scripts/zones/Temenos/mobs/Fire_Elemental.lua | 32 ++- .../Temenos/mobs/Goblin_Slaughterman.lua | 22 +- .../zones/Temenos/mobs/Goblin_Theurgist.lua | 4 + scripts/zones/Temenos/mobs/Goblin_Warlord.lua | 4 + scripts/zones/Temenos/mobs/Ice_Elemental.lua | 33 ++- scripts/zones/Temenos/mobs/Iruci.lua | 3 + scripts/zones/Temenos/mobs/Kari.lua | 4 + .../zones/Temenos/mobs/Kindred_Black_Mage.lua | 10 +- scripts/zones/Temenos/mobs/Moblin_Dustman.lua | 10 + scripts/zones/Temenos/mobs/Mystic_Avatar.lua | 195 +++++++++++++----- .../Temenos/mobs/Praetorian_Guard_CCCXI.lua | 3 + .../Temenos/mobs/Praetorian_Guard_CCXX.lua | 3 + .../Temenos/mobs/Praetorian_Guard_CXLVIII.lua | 3 + .../Temenos/mobs/Praetorian_Guard_LXXIII.lua | 4 + scripts/zones/Temenos/mobs/Telchines_Bard.lua | 20 +- .../zones/Temenos/mobs/Telchines_Dragoon.lua | 11 +- scripts/zones/Temenos/mobs/Telchines_Monk.lua | 18 +- .../Temenos/mobs/Telchines_White_Mage.lua | 20 +- .../zones/Temenos/mobs/Thunder_Elemental.lua | 31 ++- .../zones/Temenos/mobs/Water_Elemental.lua | 31 ++- scripts/zones/Temenos/npcs/Armoury_Crate.lua | 24 +++ 36 files changed, 480 insertions(+), 147 deletions(-) diff --git a/scripts/zones/Temenos/IDs.lua b/scripts/zones/Temenos/IDs.lua index 4adc6e46570..3c2f08bc814 100644 --- a/scripts/zones/Temenos/IDs.lua +++ b/scripts/zones/Temenos/IDs.lua @@ -19,7 +19,9 @@ zones[dsp.zone.TEMENOS] = 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... + GATE_OPEN = 7557, -- The gate opens... }, mob = { diff --git a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua index ee56a04732d..d22bdcba5c7 100644 --- a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua @@ -9,6 +9,7 @@ local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) + battlefield:setLocalVar("random", math.random(0,1)) SetServerVariable("[Temenos_Eastern_Tower]Time", battlefield:getTimeLimit()/60) limbus.hideArmouryCrates(Temenos_Eastern_Tower, TEMENOS) limbus.hideTemenosDoors(Temenos_Eastern_Tower) diff --git a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua index c5d8ee695cb..f720abccef3 100644 --- a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua @@ -9,6 +9,7 @@ local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) + battlefield:setLocalVar("random", math.random(1,6)) SetServerVariable("[Temenos_Northern_Tower]Time", battlefield:getTimeLimit()/60) limbus.hideTemenosDoors(Temenos_Northern_Tower) limbus.hideArmouryCrates(Temenos_Northern_Tower, TEMENOS) diff --git a/scripts/zones/Temenos/mobs/Air_Elemental.lua b/scripts/zones/Temenos/mobs/Air_Elemental.lua index 710c2a738ff..cfcf66d86dd 100644 --- a/scripts/zones/Temenos/mobs/Air_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Air_Elemental.lua @@ -11,25 +11,43 @@ function onMobDeath(mob, player, isKiller) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() + local battlefield = player:getBattlefield() + local cofferMask = battlefield:getLocalVar("cofferMask") + local random = battlefield:getLocalVar("random") + switch (mobID): caseof { - -- 100 a 106 inclut (Temenos -Northern Tower ) - [ID.mob.TEMENOS_E_MOB[3]] = function () - GetNPCByID(ID.npc.COFFER_OFFSET+181):setPos(mobX,mobY,mobZ) + [ID.mob.TEMENOS_E_MOB[3]] = function() + battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 0))) + GetNPCByID(ID.npc.COFFER_OFFSET+181):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+181):setStatus(dsp.status.NORMAL) end, - [ID.mob.TEMENOS_E_MOB[3]+1] = function () - GetNPCByID(ID.npc.COFFER_OFFSET+217):setPos(mobX,mobY,mobZ) + [ID.mob.TEMENOS_E_MOB[3]+1] = function() + battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 1))) + GetNPCByID(ID.npc.COFFER_OFFSET+217):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+217):setStatus(dsp.status.NORMAL) end, - [ID.mob.TEMENOS_E_MOB[3]+2] = function () - GetNPCByID(ID.npc.COFFER_OFFSET+348):setPos(mobX,mobY,mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+348):setStatus(dsp.status.NORMAL) + [ID.mob.TEMENOS_E_MOB[3]+2] = function() + if random == 1 then + GetNPCByID(ID.npc.COFFER_OFFSET+348):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+348):setStatus(dsp.status.NORMAL) + else + battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 2))) + GetNPCByID(ID.npc.COFFER_OFFSET+46):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+46):setStatus(dsp.status.NORMAL) + end end, - [ID.mob.TEMENOS_E_MOB[3]+3] = function () - GetNPCByID(ID.npc.COFFER_OFFSET+46):setPos(mobX,mobY,mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+46):setStatus(dsp.status.NORMAL) + [ID.mob.TEMENOS_E_MOB[3]+3] = function() + if random == 1 then + battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 2))) + GetNPCByID(ID.npc.COFFER_OFFSET+46):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+46):setStatus(dsp.status.NORMAL) + else + GetNPCByID(ID.npc.COFFER_OFFSET+348):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+348):setStatus(dsp.status.NORMAL) + end end, - [ID.mob.TEMENOS_C_MOB[2]+5] = function () + [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) diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua index e99d3e4e558..c90681c378b 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua @@ -10,5 +10,8 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) + local battlefield = player:getBattlefield() + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) GetNPCByID(ID.npc.GATE_OFFSET+5):setStatus(dsp.status.NORMAL) end diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua index e99d3e4e558..c90681c378b 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua @@ -10,5 +10,8 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) + local battlefield = player:getBattlefield() + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) GetNPCByID(ID.npc.GATE_OFFSET+5):setStatus(dsp.status.NORMAL) end diff --git a/scripts/zones/Temenos/mobs/Dark_Elemental.lua b/scripts/zones/Temenos/mobs/Dark_Elemental.lua index 9d91c92a2ed..a80ec3286b1 100644 --- a/scripts/zones/Temenos/mobs/Dark_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Dark_Elemental.lua @@ -6,32 +6,26 @@ require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- -function onMobEngaged(mob, target) -end - function onMobDeath(mob, player, isKiller) local mobID = mob:getID() - local mobX = mob:getXPos() - local mobY = mob:getYPos() - local mobZ = mob:getZPos() - local posRand = math.random(1, 2) + local battlefield = player:getBattlefield() + local random = battlefield:getLocalVar("random") local cofferPos = {{-603, 5, 160, 64}, {-597, 5, 160, 64}} switch (mobID): caseof { - -- 100 a 106 inclut (Temenos -Northern Tower ) [ID.mob.TEMENOS_E_MOB[7]] = function () if GetMobByID(ID.mob.TEMENOS_E_MOB[7]+1):isDead() then - GetNPCByID(ID.npc.COFFER_OFFSET+70):setPos(cofferPos[posRand]) + GetNPCByID(ID.npc.COFFER_OFFSET+70):setPos(cofferPos[random]) GetNPCByID(ID.npc.COFFER_OFFSET+70):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+123):setPos(cofferPos[3-posRand]) + GetNPCByID(ID.npc.COFFER_OFFSET+123):setPos(cofferPos[3-random]) GetNPCByID(ID.npc.COFFER_OFFSET+123):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.COFFER_OFFSET+70):setPos(cofferPos[posRand]) + GetNPCByID(ID.npc.COFFER_OFFSET+70):setPos(cofferPos[random]) GetNPCByID(ID.npc.COFFER_OFFSET+70):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+123):setPos(cofferPos[3-posRand]) + GetNPCByID(ID.npc.COFFER_OFFSET+123):setPos(cofferPos[3-random]) GetNPCByID(ID.npc.COFFER_OFFSET+123):setStatus(dsp.status.NORMAL) end end, diff --git a/scripts/zones/Temenos/mobs/Earth_Elemental.lua b/scripts/zones/Temenos/mobs/Earth_Elemental.lua index bfc52055c77..4910077c650 100644 --- a/scripts/zones/Temenos/mobs/Earth_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Earth_Elemental.lua @@ -6,33 +6,48 @@ require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- -function onMobEngaged(mob, target) -end - function onMobDeath(mob, player, isKiller) local mobID = mob:getID() local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() + local battlefield = player:getBattlefield() + local cofferMask = battlefield:getLocalVar("cofferMask") + local random = battlefield:getLocalVar("random") + switch (mobID): caseof { - -- 100 a 106 inclut (Temenos -Northern Tower ) - [ID.mob.TEMENOS_E_MOB[4]] = function () + [ID.mob.TEMENOS_E_MOB[4]] = function() + battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 0))) GetNPCByID(ID.npc.COFFER_OFFSET+182):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+182):setStatus(dsp.status.NORMAL) end, - [ID.mob.TEMENOS_E_MOB[4]+1] = function () + [ID.mob.TEMENOS_E_MOB[4]+1] = function() + battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 1))) GetNPCByID(ID.npc.COFFER_OFFSET+236):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+236):setStatus(dsp.status.NORMAL) end, - [ID.mob.TEMENOS_E_MOB[4]+2] = function () - GetNPCByID(ID.npc.COFFER_OFFSET+360):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+360):setStatus(dsp.status.NORMAL) + [ID.mob.TEMENOS_E_MOB[4]+2] = function() + if random == 1 then + GetNPCByID(ID.npc.COFFER_OFFSET+360):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+360):setStatus(dsp.status.NORMAL) + else + battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 2))) + GetNPCByID(ID.npc.COFFER_OFFSET+47):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+47):setStatus(dsp.status.NORMAL) + end end, - [ID.mob.TEMENOS_E_MOB[4]+3] = function () - GetNPCByID(ID.npc.COFFER_OFFSET+47):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+47):setStatus(dsp.status.NORMAL) + [ID.mob.TEMENOS_E_MOB[4]+3] = function() + if random == 1 then + battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 2))) + GetNPCByID(ID.npc.COFFER_OFFSET+47):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+47):setStatus(dsp.status.NORMAL) + else + GetNPCByID(ID.npc.COFFER_OFFSET+360):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+360):setStatus(dsp.status.NORMAL) + end end, - [ID.mob.TEMENOS_C_MOB[2]+6] = function () + [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) diff --git a/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua b/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua index 3e2042fdeea..7c1955bed92 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua @@ -10,10 +10,13 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) + local battlefield = player:getBattlefield() local cofferID = limbus.randomCoffer(3, Temenos_Western_Tower) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) GetNPCByID(ID.npc.GATE_OFFSET+16):setStatus(dsp.status.NORMAL) if cofferID ~= 0 then GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setPos(mobX, mobY, mobZ) diff --git a/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua b/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua index d104595ba19..77d8f7145d6 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua @@ -14,6 +14,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) + local battlefield = player:getBattlefield() local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() @@ -23,6 +24,8 @@ function onMobDeath(mob, player, isKiller) then GetNPCByID(ID.npc.COFFER_OFFSET+71):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+71):setStatus(dsp.status.NORMAL) + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua b/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua index 7ce26d38e83..fbf943e739b 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua @@ -10,10 +10,13 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) -local cofferID = limbus.randomCoffer(4, Temenos_Western_Tower) + local battlefield = player:getBattlefield() + local cofferID = limbus.randomCoffer(4, Temenos_Western_Tower) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) GetNPCByID(ID.npc.GATE_OFFSET+17):setStatus(dsp.status.NORMAL) if cofferID ~= 0 then GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setPos(mobX, mobY, mobZ) diff --git a/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua b/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua index aff65d7b23e..aa55ff88a3c 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua @@ -10,10 +10,13 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) + local battlefield = player:getBattlefield() local cofferID = limbus.randomCoffer(2, Temenos_Western_Tower) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) GetNPCByID(ID.npc.GATE_OFFSET+15):setStatus(dsp.status.NORMAL) if cofferID ~= 0 then GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setPos(mobX, mobY, mobZ) diff --git a/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua b/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua index 758657625b5..60226b4c1bc 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua @@ -10,10 +10,13 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) -local cofferID = limbus.randomCoffer(6, Temenos_Western_Tower) + local battlefield = player:getBattlefield() + local cofferID = limbus.randomCoffer(6, Temenos_Western_Tower) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) GetNPCByID(ID.npc.GATE_OFFSET+19):setStatus(dsp.status.NORMAL) if cofferID ~= 0 then GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setPos(mobX, mobY, mobZ) diff --git a/scripts/zones/Temenos/mobs/Enhanced_Slime.lua b/scripts/zones/Temenos/mobs/Enhanced_Slime.lua index 77f78b57e55..1929f8be3fb 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Slime.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Slime.lua @@ -10,10 +10,13 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) -local cofferID = limbus.randomCoffer(5, Temenos_Western_Tower) + local battlefield = player:getBattlefield() + local cofferID = limbus.randomCoffer(5, Temenos_Western_Tower) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) GetNPCByID(ID.npc.GATE_OFFSET+18):setStatus(dsp.status.NORMAL) if cofferID ~= 0 then GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setPos(mobX, mobY, mobZ) diff --git a/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua b/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua index 482d4116dec..24212d11e55 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua @@ -10,11 +10,14 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) -local cofferID = limbus.randomCoffer(1, Temenos_Western_Tower) + local battlefield = player:getBattlefield() + local cofferID = limbus.randomCoffer(1, Temenos_Western_Tower) local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() - GetNPCByID(ID.npc.GATE_OFFSET+14):setStatus(dsp.status.NORMAL) + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) + GetNPCByID(ID.npc.GATE_OFFSET+14):setStatus(dsp.status.NORMAL) if cofferID ~= 0 then GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Temenos/mobs/Fire_Elemental.lua b/scripts/zones/Temenos/mobs/Fire_Elemental.lua index 24639c9037c..fa137630562 100644 --- a/scripts/zones/Temenos/mobs/Fire_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Fire_Elemental.lua @@ -6,33 +6,49 @@ require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- -function onMobEngaged(mob, target) -end - function onMobDeath(mob, player, isKiller) local mobID = mob:getID() local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() + local battlefield = player:getBattlefield() + local cofferMask = battlefield:getLocalVar("cofferMask") + local random = battlefield:getLocalVar("random") + switch (mobID): caseof { [ID.mob.TEMENOS_E_MOB[1]] = function() + battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 0))) GetNPCByID(ID.npc.COFFER_OFFSET+173):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+173):setStatus(dsp.status.NORMAL) end, [ID.mob.TEMENOS_E_MOB[1]+1] = function() + battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 1))) GetNPCByID(ID.npc.COFFER_OFFSET+215):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+215):setStatus(dsp.status.NORMAL) end, [ID.mob.TEMENOS_E_MOB[1]+2] = function() - GetNPCByID(ID.npc.COFFER_OFFSET+284):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+284):setStatus(dsp.status.NORMAL) + if random == 1 then + GetNPCByID(ID.npc.COFFER_OFFSET+284):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+284):setStatus(dsp.status.NORMAL) + else + battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 2))) + GetNPCByID(ID.npc.COFFER_OFFSET+40):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+40):setStatus(dsp.status.NORMAL) + end end, [ID.mob.TEMENOS_E_MOB[1]+3] = function() - GetNPCByID(ID.npc.COFFER_OFFSET+40):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+40):setStatus(dsp.status.NORMAL) + if random == 1 then + battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 2))) + GetNPCByID(ID.npc.COFFER_OFFSET+40):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+40):setStatus(dsp.status.NORMAL) + else + GetNPCByID(ID.npc.COFFER_OFFSET+284):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+284):setStatus(dsp.status.NORMAL) + end end, [ID.mob.TEMENOS_C_MOB[2]+3] = function() - if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+4):isAlive() then -- ice + 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 diff --git a/scripts/zones/Temenos/mobs/Goblin_Slaughterman.lua b/scripts/zones/Temenos/mobs/Goblin_Slaughterman.lua index 670b7e48f7e..c850b3eb7de 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Slaughterman.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Slaughterman.lua @@ -8,18 +8,28 @@ 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() + local battlefield = player:getBattlefield() + local random = battlefield:getLocalVar("random") - if mobID == ID.mob.TEMENOS_N_MOB[1]+1 then + if mobID - ID.mob.TEMENOS_N_MOB[1] == random - 1 then + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) + GetNPCByID(ID.npc.GATE_OFFSET):setStatus(dsp.status.NORMAL) + end + + if mobID == ID.mob.TEMENOS_N_MOB[1]+1 and random % 2 == 1 then + GetNPCByID(ID.npc.COFFER_OFFSET+18):setPos(330, 70, 468) + GetNPCByID(ID.npc.COFFER_OFFSET+18):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+152):setPos(328, 70, 464) + GetNPCByID(ID.npc.COFFER_OFFSET+152):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+209):setPos(332, 70, 470) + GetNPCByID(ID.npc.COFFER_OFFSET+209):setStatus(dsp.status.NORMAL) + elseif mobID == ID.mob.TEMENOS_N_MOB[1] and random % 2 == 0 then GetNPCByID(ID.npc.COFFER_OFFSET+18):setPos(330, 70, 468) GetNPCByID(ID.npc.COFFER_OFFSET+18):setStatus(dsp.status.NORMAL) GetNPCByID(ID.npc.COFFER_OFFSET+152):setPos(328, 70, 464) GetNPCByID(ID.npc.COFFER_OFFSET+152):setStatus(dsp.status.NORMAL) GetNPCByID(ID.npc.COFFER_OFFSET+209):setPos(332, 70, 470) GetNPCByID(ID.npc.COFFER_OFFSET+209):setStatus(dsp.status.NORMAL) - elseif mobID == ID.mob.TEMENOS_N_MOB[1] then - GetNPCByID(ID.npc.GATE_OFFSET):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua b/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua index ea52b6b91db..b7c44039eec 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua @@ -13,12 +13,16 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) + local battlefield = player:getBattlefield() + 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.COFFER_OFFSET+39):setPos(-599, 85, 438) GetNPCByID(ID.npc.COFFER_OFFSET+39):setStatus(dsp.status.NORMAL) + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) GetNPCByID(ID.npc.GATE_OFFSET+6):setStatus(dsp.status.NORMAL) 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 1fef9515f41..010350aee02 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Warlord.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Warlord.lua @@ -14,12 +14,16 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) + local battlefield = player:getBattlefield() + 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]+2):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[7]+4):isDead() then GetNPCByID(ID.npc.COFFER_OFFSET+39):setPos(-599, 85, 438) GetNPCByID(ID.npc.COFFER_OFFSET+39):setStatus(dsp.status.NORMAL) + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) GetNPCByID(ID.npc.GATE_OFFSET+6):setStatus(dsp.status.NORMAL) end end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Ice_Elemental.lua b/scripts/zones/Temenos/mobs/Ice_Elemental.lua index ba7492fa99e..79c86020aef 100644 --- a/scripts/zones/Temenos/mobs/Ice_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Ice_Elemental.lua @@ -6,34 +6,49 @@ require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- -function onMobEngaged(mob, target) -end - function onMobDeath(mob, player, isKiller) local mobID = mob:getID() local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() + local battlefield = player:getBattlefield() + local cofferMask = battlefield:getLocalVar("cofferMask") + local random = battlefield:getLocalVar("random") + switch (mobID): caseof { - -- 100 a 106 inclut (Temenos -Northern Tower ) [ID.mob.TEMENOS_E_MOB[2]] = function() + battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 0))) GetNPCByID(ID.npc.COFFER_OFFSET+174):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+174):setStatus(dsp.status.NORMAL) end, [ID.mob.TEMENOS_E_MOB[2]+1] = function() + battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 1))) GetNPCByID(ID.npc.COFFER_OFFSET+216):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+216):setStatus(dsp.status.NORMAL) end, [ID.mob.TEMENOS_E_MOB[2]+2] = function() - GetNPCByID(ID.npc.COFFER_OFFSET+321):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+321):setStatus(dsp.status.NORMAL) + if random == 1 then + GetNPCByID(ID.npc.COFFER_OFFSET+321):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+321):setStatus(dsp.status.NORMAL) + else + battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 2))) + GetNPCByID(ID.npc.COFFER_OFFSET+45):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+45):setStatus(dsp.status.NORMAL) + end end, [ID.mob.TEMENOS_E_MOB[2]+3] = function() - GetNPCByID(ID.npc.COFFER_OFFSET+45):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+45):setStatus(dsp.status.NORMAL) + if random == 1 then + battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 2))) + GetNPCByID(ID.npc.COFFER_OFFSET+45):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+45):setStatus(dsp.status.NORMAL) + else + GetNPCByID(ID.npc.COFFER_OFFSET+321):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+321):setStatus(dsp.status.NORMAL) + end end, [ID.mob.TEMENOS_C_MOB[2]+4] = function() - if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+5):isAlive() then -- wind + 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 diff --git a/scripts/zones/Temenos/mobs/Iruci.lua b/scripts/zones/Temenos/mobs/Iruci.lua index 1f4c7172201..e828cd6fdf7 100644 --- a/scripts/zones/Temenos/mobs/Iruci.lua +++ b/scripts/zones/Temenos/mobs/Iruci.lua @@ -14,6 +14,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) + local battlefield = player:getBattlefield() local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() @@ -23,6 +24,8 @@ function onMobDeath(mob, player, isKiller) then GetNPCByID(ID.npc.COFFER_OFFSET+71):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+71):setStatus(dsp.status.NORMAL) + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Temenos/mobs/Kari.lua b/scripts/zones/Temenos/mobs/Kari.lua index c3e76ae26d6..7da2117fb2f 100644 --- a/scripts/zones/Temenos/mobs/Kari.lua +++ b/scripts/zones/Temenos/mobs/Kari.lua @@ -7,5 +7,9 @@ local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobDeath(mob, player, isKiller) + local battlefield = player:getBattlefield() + battlefield:setLocalVar("random", math.random(1,6)) + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) GetNPCByID(ID.npc.GATE_OFFSET+1):setStatus(dsp.status.NORMAL) end diff --git a/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua b/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua index bb1e63578e3..6d2c7e8bfcd 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua @@ -10,5 +10,13 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - GetNPCByID(ID.npc.GATE_OFFSET+3):setStatus(dsp.status.NORMAL) + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local random = battlefield:getLocalVar("random") + + if mobID - ID.mob.TEMENOS_N_MOB[4] == random + 4 then + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) + GetNPCByID(ID.npc.GATE_OFFSET+3):setStatus(dsp.status.NORMAL) + end end diff --git a/scripts/zones/Temenos/mobs/Moblin_Dustman.lua b/scripts/zones/Temenos/mobs/Moblin_Dustman.lua index 858e029c459..3697520f153 100644 --- a/scripts/zones/Temenos/mobs/Moblin_Dustman.lua +++ b/scripts/zones/Temenos/mobs/Moblin_Dustman.lua @@ -3,7 +3,17 @@ -- Mob: Moblin Dustman ----------------------------------- require("scripts/globals/limbus") +local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobDeath(mob, player, isKiller) + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local random = battlefield:getLocalVar("random") + + if mobID - ID.mob.TEMENOS_N_MOB[1] == random - 1 then + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) + GetNPCByID(ID.npc.GATE_OFFSET):setStatus(dsp.status.NORMAL) + 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 13a3735d453..dba3af68f4b 100644 --- a/scripts/zones/Temenos/mobs/Mystic_Avatar.lua +++ b/scripts/zones/Temenos/mobs/Mystic_Avatar.lua @@ -6,78 +6,167 @@ require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +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 + 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) - if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+3):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[2]+9):isDead() then - mob:setMod(dsp.mod.FIREDEF, -128) - else - mob:setMod(dsp.mod.FIREDEF, 256) - end - - if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+4):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[2]+11):isDead() then - mob:setMod(dsp.mod.ICEDEF, -128) - else - mob:setMod(dsp.mod.ICEDEF, 256) - end - - if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+5):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[2]+12):isDead() then - mob:setMod(dsp.mod.WINDDEF, -128) - else - mob:setMod(dsp.mod.WINDDEF, 256) - end - - if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+6):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[2]+13):isDead() then - mob:setMod(dsp.mod.EARTHDEF, -128) - else - mob:setMod(dsp.mod.EARTHDEF, 256) - end - - if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+7):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[2]+14):isDead() then - mob:setMod(dsp.mod.THUNDERDEF, -128) - else - mob:setMod(dsp.mod.THUNDERDEF, 256) - end - - if GetMobByID(ID.mob.TEMENOS_C_MOB[2]+8):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[2]+15):isDead() then - mob:setMod(dsp.mod.WATERDEF, -128) - else - mob:setMod(dsp.mod.WATERDEF, 256) - end - - mob:setMod(dsp.mod.LIGHTDEF, 256) - mob:setMod(dsp.mod.DARKDEF, -128) end end function onMobDeath(mob, player, isKiller) local mobID = mob:getID() - local mobX = mob:getXPos() - local mobY = mob:getYPos() - local mobZ = mob:getZPos() + local battlefield = player:getBattlefield() + local cofferMask = battlefield:getLocalVar("cofferMask") if mobID == ID.mob.TEMENOS_E_MOB[1]+4 then --Ifrit - GetNPCByID(ID.npc.COFFER_OFFSET+40):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+40):setStatus(dsp.status.NORMAL) + if cofferMask == 0 then + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) + GetNPCByID(ID.npc.GATE_OFFSET+7):setStatus(dsp.status.NORMAL) + end + if bit.band(cofferMask, 1) ~= 0 then + GetNPCByID(ID.npc.COFFER_OFFSET+173):setStatus(dsp.status.NORMAL) + end + if bit.band(cofferMask, 2) ~= 0 then + GetNPCByID(ID.npc.COFFER_OFFSET+215):setStatus(dsp.status.NORMAL) + end + if bit.band(cofferMask, 4) ~= 0 then + GetNPCByID(ID.npc.COFFER_OFFSET+40):setStatus(dsp.status.NORMAL) + end + battlefield:setLocalVar("cofferMask", 0) elseif mobID == ID.mob.TEMENOS_E_MOB[2]+4 then --Shiva - GetNPCByID(ID.npc.COFFER_OFFSET+45):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+45):setStatus(dsp.status.NORMAL) + if cofferMask == 0 then + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) + GetNPCByID(ID.npc.GATE_OFFSET+8):setStatus(dsp.status.NORMAL) + end + if bit.band(cofferMask, 1) ~= 0 then + GetNPCByID(ID.npc.COFFER_OFFSET+174):setStatus(dsp.status.NORMAL) + end + if bit.band(cofferMask, 2) ~= 0 then + GetNPCByID(ID.npc.COFFER_OFFSET+216):setStatus(dsp.status.NORMAL) + end + if bit.band(cofferMask, 4) ~= 0 then + GetNPCByID(ID.npc.COFFER_OFFSET+45):setStatus(dsp.status.NORMAL) + end + battlefield:setLocalVar("cofferMask", 0) elseif mobID == ID.mob.TEMENOS_E_MOB[3]+4 then --Garuda - GetNPCByID(ID.npc.COFFER_OFFSET+46):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+46):setStatus(dsp.status.NORMAL) + if cofferMask == 0 then + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) + GetNPCByID(ID.npc.GATE_OFFSET+9):setStatus(dsp.status.NORMAL) + end + if bit.band(cofferMask, 1) ~= 0 then + GetNPCByID(ID.npc.COFFER_OFFSET+181):setStatus(dsp.status.NORMAL) + end + if bit.band(cofferMask, 2) ~= 0 then + GetNPCByID(ID.npc.COFFER_OFFSET+217):setStatus(dsp.status.NORMAL) + end + if bit.band(cofferMask, 4) ~= 0 then + GetNPCByID(ID.npc.COFFER_OFFSET+46):setStatus(dsp.status.NORMAL) + end + battlefield:setLocalVar("cofferMask", 0) elseif mobID == ID.mob.TEMENOS_E_MOB[4]+4 then --Titan - GetNPCByID(ID.npc.COFFER_OFFSET+47):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+47):setStatus(dsp.status.NORMAL) + if cofferMask == 0 then + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) + GetNPCByID(ID.npc.GATE_OFFSET+10):setStatus(dsp.status.NORMAL) + end + if bit.band(cofferMask, 1) ~= 0 then + GetNPCByID(ID.npc.COFFER_OFFSET+182):setStatus(dsp.status.NORMAL) + end + if bit.band(cofferMask, 2) ~= 0 then + GetNPCByID(ID.npc.COFFER_OFFSET+236):setStatus(dsp.status.NORMAL) + end + if bit.band(cofferMask, 4) ~= 0 then + GetNPCByID(ID.npc.COFFER_OFFSET+47):setStatus(dsp.status.NORMAL) + end + battlefield:setLocalVar("cofferMask", 0) elseif mobID == ID.mob.TEMENOS_E_MOB[5]+4 then --Ramuh - GetNPCByID(ID.npc.COFFER_OFFSET+68):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+68):setStatus(dsp.status.NORMAL) + if cofferMask == 0 then + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) + GetNPCByID(ID.npc.GATE_OFFSET+11):setStatus(dsp.status.NORMAL) + end + if bit.band(cofferMask, 1) ~= 0 then + GetNPCByID(ID.npc.COFFER_OFFSET+183):setStatus(dsp.status.NORMAL) + end + if bit.band(cofferMask, 2) ~= 0 then + GetNPCByID(ID.npc.COFFER_OFFSET+261):setStatus(dsp.status.NORMAL) + end + if bit.band(cofferMask, 4) ~= 0 then + GetNPCByID(ID.npc.COFFER_OFFSET+68):setStatus(dsp.status.NORMAL) + end + battlefield:setLocalVar("cofferMask", 0) elseif mobID == ID.mob.TEMENOS_E_MOB[6]+4 then --Leviathan - GetNPCByID(ID.npc.COFFER_OFFSET+69):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+69):setStatus(dsp.status.NORMAL) + if cofferMask == 0 then + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) + GetNPCByID(ID.npc.GATE_OFFSET+12):setStatus(dsp.status.NORMAL) + end + if bit.band(cofferMask, 1) ~= 0 then + GetNPCByID(ID.npc.COFFER_OFFSET+202):setStatus(dsp.status.NORMAL) + end + if bit.band(cofferMask, 2) ~= 0 then + GetNPCByID(ID.npc.COFFER_OFFSET+190):setStatus(dsp.status.NORMAL) + end + if bit.band(cofferMask, 4) ~= 0 then + GetNPCByID(ID.npc.COFFER_OFFSET+69):setStatus(dsp.status.NORMAL) + end + battlefield:setLocalVar("cofferMask", 0) elseif mobID == ID.mob.TEMENOS_E_MOB[7]+2 then --Fenrir GetNPCByID(ID.npc.COFFER_OFFSET+70):setStatus(dsp.status.NORMAL) + 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.COFFER_OFFSET+77):setPos(0.5, -6, -459) diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua index 924e1a42f82..4a39a0c7446 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua @@ -10,6 +10,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) + local battlefield = player:getBattlefield() 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 @@ -20,5 +21,7 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(ID.npc.COFFER_OFFSET+213):setPos(-311, 80, 421) GetNPCByID(ID.npc.COFFER_OFFSET+213):setStatus(dsp.status.NORMAL) end + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) GetNPCByID(ID.npc.GATE_OFFSET+4):setStatus(dsp.status.NORMAL) end diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua index 5c3b99d82ee..12da1e12024 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua @@ -10,6 +10,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) + local battlefield = player:getBattlefield() 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 @@ -20,5 +21,7 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(ID.npc.COFFER_OFFSET+213):setPos(-311, 80, 421) GetNPCByID(ID.npc.COFFER_OFFSET+213):setStatus(dsp.status.NORMAL) end + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) GetNPCByID(ID.npc.GATE_OFFSET+4):setStatus(dsp.status.NORMAL) end diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua index 0ae6effc9ac..2661369d677 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua @@ -10,6 +10,7 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) + local battlefield = player:getBattlefield() 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 @@ -20,5 +21,7 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(ID.npc.COFFER_OFFSET+213):setPos(-311, 80, 421) GetNPCByID(ID.npc.COFFER_OFFSET+213):setStatus(dsp.status.NORMAL) end + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) GetNPCByID(ID.npc.GATE_OFFSET+4):setStatus(dsp.status.NORMAL) end diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua index dc0610ef8f9..4cf4051f190 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua @@ -10,6 +10,8 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) + local battlefield = player:getBattlefield() + 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 @@ -20,5 +22,7 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(ID.npc.COFFER_OFFSET+213):setPos(-311, 80, 421) GetNPCByID(ID.npc.COFFER_OFFSET+213):setStatus(dsp.status.NORMAL) end + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) GetNPCByID(ID.npc.GATE_OFFSET+4):setStatus(dsp.status.NORMAL) end diff --git a/scripts/zones/Temenos/mobs/Telchines_Bard.lua b/scripts/zones/Temenos/mobs/Telchines_Bard.lua index bdb54fd0e73..241974dfde9 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Bard.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Bard.lua @@ -10,7 +10,25 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if GetMobByID(ID.mob.TEMENOS_N_MOB[3]+1):isDead() then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local random = battlefield:getLocalVar("random") + + if mobID - ID.mob.TEMENOS_N_MOB[3] == random - 1 then + battlefield:setLocalVar("random", math.random(1, 4)) + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) + GetNPCByID(ID.npc.GATE_OFFSET+2):setStatus(dsp.status.NORMAL) + end + + if mobID == ID.mob.TEMENOS_N_MOB[1]+1 and random % 2 == 1 then + GetNPCByID(ID.npc.COFFER_OFFSET+26):setPos(19, 80, 430) + GetNPCByID(ID.npc.COFFER_OFFSET+26):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+160):setPos(16, 80, 430) + GetNPCByID(ID.npc.COFFER_OFFSET+160):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+211):setPos(22, 80, 430) + GetNPCByID(ID.npc.COFFER_OFFSET+211):setStatus(dsp.status.NORMAL) + elseif mobID == ID.mob.TEMENOS_N_MOB[1] and random % 2 == 0 then GetNPCByID(ID.npc.COFFER_OFFSET+26):setPos(19, 80, 430) GetNPCByID(ID.npc.COFFER_OFFSET+26):setStatus(dsp.status.NORMAL) GetNPCByID(ID.npc.COFFER_OFFSET+160):setPos(16, 80, 430) diff --git a/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua b/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua index f3c1560f870..ebe5988c302 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua @@ -11,5 +11,14 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - GetNPCByID(ID.npc.GATE_OFFSET+2):setStatus(dsp.status.NORMAL) + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local random = battlefield:getLocalVar("random") + + if mobID - ID.mob.TEMENOS_N_MOB[3] == random - 1 or mobID - ID.mob.TEMENOS_N_MOB[3] == random then + battlefield:setLocalVar("random", math.random(1, 4)) + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) + GetNPCByID(ID.npc.GATE_OFFSET+2):setStatus(dsp.status.NORMAL) + end end diff --git a/scripts/zones/Temenos/mobs/Telchines_Monk.lua b/scripts/zones/Temenos/mobs/Telchines_Monk.lua index cddf6ee051a..297d7094acc 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Monk.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Monk.lua @@ -10,14 +10,14 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if GetMobByID(ID.mob.TEMENOS_N_MOB[3]):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[3]+1):isDead() and - GetMobByID(ID.mob.TEMENOS_N_MOB[3]+4):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[3]+5):isDead() - then - GetNPCByID(ID.npc.COFFER_OFFSET+26):setPos(19, 80, 430) - GetNPCByID(ID.npc.COFFER_OFFSET+26):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+160):setPos(16, 80, 430) - GetNPCByID(ID.npc.COFFER_OFFSET+160):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+211):setPos(22, 80, 430) - GetNPCByID(ID.npc.COFFER_OFFSET+211):setStatus(dsp.status.NORMAL) + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local random = battlefield:getLocalVar("random") + + if mobID - ID.mob.TEMENOS_N_MOB[3] == random - 1 then + battlefield:setLocalVar("random", math.random(1, 4)) + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) + GetNPCByID(ID.npc.GATE_OFFSET+2):setStatus(dsp.status.NORMAL) 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 f0367923bfd..ae4bce81a7f 100644 --- a/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua +++ b/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua @@ -10,7 +10,25 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if GetMobByID(ID.mob.TEMENOS_N_MOB[3]):isDead() then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local random = battlefield:getLocalVar("random") + + if mobID - ID.mob.TEMENOS_N_MOB[3] == random - 1 then + battlefield:setLocalVar("random", math.random(1, 4)) + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) + GetNPCByID(ID.npc.GATE_OFFSET+2):setStatus(dsp.status.NORMAL) + end + + if mobID == ID.mob.TEMENOS_N_MOB[1]+1 and random % 2 == 1 then + GetNPCByID(ID.npc.COFFER_OFFSET+26):setPos(19, 80, 430) + GetNPCByID(ID.npc.COFFER_OFFSET+26):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+160):setPos(16, 80, 430) + GetNPCByID(ID.npc.COFFER_OFFSET+160):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.COFFER_OFFSET+211):setPos(22, 80, 430) + GetNPCByID(ID.npc.COFFER_OFFSET+211):setStatus(dsp.status.NORMAL) + elseif mobID == ID.mob.TEMENOS_N_MOB[1] and random % 2 == 0 then GetNPCByID(ID.npc.COFFER_OFFSET+26):setPos(19, 80, 430) GetNPCByID(ID.npc.COFFER_OFFSET+26):setStatus(dsp.status.NORMAL) GetNPCByID(ID.npc.COFFER_OFFSET+160):setPos(16, 80, 430) diff --git a/scripts/zones/Temenos/mobs/Thunder_Elemental.lua b/scripts/zones/Temenos/mobs/Thunder_Elemental.lua index 33f9795f78e..68bccaa1166 100644 --- a/scripts/zones/Temenos/mobs/Thunder_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Thunder_Elemental.lua @@ -6,33 +6,48 @@ require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- -function onMobEngaged(mob, target) -end - function onMobDeath(mob, player, isKiller) local mobID = mob:getID() local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() + local battlefield = player:getBattlefield() + local cofferMask = battlefield:getLocalVar("cofferMask") + local random = battlefield:getLocalVar("random") + switch (mobID): caseof { - -- 100 a 106 inclut (Temenos -Northern Tower ) [ID.mob.TEMENOS_E_MOB[5]] = function() + battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 0))) GetNPCByID(ID.npc.COFFER_OFFSET+183):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+183):setStatus(dsp.status.NORMAL) end, [ID.mob.TEMENOS_E_MOB[5]+1] = function() + battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 1))) GetNPCByID(ID.npc.COFFER_OFFSET+261):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+261):setStatus(dsp.status.NORMAL) end, [ID.mob.TEMENOS_E_MOB[5]+2] = function() - GetNPCByID(ID.npc.COFFER_OFFSET+393):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+393):setStatus(dsp.status.NORMAL) + if random == 1 then + GetNPCByID(ID.npc.COFFER_OFFSET+393):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+393):setStatus(dsp.status.NORMAL) + else + battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 2))) + GetNPCByID(ID.npc.COFFER_OFFSET+68):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+68):setStatus(dsp.status.NORMAL) + end end, [ID.mob.TEMENOS_E_MOB[5]+3] = function() - GetNPCByID(ID.npc.COFFER_OFFSET+68):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+68):setStatus(dsp.status.NORMAL) + if random == 1 then + battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 2))) + GetNPCByID(ID.npc.COFFER_OFFSET+68):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+68):setStatus(dsp.status.NORMAL) + else + GetNPCByID(ID.npc.COFFER_OFFSET+393):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+393):setStatus(dsp.status.NORMAL) + end 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) diff --git a/scripts/zones/Temenos/mobs/Water_Elemental.lua b/scripts/zones/Temenos/mobs/Water_Elemental.lua index 6599f8b0a6b..96ba62bc90f 100644 --- a/scripts/zones/Temenos/mobs/Water_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Water_Elemental.lua @@ -6,33 +6,48 @@ require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- -function onMobEngaged(mob, target) -end - function onMobDeath(mob, player, isKiller) local mobID = mob:getID() local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() + local battlefield = player:getBattlefield() + local cofferMask = battlefield:getLocalVar("cofferMask") + local random = battlefield:getLocalVar("random") + switch (mobID): caseof { - -- 100 a 106 inclut (Temenos -Northern Tower ) [ID.mob.TEMENOS_E_MOB[6]] = function() + battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 0))) GetNPCByID(ID.npc.COFFER_OFFSET+202):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+202):setStatus(dsp.status.NORMAL) end, [ID.mob.TEMENOS_E_MOB[6]+1] = function() + battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 1))) GetNPCByID(ID.npc.COFFER_OFFSET+190):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.COFFER_OFFSET+190):setStatus(dsp.status.NORMAL) end, [ID.mob.TEMENOS_E_MOB[6]+2] = function() - GetNPCByID(ID.npc.COFFER_OFFSET+277):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+277):setStatus(dsp.status.NORMAL) + if random == 1 then + GetNPCByID(ID.npc.COFFER_OFFSET+277):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+277):setStatus(dsp.status.NORMAL) + else + battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 2))) + GetNPCByID(ID.npc.COFFER_OFFSET+69):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+69):setStatus(dsp.status.NORMAL) + end end, [ID.mob.TEMENOS_E_MOB[6]+3] = function() - GetNPCByID(ID.npc.COFFER_OFFSET+69):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+69):setStatus(dsp.status.NORMAL) + if random == 1 then + battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 2))) + GetNPCByID(ID.npc.COFFER_OFFSET+69):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+69):setStatus(dsp.status.NORMAL) + else + GetNPCByID(ID.npc.COFFER_OFFSET+277):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.COFFER_OFFSET+277):setStatus(dsp.status.NORMAL) + end 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) diff --git a/scripts/zones/Temenos/npcs/Armoury_Crate.lua b/scripts/zones/Temenos/npcs/Armoury_Crate.lua index 58d51f14a67..0cf924debf1 100644 --- a/scripts/zones/Temenos/npcs/Armoury_Crate.lua +++ b/scripts/zones/Temenos/npcs/Armoury_Crate.lua @@ -1002,6 +1002,10 @@ function onTrigger(player, npc) end end if coffer ~= 284 then + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) + battlefield:setLocalVar("random", math.random(0,1)) + battlefield:setLocalVar("cofferMask", 0) GetNPCByID(ID.npc.GATE_OFFSET+7):setStatus(dsp.status.NORMAL) end elseif coffer == 174 or coffer == 216 or coffer == 321 or coffer == 45 then @@ -1012,6 +1016,10 @@ function onTrigger(player, npc) end end if coffer ~= 321 then + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) + battlefield:setLocalVar("random", math.random(0,1)) + battlefield:setLocalVar("cofferMask", 0) GetNPCByID(ID.npc.GATE_OFFSET+8):setStatus(dsp.status.NORMAL) end elseif coffer == 181 or coffer == 217 or coffer == 348 or coffer == 46 then @@ -1022,6 +1030,10 @@ function onTrigger(player, npc) end end if coffer ~= 348 then + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) + battlefield:setLocalVar("random", math.random(0,1)) + battlefield:setLocalVar("cofferMask", 0) GetNPCByID(ID.npc.GATE_OFFSET+9):setStatus(dsp.status.NORMAL) end elseif coffer == 182 or coffer == 236 or coffer == 360 or coffer == 47 then @@ -1032,6 +1044,10 @@ function onTrigger(player, npc) end end if coffer ~= 360 then + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) + battlefield:setLocalVar("random", math.random(0,1)) + battlefield:setLocalVar("cofferMask", 0) GetNPCByID(ID.npc.GATE_OFFSET+10):setStatus(dsp.status.NORMAL) end elseif coffer == 183 or coffer == 261 or coffer == 393 or coffer == 68 then @@ -1042,6 +1058,10 @@ function onTrigger(player, npc) end end if coffer ~= 393 then + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) + battlefield:setLocalVar("random", math.random(0,1)) + battlefield:setLocalVar("cofferMask", 0) GetNPCByID(ID.npc.GATE_OFFSET+11):setStatus(dsp.status.NORMAL) end elseif coffer == 202 or coffer == 190 or coffer == 277 or coffer == 69 then @@ -1052,6 +1072,10 @@ function onTrigger(player, npc) end end if coffer ~= 277 then + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) + battlefield:setLocalVar("random", math.random(1,2)) + battlefield:setLocalVar("cofferMask", 0) GetNPCByID(ID.npc.GATE_OFFSET+12):setStatus(dsp.status.NORMAL) end elseif coffer == 70 or coffer == 123 then From 80be75a0b5db2d9d6341a4dba5f8cd19d47dc832 Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Thu, 7 Nov 2019 14:02:29 -0500 Subject: [PATCH 16/33] Lots of Apollyon stuff. Apollyon and Temenos armoury crate rewrite. Add 2hrs. --- scripts/globals/battlefield.lua | 3 +- scripts/globals/bcnm.lua | 52 +- scripts/globals/limbus.lua | 788 +++--- scripts/globals/mobskills/hyper_pulse.lua | 5 +- scripts/globals/mobskills/pod_ejection.lua | 30 + scripts/zones/Apollyon/IDs.lua | 134 +- scripts/zones/Apollyon/Zone.lua | 295 +-- .../zones/Apollyon/bcnms/central_apollyon.lua | 58 +- scripts/zones/Apollyon/bcnms/cs_apollyon.lua | 58 +- scripts/zones/Apollyon/bcnms/ne_apollyon.lua | 54 +- scripts/zones/Apollyon/bcnms/nw_apollyon.lua | 53 +- scripts/zones/Apollyon/bcnms/se_apollyon.lua | 50 +- scripts/zones/Apollyon/bcnms/sw_apollyon.lua | 60 +- scripts/zones/Apollyon/mobs/Adamantshell.lua | 38 +- scripts/zones/Apollyon/mobs/Air_Elemental.lua | 70 +- .../zones/Apollyon/mobs/Apollyon_Cleaner.lua | 43 +- .../zones/Apollyon/mobs/Apollyon_Sapling.lua | 18 + .../Apollyon/mobs/Apollyon_Scavenger.lua | 39 +- .../zones/Apollyon/mobs/Apollyon_Sweeper.lua | 22 + .../zones/Apollyon/mobs/Arboricole_Beetle.lua | 18 + .../Apollyon/mobs/Arboricole_Crawler.lua | 18 + .../zones/Apollyon/mobs/Arboricole_Hornet.lua | 18 + .../Apollyon/mobs/Arboricole_Opo-opo.lua | 18 + .../zones/Apollyon/mobs/Arboricole_Raven.lua | 18 + .../zones/Apollyon/mobs/Arboricole_Spider.lua | 18 + scripts/zones/Apollyon/mobs/Armoury_Crate.lua | 37 + scripts/zones/Apollyon/mobs/Bardha.lua | 39 +- scripts/zones/Apollyon/mobs/Barometz.lua | 43 +- scripts/zones/Apollyon/mobs/Bialozar.lua | 43 + scripts/zones/Apollyon/mobs/Borametz.lua | 37 +- .../Apollyon/mobs/Carnagechief_Jackbodokk.lua | 108 +- scripts/zones/Apollyon/mobs/Cornu.lua | 26 - scripts/zones/Apollyon/mobs/Cronos.lua | 21 + scripts/zones/Apollyon/mobs/Cynoprosopi.lua | 18 +- .../zones/Apollyon/mobs/Dark_Elemental.lua | 70 +- .../Apollyon/mobs/Dee_Wapa_the_Desolator.lua | 107 +- .../zones/Apollyon/mobs/Earth_Elemental.lua | 70 +- scripts/zones/Apollyon/mobs/Evil_Armory.lua | 31 +- scripts/zones/Apollyon/mobs/Fir_Bholg.lua | 106 +- .../zones/Apollyon/mobs/Fire_Elemental.lua | 70 +- scripts/zones/Apollyon/mobs/Flying_Spear.lua | 25 +- scripts/zones/Apollyon/mobs/Fossil_Quadav.lua | 8 + scripts/zones/Apollyon/mobs/Ghost_Clot.lua | 23 +- .../zones/Apollyon/mobs/Goobbue_Harvester.lua | 27 + scripts/zones/Apollyon/mobs/Gorynich.lua | 38 +- scripts/zones/Apollyon/mobs/Grave_Digger.lua | 23 +- .../Apollyon/mobs/Grognard_Footsoldier.lua | 8 + .../zones/Apollyon/mobs/Grognard_Grappler.lua | 8 + .../zones/Apollyon/mobs/Grognard_Impaler.lua | 18 + .../Apollyon/mobs/Grognard_Mesmerizer.lua | 8 + .../Apollyon/mobs/Grognard_Neckchopper.lua | 8 + .../zones/Apollyon/mobs/Grognard_Predator.lua | 8 + scripts/zones/Apollyon/mobs/Gunpod.lua | 109 +- scripts/zones/Apollyon/mobs/Hyperion.lua | 21 + scripts/zones/Apollyon/mobs/Ice_Elemental.lua | 70 +- scripts/zones/Apollyon/mobs/Inhumer.lua | 48 +- scripts/zones/Apollyon/mobs/Jidra.lua | 107 +- .../zones/Apollyon/mobs/Kaiser_Behemoth.lua | 35 +- scripts/zones/Apollyon/mobs/Kerkopes.lua | 42 +- .../zones/Apollyon/mobs/Light_Elemental.lua | 70 +- .../zones/Apollyon/mobs/Lightsteel_Quadav.lua | 8 + .../zones/Apollyon/mobs/Metalloid_Amoeba.lua | 42 +- .../Apollyon/mobs/Millenary_Mossback.lua | 18 +- .../zones/Apollyon/mobs/Mountain_Buffalo.lua | 39 +- .../zones/Apollyon/mobs/NaQba_Chirurgeon.lua | 106 +- scripts/zones/Apollyon/mobs/Okeanos.lua | 21 + scripts/zones/Apollyon/mobs/Pluto.lua | 18 +- scripts/zones/Apollyon/mobs/Proto-Omega.lua | 100 +- scripts/zones/Apollyon/mobs/Sirin.lua | 26 - .../zones/Apollyon/mobs/Star_Ruby_Quadav.lua | 8 + .../Apollyon/mobs/Star_Sapphire_Quadav.lua | 8 + scripts/zones/Apollyon/mobs/Thiazi.lua | 54 +- .../zones/Apollyon/mobs/Thunder_Elemental.lua | 70 +- scripts/zones/Apollyon/mobs/Tieholtsodi.lua | 31 +- .../Apollyon/mobs/Troglodyte_Dhalmel.lua | 38 +- .../zones/Apollyon/mobs/Water_Elemental.lua | 70 +- .../zones/Apollyon/mobs/Whitegold_Quadav.lua | 8 + scripts/zones/Apollyon/mobs/Wootz_Quadav.lua | 8 + .../zones/Apollyon/mobs/Yagudo_Archpriest.lua | 8 + .../Apollyon/mobs/Yagudo_Discipilnant.lua | 8 + .../zones/Apollyon/mobs/Yagudo_Eradicator.lua | 8 + .../Apollyon/mobs/Yagudo_Kapellmeister.lua | 8 + .../Apollyon/mobs/Yagudo_Knight_Templar.lua | 8 + .../zones/Apollyon/mobs/Yagudo_Prelatess.lua | 8 + scripts/zones/Apollyon/mobs/Zlatorog.lua | 28 +- scripts/zones/Apollyon/npcs/Armoury_Crate.lua | 1758 ++++++++------ .../zones/Apollyon/npcs/Radiant_Aureole.lua | 27 - .../zones/Apollyon/npcs/Sentinel_Column.lua | 56 +- .../zones/Apollyon/npcs/Swirling_Vortex.lua | 55 + scripts/zones/Temenos/IDs.lua | 90 +- .../bcnms/central_temenos_1st_floor.lua | 9 +- .../bcnms/central_temenos_2nd_floor.lua | 9 +- .../bcnms/central_temenos_3rd_floor.lua | 9 +- .../bcnms/central_temenos_4th_floor.lua | 10 +- .../bcnms/central_temenos_basement.lua | 10 +- .../Temenos/bcnms/temenos_eastern_tower.lua | 10 +- .../Temenos/bcnms/temenos_northern_tower.lua | 9 +- .../Temenos/bcnms/temenos_western_tower.lua | 9 +- .../Temenos/mobs/Abyssdweller_Jhabdebb.lua | 16 +- scripts/zones/Temenos/mobs/Air_Elemental.lua | 71 +- scripts/zones/Temenos/mobs/Airi.lua | 22 +- scripts/zones/Temenos/mobs/Beli.lua | 16 +- .../Temenos/mobs/Cryptonberry_Abductor.lua | 18 +- .../Temenos/mobs/Cryptonberry_Charmer.lua | 19 +- .../Temenos/mobs/Cryptonberry_Designator.lua | 15 +- .../Temenos/mobs/Cryptonberry_Skulker.lua | 19 +- scripts/zones/Temenos/mobs/Dark_Elemental.lua | 40 +- .../zones/Temenos/mobs/Earth_Elemental.lua | 71 +- .../zones/Temenos/mobs/Enhanced_Ahriman.lua | 22 +- .../zones/Temenos/mobs/Enhanced_Beetle.lua | 36 +- .../zones/Temenos/mobs/Enhanced_Dragon.lua | 26 +- .../zones/Temenos/mobs/Enhanced_Lizard.lua | 36 +- .../Temenos/mobs/Enhanced_Mandragora.lua | 36 +- scripts/zones/Temenos/mobs/Enhanced_Pugil.lua | 36 +- scripts/zones/Temenos/mobs/Enhanced_Slime.lua | 36 +- scripts/zones/Temenos/mobs/Enhanced_Tiger.lua | 36 +- .../zones/Temenos/mobs/Enhanced_Vulture.lua | 21 +- scripts/zones/Temenos/mobs/Fire_Elemental.lua | 71 +- scripts/zones/Temenos/mobs/Fossil_Quadav.lua | 8 + scripts/zones/Temenos/mobs/Goblin_Fencer.lua | 18 +- .../Temenos/mobs/Goblin_Slaughterman.lua | 46 +- .../zones/Temenos/mobs/Goblin_Theurgist.lua | 22 +- scripts/zones/Temenos/mobs/Goblin_Warlord.lua | 22 +- .../Temenos/mobs/Grognard_Footsoldier.lua | 8 + .../zones/Temenos/mobs/Grognard_Grappler.lua | 8 + .../zones/Temenos/mobs/Grognard_Impaler.lua | 18 + .../Temenos/mobs/Grognard_Mesmerizer.lua | 8 + .../Temenos/mobs/Grognard_Neckchopper.lua | 8 + .../zones/Temenos/mobs/Grognard_Predator.lua | 8 + scripts/zones/Temenos/mobs/Ice_Elemental.lua | 71 +- scripts/zones/Temenos/mobs/Iruci.lua | 26 +- scripts/zones/Temenos/mobs/Kari.lua | 18 +- .../zones/Temenos/mobs/Kindred_Black_Mage.lua | 22 +- .../Temenos/mobs/Kindred_Dark_Knight.lua | 16 +- .../zones/Temenos/mobs/Kindred_Summoner.lua | 13 +- .../zones/Temenos/mobs/Kindred_Warrior.lua | 16 +- .../zones/Temenos/mobs/Light_Elemental.lua | 34 +- .../zones/Temenos/mobs/Lightsteel_Quadav.lua | 8 + scripts/zones/Temenos/mobs/Moblin_Dustman.lua | 22 +- scripts/zones/Temenos/mobs/Mystic_Avatar.lua | 327 +-- .../zones/Temenos/mobs/Orichalcum_Quadav.lua | 16 +- .../Temenos/mobs/Pee_Qoho_the_Python.lua | 13 +- .../Temenos/mobs/Praetorian_Guard_CCCXI.lua | 33 +- .../Temenos/mobs/Praetorian_Guard_CCXX.lua | 33 +- .../Temenos/mobs/Praetorian_Guard_CXLVIII.lua | 33 +- .../Temenos/mobs/Praetorian_Guard_LXXIII.lua | 33 +- scripts/zones/Temenos/mobs/Proto-Ultima.lua | 11 +- scripts/zones/Temenos/mobs/Skadi.lua | 16 +- .../zones/Temenos/mobs/Star_Ruby_Quadav.lua | 8 + .../Temenos/mobs/Star_Sapphire_Quadav.lua | 8 + scripts/zones/Temenos/mobs/Telchines_Bard.lua | 48 +- .../zones/Temenos/mobs/Telchines_Dragoon.lua | 33 +- scripts/zones/Temenos/mobs/Telchines_Monk.lua | 24 +- .../Temenos/mobs/Telchines_White_Mage.lua | 48 +- scripts/zones/Temenos/mobs/Temenos_Aern.lua | 103 +- .../zones/Temenos/mobs/Temenos_Cleaner.lua | 22 +- scripts/zones/Temenos/mobs/Temenos_Ghrah.lua | 16 +- scripts/zones/Temenos/mobs/Temenos_Weapon.lua | 22 +- scripts/zones/Temenos/mobs/Thrym.lua | 16 +- .../zones/Temenos/mobs/Thunder_Elemental.lua | 71 +- .../zones/Temenos/mobs/Water_Elemental.lua | 71 +- .../zones/Temenos/mobs/Whitegold_Quadav.lua | 8 + .../mobs/Wootz_Quadav.lua} | 8 +- .../zones/Temenos/mobs/Yagudo_Archpriest.lua | 8 + .../Temenos/mobs/Yagudo_Discipilnant.lua | 8 + .../zones/Temenos/mobs/Yagudo_Eradicator.lua | 8 + .../Temenos/mobs/Yagudo_Kapellmeister.lua | 8 + .../Temenos/mobs/Yagudo_Knight_Templar.lua | 8 + .../zones/Temenos/mobs/Yagudo_Prelatess.lua | 8 + scripts/zones/Temenos/npcs/Armoury_Crate.lua | 2115 ++++++++++------- .../zones/Temenos/npcs/Scanning_Device.lua | 1 - sql/bcnm_battlefield.sql | 130 +- sql/bcnm_treasure_chests.sql | 25 +- sql/mob_droplist.sql | 7 + sql/mob_groups.sql | 61 +- sql/mob_pets.sql | 19 +- sql/mob_pools.sql | 104 +- sql/mob_skill_lists.sql | 14 +- sql/mob_skills.sql | 4 +- sql/mob_spawn_points.sql | 1106 +++++---- sql/npc_list.sql | 451 ++-- 181 files changed, 6771 insertions(+), 5736 deletions(-) create mode 100644 scripts/globals/mobskills/pod_ejection.lua create mode 100644 scripts/zones/Apollyon/mobs/Apollyon_Sapling.lua create mode 100644 scripts/zones/Apollyon/mobs/Apollyon_Sweeper.lua create mode 100644 scripts/zones/Apollyon/mobs/Arboricole_Beetle.lua create mode 100644 scripts/zones/Apollyon/mobs/Arboricole_Crawler.lua create mode 100644 scripts/zones/Apollyon/mobs/Arboricole_Hornet.lua create mode 100644 scripts/zones/Apollyon/mobs/Arboricole_Opo-opo.lua create mode 100644 scripts/zones/Apollyon/mobs/Arboricole_Raven.lua create mode 100644 scripts/zones/Apollyon/mobs/Arboricole_Spider.lua create mode 100644 scripts/zones/Apollyon/mobs/Armoury_Crate.lua create mode 100644 scripts/zones/Apollyon/mobs/Bialozar.lua delete mode 100644 scripts/zones/Apollyon/mobs/Cornu.lua create mode 100644 scripts/zones/Apollyon/mobs/Cronos.lua create mode 100644 scripts/zones/Apollyon/mobs/Fossil_Quadav.lua create mode 100644 scripts/zones/Apollyon/mobs/Goobbue_Harvester.lua create mode 100644 scripts/zones/Apollyon/mobs/Grognard_Footsoldier.lua create mode 100644 scripts/zones/Apollyon/mobs/Grognard_Grappler.lua create mode 100644 scripts/zones/Apollyon/mobs/Grognard_Impaler.lua create mode 100644 scripts/zones/Apollyon/mobs/Grognard_Mesmerizer.lua create mode 100644 scripts/zones/Apollyon/mobs/Grognard_Neckchopper.lua create mode 100644 scripts/zones/Apollyon/mobs/Grognard_Predator.lua create mode 100644 scripts/zones/Apollyon/mobs/Hyperion.lua create mode 100644 scripts/zones/Apollyon/mobs/Lightsteel_Quadav.lua create mode 100644 scripts/zones/Apollyon/mobs/Okeanos.lua delete mode 100644 scripts/zones/Apollyon/mobs/Sirin.lua create mode 100644 scripts/zones/Apollyon/mobs/Star_Ruby_Quadav.lua create mode 100644 scripts/zones/Apollyon/mobs/Star_Sapphire_Quadav.lua create mode 100644 scripts/zones/Apollyon/mobs/Whitegold_Quadav.lua create mode 100644 scripts/zones/Apollyon/mobs/Wootz_Quadav.lua create mode 100644 scripts/zones/Apollyon/mobs/Yagudo_Archpriest.lua create mode 100644 scripts/zones/Apollyon/mobs/Yagudo_Discipilnant.lua create mode 100644 scripts/zones/Apollyon/mobs/Yagudo_Eradicator.lua create mode 100644 scripts/zones/Apollyon/mobs/Yagudo_Kapellmeister.lua create mode 100644 scripts/zones/Apollyon/mobs/Yagudo_Knight_Templar.lua create mode 100644 scripts/zones/Apollyon/mobs/Yagudo_Prelatess.lua delete mode 100644 scripts/zones/Apollyon/npcs/Radiant_Aureole.lua create mode 100644 scripts/zones/Apollyon/npcs/Swirling_Vortex.lua create mode 100644 scripts/zones/Temenos/mobs/Fossil_Quadav.lua create mode 100644 scripts/zones/Temenos/mobs/Grognard_Footsoldier.lua create mode 100644 scripts/zones/Temenos/mobs/Grognard_Grappler.lua create mode 100644 scripts/zones/Temenos/mobs/Grognard_Impaler.lua create mode 100644 scripts/zones/Temenos/mobs/Grognard_Mesmerizer.lua create mode 100644 scripts/zones/Temenos/mobs/Grognard_Neckchopper.lua create mode 100644 scripts/zones/Temenos/mobs/Grognard_Predator.lua create mode 100644 scripts/zones/Temenos/mobs/Lightsteel_Quadav.lua create mode 100644 scripts/zones/Temenos/mobs/Star_Ruby_Quadav.lua create mode 100644 scripts/zones/Temenos/mobs/Star_Sapphire_Quadav.lua create mode 100644 scripts/zones/Temenos/mobs/Whitegold_Quadav.lua rename scripts/zones/{Apollyon/mobs/Kronprinz_Behemoth.lua => Temenos/mobs/Wootz_Quadav.lua} (55%) create mode 100644 scripts/zones/Temenos/mobs/Yagudo_Archpriest.lua create mode 100644 scripts/zones/Temenos/mobs/Yagudo_Discipilnant.lua create mode 100644 scripts/zones/Temenos/mobs/Yagudo_Eradicator.lua create mode 100644 scripts/zones/Temenos/mobs/Yagudo_Kapellmeister.lua create mode 100644 scripts/zones/Temenos/mobs/Yagudo_Knight_Templar.lua create mode 100644 scripts/zones/Temenos/mobs/Yagudo_Prelatess.lua diff --git a/scripts/globals/battlefield.lua b/scripts/globals/battlefield.lua index 3f2bdcbb6c3..817fef8d5df 100644 --- a/scripts/globals/battlefield.lua +++ b/scripts/globals/battlefield.lua @@ -65,7 +65,6 @@ function dsp.battlefield.onBattlefieldTick(battlefield, timeinside, players) local leavecode = -1 local players = battlefield:getPlayers() local cutsceneTimer = battlefield:getLocalVar("cutsceneTimer") - local dontKick = battlefield:getLocalVar("dontKick") if status == dsp.battlefield.status.LOST then leavecode = 4 @@ -84,7 +83,7 @@ function dsp.battlefield.onBattlefieldTick(battlefield, timeinside, players) canLeave = true end end - if canLeave and cutsceneTimer >= 15 and dontKick == 0 then + if canLeave and cutsceneTimer >= 15 then battlefield:cleanup(true) end end diff --git a/scripts/globals/bcnm.lua b/scripts/globals/bcnm.lua index f303a2af647..158d4862217 100644 --- a/scripts/globals/bcnm.lua +++ b/scripts/globals/bcnm.lua @@ -459,7 +459,7 @@ 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 radiantOffset = zones[dsp.zone.APOLLYON].npc.RADIANT_OFFSET + local swirlingVortex = zones[dsp.zone.APOLLYON].npc.SWIRLING_VORTEX local function getZM14Offset(offset) return zones[dsp.zone.LALOFF_AMPHITHEATER].npc.SHIMMERING_CIRCLE_OFFSET + offset @@ -578,12 +578,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) and npcid == radiantOffset + 0 ) end, -- NW Apollyon - [1291] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.RED_CARD) and npcid == radiantOffset + 0 ) end, -- SW Apollyon - [1292] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == radiantOffset + 1 ) end, -- NE Apollyon - [1293] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == radiantOffset + 1 ) end, -- SE Apollyon - [1294] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and (player:hasKeyItem(dsp.ki.BLACK_CARD) or player:hasKeyItem(dsp.ki.RED_CARD)) ) end, -- CS Apollyon - [1296] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and (player:hasKeyItem(dsp.ki.BLACK_CARD) or player:hasKeyItem(dsp.ki.RED_CARD)) ) end, -- Central Apollyon + [1290] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.RED_CARD) and npcid == swirlingVortex + 0 ) end, -- NW Apollyon + [1291] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.RED_CARD) and npcid == swirlingVortex + 0 ) end, -- SW Apollyon + [1292] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == swirlingVortex + 1 ) end, -- NE Apollyon + [1293] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == swirlingVortex + 1 ) end, -- SE Apollyon + [1294] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and ((player:hasKeyItem(dsp.ki.RED_CARD) and npcid == swirlingVortex + 0) + or (player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == swirlingVortex + 1 )) ) end, -- CS Apollyon + [1296] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and ((player:hasKeyItem(dsp.ki.RED_CARD) and npcid == swirlingVortex + 0) + or (player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == swirlingVortex + 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 @@ -599,12 +601,14 @@ function checkReqs(player, npc, bfid, registrant) { [ 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 == radiantOffset + 0 ) end, -- NW Apollyon - [1291] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.RED_CARD) and npcid == radiantOffset + 0 ) end, -- SW Apollyon - [1292] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == radiantOffset + 1 ) end, -- NE Apollyon - [1293] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == radiantOffset + 1 ) end, -- SE Apollyon - [1294] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and (player:hasKeyItem(dsp.ki.BLACK_CARD) or player:hasKeyItem(dsp.ki.RED_CARD))) end, -- CS Apollyon - [1296] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and (player:hasKeyItem(dsp.ki.BLACK_CARD) or player:hasKeyItem(dsp.ki.RED_CARD))) end, -- Central Apollyon + [1290] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.RED_CARD) and npcid == swirlingVortex + 0 ) end, -- NW Apollyon + [1291] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.RED_CARD) and npcid == swirlingVortex + 0 ) end, -- SW Apollyon + [1292] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == swirlingVortex + 1 ) end, -- NE Apollyon + [1293] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == swirlingVortex + 1 ) end, -- SE Apollyon + [1294] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and ((player:hasKeyItem(dsp.ki.RED_CARD) and npcid == swirlingVortex + 0) + or (player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == swirlingVortex + 1 )) ) end, -- CS Apollyon + [1296] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and ((player:hasKeyItem(dsp.ki.RED_CARD) and npcid == swirlingVortex + 0) + or (player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == swirlingVortex + 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 @@ -807,8 +811,16 @@ function TradeBCNM(player, npc, trade, onUpdate) return false elseif trade:getItemCount() == 3 and trade:hasItemQty(1907,1) and trade:hasItemQty(1908,1) and trade:hasItemQty(1986,1) then itemId = -1 + if player:hasWornItem(1907) or player:hasWornItem(1908) or player:hasWornItem(1986) then + player:messageBasic(56, 0, 0) -- Unable to use item. + return false + end elseif trade:getItemCount() == 4 and trade:hasItemQty(1909,1) and trade:hasItemQty(1910,1) and trade:hasItemQty(1987,1) and trade:hasItemQty(1988,1) then itemId = -2 + if player:hasWornItem(1909) or player:hasWornItem(1910) or player:hasWornItem(1987) or player:hasWornItem(1988) then + player:messageBasic(56, 0, 0) -- Unable to use item. + return false + end else itemId = trade:getItemId(0) if itemId == nil or itemId < 1 or itemId > 65535 or trade:getItemCount() ~= 1 or trade:getSlotQty(0) ~= 1 then @@ -983,11 +995,15 @@ function EventFinishBCNM(player, csid, option) local bfid = stat:getPower() local item = getItemById(player, bfid) if item ~= 0 then - -- remove limbus chips - if zone == 37 or zone == 38 then - player:tradeComplete() - - -- set other traded item to worn + if item == -1 and player:hasItem(1907) and player:hasItem(1908) and player:hasItem(1986) then + player:createWornItem(1907) + player:createWornItem(1908) + player:createWornItem(1986) + elseif item == -2 and player:hasItem(1909) and player:hasItem(1910) and player:hasItem(1987) and player:hasItem(1988) then + player:createWornItem(1909) + player:createWornItem(1910) + player:createWornItem(1987) + player:createWornItem(1988) elseif player:hasItem(item) then player:createWornItem(item) end diff --git a/scripts/globals/limbus.lua b/scripts/globals/limbus.lua index c26b954b439..5cfc01b90c0 100644 --- a/scripts/globals/limbus.lua +++ b/scripts/globals/limbus.lua @@ -6,293 +6,6 @@ require("scripts/globals/zone") limbus = {} --- dsp.ki.WHITE_CARD = 349 --- dsp.ki.RED_CARD = 350 --- dsp.ki.BLACK_CARD = 351 --- dsp.ki.COSMOCLEANSE = 734 - -APOLLYON_SE_NE = 1 -- out 557 -1 441 128 -APOLLYON_NW_SW = 2 -- out -561 0 443 242 -TEMENOS = 3 - - -- 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 - --- Armoury crate type -cTIME = 1 -cITEM = 2 -cRESTORE = 3 -cMIMIC = 4 - -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}; -} - --- armoryID, (type, regionID, time, despawnothercoffer, mimicID, lootID) -ARMOURY_CRATE_APOLLYON = -{ - ----------------------------------------------- - -- SE_Apollyon - ----------------------------------------------- - -- floor 1 - 1, {cTIME, SE_Apollyon, 5, false, 0, 0}, -- time - 2, {cITEM, SE_Apollyon, 0, false, 0, 110}, -- items - 3, {cRESTORE, SE_Apollyon, 0, false, 0, 0}, -- restore - -- floor 2 - 232, {cTIME, SE_Apollyon, 5, false, 0, 0}, -- time - 233, {cITEM, SE_Apollyon, 0, false, 0, 111}, -- items - 234, {cRESTORE, SE_Apollyon, 0, false, 0, 0}, -- restore - -- floor 3 - 246, {cTIME, SE_Apollyon, 10, false, 0, 0}, -- time - 247, {cITEM, SE_Apollyon, 0, false, 0, 112}, -- items - 248, {cRESTORE, SE_Apollyon, 0, false, 0, 0}, -- restore - -- floor 4 - 263, {cITEM, SE_Apollyon, 0, false, 0, 113}, -- items - - ----------------------------------------------- - -- SW_Apollyon - ----------------------------------------------- - -- floor 1 - 14, {cTIME, SW_Apollyon, 10, false, 0, 0}, -- time - 15, {cITEM, SW_Apollyon, 0, false, 0, 119}, -- items - 16, {cRESTORE, SW_Apollyon, 0, false, 0, 0}, -- restore - -- floor 2 - 70, {cTIME, SW_Apollyon, 10, true, 0, 0}, -- time - 71, {cITEM, SW_Apollyon, 0, true, 0, 120}, -- items - 72, {cRESTORE, SW_Apollyon, 0, true, 0, 0}, -- restore - -- floor 3 - 195, {cTIME, SW_Apollyon, 10, false, 0, 0}, -- time - 196, {cITEM, SW_Apollyon, 5, false, 0, 121}, -- items - 197, {cRESTORE, SW_Apollyon, 0, false, 0, 0}, -- restore - -- floor 4 - 313, {cITEM, SW_Apollyon, 0, false, 0, 122}, -- items - - ----------------------------------------------- - -- NW_Apollyon - ----------------------------------------------- - -- floor 1 - 40, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time T1 - 41, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time T2 - 42, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time T3 - 107, {cITEM, NW_Apollyon, 0, false, 0, 123}, -- item - 264, {cRESTORE, NW_Apollyon, 0, false, 0, 0}, -- restore - -- floor 2 - 43, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time T1 - 44, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time T2 - 45, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time T3 - 108, {cITEM, NW_Apollyon, 0, false, 0, 124}, -- item - 289, {cRESTORE, NW_Apollyon, 0, false, 0, 0}, -- restore - -- floor 3 - 109, {cITEM, NW_Apollyon, 0, false, 0, 125}, -- item - 177, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time T1 - 189, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time T2 - 190, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time T3 - 327, {cRESTORE, NW_Apollyon, 0, false, 0, 0}, -- restore - -- floor 4 - 97, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time T2 - 98, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time T3 - 110, {cITEM, NW_Apollyon, 0, false, 0, 126}, -- item - 179, {cRESTORE, NW_Apollyon, 0, false, 0, 0}, -- restore - 262, {cTIME, NW_Apollyon, 5, false, 0, 0}, -- time T1 - -- floor 5 - 111, {cITEM, NW_Apollyon, 0, false, 0, 127}, -- item - - ----------------------------------------------- - -- NE_Apollyon - ----------------------------------------------- - -- floor 1 - 81, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time T2 - 82, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time T3 - 118, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time T1 - 119, {cITEM, NE_Apollyon, 0, false, 0, 114}, -- items - 120, {cRESTORE, NE_Apollyon, 0, false, 0, 0}, -- restore - -- floor 2 - 83, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time T2 - 84, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time T3 - 125, {cTIME, NE_Apollyon, 5, false, 0, 10}, -- time T1 - 126, {cITEM, NE_Apollyon, 0, false, 0, 115}, -- items - 127, {cRESTORE, NE_Apollyon, 0, false, 0, 0}, -- restore - -- floor 3 - 85, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time T2 - 94, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time T3 - 139, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time T1 - 140, {cITEM, NE_Apollyon, 0, false, 0, 116}, -- items - 141, {cRESTORE, NE_Apollyon, 0, false, 0, 0}, -- restore - -- floor 4 - 95, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time T2 - 96, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time T3 - 153, {cTIME, NE_Apollyon, 5, false, 0, 0}, -- time T1 - 154, {cITEM, NE_Apollyon, 0, false, 0, 117}, -- items - 155, {cRESTORE, NE_Apollyon, 0, false, 0, 0}, -- restore - -- floor 5 - 178, {cITEM, NE_Apollyon, 0, false, 0, 118}, -- items - - -- 32, {}, -- mimic - -- 33, {}, -- mimic - -- 34, {}, -- mimic - -- 35, {}, -- mimic - -- 36, {}, -- mimic - -- 37, {}, -- mimic - -- 38, {}, -- mimic - 39, {cITEM, Central_Apollyon, 0, false, 0, 128}, -- omega - 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 - 259, {cITEM, Central_Apollyon, 0, false, 0, 129}, -- Pod -} - --- armoryID, (type, regionID, time, despawnothercoffer, mimicID, lootID) -ARMOURY_CRATE_TEMENOS = -{ - ----------------------------------------------- - -- Temenos_Western_Tower - ----------------------------------------------- - 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}, -- Boss chest - 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}, - 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}, - - ----------------------------------------------- - -- Temenos_Northern_Tower - ----------------------------------------------- - 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 -- Boss chest - 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 - 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 - - ----------------------------------------------- - -- Temenos_Eastern_Tower - ----------------------------------------------- - 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}, -- Boss chest - 123, {cMIMIC, Temenos_Eastern_Tower, 0, true, 0, 0}, - 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}, - 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}, - 202, {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}, - 277, {cMIMIC, Temenos_Eastern_Tower, 0, true, 0, 0}, - - ----------------------------------------------- - -- Central_Temenos_1st_Floor - ----------------------------------------------- - 71, {cITEM, Central_Temenos_1st_Floor, 0, false, 0, 151}, -- Boss chest - - ----------------------------------------------- - -- Central_Temenos_2nd_Floor - ----------------------------------------------- - 77, {cITEM, Central_Temenos_2nd_Floor, 0, false, 0, 152}, -- Boss chest - - ----------------------------------------------- - -- Central_Temenos_3rd_Floor - ----------------------------------------------- - 78, {cITEM, Central_Temenos_3rd_Floor, 0, false, 0, 153}, -- Boss chest - - ----------------------------------------------- - -- Central_Temenos_4th_Floor - ----------------------------------------------- - 79, {cITEM, Central_Temenos_4th_Floor, 0, false, 0, 154}, -- Boss chest - 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}, - - ----------------------------------------------- - -- Central_Temenos_Basement - ----------------------------------------------- - 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}, - 127, {cTIME, Central_Temenos_Basement, 5, false, 0, 0}, -} - function limbus.enter(player, entrance) switch (entrance): caseof { @@ -305,176 +18,150 @@ function limbus.enter(player, entrance) } end -function limbus.hideArmouryCrates(region, zone) - if zone == APOLLYON_SE_NE or zone == APOLLYON_NW_SW then - local ID = zones[dsp.zone.APOLLYON] - for i = 1, #ARMOURY_CRATE_APOLLYON, 2 do - if ARMOURY_CRATE_APOLLYON[i+1][2] == region then - GetNPCByID(ARMOURY_CRATE_APOLLYON[i]+ID.npc.COFFER_OFFSET):setStatus(dsp.status.DISAPPEAR) +function limbus.hideArmouryCrates(bfid, show) + switch (bfid): caseof + { + [1290] = function() -- NW_Apollyon + local ID = zones[dsp.zone.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 - end - elseif zone == TEMENOS then - local ID = zones[dsp.zone.TEMENOS] - for i = 1, #ARMOURY_CRATE_TEMENOS, 2 do - if ARMOURY_CRATE_TEMENOS[i+1][2] == region then - GetNPCByID(ARMOURY_CRATE_TEMENOS[i]+ID.npc.COFFER_OFFSET):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(ID.npc.APOLLYON_NW_CRATE[5]):setStatus(dsp.status.DISAPPEAR) + end, + [1291] = function() -- SW_Apollyon + local ID = zones[dsp.zone.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 - 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, + [1292] = function() -- NE_Apollyon + local ID = zones[dsp.zone.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, + [1293] = function() -- SE_Apollyon + local ID = zones[dsp.zone.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, + [1294] = function() -- CS_Apollyon + local ID = zones[dsp.zone.APOLLYON] + for i = 0, 2 do + GetNPCByID(ID.npc.APOLLYON_CS_CRATE+i):setStatus(dsp.status.DISAPPEAR) + end + end, + [1296] = function() -- Central_Apollyon + local ID = zones[dsp.zone.APOLLYON] + GetNPCByID(ID.npc.APOLLYON_CENTRAL_CRATE):setStatus(dsp.status.DISAPPEAR) + end, + [1298] = function() -- Temenos_Western_Tower + local ID = zones[dsp.zone.TEMENOS] + 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, + [1299] = function() -- Temenos_Northern_Tower + local ID = zones[dsp.zone.TEMENOS] + 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, + [1300] = function() -- Temenos_Eastern_Tower + local ID = zones[dsp.zone.TEMENOS] + for i = 1, #ID.npc.TEMENOS_E_CRATE-1 do + for j = 0, 3 do + GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+j):untargetable(false) + 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, + [1301] = function() -- Central_Temenos_Basement + local ID = zones[dsp.zone.TEMENOS] + for i = 1, 5 do + GetNPCByID(ID.npc.TEMENOS_C_CRATE[5][i]):setStatus(dsp.status.DISAPPEAR) + end + end, + [1303] = function() -- Central_Temenos_1st_Floor + local ID = zones[dsp.zone.TEMENOS] + GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setStatus(dsp.status.DISAPPEAR) + end, + [1304] = function() -- Central_Temenos_2nd_Floor + local ID = zones[dsp.zone.TEMENOS] + GetNPCByID(ID.npc.TEMENOS_C_CRATE[2]):setStatus(dsp.status.DISAPPEAR) + end, + [1305] = function() -- Central_Temenos_3rd_Floor + local ID = zones[dsp.zone.TEMENOS] + GetNPCByID(ID.npc.TEMENOS_C_CRATE[3]):setStatus(dsp.status.DISAPPEAR) + end, + [1306] = function() -- Central_Temenos_4th_Floor + local ID = zones[dsp.zone.TEMENOS] + 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 show then + GetNPCByID(i):setStatus(dsp.status.NORMAL) + else + GetNPCByID(i):setStatus(dsp.status.DISAPPEAR) + end + end + end, + } end -function limbus.hideTemenosDoors(region) +function limbus.hideTemenosDoors(bfid) local ID = zones[dsp.zone.TEMENOS] - if region == Temenos_Northern_Tower then + if bfid == 1299 then -- Temenos_Northern_Tower for i = 0, 6 do GetNPCByID(ID.npc.GATE_OFFSET+i):setStatus(dsp.status.DISAPPEAR) end - elseif region == Temenos_Eastern_Tower then + elseif bfid == 1300 then -- Temenos_Eastern_Tower for i = 7, 13 do GetNPCByID(ID.npc.GATE_OFFSET+i):setStatus(dsp.status.DISAPPEAR) end - elseif region == Temenos_Western_Tower then + elseif bfid == 1298 then -- Temenos_Western_Tower for i = 14, 20 do GetNPCByID(ID.npc.GATE_OFFSET+i):setStatus(dsp.status.DISAPPEAR) end - elseif region == Central_Temenos_1st_Floor then + elseif bfid == 1303 then -- Central_Temenos_1st_Floor GetNPCByID(ID.npc.GATE_OFFSET+21):setStatus(dsp.status.DISAPPEAR) - elseif region == Central_Temenos_2nd_Floor then + elseif bfid == 1304 then -- Central_Temenos_2nd_Floor GetNPCByID(ID.npc.GATE_OFFSET+22):setStatus(dsp.status.DISAPPEAR) - elseif region == Central_Temenos_3rd_Floor then + elseif bfid == 1305 then -- Central_Temenos_3rd_Floor GetNPCByID(ID.npc.GATE_OFFSET+23):setStatus(dsp.status.DISAPPEAR) - elseif region == Central_Temenos_4th_Floor then + elseif bfid == 1306 then -- Central_Temenos_4th_Floor GetNPCByID(ID.npc.GATE_OFFSET+24):setStatus(dsp.status.DISAPPEAR) - elseif region == Central_Temenos_Basement then + elseif bfid == 1301 then -- Central_Temenos_Basement GetNPCByID(ID.npc.GATE_OFFSET+25):setStatus(dsp.status.DISAPPEAR) end end -function limbus.isMobDead(mobID) - local ActionValue = GetMobAction(mobID) - -- Todo: replace this - if ActionValue == 0 or ActionValue == 21 or ActionValue == 22 or ActionValue == 23 then - return true - else - return false - end -end - -function limbus.spawnArmouryCrates(region) - if region == SW_Apollyon then - local ID = zones[dsp.zone.APOLLYON] - GetNPCByID(ID.npc.COFFER_OFFSET+210):setPos(MIMICPOSITION[2][1], MIMICPOSITION[2][2], MIMICPOSITION[2][3]) - GetNPCByID(ID.npc.COFFER_OFFSET+210):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+211):setPos(MIMICPOSITION[4][1], MIMICPOSITION[4][2], MIMICPOSITION[4][3]) - GetNPCByID(ID.npc.COFFER_OFFSET+211):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+212):setPos(MIMICPOSITION[6][1], MIMICPOSITION[6][2], MIMICPOSITION[6][3]) - GetNPCByID(ID.npc.COFFER_OFFSET+212):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+213):setPos(MIMICPOSITION[8][1], MIMICPOSITION[8][2], MIMICPOSITION[8][3]) - GetNPCByID(ID.npc.COFFER_OFFSET+213):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+214):setPos(MIMICPOSITION[10][1], MIMICPOSITION[10][2], MIMICPOSITION[10][3]) - GetNPCByID(ID.npc.COFFER_OFFSET+214):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+215):setPos(MIMICPOSITION[12][1], MIMICPOSITION[12][2], MIMICPOSITION[12][3]) - GetNPCByID(ID.npc.COFFER_OFFSET+215):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+216):setPos(MIMICPOSITION[14][1], MIMICPOSITION[14][2], MIMICPOSITION[14][3]) - GetNPCByID(ID.npc.COFFER_OFFSET+216):setStatus(dsp.status.NORMAL) - SetServerVariable("[SW_Apollyon]MimicTrigger", 1) - elseif region == Central_Temenos_4th_Floor then - local ID = zones[dsp.zone.TEMENOS] - GetNPCByID(ID.npc.COFFER_OFFSET+80):setPos(-560, -6, -459) - GetNPCByID(ID.npc.COFFER_OFFSET+80):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+86):setPos(-540, -6, -459) - GetNPCByID(ID.npc.COFFER_OFFSET+86):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+87):setPos(-576, -6, -459) - GetNPCByID(ID.npc.COFFER_OFFSET+87):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+88):setPos(-528, -6, -459) - GetNPCByID(ID.npc.COFFER_OFFSET+88):setStatus(dsp.status.NORMAL) - - GetNPCByID(ID.npc.COFFER_OFFSET+89):setPos(-592, -6, -487) - GetNPCByID(ID.npc.COFFER_OFFSET+89):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+95):setPos(-566, -6, -486) - GetNPCByID(ID.npc.COFFER_OFFSET+95):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+96):setPos(-566, -6, -513) - GetNPCByID(ID.npc.COFFER_OFFSET+96):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+97):setPos(-592, -6, -513) - GetNPCByID(ID.npc.COFFER_OFFSET+97):setStatus(dsp.status.NORMAL) - - GetNPCByID(ID.npc.COFFER_OFFSET+98):setPos(-531, -0.5, -501) - GetNPCByID(ID.npc.COFFER_OFFSET+98):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+104):setPos(-527, -6, -512) - GetNPCByID(ID.npc.COFFER_OFFSET+104):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+105):setPos(-552, -6, -512) - GetNPCByID(ID.npc.COFFER_OFFSET+105):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+106):setPos(-552, -6, -488) - GetNPCByID(ID.npc.COFFER_OFFSET+106):setStatus(dsp.status.NORMAL) - - GetNPCByID(ID.npc.COFFER_OFFSET+107):setPos(-488, 2, -510) - GetNPCByID(ID.npc.COFFER_OFFSET+107):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+113):setPos(-486, 2, -491) - GetNPCByID(ID.npc.COFFER_OFFSET+113):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+114):setPos(-508, 2, -513) - GetNPCByID(ID.npc.COFFER_OFFSET+114):setStatus(dsp.status.NORMAL) - - GetNPCByID(ID.npc.COFFER_OFFSET+115):setPos(-488, 2, -408) - GetNPCByID(ID.npc.COFFER_OFFSET+115):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+116):setPos(-485, 2, -423) - GetNPCByID(ID.npc.COFFER_OFFSET+116):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+122):setPos(-506, 2, -406) - GetNPCByID(ID.npc.COFFER_OFFSET+122):setStatus(dsp.status.NORMAL) - end -end - -function limbus.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() cofferID = 1 end, - [2] = function() cofferID = 2 end, - [3] = function() cofferID = 3 end, - [4] = function() cofferID = 10 end, - [5] = function() cofferID = 11 end, - [6] = function() cofferID = 12 end, - } - elseif region == Temenos_Western_Tower and cofferType == cRESTORE then - switch (floor): caseof - { - [1] = function() cofferID = 203 end, - [2] = function() cofferID = 204 end, - [3] = function() cofferID = 205 end, - [4] = function() cofferID = 206 end, - [5] = function() cofferID = 207 end, - [6] = function() cofferID = 208 end, - } - elseif region == Temenos_Western_Tower and cofferType == cTIME then - switch (floor): caseof - { - [1] = function() cofferID = 128 end, - [2] = function() cofferID = 129 end, - [3] = function() cofferID = 139 end, - [4] = function() cofferID = 140 end, - [5] = function() cofferID = 141 end, - [6] = function() cofferID = 151 end, - } - end - -- print("cofferID" ..cofferID) - return cofferID -end - function limbus.handleLootRolls(battlefield, lootTable, players, npc) players = players or battlefield:getPlayers() if npc then @@ -501,59 +188,56 @@ function limbus.handleLootRolls(battlefield, lootTable, players, npc) end end -function limbus.despawnCS() - for n = 16933130, 16933136 do - if GetMobByID(n):isAlive() then - DespawnMob(n) - end - end - - for n = 16933138, 16933143 do - if GetMobByID(n):isAlive() then - DespawnMob(n) - end - end - - for n = 16933145, 16933152 do - if GetMobByID(n):isAlive() then - DespawnMob(n) - end - end -end - -function IselementalDayAreDead() - local day = GetServerVariable("[SW_Apollyon]ElementalTrigger") - 1 - local daykill=false - if (day == 0) then -- fire - if (GetMobByID(16932913):isDead() and GetMobByID(16932921):isDead() and GetMobByID(16932929):isDead()) then +function 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 - elseif (day == 1) then -- earth - if (GetMobByID(16932912):isDead() and GetMobByID(16932920):isDead() and GetMobByID(16932928):isDead()) then + 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 - elseif (day == 2) then -- water - if (GetMobByID(16932916):isDead() and GetMobByID(16932924):isDead() and GetMobByID(16932932):isDead()) then + 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 - elseif (day == 3) then -- wind - if (GetMobByID(16932910):isDead() and GetMobByID(16932918):isDead() and GetMobByID(16932926):isDead()) then + 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 - elseif (day == 4) then -- ice - if (GetMobByID(16932914):isDead() and GetMobByID(16932922):isDead() and GetMobByID(16932930):isDead()) then + 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(16932917):isDead() and GetMobByID(16932925):isDead() and GetMobByID(16932933):isDead()) then + 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(16932931):isDead() and GetMobByID(16932915):isDead() and GetMobByID(16932923):isDead()) then + 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(16932911):isDead() and GetMobByID(16932919):isDead() and GetMobByID(16932927):isDead()) then + 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 end @@ -561,45 +245,123 @@ function IselementalDayAreDead() 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 == dsp.zone.TEMENOS) then - -- WHY? Why is there even HERE? - elseif (pZone == dsp.zone.APOLLYON) 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 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 + { + [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, + [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, + [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, + [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, + [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, + [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, + [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, + [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 - return true - end -end - -function addLimbusList(player, number, Region) - local pZone = player:getZoneID() - - if (pZone == dsp.zone.TEMENOS) then - -- The hell? - elseif (pZone == dsp.zone.APOLLYON) then - SetServerVariable("[CS_Apollyon]Already_Received", GetServerVariable("[CS_Apollyon]Already_Received") + number) + limbus.spawnRandomCrate(npc, player, var, mask-8) + mask = battlefield:getLocalVar(var) + battlefield:setLocalVar(var, mask+8) + return end 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/pod_ejection.lua b/scripts/globals/mobskills/pod_ejection.lua new file mode 100644 index 00000000000..73bd0ae6991 --- /dev/null +++ b/scripts/globals/mobskills/pod_ejection.lua @@ -0,0 +1,30 @@ +--------------------------------------------- +-- Pod Ejection +--------------------------------------------- + +function onMobSkillCheck(target,mob,skill) + local omegaID = mob:getID() + local pod = GetMobByID(omegaID + 1) + if not pod:isSpawned() then + return 0 + end + return 1 +end + +function onMobWeaponSkill(target, mob, skill) + local omegaID = mob:getID() + local pod = GetMobByID(omegaID + 1) + local players = mob:getBattlefield():getPlayers() + + if not pod:isSpawned() then + 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/zones/Apollyon/IDs.lua b/scripts/zones/Apollyon/IDs.lua index 7b22f1e1cf2..50ecbaf4543 100644 --- a/scripts/zones/Apollyon/IDs.lua +++ b/scripts/zones/Apollyon/IDs.lua @@ -14,18 +14,148 @@ 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 = { - RADIANT_OFFSET = 16933242, - COFFER_OFFSET = 16932864, + SWIRLING_VORTEX = 16933218, + 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 49a30e56688..0974283a642 100644 --- a/scripts/zones/Apollyon/Zone.lua +++ b/scripts/zones/Apollyon/Zone.lua @@ -1,211 +1,140 @@ ----------------------------------- --- -- Zone: Apollyon --- ----------------------------------- local ID = require("scripts/zones/Apollyon/IDs") require("scripts/globals/conquest") -require("scripts/globals/limbus") require("scripts/globals/zone") ------------------------------------ --- onInitialize ------------------------------------ - function onInitialize(zone) -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 ------------------------------------ + 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 player:getXPos() == 0 and player:getYPos() == 0 and player:getZPos() == 0 then - player:setPos(643,0.1,-600) - end - return cs end ------------------------------------ --- onRegionEnter ------------------------------------ +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 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 (limbus.isMobDead(16932992)==true and player:getAnimation()==0) then player:startEvent(219);end - end, - [21] = function (x) - -- print("SE_telporter_f2_to_f3"); - if (limbus.isMobDead(16933006)==true and player:getAnimation()==0) then player:startEvent(218);end - end, - [22] = function (x) - -- print("SE_telporter_f3_to_f4"); - if (limbus.isMobDead(16933020)==true and player:getAnimation()==0) then player:startEvent(216);end - end, - [23] = function (x) + -- APOLLYON SE TELEPORTER + [20] = function() + if GetMobByID(ID.mob.APOLLYON_SE_MOB[1]):isDead() and player:getAnimation() == 0 then player:startEvent(219) end + end, + [21] = function() + if GetMobByID(ID.mob.APOLLYON_SE_MOB[2]):isDead() and player:getAnimation() == 0 then player:startEvent(218) end + end, + [22] = function() + if GetMobByID(ID.mob.APOLLYON_SE_MOB[3]):isDead() and player:getAnimation() == 0 then player:startEvent(216) end + end, + --[23] = function (x) -- print("SE_telporter_f3_to_entrance"); - if (limbus.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 (limbus.isMobDead(16933044)==true and player:getAnimation()==0) then player:startEvent(214);end - end, - [25] = function (x) - -- print("NE_telporter_f2_to_f3"); - if (limbus.isMobDead(16933064)==true and player:getAnimation()==0) then player:startEvent(212);end --212 - end, - [26] = function (x) - -- print("NE_telporter_f3_to_f4"); - if (limbus.isMobDead(16933086)==true and player:getAnimation()==0) then player:startEvent(210);end --210 - end, - [27] = function (x) - -- print("NE_telporter_f4_to_f5"); - if (limbus.isMobDead(16933101)==true and player:getAnimation()==0) then player:startEvent(215);end --215 - end, - [28] = function (x) + -- if (GetMobByID(16933032):isDead() and player:getAnimation()==0) then player:startEvent(217);end + -- end, + -- APOLLYON NE TELEPORTER + [24] = function() + if battlefield:getLocalVar("portalF1") == 1 and player:getAnimation() == 0 then player:startEvent(214) end + end, + [25] = function() + if battlefield:getLocalVar("portalF2") == 1 and player:getAnimation() == 0 then player:startEvent(212) end --212 + end, + [26] = function() + if battlefield:getLocalVar("portalF3") == 1 and player:getAnimation() == 0 then player:startEvent(210) end --210 + end, + [27] = function() + if battlefield:getLocalVar("portalF4") == 1 and player:getAnimation() == 0 then player:startEvent(215) end --215 + end, + -- [28] = function (x) -- print("NE_telporter_f5_to_entrance"); - if ( (limbus.isMobDead(16933114)==true or limbus.isMobDead(16933113)==true) and player:getAnimation()==0) then player:startEvent(213);end --213 - end, - -- ////////////////////////////////////////////////////////////////////////////////////////////////// - -- ///////////////////// APOLLYON SW TELEPORTER //////////////////////////////// - [29] = function (x) - if (limbus.isMobDead(16932873)==true and player:getAnimation()==0) then player:startEvent(208);end --208 - end, - [30] = function (x) - if (limbus.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 (( limbus.isMobDead(16932896)==true or limbus.isMobDead(16932897)==true or limbus.isMobDead(16932898)==true or limbus.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 (limbus.isMobDead(16932937)==true and player:getAnimation()==0) then player:startEvent(205);end --205 - end, - [34] = function (x) - if (limbus.isMobDead(16932950)==true and player:getAnimation()==0) then player:startEvent(203);end --203 - end, - [35] = function (x) - if (limbus.isMobDead(16932963)==true and player:getAnimation()==0) then player:startEvent(201);end --201 - end, - [36] = function (x) - if (limbus.isMobDead(16932976)==true and player:getAnimation()==0) then player:startEvent(200);end --200 - end, - [37] = function (x) - if (limbus.isMobDead(16932985)==true and player:getAnimation()==0) then player:startEvent(202);end --202 - end, + -- if ( (GetMobByID(16933114):isDead() or GetMobByID(16933113):isDead()) and player:getAnimation()==0) then player:startEvent(213);end --213 + -- end, + -- APOLLYON SW TELEPORTER + [29] = function() + if battlefield:getLocalVar("portalF1") == 1 and player:getAnimation() == 0 then player:startEvent(208) end --208 + end, + [30] = function() + if GetMobByID(ID.mob.APOLLYON_SW_MOB[2]):isDead() and player:getAnimation() == 0 then player:startEvent(209) end --209 + end, + [31] = function() + if battlefield:getLocalVar("mimicKilled") == 1 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() + if battlefield:getLocalVar("portalF1") == 1 and player:getAnimation() == 0 then player:startEvent(205) end --205 + end, + [34] = function() + if battlefield:getLocalVar("portalF2") == 1 and player:getAnimation() == 0 then player:startEvent(203) end --203 + end, + [35] = function() + if battlefield:getLocalVar("portalF3") == 1 and player:getAnimation() == 0 then player:startEvent(201) end --201 + end, + [36] = function() + if battlefield:getLocalVar("portalF4") == 1 and player:getAnimation() == 0 then player:startEvent(200) end --200 + end, + -- [37] = function (x) + -- if (GetMobByID(16932985):isDead() and player:getAnimation()==0) then player:startEvent(202);end --202 + -- end, } - -end; +end function onRegionLeave(player, region) end function onEventUpdate(player,csid,option) - if (csid == 209 and option == 0 and GetServerVariable("[SW_Apollyon]MimicTrigger")==0) then - limbus.spawnArmouryCrates(SW_Apollyon) ---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 + 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 6b0cf55b7ab..7e5ae88b2d5 100644 --- a/scripts/zones/Apollyon/bcnms/central_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/central_apollyon.lua @@ -2,37 +2,47 @@ -- 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) + limbus.hideArmouryCrates(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()); - limbus.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) + 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 b14d1db466e..84b8da840fb 100644 --- a/scripts/zones/Apollyon/bcnms/cs_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/cs_apollyon.lua @@ -2,40 +2,46 @@ -- 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) + limbus.hideArmouryCrates(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()); - limbus.hideArmouryCrates(CS_Apollyon,APOLLYON_SE_NE); - SetServerVariable("[CS_Apollyon]Already_Received",0); - GetNPCByID(16933245):setAnimation(8); - GetNPCByID(16933246):setAnimation(8); - GetNPCByID(16933247):setAnimation(8); - limbus.despawnCS(); -end; +function onBattlefieldEnter(player, battlefield) + player:delKeyItem(dsp.ki.COSMOCLEANSE) + 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 1768a49e6ff..060fa440f95 100644 --- a/scripts/zones/Apollyon/bcnms/ne_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/ne_apollyon.lua @@ -2,37 +2,43 @@ -- 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) + limbus.hideArmouryCrates(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()); - limbus.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) +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("[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 cec11259d1b..6209c88cf97 100644 --- a/scripts/zones/Apollyon/bcnms/nw_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/nw_apollyon.lua @@ -2,36 +2,43 @@ -- 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("randomMob", ID.mob.APOLLYON_NW_MOB[1]+math.random(1,8)) + battlefield:setLocalVar("loot", 1) + SetServerVariable("[NW_Apollyon]Time", battlefield:getTimeLimit()/60) + limbus.hideArmouryCrates(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()); - limbus.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) +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) + 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 7bba07ae71d..26fac3381e3 100644 --- a/scripts/zones/Apollyon/bcnms/se_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/se_apollyon.lua @@ -2,34 +2,42 @@ -- 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) + limbus.hideArmouryCrates(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()); - limbus.hideArmouryCrates(SE_Apollyon,APOLLYON_SE_NE); -end; +function onBattlefieldEnter(player, battlefield) + player:delKeyItem(dsp.ki.COSMOCLEANSE) + player:delKeyItem(dsp.ki.BLACK_CARD) +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) + 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 ea93070dab0..2fde40387a0 100644 --- a/scripts/zones/Apollyon/bcnms/sw_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/sw_apollyon.lua @@ -2,37 +2,49 @@ -- 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) + SetServerVariable("[SW_Apollyon]Time", battlefield:getTimeLimit()/60) + 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) + limbus.hideArmouryCrates(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()); - limbus.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) + 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) + 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..8dd915a33fa 100644 --- a/scripts/zones/Apollyon/mobs/Adamantshell.lua +++ b/scripts/zones/Apollyon/mobs/Adamantshell.lua @@ -2,29 +2,19 @@ -- Area: Apollyon SE -- Mob: Adamantshell ----------------------------------- -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 ==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 - -end; \ No newline at end of file + 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..3e29e3cee1a 100644 --- a/scripts/zones/Apollyon/mobs/Air_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Air_Elemental.lua @@ -2,68 +2,14 @@ -- Area: Apollyon SW -- Mob: Air Elemental ----------------------------------- -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(); - - local elementalday = GetServerVariable("[SW_Apollyon]ElementalTrigger") - 1; - local correctelement=false; - - 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 + if isKiller then + if 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..01a62406ddd 100644 --- a/scripts/zones/Apollyon/mobs/Apollyon_Scavenger.lua +++ b/scripts/zones/Apollyon/mobs/Apollyon_Scavenger.lua @@ -2,28 +2,21 @@ -- Area: Apollyon NW -- Mob: Apollyon Scavenger ----------------------------------- +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 ==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 + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local randomMob = battlefield:getLocalVar("randomMob") + if mobID == randomMob 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 + battlefield:setLocalVar("randomMob", ID.mob.APOLLYON_NW_MOB[4]+math.random(1,6)) + battlefield:setLocalVar("portalF3", 1) + 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..c7e1e86c481 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Apollyon_Sweeper.lua @@ -0,0 +1,22 @@ +----------------------------------- +-- Area: Apollyon NE +-- Mob: Apollyon Sweeper +----------------------------------- +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 + 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 + battlefield:setLocalVar("randomF4", ID.mob.APOLLYON_NE_MOB[4]+math.random(0,2)) + battlefield:setLocalVar("portalF3", 1) + 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..bf3b9d46353 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Armoury_Crate.lua @@ -0,0 +1,37 @@ +----------------------------------- +-- Area: Apollyon SW +-- Mob: Armoury Crate +----------------------------------- +local ID = require("scripts/zones/Apollyon/IDs") + +function onMobInitialize(mob) + mob:setMobMod(dsp.mobMod.DRAW_IN, 2) +end + +function onMobDeath(mob, player, isKiller) + if isKiller then + local battlefield = player:getBattlefield() + if battlefield:getLocalVar("mimicKilled") == 0 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 + battlefield:setLocalVar("mimicKilled", 1) + 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..782e4186d6c 100644 --- a/scripts/zones/Apollyon/mobs/Bardha.lua +++ b/scripts/zones/Apollyon/mobs/Bardha.lua @@ -2,28 +2,21 @@ -- Area: Apollyon NW -- Mob: Bardha ----------------------------------- +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 ==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 + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local randomMob = battlefield:getLocalVar("randomMob") + if mobID == randomMob 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 + battlefield:setLocalVar("randomMob", ID.mob.APOLLYON_NW_MOB[2]+math.random(1,8)) + battlefield:setLocalVar("portalF1", 1) + end + end +end diff --git a/scripts/zones/Apollyon/mobs/Barometz.lua b/scripts/zones/Apollyon/mobs/Barometz.lua index 278f3f16adb..eadb8a152ca 100644 --- a/scripts/zones/Apollyon/mobs/Barometz.lua +++ b/scripts/zones/Apollyon/mobs/Barometz.lua @@ -2,27 +2,26 @@ -- Area: Apollyon NE -- Mob: Barometz ----------------------------------- -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 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 + 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 + battlefield:setLocalVar("randomF2", ID.mob.APOLLYON_NE_MOB[2]+math.random(0,2)) + battlefield:setLocalVar("portalF1", 1) + 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..918d7deeb25 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Bialozar.lua @@ -0,0 +1,43 @@ +----------------------------------- +-- Area: Apollyon NE +-- Mob: Bialozar +----------------------------------- +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 + 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 + battlefield:setLocalVar("portalTriggerF3", ID.mob.APOLLYON_NE_MOB[3]) + battlefield:setLocalVar("itemF3", ID.mob.APOLLYON_NE_MOB[3]+1) + 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 + battlefield:setLocalVar("portalF2", 1) + 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..58116425790 100644 --- a/scripts/zones/Apollyon/mobs/Borametz.lua +++ b/scripts/zones/Apollyon/mobs/Borametz.lua @@ -2,21 +2,26 @@ -- Area: Apollyon NE -- Mob: Borametz ----------------------------------- -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 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 + 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 + battlefield:setLocalVar("randomF2", ID.mob.APOLLYON_NE_MOB[2]+math.random(0,2)) + battlefield:setLocalVar("portalF1", 1) + 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..9d5c58227e1 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Cronos.lua @@ -0,0 +1,21 @@ +----------------------------------- +-- Area: Apollyon NE +-- Mob: Cronos +----------------------------------- +local ID = require("scripts/zones/Apollyon/IDs") + +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 + 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 + battlefield:setLocalVar("portalF4", 1) + 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..be0db719fa8 100644 --- a/scripts/zones/Apollyon/mobs/Cynoprosopi.lua +++ b/scripts/zones/Apollyon/mobs/Cynoprosopi.lua @@ -2,14 +2,14 @@ -- Area: Apollyon NW -- Mob: Cynoprosopi ----------------------------------- +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+110):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+110):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[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..86642ceaedb 100644 --- a/scripts/zones/Apollyon/mobs/Dark_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Dark_Elemental.lua @@ -2,68 +2,14 @@ -- Area: Apollyon SW -- Mob: Dark Elemental ----------------------------------- -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(); - - local elementalday = GetServerVariable("[SW_Apollyon]ElementalTrigger"); - local correctelement=false; - - 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 + if isKiller then + if 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..f8e3cd1af00 100644 --- a/scripts/zones/Apollyon/mobs/Earth_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Earth_Elemental.lua @@ -2,68 +2,14 @@ -- Area: Apollyon SW -- Mob: Earth Elemental ----------------------------------- -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(); - - local elementalday = GetServerVariable("[SW_Apollyon]ElementalTrigger") - 1; - local correctelement=false; - - 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 + if isKiller then + if 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..f46a4124894 100644 --- a/scripts/zones/Apollyon/mobs/Evil_Armory.lua +++ b/scripts/zones/Apollyon/mobs/Evil_Armory.lua @@ -2,31 +2,10 @@ -- Area: Apollyon SE -- Mob: Evil Armory ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ - -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; +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(); - - 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..0a9da514e67 100644 --- a/scripts/zones/Apollyon/mobs/Fir_Bholg.lua +++ b/scripts/zones/Apollyon/mobs/Fir_Bholg.lua @@ -2,27 +2,89 @@ -- Area: Apollyon SW -- Mob: Fir Bholg ----------------------------------- -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 + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local race = battlefield:getLocalVar("raceF1") + if isKiller then + 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 + 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 + battlefield:setLocalVar("portalF1", 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 + 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 + battlefield:setLocalVar("portalF1", 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 + 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 + battlefield:setLocalVar("portalF1", 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 + 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 + battlefield:setLocalVar("portalF1", 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 + 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 + battlefield:setLocalVar("portalF1", 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..5287df223c5 100644 --- a/scripts/zones/Apollyon/mobs/Fire_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Fire_Elemental.lua @@ -2,68 +2,14 @@ -- Area: Apollyon SW -- Mob: Fire Elemental ----------------------------------- -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(); - - local elementalday = GetServerVariable("[SW_Apollyon]ElementalTrigger") - 1; - local correctelement=false; - - 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 + if isKiller then + if 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..84d6a7af6ae 100644 --- a/scripts/zones/Apollyon/mobs/Flying_Spear.lua +++ b/scripts/zones/Apollyon/mobs/Flying_Spear.lua @@ -2,19 +2,16 @@ -- Area: Apollyon SE -- Mob: Flying Spear ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) -end; - -function onMobDespawn(mob) - local mobID = mob:getID(); - if (mobID == 16933034) then -- time - - elseif (mobID == 16933037) then -- recover - - elseif (mobID == 16933040) then -- item - - end -end; + if isKiller then + local battlefield = player:getBattlefield() + battlefield:setLocalVar("killCountF4", battlefield:getLocalVar("killCountF4")+1) + local killCount = battlefield:getLocalVar("killCountF4") + if killCount == 1 then + GetNPCByID(ID.mob.APOLLYON_SE_MOB[4]):setStatus(dsp.status.DISAPPEAR) + GetMobByID(ID.mob.APOLLYON_SE_MOB[4]):spawn() + 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..aeaab1001ca 100644 --- a/scripts/zones/Apollyon/mobs/Ghost_Clot.lua +++ b/scripts/zones/Apollyon/mobs/Ghost_Clot.lua @@ -2,18 +2,15 @@ -- Area: Apollyon SE -- Mob: Ghost Clot ----------------------------------- - -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; +local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) - -end; \ No newline at end of file + if isKiller 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 + 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..b3032fe5c1d --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Goobbue_Harvester.lua @@ -0,0 +1,27 @@ +----------------------------------- +-- Area: Apollyon NE +-- Mob: Goobbue Harvester +----------------------------------- +local ID = require("scripts/zones/Apollyon/IDs") + +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 + 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 + battlefield:setLocalVar("randomF2", ID.mob.APOLLYON_NE_MOB[2]+math.random(0,2)) + battlefield:setLocalVar("portalF1", 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..4fcfa504f07 100644 --- a/scripts/zones/Apollyon/mobs/Gorynich.lua +++ b/scripts/zones/Apollyon/mobs/Gorynich.lua @@ -2,28 +2,20 @@ -- Area: Apollyon NW -- Mob: Gorynich ----------------------------------- +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 ==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 + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local randomMob = battlefield:getLocalVar("randomMob") + if mobID == randomMob 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 + battlefield:setLocalVar("portalF4", 1) + 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..c2c20a3fdde 100644 --- a/scripts/zones/Apollyon/mobs/Grave_Digger.lua +++ b/scripts/zones/Apollyon/mobs/Grave_Digger.lua @@ -2,18 +2,15 @@ -- Area: Apollyon SE -- Mob: Grave Digger ----------------------------------- - -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; +local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) - -end; \ No newline at end of file + if isKiller 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 + 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..bb12cbf1d77 100644 --- a/scripts/zones/Apollyon/mobs/Gunpod.lua +++ b/scripts/zones/Apollyon/mobs/Gunpod.lua @@ -2,16 +2,107 @@ -- 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; + if isKiller then + local players = player:getBattlefield():getPlayers() + 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 + players[1]:addTreasure(entry.itemid, mob) + end + break + end + end + end + end + end +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 mob:getBattlefield() then + mob:getBattlefield():setLocalVar("podReady", 1) + end +end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Hyperion.lua b/scripts/zones/Apollyon/mobs/Hyperion.lua new file mode 100644 index 00000000000..9bf8d737431 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Hyperion.lua @@ -0,0 +1,21 @@ +----------------------------------- +-- Area: Apollyon NE +-- Mob: Hyperion +----------------------------------- +local ID = require("scripts/zones/Apollyon/IDs") + +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 + 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 + battlefield:setLocalVar("portalF4", 1) + 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..306e65df39e 100644 --- a/scripts/zones/Apollyon/mobs/Ice_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Ice_Elemental.lua @@ -2,68 +2,14 @@ -- Area: Apollyon SW -- Mob: Ice Elemental ----------------------------------- -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(); - - local elementalday = GetServerVariable("[SW_Apollyon]ElementalTrigger") - 1; - local correctelement=false; - - 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 + if isKiller then + if 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..ffaa140cdf5 100644 --- a/scripts/zones/Apollyon/mobs/Inhumer.lua +++ b/scripts/zones/Apollyon/mobs/Inhumer.lua @@ -2,23 +2,35 @@ -- Area: Apollyon SE -- Mob: Inhumer ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) -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 - -end; \ No newline at end of file + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + 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 abbe5c3fe4f..dd881a3d9ff 100644 --- a/scripts/zones/Apollyon/mobs/Jidra.lua +++ b/scripts/zones/Apollyon/mobs/Jidra.lua @@ -2,67 +2,50 @@ -- 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 ( -limbus.isMobDead(16932882)==true and -limbus.isMobDead(16932883)==true and -limbus.isMobDead(16932884)==true and -limbus.isMobDead(16932885)==true and -limbus.isMobDead(16932886)==true and -limbus.isMobDead(16932887)==true and -limbus.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 + 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..0513b4ed201 100644 --- a/scripts/zones/Apollyon/mobs/Kaiser_Behemoth.lua +++ b/scripts/zones/Apollyon/mobs/Kaiser_Behemoth.lua @@ -2,31 +2,28 @@ -- Area: Apollyon NW -- Mob: Kaiser Behemoth ----------------------------------- -require("scripts/globals/status"); -require("scripts/globals/magic"); +require("scripts/globals/status") +require("scripts/globals/magic") ----------------------------------- +local ID = require("scripts/zones/Apollyon/IDs") 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..6e87d44f9a7 100644 --- a/scripts/zones/Apollyon/mobs/Light_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Light_Elemental.lua @@ -2,68 +2,14 @@ -- Area: Apollyon SW -- Mob: Light Elemental ----------------------------------- -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(); - - local elementalday = GetServerVariable("[SW_Apollyon]ElementalTrigger") - 1; - local correctelement=false; - - 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 + if isKiller then + if 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..33df9bee3ee 100644 --- a/scripts/zones/Apollyon/mobs/Metalloid_Amoeba.lua +++ b/scripts/zones/Apollyon/mobs/Metalloid_Amoeba.lua @@ -2,27 +2,25 @@ -- Area: Apollyon SE -- Mob: Metalloid Amoeba ----------------------------------- -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 ==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 + 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..54c58d1bf44 100644 --- a/scripts/zones/Apollyon/mobs/Mountain_Buffalo.lua +++ b/scripts/zones/Apollyon/mobs/Mountain_Buffalo.lua @@ -2,28 +2,21 @@ -- Area: Apollyon NW -- Mob: Mountain Buffalo ----------------------------------- +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 ==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 + local mobID = mob:getID() + if isKiller then + local battlefield = player:getBattlefield() + local randomMob = battlefield:getLocalVar("randomMob") + if mobID == randomMob 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 + battlefield:setLocalVar("randomMob", ID.mob.APOLLYON_NW_MOB[3]+math.random(1,8)) + battlefield:setLocalVar("portalF2", 1) + 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..4e361ec4df4 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Okeanos.lua @@ -0,0 +1,21 @@ +----------------------------------- +-- Area: Apollyon NE +-- Mob: Okeanos +----------------------------------- +local ID = require("scripts/zones/Apollyon/IDs") + +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 + 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 + battlefield:setLocalVar("portalF4", 1) + 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..b52cf2259aa 100644 --- a/scripts/zones/Apollyon/mobs/Pluto.lua +++ b/scripts/zones/Apollyon/mobs/Pluto.lua @@ -2,14 +2,14 @@ -- Area: Apollyon NW -- Mob: Pluto ----------------------------------- +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+107):setPos(mobX,mobY,mobZ); - GetNPCByID(16932864+107):setStatus(dsp.status.NORMAL); -end; \ No newline at end of file + 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..2c7f33f8c40 100644 --- a/scripts/zones/Apollyon/mobs/Proto-Omega.lua +++ b/scripts/zones/Apollyon/mobs/Proto-Omega.lua @@ -2,78 +2,90 @@ -- 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: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; + local podReady = mob:getBattlefield():getLocalVar("podReady") + + 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) + if podReady == 1 then + mob:getBattlefield():setLocalVar("podReady", 0) + mob:useMobAbility(1532) + end else - mob:AnimationSub(1); + 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) + if podReady == 1 then + mob:getBattlefield():setLocalVar("podReady", 0) + mob:useMobAbility(1532) + end + 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; + if currentForm == 2 then + if formTime < os.time() then + local spawnPod = math.random(0, 1) == 1 + if podReady == 1 and spawnPod then + mob:getBattlefield():setLocalVar("podReady", 0) + mob:useMobAbility(1532) + end + mob:setLocalVar("formWait", os.time() + 30) + 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..9ed40ce41df 100644 --- a/scripts/zones/Apollyon/mobs/Thiazi.lua +++ b/scripts/zones/Apollyon/mobs/Thiazi.lua @@ -2,22 +2,42 @@ -- Area: Apollyon NE -- Mob: Thiazi ----------------------------------- -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 + 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 + battlefield:setLocalVar("portalTriggerF3", ID.mob.APOLLYON_NE_MOB[3]) + battlefield:setLocalVar("itemF3", ID.mob.APOLLYON_NE_MOB[3]+1) + 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 + battlefield:setLocalVar("portalF2", 1) + 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..051d95bec9d 100644 --- a/scripts/zones/Apollyon/mobs/Thunder_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Thunder_Elemental.lua @@ -2,68 +2,14 @@ -- Area: Apollyon SW -- Mob: Thunder Elemental ----------------------------------- -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(); - - local elementalday = GetServerVariable("[SW_Apollyon]ElementalTrigger") - 1; - local correctelement=false; - - 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 + if isKiller then + if 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..e0315ca32f0 100644 --- a/scripts/zones/Apollyon/mobs/Tieholtsodi.lua +++ b/scripts/zones/Apollyon/mobs/Tieholtsodi.lua @@ -2,18 +2,25 @@ -- Area: Apollyon SE -- Mob: Tieholtsodi ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Apollyon/IDs") -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 onMobSpawn(mob) + dsp.mix.jobSpecial.config(mob, { + specials = + { + {id = dsp.jsa.HUNDRED_FISTS, hpp = 50}, + }, + }) +end function onMobDeath(mob, player, isKiller) - -end; \ No newline at end of file + if isKiller 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 + 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 dcd74f9f6c0..e800794928d 100644 --- a/scripts/zones/Apollyon/mobs/Troglodyte_Dhalmel.lua +++ b/scripts/zones/Apollyon/mobs/Troglodyte_Dhalmel.lua @@ -2,30 +2,18 @@ -- Area: Apollyon NE -- Mob: Troglodyte Dhalmel ----------------------------------- -require("scripts/globals/limbus"); ------------------------------------ +local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) -end; - -function onMobDespawn(mob) - local mobID = mob:getID(); - local mobX = mob:getXPos(); - local mobY = mob:getYPos(); - local mobZ = mob:getZPos(); - - - if (limbus.isMobDead(16933115)==true and - limbus.isMobDead(16933116)==true and - limbus.isMobDead(16933117)==true and - limbus.isMobDead(16933118)==true and - limbus.isMobDead(16933119)==true and - limbus.isMobDead(16933120)==true and - limbus.isMobDead(16933121)==true and - limbus.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 + 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..66521c8afec 100644 --- a/scripts/zones/Apollyon/mobs/Water_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Water_Elemental.lua @@ -2,68 +2,14 @@ -- Area: Apollyon SW -- Mob: Water Elemental ----------------------------------- -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(); - - local elementalday = GetServerVariable("[SW_Apollyon]ElementalTrigger") - 1; - local correctelement=false; - - 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 + if isKiller then + if 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..efa31a8d302 100644 --- a/scripts/zones/Apollyon/mobs/Zlatorog.lua +++ b/scripts/zones/Apollyon/mobs/Zlatorog.lua @@ -2,14 +2,24 @@ -- Area: Apollyon NW -- Mob: Zlatorog ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Apollyon/IDs") -function onMobDeath(mob, player, isKiller) -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 2db7abe9f17..67e81834e3b 100644 --- a/scripts/zones/Apollyon/npcs/Armoury_Crate.lua +++ b/scripts/zones/Apollyon/npcs/Armoury_Crate.lua @@ -2,784 +2,1062 @@ -- Area: Apollyon -- NPC: Armoury Crate ----------------------------------- - require("scripts/globals/titles") require("scripts/globals/quests") require("scripts/globals/limbus") ----------------------------------- +local ID = require("scripts/zones/Apollyon/IDs") local loot = { - -- SE_Apollyon floor 1 - [110] = + [1293] = { - { - {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 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 + }, }, }, - -- SE_Apollyon floor 2 - [111] = + [1292] = { - { - {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}, + -- 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 + }, }, }, - -- SE_Apollyon floor 3 - [112] = + [1291] = { - { - {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}, + -- 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 + }, }, }, - -- SE_Apollyon floor 4 - [113] = + [1290] = { - { - {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}, + -- 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 + }, }, }, - -- NE_Apollyon floor 1 - [114] = + [1294] = { - { - {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}, + -- 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 + }, }, }, - -- NE_Apollyon floor 2 - [115] = + [1296] = { - { - {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}, + -- 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 + }, }, }, - -- 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] = - { - { - {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}, - }, - }, - -- SW_Apollyon floor 3 - [121] = - { - { - {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}, - }, - }, - -- SW_Apollyon floor 4 - [122] = - { - { - {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}, - }, - }, - -- NW_Apollyon floor 1 - [123] = - { - { - {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 2 - [124] = - { - { - {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}, - }, - }, - -- NW_Apollyon floor 3 - [125] = - { - { - {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}, - }, - }, - -- 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 + local crateID = npc:getID() + local model = npc:getModelId() + local X = npc:getXPos() + local Y = npc:getYPos() + local Z = npc:getZPos() + local bfid = battlefield:getID() - for coffer = 1,#ARMOURY_CRATE_APOLLYON,2 do - if (ARMOURY_CRATE_APOLLYON[coffer]== CofferID-16932864) then - CofferType=ARMOURY_CRATE_APOLLYON[coffer+1][1] - InstanceRegion=ARMOURY_CRATE_APOLLYON[coffer+1][2] - addtime=ARMOURY_CRATE_APOLLYON[coffer+1][3] - DespawnOtherCoffer=ARMOURY_CRATE_APOLLYON[coffer+1][4] - MimicID=ARMOURY_CRATE_APOLLYON[coffer+1][5] - lootID=ARMOURY_CRATE_APOLLYON[coffer+1][6] - 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 - limbus.hideArmouryCrates(InstanceRegion,APOLLYON_SE_NE) - end - - npc:setStatus(dsp.status.DISAPPEAR) + 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 + limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) + elseif model == 962 then + dsp.battlefield.ExtendTimeLimit(battlefield, 5, ID.text.TIME_EXTENDED) + end + npc:setStatus(dsp.status.DISAPPEAR) + end + end + end + else + limbus.handleLootRolls(battlefield, loot[bfid][5], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + npc:setStatus(dsp.status.DISAPPEAR) + 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) + npc:setStatus(dsp.status.DISAPPEAR) + elseif crateID == itemPH then + limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) + npc:setStatus(dsp.status.DISAPPEAR) + elseif crateID == timePH then + dsp.battlefield.ExtendTimeLimit(battlefield, 5, ID.text.TIME_EXTENDED) + npc:setStatus(dsp.status.DISAPPEAR) + 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 + end + else + for j = 0, 2 do + if crateID == ID.npc.APOLLYON_SW_CRATE[i]+j then + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[i]):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[i]+1):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(ID.npc.APOLLYON_SW_CRATE[i]+2):setStatus(dsp.status.DISAPPEAR) + if model == 960 then + dsp.battlefield.HealPlayers(battlefield) + elseif model == 961 then + limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) + elseif model == 962 then + dsp.battlefield.ExtendTimeLimit(battlefield, 5, ID.text.TIME_EXTENDED) + end + npc:setStatus(dsp.status.DISAPPEAR) + end + end + end + end + else + limbus.handleLootRolls(battlefield, loot[bfid][4], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + npc:setStatus(dsp.status.DISAPPEAR) + 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 + limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) + elseif model == 962 then + dsp.battlefield.ExtendTimeLimit(battlefield, 5, ID.text.TIME_EXTENDED) + end + end + end + end + else + limbus.handleLootRolls(battlefield, loot[bfid][5], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + end + npc:setStatus(dsp.status.DISAPPEAR) + 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 + limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) + elseif model == 962 then + dsp.battlefield.ExtendTimeLimit(battlefield, 10, ID.text.TIME_EXTENDED) + end + end + end + end + else + for i = 1, 8 do + GetMobByID(ID.mob.APOLLYON_SE_MOB[4]+i):setStatus(dsp.status.DISAPPEAR) + end + limbus.handleLootRolls(battlefield, loot[bfid][4], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + end + npc:setStatus(dsp.status.DISAPPEAR) + end, + [1294] = function() -- CS Apollyon Crate Handling + if crateID ~= ID.npc.APOLLYON_CS_CRATE then + dsp.battlefield.ExtendTimeLimit(battlefield, 5, ID.text.TIME_EXTENDED) + else + limbus.handleLootRolls(battlefield, loot[bfid][1], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + end + npc:setStatus(dsp.status.DISAPPEAR) + end, + [1296] = function() -- Central Apollyon Crate Handling + limbus.handleLootRolls(battlefield, loot[bfid][1], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + npc:setStatus(dsp.status.DISAPPEAR) + end, + } 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 b4115e62216..00000000000 --- a/scripts/zones/Apollyon/npcs/Radiant_Aureole.lua +++ /dev/null @@ -1,27 +0,0 @@ ------------------------------------ --- Area: Appolyon --- NPC: Radiant_Aureole --- !pos ------------------------------------ -require("scripts/globals/bcnm") -local ID = require("scripts/zones/Apollyon/IDs") - -function onTrade(player, npc, trade) - TradeBCNM(player, npc, trade) -end - -function onTrigger(player, npc) - if npc:getID() == ID.npc.RADIANT_OFFSET then - EventTriggerBCNM(player, npc) - else - EventTriggerBCNM(player, npc) - end -end - -function onEventUpdate(player, csid, option, extras) - EventUpdateBCNM(player, csid, option, extras) -end - -function onEventFinish(player, csid, option) - EventFinishBCNM(player, csid, option) -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/Swirling_Vortex.lua b/scripts/zones/Apollyon/npcs/Swirling_Vortex.lua new file mode 100644 index 00000000000..67062bb8757 --- /dev/null +++ b/scripts/zones/Apollyon/npcs/Swirling_Vortex.lua @@ -0,0 +1,55 @@ +----------------------------------- +-- 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) and npc:getID() == ID.npc.SWIRLING_VORTEX) + or (player:hasKeyItem(dsp.ki.BLACK_CARD) and npc:getID() == ID.npc.SWIRLING_VORTEX+1)) + then + if npc:getID() == ID.npc.SWIRLING_VORTEX+1 then + player:setCharVar("ApollyonEntrance", 1) + else + player:setCharVar("ApollyonEntrance", 0) + end + TradeBCNM(player, npc, trade) + else + player:messageSpecial(ID.text.NO_KEY+1) + end +end + +function onTrigger(player, npc) + if player:hasKeyItem(dsp.ki.COSMOCLEANSE) and + ((player:hasKeyItem(dsp.ki.RED_CARD) and npc:getID() == ID.npc.SWIRLING_VORTEX) + or (player:hasKeyItem(dsp.ki.BLACK_CARD) and npc:getID() == ID.npc.SWIRLING_VORTEX+1)) + then + if npc:getID() == ID.npc.SWIRLING_VORTEX+1 then + player:setCharVar("ApollyonEntrance", 1) + else + player:setCharVar("ApollyonEntrance", 0) + end + 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/Temenos/IDs.lua b/scripts/zones/Temenos/IDs.lua index 3c2f08bc814..63568ff7fd1 100644 --- a/scripts/zones/Temenos/IDs.lua +++ b/scripts/zones/Temenos/IDs.lua @@ -15,6 +15,9 @@ 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 ... @@ -35,16 +38,6 @@ zones[dsp.zone.TEMENOS] = 16928816, 16928831, }, - TEMENOS_W_MOB = - { - 16928898, - 16928910, - 16928922, - 16928931, - 16928943, - 16928952, - 16928959, - }, TEMENOS_E_MOB = { 16928840, @@ -55,6 +48,16 @@ zones[dsp.zone.TEMENOS] = 16928885, 16928892, }, + TEMENOS_W_MOB = + { + 16928898, + 16928910, + 16928922, + 16928931, + 16928943, + 16928952, + 16928959, + }, TEMENOS_C_MOB = { 16929046, @@ -68,6 +71,73 @@ zones[dsp.zone.TEMENOS] = { GATE_OFFSET = 16929221, COFFER_OFFSET = 16928768, + 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] = 2, -- NE corner + [16928968] = 2, -- SE corner + [16928969] = 1, -- SW corner + [16928970] = 1, -- NW corner + [16928971] = 3, -- center + [16928972] = 2, -- E + [16928973] = 2, -- E + [16928974] = 2, -- E + [16928975] = 1, -- W + [16928976] = 1, -- W + [16928977] = 1, -- W + [16928978] = 1, -- SW + [16928979] = 1, -- SW + [16928980] = 1, -- SW + [16928981] = 1, -- SW + [16928982] = 2, -- SE + [16928983] = 2, -- SE + [16928984] = 2, -- SE + [16928985] = 2, -- SE + }, + [5] = + { + [1] = 16929052, -- basement 1 boss + [2] = 16929089, -- basement 1 + [3] = 16929116, -- basement 1 + [4] = 16929128, -- basement 1 + [5] = 16929161, -- basement 1 + }, + }, }, } diff --git a/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua index 703b9c21c89..2a9198fa5bc 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua @@ -10,18 +10,15 @@ local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) SetServerVariable("[Central_Temenos_1st_Floor]Time", battlefield:getTimeLimit()/60) - limbus.hideTemenosDoors(Central_Temenos_1st_Floor) - limbus.hideArmouryCrates(Central_Temenos_1st_Floor, TEMENOS) + limbus.hideTemenosDoors(battlefield:getID()) + limbus.hideArmouryCrates(battlefield:getID()) end 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 onBattlefieldRegister(player, battlefield) + dsp.battlefield.onBattlefieldTick(battlefield, tick, ID.text.TIME_EXCEEDED, ID.text.WIPE, ID.text.WIPE_KICK) end function onBattlefieldEnter(player, battlefield) diff --git a/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua index 069bb262dfe..39d3caa4ce0 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua @@ -10,18 +10,15 @@ local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) SetServerVariable("[Central_Temenos_2nd_Floor]Time", battlefield:getTimeLimit()/60) - limbus.hideTemenosDoors(Central_Temenos_2nd_Floor) - limbus.hideArmouryCrates(Central_Temenos_2nd_Floor, TEMENOS) + limbus.hideTemenosDoors(battlefield:getID()) + limbus.hideArmouryCrates(battlefield:getID()) end 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 onBattlefieldRegister(player, battlefield) + dsp.battlefield.onBattlefieldTick(battlefield, tick, ID.text.TIME_EXCEEDED, ID.text.WIPE, ID.text.WIPE_KICK) end function onBattlefieldEnter(player, battlefield) diff --git a/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua index d6e143af2c6..d6aa1f9e13e 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua @@ -10,18 +10,15 @@ local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) SetServerVariable("[Central_Temenos_3rd_Floor]Time", battlefield:getTimeLimit()/60) - limbus.hideTemenosDoors(Central_Temenos_3rd_Floor) - limbus.hideArmouryCrates(Central_Temenos_3rd_Floor, TEMENOS) + limbus.hideTemenosDoors(battlefield:getID()) + limbus.hideArmouryCrates(battlefield:getID()) end 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 onBattlefieldRegister(player, battlefield) + dsp.battlefield.onBattlefieldTick(battlefield, tick, ID.text.TIME_EXCEEDED, ID.text.WIPE, ID.text.WIPE_KICK) end function onBattlefieldEnter(player, battlefield) diff --git a/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua index 9a612dc38f4..6520b9259ea 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua @@ -10,19 +10,15 @@ local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) SetServerVariable("[Central_Temenos_4th_Floor]Time", battlefield:getTimeLimit()/60) - limbus.hideArmouryCrates(Central_Temenos_4th_Floor, TEMENOS) - limbus.hideTemenosDoors(Central_Temenos_4th_Floor) - limbus.spawnArmouryCrates(Central_Temenos_4th_Floor) + limbus.hideTemenosDoors(battlefield:getID()) + limbus.hideArmouryCrates(battlefield:getID(), true) end function onBattlefieldTick(battlefield, tick) if battlefield:getRemainingTime() % 60 == 0 then SetServerVariable("[Central_Temenos_4th_Floor]Time", battlefield:getRemainingTime()/60) end - dsp.battlefield.onBattlefieldTick(battlefield, tick) -end - -function onBattlefieldRegister(player, battlefield) + dsp.battlefield.onBattlefieldTick(battlefield, tick, ID.text.TIME_EXCEEDED, ID.text.WIPE, ID.text.WIPE_KICK) end function onBattlefieldEnter(player, battlefield) diff --git a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua index eb171ee5e07..bc26bb9fd70 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua @@ -8,19 +8,17 @@ require("scripts/globals/keyitems") local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) + battlefield:setLocalVar("loot", 1) SetServerVariable("[Central_Temenos_Basement]Time", battlefield:getTimeLimit()/60) - limbus.hideTemenosDoors(Central_Temenos_Basement) - limbus.hideArmouryCrates(Central_Temenos_Basement, TEMENOS) + limbus.hideTemenosDoors(battlefield:getID()) + limbus.hideArmouryCrates(battlefield:getID()) end 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 onBattlefieldRegister(player, battlefield) + dsp.battlefield.onBattlefieldTick(battlefield, tick, ID.text.TIME_EXCEEDED, ID.text.WIPE, ID.text.WIPE_KICK) end function onBattlefieldEnter(player, battlefield) diff --git a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua index d22bdcba5c7..be40898056b 100644 --- a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua @@ -9,20 +9,16 @@ local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) - battlefield:setLocalVar("random", math.random(0,1)) SetServerVariable("[Temenos_Eastern_Tower]Time", battlefield:getTimeLimit()/60) - limbus.hideArmouryCrates(Temenos_Eastern_Tower, TEMENOS) - limbus.hideTemenosDoors(Temenos_Eastern_Tower) + limbus.hideTemenosDoors(battlefield:getID()) + limbus.hideArmouryCrates(battlefield:getID()) end 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 onBattlefieldRegister(player, battlefield) + dsp.battlefield.onBattlefieldTick(battlefield, tick, ID.text.TIME_EXCEEDED, ID.text.WIPE, ID.text.WIPE_KICK) end function onBattlefieldEnter(player, battlefield) diff --git a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua index f720abccef3..a5225be2273 100644 --- a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua @@ -11,18 +11,15 @@ function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) battlefield:setLocalVar("random", math.random(1,6)) SetServerVariable("[Temenos_Northern_Tower]Time", battlefield:getTimeLimit()/60) - limbus.hideTemenosDoors(Temenos_Northern_Tower) - limbus.hideArmouryCrates(Temenos_Northern_Tower, TEMENOS) + limbus.hideTemenosDoors(battlefield:getID()) + limbus.hideArmouryCrates(battlefield:getID()) end 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 onBattlefieldRegister(player, battlefield) + dsp.battlefield.onBattlefieldTick(battlefield, tick, ID.text.TIME_EXCEEDED, ID.text.WIPE, ID.text.WIPE_KICK) end function onBattlefieldEnter(player, battlefield) diff --git a/scripts/zones/Temenos/bcnms/temenos_western_tower.lua b/scripts/zones/Temenos/bcnms/temenos_western_tower.lua index 8b4dd3abdb3..e0966e4dd6a 100644 --- a/scripts/zones/Temenos/bcnms/temenos_western_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_western_tower.lua @@ -10,18 +10,15 @@ local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) SetServerVariable("[Temenos_Western_Tower]Time", battlefield:getTimeLimit()/60) - limbus.hideTemenosDoors(Temenos_Western_Tower) - limbus.hideArmouryCrates(Temenos_Western_Tower, TEMENOS) + limbus.hideTemenosDoors(battlefield:getID()) + limbus.hideArmouryCrates(battlefield:getID()) end 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 onBattlefieldRegister(player, battlefield) + dsp.battlefield.onBattlefieldTick(battlefield, tick, ID.text.TIME_EXCEEDED, ID.text.WIPE, ID.text.WIPE_KICK) end function onBattlefieldEnter(player, battlefield) diff --git a/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua b/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua index a5be673a9e7..a41899df0e0 100644 --- a/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua +++ b/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua @@ -3,8 +3,9 @@ -- Mob: Abyssdweller Jhabdebb ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") 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 @@ -26,11 +27,12 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - 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.COFFER_OFFSET+78):setPos(-280, -161, -440) - GetNPCByID(ID.npc.COFFER_OFFSET+78):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) + 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) + GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) + end end end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Air_Elemental.lua b/scripts/zones/Temenos/mobs/Air_Elemental.lua index cfcf66d86dd..d6abebc71c8 100644 --- a/scripts/zones/Temenos/mobs/Air_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Air_Elemental.lua @@ -7,51 +7,30 @@ 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() - local battlefield = player:getBattlefield() - local cofferMask = battlefield:getLocalVar("cofferMask") - local random = battlefield:getLocalVar("random") + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() - switch (mobID): caseof { - [ID.mob.TEMENOS_E_MOB[3]] = function() - battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 0))) - GetNPCByID(ID.npc.COFFER_OFFSET+181):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+181):setStatus(dsp.status.NORMAL) - end, - [ID.mob.TEMENOS_E_MOB[3]+1] = function() - battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 1))) - GetNPCByID(ID.npc.COFFER_OFFSET+217):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+217):setStatus(dsp.status.NORMAL) - end, - [ID.mob.TEMENOS_E_MOB[3]+2] = function() - if random == 1 then - GetNPCByID(ID.npc.COFFER_OFFSET+348):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+348):setStatus(dsp.status.NORMAL) - else - battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 2))) - GetNPCByID(ID.npc.COFFER_OFFSET+46):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+46):setStatus(dsp.status.NORMAL) - end - end, - [ID.mob.TEMENOS_E_MOB[3]+3] = function() - if random == 1 then - battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 2))) - GetNPCByID(ID.npc.COFFER_OFFSET+46):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+46):setStatus(dsp.status.NORMAL) - else - GetNPCByID(ID.npc.COFFER_OFFSET+348):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+348):setStatus(dsp.status.NORMAL) - end - 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, - } + switch (mobID): caseof { + [ID.mob.TEMENOS_E_MOB[3]] = function() + limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[3], player, "crateMaskF3", battlefield:getLocalVar("crateMaskF3"), true) + end, + [ID.mob.TEMENOS_E_MOB[3]+1] = function() + limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[3]+1, player, "crateMaskF3", battlefield:getLocalVar("crateMaskF3"), true) + end, + [ID.mob.TEMENOS_E_MOB[3]+2] = function() + limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[3]+2, player, "crateMaskF3", battlefield:getLocalVar("crateMaskF3"), true) + end, + [ID.mob.TEMENOS_E_MOB[3]+3] = function() + 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 \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Airi.lua b/scripts/zones/Temenos/mobs/Airi.lua index e9d84a3b610..db950dc492d 100644 --- a/scripts/zones/Temenos/mobs/Airi.lua +++ b/scripts/zones/Temenos/mobs/Airi.lua @@ -14,15 +14,17 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - 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.COFFER_OFFSET+71):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+71):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) + 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) + GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) + end end end diff --git a/scripts/zones/Temenos/mobs/Beli.lua b/scripts/zones/Temenos/mobs/Beli.lua index 0ac934f3978..4b877e62314 100644 --- a/scripts/zones/Temenos/mobs/Beli.lua +++ b/scripts/zones/Temenos/mobs/Beli.lua @@ -3,8 +3,9 @@ -- Mob: Beli ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobEngaged(mob, target) GetMobByID(ID.mob.TEMENOS_N_MOB[2]):updateEnmity(target) @@ -12,12 +13,11 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if GetMobByID(ID.mob.TEMENOS_N_MOB[2]):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[2]+1):isDead() then - GetNPCByID(ID.npc.COFFER_OFFSET+19):setPos(200, -82, 495) - GetNPCByID(ID.npc.COFFER_OFFSET+19):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+153):setPos(206, -82, 495) - GetNPCByID(ID.npc.COFFER_OFFSET+153):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+210):setPos(196, -82, 495) - GetNPCByID(ID.npc.COFFER_OFFSET+210):setStatus(dsp.status.NORMAL) + 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 index c90681c378b..639dfc7b2e4 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua @@ -3,15 +3,23 @@ -- Mob: Cryptonberry Charmer ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - local battlefield = player:getBattlefield() - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+5):setStatus(dsp.status.NORMAL) + if isKiller then + local battlefield = player:getBattlefield() + if GetNPCByID(ID.npc.GATE_OFFSET+5):getStatus() ~= dsp.status.NORMAL 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 + GetNPCByID(ID.npc.GATE_OFFSET+5):setStatus(dsp.status.NORMAL) + end + end end diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua index 9fb899474c9..eb47e7356a5 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua @@ -3,19 +3,22 @@ -- Mob: Cryptonberry Charmer ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if GetMobByID(ID.mob.TEMENOS_N_MOB[6]+1):isDead() then - GetNPCByID(ID.npc.COFFER_OFFSET+38):setPos(-412, -78, 426) - GetNPCByID(ID.npc.COFFER_OFFSET+38):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+172):setPos(-415, -78, 427) - GetNPCByID(ID.npc.COFFER_OFFSET+172):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+214):setPos(-412, -78, 422) - GetNPCByID(ID.npc.COFFER_OFFSET+214):setStatus(dsp.status.NORMAL) + if isKiller then + if GetMobByID(ID.mob.TEMENOS_N_MOB[6]+1):isDead() then + GetNPCByID(ID.npc.TEMENOS_N_CRATE[6]):setPos(-470, -78.5, 426) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[6]+1):setPos(-468,-78.5,428) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[6]+2):setPos(-466,-78.5,430) + 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 index c90681c378b..9fdee8be713 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua @@ -10,8 +10,15 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - local battlefield = player:getBattlefield() - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+5):setStatus(dsp.status.NORMAL) + if isKiller then + local battlefield = player:getBattlefield() + if GetNPCByID(ID.npc.GATE_OFFSET+5):getStatus() ~= dsp.status.NORMAL 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 + GetNPCByID(ID.npc.GATE_OFFSET+5):setStatus(dsp.status.NORMAL) + end + end end diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua index 4ade0bad982..47cfa8a31bc 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua @@ -3,19 +3,22 @@ -- Mob: Cryptonberry Skulker ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if GetMobByID(ID.mob.TEMENOS_N_MOB[6]):isDead() then - GetNPCByID(ID.npc.COFFER_OFFSET+38):setPos(-412, -78, 426) - GetNPCByID(ID.npc.COFFER_OFFSET+38):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+172):setPos(-415, -78, 427) - GetNPCByID(ID.npc.COFFER_OFFSET+172):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+214):setPos(-412, -78, 422) - GetNPCByID(ID.npc.COFFER_OFFSET+214):setStatus(dsp.status.NORMAL) + if isKiller then + if GetMobByID(ID.mob.TEMENOS_N_MOB[6]):isDead() then + GetNPCByID(ID.npc.TEMENOS_N_CRATE[6]):setPos(-410.9, -78, 428.56) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[6]+1):setPos(-407.59, -78, 425.67) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[6]+2):setPos(-414.25, -78, 431.35) + 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 a80ec3286b1..f66082a405a 100644 --- a/scripts/zones/Temenos/mobs/Dark_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Dark_Elemental.lua @@ -7,27 +7,23 @@ local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobDeath(mob, player, isKiller) - local mobID = mob:getID() - local battlefield = player:getBattlefield() - local random = battlefield:getLocalVar("random") - local cofferPos = {{-603, 5, 160, 64}, {-597, 5, 160, 64}} + 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.COFFER_OFFSET+70):setPos(cofferPos[random]) - GetNPCByID(ID.npc.COFFER_OFFSET+70):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+123):setPos(cofferPos[3-random]) - GetNPCByID(ID.npc.COFFER_OFFSET+123):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.COFFER_OFFSET+70):setPos(cofferPos[random]) - GetNPCByID(ID.npc.COFFER_OFFSET+70):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+123):setPos(cofferPos[3-random]) - GetNPCByID(ID.npc.COFFER_OFFSET+123):setStatus(dsp.status.NORMAL) - end - end, - } + 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 4910077c650..7205e718d67 100644 --- a/scripts/zones/Temenos/mobs/Earth_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Earth_Elemental.lua @@ -7,51 +7,30 @@ 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() - local battlefield = player:getBattlefield() - local cofferMask = battlefield:getLocalVar("cofferMask") - local random = battlefield:getLocalVar("random") + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() - switch (mobID): caseof { - [ID.mob.TEMENOS_E_MOB[4]] = function() - battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 0))) - GetNPCByID(ID.npc.COFFER_OFFSET+182):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+182):setStatus(dsp.status.NORMAL) - end, - [ID.mob.TEMENOS_E_MOB[4]+1] = function() - battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 1))) - GetNPCByID(ID.npc.COFFER_OFFSET+236):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+236):setStatus(dsp.status.NORMAL) - end, - [ID.mob.TEMENOS_E_MOB[4]+2] = function() - if random == 1 then - GetNPCByID(ID.npc.COFFER_OFFSET+360):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+360):setStatus(dsp.status.NORMAL) - else - battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 2))) - GetNPCByID(ID.npc.COFFER_OFFSET+47):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+47):setStatus(dsp.status.NORMAL) - end - end, - [ID.mob.TEMENOS_E_MOB[4]+3] = function() - if random == 1 then - battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 2))) - GetNPCByID(ID.npc.COFFER_OFFSET+47):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+47):setStatus(dsp.status.NORMAL) - else - GetNPCByID(ID.npc.COFFER_OFFSET+360):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+360):setStatus(dsp.status.NORMAL) - end - 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, - } + switch (mobID): caseof { + [ID.mob.TEMENOS_E_MOB[4]] = function() + limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[4], player, "crateMaskF4", battlefield:getLocalVar("crateMaskF4"), true) + end, + [ID.mob.TEMENOS_E_MOB[4]+1] = function() + limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[4]+1, player, "crateMaskF4", battlefield:getLocalVar("crateMaskF4"), true) + end, + [ID.mob.TEMENOS_E_MOB[4]+2] = function() + limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[4]+2, player, "crateMaskF4", battlefield:getLocalVar("crateMaskF4"), true) + end, + [ID.mob.TEMENOS_E_MOB[4]+3] = function() + 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 \ 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 5315d2dffe9..b1524704747 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Ahriman.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Ahriman.lua @@ -14,15 +14,17 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - 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.COFFER_OFFSET+71):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+71):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) + 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) + GetNPCByID(ID.npc.GATE_OFFSET+20):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 7c1955bed92..c3f8e8df1d5 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua @@ -10,16 +10,30 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - local battlefield = player:getBattlefield() - local cofferID = limbus.randomCoffer(3, Temenos_Western_Tower) - local mobX = mob:getXPos() - local mobY = mob:getYPos() - local mobZ = mob:getZPos() - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+16):setStatus(dsp.status.NORMAL) - if cofferID ~= 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setStatus(dsp.status.NORMAL) + if isKiller then + local battlefield = player:getBattlefield() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + local mobID = mob:getID() + local spawn = math.random(0,1) == 1 + + if GetNPCByID(ID.npc.GATE_OFFSET+16):getStatus() ~= dsp.status.NORMAL 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 + GetNPCByID(ID.npc.GATE_OFFSET+16):setStatus(dsp.status.NORMAL) + end + + for i = 0, 8 do + if spawn and mobID == ID.mob.TEMENOS_W_MOB[3]+i + and GetNPCByID(ID.npc.TEMENOS_W_CRATE[3]+(i%2)):getStatus() == dsp.status.DISAPPEAR + then + GetNPCByID(ID.npc.TEMENOS_W_CRATE[3]+(i%2)):setPos(mobX, mobY, mobZ) + limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[3]+(i%2), player, "crateMaskF3", battlefield:getLocalVar("crateMaskF3")) + end + end end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua b/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua index 77d8f7145d6..1e8b4345126 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua @@ -14,18 +14,18 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - 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.COFFER_OFFSET+71):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+71):setStatus(dsp.status.NORMAL) - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) + 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) + GetNPCByID(ID.npc.GATE_OFFSET+20):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 fbf943e739b..8f4a44d5da6 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua @@ -10,16 +10,30 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - local battlefield = player:getBattlefield() - local cofferID = limbus.randomCoffer(4, Temenos_Western_Tower) - local mobX = mob:getXPos() - local mobY = mob:getYPos() - local mobZ = mob:getZPos() - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+17):setStatus(dsp.status.NORMAL) - if cofferID ~= 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setStatus(dsp.status.NORMAL) + if isKiller then + local battlefield = player:getBattlefield() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + local mobID = mob:getID() + local spawn = math.random(0,1) == 1 + + if GetNPCByID(ID.npc.GATE_OFFSET+17):getStatus() ~= dsp.status.NORMAL 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 + GetNPCByID(ID.npc.GATE_OFFSET+17):setStatus(dsp.status.NORMAL) + end + + for i = 0, 8 do + if spawn and mobID == ID.mob.TEMENOS_W_MOB[4]+i + and GetNPCByID(ID.npc.TEMENOS_W_CRATE[4]+(i%3)):getStatus() == dsp.status.DISAPPEAR + then + GetNPCByID(ID.npc.TEMENOS_W_CRATE[4]+(i%3)):setPos(mobX, mobY, mobZ) + limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[4]+(i%3), player, "crateMaskF4", battlefield:getLocalVar("crateMaskF4")) + end + end end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua b/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua index aa55ff88a3c..dd760863783 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua @@ -10,16 +10,30 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - local battlefield = player:getBattlefield() - local cofferID = limbus.randomCoffer(2, Temenos_Western_Tower) - local mobX = mob:getXPos() - local mobY = mob:getYPos() - local mobZ = mob:getZPos() - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+15):setStatus(dsp.status.NORMAL) - if cofferID ~= 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setStatus(dsp.status.NORMAL) + if isKiller then + local battlefield = player:getBattlefield() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + local mobID = mob:getID() + local spawn = math.random(0,1) == 1 + + if GetNPCByID(ID.npc.GATE_OFFSET+15):getStatus() ~= dsp.status.NORMAL 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 + GetNPCByID(ID.npc.GATE_OFFSET+15):setStatus(dsp.status.NORMAL) + end + + for i = 0, 8 do + if spawn and mobID == ID.mob.TEMENOS_W_MOB[2]+i + and GetNPCByID(ID.npc.TEMENOS_W_CRATE[2]+(i%3)):getStatus() == dsp.status.DISAPPEAR + then + GetNPCByID(ID.npc.TEMENOS_W_CRATE[2]+(i%3)):setPos(mobX, mobY, mobZ) + limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[2]+(i%3), player, "crateMaskF2", battlefield:getLocalVar("crateMaskF2")) + end + end end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua b/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua index 60226b4c1bc..aa8d9d21125 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua @@ -10,16 +10,30 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - local battlefield = player:getBattlefield() - local cofferID = limbus.randomCoffer(6, Temenos_Western_Tower) - local mobX = mob:getXPos() - local mobY = mob:getYPos() - local mobZ = mob:getZPos() - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+19):setStatus(dsp.status.NORMAL) - if cofferID ~= 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setStatus(dsp.status.NORMAL) + if isKiller then + local battlefield = player:getBattlefield() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + local mobID = mob:getID() + local spawn = math.random(0,1) == 1 + + if GetNPCByID(ID.npc.GATE_OFFSET+19):getStatus() ~= dsp.status.NORMAL 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 + GetNPCByID(ID.npc.GATE_OFFSET+19):setStatus(dsp.status.NORMAL) + end + + for i = 0, 8 do + if spawn and mobID == ID.mob.TEMENOS_W_MOB[6]+i + and GetNPCByID(ID.npc.TEMENOS_W_CRATE[6]+(i%2)):getStatus() == dsp.status.DISAPPEAR + then + GetNPCByID(ID.npc.TEMENOS_W_CRATE[6]+(i%2)):setPos(mobX, mobY, mobZ) + limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[6]+(i%2), player, "crateMaskF6", battlefield:getLocalVar("crateMaskF6")) + end + end end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Slime.lua b/scripts/zones/Temenos/mobs/Enhanced_Slime.lua index 1929f8be3fb..7b0e37637a9 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Slime.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Slime.lua @@ -10,16 +10,30 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - local battlefield = player:getBattlefield() - local cofferID = limbus.randomCoffer(5, Temenos_Western_Tower) - local mobX = mob:getXPos() - local mobY = mob:getYPos() - local mobZ = mob:getZPos() - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+18):setStatus(dsp.status.NORMAL) - if cofferID ~= 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setStatus(dsp.status.NORMAL) + if isKiller then + local battlefield = player:getBattlefield() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + local mobID = mob:getID() + local spawn = math.random(0,1) == 1 + + if GetNPCByID(ID.npc.GATE_OFFSET+18):getStatus() ~= dsp.status.NORMAL 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 + GetNPCByID(ID.npc.GATE_OFFSET+18):setStatus(dsp.status.NORMAL) + end + + for i = 0, 8 do + if spawn and mobID == ID.mob.TEMENOS_W_MOB[5]+i + and GetNPCByID(ID.npc.TEMENOS_W_CRATE[5]+(i%2)):getStatus() == dsp.status.DISAPPEAR + then + GetNPCByID(ID.npc.TEMENOS_W_CRATE[5]+(i%2)):setPos(mobX, mobY, mobZ) + limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[5]+(i%2), player, "crateMaskF5", battlefield:getLocalVar("crateMaskF5")) + end + end end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua b/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua index 24212d11e55..b7891382f6e 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua @@ -10,16 +10,30 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - local battlefield = player:getBattlefield() - local cofferID = limbus.randomCoffer(1, Temenos_Western_Tower) - local mobX = mob:getXPos() - local mobY = mob:getYPos() - local mobZ = mob:getZPos() - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+14):setStatus(dsp.status.NORMAL) - if cofferID ~= 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+cofferID):setStatus(dsp.status.NORMAL) + if isKiller then + local battlefield = player:getBattlefield() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + local mobID = mob:getID() + local spawn = math.random(0,1) == 1 + + if GetNPCByID(ID.npc.GATE_OFFSET+14):getStatus() ~= dsp.status.NORMAL 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 + GetNPCByID(ID.npc.GATE_OFFSET+14):setStatus(dsp.status.NORMAL) + end + + for i = 0, 8 do + if spawn and mobID == ID.mob.TEMENOS_W_MOB[1]+i + and GetNPCByID(ID.npc.TEMENOS_W_CRATE[1]+(i%3)):getStatus() == dsp.status.DISAPPEAR + then + GetNPCByID(ID.npc.TEMENOS_W_CRATE[1]+(i%3)):setPos(mobX, mobY, mobZ) + limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[1]+(i%3), player, "crateMaskF1", battlefield:getLocalVar("crateMaskF1")) + end + end end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua b/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua index 414eb8377c8..9c9dbf11054 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua @@ -16,15 +16,16 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - local mobX = mob:getXPos() - local mobY = mob:getYPos() - local mobZ = mob:getZPos() - 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.COFFER_OFFSET+17):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+17):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+19):setStatus(dsp.status.NORMAL) + if isKiller then + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + 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) + GetNPCByID(ID.npc.GATE_OFFSET+19):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 fa137630562..f5d82a2a3cf 100644 --- a/scripts/zones/Temenos/mobs/Fire_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Fire_Elemental.lua @@ -7,51 +7,30 @@ 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() - local battlefield = player:getBattlefield() - local cofferMask = battlefield:getLocalVar("cofferMask") - local random = battlefield:getLocalVar("random") + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() - switch (mobID): caseof { - [ID.mob.TEMENOS_E_MOB[1]] = function() - battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 0))) - GetNPCByID(ID.npc.COFFER_OFFSET+173):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+173):setStatus(dsp.status.NORMAL) - end, - [ID.mob.TEMENOS_E_MOB[1]+1] = function() - battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 1))) - GetNPCByID(ID.npc.COFFER_OFFSET+215):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+215):setStatus(dsp.status.NORMAL) - end, - [ID.mob.TEMENOS_E_MOB[1]+2] = function() - if random == 1 then - GetNPCByID(ID.npc.COFFER_OFFSET+284):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+284):setStatus(dsp.status.NORMAL) - else - battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 2))) - GetNPCByID(ID.npc.COFFER_OFFSET+40):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+40):setStatus(dsp.status.NORMAL) - end - end, - [ID.mob.TEMENOS_E_MOB[1]+3] = function() - if random == 1 then - battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 2))) - GetNPCByID(ID.npc.COFFER_OFFSET+40):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+40):setStatus(dsp.status.NORMAL) - else - GetNPCByID(ID.npc.COFFER_OFFSET+284):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+284):setStatus(dsp.status.NORMAL) - end - 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, - } + switch (mobID): caseof { + [ID.mob.TEMENOS_E_MOB[1]] = function() + limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[1], player, "crateMaskF1", battlefield:getLocalVar("crateMaskF1"), true) + end, + [ID.mob.TEMENOS_E_MOB[1]+1] = function() + limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[1]+1, player, "crateMaskF1", battlefield:getLocalVar("crateMaskF1"), true) + end, + [ID.mob.TEMENOS_E_MOB[1]+2] = function() + limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[1]+2, player, "crateMaskF1", battlefield:getLocalVar("crateMaskF1"), true) + end, + [ID.mob.TEMENOS_E_MOB[1]+3] = function() + 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 \ 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 161681c28e2..abd6995bddf 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Fencer.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Fencer.lua @@ -3,8 +3,9 @@ -- Mob: Goblin Fencer ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobEngaged(mob, target) GetMobByID(ID.mob.TEMENOS_N_MOB[7]):updateEnmity(target) @@ -13,12 +14,13 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - 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.COFFER_OFFSET+39):setPos(-599, 85, 438) - GetNPCByID(ID.npc.COFFER_OFFSET+39):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+6):setStatus(dsp.status.NORMAL) + 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) + GetNPCByID(ID.npc.GATE_OFFSET+6):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 c850b3eb7de..3f91fad5e79 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Slaughterman.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Slaughterman.lua @@ -3,33 +3,33 @@ -- Mob: Goblin Slaughterman ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobDeath(mob, player, isKiller) - local mobID = mob:getID() - local battlefield = player:getBattlefield() - local random = battlefield:getLocalVar("random") + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local random = battlefield:getLocalVar("random") - if mobID - ID.mob.TEMENOS_N_MOB[1] == random - 1 then - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET):setStatus(dsp.status.NORMAL) - end + if mobID - ID.mob.TEMENOS_N_MOB[1] == random - 1 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 + GetNPCByID(ID.npc.GATE_OFFSET):setStatus(dsp.status.NORMAL) + end - if mobID == ID.mob.TEMENOS_N_MOB[1]+1 and random % 2 == 1 then - GetNPCByID(ID.npc.COFFER_OFFSET+18):setPos(330, 70, 468) - GetNPCByID(ID.npc.COFFER_OFFSET+18):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+152):setPos(328, 70, 464) - GetNPCByID(ID.npc.COFFER_OFFSET+152):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+209):setPos(332, 70, 470) - GetNPCByID(ID.npc.COFFER_OFFSET+209):setStatus(dsp.status.NORMAL) - elseif mobID == ID.mob.TEMENOS_N_MOB[1] and random % 2 == 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+18):setPos(330, 70, 468) - GetNPCByID(ID.npc.COFFER_OFFSET+18):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+152):setPos(328, 70, 464) - GetNPCByID(ID.npc.COFFER_OFFSET+152):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+209):setPos(332, 70, 470) - GetNPCByID(ID.npc.COFFER_OFFSET+209):setStatus(dsp.status.NORMAL) + 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 b7c44039eec..27b1af817a3 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua @@ -3,8 +3,9 @@ -- Mob: Goblin Theurgist ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobEngaged(mob, target) GetMobByID(ID.mob.TEMENOS_N_MOB[7]):updateEnmity(target) @@ -13,16 +14,13 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - local battlefield = player:getBattlefield() - - 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.COFFER_OFFSET+39):setPos(-599, 85, 438) - GetNPCByID(ID.npc.COFFER_OFFSET+39):setStatus(dsp.status.NORMAL) - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+6):setStatus(dsp.status.NORMAL) + 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) + GetNPCByID(ID.npc.GATE_OFFSET+6):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 010350aee02..6aabb43a00c 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Warlord.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Warlord.lua @@ -3,8 +3,9 @@ -- Mob: Goblin Warlord ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobEngaged(mob, target) GetMobByID(ID.mob.TEMENOS_N_MOB[7]):updateEnmity(target) @@ -14,16 +15,13 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - local battlefield = player:getBattlefield() - - 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]+2):isDead() and - GetMobByID(ID.mob.TEMENOS_N_MOB[7]+4):isDead() - then - GetNPCByID(ID.npc.COFFER_OFFSET+39):setPos(-599, 85, 438) - GetNPCByID(ID.npc.COFFER_OFFSET+39):setStatus(dsp.status.NORMAL) - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+6):setStatus(dsp.status.NORMAL) + 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]+2):isDead() and + GetMobByID(ID.mob.TEMENOS_N_MOB[7]+4):isDead() + then + GetNPCByID(ID.npc.TEMENOS_N_CRATE[7]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+6):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..5217b818651 --- /dev/null +++ b/scripts/zones/Temenos/mobs/Grognard_Impaler.lua @@ -0,0 +1,18 @@ +----------------------------------- +-- Area: Temenos +-- 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/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 79c86020aef..7b84f945f6a 100644 --- a/scripts/zones/Temenos/mobs/Ice_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Ice_Elemental.lua @@ -7,51 +7,30 @@ 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() - local battlefield = player:getBattlefield() - local cofferMask = battlefield:getLocalVar("cofferMask") - local random = battlefield:getLocalVar("random") + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() - switch (mobID): caseof { - [ID.mob.TEMENOS_E_MOB[2]] = function() - battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 0))) - GetNPCByID(ID.npc.COFFER_OFFSET+174):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+174):setStatus(dsp.status.NORMAL) - end, - [ID.mob.TEMENOS_E_MOB[2]+1] = function() - battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 1))) - GetNPCByID(ID.npc.COFFER_OFFSET+216):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+216):setStatus(dsp.status.NORMAL) - end, - [ID.mob.TEMENOS_E_MOB[2]+2] = function() - if random == 1 then - GetNPCByID(ID.npc.COFFER_OFFSET+321):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+321):setStatus(dsp.status.NORMAL) - else - battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 2))) - GetNPCByID(ID.npc.COFFER_OFFSET+45):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+45):setStatus(dsp.status.NORMAL) - end - end, - [ID.mob.TEMENOS_E_MOB[2]+3] = function() - if random == 1 then - battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 2))) - GetNPCByID(ID.npc.COFFER_OFFSET+45):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+45):setStatus(dsp.status.NORMAL) - else - GetNPCByID(ID.npc.COFFER_OFFSET+321):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+321):setStatus(dsp.status.NORMAL) - end - 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, - } + switch (mobID): caseof { + [ID.mob.TEMENOS_E_MOB[2]] = function() + limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[2], player, "crateMaskF2", battlefield:getLocalVar("crateMaskF2"), true) + end, + [ID.mob.TEMENOS_E_MOB[2]+1] = function() + limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[2]+1, player, "crateMaskF2", battlefield:getLocalVar("crateMaskF2"), true) + end, + [ID.mob.TEMENOS_E_MOB[2]+2] = function() + limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[2]+2, player, "crateMaskF2", battlefield:getLocalVar("crateMaskF2"), true) + end, + [ID.mob.TEMENOS_E_MOB[2]+3] = function() + 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 \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Iruci.lua b/scripts/zones/Temenos/mobs/Iruci.lua index e828cd6fdf7..3a14a52bf0f 100644 --- a/scripts/zones/Temenos/mobs/Iruci.lua +++ b/scripts/zones/Temenos/mobs/Iruci.lua @@ -14,18 +14,18 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - 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.COFFER_OFFSET+71):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+71):setStatus(dsp.status.NORMAL) - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) + 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) + GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) + end end end diff --git a/scripts/zones/Temenos/mobs/Kari.lua b/scripts/zones/Temenos/mobs/Kari.lua index 7da2117fb2f..be1b3289520 100644 --- a/scripts/zones/Temenos/mobs/Kari.lua +++ b/scripts/zones/Temenos/mobs/Kari.lua @@ -3,13 +3,19 @@ -- Mob: Kari ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobDeath(mob, player, isKiller) - local battlefield = player:getBattlefield() - battlefield:setLocalVar("random", math.random(1,6)) - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+1):setStatus(dsp.status.NORMAL) + if isKiller then + local battlefield = player:getBattlefield() + battlefield:setLocalVar("random", math.random(1,6)) + 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.GATE_OFFSET+1):setStatus(dsp.status.NORMAL) + end end diff --git a/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua b/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua index 6d2c7e8bfcd..022e54394fc 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua @@ -3,20 +3,26 @@ -- Mob: Kindred Black Mage ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - local mobID = mob:getID() - local battlefield = player:getBattlefield() - local random = battlefield:getLocalVar("random") + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local random = battlefield:getLocalVar("random") - if mobID - ID.mob.TEMENOS_N_MOB[4] == random + 4 then - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+3):setStatus(dsp.status.NORMAL) + if mobID - ID.mob.TEMENOS_N_MOB[4] == random + 4 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 + GetNPCByID(ID.npc.GATE_OFFSET+3):setStatus(dsp.status.NORMAL) + end end end diff --git a/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua b/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua index 9fc5937bd27..c41b7a4f43b 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua @@ -3,19 +3,19 @@ -- Mob: Kindred Dark Knight ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if GetMobByID(ID.mob.TEMENOS_N_MOB[4]):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[4]+2):isDead() then - GetNPCByID(ID.npc.COFFER_OFFSET+27):setPos(-120, -80, 429) - GetNPCByID(ID.npc.COFFER_OFFSET+27):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+161):setPos(-123, -80, 429) - GetNPCByID(ID.npc.COFFER_OFFSET+161):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+212):setPos(-117, -80, 429) - GetNPCByID(ID.npc.COFFER_OFFSET+212):setStatus(dsp.status.NORMAL) + 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 0b278850bf9..5c85361277d 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Summoner.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Summoner.lua @@ -11,12 +11,11 @@ function onMobEngaged(mob,target) end function onMobDeath(mob, player, isKiller) - if GetMobByID(ID.mob.TEMENOS_N_MOB[4]):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[4]+1):isDead() then - GetNPCByID(ID.npc.COFFER_OFFSET+27):setPos(-120, -80, 429) - GetNPCByID(ID.npc.COFFER_OFFSET+27):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+161):setPos(-123, -80, 429) - GetNPCByID(ID.npc.COFFER_OFFSET+161):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+212):setPos(-117, -80, 429) - GetNPCByID(ID.npc.COFFER_OFFSET+212):setStatus(dsp.status.NORMAL) + 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 78c816e2c84..f76aff7c979 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Warrior.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Warrior.lua @@ -3,19 +3,19 @@ -- Mob: Kindred Warrior ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if GetMobByID(ID.mob.TEMENOS_N_MOB[4]+1):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[4]+2):isDead() then - GetNPCByID(ID.npc.COFFER_OFFSET+27):setPos(-120, -80, 429) - GetNPCByID(ID.npc.COFFER_OFFSET+27):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+161):setPos(-123, -80, 429) - GetNPCByID(ID.npc.COFFER_OFFSET+161):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+212):setPos(-117, -80, 429) - GetNPCByID(ID.npc.COFFER_OFFSET+212):setStatus(dsp.status.NORMAL) + 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/Light_Elemental.lua b/scripts/zones/Temenos/mobs/Light_Elemental.lua index 6dcbc25e909..75e3e3bed3d 100644 --- a/scripts/zones/Temenos/mobs/Light_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Light_Elemental.lua @@ -18,21 +18,21 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - 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.COFFER_OFFSET+77):setPos(0.5, -6, -459) - GetNPCByID(ID.npc.COFFER_OFFSET+77):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+19):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.COFFER_OFFSET+77):setPos(0.5, -6, -459) - GetNPCByID(ID.npc.COFFER_OFFSET+77):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+19):setStatus(dsp.status.NORMAL) - end - end, - } + 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) + GetNPCByID(ID.npc.GATE_OFFSET+19):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) + GetNPCByID(ID.npc.GATE_OFFSET+19):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 3697520f153..f6395d2827f 100644 --- a/scripts/zones/Temenos/mobs/Moblin_Dustman.lua +++ b/scripts/zones/Temenos/mobs/Moblin_Dustman.lua @@ -3,17 +3,23 @@ -- Mob: Moblin Dustman ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobDeath(mob, player, isKiller) - local mobID = mob:getID() - local battlefield = player:getBattlefield() - local random = battlefield:getLocalVar("random") + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local random = battlefield:getLocalVar("random") - if mobID - ID.mob.TEMENOS_N_MOB[1] == random - 1 then - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET):setStatus(dsp.status.NORMAL) + if mobID - ID.mob.TEMENOS_N_MOB[1] == random - 1 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 + GetNPCByID(ID.npc.GATE_OFFSET):setStatus(dsp.status.NORMAL) + 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 dba3af68f4b..674da91c3e4 100644 --- a/scripts/zones/Temenos/mobs/Mystic_Avatar.lua +++ b/scripts/zones/Temenos/mobs/Mystic_Avatar.lua @@ -29,149 +29,192 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - local mobID = mob:getID() - local battlefield = player:getBattlefield() - local cofferMask = battlefield:getLocalVar("cofferMask") + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local mimicID = battlefield:getLocalVar("mimicID") - if mobID == ID.mob.TEMENOS_E_MOB[1]+4 then --Ifrit - if cofferMask == 0 then - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+7):setStatus(dsp.status.NORMAL) - end - if bit.band(cofferMask, 1) ~= 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+173):setStatus(dsp.status.NORMAL) - end - if bit.band(cofferMask, 2) ~= 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+215):setStatus(dsp.status.NORMAL) - end - if bit.band(cofferMask, 4) ~= 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+40):setStatus(dsp.status.NORMAL) - end - battlefield:setLocalVar("cofferMask", 0) - elseif mobID == ID.mob.TEMENOS_E_MOB[2]+4 then --Shiva - if cofferMask == 0 then - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+8):setStatus(dsp.status.NORMAL) - end - if bit.band(cofferMask, 1) ~= 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+174):setStatus(dsp.status.NORMAL) - end - if bit.band(cofferMask, 2) ~= 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+216):setStatus(dsp.status.NORMAL) - end - if bit.band(cofferMask, 4) ~= 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+45):setStatus(dsp.status.NORMAL) - end - battlefield:setLocalVar("cofferMask", 0) - elseif mobID == ID.mob.TEMENOS_E_MOB[3]+4 then --Garuda - if cofferMask == 0 then - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+9):setStatus(dsp.status.NORMAL) - end - if bit.band(cofferMask, 1) ~= 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+181):setStatus(dsp.status.NORMAL) - end - if bit.band(cofferMask, 2) ~= 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+217):setStatus(dsp.status.NORMAL) - end - if bit.band(cofferMask, 4) ~= 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+46):setStatus(dsp.status.NORMAL) - end - battlefield:setLocalVar("cofferMask", 0) - elseif mobID == ID.mob.TEMENOS_E_MOB[4]+4 then --Titan - if cofferMask == 0 then - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+10):setStatus(dsp.status.NORMAL) - end - if bit.band(cofferMask, 1) ~= 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+182):setStatus(dsp.status.NORMAL) - end - if bit.band(cofferMask, 2) ~= 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+236):setStatus(dsp.status.NORMAL) - end - if bit.band(cofferMask, 4) ~= 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+47):setStatus(dsp.status.NORMAL) - end - battlefield:setLocalVar("cofferMask", 0) - elseif mobID == ID.mob.TEMENOS_E_MOB[5]+4 then --Ramuh - if cofferMask == 0 then - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+11):setStatus(dsp.status.NORMAL) - end - if bit.band(cofferMask, 1) ~= 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+183):setStatus(dsp.status.NORMAL) - end - if bit.band(cofferMask, 2) ~= 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+261):setStatus(dsp.status.NORMAL) - end - if bit.band(cofferMask, 4) ~= 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+68):setStatus(dsp.status.NORMAL) - end - battlefield:setLocalVar("cofferMask", 0) - elseif mobID == ID.mob.TEMENOS_E_MOB[6]+4 then --Leviathan - if cofferMask == 0 then - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+12):setStatus(dsp.status.NORMAL) - end - if bit.band(cofferMask, 1) ~= 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+202):setStatus(dsp.status.NORMAL) - end - if bit.band(cofferMask, 2) ~= 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+190):setStatus(dsp.status.NORMAL) - end - if bit.band(cofferMask, 4) ~= 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+69):setStatus(dsp.status.NORMAL) - end - battlefield:setLocalVar("cofferMask", 0) - elseif mobID == ID.mob.TEMENOS_E_MOB[7]+2 then --Fenrir - GetNPCByID(ID.npc.COFFER_OFFSET+70):setStatus(dsp.status.NORMAL) - 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.COFFER_OFFSET+77):setPos(0.5, -6, -459) - GetNPCByID(ID.npc.COFFER_OFFSET+77):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+19):setStatus(dsp.status.NORMAL) + if mobID == ID.mob.TEMENOS_E_MOB[1]+4 then --Ifrit + local crateMask = battlefield:getLocalVar("crateMaskF1") + if crateMask == 0 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 + GetNPCByID(ID.npc.GATE_OFFSET+7):setStatus(dsp.status.NORMAL) + else + for i = 0, 3 do + if ID.npc.TEMENOS_E_CRATE[1]+i ~= mimicID then + local model = GetNPCByID(ID.npc.TEMENOS_E_CRATE[1]+i):getModelId() + if model == 960 and bit.band(1, crateMask) ~= 0 then + GetNPCByID(ID.npc.TEMENOS_E_CRATE[1]+i):untargetable(false) + elseif model == 961 and bit.band(2, crateMask) ~= 0 then + GetNPCByID(ID.npc.TEMENOS_E_CRATE[1]+i):untargetable(false) + elseif model == 962 and bit.band(4, crateMask) ~= 0 then + GetNPCByID(ID.npc.TEMENOS_E_CRATE[1]+i):untargetable(false) + end + end + end + end + elseif mobID == ID.mob.TEMENOS_E_MOB[2]+4 then --Shiva + local crateMask = battlefield:getLocalVar("crateMaskF2") + if crateMask == 0 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 + GetNPCByID(ID.npc.GATE_OFFSET+8):setStatus(dsp.status.NORMAL) + else + for i = 0, 3 do + if ID.npc.TEMENOS_E_CRATE[2]+i ~= mimicID then + local model = GetNPCByID(ID.npc.TEMENOS_E_CRATE[2]+i):getModelId() + if model == 960 and bit.band(1, crateMask) ~= 0 then + GetNPCByID(ID.npc.TEMENOS_E_CRATE[2]+i):untargetable(false) + elseif model == 961 and bit.band(2, crateMask) ~= 0 then + GetNPCByID(ID.npc.TEMENOS_E_CRATE[2]+i):untargetable(false) + elseif model == 962 and bit.band(4, crateMask) ~= 0 then + GetNPCByID(ID.npc.TEMENOS_E_CRATE[2]+i):untargetable(false) + end + end + end + end + elseif mobID == ID.mob.TEMENOS_E_MOB[3]+4 then --Garuda + local crateMask = battlefield:getLocalVar("crateMaskF3") + if crateMask == 0 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 + GetNPCByID(ID.npc.GATE_OFFSET+9):setStatus(dsp.status.NORMAL) + else + for i = 0, 3 do + if ID.npc.TEMENOS_E_CRATE[3]+i ~= mimicID then + local model = GetNPCByID(ID.npc.TEMENOS_E_CRATE[3]+i):getModelId() + if model == 960 and bit.band(1, crateMask) ~= 0 then + GetNPCByID(ID.npc.TEMENOS_E_CRATE[3]+i):untargetable(false) + elseif model == 961 and bit.band(2, crateMask) ~= 0 then + GetNPCByID(ID.npc.TEMENOS_E_CRATE[3]+i):untargetable(false) + elseif model == 962 and bit.band(4, crateMask) ~= 0 then + GetNPCByID(ID.npc.TEMENOS_E_CRATE[3]+i):untargetable(false) + end + end + end + end + elseif mobID == ID.mob.TEMENOS_E_MOB[4]+4 then --Titan + local crateMask = battlefield:getLocalVar("crateMaskF4") + if crateMask == 0 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 + GetNPCByID(ID.npc.GATE_OFFSET+10):setStatus(dsp.status.NORMAL) + else + for i = 0, 3 do + if ID.npc.TEMENOS_E_CRATE[4]+i ~= mimicID then + local model = GetNPCByID(ID.npc.TEMENOS_E_CRATE[4]+i):getModelId() + if model == 960 and bit.band(1, crateMask) ~= 0 then + GetNPCByID(ID.npc.TEMENOS_E_CRATE[4]+i):untargetable(false) + elseif model == 961 and bit.band(2, crateMask) ~= 0 then + GetNPCByID(ID.npc.TEMENOS_E_CRATE[4]+i):untargetable(false) + elseif model == 962 and bit.band(4, crateMask) ~= 0 then + GetNPCByID(ID.npc.TEMENOS_E_CRATE[4]+i):untargetable(false) + end + end + end + end + elseif mobID == ID.mob.TEMENOS_E_MOB[5]+4 then --Ramuh + local crateMask = battlefield:getLocalVar("crateMaskF5") + if crateMask == 0 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 + GetNPCByID(ID.npc.GATE_OFFSET+11):setStatus(dsp.status.NORMAL) + else + for i = 0, 3 do + if ID.npc.TEMENOS_E_CRATE[5]+i ~= mimicID then + local model = GetNPCByID(ID.npc.TEMENOS_E_CRATE[5]+i):getModelId() + if model == 960 and bit.band(1, crateMask) ~= 0 then + GetNPCByID(ID.npc.TEMENOS_E_CRATE[5]+i):untargetable(false) + elseif model == 961 and bit.band(2, crateMask) ~= 0 then + GetNPCByID(ID.npc.TEMENOS_E_CRATE[5]+i):untargetable(false) + elseif model == 962 and bit.band(4, crateMask) ~= 0 then + GetNPCByID(ID.npc.TEMENOS_E_CRATE[5]+i):untargetable(false) + end + end + end + end + elseif mobID == ID.mob.TEMENOS_E_MOB[6]+4 then --Leviathan + local crateMask = battlefield:getLocalVar("crateMaskF6") + if crateMask == 0 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 + GetNPCByID(ID.npc.GATE_OFFSET+12):setStatus(dsp.status.NORMAL) + else + for i = 0, 3 do + if ID.npc.TEMENOS_E_CRATE[6]+i ~= mimicID then + local model = GetNPCByID(ID.npc.TEMENOS_E_CRATE[6]+i):getModelId() + if model == 960 and bit.band(1, crateMask) ~= 0 then + GetNPCByID(ID.npc.TEMENOS_E_CRATE[6]+i):untargetable(false) + elseif model == 961 and bit.band(2, crateMask) ~= 0 then + GetNPCByID(ID.npc.TEMENOS_E_CRATE[6]+i):untargetable(false) + elseif model == 962 and bit.band(4, crateMask) ~= 0 then + GetNPCByID(ID.npc.TEMENOS_E_CRATE[6]+i):untargetable(false) + end + end + end + end + elseif mobID == ID.mob.TEMENOS_E_MOB[7]+2 then --Fenrir + GetNPCByID(battlefield:getLocalVar("otherCrate")):untargetable(false) + 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) + GetNPCByID(ID.npc.GATE_OFFSET+19):setStatus(dsp.status.NORMAL) + end end end end diff --git a/scripts/zones/Temenos/mobs/Orichalcum_Quadav.lua b/scripts/zones/Temenos/mobs/Orichalcum_Quadav.lua index 2823141d9e4..1722c1a232d 100644 --- a/scripts/zones/Temenos/mobs/Orichalcum_Quadav.lua +++ b/scripts/zones/Temenos/mobs/Orichalcum_Quadav.lua @@ -3,8 +3,9 @@ -- Mob: Orichalcum Quadav ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") 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 @@ -26,11 +27,12 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - 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.COFFER_OFFSET+78):setPos(-280, -161, -440) - GetNPCByID(ID.npc.COFFER_OFFSET+78):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) + 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) + GetNPCByID(ID.npc.GATE_OFFSET+20):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 9ee03892e50..a16b77048a0 100644 --- a/scripts/zones/Temenos/mobs/Pee_Qoho_the_Python.lua +++ b/scripts/zones/Temenos/mobs/Pee_Qoho_the_Python.lua @@ -26,11 +26,12 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - 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.COFFER_OFFSET+78):setPos(-280, -161, -440) - GetNPCByID(ID.npc.COFFER_OFFSET+78):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) + 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) + GetNPCByID(ID.npc.GATE_OFFSET+20):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 4a39a0c7446..bed15fb583e 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua @@ -3,25 +3,30 @@ -- Mob: Praetorian Guard CCCXI ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - local battlefield = player:getBattlefield() - 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.COFFER_OFFSET+28):setPos(-311, 80, 419) - GetNPCByID(ID.npc.COFFER_OFFSET+28):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+162):setPos(-311, 80, 417) - GetNPCByID(ID.npc.COFFER_OFFSET+162):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+213):setPos(-311, 80, 421) - GetNPCByID(ID.npc.COFFER_OFFSET+213):setStatus(dsp.status.NORMAL) + if isKiller then + local battlefield = player:getBattlefield() + 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.GATE_OFFSET+4):getStatus() ~= dsp.status.NORMAL 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 + GetNPCByID(ID.npc.GATE_OFFSET+4):setStatus(dsp.status.NORMAL) + end end - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+4):setStatus(dsp.status.NORMAL) end diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua index 12da1e12024..d368c0da3c0 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua @@ -3,25 +3,30 @@ -- Mob: Praetorian Guard CCXX ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - local battlefield = player:getBattlefield() - 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.COFFER_OFFSET+28):setPos(-311, 80, 419) - GetNPCByID(ID.npc.COFFER_OFFSET+28):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+162):setPos(-311, 80, 417) - GetNPCByID(ID.npc.COFFER_OFFSET+162):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+213):setPos(-311, 80, 421) - GetNPCByID(ID.npc.COFFER_OFFSET+213):setStatus(dsp.status.NORMAL) + if isKiller then + local battlefield = player:getBattlefield() + 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.GATE_OFFSET+4):getStatus() ~= dsp.status.NORMAL 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 + GetNPCByID(ID.npc.GATE_OFFSET+4):setStatus(dsp.status.NORMAL) + end end - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+4):setStatus(dsp.status.NORMAL) end diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua index 2661369d677..e49e9eda4d1 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua @@ -3,25 +3,30 @@ -- Mob: Praetorian Guard CXLVIII ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - local battlefield = player:getBattlefield() - 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.COFFER_OFFSET+28):setPos(-311, 80, 419) - GetNPCByID(ID.npc.COFFER_OFFSET+28):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+162):setPos(-311, 80, 417) - GetNPCByID(ID.npc.COFFER_OFFSET+162):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+213):setPos(-311, 80, 421) - GetNPCByID(ID.npc.COFFER_OFFSET+213):setStatus(dsp.status.NORMAL) + if isKiller then + local battlefield = player:getBattlefield() + 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.GATE_OFFSET+4):getStatus() ~= dsp.status.NORMAL 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 + GetNPCByID(ID.npc.GATE_OFFSET+4):setStatus(dsp.status.NORMAL) + end end - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+4):setStatus(dsp.status.NORMAL) end diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua index 4cf4051f190..199b82cd8f6 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua @@ -3,26 +3,31 @@ -- Mob: Praetorian Guard LXXIII ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - local battlefield = player:getBattlefield() + if isKiller then + local battlefield = player:getBattlefield() - 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.COFFER_OFFSET+28):setPos(-311, 80, 419) - GetNPCByID(ID.npc.COFFER_OFFSET+28):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+162):setPos(-311, 80, 417) - GetNPCByID(ID.npc.COFFER_OFFSET+162):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+213):setPos(-311, 80, 421) - GetNPCByID(ID.npc.COFFER_OFFSET+213):setStatus(dsp.status.NORMAL) + 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.GATE_OFFSET+14):getStatus() ~= dsp.status.NORMAL 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 + GetNPCByID(ID.npc.GATE_OFFSET+4):setStatus(dsp.status.NORMAL) + end end - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+4):setStatus(dsp.status.NORMAL) end diff --git a/scripts/zones/Temenos/mobs/Proto-Ultima.lua b/scripts/zones/Temenos/mobs/Proto-Ultima.lua index 99dbc85d6be..0cd71518529 100644 --- a/scripts/zones/Temenos/mobs/Proto-Ultima.lua +++ b/scripts/zones/Temenos/mobs/Proto-Ultima.lua @@ -12,7 +12,7 @@ function onMobSpawn(mob) end function onMobEngaged(mob, target) - limbus.hideArmouryCrates(Central_Temenos_4th_Floor, TEMENOS) + limbus.hideArmouryCrates(mob:getBattlefieldID()) end function onMobFight(mob, target) @@ -22,7 +22,7 @@ function onMobFight(mob, target) mob:useMobAbility(1524) -- use Dissipation on phase change phase = phase + 1 if phase == 2 then -- enable Holy II - mob:SetMagicCastingEnabled(true); + mob:SetMagicCastingEnabled(true) end if phase == 4 then -- add Regain in final phase if not mob:hasStatusEffect(dsp.effect.REGAIN) then @@ -37,7 +37,8 @@ end function onMobDeath(mob, player, isKiller) player:addTitle(dsp.title.TEMENOS_LIBERATOR) - GetNPCByID(ID.npc.COFFER_OFFSET+79):setPos(-559, 5, -357) - GetNPCByID(ID.npc.COFFER_OFFSET+79):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+24):setStatus(dsp.status.NORMAL) + if isKiller then + GetNPCByID(ID.npc.TEMENOS_C_CRATE[4][1]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+24):setStatus(dsp.status.NORMAL) + end end diff --git a/scripts/zones/Temenos/mobs/Skadi.lua b/scripts/zones/Temenos/mobs/Skadi.lua index f9da2d3490c..5850b87fb71 100644 --- a/scripts/zones/Temenos/mobs/Skadi.lua +++ b/scripts/zones/Temenos/mobs/Skadi.lua @@ -3,8 +3,9 @@ -- Mob: Skadi ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobEngaged(mob, target) GetMobByID(ID.mob.TEMENOS_N_MOB[2]+2):updateEnmity(target) @@ -12,12 +13,11 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if GetMobByID(ID.mob.TEMENOS_N_MOB[2]+1):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[2]+2):isDead() then - GetNPCByID(ID.npc.COFFER_OFFSET+19):setPos(200, -82, 495) - GetNPCByID(ID.npc.COFFER_OFFSET+19):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+153):setPos(206, -82, 495) - GetNPCByID(ID.npc.COFFER_OFFSET+153):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+210):setPos(196, -82, 495) - GetNPCByID(ID.npc.COFFER_OFFSET+210):setStatus(dsp.status.NORMAL) + 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 241974dfde9..968fb4a5be3 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Bard.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Bard.lua @@ -3,37 +3,37 @@ -- Mob: Telchines Bard ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - local mobID = mob:getID() - local battlefield = player:getBattlefield() - local random = battlefield:getLocalVar("random") + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local random = battlefield:getLocalVar("random") - if mobID - ID.mob.TEMENOS_N_MOB[3] == random - 1 then - battlefield:setLocalVar("random", math.random(1, 4)) - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+2):setStatus(dsp.status.NORMAL) - end + if mobID - ID.mob.TEMENOS_N_MOB[3] == random - 1 then + battlefield:setLocalVar("random", math.random(1, 4)) + 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.GATE_OFFSET+2):setStatus(dsp.status.NORMAL) + end - if mobID == ID.mob.TEMENOS_N_MOB[1]+1 and random % 2 == 1 then - GetNPCByID(ID.npc.COFFER_OFFSET+26):setPos(19, 80, 430) - GetNPCByID(ID.npc.COFFER_OFFSET+26):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+160):setPos(16, 80, 430) - GetNPCByID(ID.npc.COFFER_OFFSET+160):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+211):setPos(22, 80, 430) - GetNPCByID(ID.npc.COFFER_OFFSET+211):setStatus(dsp.status.NORMAL) - elseif mobID == ID.mob.TEMENOS_N_MOB[1] and random % 2 == 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+26):setPos(19, 80, 430) - GetNPCByID(ID.npc.COFFER_OFFSET+26):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+160):setPos(16, 80, 430) - GetNPCByID(ID.npc.COFFER_OFFSET+160):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+211):setPos(22, 80, 430) - GetNPCByID(ID.npc.COFFER_OFFSET+211):setStatus(dsp.status.NORMAL) + if mobID == ID.mob.TEMENOS_N_MOB[3]+1 and 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) + elseif mobID == ID.mob.TEMENOS_N_MOB[3] and 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 ebe5988c302..391c14eb155 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua @@ -3,22 +3,37 @@ -- Mob: Telchines Dragoon ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") + +function onMobSpawn(mob) + dsp.mix.jobSpecial.config(mob, { + specials = + { + {id = dsp.jsa.CALL_WYVERN, hpp = 100}, + }, + }) +end function onMobEngaged(mob, target) GetMobByID(ID.mob.TEMENOS_N_MOB[3]+3):updateEnmity(target) end function onMobDeath(mob, player, isKiller) - local mobID = mob:getID() - local battlefield = player:getBattlefield() - local random = battlefield:getLocalVar("random") + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local random = battlefield:getLocalVar("random") - if mobID - ID.mob.TEMENOS_N_MOB[3] == random - 1 or mobID - ID.mob.TEMENOS_N_MOB[3] == random then - battlefield:setLocalVar("random", math.random(1, 4)) - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+2):setStatus(dsp.status.NORMAL) + if mobID - ID.mob.TEMENOS_N_MOB[3] == random - 1 or mobID - ID.mob.TEMENOS_N_MOB[3] == random then + battlefield:setLocalVar("random", math.random(1, 4)) + 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.GATE_OFFSET+2):setStatus(dsp.status.NORMAL) + end end end diff --git a/scripts/zones/Temenos/mobs/Telchines_Monk.lua b/scripts/zones/Temenos/mobs/Telchines_Monk.lua index 297d7094acc..228df53dc6a 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Monk.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Monk.lua @@ -3,21 +3,27 @@ -- Mob: Telchines Monk ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - local mobID = mob:getID() - local battlefield = player:getBattlefield() - local random = battlefield:getLocalVar("random") + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local random = battlefield:getLocalVar("random") - if mobID - ID.mob.TEMENOS_N_MOB[3] == random - 1 then - battlefield:setLocalVar("random", math.random(1, 4)) - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+2):setStatus(dsp.status.NORMAL) + if mobID - ID.mob.TEMENOS_N_MOB[3] == random - 1 then + battlefield:setLocalVar("random", math.random(1, 4)) + 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.GATE_OFFSET+2):setStatus(dsp.status.NORMAL) + 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 ae4bce81a7f..d16f0a41546 100644 --- a/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua +++ b/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua @@ -3,37 +3,37 @@ -- Mob: Telchines White Mage ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - local mobID = mob:getID() - local battlefield = player:getBattlefield() - local random = battlefield:getLocalVar("random") + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() + local random = battlefield:getLocalVar("random") - if mobID - ID.mob.TEMENOS_N_MOB[3] == random - 1 then - battlefield:setLocalVar("random", math.random(1, 4)) - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+2):setStatus(dsp.status.NORMAL) - end + if mobID - ID.mob.TEMENOS_N_MOB[3] == random - 1 then + battlefield:setLocalVar("random", math.random(1, 4)) + 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.GATE_OFFSET+2):setStatus(dsp.status.NORMAL) + end - if mobID == ID.mob.TEMENOS_N_MOB[1]+1 and random % 2 == 1 then - GetNPCByID(ID.npc.COFFER_OFFSET+26):setPos(19, 80, 430) - GetNPCByID(ID.npc.COFFER_OFFSET+26):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+160):setPos(16, 80, 430) - GetNPCByID(ID.npc.COFFER_OFFSET+160):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+211):setPos(22, 80, 430) - GetNPCByID(ID.npc.COFFER_OFFSET+211):setStatus(dsp.status.NORMAL) - elseif mobID == ID.mob.TEMENOS_N_MOB[1] and random % 2 == 0 then - GetNPCByID(ID.npc.COFFER_OFFSET+26):setPos(19, 80, 430) - GetNPCByID(ID.npc.COFFER_OFFSET+26):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+160):setPos(16, 80, 430) - GetNPCByID(ID.npc.COFFER_OFFSET+160):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+211):setPos(22, 80, 430) - GetNPCByID(ID.npc.COFFER_OFFSET+211):setStatus(dsp.status.NORMAL) + if mobID == ID.mob.TEMENOS_N_MOB[3]+1 and 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) + elseif mobID == ID.mob.TEMENOS_N_MOB[3] and 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/Temenos_Aern.lua b/scripts/zones/Temenos/mobs/Temenos_Aern.lua index 0cc720215d3..7e9549de705 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Aern.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Aern.lua @@ -3,61 +3,62 @@ -- Mob: Temenos Aern ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +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 { - [ID.mob.TEMENOS_C_MOB[5]+1] = function() - GetNPCByID(ID.npc.COFFER_OFFSET+197):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+197):setStatus(dsp.status.NORMAL) - end, - [ID.mob.TEMENOS_C_MOB[5]+7] = function() - GetNPCByID(ID.npc.COFFER_OFFSET+199):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+199):setStatus(dsp.status.NORMAL) - end, - [ID.mob.TEMENOS_C_MOB[5]+12] = function() - GetNPCByID(ID.npc.COFFER_OFFSET+200):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+200):setStatus(dsp.status.NORMAL) - end, - [ID.mob.TEMENOS_C_MOB[5]+22] = function() - GetNPCByID(ID.npc.COFFER_OFFSET+201):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+201):setStatus(dsp.status.NORMAL) - end, - [ID.mob.TEMENOS_C_MOB[5]+30] = function() - GetNPCByID(ID.npc.COFFER_OFFSET+127):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+127):setStatus(dsp.status.NORMAL) - 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, - - } + if isKiller then + local mobID = mob:getID() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + local random = math.random(0,3) + local battlefield = player:getBattlefield() + + switch (mobID): caseof { + [ID.mob.TEMENOS_C_MOB[5]+19] = function() + GetNPCByID(ID.npc.TEMENOS_C_CRATE[5][2]):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.TEMENOS_C_CRATE[5][2]):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_C_MOB[5]+20] = function() + GetNPCByID(ID.npc.TEMENOS_C_CRATE[5][3]):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.TEMENOS_C_CRATE[5][3]):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_C_MOB[5]+29] = function() + GetNPCByID(ID.npc.TEMENOS_C_CRATE[5][4]):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.TEMENOS_C_CRATE[5][4]):setStatus(dsp.status.NORMAL) + end, + [ID.mob.TEMENOS_C_MOB[5]+30] = function() + GetNPCByID(ID.npc.TEMENOS_C_CRATE[5][5]):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.TEMENOS_C_CRATE[5][5]):setStatus(dsp.status.NORMAL) + 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]):isAlive() then - leftAern = leftAern + 1 + for n = 1, 27 do + if GetMobByID(AernList[n]):isAlive() then + leftAern = leftAern + 1 + end + end + --print("leftAern" ..leftAern); + if leftAern == 0 and isKiller 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(player) + battlefield:setLocalVar("lootSpawned", 1) end - end - --print("leftAern" ..leftAern); - if leftAern == 0 and isKiller then - local battlefield = player:getBattlefield() - battlefield:setLocalVar("dontKick", 1) - 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(player) end end diff --git a/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua b/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua index 9a92c307fe0..6dc06e4cef9 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua @@ -14,15 +14,17 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - 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.COFFER_OFFSET+71):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+71):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) + 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) + GetNPCByID(ID.npc.GATE_OFFSET+20):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 f5c14a9465f..9a0865c0a7d 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Ghrah.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Ghrah.lua @@ -7,12 +7,14 @@ local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- function onMobDeath(mob, player, isKiller) - local battlefield = player:getBattlefield() - players = battlefield:getPlayers() - for i = 1, #players do - players[i]:messageSpecial(ID.text.HUM+1) + if isKiller then + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() + local battlefield = player:getBattlefield() + battlefield:setLocalVar("lootSpawned", 0) + GetNPCByID(ID.npc.TEMENOS_C_CRATE[5][1]):setPos(mobX, mobY, mobZ) + GetNPCByID(ID.npc.TEMENOS_C_CRATE[5][1]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.GATE_OFFSET+25):setStatus(dsp.status.NORMAL) end - GetNPCByID(ID.npc.GATE_OFFSET+25):setStatus(dsp.status.NORMAL) - battlefield:setLocalVar("cutsceneTimer", 10) - battlefield:setLocalVar("dontKick", 0) end diff --git a/scripts/zones/Temenos/mobs/Temenos_Weapon.lua b/scripts/zones/Temenos/mobs/Temenos_Weapon.lua index c6ea6f7d079..24521bcd67a 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Weapon.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Weapon.lua @@ -14,15 +14,17 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - 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.COFFER_OFFSET+71):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+71):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) + 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) + GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) + end end end diff --git a/scripts/zones/Temenos/mobs/Thrym.lua b/scripts/zones/Temenos/mobs/Thrym.lua index 7375d94957a..faa490fee42 100644 --- a/scripts/zones/Temenos/mobs/Thrym.lua +++ b/scripts/zones/Temenos/mobs/Thrym.lua @@ -3,8 +3,9 @@ -- Mob: Thrym ----------------------------------- require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") ----------------------------------- +mixins = {require("scripts/mixins/job_special")} +local ID = require("scripts/zones/Temenos/IDs") function onMobEngaged(mob, target) GetMobByID(ID.mob.TEMENOS_N_MOB[2]):updateEnmity(target) @@ -12,12 +13,11 @@ function onMobEngaged(mob, target) end function onMobDeath(mob, player, isKiller) - if GetMobByID(ID.mob.TEMENOS_N_MOB[2]):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[2]+2):isDead() then - GetNPCByID(ID.npc.COFFER_OFFSET+19):setPos(200, -82, 495) - GetNPCByID(ID.npc.COFFER_OFFSET+19):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+153):setPos(206, -82, 495) - GetNPCByID(ID.npc.COFFER_OFFSET+153):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.COFFER_OFFSET+210):setPos(196, -82, 495) - GetNPCByID(ID.npc.COFFER_OFFSET+210):setStatus(dsp.status.NORMAL) + 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 68bccaa1166..0e72a2c43cc 100644 --- a/scripts/zones/Temenos/mobs/Thunder_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Thunder_Elemental.lua @@ -7,51 +7,30 @@ 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() - local battlefield = player:getBattlefield() - local cofferMask = battlefield:getLocalVar("cofferMask") - local random = battlefield:getLocalVar("random") + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() - switch (mobID): caseof { - [ID.mob.TEMENOS_E_MOB[5]] = function() - battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 0))) - GetNPCByID(ID.npc.COFFER_OFFSET+183):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+183):setStatus(dsp.status.NORMAL) - end, - [ID.mob.TEMENOS_E_MOB[5]+1] = function() - battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 1))) - GetNPCByID(ID.npc.COFFER_OFFSET+261):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+261):setStatus(dsp.status.NORMAL) - end, - [ID.mob.TEMENOS_E_MOB[5]+2] = function() - if random == 1 then - GetNPCByID(ID.npc.COFFER_OFFSET+393):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+393):setStatus(dsp.status.NORMAL) - else - battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 2))) - GetNPCByID(ID.npc.COFFER_OFFSET+68):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+68):setStatus(dsp.status.NORMAL) - end - end, - [ID.mob.TEMENOS_E_MOB[5]+3] = function() - if random == 1 then - battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 2))) - GetNPCByID(ID.npc.COFFER_OFFSET+68):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+68):setStatus(dsp.status.NORMAL) - else - GetNPCByID(ID.npc.COFFER_OFFSET+393):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+393):setStatus(dsp.status.NORMAL) - end - 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, - } + switch (mobID): caseof { + [ID.mob.TEMENOS_E_MOB[5]] = function() + limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[5], player, "crateMaskF5", battlefield:getLocalVar("crateMaskF5"), true) + end, + [ID.mob.TEMENOS_E_MOB[5]+1] = function() + limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[5]+1, player, "crateMaskF5", battlefield:getLocalVar("crateMaskF5"), true) + end, + [ID.mob.TEMENOS_E_MOB[5]+2] = function() + limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[5]+2, player, "crateMaskF5", battlefield:getLocalVar("crateMaskF5"), true) + end, + [ID.mob.TEMENOS_E_MOB[5]+3] = function() + 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 \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Water_Elemental.lua b/scripts/zones/Temenos/mobs/Water_Elemental.lua index 96ba62bc90f..f0aa5579b7f 100644 --- a/scripts/zones/Temenos/mobs/Water_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Water_Elemental.lua @@ -7,51 +7,30 @@ 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() - local battlefield = player:getBattlefield() - local cofferMask = battlefield:getLocalVar("cofferMask") - local random = battlefield:getLocalVar("random") + if isKiller then + local mobID = mob:getID() + local battlefield = player:getBattlefield() - switch (mobID): caseof { - [ID.mob.TEMENOS_E_MOB[6]] = function() - battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 0))) - GetNPCByID(ID.npc.COFFER_OFFSET+202):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+202):setStatus(dsp.status.NORMAL) - end, - [ID.mob.TEMENOS_E_MOB[6]+1] = function() - battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 1))) - GetNPCByID(ID.npc.COFFER_OFFSET+190):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+190):setStatus(dsp.status.NORMAL) - end, - [ID.mob.TEMENOS_E_MOB[6]+2] = function() - if random == 1 then - GetNPCByID(ID.npc.COFFER_OFFSET+277):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+277):setStatus(dsp.status.NORMAL) - else - battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 2))) - GetNPCByID(ID.npc.COFFER_OFFSET+69):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+69):setStatus(dsp.status.NORMAL) - end - end, - [ID.mob.TEMENOS_E_MOB[6]+3] = function() - if random == 1 then - battlefield:setLocalVar("cofferMask", bit.bor(cofferMask, math.pow(2, 2))) - GetNPCByID(ID.npc.COFFER_OFFSET+69):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+69):setStatus(dsp.status.NORMAL) - else - GetNPCByID(ID.npc.COFFER_OFFSET+277):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.COFFER_OFFSET+277):setStatus(dsp.status.NORMAL) - end - 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, - } + switch (mobID): caseof { + [ID.mob.TEMENOS_E_MOB[6]] = function() + limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[6], player, "crateMaskF6", battlefield:getLocalVar("crateMaskF6"), true) + end, + [ID.mob.TEMENOS_E_MOB[6]+1] = function() + limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[6]+1, player, "crateMaskF6", battlefield:getLocalVar("crateMaskF6"), true) + end, + [ID.mob.TEMENOS_E_MOB[6]+2] = function() + limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[6]+2, player, "crateMaskF6", battlefield:getLocalVar("crateMaskF6"), true) + end, + [ID.mob.TEMENOS_E_MOB[6]+3] = function() + 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 \ 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/npcs/Armoury_Crate.lua b/scripts/zones/Temenos/npcs/Armoury_Crate.lua index 0cf924debf1..2c5cc78ed5e 100644 --- a/scripts/zones/Temenos/npcs/Armoury_Crate.lua +++ b/scripts/zones/Temenos/npcs/Armoury_Crate.lua @@ -11,658 +11,1040 @@ local ID = require("scripts/zones/Temenos/IDs") local loot = { -- northern tower floor 1 - [130] = + [1299] = { - { - {itemid = 1875, droprate = 1000}, - }, - { - {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 = 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}, - }, - { - {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}, + [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}, + }, }, - }, -- northern tower floor 3 - [132] = - { - { - {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 = 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 = 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}, - }, - { - {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}, + [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 = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {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}, + [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 = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {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}, + [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 = 1875, droprate = 1000}, - }, - { - {itemid = 1875, 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}, - }, - }, -- 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}, + [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}, + }, }, - { - {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}, - }, - }, -- western tower floor 3 - [139] = - { - { - {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 = 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 = 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}, - }, - { - {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}, - }, - { - {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}, + [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}, + }, }, - }, -- western tower floor 6 - [142] = - { - { - {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 = 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}, + [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 = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, 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 = 2716, droprate = 190}, - {itemid = 2656, droprate = 210}, - }, - }, -- eastern tower floor 2 - [145] = - { - { - {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 = 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}, + }, }, - { - {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}, - }, - }, -- 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}, - }, - { - {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}, + [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}, + }, }, - }, -- eastern tower floor 4 - [147] = - { - { - {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 = 1875, droprate = 1000}, - }, - { - {itemid = 1875, droprate = 1000}, - }, - { - {itemid = 1875, 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}, - }, - }, -- eastern tower floor 5 - [148] = - { - { - {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 = 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}, + [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}, + }, }, - }, -- eastern tower floor 6 - [149] = - { - { - {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 = 1875, droprate = 1000}, - }, - { - {itemid = 1875, 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}, + -- 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}, @@ -685,25 +1067,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}, @@ -739,7 +1105,7 @@ local loot = }, }, -- central temenos floor 2 - [152] = + [1304] = { { {itemid = 1875, droprate = 1000}, @@ -764,10 +1130,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}, }, @@ -776,7 +1142,7 @@ local loot = }, }, -- central temenos floor 3 - [153] = + [1305]= { { {itemid = 1875, droprate = 1000}, @@ -800,7 +1166,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}, @@ -814,73 +1180,75 @@ 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}, + }, }, }, } @@ -893,204 +1261,189 @@ function onTrigger(player, npc) if not battlefield then return end - local cofferID = npc:getID() + local crateID = npc:getID() + local model = npc:getModelId() local X = npc:getXPos() local Y = npc:getYPos() local Z = npc:getZPos() - local cofferType = 0 - local instanceRegion = 0 - local addtime = 0 - local despawnOtherCoffer = false - local mimicID = 0 - local lootID = 0 + local bfid = battlefield:getID() - for coffer = 1, #ARMOURY_CRATE_TEMENOS, 2 do - if ARMOURY_CRATE_TEMENOS[coffer] == cofferID-ID.npc.COFFER_OFFSET then - cofferType = ARMOURY_CRATE_TEMENOS[coffer+1][1] - instanceRegion = ARMOURY_CRATE_TEMENOS[coffer+1][2] - addtime = ARMOURY_CRATE_TEMENOS[coffer+1][3] - despawnOtherCoffer = ARMOURY_CRATE_TEMENOS[coffer+1][4] - mimicID = ARMOURY_CRATE_TEMENOS[coffer+1][5] - lootID = ARMOURY_CRATE_TEMENOS[coffer+1][6] - end - end - local coffer = cofferID-ID.npc.COFFER_OFFSET - - if cofferType == cTIME then - dsp.battlefield.ExtendTimeLimit(battlefield, addtime, ID.text.TIME_EXTENDED) - elseif cofferType == cITEM then - if instanceRegion == Central_Temenos_4th_Floor and coffer ~= 79 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 - battlefield:setLocalVar("loot", 1) - battlefield:spawnLoot(npc) - limbus.handleLootRolls(battlefield, loot[lootID], nil, npc) - end - -- despawn les coffer du meme groupe - for coffer = 1, #ARMOURY_CRATE_TEMENOS, 2 do - if ARMOURY_CRATE_TEMENOS[coffer+1][5] == mimicID then - GetNPCByID(ARMOURY_CRATE_TEMENOS[coffer]+ID.npc.COFFER_OFFSET):setStatus(dsp.status.DISAPPEAR) - end - end - else - battlefield:setLocalVar("loot", 1) - battlefield:spawnLoot(npc) - limbus.handleLootRolls(battlefield, loot[lootID], nil, npc) - end - if lootID == 136 or lootID == 143 or lootID == 150 or lootID == 151 or - lootID == 152 or lootID == 153 or lootID == 154 - then - battlefield:setLocalVar("cutsceneTimer", 10) - battlefield:setLocalVar("lootSeen", 1) - end - elseif cofferType == cRESTORE then - dsp.battlefield.HealPlayers(battlefield) - elseif cofferType == cMIMIC then - if coffer == 284 then - GetMobByID(ID.mob.TEMENOS_E_MOB[1]+4):setSpawn(X, Y, Z) - SpawnMob(ID.mob.TEMENOS_E_MOB[1]+4):setPos(X, Y, Z) - GetMobByID(ID.mob.TEMENOS_E_MOB[1]+4):updateClaim(player) - elseif coffer == 321 then - GetMobByID(ID.mob.TEMENOS_E_MOB[2]+4):setSpawn(X, Y, Z) - SpawnMob(ID.mob.TEMENOS_E_MOB[2]+4):setPos(X, Y, Z) - GetMobByID(ID.mob.TEMENOS_E_MOB[2]+4):updateClaim(player) - elseif coffer == 348 then - GetMobByID(ID.mob.TEMENOS_E_MOB[3]+4):setSpawn(X, Y, Z) - SpawnMob(ID.mob.TEMENOS_E_MOB[3]+4):setPos(X, Y, Z) - GetMobByID(ID.mob.TEMENOS_E_MOB[3]+4):updateClaim(player) - elseif coffer == 360 then - GetMobByID(ID.mob.TEMENOS_E_MOB[4]+4):setSpawn(X, Y, Z) - SpawnMob(ID.mob.TEMENOS_E_MOB[4]+4):setPos(X, Y, Z) - GetMobByID(ID.mob.TEMENOS_E_MOB[4]+4):updateClaim(player) - elseif coffer == 393 then - GetMobByID(ID.mob.TEMENOS_E_MOB[5]+4):setSpawn(X, Y, Z) - SpawnMob(ID.mob.TEMENOS_E_MOB[5]+4):setPos(X, Y, Z) - GetMobByID(ID.mob.TEMENOS_E_MOB[5]+4):updateClaim(player) - elseif coffer == 277 then - GetMobByID(ID.mob.TEMENOS_E_MOB[6]+4):setSpawn(X, Y, Z) - SpawnMob(ID.mob.TEMENOS_E_MOB[6]+4):setPos(X, Y, Z) - GetMobByID(ID.mob.TEMENOS_E_MOB[6]+4):updateClaim(player) - elseif coffer == 123 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) - end - end - if despawnOtherCoffer then - limbus.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 - for i = 0, 3 do - if GetMobByID(ID.mob.TEMENOS_E_MOB[1]+i):isSpawned() then - DespawnMob(ID.mob.TEMENOS_E_MOB[1]+i) + 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 + limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) + elseif model == 962 then + dsp.battlefield.ExtendTimeLimit(battlefield, 15, ID.text.TIME_EXTENDED) + end + end + end end + else + limbus.handleLootRolls(battlefield, loot[bfid][7], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) end - if coffer ~= 284 then - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - battlefield:setLocalVar("random", math.random(0,1)) - battlefield:setLocalVar("cofferMask", 0) - GetNPCByID(ID.npc.GATE_OFFSET+7):setStatus(dsp.status.NORMAL) - end - elseif coffer == 174 or coffer == 216 or coffer == 321 or coffer == 45 then - --floor 2 - for i = 0, 3 do - if GetMobByID(ID.mob.TEMENOS_E_MOB[2]+i):isSpawned() then - DespawnMob(ID.mob.TEMENOS_E_MOB[2]+i) - end - end - if coffer ~= 321 then - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - battlefield:setLocalVar("random", math.random(0,1)) - battlefield:setLocalVar("cofferMask", 0) - GetNPCByID(ID.npc.GATE_OFFSET+8):setStatus(dsp.status.NORMAL) - end - elseif coffer == 181 or coffer == 217 or coffer == 348 or coffer == 46 then - --floor 3 - for i = 0, 3 do - if GetMobByID(ID.mob.TEMENOS_E_MOB[3]+i):isSpawned() then - DespawnMob(ID.mob.TEMENOS_E_MOB[3]+i) + 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 + GetNPCByID(ID.npc.TEMENOS_N_CRATE[i]):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[i]+1):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[i]+2):setStatus(dsp.status.DISAPPEAR) + if model == 960 then + dsp.battlefield.HealPlayers(battlefield) + elseif model == 961 then + limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) + elseif model == 962 then + dsp.battlefield.ExtendTimeLimit(battlefield, 15, ID.text.TIME_EXTENDED) + end + end + end end + else + limbus.handleLootRolls(battlefield, loot[bfid][7], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) end - if coffer ~= 348 then - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - battlefield:setLocalVar("random", math.random(0,1)) - battlefield:setLocalVar("cofferMask", 0) - GetNPCByID(ID.npc.GATE_OFFSET+9):setStatus(dsp.status.NORMAL) - end - elseif coffer == 182 or coffer == 236 or coffer == 360 or coffer == 47 then - --floor 4 - for i = 0, 3 do - if GetMobByID(ID.mob.TEMENOS_E_MOB[4]+i):isSpawned() then - DespawnMob(ID.mob.TEMENOS_E_MOB[4]+i) + 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 + DespawnMob(ID.mob.TEMENOS_E_MOB[i]) + DespawnMob(ID.mob.TEMENOS_E_MOB[i]+1) + DespawnMob(ID.mob.TEMENOS_E_MOB[i]+2) + DespawnMob(ID.mob.TEMENOS_E_MOB[i]+3) + if model == 960 then + GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+1):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+2):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+3):setStatus(dsp.status.DISAPPEAR) + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) + GetNPCByID(ID.npc.GATE_OFFSET+6+i):setStatus(dsp.status.NORMAL) + dsp.battlefield.HealPlayers(battlefield) + elseif model == 961 then + if mask > 7 and spawnMimic then + GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]):untargetable(true) + GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+1):untargetable(true) + GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+2):untargetable(true) + GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+3):untargetable(true) + battlefield:setLocalVar("crateMaskF"..i, mask-8) + battlefield:setLocalVar("mimicID", crateID) + 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 + GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+1):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+2):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+3):setStatus(dsp.status.DISAPPEAR) + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) + GetNPCByID(ID.npc.GATE_OFFSET+6+i):setStatus(dsp.status.NORMAL) + limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) + end + elseif model == 962 then + GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+1):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+2):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+3):setStatus(dsp.status.DISAPPEAR) + player:messageSpecial(ID.text.GATE_OPEN) + player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) + GetNPCByID(ID.npc.GATE_OFFSET+6+i):setStatus(dsp.status.NORMAL) + dsp.battlefield.ExtendTimeLimit(battlefield, 15, ID.text.TIME_EXTENDED) + end + end + end end - end - if coffer ~= 360 then - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - battlefield:setLocalVar("random", math.random(0,1)) - battlefield:setLocalVar("cofferMask", 0) - GetNPCByID(ID.npc.GATE_OFFSET+10):setStatus(dsp.status.NORMAL) - end - elseif coffer == 183 or coffer == 261 or coffer == 393 or coffer == 68 then - --floor 5 - for i = 0, 3 do - if GetMobByID(ID.mob.TEMENOS_E_MOB[5]+i):isSpawned() then - DespawnMob(ID.mob.TEMENOS_E_MOB[5]+i) + else + 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) + GetNPCByID(otherCrate):untargetable(true) + GetNPCByID(crateID):setStatus(dsp.status.DISAPPEAR) + battlefield:setLocalVar("otherCrate", otherCrate) + else + GetNPCByID(otherCrate):setStatus(dsp.status.DISAPPEAR) + limbus.handleLootRolls(battlefield, loot[bfid][7], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) end end - if coffer ~= 393 then - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - battlefield:setLocalVar("random", math.random(0,1)) - battlefield:setLocalVar("cofferMask", 0) - GetNPCByID(ID.npc.GATE_OFFSET+11):setStatus(dsp.status.NORMAL) + end, + [1301] = function() -- Temenos Central Basement Crate Handling + if model == 962 then + dsp.battlefield.ExtendTimeLimit(battlefield, 5, ID.text.TIME_EXTENDED) + else + limbus.handleLootRolls(battlefield, loot[bfid], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) end - elseif coffer == 202 or coffer == 190 or coffer == 277 or coffer == 69 then - --floor 6 - for i = 0, 3 do - if GetMobByID(ID.mob.TEMENOS_E_MOB[6]+i):isSpawned() then - DespawnMob(ID.mob.TEMENOS_E_MOB[6]+i) + end, + [1303] = function() -- Temenos Central F1 Crate Handling + limbus.handleLootRolls(battlefield, loot[bfid], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + end, + [1304] = function() -- Temenos Central F2 Crate Handling + limbus.handleLootRolls(battlefield, loot[bfid], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + end, + [1305] = function() -- Temenos Central F3 Crate Handling + 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 + limbus.handleLootRolls(battlefield, loot[bfid][2], nil, npc) end - end - if coffer ~= 277 then - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - battlefield:setLocalVar("random", math.random(1,2)) - battlefield:setLocalVar("cofferMask", 0) - GetNPCByID(ID.npc.GATE_OFFSET+12):setStatus(dsp.status.NORMAL) - end - elseif coffer == 70 or coffer == 123 then - --floor 7 - for i = 0, 1 do - if GetMobByID(ID.mob.TEMENOS_E_MOB[7]+i):isSpawned() then - DespawnMob(ID.mob.TEMENOS_E_MOB[7]+i) + 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 + GetNPCByID(i):setStatus(dsp.status.DISAPPEAR) + end end + else + limbus.handleLootRolls(battlefield, loot[bfid][1], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) end - if coffer ~= 123 then - GetNPCByID(ID.npc.GATE_OFFSET+13):setStatus(dsp.status.NORMAL) - end - end - end - end + end, + } npc:setStatus(dsp.status.DISAPPEAR) end diff --git a/scripts/zones/Temenos/npcs/Scanning_Device.lua b/scripts/zones/Temenos/npcs/Scanning_Device.lua index efa321398a0..906c9ee9d9d 100644 --- a/scripts/zones/Temenos/npcs/Scanning_Device.lua +++ b/scripts/zones/Temenos/npcs/Scanning_Device.lua @@ -3,7 +3,6 @@ -- NPC: Scanning_Device -- !pos 586 0 66 37 ----------------------------------- -require("scripts/globals/limbus") require("scripts/globals/npc_util") function onTrade(player, npc, trade) diff --git a/sql/bcnm_battlefield.sql b/sql/bcnm_battlefield.sql index 7f12db6bae8..75874875659 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 -- ------------------------------------ @@ -1534,7 +1553,8 @@ INSERT INTO `bcnm_battlefield` VALUES (1306,4,16929003,0);-- Enhanced Akbaba 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,16929009,1);-- Yagudo's Avatar +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 @@ -1587,10 +1607,10 @@ INSERT INTO `bcnm_battlefield` VALUES (1303,7,16929051,3);-- Enhanced Ahriman 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,3);-- Aern's Wynav +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929056,1);-- Aern's Wynav 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,3);-- Aern's Euvhi +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929059,1);-- Aern's Euvhi 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 @@ -1598,19 +1618,21 @@ 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,3);-- Aern's Elemental +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929067,1);-- Aern's Elemental +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,3);-- Aern's Wynav +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929070,1);-- Aern's Wynav 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,3);-- Aern's Euvhi +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929074,1);-- Aern's Euvhi 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,3);-- Aern's Elemental +INSERT INTO `bcnm_battlefield` VALUES (1301,8,16929080,1);-- Aern's Elemental +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 diff --git a/sql/bcnm_treasure_chests.sql b/sql/bcnm_treasure_chests.sql index f6da832d090..c1bc48e7ec2 100644 --- a/sql/bcnm_treasure_chests.sql +++ b/sql/bcnm_treasure_chests.sql @@ -422,14 +422,25 @@ INSERT INTO bcnm_treasure_chests VALUES (1153,1,17051660); -- shadows_of_the_min 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,16928785); -- Temenos - Western Tower -INSERT INTO bcnm_treasure_chests VALUES (1299,1,16928807); -- Temenos - Northern Tower -INSERT INTO bcnm_treasure_chests VALUES (1300,2,16928838); -- Temenos - Eastern Tower -INSERT INTO bcnm_treasure_chests VALUES (1303,7,16928839); -- Central Temenos - 1st Floor -INSERT INTO bcnm_treasure_chests VALUES (1304,6,16928845); -- Central Temenos - 2nd Floor -INSERT INTO bcnm_treasure_chests VALUES (1305,5,16928846); -- Central Temenos - 3rd Floor -INSERT INTO bcnm_treasure_chests VALUES (1306,4,16928847); -- Central Temenos - 4th Floor +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..bd0d5f9c38b 100644 --- a/sql/mob_groups.sql +++ b/sql/mob_groups.sql @@ -1271,19 +1271,19 @@ INSERT INTO `mob_groups` VALUES (28,1743,37,'Goblin_Warlord',0,128,2862,11000,10 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 (32,6117,37,'Mystic_Avatar',0,128,0,5000,4000,75,80,0); -- ifrit 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 (34,6118,37,'Mystic_Avatar',0,128,0,5000,4000,75,80,0); -- shiva 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 (36,6119,37,'Mystic_Avatar',0,128,0,5000,4000,75,80,0); -- garuda 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 (38,6120,37,'Mystic_Avatar',0,128,0,5000,4000,75,80,0); -- titan 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 (40,6121,37,'Mystic_Avatar',0,128,0,5000,4000,75,80,0); -- ramuh 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 (42,6122,37,'Mystic_Avatar',0,128,0,5000,4000,75,80,0); -- leviathan 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 (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); @@ -1295,7 +1295,7 @@ INSERT INTO `mob_groups` VALUES (52,3209,37,'Proto-Ultima',0,128,0,26000,2000,80 INSERT INTO `mob_groups` VALUES (53,2252,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); @@ -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,9 +1324,9 @@ 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 (87,6099,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 (90,3868,37,'Temenos_Cleaner',0,128,2863,16000,1000,75,80,0); @@ -1342,12 +1342,17 @@ 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 (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); -- ------------------------------------------------------------ -- 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 +1364,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); @@ -1410,7 +1415,7 @@ INSERT INTO `mob_groups` VALUES (60,1823,38,'Grognard_Predator',0,128,2863,10000 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 (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); @@ -1420,11 +1425,33 @@ INSERT INTO `mob_groups` VALUES (70,952,38,'Dee_Wapa_the_Desolator',0,128,2863,1 INSERT INTO `mob_groups` VALUES (71,4454,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..64d0ebf79e7 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); @@ -1127,13 +1132,13 @@ 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 (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..6c84b304ffb 100644 --- a/sql/mob_pools.sql +++ b/sql/mob_pools.sql @@ -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,0,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,10 +257,10 @@ 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 (200,'Apollyon_Cleaner','Apollyon_Cleaner',175,0x00009C0100000000000000000000000000000000,5,1,7,240,100,0,1,1,1,0,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,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 (203,'Apollyon_Sweeper','Apollyon_Sweeper',84,0x0000300100000000000000000000000000000000,1,1,12,240,100,0,1,1,1,2,0,0,4680,1159,4,0,0,1,0,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); @@ -268,10 +268,10 @@ INSERT INTO `mob_pools` VALUES (207,'Arachne','Arachne',235,0x000036010000000000 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 (211,'Arboricole_Hornet','Arboricole_Hornet',48,0x0000100100000000000000000000000000000000,1,1,5,240,100,0,1,0,1,2,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,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 (214,'Arboricole_Spider','Arboricole_Spider',235,0x0000360100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,0,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,0,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); @@ -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,2,0,32,0,159,0,0,4,1,0,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); @@ -898,7 +898,7 @@ 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,0,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); @@ -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,2,0,32,0,159,0,0,30,1,0,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); @@ -1281,8 +1281,8 @@ INSERT INTO `mob_pools` VALUES (1220,'Enhanced_Jelly','Enhanced_Jelly',229,0x000 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 (1224,'Enhanced_Makara','Enhanced_Makara',197,0x00005C0100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,0,0,0,0,1157,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,8,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); @@ -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,2,0,0,2887,1671,16,0,3,1,0,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,0,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); @@ -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); @@ -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,0,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,0,1,0,0,32,0,157,0,0,1,1,0,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); @@ -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); @@ -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,0,0,0,4652,643,8,0,0,1,0,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); @@ -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,2,0,32,0,159,0,0,1,1,0,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); @@ -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,0,0,32,0,159,0,0,30,1,0,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); @@ -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,2,0,0,429,133,0,0,4,1,0,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); @@ -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,0,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,0,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,0,1,0,0,0,0,131,0,0,2,1,0,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); @@ -3922,12 +3922,12 @@ INSERT INTO `mob_pools` VALUES (3861,'Tejas','Tejas',322,0x000019030000000000000 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 (3865,'Telchiness_Wyvern','Telchiness_Wyvern',193,0x0000180000000000000000000000000000000000,1,1,7,200,100,0,1,1,1,0,0,0,0,129,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 (3867,'Temenos_Aern','Temenos_Aern',3,0x0000570500000000000000000000000000000000,7,7,4,240,100,0,0,0,1,0,0,0,0,133,5,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 (3869,'Temenos_Ghrah','Temenos_Ghrah',123,0x0600900400000000000000000000000000000000,1,1,7,220,100,0,1,1,0,0,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,0,0,2,0,0,135,645,8,0,42,1,0,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); @@ -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,0,0,0,1881,643,8,0,2,1,0,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); @@ -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,2,7,0,1243,133,0,0,0,1,0,25); +INSERT INTO `mob_pools` VALUES (6079,'Praetorian_Guard_CXLVIII','Praetorian_Guard_CXLVIII',25,0x0000FC0400000000000000000000000000000000,11,11,2,265,100,0,1,1,1,2,7,0,185,133,0,0,0,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,2,7,0,291,133,0,0,2,1,0,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,44 @@ 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,0,1,0,0,0,0,131,0,0,3,1,0,202); -- Limbus +INSERT INTO `mob_pools` VALUES (6098,'Yagudo_Knight_Templar','Yagudo_Knight_Templar',270,0x0000570200000000000000000000000000000000,12,12,10,240,100,0,1,0,1,0,0,0,0,131,0,0,0,1,0,270); -- Limbus +INSERT INTO `mob_pools` VALUES (6099,'Yagudo_Eradicator','Yagudo_Eradicator',270,0x0000590200000000000000000000000000000000,13,13,2,240,100,0,1,0,1,0,0,0,7,131,0,0,7,1,0,270); -- Limbus +INSERT INTO `mob_pools` VALUES (6100,'Temenos_Euvhi','Temenos_Euvhi',109,0x00000E0200000000000000000000000000000000,1,1,11,240,100,0,1,1,0,0,0,0,0,131,5,0,0,1,0,109); +INSERT INTO `mob_pools` VALUES (6101,'Thalesek','Thalesek',109,0x00000E0200000000000000000000000000000000,1,1,11,240,100,0,1,1,0,0,0,32,0,157,6,0,0,1,0,109); +INSERT INTO `mob_pools` VALUES (6102,'Pyrrha','Pyrrha',123,0x06008D0400000000000000000000000000000000,1,1,7,220,100,0,1,1,0,0,0,34,0,669,13,0,0,1,0,123); +INSERT INTO `mob_pools` VALUES (6103,'Arch-Ultima','Arch-Ultima',54,0x0000340400000000000000000000000000000000,1,7,6,240,100,0,1,1,0,2,113,32,7,1181,8,0,103,1,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,325); -- fenrir +INSERT INTO `mob_pools` VALUES (6124,'Mystic_Avatar','Mystic_Avatar',34,0x0000170300000000000000000000000000000000,4,4,7,240,100,0,1,1,0,2,0,0,0,131,0,0,0,1,0,34); -- carbuncle +INSERT INTO `mob_pools` VALUES (6125,'Fir_Bholg','Fir_Bholg',115,0x0500FE0300000000000000000000000000000000,6,6,4,240,100,0,1,1,1,2,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,2,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,2,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,2,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,2,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); + /* `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..0cb1701b166 100644 --- a/sql/mob_skill_lists.sql +++ b/sql/mob_skill_lists.sql @@ -2468,11 +2468,11 @@ 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,1533); INSERT INTO `mob_skill_lists` VALUES ('Proto-Omega',727,1534); +INSERT INTO `mob_skill_lists` VALUES ('Proto-Omega',727,1535); -- 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); @@ -2491,12 +2491,12 @@ INSERT INTO `mob_skill_lists` VALUES ('Ultima',728,1270); INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1259); INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1260); INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1261); -INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1262); -INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1263); -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,1262); +-- INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1263); +-- 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,1269); INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1521); diff --git a/sql/mob_skills.sql b/sql/mob_skills.sql index dcce14ca678..40624a9adc4 100644 --- a/sql/mob_skills.sql +++ b/sql/mob_skills.sql @@ -1352,10 +1352,10 @@ INSERT INTO `mob_skills` VALUES (1528,1087,'floodlight',2,15.0,2000,1500,4,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 (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 (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 (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,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); diff --git a/sql/mob_spawn_points.sql b/sql/mob_spawn_points.sql index c1d263a5bd0..6c6bfe1cc4e 100644 --- a/sql/mob_spawn_points.sql +++ b/sql/mob_spawn_points.sql @@ -7827,89 +7827,87 @@ 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 (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,387.308,73.500,420.212,163); +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,344.000,68.000,460.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928776,'Moblin_Dustman','Moblin Dustman',2,374.128,73.500,414.152,54); +INSERT INTO `mob_spawn_points` VALUES (16928777,'Moblin_Dustman','Moblin Dustman',2,375.556,73.500,411.919,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,50.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,14.480,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,-139.670,-80.000,427.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928803,'Kindred_Black_Mage','Kindred Black Mage',17,-137.360,-80.000,430.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928804,'Kindred_Black_Mage','Kindred Black Mage',17,-102.220,-80.000,410.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928805,'Kindred_Black_Mage','Kindred Black Mage',17,-102.640,-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,373.138,-0.500,137.551,77); +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.880,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,5.500,152.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928859,'Air_Elemental','Air Elemental',35,20.000,6.000,145.360,64); +INSERT INTO `mob_spawn_points` VALUES (16928860,'Air_Elemental','Air Elemental',35,60.000,5.500,152.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928861,'Air_Elemental','Air Elemental',35,60.000,6.000,146.360,192); +INSERT INTO `mob_spawn_points` VALUES (16928862,'Mystic_Avatar','Mystic Avatar',36,22.520,5.500,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,141.720,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,147.520,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); -- Western 1st 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); @@ -7919,493 +7917,477 @@ INSERT INTO `mob_spawn_points` VALUES (16928903,'Enhanced_Tiger','Enhanced Tiger INSERT INTO `mob_spawn_points` VALUES (16928904,'Enhanced_Tiger','Enhanced Tiger',45,339,68,-123,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,230.680,-80.000,-140.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928917,'Enhanced_Mandragora','Enhanced Mandragora',46,231.600,-80.000,-140.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928918,'Enhanced_Mandragora','Enhanced Mandragora',46,232.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,-121.360,-80.000,-150.500,0); +INSERT INTO `mob_spawn_points` VALUES (16928932,'Enhanced_Lizard','Enhanced Lizard',48,-135.200,-80.000,-147.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928933,'Enhanced_Lizard','Enhanced Lizard',48,-106.920,-80.000,-147.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928934,'Enhanced_Lizard','Enhanced Lizard',48,-118.600,-80.000,-142.000,128); +INSERT INTO `mob_spawn_points` VALUES (16928935,'Enhanced_Lizard','Enhanced Lizard',48,-121.360,-80.000,-138.000,0); +INSERT INTO `mob_spawn_points` VALUES (16928936,'Enhanced_Lizard','Enhanced Lizard',48,-126.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,-130.760,-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,80.000,-147.320,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,80.000,-144.840,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,-46.452,-6.500,-471.286,12); +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,-73.000,-0.500,-459.000,250); +INSERT INTO `mob_spawn_points` VALUES (16929042,'Mystic_Avatar','Mystic Avatar',38,-67.483,1.500,-410.652,196); +INSERT INTO `mob_spawn_points` VALUES (16929043,'Mystic_Avatar','Mystic Avatar',40,71.000,2.000,-408.000,87); +INSERT INTO `mob_spawn_points` VALUES (16929044,'Mystic_Avatar','Mystic Avatar',42,74.000,-0.500,-459.000,121); +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',95,622.000,-6.500,-530.000,192); +INSERT INTO `mob_spawn_points` VALUES (16929054,'Temenos_Aern','Temenos Aern',95,618.000,-6.500,-530.000,192); +INSERT INTO `mob_spawn_points` VALUES (16929055,'Temenos_Aern','Temenos Aern',95,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',95,502.000,-6.500,-530.000,192); +INSERT INTO `mob_spawn_points` VALUES (16929058,'Temenos_Aern','Temenos Aern',95,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',95,568.000,-0.500,-500.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929061,'Temenos_Aern','Temenos Aern',95,548.000,-0.500,-500.000,128); +INSERT INTO `mob_spawn_points` VALUES (16929062,'Temenos_Aern','Temenos Aern',95,552.000,-0.500,-500.000,128); +INSERT INTO `mob_spawn_points` VALUES (16929063,'Temenos_Aern','Temenos Aern',95,630.000,-0.500,-462.000,128); +INSERT INTO `mob_spawn_points` VALUES (16929064,'Temenos_Aern','Temenos Aern',95,630.000,-0.500,-458.000,128); +INSERT INTO `mob_spawn_points` VALUES (16929065,'Temenos_Aern','Temenos Aern',95,490.000,-0.500,-462.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929066,'Temenos_Aern','Temenos Aern',95,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',95,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',95,626.000,1.500,-410.000,96); +INSERT INTO `mob_spawn_points` VALUES (16929072,'Temenos_Aern','Temenos Aern',95,630.000,1.500,-414.000,96); +INSERT INTO `mob_spawn_points` VALUES (16929073,'Temenos_Aern','Temenos Aern',95,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',95,494.000,1.500,-410.000,32); +INSERT INTO `mob_spawn_points` VALUES (16929076,'Temenos_Aern','Temenos Aern',95,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',95,562.000,-0.500,-462.000,32); +INSERT INTO `mob_spawn_points` VALUES (16929079,'Temenos_Aern','Temenos Aern',95,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',95,558.000,-0.500,-458.000,160); +INSERT INTO `mob_spawn_points` VALUES (16929083,'Temenos_Aern','Temenos Aern',95,560.000,4.500,-400.000,64); +INSERT INTO `mob_spawn_points` VALUES (16929084,'Temenos_Aern','Temenos Aern',95,560.000,4.500,-396.000,192); +INSERT INTO `mob_spawn_points` VALUES (16929085,'Temenos_Aern','Temenos Aern',95,564.000,4.500,-400.000,0); +INSERT INTO `mob_spawn_points` VALUES (16929086,'Temenos_Aern','Temenos Aern',95,560.000,4.500,-404.000,64); +INSERT INTO `mob_spawn_points` VALUES (16929087,'Temenos_Aern','Temenos Aern',95,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.000,-0.170,6.401,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,-444.413,0.000,21.586,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,-430.336,0.000,22.767,254); +INSERT INTO `mob_spawn_points` VALUES (16932943,'Bardha','Bardha',20,-440.140,-0.265,-25.878,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,-316.104,0.000,249.568,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,-317.000,0.000,316.000,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,-318.329,0.000,560.389,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,-608.347,0.000,539.316,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,183.869,0.000,-545.740,68); +INSERT INTO `mob_spawn_points` VALUES (16933011,'Adamantshell','Adamantshell',32,184.046,0.000,-544.054,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,196.680,0.000,-441.000,128); +INSERT INTO `mob_spawn_points` VALUES (16933014,'Adamantshell','Adamantshell',32,196.351,0.000,-440.234,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,539.524,0.000,-352.514,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,569.602,0.000,-343.937,51); +INSERT INTO `mob_spawn_points` VALUES (16933044,'Goobbue_Harvester','Goobbue Harvester',37,449.841,-0.177,22.000,128); +INSERT INTO `mob_spawn_points` VALUES (16933045,'Barometz','Barometz',98,465.548,-0.500,13.832,169); -- Make big +INSERT INTO `mob_spawn_points` VALUES (16933046,'Borametz','Borametz',99,448.197,-0.500,30.825,10); -- Make big +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); -- Make big +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); -- Make big 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); -- Make big +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); -- Make big +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..ac9946b030e 100644 --- a/sql/npc_list.sql +++ b/sql/npc_list.sql @@ -2865,147 +2865,111 @@ 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,-0.500,-460.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 (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 (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); @@ -3033,7 +2997,6 @@ INSERT INTO `npc_list` VALUES (16929243,'Particle_Gate','',0,-20.080,-1.960,-520 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 (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 +3010,98 @@ 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,'Swirling_Vortex','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,'Swirling_Vortex','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,'Swirling_Vortex','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,'Swirling_Vortex','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,'Swirling_Vortex','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,'Swirling_Vortex','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 (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); From 793493e77bb92975a6193783c8c64f7bd51c5406 Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Sat, 9 Nov 2019 19:59:31 -0500 Subject: [PATCH 17/33] Wiki is wrong, chips are consumed not dimmed. Soap timer is set when you enter, not when purchased. Add rear lasers to Omega and correct some animations. Correct chest grouping in Central Temenos floor 4. --- scripts/globals/bcnm.lua | 11 ++----- scripts/globals/mobskills/pod_ejection.lua | 18 +++++------ scripts/globals/mobskills/rear_lasers.lua | 31 +++++++++++++++++++ .../zones/Apollyon/bcnms/central_apollyon.lua | 1 + scripts/zones/Apollyon/bcnms/cs_apollyon.lua | 1 + scripts/zones/Apollyon/bcnms/ne_apollyon.lua | 1 + scripts/zones/Apollyon/bcnms/nw_apollyon.lua | 1 + scripts/zones/Apollyon/bcnms/se_apollyon.lua | 1 + scripts/zones/Apollyon/bcnms/sw_apollyon.lua | 1 + scripts/zones/Apollyon/mobs/Proto-Omega.lua | 17 +--------- scripts/zones/Port_Jeuno/npcs/Sagheera.lua | 1 - scripts/zones/Temenos/IDs.lua | 28 ++++++++--------- .../bcnms/central_temenos_1st_floor.lua | 1 + .../bcnms/central_temenos_2nd_floor.lua | 1 + .../bcnms/central_temenos_3rd_floor.lua | 1 + .../bcnms/central_temenos_4th_floor.lua | 1 + .../bcnms/central_temenos_basement.lua | 1 + .../Temenos/bcnms/temenos_eastern_tower.lua | 1 + .../Temenos/bcnms/temenos_northern_tower.lua | 1 + .../Temenos/bcnms/temenos_western_tower.lua | 1 + sql/mob_skill_lists.sql | 22 ++++++------- sql/mob_skills.sql | 16 ++++++---- 22 files changed, 92 insertions(+), 66 deletions(-) create mode 100644 scripts/globals/mobskills/rear_lasers.lua diff --git a/scripts/globals/bcnm.lua b/scripts/globals/bcnm.lua index 158d4862217..9b9350011e9 100644 --- a/scripts/globals/bcnm.lua +++ b/scripts/globals/bcnm.lua @@ -995,15 +995,8 @@ function EventFinishBCNM(player, csid, option) local bfid = stat:getPower() local item = getItemById(player, bfid) if item ~= 0 then - if item == -1 and player:hasItem(1907) and player:hasItem(1908) and player:hasItem(1986) then - player:createWornItem(1907) - player:createWornItem(1908) - player:createWornItem(1986) - elseif item == -2 and player:hasItem(1909) and player:hasItem(1910) and player:hasItem(1987) and player:hasItem(1988) then - player:createWornItem(1909) - player:createWornItem(1910) - player:createWornItem(1987) - player:createWornItem(1988) + if zone == 37 or zone == 38 then + player:tradeComplete() elseif player:hasItem(item) then player:createWornItem(item) end diff --git a/scripts/globals/mobskills/pod_ejection.lua b/scripts/globals/mobskills/pod_ejection.lua index 73bd0ae6991..339fdb5db64 100644 --- a/scripts/globals/mobskills/pod_ejection.lua +++ b/scripts/globals/mobskills/pod_ejection.lua @@ -3,25 +3,25 @@ --------------------------------------------- function onMobSkillCheck(target,mob,skill) - local omegaID = mob:getID() - local pod = GetMobByID(omegaID + 1) - if not pod:isSpawned() then + 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 omegaID = mob:getID() - local pod = GetMobByID(omegaID + 1) - local players = mob:getBattlefield():getPlayers() - - if not pod:isSpawned() then + local battlefield = mob:getBattlefield() + if battlefield and not pod:isSpawned() then + local pod = GetMobByID(mob:getID() + 1) + local players = battlefield:getPlayers() local random = math.random(1, #players) local X = mob:getXPos() local Y = mob:getYPos() local Z = mob:getZPos() - + mob:getBattlefield():setLocalVar("podReady", 0) pod:spawn() pod:setPos(X,Y,Z) pod:updateEnmity(players[random]) diff --git a/scripts/globals/mobskills/rear_lasers.lua b/scripts/globals/mobskills/rear_lasers.lua new file mode 100644 index 00000000000..79b5a650aeb --- /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, 15)) + + return typeEffect +end diff --git a/scripts/zones/Apollyon/bcnms/central_apollyon.lua b/scripts/zones/Apollyon/bcnms/central_apollyon.lua index 7e5ae88b2d5..5e683497774 100644 --- a/scripts/zones/Apollyon/bcnms/central_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/central_apollyon.lua @@ -26,6 +26,7 @@ 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 diff --git a/scripts/zones/Apollyon/bcnms/cs_apollyon.lua b/scripts/zones/Apollyon/bcnms/cs_apollyon.lua index 84b8da840fb..a862d3a372f 100644 --- a/scripts/zones/Apollyon/bcnms/cs_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/cs_apollyon.lua @@ -25,6 +25,7 @@ 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 diff --git a/scripts/zones/Apollyon/bcnms/ne_apollyon.lua b/scripts/zones/Apollyon/bcnms/ne_apollyon.lua index 060fa440f95..9bff1bbd5ae 100644 --- a/scripts/zones/Apollyon/bcnms/ne_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/ne_apollyon.lua @@ -27,6 +27,7 @@ end function onBattlefieldEnter(player, battlefield) player:delKeyItem(dsp.ki.COSMOCLEANSE) player:delKeyItem(dsp.ki.BLACK_CARD) + player:setCharVar("Cosmo_Cleanse_TIME", os.time()) end function onBattlefieldDestroy(battlefield) diff --git a/scripts/zones/Apollyon/bcnms/nw_apollyon.lua b/scripts/zones/Apollyon/bcnms/nw_apollyon.lua index 6209c88cf97..a7a88216eab 100644 --- a/scripts/zones/Apollyon/bcnms/nw_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/nw_apollyon.lua @@ -27,6 +27,7 @@ end function onBattlefieldEnter(player, battlefield) player:delKeyItem(dsp.ki.COSMOCLEANSE) player:delKeyItem(dsp.ki.RED_CARD) + player:setCharVar("Cosmo_Cleanse_TIME", os.time()) end function onBattlefieldDestroy(battlefield) diff --git a/scripts/zones/Apollyon/bcnms/se_apollyon.lua b/scripts/zones/Apollyon/bcnms/se_apollyon.lua index 26fac3381e3..aa17ef7e59e 100644 --- a/scripts/zones/Apollyon/bcnms/se_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/se_apollyon.lua @@ -26,6 +26,7 @@ end function onBattlefieldEnter(player, battlefield) player:delKeyItem(dsp.ki.COSMOCLEANSE) player:delKeyItem(dsp.ki.BLACK_CARD) + player:setCharVar("Cosmo_Cleanse_TIME", os.time()) end function onBattlefieldDestroy(battlefield) diff --git a/scripts/zones/Apollyon/bcnms/sw_apollyon.lua b/scripts/zones/Apollyon/bcnms/sw_apollyon.lua index 2fde40387a0..d571d2e5721 100644 --- a/scripts/zones/Apollyon/bcnms/sw_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/sw_apollyon.lua @@ -30,6 +30,7 @@ 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 diff --git a/scripts/zones/Apollyon/mobs/Proto-Omega.lua b/scripts/zones/Apollyon/mobs/Proto-Omega.lua index 2c7f33f8c40..1b2ceee6ef0 100644 --- a/scripts/zones/Apollyon/mobs/Proto-Omega.lua +++ b/scripts/zones/Apollyon/mobs/Proto-Omega.lua @@ -42,8 +42,7 @@ function onMobFight(mob, target) if formTime < os.time() then if mob:AnimationSub() == 1 then mob:AnimationSub(2) - if podReady == 1 then - mob:getBattlefield():setLocalVar("podReady", 0) + if podReady == 1 and math.random(0,1) == 1 then mob:useMobAbility(1532) end else @@ -54,10 +53,6 @@ function onMobFight(mob, target) if lifePercent < 30 then mob:AnimationSub(2) - if podReady == 1 then - mob:getBattlefield():setLocalVar("podReady", 0) - mob:useMobAbility(1532) - end mob:setMod(dsp.mod.UDMGPHYS, -50) mob:setMod(dsp.mod.UDMGRANGE, -50) mob:setMod(dsp.mod.UDMGMAGIC, -50) @@ -68,16 +63,6 @@ function onMobFight(mob, target) mob:setLocalVar("form", currentForm) end end - if currentForm == 2 then - if formTime < os.time() then - local spawnPod = math.random(0, 1) == 1 - if podReady == 1 and spawnPod then - mob:getBattlefield():setLocalVar("podReady", 0) - mob:useMobAbility(1532) - end - mob:setLocalVar("formWait", os.time() + 30) - end - end end function onAdditionalEffect(mob, target, damage) 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 63568ff7fd1..f4af58b2c7f 100644 --- a/scripts/zones/Temenos/IDs.lua +++ b/scripts/zones/Temenos/IDs.lua @@ -109,25 +109,25 @@ zones[dsp.zone.TEMENOS] = [4] = { [1] = 16928965, -- boss - [16928967] = 2, -- NE corner - [16928968] = 2, -- SE corner + [16928967] = 1, -- NE corner + [16928968] = 1, -- SE corner [16928969] = 1, -- SW corner [16928970] = 1, -- NW corner - [16928971] = 3, -- center + [16928971] = 2, -- center [16928972] = 2, -- E [16928973] = 2, -- E [16928974] = 2, -- E - [16928975] = 1, -- W - [16928976] = 1, -- W - [16928977] = 1, -- W - [16928978] = 1, -- SW - [16928979] = 1, -- SW - [16928980] = 1, -- SW - [16928981] = 1, -- SW - [16928982] = 2, -- SE - [16928983] = 2, -- SE - [16928984] = 2, -- SE - [16928985] = 2, -- SE + [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] = { diff --git a/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua index 2a9198fa5bc..9e996882e8c 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua @@ -24,6 +24,7 @@ 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 onBattlefieldDestroy(battlefield) diff --git a/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua index 39d3caa4ce0..3b431acb7d9 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua @@ -24,6 +24,7 @@ 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 onBattlefieldDestroy(battlefield) diff --git a/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua index d6aa1f9e13e..68ab00a23a2 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua @@ -24,6 +24,7 @@ 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 onBattlefieldDestroy(battlefield) diff --git a/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua index 6520b9259ea..1a314815232 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua @@ -24,6 +24,7 @@ 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 onBattlefieldDestroy(battlefield) diff --git a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua index bc26bb9fd70..c053617f143 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua @@ -24,6 +24,7 @@ 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 onBattlefieldDestroy(battlefield) diff --git a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua index be40898056b..78e07182367 100644 --- a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua @@ -24,6 +24,7 @@ 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 onBattlefieldDestroy(battlefield) diff --git a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua index a5225be2273..15cbbae8a4a 100644 --- a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua @@ -25,6 +25,7 @@ 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 onBattlefieldDestroy(battlefield) diff --git a/scripts/zones/Temenos/bcnms/temenos_western_tower.lua b/scripts/zones/Temenos/bcnms/temenos_western_tower.lua index e0966e4dd6a..a57747f31e9 100644 --- a/scripts/zones/Temenos/bcnms/temenos_western_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_western_tower.lua @@ -24,6 +24,7 @@ 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 onBattlefieldDestroy(battlefield) diff --git a/sql/mob_skill_lists.sql b/sql/mob_skill_lists.sql index 0cb1701b166..17e57778999 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); @@ -2469,22 +2469,22 @@ 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,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,1535); +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); -INSERT INTO `mob_skill_lists` VALUES ('Ultima',728,1262); -INSERT INTO `mob_skill_lists` VALUES ('Ultima',728,1263); -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,1262); +-- INSERT INTO `mob_skill_lists` VALUES ('Ultima',728,1263); +-- 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,1269); INSERT INTO `mob_skill_lists` VALUES ('Ultima',728,1270); diff --git a/sql/mob_skills.sql b/sql/mob_skills.sql index 40624a9adc4..e4db7f07b23 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',0,7.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,1089,'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',0,7.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); From 14f28bf36c7d5566b6bad9962b96ce9cd682a8e2 Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Sat, 9 Nov 2019 20:07:09 -0500 Subject: [PATCH 18/33] missing semicolon --- sql/mob_skill_lists.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/mob_skill_lists.sql b/sql/mob_skill_lists.sql index 17e57778999..0937f715983 100644 --- a/sql/mob_skill_lists.sql +++ b/sql/mob_skill_lists.sql @@ -236,7 +236,7 @@ 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); From 84cd7462e156be66833101dc5ed549fc3da20940 Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Sun, 10 Nov 2019 19:25:38 -0500 Subject: [PATCH 19/33] Proto-Omega adjustments. Some clean-up. --- scripts/globals/bcnm.lua | 8 ----- scripts/globals/mobskills/pile_pitch.lua | 13 +++---- scripts/globals/mobskills/pod_ejection.lua | 1 + scripts/globals/mobskills/rear_lasers.lua | 2 +- scripts/zones/Apollyon/mobs/Barometz.lua | 34 ++++++++++--------- scripts/zones/Apollyon/mobs/Borametz.lua | 34 ++++++++++--------- scripts/zones/Apollyon/mobs/Proto-Omega.lua | 4 +++ scripts/zones/Temenos/mobs/Telchines_Bard.lua | 6 +--- .../Temenos/mobs/Telchines_White_Mage.lua | 6 +--- 9 files changed, 48 insertions(+), 60 deletions(-) diff --git a/scripts/globals/bcnm.lua b/scripts/globals/bcnm.lua index 9b9350011e9..04a5d329f4b 100644 --- a/scripts/globals/bcnm.lua +++ b/scripts/globals/bcnm.lua @@ -811,16 +811,8 @@ function TradeBCNM(player, npc, trade, onUpdate) return false elseif trade:getItemCount() == 3 and trade:hasItemQty(1907,1) and trade:hasItemQty(1908,1) and trade:hasItemQty(1986,1) then itemId = -1 - if player:hasWornItem(1907) or player:hasWornItem(1908) or player:hasWornItem(1986) then - player:messageBasic(56, 0, 0) -- Unable to use item. - return false - end elseif trade:getItemCount() == 4 and trade:hasItemQty(1909,1) and trade:hasItemQty(1910,1) and trade:hasItemQty(1987,1) and trade:hasItemQty(1988,1) then itemId = -2 - if player:hasWornItem(1909) or player:hasWornItem(1910) or player:hasWornItem(1987) or player:hasWornItem(1988) then - player:messageBasic(56, 0, 0) -- Unable to use item. - return false - end else itemId = trade:getItemId(0) if itemId == nil or itemId < 1 or itemId > 65535 or trade:getItemCount() ~= 1 or trade:getSlotQty(0) ~= 1 then 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 index 339fdb5db64..964415f65eb 100644 --- a/scripts/globals/mobskills/pod_ejection.lua +++ b/scripts/globals/mobskills/pod_ejection.lua @@ -14,6 +14,7 @@ end function onMobWeaponSkill(target, mob, skill) local battlefield = mob:getBattlefield() + local pod = GetMobByID(mob:getID() + 1) if battlefield and not pod:isSpawned() then local pod = GetMobByID(mob:getID() + 1) local players = battlefield:getPlayers() diff --git a/scripts/globals/mobskills/rear_lasers.lua b/scripts/globals/mobskills/rear_lasers.lua index 79b5a650aeb..57280e93a8a 100644 --- a/scripts/globals/mobskills/rear_lasers.lua +++ b/scripts/globals/mobskills/rear_lasers.lua @@ -25,7 +25,7 @@ end function onMobWeaponSkill(target, mob, skill) local typeEffect = dsp.effect.PETRIFICATION - skill:setMsg(MobStatusEffectMove(mob, target, typeEffect, 1, 0, 15)) + skill:setMsg(MobStatusEffectMove(mob, target, typeEffect, 1, 0, 30)) return typeEffect end diff --git a/scripts/zones/Apollyon/mobs/Barometz.lua b/scripts/zones/Apollyon/mobs/Barometz.lua index eadb8a152ca..65083e12227 100644 --- a/scripts/zones/Apollyon/mobs/Barometz.lua +++ b/scripts/zones/Apollyon/mobs/Barometz.lua @@ -5,23 +5,25 @@ local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) - 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 - 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) + 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 + 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 + battlefield:setLocalVar("randomF2", ID.mob.APOLLYON_NE_MOB[2]+math.random(0,2)) + battlefield:setLocalVar("portalF1", 1) end - battlefield:setLocalVar("randomF2", ID.mob.APOLLYON_NE_MOB[2]+math.random(0,2)) - battlefield:setLocalVar("portalF1", 1) end end end diff --git a/scripts/zones/Apollyon/mobs/Borametz.lua b/scripts/zones/Apollyon/mobs/Borametz.lua index 58116425790..a28731cdd9c 100644 --- a/scripts/zones/Apollyon/mobs/Borametz.lua +++ b/scripts/zones/Apollyon/mobs/Borametz.lua @@ -5,23 +5,25 @@ local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) - 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 - 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) + 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 + 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 + battlefield:setLocalVar("randomF2", ID.mob.APOLLYON_NE_MOB[2]+math.random(0,2)) + battlefield:setLocalVar("portalF1", 1) end - battlefield:setLocalVar("randomF2", ID.mob.APOLLYON_NE_MOB[2]+math.random(0,2)) - battlefield:setLocalVar("portalF1", 1) end end end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Proto-Omega.lua b/scripts/zones/Apollyon/mobs/Proto-Omega.lua index 1b2ceee6ef0..b15f11d7893 100644 --- a/scripts/zones/Apollyon/mobs/Proto-Omega.lua +++ b/scripts/zones/Apollyon/mobs/Proto-Omega.lua @@ -15,6 +15,7 @@ end function onMobSpawn(mob) 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) @@ -42,10 +43,12 @@ function onMobFight(mob, target) 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 podReady == 1 and math.random(0,1) == 1 then mob:useMobAbility(1532) end else + mob:setBehaviour(bit.bor(mob:getBehaviour(), dsp.behavior.NO_TURN)) mob:AnimationSub(1) end mob:setLocalVar("formWait", os.time() + 60) @@ -53,6 +56,7 @@ function onMobFight(mob, target) 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) diff --git a/scripts/zones/Temenos/mobs/Telchines_Bard.lua b/scripts/zones/Temenos/mobs/Telchines_Bard.lua index 968fb4a5be3..f2fa2a3ec32 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Bard.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Bard.lua @@ -26,11 +26,7 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(ID.npc.GATE_OFFSET+2):setStatus(dsp.status.NORMAL) end - if mobID == ID.mob.TEMENOS_N_MOB[3]+1 and 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) - elseif mobID == ID.mob.TEMENOS_N_MOB[3] and random % 2 == 0 then + 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) diff --git a/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua b/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua index d16f0a41546..a69377c00fa 100644 --- a/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua +++ b/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua @@ -26,11 +26,7 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(ID.npc.GATE_OFFSET+2):setStatus(dsp.status.NORMAL) end - if mobID == ID.mob.TEMENOS_N_MOB[3]+1 and 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) - elseif mobID == ID.mob.TEMENOS_N_MOB[3] and random % 2 == 0 then + 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) From b3a959bbc78d905ff91735272744800d893ab5cb Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Wed, 13 Nov 2019 20:19:48 -0500 Subject: [PATCH 20/33] Fix issue with Apollyon entrance from AlTaieu. Disable draw-in for now. General changes/fixes for retail accuracy. --- scripts/globals/limbus.lua | 10 +++--- .../zones/AlTaieu/npcs/Swirling_Vortex.lua | 4 +-- scripts/zones/Apollyon/mobs/Armoury_Crate.lua | 2 +- scripts/zones/Apollyon/mobs/Fir_Bholg.lua | 6 ++-- scripts/zones/Temenos/IDs.lua | 9 +---- .../bcnms/central_temenos_basement.lua | 1 + .../Temenos/bcnms/temenos_northern_tower.lua | 2 +- .../Temenos/mobs/Abyssdweller_Jhabdebb.lua | 2 -- scripts/zones/Temenos/mobs/Air_Elemental.lua | 7 ++++ scripts/zones/Temenos/mobs/Airi.lua | 2 -- scripts/zones/Temenos/mobs/Beli.lua | 2 -- .../Temenos/mobs/Cryptonberry_Abductor.lua | 4 +-- .../Temenos/mobs/Cryptonberry_Charmer.lua | 8 ----- .../Temenos/mobs/Cryptonberry_Designator.lua | 4 +-- .../Temenos/mobs/Cryptonberry_Skulker.lua | 8 ----- scripts/zones/Temenos/mobs/Dark_Elemental.lua | 2 -- .../zones/Temenos/mobs/Earth_Elemental.lua | 7 ++++ scripts/zones/Temenos/mobs/Fire_Elemental.lua | 7 ++++ scripts/zones/Temenos/mobs/Goblin_Fencer.lua | 2 -- .../Temenos/mobs/Goblin_Slaughterman.lua | 4 +-- .../zones/Temenos/mobs/Goblin_Theurgist.lua | 2 -- scripts/zones/Temenos/mobs/Goblin_Warlord.lua | 9 ----- scripts/zones/Temenos/mobs/Ice_Elemental.lua | 7 ++++ scripts/zones/Temenos/mobs/Kari.lua | 4 +-- .../zones/Temenos/mobs/Kindred_Black_Mage.lua | 4 +-- .../Temenos/mobs/Kindred_Dark_Knight.lua | 5 --- .../zones/Temenos/mobs/Kindred_Summoner.lua | 2 -- .../zones/Temenos/mobs/Kindred_Warrior.lua | 5 --- scripts/zones/Temenos/mobs/Moblin_Dustman.lua | 4 +-- .../Temenos/mobs/Praetorian_Guard_CCCXI.lua | 5 --- .../Temenos/mobs/Praetorian_Guard_CCXX.lua | 5 --- .../Temenos/mobs/Praetorian_Guard_CXLVIII.lua | 5 --- .../Temenos/mobs/Praetorian_Guard_LXXIII.lua | 5 --- scripts/zones/Temenos/mobs/Skadi.lua | 2 -- scripts/zones/Temenos/mobs/Telchines_Bard.lua | 11 ++---- .../zones/Temenos/mobs/Telchines_Dragoon.lua | 17 ++------- scripts/zones/Temenos/mobs/Telchines_Monk.lua | 6 ++-- .../Temenos/mobs/Telchines_White_Mage.lua | 11 ++---- scripts/zones/Temenos/mobs/Temenos_Aern.lua | 35 +++++++++---------- scripts/zones/Temenos/mobs/Temenos_Ghrah.lua | 8 +---- scripts/zones/Temenos/mobs/Thrym.lua | 2 -- .../zones/Temenos/mobs/Thunder_Elemental.lua | 7 ++++ .../zones/Temenos/mobs/Water_Elemental.lua | 7 ++++ scripts/zones/Temenos/npcs/Armoury_Crate.lua | 10 ++---- 44 files changed, 93 insertions(+), 178 deletions(-) diff --git a/scripts/globals/limbus.lua b/scripts/globals/limbus.lua index 5cfc01b90c0..762b6ef78fa 100644 --- a/scripts/globals/limbus.lua +++ b/scripts/globals/limbus.lua @@ -9,12 +9,12 @@ limbus = {} function limbus.enter(player, entrance) switch (entrance): caseof { + [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 - [2] = function () - player:setPos(-668, 0.1, -666, 209, 38) -- instance entrer -599 0 -600 - end, -- sortiezone -642, -4, -642, -637, 4, -637 } end @@ -105,9 +105,7 @@ function limbus.hideArmouryCrates(bfid, show) end, [1301] = function() -- Central_Temenos_Basement local ID = zones[dsp.zone.TEMENOS] - for i = 1, 5 do - GetNPCByID(ID.npc.TEMENOS_C_CRATE[5][i]):setStatus(dsp.status.DISAPPEAR) - end + GetNPCByID(ID.npc.TEMENOS_C_CRATE[5]):setStatus(dsp.status.DISAPPEAR) end, [1303] = function() -- Central_Temenos_1st_Floor local ID = zones[dsp.zone.TEMENOS] diff --git a/scripts/zones/AlTaieu/npcs/Swirling_Vortex.lua b/scripts/zones/AlTaieu/npcs/Swirling_Vortex.lua index 3da85c82da5..922dd7580b3 100644 --- a/scripts/zones/AlTaieu/npcs/Swirling_Vortex.lua +++ b/scripts/zones/AlTaieu/npcs/Swirling_Vortex.lua @@ -22,8 +22,8 @@ end function onEventFinish(player,csid,option) if csid == 160 and option == 1 then - limbus.enter(player,APOLLYON_SE_NE) + limbus.enter(player,1) elseif csid == 159 and option == 1 then - limbus.enter(player,APOLLYON_NW_SW) + limbus.enter(player,0) end end diff --git a/scripts/zones/Apollyon/mobs/Armoury_Crate.lua b/scripts/zones/Apollyon/mobs/Armoury_Crate.lua index bf3b9d46353..ce292444748 100644 --- a/scripts/zones/Apollyon/mobs/Armoury_Crate.lua +++ b/scripts/zones/Apollyon/mobs/Armoury_Crate.lua @@ -5,7 +5,7 @@ local ID = require("scripts/zones/Apollyon/IDs") function onMobInitialize(mob) - mob:setMobMod(dsp.mobMod.DRAW_IN, 2) + --mob:setMobMod(dsp.mobMod.DRAW_IN, 2) -- need to set a maximum distance for draw-in end function onMobDeath(mob, player, isKiller) diff --git a/scripts/zones/Apollyon/mobs/Fir_Bholg.lua b/scripts/zones/Apollyon/mobs/Fir_Bholg.lua index 0a9da514e67..f866a816afb 100644 --- a/scripts/zones/Apollyon/mobs/Fir_Bholg.lua +++ b/scripts/zones/Apollyon/mobs/Fir_Bholg.lua @@ -6,10 +6,10 @@ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) - local mobID = mob:getID() - local battlefield = player:getBattlefield() - local race = battlefield:getLocalVar("raceF1") 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 diff --git a/scripts/zones/Temenos/IDs.lua b/scripts/zones/Temenos/IDs.lua index f4af58b2c7f..5ee198392c8 100644 --- a/scripts/zones/Temenos/IDs.lua +++ b/scripts/zones/Temenos/IDs.lua @@ -129,14 +129,7 @@ zones[dsp.zone.TEMENOS] = [16928984] = 3, -- SE [16928985] = 3, -- SE }, - [5] = - { - [1] = 16929052, -- basement 1 boss - [2] = 16929089, -- basement 1 - [3] = 16929116, -- basement 1 - [4] = 16929128, -- basement 1 - [5] = 16929161, -- basement 1 - }, + [5] = 16929052, -- basement 1 boss }, }, } diff --git a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua index c053617f143..96f5fbe916e 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua @@ -9,6 +9,7 @@ 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) limbus.hideTemenosDoors(battlefield:getID()) limbus.hideArmouryCrates(battlefield:getID()) diff --git a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua index 15cbbae8a4a..57524dd3311 100644 --- a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua @@ -9,7 +9,7 @@ local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) - battlefield:setLocalVar("random", math.random(1,6)) + battlefield:setLocalVar("randomF1", math.random(1,6)) SetServerVariable("[Temenos_Northern_Tower]Time", battlefield:getTimeLimit()/60) limbus.hideTemenosDoors(battlefield:getID()) limbus.hideArmouryCrates(battlefield:getID()) diff --git a/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua b/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua index a41899df0e0..c2912c13670 100644 --- a/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua +++ b/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua @@ -2,8 +2,6 @@ -- Area: Temenos -- Mob: Abyssdweller Jhabdebb ----------------------------------- -require("scripts/globals/limbus") ------------------------------------ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") diff --git a/scripts/zones/Temenos/mobs/Air_Elemental.lua b/scripts/zones/Temenos/mobs/Air_Elemental.lua index d6abebc71c8..fec64db8539 100644 --- a/scripts/zones/Temenos/mobs/Air_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Air_Elemental.lua @@ -9,19 +9,26 @@ local ID = require("scripts/zones/Temenos/IDs") function onMobDeath(mob, player, isKiller) if isKiller then local mobID = mob:getID() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() local battlefield = player:getBattlefield() switch (mobID): caseof { [ID.mob.TEMENOS_E_MOB[3]] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[3]):setPos(mobX, mobY, mobZ) 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) 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) 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) limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[3]+3, player, "crateMaskF3", battlefield:getLocalVar("crateMaskF3"), true) end, [ID.mob.TEMENOS_C_MOB[2]+5] = function() diff --git a/scripts/zones/Temenos/mobs/Airi.lua b/scripts/zones/Temenos/mobs/Airi.lua index db950dc492d..6cd2097c1c4 100644 --- a/scripts/zones/Temenos/mobs/Airi.lua +++ b/scripts/zones/Temenos/mobs/Airi.lua @@ -2,9 +2,7 @@ -- Area: Temenos Central Floor -- Mob: Airi ----------------------------------- -require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ------------------------------------ function onMobEngaged(mob, target) if GetMobByID(ID.mob.TEMENOS_C_MOB[1]+1):isDead() then diff --git a/scripts/zones/Temenos/mobs/Beli.lua b/scripts/zones/Temenos/mobs/Beli.lua index 4b877e62314..f8e9718cfb3 100644 --- a/scripts/zones/Temenos/mobs/Beli.lua +++ b/scripts/zones/Temenos/mobs/Beli.lua @@ -2,8 +2,6 @@ -- Area: Temenos N T -- Mob: Beli ----------------------------------- -require("scripts/globals/limbus") ------------------------------------ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua index 639dfc7b2e4..b503095903e 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua @@ -1,8 +1,6 @@ ----------------------------------- -- Area: Temenos N T --- Mob: Cryptonberry Charmer ------------------------------------ -require("scripts/globals/limbus") +-- Mob: Cryptonberry Abductor ----------------------------------- mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua index eb47e7356a5..3f0d3fb6cc7 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Charmer.lua @@ -2,20 +2,12 @@ -- Area: Temenos N T -- Mob: Cryptonberry Charmer ----------------------------------- -require("scripts/globals/limbus") ------------------------------------ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob, target) -end - function onMobDeath(mob, player, isKiller) if isKiller then if GetMobByID(ID.mob.TEMENOS_N_MOB[6]+1):isDead() then - GetNPCByID(ID.npc.TEMENOS_N_CRATE[6]):setPos(-470, -78.5, 426) - GetNPCByID(ID.npc.TEMENOS_N_CRATE[6]+1):setPos(-468,-78.5,428) - GetNPCByID(ID.npc.TEMENOS_N_CRATE[6]+2):setPos(-466,-78.5,430) 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) diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua index 9fdee8be713..a8e3e99ee10 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua @@ -1,10 +1,8 @@ ----------------------------------- -- Area: Temenos N T --- Mob: Cryptonberry Charmer +-- Mob: Cryptonberry Designator ----------------------------------- -require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ------------------------------------ function onMobEngaged(mob, target) end diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua index 47cfa8a31bc..ae388c7fe38 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Skulker.lua @@ -2,20 +2,12 @@ -- Area: Temenos N T -- Mob: Cryptonberry Skulker ----------------------------------- -require("scripts/globals/limbus") ------------------------------------ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob, target) -end - function onMobDeath(mob, player, isKiller) if isKiller then if GetMobByID(ID.mob.TEMENOS_N_MOB[6]):isDead() then - GetNPCByID(ID.npc.TEMENOS_N_CRATE[6]):setPos(-410.9, -78, 428.56) - GetNPCByID(ID.npc.TEMENOS_N_CRATE[6]+1):setPos(-407.59, -78, 425.67) - GetNPCByID(ID.npc.TEMENOS_N_CRATE[6]+2):setPos(-414.25, -78, 431.35) 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) diff --git a/scripts/zones/Temenos/mobs/Dark_Elemental.lua b/scripts/zones/Temenos/mobs/Dark_Elemental.lua index f66082a405a..902faf6edca 100644 --- a/scripts/zones/Temenos/mobs/Dark_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Dark_Elemental.lua @@ -2,9 +2,7 @@ -- Area: Temenos E T -- Mob: Dark Elemental ----------------------------------- -require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ------------------------------------ function onMobDeath(mob, player, isKiller) if isKiller then diff --git a/scripts/zones/Temenos/mobs/Earth_Elemental.lua b/scripts/zones/Temenos/mobs/Earth_Elemental.lua index 7205e718d67..975fcf3653a 100644 --- a/scripts/zones/Temenos/mobs/Earth_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Earth_Elemental.lua @@ -9,19 +9,26 @@ local ID = require("scripts/zones/Temenos/IDs") function onMobDeath(mob, player, isKiller) if isKiller then local mobID = mob:getID() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() local battlefield = player:getBattlefield() switch (mobID): caseof { [ID.mob.TEMENOS_E_MOB[4]] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[4]):setPos(mobX, mobY, mobZ) 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) 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) 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) limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[4]+3, player, "crateMaskF4", battlefield:getLocalVar("crateMaskF4"), true) end, [ID.mob.TEMENOS_C_MOB[2]+6] = function() diff --git a/scripts/zones/Temenos/mobs/Fire_Elemental.lua b/scripts/zones/Temenos/mobs/Fire_Elemental.lua index f5d82a2a3cf..7b9a6ded0a6 100644 --- a/scripts/zones/Temenos/mobs/Fire_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Fire_Elemental.lua @@ -9,19 +9,26 @@ local ID = require("scripts/zones/Temenos/IDs") function onMobDeath(mob, player, isKiller) if isKiller then local mobID = mob:getID() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() local battlefield = player:getBattlefield() switch (mobID): caseof { [ID.mob.TEMENOS_E_MOB[1]] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[1]):setPos(mobX, mobY, mobZ) 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) 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) 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) limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[1]+3, player, "crateMaskF1", battlefield:getLocalVar("crateMaskF1"), true) end, [ID.mob.TEMENOS_C_MOB[2]+3] = function() diff --git a/scripts/zones/Temenos/mobs/Goblin_Fencer.lua b/scripts/zones/Temenos/mobs/Goblin_Fencer.lua index abd6995bddf..9e4b2eebaf9 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Fencer.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Fencer.lua @@ -2,8 +2,6 @@ -- Area: Temenos N T -- Mob: Goblin Fencer ----------------------------------- -require("scripts/globals/limbus") ------------------------------------ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") diff --git a/scripts/zones/Temenos/mobs/Goblin_Slaughterman.lua b/scripts/zones/Temenos/mobs/Goblin_Slaughterman.lua index 3f91fad5e79..53a8028c287 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Slaughterman.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Slaughterman.lua @@ -2,8 +2,6 @@ -- Area: Temenos N T -- Mob: Goblin Slaughterman ----------------------------------- -require("scripts/globals/limbus") ------------------------------------ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") @@ -11,7 +9,7 @@ function onMobDeath(mob, player, isKiller) if isKiller then local mobID = mob:getID() local battlefield = player:getBattlefield() - local random = battlefield:getLocalVar("random") + local random = battlefield:getLocalVar("randomF1") if mobID - ID.mob.TEMENOS_N_MOB[1] == random - 1 then local players = battlefield:getPlayers() diff --git a/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua b/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua index 27b1af817a3..0adc6409ba4 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua @@ -2,8 +2,6 @@ -- Area: Temenos N T -- Mob: Goblin Theurgist ----------------------------------- -require("scripts/globals/limbus") ------------------------------------ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") diff --git a/scripts/zones/Temenos/mobs/Goblin_Warlord.lua b/scripts/zones/Temenos/mobs/Goblin_Warlord.lua index 6aabb43a00c..5e2f172238d 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Warlord.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Warlord.lua @@ -2,18 +2,9 @@ -- Area: Temenos N T -- Mob: Goblin Warlord ----------------------------------- -require("scripts/globals/limbus") ------------------------------------ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") -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]+2):updateEnmity(target) - GetMobByID(ID.mob.TEMENOS_N_MOB[7]+3):updateEnmity(target) -end - function onMobDeath(mob, player, isKiller) if isKiller then if GetMobByID(ID.mob.TEMENOS_N_MOB[7]):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[7]+1):isDead() and diff --git a/scripts/zones/Temenos/mobs/Ice_Elemental.lua b/scripts/zones/Temenos/mobs/Ice_Elemental.lua index 7b84f945f6a..5fd04490e70 100644 --- a/scripts/zones/Temenos/mobs/Ice_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Ice_Elemental.lua @@ -9,19 +9,26 @@ local ID = require("scripts/zones/Temenos/IDs") function onMobDeath(mob, player, isKiller) if isKiller then local mobID = mob:getID() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() local battlefield = player:getBattlefield() switch (mobID): caseof { [ID.mob.TEMENOS_E_MOB[2]] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[2]):setPos(mobX, mobY, mobZ) 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) 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) 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) limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[2]+3, player, "crateMaskF2", battlefield:getLocalVar("crateMaskF2"), true) end, [ID.mob.TEMENOS_C_MOB[2]+4] = function() diff --git a/scripts/zones/Temenos/mobs/Kari.lua b/scripts/zones/Temenos/mobs/Kari.lua index be1b3289520..9588f078c69 100644 --- a/scripts/zones/Temenos/mobs/Kari.lua +++ b/scripts/zones/Temenos/mobs/Kari.lua @@ -2,15 +2,13 @@ -- Area: Temenos N T -- Mob: Kari ----------------------------------- -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 local battlefield = player:getBattlefield() - battlefield:setLocalVar("random", math.random(1,6)) + battlefield:setLocalVar("randomF3", math.random(1,6)) local players = battlefield:getPlayers() for i, member in pairs(players) do member:messageSpecial(ID.text.GATE_OPEN) diff --git a/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua b/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua index 022e54394fc..695c46bbfb1 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua @@ -2,8 +2,6 @@ -- Area: Temenos N T -- Mob: Kindred Black Mage ----------------------------------- -require("scripts/globals/limbus") ------------------------------------ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") @@ -14,7 +12,7 @@ function onMobDeath(mob, player, isKiller) if isKiller then local mobID = mob:getID() local battlefield = player:getBattlefield() - local random = battlefield:getLocalVar("random") + local random = battlefield:getLocalVar("randomF4") if mobID - ID.mob.TEMENOS_N_MOB[4] == random + 4 then local players = battlefield:getPlayers() diff --git a/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua b/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua index c41b7a4f43b..8dffc5ef81d 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua @@ -2,14 +2,9 @@ -- Area: Temenos N T -- Mob: Kindred Dark Knight ----------------------------------- -require("scripts/globals/limbus") ------------------------------------ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob, target) -end - function onMobDeath(mob, player, isKiller) if isKiller then if GetMobByID(ID.mob.TEMENOS_N_MOB[4]):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[4]+2):isDead() then diff --git a/scripts/zones/Temenos/mobs/Kindred_Summoner.lua b/scripts/zones/Temenos/mobs/Kindred_Summoner.lua index 5c85361277d..c16fc51521b 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Summoner.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Summoner.lua @@ -2,9 +2,7 @@ -- Area: Temenos N T -- Mob: Kindred Summoner ----------------------------------- -require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ------------------------------------ function onMobEngaged(mob,target) GetMobByID(ID.mob.TEMENOS_N_MOB[4]+3):updateEnmity(target) diff --git a/scripts/zones/Temenos/mobs/Kindred_Warrior.lua b/scripts/zones/Temenos/mobs/Kindred_Warrior.lua index f76aff7c979..73834fa56f0 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Warrior.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Warrior.lua @@ -2,14 +2,9 @@ -- 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 - function onMobDeath(mob, player, isKiller) if isKiller then if GetMobByID(ID.mob.TEMENOS_N_MOB[4]+1):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[4]+2):isDead() then diff --git a/scripts/zones/Temenos/mobs/Moblin_Dustman.lua b/scripts/zones/Temenos/mobs/Moblin_Dustman.lua index f6395d2827f..b1b049a2bdc 100644 --- a/scripts/zones/Temenos/mobs/Moblin_Dustman.lua +++ b/scripts/zones/Temenos/mobs/Moblin_Dustman.lua @@ -2,8 +2,6 @@ -- Area: Temenos N T -- Mob: Moblin Dustman ----------------------------------- -require("scripts/globals/limbus") ------------------------------------ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") @@ -11,7 +9,7 @@ function onMobDeath(mob, player, isKiller) if isKiller then local mobID = mob:getID() local battlefield = player:getBattlefield() - local random = battlefield:getLocalVar("random") + local random = battlefield:getLocalVar("randomF1") if mobID - ID.mob.TEMENOS_N_MOB[1] == random - 1 then local players = battlefield:getPlayers() diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua index bed15fb583e..5a133ea1775 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua @@ -2,14 +2,9 @@ -- Area: Temenos N T -- Mob: Praetorian Guard CCCXI ----------------------------------- -require("scripts/globals/limbus") ------------------------------------ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob, target) -end - function onMobDeath(mob, player, isKiller) if isKiller then local battlefield = player:getBattlefield() diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua index d368c0da3c0..64ae26d4c1b 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua @@ -2,14 +2,9 @@ -- Area: Temenos N T -- Mob: Praetorian Guard CCXX ----------------------------------- -require("scripts/globals/limbus") ------------------------------------ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob, target) -end - function onMobDeath(mob, player, isKiller) if isKiller then local battlefield = player:getBattlefield() diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua index e49e9eda4d1..10624301bc3 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua @@ -2,14 +2,9 @@ -- Area: Temenos N T -- Mob: Praetorian Guard CXLVIII ----------------------------------- -require("scripts/globals/limbus") ------------------------------------ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob, target) -end - function onMobDeath(mob, player, isKiller) if isKiller then local battlefield = player:getBattlefield() diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua index 199b82cd8f6..180ef8b992c 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua @@ -2,14 +2,9 @@ -- Area: Temenos N T -- Mob: Praetorian Guard LXXIII ----------------------------------- -require("scripts/globals/limbus") ------------------------------------ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob, target) -end - function onMobDeath(mob, player, isKiller) if isKiller then local battlefield = player:getBattlefield() diff --git a/scripts/zones/Temenos/mobs/Skadi.lua b/scripts/zones/Temenos/mobs/Skadi.lua index 5850b87fb71..ec98ad47cab 100644 --- a/scripts/zones/Temenos/mobs/Skadi.lua +++ b/scripts/zones/Temenos/mobs/Skadi.lua @@ -2,8 +2,6 @@ -- Area: Temenos N T -- Mob: Skadi ----------------------------------- -require("scripts/globals/limbus") ------------------------------------ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") diff --git a/scripts/zones/Temenos/mobs/Telchines_Bard.lua b/scripts/zones/Temenos/mobs/Telchines_Bard.lua index f2fa2a3ec32..5b2cfcce209 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Bard.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Bard.lua @@ -2,22 +2,17 @@ -- Area: Temenos N T -- Mob: Telchines Bard ----------------------------------- -require("scripts/globals/limbus") ------------------------------------ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob, target) -end - function onMobDeath(mob, player, isKiller) if isKiller then local mobID = mob:getID() local battlefield = player:getBattlefield() - local random = battlefield:getLocalVar("random") + local random = battlefield:getLocalVar("randomF3") - if mobID - ID.mob.TEMENOS_N_MOB[3] == random - 1 then - battlefield:setLocalVar("random", math.random(1, 4)) + if random == 1 then + battlefield:setLocalVar("randomF4", math.random(1, 4)) local players = battlefield:getPlayers() for i, member in pairs(players) do member:messageSpecial(ID.text.GATE_OPEN) diff --git a/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua b/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua index 391c14eb155..2b769e41c03 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua @@ -2,32 +2,21 @@ -- Area: Temenos N T -- Mob: Telchines Dragoon ----------------------------------- -require("scripts/globals/limbus") ------------------------------------ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") -function onMobSpawn(mob) - dsp.mix.jobSpecial.config(mob, { - specials = - { - {id = dsp.jsa.CALL_WYVERN, hpp = 100}, - }, - }) -end function onMobEngaged(mob, target) - GetMobByID(ID.mob.TEMENOS_N_MOB[3]+3):updateEnmity(target) end function onMobDeath(mob, player, isKiller) if isKiller then local mobID = mob:getID() local battlefield = player:getBattlefield() - local random = battlefield:getLocalVar("random") + local random = battlefield:getLocalVar("randomF3") - if mobID - ID.mob.TEMENOS_N_MOB[3] == random - 1 or mobID - ID.mob.TEMENOS_N_MOB[3] == random then - battlefield:setLocalVar("random", math.random(1, 4)) + if random == 3 or random == 4 then + battlefield:setLocalVar("randomF4", math.random(1, 4)) local players = battlefield:getPlayers() for i, member in pairs(players) do member:messageSpecial(ID.text.GATE_OPEN) diff --git a/scripts/zones/Temenos/mobs/Telchines_Monk.lua b/scripts/zones/Temenos/mobs/Telchines_Monk.lua index 228df53dc6a..56d418d7b9e 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Monk.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Monk.lua @@ -2,8 +2,6 @@ -- Area: Temenos N T -- Mob: Telchines Monk ----------------------------------- -require("scripts/globals/limbus") ------------------------------------ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") @@ -14,10 +12,10 @@ function onMobDeath(mob, player, isKiller) if isKiller then local mobID = mob:getID() local battlefield = player:getBattlefield() - local random = battlefield:getLocalVar("random") + local random = battlefield:getLocalVar("randomF3") if mobID - ID.mob.TEMENOS_N_MOB[3] == random - 1 then - battlefield:setLocalVar("random", math.random(1, 4)) + battlefield:setLocalVar("randomF4", math.random(1, 4)) local players = battlefield:getPlayers() for i, member in pairs(players) do member:messageSpecial(ID.text.GATE_OPEN) diff --git a/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua b/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua index a69377c00fa..3346f3fe2e7 100644 --- a/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua +++ b/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua @@ -2,22 +2,17 @@ -- Area: Temenos N T -- Mob: Telchines White Mage ----------------------------------- -require("scripts/globals/limbus") ------------------------------------ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob, target) -end - function onMobDeath(mob, player, isKiller) if isKiller then local mobID = mob:getID() local battlefield = player:getBattlefield() - local random = battlefield:getLocalVar("random") + local random = battlefield:getLocalVar("randomF3") - if mobID - ID.mob.TEMENOS_N_MOB[3] == random - 1 then - battlefield:setLocalVar("random", math.random(1, 4)) + if random == 2 then + battlefield:setLocalVar("randomF4", math.random(1, 4)) local players = battlefield:getPlayers() for i, member in pairs(players) do member:messageSpecial(ID.text.GATE_OPEN) diff --git a/scripts/zones/Temenos/mobs/Temenos_Aern.lua b/scripts/zones/Temenos/mobs/Temenos_Aern.lua index 7e9549de705..7bdd5f74659 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Aern.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Aern.lua @@ -2,36 +2,36 @@ -- Area: Temenos -- Mob: Temenos Aern ----------------------------------- -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 + mob:setLocalVar("killer", player:getID()) + end +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 random = math.random(0,3) - local battlefield = player:getBattlefield() + local killer = mob:getLocalVar("killer") switch (mobID): caseof { [ID.mob.TEMENOS_C_MOB[5]+19] = function() - GetNPCByID(ID.npc.TEMENOS_C_CRATE[5][2]):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.TEMENOS_C_CRATE[5][2]):setStatus(dsp.status.NORMAL) + dsp.battlefield.ExtendTimeLimit(battlefield, 5, ID.text.TIME_EXTENDED) end, [ID.mob.TEMENOS_C_MOB[5]+20] = function() - GetNPCByID(ID.npc.TEMENOS_C_CRATE[5][3]):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.TEMENOS_C_CRATE[5][3]):setStatus(dsp.status.NORMAL) + dsp.battlefield.ExtendTimeLimit(battlefield, 5, ID.text.TIME_EXTENDED) end, [ID.mob.TEMENOS_C_MOB[5]+29] = function() - GetNPCByID(ID.npc.TEMENOS_C_CRATE[5][4]):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.TEMENOS_C_CRATE[5][4]):setStatus(dsp.status.NORMAL) + dsp.battlefield.ExtendTimeLimit(battlefield, 5, ID.text.TIME_EXTENDED) end, [ID.mob.TEMENOS_C_MOB[5]+30] = function() - GetNPCByID(ID.npc.TEMENOS_C_CRATE[5][5]):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.TEMENOS_C_CRATE[5][5]):setStatus(dsp.status.NORMAL) + dsp.battlefield.ExtendTimeLimit(battlefield, 5, ID.text.TIME_EXTENDED) end, } local leftAern=0 @@ -47,18 +47,17 @@ function onMobDeath(mob, player, isKiller) 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]):isAlive() then + if GetMobByID(AernList[n]):isSpawned() then leftAern = leftAern + 1 end end - --print("leftAern" ..leftAern); - if leftAern == 0 and isKiller then + + 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(player) - battlefield:setLocalVar("lootSpawned", 1) + SpawnMob(ID.mob.TEMENOS_C_MOB[5]+35):updateEnmity(GetPlayerByID(killer)) end end end diff --git a/scripts/zones/Temenos/mobs/Temenos_Ghrah.lua b/scripts/zones/Temenos/mobs/Temenos_Ghrah.lua index 9a0865c0a7d..2231dfa4333 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Ghrah.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Ghrah.lua @@ -2,19 +2,13 @@ -- Area: Temenos -- Mob: Temenos Ghrah ----------------------------------- -require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ------------------------------------ function onMobDeath(mob, player, isKiller) if isKiller then - local mobX = mob:getXPos() - local mobY = mob:getYPos() - local mobZ = mob:getZPos() local battlefield = player:getBattlefield() battlefield:setLocalVar("lootSpawned", 0) - GetNPCByID(ID.npc.TEMENOS_C_CRATE[5][1]):setPos(mobX, mobY, mobZ) - GetNPCByID(ID.npc.TEMENOS_C_CRATE[5][1]):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_C_CRATE[5]):setStatus(dsp.status.NORMAL) GetNPCByID(ID.npc.GATE_OFFSET+25):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Temenos/mobs/Thrym.lua b/scripts/zones/Temenos/mobs/Thrym.lua index faa490fee42..3303d7a510c 100644 --- a/scripts/zones/Temenos/mobs/Thrym.lua +++ b/scripts/zones/Temenos/mobs/Thrym.lua @@ -2,8 +2,6 @@ -- Area: Temenos N T -- Mob: Thrym ----------------------------------- -require("scripts/globals/limbus") ------------------------------------ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") diff --git a/scripts/zones/Temenos/mobs/Thunder_Elemental.lua b/scripts/zones/Temenos/mobs/Thunder_Elemental.lua index 0e72a2c43cc..f24b58b7dbb 100644 --- a/scripts/zones/Temenos/mobs/Thunder_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Thunder_Elemental.lua @@ -9,19 +9,26 @@ local ID = require("scripts/zones/Temenos/IDs") function onMobDeath(mob, player, isKiller) if isKiller then local mobID = mob:getID() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() local battlefield = player:getBattlefield() switch (mobID): caseof { [ID.mob.TEMENOS_E_MOB[5]] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[5]):setPos(mobX, mobY, mobZ) 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) 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) 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) limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[5]+3, player, "crateMaskF5", battlefield:getLocalVar("crateMaskF5"), true) end, [ID.mob.TEMENOS_C_MOB[2]+7] = function() diff --git a/scripts/zones/Temenos/mobs/Water_Elemental.lua b/scripts/zones/Temenos/mobs/Water_Elemental.lua index f0aa5579b7f..39d2c362b1f 100644 --- a/scripts/zones/Temenos/mobs/Water_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Water_Elemental.lua @@ -9,19 +9,26 @@ local ID = require("scripts/zones/Temenos/IDs") function onMobDeath(mob, player, isKiller) if isKiller then local mobID = mob:getID() + local mobX = mob:getXPos() + local mobY = mob:getYPos() + local mobZ = mob:getZPos() local battlefield = player:getBattlefield() switch (mobID): caseof { [ID.mob.TEMENOS_E_MOB[6]] = function() + GetNPCByID(ID.npc.TEMENOS_E_CRATE[6]):setPos(mobX, mobY, mobZ) 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) 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) 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) limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[6]+3, player, "crateMaskF6", battlefield:getLocalVar("crateMaskF6"), true) end, [ID.mob.TEMENOS_C_MOB[2]+8] = function() diff --git a/scripts/zones/Temenos/npcs/Armoury_Crate.lua b/scripts/zones/Temenos/npcs/Armoury_Crate.lua index 2c5cc78ed5e..8a1bad83bab 100644 --- a/scripts/zones/Temenos/npcs/Armoury_Crate.lua +++ b/scripts/zones/Temenos/npcs/Armoury_Crate.lua @@ -1388,13 +1388,9 @@ function onTrigger(player, npc) end end, [1301] = function() -- Temenos Central Basement Crate Handling - if model == 962 then - dsp.battlefield.ExtendTimeLimit(battlefield, 5, ID.text.TIME_EXTENDED) - else - limbus.handleLootRolls(battlefield, loot[bfid], nil, npc) - battlefield:setLocalVar("cutsceneTimer", 10) - battlefield:setLocalVar("lootSeen", 1) - end + limbus.handleLootRolls(battlefield, loot[bfid], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) end, [1303] = function() -- Temenos Central F1 Crate Handling limbus.handleLootRolls(battlefield, loot[bfid], nil, npc) From c5a21a4974966b1e2b7cb76dc1b3cdf4ad05a646 Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Sun, 17 Nov 2019 21:26:05 -0500 Subject: [PATCH 21/33] Add correct NPCs for Temenos doors. Move Limbus time extension to its own function. Expand pathTo function to accept path flags. Change Temenos and Apollyon to battlefield zones. Add pathing for all Temenos mobs (that should be pathing). Update mob_pools with MOBTYPE_BATTLEFIELD flags. --- scripts/globals/battlefield.lua | 2 +- scripts/globals/limbus.lua | 40 ++- .../zones/Apollyon/npcs/Swirling_Vortex.lua | 2 +- scripts/zones/Temenos/IDs.lua | 41 ++- scripts/zones/Temenos/Zone.lua | 44 +++ .../bcnms/central_temenos_1st_floor.lua | 4 +- .../bcnms/central_temenos_2nd_floor.lua | 4 +- .../bcnms/central_temenos_3rd_floor.lua | 6 +- .../bcnms/central_temenos_4th_floor.lua | 4 +- .../bcnms/central_temenos_basement.lua | 10 +- .../Temenos/bcnms/temenos_eastern_tower.lua | 4 +- .../Temenos/bcnms/temenos_northern_tower.lua | 9 +- .../Temenos/bcnms/temenos_western_tower.lua | 4 +- .../Temenos/mobs/Abyssdweller_Jhabdebb.lua | 1 - scripts/zones/Temenos/mobs/Aerns_Avatar.lua | 8 + scripts/zones/Temenos/mobs/Air_Elemental.lua | 33 ++- scripts/zones/Temenos/mobs/Airi.lua | 1 - .../Temenos/mobs/Cryptonberry_Abductor.lua | 40 ++- .../Temenos/mobs/Cryptonberry_Designator.lua | 41 ++- .../zones/Temenos/mobs/Earth_Elemental.lua | 1 - .../zones/Temenos/mobs/Enhanced_Ahriman.lua | 3 - .../zones/Temenos/mobs/Enhanced_Beetle.lua | 56 +++- .../zones/Temenos/mobs/Enhanced_Dragon.lua | 3 - .../zones/Temenos/mobs/Enhanced_Lizard.lua | 77 +++++- .../Temenos/mobs/Enhanced_Mandragora.lua | 75 +++++- scripts/zones/Temenos/mobs/Enhanced_Pugil.lua | 5 +- scripts/zones/Temenos/mobs/Enhanced_Slime.lua | 39 ++- scripts/zones/Temenos/mobs/Enhanced_Tiger.lua | 39 ++- .../zones/Temenos/mobs/Enhanced_Vulture.lua | 3 - scripts/zones/Temenos/mobs/Fire_Elemental.lua | 1 - scripts/zones/Temenos/mobs/Goblin_Fencer.lua | 1 - .../Temenos/mobs/Goblin_Slaughterman.lua | 2 +- .../zones/Temenos/mobs/Goblin_Theurgist.lua | 1 - scripts/zones/Temenos/mobs/Goblin_Warlord.lua | 3 +- .../zones/Temenos/mobs/Grognard_Impaler.lua | 10 - scripts/zones/Temenos/mobs/Ice_Elemental.lua | 41 ++- scripts/zones/Temenos/mobs/Iruci.lua | 3 - scripts/zones/Temenos/mobs/Kari.lua | 23 +- .../zones/Temenos/mobs/Kindred_Black_Mage.lua | 39 ++- .../Temenos/mobs/Kindred_Dark_Knight.lua | 5 + .../zones/Temenos/mobs/Kindred_Summoner.lua | 6 +- .../zones/Temenos/mobs/Kindred_Warrior.lua | 5 + .../zones/Temenos/mobs/Kindreds_Avatar.lua | 8 + .../Temenos/mobs/Koo_Buzu_the_Theomanic.lua | 8 + .../zones/Temenos/mobs/Light_Elemental.lua | 4 - scripts/zones/Temenos/mobs/Moblin_Dustman.lua | 44 ++- scripts/zones/Temenos/mobs/Mystic_Avatar.lua | 15 +- .../zones/Temenos/mobs/Orichalcum_Quadav.lua | 3 - .../Temenos/mobs/Pee_Qoho_the_Python.lua | 4 +- .../Temenos/mobs/Praetorian_Guard_CCCXI.lua | 4 +- .../Temenos/mobs/Praetorian_Guard_CCXX.lua | 4 +- .../Temenos/mobs/Praetorian_Guard_CXLVIII.lua | 4 +- .../Temenos/mobs/Praetorian_Guard_LXXIII.lua | 4 +- scripts/zones/Temenos/mobs/Proto-Ultima.lua | 2 - scripts/zones/Temenos/mobs/Telchines_Bard.lua | 2 +- .../zones/Temenos/mobs/Telchines_Dragoon.lua | 19 +- scripts/zones/Temenos/mobs/Telchines_Monk.lua | 29 +- .../Temenos/mobs/Telchines_White_Mage.lua | 2 +- scripts/zones/Temenos/mobs/Temenos_Aern.lua | 15 +- .../zones/Temenos/mobs/Temenos_Cleaner.lua | 3 - scripts/zones/Temenos/mobs/Temenos_Ghrah.lua | 1 - scripts/zones/Temenos/mobs/Temenos_Weapon.lua | 3 - .../zones/Temenos/mobs/Thunder_Elemental.lua | 41 ++- .../zones/Temenos/mobs/Tonberrys_Avatar.lua | 8 + .../zones/Temenos/mobs/Water_Elemental.lua | 1 - scripts/zones/Temenos/mobs/Yagudos_Avatar.lua | 8 + scripts/zones/Temenos/npcs/Armoury_Crate.lua | 251 +++++++++--------- .../Temenos/npcs/Matter_Diffusion_Module.lua | 2 +- sql/bcnm_battlefield.sql | 6 + sql/mob_groups.sql | 74 +++--- sql/mob_pets.sql | 1 + sql/mob_pools.sql | 235 +++++++++------- sql/mob_spawn_points.sql | 118 ++++---- sql/npc_list.sql | 82 ++++-- sql/zone_settings.sql | 4 +- src/map/lua/lua_baseentity.cpp | 11 +- 76 files changed, 1269 insertions(+), 490 deletions(-) create mode 100644 scripts/zones/Temenos/mobs/Aerns_Avatar.lua create mode 100644 scripts/zones/Temenos/mobs/Kindreds_Avatar.lua create mode 100644 scripts/zones/Temenos/mobs/Koo_Buzu_the_Theomanic.lua create mode 100644 scripts/zones/Temenos/mobs/Tonberrys_Avatar.lua create mode 100644 scripts/zones/Temenos/mobs/Yagudos_Avatar.lua diff --git a/scripts/globals/battlefield.lua b/scripts/globals/battlefield.lua index 817fef8d5df..64edc300bc4 100644 --- a/scripts/globals/battlefield.lua +++ b/scripts/globals/battlefield.lua @@ -229,7 +229,7 @@ function dsp.battlefield.ExtendTimeLimit(battlefield, minutes, message, param, p if message then players = players or battlefield:getPlayers() for _, player in pairs(players) do - player:messageSpecial(message, param or minutes) + player:messageBasic(message, param or minutes) end end end diff --git a/scripts/globals/limbus.lua b/scripts/globals/limbus.lua index 762b6ef78fa..e16d406bbdb 100644 --- a/scripts/globals/limbus.lua +++ b/scripts/globals/limbus.lua @@ -96,7 +96,6 @@ function limbus.hideArmouryCrates(bfid, show) local ID = zones[dsp.zone.TEMENOS] for i = 1, #ID.npc.TEMENOS_E_CRATE-1 do for j = 0, 3 do - GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+j):untargetable(false) GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+j):setStatus(dsp.status.DISAPPEAR) end end @@ -133,30 +132,32 @@ function limbus.hideArmouryCrates(bfid, show) } end -function limbus.hideTemenosDoors(bfid) +function limbus.hideTemenosDoors(bfid, open) + local animation = 9 + if open then animation = 8 end local ID = zones[dsp.zone.TEMENOS] if bfid == 1299 then -- Temenos_Northern_Tower - for i = 0, 6 do - GetNPCByID(ID.npc.GATE_OFFSET+i):setStatus(dsp.status.DISAPPEAR) + for i = 1, 7 do + GetNPCByID(ID.npc.TEMENOS_N_GATE[i]):setAnimation(animation) end elseif bfid == 1300 then -- Temenos_Eastern_Tower - for i = 7, 13 do - GetNPCByID(ID.npc.GATE_OFFSET+i):setStatus(dsp.status.DISAPPEAR) + for i = 1, 7 do + GetNPCByID(ID.npc.TEMENOS_E_GATE[i]):setAnimation(animation) end elseif bfid == 1298 then -- Temenos_Western_Tower - for i = 14, 20 do - GetNPCByID(ID.npc.GATE_OFFSET+i):setStatus(dsp.status.DISAPPEAR) + for i = 1, 7 do + GetNPCByID(ID.npc.TEMENOS_W_GATE[i]):setAnimation(animation) end elseif bfid == 1303 then -- Central_Temenos_1st_Floor - GetNPCByID(ID.npc.GATE_OFFSET+21):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(ID.npc.TEMENOS_C_GATE[1]):setAnimation(animation) elseif bfid == 1304 then -- Central_Temenos_2nd_Floor - GetNPCByID(ID.npc.GATE_OFFSET+22):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(ID.npc.TEMENOS_C_GATE[2]):setAnimation(animation) elseif bfid == 1305 then -- Central_Temenos_3rd_Floor - GetNPCByID(ID.npc.GATE_OFFSET+23):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(ID.npc.TEMENOS_C_GATE[3]):setAnimation(animation) elseif bfid == 1306 then -- Central_Temenos_4th_Floor - GetNPCByID(ID.npc.GATE_OFFSET+24):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(ID.npc.TEMENOS_C_GATE[4]):setAnimation(animation) elseif bfid == 1301 then -- Central_Temenos_Basement - GetNPCByID(ID.npc.GATE_OFFSET+25):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(ID.npc.TEMENOS_C_GATE[5]):setAnimation(animation) end end @@ -186,6 +187,19 @@ function limbus.handleLootRolls(battlefield, lootTable, players, npc) end end +function limbus.ExtendTimeLimit(battlefield, minutes, zone) + local timeLimit = battlefield:getTimeLimit() + local extension = minutes * 60 + battlefield:setTimeLimit(timeLimit + extension) + local ID = zones[zone] + + 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 +end + function limbus.elementalsDead() local ID = zones[dsp.zone.APOLLYON] local day = VanadielDayElement() diff --git a/scripts/zones/Apollyon/npcs/Swirling_Vortex.lua b/scripts/zones/Apollyon/npcs/Swirling_Vortex.lua index 67062bb8757..03dd1bcecb2 100644 --- a/scripts/zones/Apollyon/npcs/Swirling_Vortex.lua +++ b/scripts/zones/Apollyon/npcs/Swirling_Vortex.lua @@ -18,7 +18,7 @@ function onTrade(player, npc, trade) end TradeBCNM(player, npc, trade) else - player:messageSpecial(ID.text.NO_KEY+1) + player:messageSpecial(ID.text.NO_KEY) end end diff --git a/scripts/zones/Temenos/IDs.lua b/scripts/zones/Temenos/IDs.lua index 5ee198392c8..56104e3a330 100644 --- a/scripts/zones/Temenos/IDs.lua +++ b/scripts/zones/Temenos/IDs.lua @@ -24,6 +24,7 @@ zones[dsp.zone.TEMENOS] = 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... + CANNOT_OPEN_CHEST = 7556, -- You cannot open the treasure chest now. GATE_OPEN = 7557, -- The gate opens... }, mob = @@ -69,8 +70,44 @@ zones[dsp.zone.TEMENOS] = }, npc = { - GATE_OFFSET = 16929221, - COFFER_OFFSET = 16928768, + 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, diff --git a/scripts/zones/Temenos/Zone.lua b/scripts/zones/Temenos/Zone.lua index 5e7f0e1672c..b64f3808cdd 100644 --- a/scripts/zones/Temenos/Zone.lua +++ b/scripts/zones/Temenos/Zone.lua @@ -17,6 +17,37 @@ function onInitialize(zone) 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 + end function onConquestUpdate(zone, updatetype) @@ -30,12 +61,25 @@ function onZoneIn(player, prevZone) end function onRegionEnter(player, region) + local regionID = region:GetRegionID() + local cs + if GetNPCByID(ID.npc.TEMENOS_N_GATE[1] + (regionID - 1)):getAnimation() == 8 then + if regionID > 20 then + cs = 120 + else + cs = regionID + 99 + end + player:startEvent(cs) + end end function onRegionLeave(player, region) 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) diff --git a/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua index 9e996882e8c..f7f32890fe2 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua @@ -18,7 +18,7 @@ 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, ID.text.TIME_EXCEEDED, ID.text.WIPE, ID.text.WIPE_KICK) + dsp.battlefield.onBattlefieldTick(battlefield, tick) end function onBattlefieldEnter(player, battlefield) @@ -28,11 +28,11 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) + limbus.hideTemenosDoors(battlefield:getID(), true) SetServerVariable("[Central_Temenos_1st_Floor]Time", 0) end 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) diff --git a/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua index 3b431acb7d9..824c8826c03 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua @@ -18,7 +18,7 @@ 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, ID.text.TIME_EXCEEDED, ID.text.WIPE, ID.text.WIPE_KICK) + dsp.battlefield.onBattlefieldTick(battlefield, tick) end function onBattlefieldEnter(player, battlefield) @@ -28,11 +28,11 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) + limbus.hideTemenosDoors(battlefield:getID(), true) SetServerVariable("[Central_Temenos_2nd_Floor]Time", 0) end 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) diff --git a/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua index 68ab00a23a2..ceb82052746 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua @@ -12,13 +12,15 @@ function onBattlefieldInitialise(battlefield) SetServerVariable("[Central_Temenos_3rd_Floor]Time", battlefield:getTimeLimit()/60) limbus.hideTemenosDoors(battlefield:getID()) limbus.hideArmouryCrates(battlefield:getID()) + DespawnMob(ID.mob.TEMENOS_C_MOB[3]+3) + DespawnMob(ID.mob.TEMENOS_C_MOB[3]+11) end 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, ID.text.TIME_EXCEEDED, ID.text.WIPE, ID.text.WIPE_KICK) + dsp.battlefield.onBattlefieldTick(battlefield, tick) end function onBattlefieldEnter(player, battlefield) @@ -28,11 +30,11 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) + limbus.hideTemenosDoors(battlefield:getID(), true) SetServerVariable("[Central_Temenos_3rd_Floor]Time", 0) end 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) diff --git a/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua index 1a314815232..8fa9cf4a807 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua @@ -18,7 +18,7 @@ function onBattlefieldTick(battlefield, tick) if battlefield:getRemainingTime() % 60 == 0 then SetServerVariable("[Central_Temenos_4th_Floor]Time", battlefield:getRemainingTime()/60) end - dsp.battlefield.onBattlefieldTick(battlefield, tick, ID.text.TIME_EXCEEDED, ID.text.WIPE, ID.text.WIPE_KICK) + dsp.battlefield.onBattlefieldTick(battlefield, tick) end function onBattlefieldEnter(player, battlefield) @@ -28,11 +28,11 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) + limbus.hideTemenosDoors(battlefield:getID(), true) SetServerVariable("[Central_Temenos_4th_Floor]Time", 0) end 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) diff --git a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua index 96f5fbe916e..c0f194526c2 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua @@ -13,13 +13,19 @@ function onBattlefieldInitialise(battlefield) SetServerVariable("[Central_Temenos_Basement]Time", battlefield:getTimeLimit()/60) limbus.hideTemenosDoors(battlefield:getID()) limbus.hideArmouryCrates(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 function onBattlefieldTick(battlefield, tick) if battlefield:getRemainingTime() % 60 == 0 then SetServerVariable("[Central_Temenos_Basement]Time", battlefield:getRemainingTime()/60) end - dsp.battlefield.onBattlefieldTick(battlefield, tick, ID.text.TIME_EXCEEDED, ID.text.WIPE, ID.text.WIPE_KICK) + dsp.battlefield.onBattlefieldTick(battlefield, tick) end function onBattlefieldEnter(player, battlefield) @@ -29,11 +35,11 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) + limbus.hideTemenosDoors(battlefield:getID(), true) SetServerVariable("[Central_Temenos_Basement]Time", 0) end 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) diff --git a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua index 78e07182367..f3a5474c40d 100644 --- a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua @@ -18,7 +18,7 @@ function onBattlefieldTick(battlefield, tick) if battlefield:getRemainingTime() % 60 == 0 then SetServerVariable("[Temenos_Eastern_Tower]Time", battlefield:getRemainingTime()/60) end - dsp.battlefield.onBattlefieldTick(battlefield, tick, ID.text.TIME_EXCEEDED, ID.text.WIPE, ID.text.WIPE_KICK) + dsp.battlefield.onBattlefieldTick(battlefield, tick) end function onBattlefieldEnter(player, battlefield) @@ -28,11 +28,11 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) + limbus.hideTemenosDoors(battlefield:getID(), true) SetServerVariable("[Temenos_Eastern_Tower]Time", 0) end 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) diff --git a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua index 57524dd3311..992eb95c036 100644 --- a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua @@ -13,13 +13,18 @@ function onBattlefieldInitialise(battlefield) SetServerVariable("[Temenos_Northern_Tower]Time", battlefield:getTimeLimit()/60) limbus.hideTemenosDoors(battlefield:getID()) limbus.hideArmouryCrates(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 function onBattlefieldTick(battlefield, tick) if battlefield:getRemainingTime() % 60 == 0 then SetServerVariable("[Temenos_Northern_Tower]Time", battlefield:getRemainingTime()/60) end - dsp.battlefield.onBattlefieldTick(battlefield, tick, ID.text.TIME_EXCEEDED, ID.text.WIPE, ID.text.WIPE_KICK) + dsp.battlefield.onBattlefieldTick(battlefield, tick) end function onBattlefieldEnter(player, battlefield) @@ -29,11 +34,11 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) + limbus.hideTemenosDoors(battlefield:getID(), true) SetServerVariable("[Temenos_Northern_Tower]Time", 0) end 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) diff --git a/scripts/zones/Temenos/bcnms/temenos_western_tower.lua b/scripts/zones/Temenos/bcnms/temenos_western_tower.lua index a57747f31e9..184489d5356 100644 --- a/scripts/zones/Temenos/bcnms/temenos_western_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_western_tower.lua @@ -18,7 +18,7 @@ function onBattlefieldTick(battlefield, tick) if battlefield:getRemainingTime() % 60 == 0 then SetServerVariable("[Temenos_Western_Tower]Time", battlefield:getRemainingTime()/60) end - dsp.battlefield.onBattlefieldTick(battlefield, tick, ID.text.TIME_EXCEEDED, ID.text.WIPE, ID.text.WIPE_KICK) + dsp.battlefield.onBattlefieldTick(battlefield, tick) end function onBattlefieldEnter(player, battlefield) @@ -28,11 +28,11 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) + limbus.hideTemenosDoors(battlefield:getID(), true) SetServerVariable("[Temenos_Western_Tower]Time", 0) end 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) diff --git a/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua b/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua index c2912c13670..172c3417fef 100644 --- a/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua +++ b/scripts/zones/Temenos/mobs/Abyssdweller_Jhabdebb.lua @@ -30,7 +30,6 @@ function onMobDeath(mob, player, isKiller) GetMobByID(ID.mob.TEMENOS_C_MOB[3]+2):isDead() then GetNPCByID(ID.npc.TEMENOS_C_CRATE[3]):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+20):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 fec64db8539..90a91f4b722 100644 --- a/scripts/zones/Temenos/mobs/Air_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Air_Elemental.lua @@ -4,7 +4,38 @@ ----------------------------------- require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ------------------------------------ + +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() then + if offset == 1 or offset == 3 then + local point = mob:getLocalVar("point")+1 + local X = path[offset][point] + local Y = path[offset][point+1] + local Z = path[offset][point+2] + mob:pathTo(X, Y, Z, 0) + mob:setLocalVar("point", (point+2)%6) + mob:setLocalVar("pause", os.time()+5) + end + end + end +end function onMobDeath(mob, player, isKiller) if isKiller then diff --git a/scripts/zones/Temenos/mobs/Airi.lua b/scripts/zones/Temenos/mobs/Airi.lua index 6cd2097c1c4..9e2652a2a39 100644 --- a/scripts/zones/Temenos/mobs/Airi.lua +++ b/scripts/zones/Temenos/mobs/Airi.lua @@ -22,7 +22,6 @@ function onMobDeath(mob, player, isKiller) then GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) end end end diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua index b503095903e..4aab92865aa 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua @@ -5,19 +5,53 @@ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob, target) +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")+1 + mob:setLocalVar("point", (point+2)%6) + local X = path[offset][point] + local Y = path[offset][point+1] + local Z = path[offset][point+2] + mob:pathTo(X, Y, Z, 0) + 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 local battlefield = player:getBattlefield() - if GetNPCByID(ID.npc.GATE_OFFSET+5):getStatus() ~= dsp.status.NORMAL then + if GetNPCByID(ID.npc.TEMENOS_N_GATE[6]):getAnimation() == 9 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 - GetNPCByID(ID.npc.GATE_OFFSET+5):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_GATE[6]):setAnimation(8) end end end diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua index a8e3e99ee10..c098c738630 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua @@ -2,21 +2,56 @@ -- Area: Temenos N T -- Mob: Cryptonberry Designator ----------------------------------- +mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob, target) +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")+1 + mob:setLocalVar("point", (point+2)%6) + local X = path[offset][point] + local Y = path[offset][point+1] + local Z = path[offset][point+2] + mob:pathTo(X, Y, Z, 0) + 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 local battlefield = player:getBattlefield() - if GetNPCByID(ID.npc.GATE_OFFSET+5):getStatus() ~= dsp.status.NORMAL then + if GetNPCByID(ID.npc.TEMENOS_N_GATE[6]):getAnimation() == 9 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 - GetNPCByID(ID.npc.GATE_OFFSET+5):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_GATE[6]):setAnimation(8) end end end diff --git a/scripts/zones/Temenos/mobs/Earth_Elemental.lua b/scripts/zones/Temenos/mobs/Earth_Elemental.lua index 975fcf3653a..6707e67fb28 100644 --- a/scripts/zones/Temenos/mobs/Earth_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Earth_Elemental.lua @@ -4,7 +4,6 @@ ----------------------------------- require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ------------------------------------ function onMobDeath(mob, player, isKiller) if isKiller then diff --git a/scripts/zones/Temenos/mobs/Enhanced_Ahriman.lua b/scripts/zones/Temenos/mobs/Enhanced_Ahriman.lua index b1524704747..fbe0ce3936e 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Ahriman.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Ahriman.lua @@ -2,9 +2,7 @@ -- Area: Temenos Central Floor -- Mob: Enhanced Ahriman ----------------------------------- -require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ------------------------------------ function onMobEngaged(mob, target) if GetMobByID(ID.mob.TEMENOS_C_MOB[1]+4):isDead() then @@ -24,7 +22,6 @@ function onMobDeath(mob, player, isKiller) then GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+20):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 c3f8e8df1d5..8759fa5807d 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua @@ -4,9 +4,57 @@ ----------------------------------- require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ------------------------------------ -function onMobEngaged(mob, target) +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, + }, +} + +function onMobSpawn(mob) + onMobRoam(mob) +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")+1 + mob:setLocalVar("point", (point+2)%6) + local X = path[offset][point] + local Y = path[offset][point+1] + local Z = path[offset][point+2] + mob:pathTo(X, Y, Z, 0) + mob:setLocalVar("pause", os.time()+30) + end end function onMobDeath(mob, player, isKiller) @@ -18,13 +66,13 @@ function onMobDeath(mob, player, isKiller) local mobID = mob:getID() local spawn = math.random(0,1) == 1 - if GetNPCByID(ID.npc.GATE_OFFSET+16):getStatus() ~= dsp.status.NORMAL then + if GetNPCByID(ID.npc.TEMENOS_W_GATE[3]):getAnimation() == 9 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 - GetNPCByID(ID.npc.GATE_OFFSET+16):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_W_GATE[3]):setAnimation(8) end for i = 0, 8 do diff --git a/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua b/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua index 1e8b4345126..3b149b527fc 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Dragon.lua @@ -2,9 +2,7 @@ -- Area: Temenos Central Floor -- Mob: Enhanced Dragon ----------------------------------- -require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ------------------------------------ function onMobEngaged(mob, target) if GetMobByID(ID.mob.TEMENOS_C_MOB[1]+5):isDead() then @@ -25,7 +23,6 @@ function onMobDeath(mob, player, isKiller) then GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+20):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 8f4a44d5da6..72f8bd7a781 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua @@ -4,9 +4,78 @@ ----------------------------------- require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ------------------------------------ -function onMobEngaged(mob, target) +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, + }, +} + +function onMobSpawn(mob) + onMobRoam(mob) +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")+1 + mob:setLocalVar("point", (point+2)%6) + local X = path[offset][point] + local Y = path[offset][point+1] + local Z = path[offset][point+2] + mob:pathTo(X, Y, Z, 0) + 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) @@ -18,13 +87,13 @@ function onMobDeath(mob, player, isKiller) local mobID = mob:getID() local spawn = math.random(0,1) == 1 - if GetNPCByID(ID.npc.GATE_OFFSET+17):getStatus() ~= dsp.status.NORMAL then + if GetNPCByID(ID.npc.TEMENOS_W_GATE[4]):getAnimation() == 9 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 - GetNPCByID(ID.npc.GATE_OFFSET+17):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_W_GATE[4]):setAnimation(8) end for i = 0, 8 do diff --git a/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua b/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua index dd760863783..a0001f0bbaa 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua @@ -4,9 +4,76 @@ ----------------------------------- require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ------------------------------------ -function onMobEngaged(mob, target) +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, + }, +} + +function onMobSpawn(mob) + local offset = mob:getID() - ID.mob.TEMENOS_W_MOB[2] + if offset == 0 or offset == 1 then + mob:setLocalVar("pause", os.time()+5) + end + onMobRoam(mob) +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")+1 + mob:setLocalVar("point", (point+2)%6) + local X = path[offset][point] + local Y = path[offset][point+1] + local Z = path[offset][point+2] + mob:pathTo(X, Y, Z, 0) + mob:setLocalVar("pause", os.time()+15) + end end function onMobDeath(mob, player, isKiller) @@ -18,13 +85,13 @@ function onMobDeath(mob, player, isKiller) local mobID = mob:getID() local spawn = math.random(0,1) == 1 - if GetNPCByID(ID.npc.GATE_OFFSET+15):getStatus() ~= dsp.status.NORMAL then + if GetNPCByID(ID.npc.TEMENOS_W_GATE[2]):getAnimation() == 9 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 - GetNPCByID(ID.npc.GATE_OFFSET+15):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_W_GATE[2]):setAnimation(8) end for i = 0, 8 do diff --git a/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua b/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua index aa8d9d21125..149d9353ba8 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua @@ -4,7 +4,6 @@ ----------------------------------- require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ------------------------------------ function onMobEngaged(mob, target) end @@ -18,13 +17,13 @@ function onMobDeath(mob, player, isKiller) local mobID = mob:getID() local spawn = math.random(0,1) == 1 - if GetNPCByID(ID.npc.GATE_OFFSET+19):getStatus() ~= dsp.status.NORMAL then + if GetNPCByID(ID.npc.TEMENOS_W_GATE[6]):getAnimation() == 9 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 - GetNPCByID(ID.npc.GATE_OFFSET+19):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_W_GATE[6]):setAnimation(8) end for i = 0, 8 do diff --git a/scripts/zones/Temenos/mobs/Enhanced_Slime.lua b/scripts/zones/Temenos/mobs/Enhanced_Slime.lua index 7b0e37637a9..54ab992f8e5 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Slime.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Slime.lua @@ -4,9 +4,40 @@ ----------------------------------- require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ------------------------------------ -function onMobEngaged(mob, target) +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 onMobSpawn(mob) + onMobRoam(mob) +end + +function onMobRoam(mob) + local offset = mob:getID() - ID.mob.TEMENOS_W_MOB[5] + local pause = mob:getLocalVar("pause") + if pause < os.time() then + if offset == 2 or offset == 5 then + local point = mob:getLocalVar("point")+1 + mob:setLocalVar("point", (point+2)%6) + local X = path[offset][point] + local Y = path[offset][point+1] + local Z = path[offset][point+2] + mob:pathTo(X, Y, Z, 10) + mob:setLocalVar("pause", os.time()+35) + end + end end function onMobDeath(mob, player, isKiller) @@ -18,13 +49,13 @@ function onMobDeath(mob, player, isKiller) local mobID = mob:getID() local spawn = math.random(0,1) == 1 - if GetNPCByID(ID.npc.GATE_OFFSET+18):getStatus() ~= dsp.status.NORMAL then + if GetNPCByID(ID.npc.TEMENOS_W_GATE[5]):getAnimation() == 9 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 - GetNPCByID(ID.npc.GATE_OFFSET+18):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_W_GATE[5]):setAnimation(8) end for i = 0, 8 do diff --git a/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua b/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua index b7891382f6e..f337799f35e 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua @@ -4,9 +4,40 @@ ----------------------------------- require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ------------------------------------ -function onMobEngaged(mob, target) +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 onMobSpawn(mob) + onMobRoam(mob) +end + +function onMobRoam(mob) + local offset = mob:getID() - ID.mob.TEMENOS_W_MOB[1] + local pause = mob:getLocalVar("pause") + if pause < os.time() then + if offset == 2 or offset == 6 then + local point = mob:getLocalVar("point")+1 + mob:setLocalVar("point", (point+2)%6) + local X = path[offset][point] + local Y = path[offset][point+1] + local Z = path[offset][point+2] + mob:pathTo(X, Y, Z, 0) + mob:setLocalVar("pause", os.time()+20) + end + end end function onMobDeath(mob, player, isKiller) @@ -18,13 +49,13 @@ function onMobDeath(mob, player, isKiller) local mobID = mob:getID() local spawn = math.random(0,1) == 1 - if GetNPCByID(ID.npc.GATE_OFFSET+14):getStatus() ~= dsp.status.NORMAL then + if GetNPCByID(ID.npc.TEMENOS_W_GATE[1]):getAnimation() == 9 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 - GetNPCByID(ID.npc.GATE_OFFSET+14):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_W_GATE[1]):setAnimation(8) end for i = 0, 8 do diff --git a/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua b/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua index 9c9dbf11054..2689be21804 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua @@ -2,9 +2,7 @@ -- Area: Temenos W T -- Mob: Enhanced Vulture ----------------------------------- -require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ------------------------------------ function onMobEngaged(mob, target) GetMobByID(ID.mob.TEMENOS_W_MOB[7]):updateEnmity(target) @@ -25,7 +23,6 @@ function onMobDeath(mob, player, isKiller) 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) - GetNPCByID(ID.npc.GATE_OFFSET+19):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 7b9a6ded0a6..37b98e571e4 100644 --- a/scripts/zones/Temenos/mobs/Fire_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Fire_Elemental.lua @@ -4,7 +4,6 @@ ----------------------------------- require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ------------------------------------ function onMobDeath(mob, player, isKiller) if isKiller then diff --git a/scripts/zones/Temenos/mobs/Goblin_Fencer.lua b/scripts/zones/Temenos/mobs/Goblin_Fencer.lua index 9e4b2eebaf9..2e9ab929ac0 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Fencer.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Fencer.lua @@ -18,7 +18,6 @@ function onMobDeath(mob, player, isKiller) GetMobByID(ID.mob.TEMENOS_N_MOB[7]+4):isDead() then GetNPCByID(ID.npc.TEMENOS_N_CRATE[7]):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+6):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 53a8028c287..7af82f74233 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Slaughterman.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Slaughterman.lua @@ -17,7 +17,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.GATE_OPEN) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end - GetNPCByID(ID.npc.GATE_OFFSET):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_GATE[1]):setAnimation(8) end if mobID == ID.mob.TEMENOS_N_MOB[1]+1 and random % 2 == 1 then diff --git a/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua b/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua index 0adc6409ba4..ca1f6d39353 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Theurgist.lua @@ -18,7 +18,6 @@ function onMobDeath(mob, player, isKiller) GetMobByID(ID.mob.TEMENOS_N_MOB[7]+4):isDead() then GetNPCByID(ID.npc.TEMENOS_N_CRATE[7]):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+6):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 5e2f172238d..4297ca6354c 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Warlord.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Warlord.lua @@ -8,11 +8,10 @@ local ID = require("scripts/zones/Temenos/IDs") function onMobDeath(mob, player, isKiller) 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]+2):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) - GetNPCByID(ID.npc.GATE_OFFSET+6):setStatus(dsp.status.NORMAL) end end end \ No newline at end of file diff --git a/scripts/zones/Temenos/mobs/Grognard_Impaler.lua b/scripts/zones/Temenos/mobs/Grognard_Impaler.lua index 5217b818651..75b918593bb 100644 --- a/scripts/zones/Temenos/mobs/Grognard_Impaler.lua +++ b/scripts/zones/Temenos/mobs/Grognard_Impaler.lua @@ -3,16 +3,6 @@ -- 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/Temenos/mobs/Ice_Elemental.lua b/scripts/zones/Temenos/mobs/Ice_Elemental.lua index 5fd04490e70..ae07800f482 100644 --- a/scripts/zones/Temenos/mobs/Ice_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Ice_Elemental.lua @@ -4,7 +4,46 @@ ----------------------------------- require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ------------------------------------ + +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, + }, +} + +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")+1 + mob:setLocalVar("point", (point+2)%6) + local X = path[offset][point] + local Y = path[offset][point+1] + local Z = path[offset][point+2] + mob:pathTo(X, Y, Z, 0) + mob:setLocalVar("pause", os.time()+5) + end + end +end function onMobDeath(mob, player, isKiller) if isKiller then diff --git a/scripts/zones/Temenos/mobs/Iruci.lua b/scripts/zones/Temenos/mobs/Iruci.lua index 3a14a52bf0f..fe5a7125281 100644 --- a/scripts/zones/Temenos/mobs/Iruci.lua +++ b/scripts/zones/Temenos/mobs/Iruci.lua @@ -2,9 +2,7 @@ -- Area: Temenos Central Floor -- Mob: Iruci ----------------------------------- -require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ------------------------------------ function onMobEngaged(mob, target) if GetMobByID(ID.mob.TEMENOS_C_MOB[1]+3):isDead() then @@ -25,7 +23,6 @@ function onMobDeath(mob, player, isKiller) then GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) end end end diff --git a/scripts/zones/Temenos/mobs/Kari.lua b/scripts/zones/Temenos/mobs/Kari.lua index 9588f078c69..0d35f5752c6 100644 --- a/scripts/zones/Temenos/mobs/Kari.lua +++ b/scripts/zones/Temenos/mobs/Kari.lua @@ -5,6 +5,27 @@ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") +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")+1 + mob:setLocalVar("point", (point+2)%12) + local X = path[point] + local Y = path[point+1] + local Z = path[point+2] + mob:pathTo(X, Y, Z, 10) + mob:setLocalVar("pause", os.time()+15) + end +end + function onMobDeath(mob, player, isKiller) if isKiller then local battlefield = player:getBattlefield() @@ -14,6 +35,6 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.GATE_OPEN) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end - GetNPCByID(ID.npc.GATE_OFFSET+1):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_GATE[2]):setAnimation(8) end end diff --git a/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua b/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua index 695c46bbfb1..83042e4591e 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua @@ -5,7 +5,42 @@ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob, target) +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, + }, +} + +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")+1 + mob:setLocalVar("point", (point+2)%6) + local X = path[offset][point] + local Y = path[offset][point+1] + local Z = path[offset][point+2] + mob:pathTo(X, Y, Z) + mob:setLocalVar("pause", os.time()+10) + end end function onMobDeath(mob, player, isKiller) @@ -20,7 +55,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.GATE_OPEN) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end - GetNPCByID(ID.npc.GATE_OFFSET+3):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_GATE[4]):setAnimation(8) end end end diff --git a/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua b/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua index 8dffc5ef81d..809b29e7be2 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Dark_Knight.lua @@ -5,6 +5,11 @@ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") +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 isKiller then if GetMobByID(ID.mob.TEMENOS_N_MOB[4]):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[4]+2):isDead() then diff --git a/scripts/zones/Temenos/mobs/Kindred_Summoner.lua b/scripts/zones/Temenos/mobs/Kindred_Summoner.lua index c16fc51521b..5bd348955ee 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Summoner.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Summoner.lua @@ -2,10 +2,12 @@ -- Area: Temenos N T -- Mob: Kindred Summoner ----------------------------------- +mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob,target) - GetMobByID(ID.mob.TEMENOS_N_MOB[4]+3):updateEnmity(target) +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) diff --git a/scripts/zones/Temenos/mobs/Kindred_Warrior.lua b/scripts/zones/Temenos/mobs/Kindred_Warrior.lua index 73834fa56f0..0dc811a0c3f 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Warrior.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Warrior.lua @@ -5,6 +5,11 @@ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") +function onMobEngaged(mob,target) + 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 isKiller then if GetMobByID(ID.mob.TEMENOS_N_MOB[4]+1):isDead() and GetMobByID(ID.mob.TEMENOS_N_MOB[4]+2):isDead() then 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 75e3e3bed3d..d4aba1b9b53 100644 --- a/scripts/zones/Temenos/mobs/Light_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Light_Elemental.lua @@ -2,9 +2,7 @@ -- 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() @@ -24,13 +22,11 @@ function onMobDeath(mob, player, isKiller) [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) - GetNPCByID(ID.npc.GATE_OFFSET+19):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) - GetNPCByID(ID.npc.GATE_OFFSET+19):setStatus(dsp.status.NORMAL) end end, } diff --git a/scripts/zones/Temenos/mobs/Moblin_Dustman.lua b/scripts/zones/Temenos/mobs/Moblin_Dustman.lua index b1b049a2bdc..8992c4005c2 100644 --- a/scripts/zones/Temenos/mobs/Moblin_Dustman.lua +++ b/scripts/zones/Temenos/mobs/Moblin_Dustman.lua @@ -5,6 +5,48 @@ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") +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 onMobSpawn(mob) + onMobRoam(mob) +end + +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")+1 + mob:setLocalVar("point", (point+2)%6) + local X = path[offset][point] + local Y = path[offset][point+1] + local Z = path[offset][point+2] + mob:pathTo(X, Y, Z, 0) + mob:setLocalVar("pause", os.time()+10) + end +end + function onMobDeath(mob, player, isKiller) if isKiller then local mobID = mob:getID() @@ -17,7 +59,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.GATE_OPEN) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end - GetNPCByID(ID.npc.GATE_OFFSET):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_GATE[1]):setAnimation(8) 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 674da91c3e4..e8327fb4945 100644 --- a/scripts/zones/Temenos/mobs/Mystic_Avatar.lua +++ b/scripts/zones/Temenos/mobs/Mystic_Avatar.lua @@ -2,9 +2,7 @@ -- Area: Temenos E T -- Mob: Mystic Avatar ----------------------------------- -require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ------------------------------------ function onMobSpawn(mob) local mobID = mob:getID() @@ -42,7 +40,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.GATE_OPEN) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end - GetNPCByID(ID.npc.GATE_OFFSET+7):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_E_GATE[1]):setAnimation(8) else for i = 0, 3 do if ID.npc.TEMENOS_E_CRATE[1]+i ~= mimicID then @@ -65,7 +63,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.GATE_OPEN) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end - GetNPCByID(ID.npc.GATE_OFFSET+8):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_E_GATE[2]):setAnimation(8) else for i = 0, 3 do if ID.npc.TEMENOS_E_CRATE[2]+i ~= mimicID then @@ -88,7 +86,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.GATE_OPEN) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end - GetNPCByID(ID.npc.GATE_OFFSET+9):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_E_GATE[3]):setAnimation(8) else for i = 0, 3 do if ID.npc.TEMENOS_E_CRATE[3]+i ~= mimicID then @@ -111,7 +109,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.GATE_OPEN) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end - GetNPCByID(ID.npc.GATE_OFFSET+10):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_E_GATE[4]):setAnimation(8) else for i = 0, 3 do if ID.npc.TEMENOS_E_CRATE[4]+i ~= mimicID then @@ -134,7 +132,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.GATE_OPEN) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end - GetNPCByID(ID.npc.GATE_OFFSET+11):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_E_GATE[5]):setAnimation(8) else for i = 0, 3 do if ID.npc.TEMENOS_E_CRATE[5]+i ~= mimicID then @@ -157,7 +155,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.GATE_OPEN) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end - GetNPCByID(ID.npc.GATE_OFFSET+12):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_E_GATE[6]):setAnimation(8) else for i = 0, 3 do if ID.npc.TEMENOS_E_CRATE[6]+i ~= mimicID then @@ -213,7 +211,6 @@ function onMobDeath(mob, player, isKiller) 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) - GetNPCByID(ID.npc.GATE_OFFSET+19):setStatus(dsp.status.NORMAL) end end end diff --git a/scripts/zones/Temenos/mobs/Orichalcum_Quadav.lua b/scripts/zones/Temenos/mobs/Orichalcum_Quadav.lua index 1722c1a232d..6364276d2f4 100644 --- a/scripts/zones/Temenos/mobs/Orichalcum_Quadav.lua +++ b/scripts/zones/Temenos/mobs/Orichalcum_Quadav.lua @@ -2,8 +2,6 @@ -- Area: Temenos -- Mob: Orichalcum Quadav ----------------------------------- -require("scripts/globals/limbus") ------------------------------------ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") @@ -32,7 +30,6 @@ function onMobDeath(mob, player, isKiller) GetMobByID(ID.mob.TEMENOS_C_MOB[3]+2):isDead() then GetNPCByID(ID.npc.TEMENOS_C_CRATE[3]):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+20):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 a16b77048a0..7569f9ed3a8 100644 --- a/scripts/zones/Temenos/mobs/Pee_Qoho_the_Python.lua +++ b/scripts/zones/Temenos/mobs/Pee_Qoho_the_Python.lua @@ -2,9 +2,8 @@ -- 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 GetMobByID(ID.mob.TEMENOS_C_MOB[3]+18):isDead() and GetMobByID(ID.mob.TEMENOS_C_MOB[3]+19):isDead() and @@ -31,7 +30,6 @@ function onMobDeath(mob, player, isKiller) GetMobByID(ID.mob.TEMENOS_C_MOB[3]+2):isDead() then GetNPCByID(ID.npc.TEMENOS_C_CRATE[3]):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+20):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 5a133ea1775..a0f0fa2558c 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua @@ -15,13 +15,13 @@ function onMobDeath(mob, player, isKiller) 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.GATE_OFFSET+4):getStatus() ~= dsp.status.NORMAL then + if GetNPCByID(ID.npc.TEMENOS_N_GATE[5]):getAnimation() == 9 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 - GetNPCByID(ID.npc.GATE_OFFSET+4):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_GATE[5]):setAnimation(8) end end end diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua index 64ae26d4c1b..e7e9ecad0b6 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua @@ -15,13 +15,13 @@ function onMobDeath(mob, player, isKiller) 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.GATE_OFFSET+4):getStatus() ~= dsp.status.NORMAL then + if GetNPCByID(ID.npc.TEMENOS_N_GATE[5]):getAnimation() == 9 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 - GetNPCByID(ID.npc.GATE_OFFSET+4):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_GATE[5]):setAnimation(8) end end end diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua index 10624301bc3..fe4ce5ef8a5 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua @@ -15,13 +15,13 @@ function onMobDeath(mob, player, isKiller) 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.GATE_OFFSET+4):getStatus() ~= dsp.status.NORMAL then + if GetNPCByID(ID.npc.TEMENOS_N_GATE[5]):getAnimation() == 9 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 - GetNPCByID(ID.npc.GATE_OFFSET+4):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_GATE[5]):setAnimation(8) end end end diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua index 180ef8b992c..68ca956ae87 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua @@ -16,13 +16,13 @@ function onMobDeath(mob, player, isKiller) 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.GATE_OFFSET+14):getStatus() ~= dsp.status.NORMAL then + if GetNPCByID(ID.npc.TEMENOS_N_GATE[5]):getAnimation() == 9 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 - GetNPCByID(ID.npc.GATE_OFFSET+4):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_GATE[5]):setAnimation(8) end end end diff --git a/scripts/zones/Temenos/mobs/Proto-Ultima.lua b/scripts/zones/Temenos/mobs/Proto-Ultima.lua index 0cd71518529..ecc64e163ac 100644 --- a/scripts/zones/Temenos/mobs/Proto-Ultima.lua +++ b/scripts/zones/Temenos/mobs/Proto-Ultima.lua @@ -5,7 +5,6 @@ require("scripts/globals/titles") require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ------------------------------------ function onMobSpawn(mob) mob:SetMagicCastingEnabled(false) @@ -39,6 +38,5 @@ function onMobDeath(mob, player, isKiller) player:addTitle(dsp.title.TEMENOS_LIBERATOR) if isKiller then GetNPCByID(ID.npc.TEMENOS_C_CRATE[4][1]):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+24):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Temenos/mobs/Telchines_Bard.lua b/scripts/zones/Temenos/mobs/Telchines_Bard.lua index 5b2cfcce209..2da6727fd8e 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Bard.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Bard.lua @@ -18,7 +18,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.GATE_OPEN) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end - GetNPCByID(ID.npc.GATE_OFFSET+2):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_GATE[3]):setAnimation(8) end if random % 2 == 0 then diff --git a/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua b/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua index 2b769e41c03..68edac862ae 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua @@ -5,8 +5,23 @@ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") +local path = +{ + 50.000, 80.000, 419.500, + 30.000, 80.000, 419.500, +} -function onMobEngaged(mob, target) +function onMobRoam(mob) + local pause = mob:getLocalVar("pause") + if pause < os.time() then + local point = mob:getLocalVar("point")+1 + mob:setLocalVar("point", (point+2)%6) + local X = path[point] + local Y = path[point+1] + local Z = path[point+2] + mob:pathTo(X, Y, Z, 0) + mob:setLocalVar("pause", os.time()+10) + end end function onMobDeath(mob, player, isKiller) @@ -22,7 +37,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.GATE_OPEN) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end - GetNPCByID(ID.npc.GATE_OFFSET+2):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_GATE[3]):setAnimation(8) end end end diff --git a/scripts/zones/Temenos/mobs/Telchines_Monk.lua b/scripts/zones/Temenos/mobs/Telchines_Monk.lua index 56d418d7b9e..d94700053a8 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Monk.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Monk.lua @@ -5,7 +5,32 @@ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") -function onMobEngaged(mob, target) +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, + }, +} + +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")+1 + mob:setLocalVar("point", (point+2)%6) + local X = path[offset][point] + local Y = path[offset][point+1] + local Z = path[offset][point+2] + mob:pathTo(X, Y, Z, 0) + mob:setLocalVar("pause", os.time()+10) + end end function onMobDeath(mob, player, isKiller) @@ -21,7 +46,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.GATE_OPEN) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end - GetNPCByID(ID.npc.GATE_OFFSET+2):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_GATE[3]):setAnimation(8) 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 3346f3fe2e7..4b4dd235b82 100644 --- a/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua +++ b/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua @@ -18,7 +18,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.GATE_OPEN) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end - GetNPCByID(ID.npc.GATE_OFFSET+2):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_N_GATE[3]):setAnimation(8) end if random % 2 == 1 then diff --git a/scripts/zones/Temenos/mobs/Temenos_Aern.lua b/scripts/zones/Temenos/mobs/Temenos_Aern.lua index 7bdd5f74659..9df561da628 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Aern.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Aern.lua @@ -2,7 +2,12 @@ -- Area: Temenos -- Mob: Temenos Aern ----------------------------------- -mixins = {require("scripts/mixins/job_special")} +require("scripts/globals/limbus") +mixins = +{ + require("scripts/mixins/families/aern"), + require("scripts/mixins/job_special") +} local ID = require("scripts/zones/Temenos/IDs") function onMobDeath(mob, player, isKiller) @@ -22,16 +27,16 @@ function onMobDespawn(mob) switch (mobID): caseof { [ID.mob.TEMENOS_C_MOB[5]+19] = function() - dsp.battlefield.ExtendTimeLimit(battlefield, 5, ID.text.TIME_EXTENDED) + limbus.ExtendTimeLimit(battlefield, 5, 37) end, [ID.mob.TEMENOS_C_MOB[5]+20] = function() - dsp.battlefield.ExtendTimeLimit(battlefield, 5, ID.text.TIME_EXTENDED) + limbus.ExtendTimeLimit(battlefield, 5, 37) end, [ID.mob.TEMENOS_C_MOB[5]+29] = function() - dsp.battlefield.ExtendTimeLimit(battlefield, 5, ID.text.TIME_EXTENDED) + limbus.ExtendTimeLimit(battlefield, 5, 37) end, [ID.mob.TEMENOS_C_MOB[5]+30] = function() - dsp.battlefield.ExtendTimeLimit(battlefield, 5, ID.text.TIME_EXTENDED) + limbus.ExtendTimeLimit(battlefield, 5, 37) end, } local leftAern=0 diff --git a/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua b/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua index 6dc06e4cef9..2d7ba37885c 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Cleaner.lua @@ -2,9 +2,7 @@ -- Area: Temenos Central 1floor -- Mob: Temenos Cleaner ----------------------------------- -require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ------------------------------------ function onMobEngaged(mob, target) if GetMobByID(ID.mob.TEMENOS_C_MOB[1]):isDead() then @@ -24,7 +22,6 @@ function onMobDeath(mob, player, isKiller) then GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+20):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 2231dfa4333..59731d60ed1 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Ghrah.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Ghrah.lua @@ -9,6 +9,5 @@ function onMobDeath(mob, player, isKiller) local battlefield = player:getBattlefield() battlefield:setLocalVar("lootSpawned", 0) GetNPCByID(ID.npc.TEMENOS_C_CRATE[5]):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+25):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 24521bcd67a..2fd67bed560 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Weapon.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Weapon.lua @@ -2,9 +2,7 @@ -- Area: Temenos Central Floor -- Mob: Temenos Weapon ----------------------------------- -require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ------------------------------------ function onMobEngaged(mob, target) if GetMobByID(ID.mob.TEMENOS_C_MOB[1]+2):isDead() then @@ -24,7 +22,6 @@ function onMobDeath(mob, player, isKiller) then GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setPos(mobX, mobY, mobZ) GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setStatus(dsp.status.NORMAL) - GetNPCByID(ID.npc.GATE_OFFSET+20):setStatus(dsp.status.NORMAL) end end end diff --git a/scripts/zones/Temenos/mobs/Thunder_Elemental.lua b/scripts/zones/Temenos/mobs/Thunder_Elemental.lua index f24b58b7dbb..d52d0f3866b 100644 --- a/scripts/zones/Temenos/mobs/Thunder_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Thunder_Elemental.lua @@ -4,7 +4,46 @@ ----------------------------------- require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ------------------------------------ + +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, + }, +} + +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")+1 + mob:setLocalVar("point", (point+2)%6) + local X = path[offset][point] + local Y = path[offset][point+1] + local Z = path[offset][point+2] + mob:pathTo(X, Y, Z, 10) + mob:setLocalVar("pause", os.time()+10) + end + end +end function onMobDeath(mob, player, isKiller) if isKiller then 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 39d2c362b1f..c49738e17bc 100644 --- a/scripts/zones/Temenos/mobs/Water_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Water_Elemental.lua @@ -4,7 +4,6 @@ ----------------------------------- require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") ------------------------------------ function onMobDeath(mob, player, isKiller) if isKiller then 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 8a1bad83bab..87f3ff07248 100644 --- a/scripts/zones/Temenos/npcs/Armoury_Crate.lua +++ b/scripts/zones/Temenos/npcs/Armoury_Crate.lua @@ -2,10 +2,8 @@ -- Area: Temenos -- NPC: Armoury Crate ----------------------------------- -require("scripts/globals/titles") -require("scripts/globals/quests") +require("scripts/globals/battlefield") require("scripts/globals/limbus") ------------------------------------ local ID = require("scripts/zones/Temenos/IDs") local loot = @@ -1267,61 +1265,63 @@ function onTrigger(player, npc) local Y = npc:getYPos() local Z = npc:getZPos() local bfid = battlefield:getID() + local hold = false - 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 - limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) - elseif model == 962 then - dsp.battlefield.ExtendTimeLimit(battlefield, 15, ID.text.TIME_EXTENDED) - end + 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 + limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) + elseif model == 962 then + limbus.ExtendTimeLimit(battlefield, 15, 37) end end end - else - limbus.handleLootRolls(battlefield, loot[bfid][7], nil, npc) - battlefield:setLocalVar("cutsceneTimer", 10) - battlefield:setLocalVar("lootSeen", 1) 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 - GetNPCByID(ID.npc.TEMENOS_N_CRATE[i]):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(ID.npc.TEMENOS_N_CRATE[i]+1):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(ID.npc.TEMENOS_N_CRATE[i]+2):setStatus(dsp.status.DISAPPEAR) - if model == 960 then - dsp.battlefield.HealPlayers(battlefield) - elseif model == 961 then - limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) - elseif model == 962 then - dsp.battlefield.ExtendTimeLimit(battlefield, 15, ID.text.TIME_EXTENDED) - end + else + limbus.handleLootRolls(battlefield, loot[bfid][7], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + 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 + GetNPCByID(ID.npc.TEMENOS_N_CRATE[i]):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[i]+1):setStatus(dsp.status.DISAPPEAR) + GetNPCByID(ID.npc.TEMENOS_N_CRATE[i]+2):setStatus(dsp.status.DISAPPEAR) + if model == 960 then + dsp.battlefield.HealPlayers(battlefield) + elseif model == 961 then + limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) + elseif model == 962 then + limbus.ExtendTimeLimit(battlefield, 15, 37) end end end - else - 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 + else + 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 DespawnMob(ID.mob.TEMENOS_E_MOB[i]) DespawnMob(ID.mob.TEMENOS_E_MOB[i]+1) DespawnMob(ID.mob.TEMENOS_E_MOB[i]+2) @@ -1331,16 +1331,15 @@ function onTrigger(player, npc) GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+1):setStatus(dsp.status.DISAPPEAR) GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+2):setStatus(dsp.status.DISAPPEAR) GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+3):setStatus(dsp.status.DISAPPEAR) - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+6+i):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_E_GATE[i]):setAnimation(8) dsp.battlefield.HealPlayers(battlefield) + 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 elseif model == 961 then if mask > 7 and spawnMimic then - GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]):untargetable(true) - GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+1):untargetable(true) - GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+2):untargetable(true) - GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+3):untargetable(true) battlefield:setLocalVar("crateMaskF"..i, mask-8) battlefield:setLocalVar("mimicID", crateID) GetMobByID(ID.mob.TEMENOS_E_MOB[i]+4):setSpawn(X, Y, Z) @@ -1351,33 +1350,42 @@ function onTrigger(player, npc) GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+1):setStatus(dsp.status.DISAPPEAR) GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+2):setStatus(dsp.status.DISAPPEAR) GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+3):setStatus(dsp.status.DISAPPEAR) - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+6+i):setStatus(dsp.status.NORMAL) + GetNPCByID(ID.npc.TEMENOS_E_GATE[i]):setAnimation(8) limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) + 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 elseif model == 962 then GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]):setStatus(dsp.status.DISAPPEAR) GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+1):setStatus(dsp.status.DISAPPEAR) GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+2):setStatus(dsp.status.DISAPPEAR) GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+3):setStatus(dsp.status.DISAPPEAR) - player:messageSpecial(ID.text.GATE_OPEN) - player:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) - GetNPCByID(ID.npc.GATE_OFFSET+6+i):setStatus(dsp.status.NORMAL) - dsp.battlefield.ExtendTimeLimit(battlefield, 15, ID.text.TIME_EXTENDED) + GetNPCByID(ID.npc.TEMENOS_E_GATE[i]):setAnimation(8) + limbus.ExtendTimeLimit(battlefield, 15, 37) + 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 + else + hold = true + player:messageSpecial(ID.text.CANNOT_OPEN_CHEST) end end end - else + 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) - GetNPCByID(otherCrate):untargetable(true) - GetNPCByID(crateID):setStatus(dsp.status.DISAPPEAR) battlefield:setLocalVar("otherCrate", otherCrate) else GetNPCByID(otherCrate):setStatus(dsp.status.DISAPPEAR) @@ -1385,62 +1393,67 @@ function onTrigger(player, npc) battlefield:setLocalVar("cutsceneTimer", 10) battlefield:setLocalVar("lootSeen", 1) end + else + player:messageSpecial(ID.text.CANNOT_OPEN_CHEST) end - end, - [1301] = function() -- Temenos Central Basement Crate Handling - limbus.handleLootRolls(battlefield, loot[bfid], nil, npc) - battlefield:setLocalVar("cutsceneTimer", 10) - battlefield:setLocalVar("lootSeen", 1) - end, - [1303] = function() -- Temenos Central F1 Crate Handling - limbus.handleLootRolls(battlefield, loot[bfid], nil, npc) - battlefield:setLocalVar("cutsceneTimer", 10) - battlefield:setLocalVar("lootSeen", 1) - end, - [1304] = function() -- Temenos Central F2 Crate Handling - limbus.handleLootRolls(battlefield, loot[bfid], nil, npc) - battlefield:setLocalVar("cutsceneTimer", 10) - battlefield:setLocalVar("lootSeen", 1) - end, - [1305] = function() -- Temenos Central F3 Crate Handling - 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 - 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 - GetNPCByID(i):setStatus(dsp.status.DISAPPEAR) - end - end + end + end, + [1301] = function() -- Temenos Central Basement Crate Handling + limbus.handleLootRolls(battlefield, loot[bfid], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + end, + [1303] = function() -- Temenos Central F1 Crate Handling + limbus.handleLootRolls(battlefield, loot[bfid], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + end, + [1304] = function() -- Temenos Central F2 Crate Handling + limbus.handleLootRolls(battlefield, loot[bfid], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + end, + [1305] = function() -- Temenos Central F3 Crate Handling + 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 - limbus.handleLootRolls(battlefield, loot[bfid][1], nil, npc) - battlefield:setLocalVar("cutsceneTimer", 10) - battlefield:setLocalVar("lootSeen", 1) + limbus.handleLootRolls(battlefield, loot[bfid][2], nil, npc) end - end, - } - npc:setStatus(dsp.status.DISAPPEAR) + 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 + GetNPCByID(i):setStatus(dsp.status.DISAPPEAR) + end + end + else + limbus.handleLootRolls(battlefield, loot[bfid][1], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) + end + end, + } + if not hold then + npc:setStatus(dsp.status.DISAPPEAR) + end end function onEventUpdate(player, csid, option) diff --git a/scripts/zones/Temenos/npcs/Matter_Diffusion_Module.lua b/scripts/zones/Temenos/npcs/Matter_Diffusion_Module.lua index d7ca8be87f6..abacf08c88b 100644 --- a/scripts/zones/Temenos/npcs/Matter_Diffusion_Module.lua +++ b/scripts/zones/Temenos/npcs/Matter_Diffusion_Module.lua @@ -10,7 +10,7 @@ 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+1) + player:messageSpecial(ID.text.NO_KEY) end end diff --git a/sql/bcnm_battlefield.sql b/sql/bcnm_battlefield.sql index 75874875659..332987c1b24 100644 --- a/sql/bcnm_battlefield.sql +++ b/sql/bcnm_battlefield.sql @@ -1413,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 @@ -1426,12 +1427,15 @@ 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,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 @@ -1534,6 +1538,8 @@ 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 diff --git a/sql/mob_groups.sql b/sql/mob_groups.sql index bd0d5f9c38b..f5be7356a01 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,24 +1265,24 @@ 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 (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,2043,37,'Ice_Elemental',0,128,2859,8000,3000,75,80,0); +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,71,37,'Air_Elemental',0,128,2859,8000,3000,75,80,0); +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,1160,37,'Earth_Elemental',0,128,2859,8000,3000,75,80,0); +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,3912,37,'Thunder_Elemental',0,128,2859,8000,3000,75,80,0); +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,4309,37,'Water_Elemental',0,128,2859,8000,3000,75,80,0); +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,913,37,'Dark_Elemental',0,128,0,10000,3000,75,80,0); +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); @@ -1292,7 +1292,7 @@ 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,6124,37,'Mystic_Avatar',0,128,0,15000,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); @@ -1328,25 +1328,39 @@ INSERT INTO `mob_groups` VALUES (85,6098,37,'Yagudo_Knight_Templar',0,128,2861,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,6099,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 (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) @@ -1362,14 +1376,14 @@ INSERT INTO `mob_groups` VALUES (7,209,38,'Arboricole_Beetle',0,128,2860,6000,50 INSERT INTO `mob_groups` VALUES (8,210,38,'Arboricole_Crawler',0,128,2860,6000,0,75,80,0); INSERT INTO `mob_groups` VALUES (9,201,38,'Apollyon_Sapling',0,128,2860,6000,500,75,80,0); 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,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 (11,6139,38,'Air_Elemental',0,128,2861,8000,2000,75,80,0); +INSERT INTO `mob_groups` VALUES (12,6143,38,'Dark_Elemental',0,128,2861,8000,2000,75,80,0); +INSERT INTO `mob_groups` VALUES (13,6140,38,'Earth_Elemental',0,128,2861,8000,2000,75,80,0); +INSERT INTO `mob_groups` VALUES (14,6137,38,'Fire_Elemental',0,128,2861,8000,2000,75,80,0); +INSERT INTO `mob_groups` VALUES (15,6138,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,2000,75,80,0); +INSERT INTO `mob_groups` VALUES (17,6142,38,'Water_Elemental',0,128,2861,8000,2000,75,80,0); +INSERT INTO `mob_groups` VALUES (18,6141,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); @@ -1413,7 +1427,7 @@ 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,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); @@ -1422,7 +1436,7 @@ INSERT INTO `mob_groups` VALUES (67,3758,38,'Star_Sapphire_Quadav',0,128,2863,10 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,6098,38,'Yagudo_Knight_Templar',0,128,2863,10000,0,75,80,0); diff --git a/sql/mob_pets.sql b/sql/mob_pets.sql index 64d0ebf79e7..940a74906eb 100644 --- a/sql/mob_pets.sql +++ b/sql/mob_pets.sql @@ -1130,6 +1130,7 @@ 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 (16929055, 1, 14); -- Aern_s_Wynav diff --git a/sql/mob_pools.sql b/sql/mob_pools.sql index 6c84b304ffb..b4c32e2a6d1 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,0,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); @@ -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,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,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,4,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,0,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,0,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,0,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,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,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,8,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,1155,1,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); @@ -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,32,0,159,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,0,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); @@ -903,16 +903,16 @@ INSERT INTO `mob_pools` VALUES (842,'Crocodile_Mercenary','Crocodile_Mercenary', 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,0,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,0,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,0,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,0,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); @@ -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,0x0000540200000000000000000000000000000000,15,15,6,240,100,0,1,1,1,2,0,32,0,159,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,0,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,1157,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,8,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,16,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,0,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); @@ -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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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); @@ -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,0,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,0,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,0,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,0,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,0,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,0,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,0,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); @@ -2209,7 +2209,7 @@ INSERT INTO `mob_pools` VALUES (2148,'Jeunoraider_Gepkzip','Jeunoraider_Gepkzip' 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,0,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,32,0,157,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,0,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); @@ -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,0,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,0,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,8,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,0,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,0,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,0,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,0,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,32,0,159,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,0,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,0,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,32,0,159,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,0,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); @@ -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,0x0000110500000000000000000000000000000000,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,0,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,0,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); @@ -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,131,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,0,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,129,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,133,5,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,0x0600900400000000000000000000000000000000,1,1,7,220,100,0,1,1,0,0,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,0,0,2,0,0,135,645,8,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,0,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,0,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,0,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,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,16,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,1,1,1,16,0,0,0,133,5,0,4,1,0,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,0,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,0,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); @@ -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,0,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,0,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,0,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,0,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,0,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,0,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,643,8,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,0,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); @@ -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,0,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,0x0000EF0400000000000000000000000000000000,1,1,5,265,100,0,1,1,1,2,7,0,1243,133,0,0,0,1,0,25); -INSERT INTO `mob_pools` VALUES (6079,'Praetorian_Guard_CXLVIII','Praetorian_Guard_CXLVIII',25,0x0000FC0400000000000000000000000000000000,11,11,2,265,100,0,1,1,1,2,7,0,185,133,0,0,0,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,2,7,0,291,133,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,0,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,0,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,0,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,13 +6137,13 @@ 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,0,1,0,0,0,0,131,0,0,3,1,0,202); -- Limbus -INSERT INTO `mob_pools` VALUES (6098,'Yagudo_Knight_Templar','Yagudo_Knight_Templar',270,0x0000570200000000000000000000000000000000,12,12,10,240,100,0,1,0,1,0,0,0,0,131,0,0,0,1,0,270); -- Limbus -INSERT INTO `mob_pools` VALUES (6099,'Yagudo_Eradicator','Yagudo_Eradicator',270,0x0000590200000000000000000000000000000000,13,13,2,240,100,0,1,0,1,0,0,0,7,131,0,0,7,1,0,270); -- Limbus -INSERT INTO `mob_pools` VALUES (6100,'Temenos_Euvhi','Temenos_Euvhi',109,0x00000E0200000000000000000000000000000000,1,1,11,240,100,0,1,1,0,0,0,0,0,131,5,0,0,1,0,109); -INSERT INTO `mob_pools` VALUES (6101,'Thalesek','Thalesek',109,0x00000E0200000000000000000000000000000000,1,1,11,240,100,0,1,1,0,0,0,32,0,157,6,0,0,1,0,109); -INSERT INTO `mob_pools` VALUES (6102,'Pyrrha','Pyrrha',123,0x06008D0400000000000000000000000000000000,1,1,7,220,100,0,1,1,0,0,0,34,0,669,13,0,0,1,0,123); -INSERT INTO `mob_pools` VALUES (6103,'Arch-Ultima','Arch-Ultima',54,0x0000340400000000000000000000000000000000,1,7,6,240,100,0,1,1,0,2,113,32,7,1181,8,0,103,1,0,729); +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,0,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,0,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,0,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,0,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,0,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,0,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,0,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 @@ -6165,15 +6165,50 @@ INSERT INTO `mob_pools` VALUES (6120,'Mystic_Avatar','Mystic_Avatar',321,0x00001 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,0,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,0,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,0,325); -- fenrir -INSERT INTO `mob_pools` VALUES (6124,'Mystic_Avatar','Mystic_Avatar',34,0x0000170300000000000000000000000000000000,4,4,7,240,100,0,1,1,0,2,0,0,0,131,0,0,0,1,0,34); -- carbuncle -INSERT INTO `mob_pools` VALUES (6125,'Fir_Bholg','Fir_Bholg',115,0x0500FE0300000000000000000000000000000000,6,6,4,240,100,0,1,1,1,2,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,2,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,2,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,2,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,2,0,0,507,131,0,0,2,1,0,115); -- BLM taru +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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,100); /* `poolid` int(10) unsigned NOT NULL, diff --git a/sql/mob_spawn_points.sql b/sql/mob_spawn_points.sql index 6c6bfe1cc4e..77a63cd3046 100644 --- a/sql/mob_spawn_points.sql +++ b/sql/mob_spawn_points.sql @@ -7828,30 +7828,30 @@ INSERT INTO `mob_spawn_points` VALUES (16924729,'Ultima','Ultima',0,0,0,0,0); -- ------------------------------------------------------------ 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,387.308,73.500,420.212,163); +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,344.000,68.000,460.000,128); -INSERT INTO `mob_spawn_points` VALUES (16928776,'Moblin_Dustman','Moblin Dustman',2,374.128,73.500,414.152,54); -INSERT INTO `mob_spawn_points` VALUES (16928777,'Moblin_Dustman','Moblin Dustman',2,375.556,73.500,411.919,40); +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,50.000,80.000,419.500,0); +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,14.480,80.000,420.500,0); +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,-139.670,-80.000,427.000,0); -INSERT INTO `mob_spawn_points` VALUES (16928803,'Kindred_Black_Mage','Kindred Black Mage',17,-137.360,-80.000,430.000,0); -INSERT INTO `mob_spawn_points` VALUES (16928804,'Kindred_Black_Mage','Kindred Black Mage',17,-102.220,-80.000,410.000,128); -INSERT INTO `mob_spawn_points` VALUES (16928805,'Kindred_Black_Mage','Kindred Black Mage',17,-102.640,-80.000,413.000,128); +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); @@ -7875,30 +7875,30 @@ INSERT INTO `mob_spawn_points` VALUES (16928832,'Goblin_Fencer','Goblin Fencer', 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,373.138,-0.500,137.551,77); +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.880,64); +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,5.500,152.000,0); -INSERT INTO `mob_spawn_points` VALUES (16928859,'Air_Elemental','Air Elemental',35,20.000,6.000,145.360,64); -INSERT INTO `mob_spawn_points` VALUES (16928860,'Air_Elemental','Air Elemental',35,60.000,5.500,152.000,0); -INSERT INTO `mob_spawn_points` VALUES (16928861,'Air_Elemental','Air Elemental',35,60.000,6.000,146.360,192); -INSERT INTO `mob_spawn_points` VALUES (16928862,'Mystic_Avatar','Mystic Avatar',36,22.520,5.500,141.250,126); +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,141.720,64); +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,147.520,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); @@ -7910,11 +7910,11 @@ INSERT INTO `mob_spawn_points` VALUES (16928893,'Dark_Elemental','Dark Elemental 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); -- Western 1st 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,198.000,-81.000,-86.000,64); @@ -7923,30 +7923,30 @@ INSERT INTO `mob_spawn_points` VALUES (16928912,'Enhanced_Mandragora','Enhanced 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,230.680,-80.000,-140.000,128); -INSERT INTO `mob_spawn_points` VALUES (16928917,'Enhanced_Mandragora','Enhanced Mandragora',46,231.600,-80.000,-140.000,128); -INSERT INTO `mob_spawn_points` VALUES (16928918,'Enhanced_Mandragora','Enhanced Mandragora',46,232.560,-80.000,-140.000,128); +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,-121.360,-80.000,-150.500,0); -INSERT INTO `mob_spawn_points` VALUES (16928932,'Enhanced_Lizard','Enhanced Lizard',48,-135.200,-80.000,-147.000,0); -INSERT INTO `mob_spawn_points` VALUES (16928933,'Enhanced_Lizard','Enhanced Lizard',48,-106.920,-80.000,-147.000,128); -INSERT INTO `mob_spawn_points` VALUES (16928934,'Enhanced_Lizard','Enhanced Lizard',48,-118.600,-80.000,-142.000,128); -INSERT INTO `mob_spawn_points` VALUES (16928935,'Enhanced_Lizard','Enhanced Lizard',48,-121.360,-80.000,-138.000,0); -INSERT INTO `mob_spawn_points` VALUES (16928936,'Enhanced_Lizard','Enhanced Lizard',48,-126.960,-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,-130.760,-80.000,-129.500,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,80.000,-147.320,64); +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,80.000,-144.840,192); +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); @@ -8023,41 +8023,41 @@ INSERT INTO `mob_spawn_points` VALUES (16929048,'Iruci','Iruci',91,220.000,-160. 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',95,622.000,-6.500,-530.000,192); -INSERT INTO `mob_spawn_points` VALUES (16929054,'Temenos_Aern','Temenos Aern',95,618.000,-6.500,-530.000,192); -INSERT INTO `mob_spawn_points` VALUES (16929055,'Temenos_Aern','Temenos Aern',95,498.000,-6.500,-530.000,192); +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',95,502.000,-6.500,-530.000,192); -INSERT INTO `mob_spawn_points` VALUES (16929058,'Temenos_Aern','Temenos Aern',95,572.000,-0.500,-500.000,0); +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',95,568.000,-0.500,-500.000,0); -INSERT INTO `mob_spawn_points` VALUES (16929061,'Temenos_Aern','Temenos Aern',95,548.000,-0.500,-500.000,128); -INSERT INTO `mob_spawn_points` VALUES (16929062,'Temenos_Aern','Temenos Aern',95,552.000,-0.500,-500.000,128); -INSERT INTO `mob_spawn_points` VALUES (16929063,'Temenos_Aern','Temenos Aern',95,630.000,-0.500,-462.000,128); -INSERT INTO `mob_spawn_points` VALUES (16929064,'Temenos_Aern','Temenos Aern',95,630.000,-0.500,-458.000,128); -INSERT INTO `mob_spawn_points` VALUES (16929065,'Temenos_Aern','Temenos Aern',95,490.000,-0.500,-462.000,0); -INSERT INTO `mob_spawn_points` VALUES (16929066,'Temenos_Aern','Temenos Aern',95,490.000,-0.500,-458.000,0); +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',95,630.000,1.500,-410.000,96); +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',95,626.000,1.500,-410.000,96); -INSERT INTO `mob_spawn_points` VALUES (16929072,'Temenos_Aern','Temenos Aern',95,630.000,1.500,-414.000,96); -INSERT INTO `mob_spawn_points` VALUES (16929073,'Temenos_Aern','Temenos Aern',95,490.000,1.500,-410.000,32); +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',95,494.000,1.500,-410.000,32); -INSERT INTO `mob_spawn_points` VALUES (16929076,'Temenos_Aern','Temenos Aern',95,490.000,1.500,-414.000,32); +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',95,562.000,-0.500,-462.000,32); -INSERT INTO `mob_spawn_points` VALUES (16929079,'Temenos_Aern','Temenos Aern',95,558.000,-0.500,-462.000,96); +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',95,558.000,-0.500,-458.000,160); -INSERT INTO `mob_spawn_points` VALUES (16929083,'Temenos_Aern','Temenos Aern',95,560.000,4.500,-400.000,64); -INSERT INTO `mob_spawn_points` VALUES (16929084,'Temenos_Aern','Temenos Aern',95,560.000,4.500,-396.000,192); -INSERT INTO `mob_spawn_points` VALUES (16929085,'Temenos_Aern','Temenos Aern',95,564.000,4.500,-400.000,0); -INSERT INTO `mob_spawn_points` VALUES (16929086,'Temenos_Aern','Temenos Aern',95,560.000,4.500,-404.000,64); -INSERT INTO `mob_spawn_points` VALUES (16929087,'Temenos_Aern','Temenos Aern',95,556.000,4.500,-400.000,128); +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); diff --git a/sql/npc_list.sql b/sql/npc_list.sql index ac9946b030e..aa326841503 100644 --- a/sql/npc_list.sql +++ b/sql/npc_list.sql @@ -2953,7 +2953,7 @@ INSERT INTO `npc_list` VALUES (16928985,'Armoury_Crate','Armoury Crate',128,-528 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,-0.500,-460.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); @@ -2970,33 +2970,59 @@ INSERT INTO `npc_list` VALUES (16929193,'Matter_Diffusion_Module','Matter Diffus 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 (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 (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); diff --git a/sql/zone_settings.sql b/sql/zone_settings.sql index bf0fe234eb0..98108cfea03 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,4,'127.0.0.1',54230,'Temenos',0,0,218,219,0,0.00,144); +INSERT INTO `zone_settings` VALUES (38,4,'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; From 61e18ab7ecfd6ca14e8d19e12b483666860c3eb1 Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Mon, 18 Nov 2019 16:58:07 -0500 Subject: [PATCH 22/33] Include and expand offset function --- scripts/globals/bcnm.lua | 52 ++++++++++--------- scripts/zones/Apollyon/IDs.lua | 2 +- .../zones/Apollyon/npcs/Swirling_Vortex.lua | 12 ++--- scripts/zones/LaLoff_Amphitheater/IDs.lua | 2 +- 4 files changed, 35 insertions(+), 33 deletions(-) diff --git a/scripts/globals/bcnm.lua b/scripts/globals/bcnm.lua index 04a5d329f4b..e5eae925394 100644 --- a/scripts/globals/bcnm.lua +++ b/scripts/globals/bcnm.lua @@ -459,10 +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 swirlingVortex = zones[dsp.zone.APOLLYON].npc.SWIRLING_VORTEX - - 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 @@ -498,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 @@ -578,14 +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) and npcid == swirlingVortex + 0 ) end, -- NW Apollyon - [1291] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.RED_CARD) and npcid == swirlingVortex + 0 ) end, -- SW Apollyon - [1292] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == swirlingVortex + 1 ) end, -- NE Apollyon - [1293] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == swirlingVortex + 1 ) end, -- SE Apollyon - [1294] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and ((player:hasKeyItem(dsp.ki.RED_CARD) and npcid == swirlingVortex + 0) - or (player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == swirlingVortex + 1 )) ) end, -- CS Apollyon - [1296] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and ((player:hasKeyItem(dsp.ki.RED_CARD) and npcid == swirlingVortex + 0) - or (player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == swirlingVortex + 1 )) ) 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 @@ -601,14 +600,14 @@ function checkReqs(player, npc, bfid, registrant) { [ 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 == swirlingVortex + 0 ) end, -- NW Apollyon - [1291] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.RED_CARD) and npcid == swirlingVortex + 0 ) end, -- SW Apollyon - [1292] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == swirlingVortex + 1 ) end, -- NE Apollyon - [1293] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == swirlingVortex + 1 ) end, -- SE Apollyon - [1294] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and ((player:hasKeyItem(dsp.ki.RED_CARD) and npcid == swirlingVortex + 0) - or (player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == swirlingVortex + 1 )) ) end, -- CS Apollyon - [1296] = function() return ( player:hasKeyItem(dsp.ki.COSMOCLEANSE) and ((player:hasKeyItem(dsp.ki.RED_CARD) and npcid == swirlingVortex + 0) - or (player:hasKeyItem(dsp.ki.BLACK_CARD) and npcid == swirlingVortex + 1 )) ) 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 @@ -987,8 +986,11 @@ function EventFinishBCNM(player, csid, option) local bfid = stat:getPower() local item = getItemById(player, bfid) if item ~= 0 then + -- 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) end diff --git a/scripts/zones/Apollyon/IDs.lua b/scripts/zones/Apollyon/IDs.lua index 50ecbaf4543..9bf135e5f07 100644 --- a/scripts/zones/Apollyon/IDs.lua +++ b/scripts/zones/Apollyon/IDs.lua @@ -67,7 +67,7 @@ zones[dsp.zone.APOLLYON] = }, npc = { - SWIRLING_VORTEX = 16933218, + ENTRANCE_OFFSET = 16933218, APOLLYON_SW_CRATE = { 16932865, diff --git a/scripts/zones/Apollyon/npcs/Swirling_Vortex.lua b/scripts/zones/Apollyon/npcs/Swirling_Vortex.lua index 03dd1bcecb2..1664071da62 100644 --- a/scripts/zones/Apollyon/npcs/Swirling_Vortex.lua +++ b/scripts/zones/Apollyon/npcs/Swirling_Vortex.lua @@ -8,10 +8,10 @@ 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) and npc:getID() == ID.npc.SWIRLING_VORTEX) - or (player:hasKeyItem(dsp.ki.BLACK_CARD) and npc:getID() == ID.npc.SWIRLING_VORTEX+1)) + ((player:hasKeyItem(dsp.ki.RED_CARD) and npc:getID() == ID.npc.ENTRANCE_OFFSET) + or (player:hasKeyItem(dsp.ki.BLACK_CARD) and npc:getID() == ID.npc.ENTRANCE_OFFSET+1)) then - if npc:getID() == ID.npc.SWIRLING_VORTEX+1 then + if npc:getID() == ID.npc.ENTRANCE_OFFSET+1 then player:setCharVar("ApollyonEntrance", 1) else player:setCharVar("ApollyonEntrance", 0) @@ -24,10 +24,10 @@ end function onTrigger(player, npc) if player:hasKeyItem(dsp.ki.COSMOCLEANSE) and - ((player:hasKeyItem(dsp.ki.RED_CARD) and npc:getID() == ID.npc.SWIRLING_VORTEX) - or (player:hasKeyItem(dsp.ki.BLACK_CARD) and npc:getID() == ID.npc.SWIRLING_VORTEX+1)) + ((player:hasKeyItem(dsp.ki.RED_CARD) and npc:getID() == ID.npc.ENTRANCE_OFFSET) + or (player:hasKeyItem(dsp.ki.BLACK_CARD) and npc:getID() == ID.npc.ENTRANCE_OFFSET+1)) then - if npc:getID() == ID.npc.SWIRLING_VORTEX+1 then + if npc:getID() == ID.npc.ENTRANCE_OFFSET+1 then player:setCharVar("ApollyonEntrance", 1) else player:setCharVar("ApollyonEntrance", 0) 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 }, } From 996185f77a4a9d4677ed5a9b0b183d44008bc3e3 Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Fri, 22 Nov 2019 00:56:18 -0500 Subject: [PATCH 23/33] Prevent Limbus mobs from auto linking/superlinking. Fix chest auto spawning in SW Apollyon. --- scripts/globals/mobskills/pod_ejection.lua | 2 -- scripts/zones/Apollyon/bcnms/sw_apollyon.lua | 1 + scripts/zones/Apollyon/mobs/Gunpod.lua | 6 ------ scripts/zones/Apollyon/mobs/Proto-Omega.lua | 3 +-- src/map/utils/mobutils.cpp | 5 +++-- src/map/zone_entities.cpp | 4 +++- 6 files changed, 8 insertions(+), 13 deletions(-) diff --git a/scripts/globals/mobskills/pod_ejection.lua b/scripts/globals/mobskills/pod_ejection.lua index 964415f65eb..aeca7d6045c 100644 --- a/scripts/globals/mobskills/pod_ejection.lua +++ b/scripts/globals/mobskills/pod_ejection.lua @@ -16,13 +16,11 @@ function onMobWeaponSkill(target, mob, skill) local battlefield = mob:getBattlefield() local pod = GetMobByID(mob:getID() + 1) if battlefield and not pod:isSpawned() then - local pod = GetMobByID(mob:getID() + 1) local players = battlefield:getPlayers() local random = math.random(1, #players) local X = mob:getXPos() local Y = mob:getYPos() local Z = mob:getZPos() - mob:getBattlefield():setLocalVar("podReady", 0) pod:spawn() pod:setPos(X,Y,Z) pod:updateEnmity(players[random]) diff --git a/scripts/zones/Apollyon/bcnms/sw_apollyon.lua b/scripts/zones/Apollyon/bcnms/sw_apollyon.lua index d571d2e5721..f9cde4141c5 100644 --- a/scripts/zones/Apollyon/bcnms/sw_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/sw_apollyon.lua @@ -9,6 +9,7 @@ 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) local random = math.random(0, 7) battlefield:setLocalVar("timePH", ID.npc.APOLLYON_SW_CRATE[3]+random) diff --git a/scripts/zones/Apollyon/mobs/Gunpod.lua b/scripts/zones/Apollyon/mobs/Gunpod.lua index bb12cbf1d77..2c24740e559 100644 --- a/scripts/zones/Apollyon/mobs/Gunpod.lua +++ b/scripts/zones/Apollyon/mobs/Gunpod.lua @@ -100,9 +100,3 @@ function onMobDeath(mob, player, isKiller) end end end - -function onMobDespawn(mob) - if mob:getBattlefield() then - mob:getBattlefield():setLocalVar("podReady", 1) - end -end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Proto-Omega.lua b/scripts/zones/Apollyon/mobs/Proto-Omega.lua index b15f11d7893..a3d548433f3 100644 --- a/scripts/zones/Apollyon/mobs/Proto-Omega.lua +++ b/scripts/zones/Apollyon/mobs/Proto-Omega.lua @@ -27,7 +27,6 @@ function onMobFight(mob, target) local formTime = mob:getLocalVar("formWait") local lifePercent = mob:getHPP() local currentForm = mob:getLocalVar("form") - local podReady = mob:getBattlefield():getLocalVar("podReady") if lifePercent < 70 and currentForm < 1 then currentForm = 1 @@ -44,7 +43,7 @@ function onMobFight(mob, target) if mob:AnimationSub() == 1 then mob:AnimationSub(2) mob:setBehaviour(bit.band(mob:getBehaviour(), bit.bnot(dsp.behavior.NO_TURN))) - if podReady == 1 and math.random(0,1) == 1 then + if not pod:isSpawned() and math.random(0,1) == 1 then mob:useMobAbility(1532) end else diff --git a/src/map/utils/mobutils.cpp b/src/map/utils/mobutils.cpp index 3d2dda3c4ff..ac4505b45d9 100644 --- a/src/map/utils/mobutils.cpp +++ b/src/map/utils/mobutils.cpp @@ -821,11 +821,12 @@ void SetupBattlefieldMob(CMobEntity* PMob) PMob->m_roamFlags |= ROAMFLAG_EVENT; PMob->m_maxRoamDistance = 0.5f; - if((PMob->m_bcnmID != 864) && (PMob->m_bcnmID != 704) && (PMob->m_bcnmID != 706)) + if(PMob->m_bcnmID != 864 && PMob->m_bcnmID != 704 && PMob->m_bcnmID != 706 + && PMob->loc.zone->GetRegionID() != REGION_LIMBUS) { // bcnmID 864 (desires of emptiness), 704 (darkness named), and 706 (waking dreams) don't superlink + // Limbus mobs don't superlink // force all mobs in same instance to superlink - // plus one in case id is zero PMob->setMobMod(MOBMOD_SUPERLINK, PMob->m_battlefieldID); } diff --git a/src/map/zone_entities.cpp b/src/map/zone_entities.cpp index 97e4b845a1c..8005839dfee 100644 --- a/src/map/zone_entities.cpp +++ b/src/map/zone_entities.cpp @@ -173,7 +173,9 @@ void CZoneEntities::FindPartyForMob(CBaseEntity* PEntity) // force all mobs in a burning circle to link ZONETYPE zonetype = m_zone->GetType(); - bool forceLink = zonetype == ZONETYPE_BATTLEFIELD || zonetype == ZONETYPE_DYNAMIS || PMob->getMobMod(MOBMOD_SUPERLINK); + REGIONTYPE regiontype = m_zone->GetRegionID(); + bool forceLink = (zonetype == ZONETYPE_BATTLEFIELD || zonetype == ZONETYPE_DYNAMIS || PMob->getMobMod(MOBMOD_SUPERLINK)) + && regiontype != REGION_LIMBUS; if ((forceLink || PMob->m_Link) && PMob->PParty == nullptr) { From e0ff6f81256e181324de29545ce5c6a170582bce Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Mon, 9 Dec 2019 08:48:02 -0500 Subject: [PATCH 24/33] Make Limbus zonetype. Adjust Temenos West crate spawn mechanics. --- scripts/globals/limbus.lua | 117 +++++++++--------- .../zones/Temenos/mobs/Enhanced_Beetle.lua | 13 +- .../zones/Temenos/mobs/Enhanced_Lizard.lua | 13 +- .../Temenos/mobs/Enhanced_Mandragora.lua | 13 +- scripts/zones/Temenos/mobs/Enhanced_Pugil.lua | 13 +- scripts/zones/Temenos/mobs/Enhanced_Slime.lua | 13 +- scripts/zones/Temenos/mobs/Enhanced_Tiger.lua | 13 +- sql/zone_settings.sql | 4 +- src/map/utils/mobutils.cpp | 29 ++++- src/map/utils/mobutils.h | 1 + src/map/zone.h | 3 +- src/map/zone_entities.cpp | 4 +- 12 files changed, 130 insertions(+), 106 deletions(-) diff --git a/scripts/globals/limbus.lua b/scripts/globals/limbus.lua index e16d406bbdb..810838bcab5 100644 --- a/scripts/globals/limbus.lua +++ b/scripts/globals/limbus.lua @@ -19,10 +19,18 @@ function limbus.enter(player, entrance) end function limbus.hideArmouryCrates(bfid, show) + 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 + ID = zones[dsp.zone.TEMENOS] + end + switch (bfid): caseof { [1290] = function() -- NW_Apollyon - local ID = zones[dsp.zone.APOLLYON] for i = 1, 4 do GetNPCByID(ID.npc.APOLLYON_NW_CRATE[i][1]):setStatus(dsp.status.DISAPPEAR) for j = 2, 5 do @@ -32,7 +40,6 @@ function limbus.hideArmouryCrates(bfid, show) GetNPCByID(ID.npc.APOLLYON_NW_CRATE[5]):setStatus(dsp.status.DISAPPEAR) end, [1291] = function() -- SW_Apollyon - local ID = zones[dsp.zone.APOLLYON] for i = 1, 2 do for j = 0, 2 do GetNPCByID(ID.npc.APOLLYON_SW_CRATE[i]+j):setStatus(dsp.status.DISAPPEAR) @@ -45,7 +52,6 @@ function limbus.hideArmouryCrates(bfid, show) GetNPCByID(ID.npc.APOLLYON_SW_CRATE[4]):setStatus(dsp.status.DISAPPEAR) end, [1292] = function() -- NE_Apollyon - local ID = zones[dsp.zone.APOLLYON] for i = 1, 4 do GetNPCByID(ID.npc.APOLLYON_NE_CRATE[i][1]):setStatus(dsp.status.DISAPPEAR) for j = 2, 5 do @@ -55,7 +61,6 @@ function limbus.hideArmouryCrates(bfid, show) GetNPCByID(ID.npc.APOLLYON_NE_CRATE[5]):setStatus(dsp.status.DISAPPEAR) end, [1293] = function() -- SE_Apollyon - local ID = zones[dsp.zone.APOLLYON] for i = 1, 3 do for j = 0, 2 do GetNPCByID(ID.npc.APOLLYON_SE_CRATE[i]+j):setStatus(dsp.status.DISAPPEAR) @@ -65,17 +70,14 @@ function limbus.hideArmouryCrates(bfid, show) GetNPCByID(ID.npc.APOLLYON_SE_CRATE[4]):setStatus(dsp.status.DISAPPEAR) end, [1294] = function() -- CS_Apollyon - local ID = zones[dsp.zone.APOLLYON] for i = 0, 2 do GetNPCByID(ID.npc.APOLLYON_CS_CRATE+i):setStatus(dsp.status.DISAPPEAR) end end, [1296] = function() -- Central_Apollyon - local ID = zones[dsp.zone.APOLLYON] GetNPCByID(ID.npc.APOLLYON_CENTRAL_CRATE):setStatus(dsp.status.DISAPPEAR) end, [1298] = function() -- Temenos_Western_Tower - local ID = zones[dsp.zone.TEMENOS] 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) @@ -84,7 +86,6 @@ function limbus.hideArmouryCrates(bfid, show) GetNPCByID(ID.npc.TEMENOS_W_CRATE[7]):setStatus(dsp.status.DISAPPEAR) end, [1299] = function() -- Temenos_Northern_Tower - local ID = zones[dsp.zone.TEMENOS] 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) @@ -93,7 +94,6 @@ function limbus.hideArmouryCrates(bfid, show) GetNPCByID(ID.npc.TEMENOS_N_CRATE[7]):setStatus(dsp.status.DISAPPEAR) end, [1300] = function() -- Temenos_Eastern_Tower - local ID = zones[dsp.zone.TEMENOS] 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) @@ -103,23 +103,18 @@ function limbus.hideArmouryCrates(bfid, show) GetNPCByID(ID.npc.TEMENOS_E_CRATE[7]+1):setStatus(dsp.status.DISAPPEAR) end, [1301] = function() -- Central_Temenos_Basement - local ID = zones[dsp.zone.TEMENOS] GetNPCByID(ID.npc.TEMENOS_C_CRATE[5]):setStatus(dsp.status.DISAPPEAR) end, [1303] = function() -- Central_Temenos_1st_Floor - local ID = zones[dsp.zone.TEMENOS] GetNPCByID(ID.npc.TEMENOS_C_CRATE[1]):setStatus(dsp.status.DISAPPEAR) end, [1304] = function() -- Central_Temenos_2nd_Floor - local ID = zones[dsp.zone.TEMENOS] GetNPCByID(ID.npc.TEMENOS_C_CRATE[2]):setStatus(dsp.status.DISAPPEAR) end, [1305] = function() -- Central_Temenos_3rd_Floor - local ID = zones[dsp.zone.TEMENOS] GetNPCByID(ID.npc.TEMENOS_C_CRATE[3]):setStatus(dsp.status.DISAPPEAR) end, [1306] = function() -- Central_Temenos_4th_Floor - local ID = zones[dsp.zone.TEMENOS] 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 show then @@ -132,59 +127,30 @@ function limbus.hideArmouryCrates(bfid, show) } end -function limbus.hideTemenosDoors(bfid, open) - local animation = 9 - if open then animation = 8 end - local ID = zones[dsp.zone.TEMENOS] - if bfid == 1299 then -- Temenos_Northern_Tower - for i = 1, 7 do - GetNPCByID(ID.npc.TEMENOS_N_GATE[i]):setAnimation(animation) - end - elseif bfid == 1300 then -- Temenos_Eastern_Tower - for i = 1, 7 do - GetNPCByID(ID.npc.TEMENOS_E_GATE[i]):setAnimation(animation) - end - elseif bfid == 1298 then -- Temenos_Western_Tower - for i = 1, 7 do - GetNPCByID(ID.npc.TEMENOS_W_GATE[i]):setAnimation(animation) - end - elseif bfid == 1303 then -- Central_Temenos_1st_Floor - GetNPCByID(ID.npc.TEMENOS_C_GATE[1]):setAnimation(animation) - elseif bfid == 1304 then -- Central_Temenos_2nd_Floor - GetNPCByID(ID.npc.TEMENOS_C_GATE[2]):setAnimation(animation) - elseif bfid == 1305 then -- Central_Temenos_3rd_Floor - GetNPCByID(ID.npc.TEMENOS_C_GATE[3]):setAnimation(animation) - elseif bfid == 1306 then -- Central_Temenos_4th_Floor - GetNPCByID(ID.npc.TEMENOS_C_GATE[4]):setAnimation(animation) - elseif bfid == 1301 then -- Central_Temenos_Basement - GetNPCByID(ID.npc.TEMENOS_C_GATE[5]):setAnimation(animation) - end -end - function limbus.handleLootRolls(battlefield, lootTable, players, npc) players = players or battlefield:getPlayers() - if npc then - npc:setAnimation(90) - end - 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 + if npc then + npc:setAnimation(90) + end + 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 limbus.ExtendTimeLimit(battlefield, minutes, zone) @@ -257,6 +223,35 @@ function limbus.elementalsDead() return daykill end +function limbus.hideTemenosDoors(bfid, open) + local animation = 9 + if open then animation = 8 end + local ID = zones[dsp.zone.TEMENOS] + if bfid == 1299 then -- Temenos_Northern_Tower + for i = 1, 7 do + GetNPCByID(ID.npc.TEMENOS_N_GATE[i]):setAnimation(animation) + end + elseif bfid == 1300 then -- Temenos_Eastern_Tower + for i = 1, 7 do + GetNPCByID(ID.npc.TEMENOS_E_GATE[i]):setAnimation(animation) + end + elseif bfid == 1298 then -- Temenos_Western_Tower + for i = 1, 7 do + GetNPCByID(ID.npc.TEMENOS_W_GATE[i]):setAnimation(animation) + end + elseif bfid == 1303 then -- Central_Temenos_1st_Floor + GetNPCByID(ID.npc.TEMENOS_C_GATE[1]):setAnimation(animation) + elseif bfid == 1304 then -- Central_Temenos_2nd_Floor + GetNPCByID(ID.npc.TEMENOS_C_GATE[2]):setAnimation(animation) + elseif bfid == 1305 then -- Central_Temenos_3rd_Floor + GetNPCByID(ID.npc.TEMENOS_C_GATE[3]):setAnimation(animation) + elseif bfid == 1306 then -- Central_Temenos_4th_Floor + GetNPCByID(ID.npc.TEMENOS_C_GATE[4]):setAnimation(animation) + elseif bfid == 1301 then -- Central_Temenos_Basement + GetNPCByID(ID.npc.TEMENOS_C_GATE[5]):setAnimation(animation) + end +end + function limbus.spawnRandomCrate(npc, player, var, mask, canMimic) local battlefield = player:getBattlefield() if mask < 8 then diff --git a/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua b/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua index 8759fa5807d..c818477d349 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua @@ -75,12 +75,13 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(ID.npc.TEMENOS_W_GATE[3]):setAnimation(8) end - for i = 0, 8 do - if spawn and mobID == ID.mob.TEMENOS_W_MOB[3]+i - and GetNPCByID(ID.npc.TEMENOS_W_CRATE[3]+(i%2)):getStatus() == dsp.status.DISAPPEAR - then - GetNPCByID(ID.npc.TEMENOS_W_CRATE[3]+(i%2)):setPos(mobX, mobY, mobZ) - limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[3]+(i%2), player, "crateMaskF3", battlefield:getLocalVar("crateMaskF3")) + if spawn then + 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) + limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[3]+i, player, "crateMaskF3", battlefield:getLocalVar("crateMaskF3")) + break + end end end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua b/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua index 72f8bd7a781..db66a37d1e1 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua @@ -96,12 +96,13 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(ID.npc.TEMENOS_W_GATE[4]):setAnimation(8) end - for i = 0, 8 do - if spawn and mobID == ID.mob.TEMENOS_W_MOB[4]+i - and GetNPCByID(ID.npc.TEMENOS_W_CRATE[4]+(i%3)):getStatus() == dsp.status.DISAPPEAR - then - GetNPCByID(ID.npc.TEMENOS_W_CRATE[4]+(i%3)):setPos(mobX, mobY, mobZ) - limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[4]+(i%3), player, "crateMaskF4", battlefield:getLocalVar("crateMaskF4")) + if spawn then + 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) + limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[4]+i, player, "crateMaskF4", battlefield:getLocalVar("crateMaskF4")) + break + end end end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua b/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua index a0001f0bbaa..b09d2886095 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua @@ -94,12 +94,13 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(ID.npc.TEMENOS_W_GATE[2]):setAnimation(8) end - for i = 0, 8 do - if spawn and mobID == ID.mob.TEMENOS_W_MOB[2]+i - and GetNPCByID(ID.npc.TEMENOS_W_CRATE[2]+(i%3)):getStatus() == dsp.status.DISAPPEAR - then - GetNPCByID(ID.npc.TEMENOS_W_CRATE[2]+(i%3)):setPos(mobX, mobY, mobZ) - limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[2]+(i%3), player, "crateMaskF2", battlefield:getLocalVar("crateMaskF2")) + if spawn then + 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) + limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[2]+i, player, "crateMaskF2", battlefield:getLocalVar("crateMaskF2")) + break + end end end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua b/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua index 149d9353ba8..6a8cc8dc929 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua @@ -26,12 +26,13 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(ID.npc.TEMENOS_W_GATE[6]):setAnimation(8) end - for i = 0, 8 do - if spawn and mobID == ID.mob.TEMENOS_W_MOB[6]+i - and GetNPCByID(ID.npc.TEMENOS_W_CRATE[6]+(i%2)):getStatus() == dsp.status.DISAPPEAR - then - GetNPCByID(ID.npc.TEMENOS_W_CRATE[6]+(i%2)):setPos(mobX, mobY, mobZ) - limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[6]+(i%2), player, "crateMaskF6", battlefield:getLocalVar("crateMaskF6")) + if spawn then + 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) + limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[6]+i, player, "crateMaskF6", battlefield:getLocalVar("crateMaskF6")) + break + end end end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Slime.lua b/scripts/zones/Temenos/mobs/Enhanced_Slime.lua index 54ab992f8e5..ae1d38a2efe 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Slime.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Slime.lua @@ -58,12 +58,13 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(ID.npc.TEMENOS_W_GATE[5]):setAnimation(8) end - for i = 0, 8 do - if spawn and mobID == ID.mob.TEMENOS_W_MOB[5]+i - and GetNPCByID(ID.npc.TEMENOS_W_CRATE[5]+(i%2)):getStatus() == dsp.status.DISAPPEAR - then - GetNPCByID(ID.npc.TEMENOS_W_CRATE[5]+(i%2)):setPos(mobX, mobY, mobZ) - limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[5]+(i%2), player, "crateMaskF5", battlefield:getLocalVar("crateMaskF5")) + if spawn then + 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) + limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[5]+i, player, "crateMaskF5", battlefield:getLocalVar("crateMaskF5")) + break + end end end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua b/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua index f337799f35e..5d2718a68e5 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua @@ -58,12 +58,13 @@ function onMobDeath(mob, player, isKiller) GetNPCByID(ID.npc.TEMENOS_W_GATE[1]):setAnimation(8) end - for i = 0, 8 do - if spawn and mobID == ID.mob.TEMENOS_W_MOB[1]+i - and GetNPCByID(ID.npc.TEMENOS_W_CRATE[1]+(i%3)):getStatus() == dsp.status.DISAPPEAR - then - GetNPCByID(ID.npc.TEMENOS_W_CRATE[1]+(i%3)):setPos(mobX, mobY, mobZ) - limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[1]+(i%3), player, "crateMaskF1", battlefield:getLocalVar("crateMaskF1")) + if spawn then + 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) + limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[1]+i, player, "crateMaskF1", battlefield:getLocalVar("crateMaskF1")) + break + end end end end diff --git a/sql/zone_settings.sql b/sql/zone_settings.sql index 98108cfea03..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,4,'127.0.0.1',54230,'Temenos',0,0,218,219,0,0.00,144); -INSERT INTO `zone_settings` VALUES (38,4,'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/utils/mobutils.cpp b/src/map/utils/mobutils.cpp index ac4505b45d9..50812905fee 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,26 @@ 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); + + // Battlefield mobs don't drop gil + PMob->setMobMod(MOBMOD_GIL_MAX, -1); + PMob->setMobMod(MOBMOD_MUG_GIL, -1); + + // never despawn + PMob->SetDespawnTime(0s); + // do not roam around + PMob->m_roamFlags |= ROAMFLAG_EVENT; + PMob->m_maxRoamDistance = 0.5f; + + PMob->setMobMod(MOBMOD_ALLI_HATE, 200); + +} + void SetupDynamisMob(CMobEntity* PMob) { // no gil drop and no mugging! @@ -821,12 +845,11 @@ void SetupBattlefieldMob(CMobEntity* PMob) PMob->m_roamFlags |= ROAMFLAG_EVENT; PMob->m_maxRoamDistance = 0.5f; - if(PMob->m_bcnmID != 864 && PMob->m_bcnmID != 704 && PMob->m_bcnmID != 706 - && PMob->loc.zone->GetRegionID() != REGION_LIMBUS) + if((PMob->m_bcnmID != 864) && (PMob->m_bcnmID != 704) && (PMob->m_bcnmID != 706)) { // bcnmID 864 (desires of emptiness), 704 (darkness named), and 706 (waking dreams) don't superlink - // Limbus mobs don't superlink // force all mobs in same instance to superlink + // plus one in case id is zero PMob->setMobMod(MOBMOD_SUPERLINK, PMob->m_battlefieldID); } 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 diff --git a/src/map/zone_entities.cpp b/src/map/zone_entities.cpp index 8005839dfee..97e4b845a1c 100644 --- a/src/map/zone_entities.cpp +++ b/src/map/zone_entities.cpp @@ -173,9 +173,7 @@ void CZoneEntities::FindPartyForMob(CBaseEntity* PEntity) // force all mobs in a burning circle to link ZONETYPE zonetype = m_zone->GetType(); - REGIONTYPE regiontype = m_zone->GetRegionID(); - bool forceLink = (zonetype == ZONETYPE_BATTLEFIELD || zonetype == ZONETYPE_DYNAMIS || PMob->getMobMod(MOBMOD_SUPERLINK)) - && regiontype != REGION_LIMBUS; + bool forceLink = zonetype == ZONETYPE_BATTLEFIELD || zonetype == ZONETYPE_DYNAMIS || PMob->getMobMod(MOBMOD_SUPERLINK); if ((forceLink || PMob->m_Link) && PMob->PParty == nullptr) { From 0224b9ebf87ff65440d5e457d7dc1913cafef8b5 Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Tue, 10 Dec 2019 00:52:57 -0500 Subject: [PATCH 25/33] Set damage immunities in Apollyon --- scripts/zones/Apollyon/mobs/Adamantshell.lua | 5 +++++ scripts/zones/Apollyon/mobs/Cronos.lua | 4 ++++ scripts/zones/Apollyon/mobs/Evil_Armory.lua | 5 +++++ scripts/zones/Apollyon/mobs/Flying_Spear.lua | 7 +++++++ scripts/zones/Apollyon/mobs/Ghost_Clot.lua | 6 ++++++ scripts/zones/Apollyon/mobs/Grave_Digger.lua | 6 ++++++ scripts/zones/Apollyon/mobs/Hyperion.lua | 4 ++++ scripts/zones/Apollyon/mobs/Inhumer.lua | 6 ++++++ scripts/zones/Apollyon/mobs/Metalloid_Amoeba.lua | 6 ++++++ scripts/zones/Apollyon/mobs/Okeanos.lua | 4 ++++ scripts/zones/Apollyon/mobs/Tieholtsodi.lua | 5 +++++ 11 files changed, 58 insertions(+) diff --git a/scripts/zones/Apollyon/mobs/Adamantshell.lua b/scripts/zones/Apollyon/mobs/Adamantshell.lua index 8dd915a33fa..c118e1f9f23 100644 --- a/scripts/zones/Apollyon/mobs/Adamantshell.lua +++ b/scripts/zones/Apollyon/mobs/Adamantshell.lua @@ -4,6 +4,11 @@ ----------------------------------- local ID = require("scripts/zones/Apollyon/IDs") +function onMobSpawn(mob) + mob:setMod(dsp.mod.SLASHRES, 0) + mob:setMod(dsp.mod.PIERCERES, 1500) +end + function onMobDeath(mob, player, isKiller) if isKiller then local battlefield = player:getBattlefield() diff --git a/scripts/zones/Apollyon/mobs/Cronos.lua b/scripts/zones/Apollyon/mobs/Cronos.lua index 9d5c58227e1..c2a6cb49a80 100644 --- a/scripts/zones/Apollyon/mobs/Cronos.lua +++ b/scripts/zones/Apollyon/mobs/Cronos.lua @@ -4,6 +4,10 @@ ----------------------------------- 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() diff --git a/scripts/zones/Apollyon/mobs/Evil_Armory.lua b/scripts/zones/Apollyon/mobs/Evil_Armory.lua index f46a4124894..d6e7207ded8 100644 --- a/scripts/zones/Apollyon/mobs/Evil_Armory.lua +++ b/scripts/zones/Apollyon/mobs/Evil_Armory.lua @@ -4,6 +4,11 @@ ----------------------------------- local ID = require("scripts/zones/Apollyon/IDs") +function onMobSpawn(mob) + mob:setMod(dsp.mod.UDMGMAGIC, -100) + mob:setMod(dsp.mod.UDMGPHYS, -80) +end + function onMobDeath(mob, player, isKiller) if isKiller then GetNPCByID(ID.npc.APOLLYON_SE_CRATE[4]):setStatus(dsp.status.NORMAL) diff --git a/scripts/zones/Apollyon/mobs/Flying_Spear.lua b/scripts/zones/Apollyon/mobs/Flying_Spear.lua index 84d6a7af6ae..7d29ee880f7 100644 --- a/scripts/zones/Apollyon/mobs/Flying_Spear.lua +++ b/scripts/zones/Apollyon/mobs/Flying_Spear.lua @@ -4,14 +4,21 @@ ----------------------------------- 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 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/Ghost_Clot.lua b/scripts/zones/Apollyon/mobs/Ghost_Clot.lua index aeaab1001ca..3e01484191d 100644 --- a/scripts/zones/Apollyon/mobs/Ghost_Clot.lua +++ b/scripts/zones/Apollyon/mobs/Ghost_Clot.lua @@ -4,6 +4,12 @@ ----------------------------------- local ID = require("scripts/zones/Apollyon/IDs") +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) if isKiller then local battlefield = player:getBattlefield() diff --git a/scripts/zones/Apollyon/mobs/Grave_Digger.lua b/scripts/zones/Apollyon/mobs/Grave_Digger.lua index c2c20a3fdde..54118370051 100644 --- a/scripts/zones/Apollyon/mobs/Grave_Digger.lua +++ b/scripts/zones/Apollyon/mobs/Grave_Digger.lua @@ -4,6 +4,12 @@ ----------------------------------- local ID = require("scripts/zones/Apollyon/IDs") +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) if isKiller then local battlefield = player:getBattlefield() diff --git a/scripts/zones/Apollyon/mobs/Hyperion.lua b/scripts/zones/Apollyon/mobs/Hyperion.lua index 9bf8d737431..38e2b4d4b82 100644 --- a/scripts/zones/Apollyon/mobs/Hyperion.lua +++ b/scripts/zones/Apollyon/mobs/Hyperion.lua @@ -4,6 +4,10 @@ ----------------------------------- 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() diff --git a/scripts/zones/Apollyon/mobs/Inhumer.lua b/scripts/zones/Apollyon/mobs/Inhumer.lua index ffaa140cdf5..1974995dd01 100644 --- a/scripts/zones/Apollyon/mobs/Inhumer.lua +++ b/scripts/zones/Apollyon/mobs/Inhumer.lua @@ -4,6 +4,12 @@ ----------------------------------- local ID = require("scripts/zones/Apollyon/IDs") +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) local mobX = mob:getXPos() local mobY = mob:getYPos() diff --git a/scripts/zones/Apollyon/mobs/Metalloid_Amoeba.lua b/scripts/zones/Apollyon/mobs/Metalloid_Amoeba.lua index 33df9bee3ee..d9d584660ce 100644 --- a/scripts/zones/Apollyon/mobs/Metalloid_Amoeba.lua +++ b/scripts/zones/Apollyon/mobs/Metalloid_Amoeba.lua @@ -4,6 +4,12 @@ ----------------------------------- local ID = require("scripts/zones/Apollyon/IDs") +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) local mobX = mob:getXPos() local mobY = mob:getYPos() diff --git a/scripts/zones/Apollyon/mobs/Okeanos.lua b/scripts/zones/Apollyon/mobs/Okeanos.lua index 4e361ec4df4..c928aa98d91 100644 --- a/scripts/zones/Apollyon/mobs/Okeanos.lua +++ b/scripts/zones/Apollyon/mobs/Okeanos.lua @@ -4,6 +4,10 @@ ----------------------------------- 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() diff --git a/scripts/zones/Apollyon/mobs/Tieholtsodi.lua b/scripts/zones/Apollyon/mobs/Tieholtsodi.lua index e0315ca32f0..a94b403d1e6 100644 --- a/scripts/zones/Apollyon/mobs/Tieholtsodi.lua +++ b/scripts/zones/Apollyon/mobs/Tieholtsodi.lua @@ -5,6 +5,11 @@ mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Apollyon/IDs") +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 = From 92a90b532bcc506d4bf203ca39404949c0ae0479 Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Sat, 14 Dec 2019 05:57:03 -0500 Subject: [PATCH 26/33] Added missing Apollyon portals to npc_list --- scripts/globals/limbus.lua | 58 +++++++++++++---- scripts/zones/Apollyon/IDs.lua | 30 +++++++++ scripts/zones/Apollyon/Zone.lua | 62 +++++++++---------- scripts/zones/Apollyon/bcnms/ne_apollyon.lua | 2 + scripts/zones/Apollyon/bcnms/nw_apollyon.lua | 2 + scripts/zones/Apollyon/bcnms/se_apollyon.lua | 2 + scripts/zones/Apollyon/bcnms/sw_apollyon.lua | 2 + .../Apollyon/mobs/Apollyon_Scavenger.lua | 8 +-- .../zones/Apollyon/mobs/Apollyon_Sweeper.lua | 2 +- scripts/zones/Apollyon/mobs/Armoury_Crate.lua | 4 +- scripts/zones/Apollyon/mobs/Bardha.lua | 8 +-- scripts/zones/Apollyon/mobs/Barometz.lua | 2 +- scripts/zones/Apollyon/mobs/Bialozar.lua | 2 +- scripts/zones/Apollyon/mobs/Borametz.lua | 2 +- scripts/zones/Apollyon/mobs/Cronos.lua | 2 +- scripts/zones/Apollyon/mobs/Fir_Bholg.lua | 10 +-- scripts/zones/Apollyon/mobs/Ghost_Clot.lua | 1 + .../zones/Apollyon/mobs/Goobbue_Harvester.lua | 2 +- scripts/zones/Apollyon/mobs/Gorynich.lua | 6 +- scripts/zones/Apollyon/mobs/Grave_Digger.lua | 1 + scripts/zones/Apollyon/mobs/Hyperion.lua | 2 +- scripts/zones/Apollyon/mobs/Jidra.lua | 1 + .../zones/Apollyon/mobs/Mountain_Buffalo.lua | 8 +-- scripts/zones/Apollyon/mobs/Okeanos.lua | 2 +- scripts/zones/Apollyon/mobs/Thiazi.lua | 2 +- scripts/zones/Apollyon/mobs/Tieholtsodi.lua | 1 + scripts/zones/Apollyon/npcs/Armoury_Crate.lua | 12 ++-- .../npcs/{Swirling_Vortex.lua => _127.lua} | 22 ++----- scripts/zones/Apollyon/npcs/_12i.lua | 41 ++++++++++++ .../bcnms/central_temenos_1st_floor.lua | 4 +- .../bcnms/central_temenos_2nd_floor.lua | 4 +- .../bcnms/central_temenos_3rd_floor.lua | 4 +- .../bcnms/central_temenos_4th_floor.lua | 4 +- .../bcnms/central_temenos_basement.lua | 4 +- .../Temenos/bcnms/temenos_eastern_tower.lua | 4 +- .../Temenos/bcnms/temenos_northern_tower.lua | 4 +- .../Temenos/bcnms/temenos_western_tower.lua | 4 +- scripts/zones/Temenos/npcs/Particle_Gate.lua | 53 ---------------- sql/npc_list.sql | 30 +++++++-- 39 files changed, 241 insertions(+), 173 deletions(-) rename scripts/zones/Apollyon/npcs/{Swirling_Vortex.lua => _127.lua} (55%) create mode 100644 scripts/zones/Apollyon/npcs/_12i.lua delete mode 100644 scripts/zones/Temenos/npcs/Particle_Gate.lua diff --git a/scripts/globals/limbus.lua b/scripts/globals/limbus.lua index 810838bcab5..ecabe558be6 100644 --- a/scripts/globals/limbus.lua +++ b/scripts/globals/limbus.lua @@ -223,33 +223,69 @@ function limbus.elementalsDead() return daykill end -function limbus.hideTemenosDoors(bfid, open) +function limbus.hideDoors(bfid, open) local animation = 9 if open then animation = 8 end - local ID = zones[dsp.zone.TEMENOS] - if bfid == 1299 then -- Temenos_Northern_Tower + local ID + if bfid == 1290 or bfid == 1291 or bfid == 1292 or bfid == 1293 then + ID = zones[dsp.zone.APOLLYON] + else + ID = zones[dsp.zone.TEMENOS] + 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 - elseif bfid == 1300 then -- Temenos_Eastern_Tower + end, + [1300] = function() -- Temenos_Eastern_Tower for i = 1, 7 do GetNPCByID(ID.npc.TEMENOS_E_GATE[i]):setAnimation(animation) end - elseif bfid == 1298 then -- Temenos_Western_Tower + end, + [1298] = function() -- Temenos_Western_Tower for i = 1, 7 do GetNPCByID(ID.npc.TEMENOS_W_GATE[i]):setAnimation(animation) end - elseif bfid == 1303 then -- Central_Temenos_1st_Floor + end, + [1303] = function() -- Central_Temenos_1st_Floor GetNPCByID(ID.npc.TEMENOS_C_GATE[1]):setAnimation(animation) - elseif bfid == 1304 then -- Central_Temenos_2nd_Floor + end, + [1304] = function() -- Central_Temenos_2nd_Floor GetNPCByID(ID.npc.TEMENOS_C_GATE[2]):setAnimation(animation) - elseif bfid == 1305 then -- Central_Temenos_3rd_Floor + end, + [1305] = function() -- Central_Temenos_3rd_Floor GetNPCByID(ID.npc.TEMENOS_C_GATE[3]):setAnimation(animation) - elseif bfid == 1306 then -- Central_Temenos_4th_Floor + end, + [1306] = function() -- Central_Temenos_4th_Floor GetNPCByID(ID.npc.TEMENOS_C_GATE[4]):setAnimation(animation) - elseif bfid == 1301 then -- Central_Temenos_Basement + end, + [1301] = function() -- Central_Temenos_Basement GetNPCByID(ID.npc.TEMENOS_C_GATE[5]):setAnimation(animation) - end + end, +} end function limbus.spawnRandomCrate(npc, player, var, mask, canMimic) diff --git a/scripts/zones/Apollyon/IDs.lua b/scripts/zones/Apollyon/IDs.lua index 9bf135e5f07..c19e1c7d8f2 100644 --- a/scripts/zones/Apollyon/IDs.lua +++ b/scripts/zones/Apollyon/IDs.lua @@ -68,6 +68,36 @@ zones[dsp.zone.APOLLYON] = 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, diff --git a/scripts/zones/Apollyon/Zone.lua b/scripts/zones/Apollyon/Zone.lua index 0974283a642..e8f8ba6e316 100644 --- a/scripts/zones/Apollyon/Zone.lua +++ b/scripts/zones/Apollyon/Zone.lua @@ -12,24 +12,24 @@ function onInitialize(zone) 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(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(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(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 + zone:registerRegion(37, -563,-4,356, -556,4,363); -- appolyon NW telporter floor5 to entrance end function onConquestUpdate(zone, updatetype) @@ -58,64 +58,62 @@ function onRegionEnter(player,region) -- APOLLYON SE TELEPORTER [20] = function() - if GetMobByID(ID.mob.APOLLYON_SE_MOB[1]):isDead() and player:getAnimation() == 0 then player:startEvent(219) end + if GetNPCByID(ID.npc.APOLLYON_SE_PORTAL[1]):getAnimation() == 8 then player:startEvent(219) end end, [21] = function() - if GetMobByID(ID.mob.APOLLYON_SE_MOB[2]):isDead() and player:getAnimation() == 0 then player:startEvent(218) end + if GetNPCByID(ID.npc.APOLLYON_SE_PORTAL[2]):getAnimation() == 8 then player:startEvent(218) end end, [22] = function() - if GetMobByID(ID.mob.APOLLYON_SE_MOB[3]):isDead() and player:getAnimation() == 0 then player:startEvent(216) end + if GetNPCByID(ID.npc.APOLLYON_SE_PORTAL[3]):getAnimation() == 8 then player:startEvent(216) end + end, + [23] = function () + if GetNPCByID(ID.npc.APOLLYON_SE_PORTAL[4]):getAnimation() == 8 then player:startEvent(217) end end, - --[23] = function (x) - -- print("SE_telporter_f3_to_entrance"); - -- if (GetMobByID(16933032):isDead() and player:getAnimation()==0) then player:startEvent(217);end - -- end, -- APOLLYON NE TELEPORTER [24] = function() - if battlefield:getLocalVar("portalF1") == 1 and player:getAnimation() == 0 then player:startEvent(214) end + if GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[1]):getAnimation() == 8 then player:startEvent(214) end end, [25] = function() - if battlefield:getLocalVar("portalF2") == 1 and player:getAnimation() == 0 then player:startEvent(212) end --212 + if GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[2]):getAnimation() == 8 then player:startEvent(212) end end, [26] = function() - if battlefield:getLocalVar("portalF3") == 1 and player:getAnimation() == 0 then player:startEvent(210) end --210 + if GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[3]):getAnimation() == 8 then player:startEvent(210) end end, [27] = function() - if battlefield:getLocalVar("portalF4") == 1 and player:getAnimation() == 0 then player:startEvent(215) end --215 + if GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[4]):getAnimation() == 8 then player:startEvent(215) end + end, + [28] = function () + if GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[5]):getAnimation() == 8 then player:startEvent(213) end end, - -- [28] = function (x) - -- print("NE_telporter_f5_to_entrance"); - -- if ( (GetMobByID(16933114):isDead() or GetMobByID(16933113):isDead()) and player:getAnimation()==0) then player:startEvent(213);end --213 - -- end, -- APOLLYON SW TELEPORTER [29] = function() - if battlefield:getLocalVar("portalF1") == 1 and player:getAnimation() == 0 then player:startEvent(208) end --208 + if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[1]):getAnimation() == 8 then player:startEvent(208) end end, [30] = function() - if GetMobByID(ID.mob.APOLLYON_SW_MOB[2]):isDead() and player:getAnimation() == 0 then player:startEvent(209) end --209 + if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[2]):getAnimation() == 8 then player:startEvent(209) end end, [31] = function() - if battlefield:getLocalVar("mimicKilled") == 1 and player:getAnimation() == 0 then player:startEvent(207) end -- 207 + if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[3]):getAnimation() == 8 then player:startEvent(207) end + end, + [32] = function () + if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[4]):getAnimation() == 8 then player:startEvent(206) end end, - -- [32] = function (x) - -- if (IselementalDayAreDead()==true and player:getAnimation()==0) then player:startEvent(206);end -- 206 - -- end, -- APOLLYON NW TELEPORTER [33] = function() - if battlefield:getLocalVar("portalF1") == 1 and player:getAnimation() == 0 then player:startEvent(205) end --205 + if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[1]):getAnimation() == 8 then player:startEvent(205) end end, [34] = function() - if battlefield:getLocalVar("portalF2") == 1 and player:getAnimation() == 0 then player:startEvent(203) end --203 + if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[2]):getAnimation() == 8 then player:startEvent(203) end end, [35] = function() - if battlefield:getLocalVar("portalF3") == 1 and player:getAnimation() == 0 then player:startEvent(201) end --201 + if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[3]):getAnimation() == 8 then player:startEvent(201) end end, [36] = function() - if battlefield:getLocalVar("portalF4") == 1 and player:getAnimation() == 0 then player:startEvent(200) end --200 + if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[4]):getAnimation() == 8 then player:startEvent(200) end + end, + [37] = function () + if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[5]):getAnimation() == 8 then player:startEvent(202) end end, - -- [37] = function (x) - -- if (GetMobByID(16932985):isDead() and player:getAnimation()==0) then player:startEvent(202);end --202 - -- end, } end diff --git a/scripts/zones/Apollyon/bcnms/ne_apollyon.lua b/scripts/zones/Apollyon/bcnms/ne_apollyon.lua index 9bff1bbd5ae..60a3e5262e2 100644 --- a/scripts/zones/Apollyon/bcnms/ne_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/ne_apollyon.lua @@ -11,6 +11,7 @@ function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("randomF1", math.random(1,6)) battlefield:setLocalVar("loot", 1) SetServerVariable("[NE_Apollyon]Time", battlefield:getTimeLimit()/60) + limbus.hideDoors(battlefield:getID()) limbus.hideArmouryCrates(battlefield:getID()) end @@ -31,6 +32,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) + limbus.hideDoors(battlefield:getID(), true) SetServerVariable("[NE_Apollyon]Time", 0) end diff --git a/scripts/zones/Apollyon/bcnms/nw_apollyon.lua b/scripts/zones/Apollyon/bcnms/nw_apollyon.lua index a7a88216eab..59dd0efda74 100644 --- a/scripts/zones/Apollyon/bcnms/nw_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/nw_apollyon.lua @@ -11,6 +11,7 @@ function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("randomMob", ID.mob.APOLLYON_NW_MOB[1]+math.random(1,8)) battlefield:setLocalVar("loot", 1) SetServerVariable("[NW_Apollyon]Time", battlefield:getTimeLimit()/60) + limbus.hideDoors(battlefield:getID()) limbus.hideArmouryCrates(battlefield:getID()) end @@ -31,6 +32,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) + limbus.hideDoors(battlefield:getID(), true) SetServerVariable("[NW_Apollyon]Time", 0) end diff --git a/scripts/zones/Apollyon/bcnms/se_apollyon.lua b/scripts/zones/Apollyon/bcnms/se_apollyon.lua index aa17ef7e59e..02d2e28fe6d 100644 --- a/scripts/zones/Apollyon/bcnms/se_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/se_apollyon.lua @@ -10,6 +10,7 @@ local ID = require("scripts/zones/Apollyon/IDs") function onBattlefieldInitialise(battlefield) --battlefield:setLocalVar("loot", 1) SetServerVariable("[SE_Apollyon]Time", battlefield:getTimeLimit()/60) + limbus.hideDoors(battlefield:getID()) limbus.hideArmouryCrates(battlefield:getID()) end @@ -30,6 +31,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) + limbus.hideDoors(battlefield:getID(), true) SetServerVariable("[SE_Apollyon]Time", 0) end diff --git a/scripts/zones/Apollyon/bcnms/sw_apollyon.lua b/scripts/zones/Apollyon/bcnms/sw_apollyon.lua index f9cde4141c5..59b2e7e05e2 100644 --- a/scripts/zones/Apollyon/bcnms/sw_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/sw_apollyon.lua @@ -11,6 +11,7 @@ function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) battlefield:setLocalVar("lootSpawned", 1) SetServerVariable("[SW_Apollyon]Time", battlefield:getTimeLimit()/60) + limbus.hideDoors(battlefield:getID()) 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) @@ -38,6 +39,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) + limbus.hideDoors(battlefield:getID(), true) SetServerVariable("[SW_Apollyon]Time", 0) end diff --git a/scripts/zones/Apollyon/mobs/Apollyon_Scavenger.lua b/scripts/zones/Apollyon/mobs/Apollyon_Scavenger.lua index 01a62406ddd..cc4a43f5b44 100644 --- a/scripts/zones/Apollyon/mobs/Apollyon_Scavenger.lua +++ b/scripts/zones/Apollyon/mobs/Apollyon_Scavenger.lua @@ -8,15 +8,15 @@ function onMobDeath(mob, player, isKiller) if isKiller then local mobID = mob:getID() local battlefield = player:getBattlefield() - local randomMob = battlefield:getLocalVar("randomMob") - if mobID == randomMob then + local randomF3 = battlefield:getLocalVar("randomF3") + if mobID == randomF3 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 - battlefield:setLocalVar("randomMob", ID.mob.APOLLYON_NW_MOB[4]+math.random(1,6)) - battlefield:setLocalVar("portalF3", 1) + battlefield:setLocalVar("randomF4", ID.mob.APOLLYON_NW_MOB[4]+math.random(1,6)) + GetNPCByID(ID.npc.APOLLYON_NW_PORTAL[3]):setAnimation(8) 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 index c7e1e86c481..3193ffc3a8a 100644 --- a/scripts/zones/Apollyon/mobs/Apollyon_Sweeper.lua +++ b/scripts/zones/Apollyon/mobs/Apollyon_Sweeper.lua @@ -16,7 +16,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end battlefield:setLocalVar("randomF4", ID.mob.APOLLYON_NE_MOB[4]+math.random(0,2)) - battlefield:setLocalVar("portalF3", 1) + GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[3]):setAnimation(8) end end end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Armoury_Crate.lua b/scripts/zones/Apollyon/mobs/Armoury_Crate.lua index ce292444748..849becc4069 100644 --- a/scripts/zones/Apollyon/mobs/Armoury_Crate.lua +++ b/scripts/zones/Apollyon/mobs/Armoury_Crate.lua @@ -11,13 +11,13 @@ end function onMobDeath(mob, player, isKiller) if isKiller then local battlefield = player:getBattlefield() - if battlefield:getLocalVar("mimicKilled") == 0 then + if GetNPCByID(ID.npc.APOLLYON_NW_PORTAL[3]):getAnimation() ~= 8 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 - battlefield:setLocalVar("mimicKilled", 1) + GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[3]):setAnimation(8) end end end diff --git a/scripts/zones/Apollyon/mobs/Bardha.lua b/scripts/zones/Apollyon/mobs/Bardha.lua index 782e4186d6c..a716da39a37 100644 --- a/scripts/zones/Apollyon/mobs/Bardha.lua +++ b/scripts/zones/Apollyon/mobs/Bardha.lua @@ -8,15 +8,15 @@ function onMobDeath(mob, player, isKiller) if isKiller then local mobID = mob:getID() local battlefield = player:getBattlefield() - local randomMob = battlefield:getLocalVar("randomMob") - if mobID == randomMob then + local randomF1 = battlefield:getLocalVar("randomF1") + if mobID == randomF1 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 - battlefield:setLocalVar("randomMob", ID.mob.APOLLYON_NW_MOB[2]+math.random(1,8)) - battlefield:setLocalVar("portalF1", 1) + battlefield:setLocalVar("randomF2", ID.mob.APOLLYON_NW_MOB[2]+math.random(1,8)) + GetNPCByID(ID.npc.APOLLYON_NW_PORTAL[1]):setAnimation(8) end end end diff --git a/scripts/zones/Apollyon/mobs/Barometz.lua b/scripts/zones/Apollyon/mobs/Barometz.lua index 65083e12227..adf53916b78 100644 --- a/scripts/zones/Apollyon/mobs/Barometz.lua +++ b/scripts/zones/Apollyon/mobs/Barometz.lua @@ -22,7 +22,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end battlefield:setLocalVar("randomF2", ID.mob.APOLLYON_NE_MOB[2]+math.random(0,2)) - battlefield:setLocalVar("portalF1", 1) + GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[1]):setAnimation(8) end end end diff --git a/scripts/zones/Apollyon/mobs/Bialozar.lua b/scripts/zones/Apollyon/mobs/Bialozar.lua index 918d7deeb25..63b1dda1977 100644 --- a/scripts/zones/Apollyon/mobs/Bialozar.lua +++ b/scripts/zones/Apollyon/mobs/Bialozar.lua @@ -37,7 +37,7 @@ function onMobDeath(mob, player, isKiller) 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 - battlefield:setLocalVar("portalF2", 1) + GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[2]):setAnimation(8) 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 a28731cdd9c..f3737dba5d2 100644 --- a/scripts/zones/Apollyon/mobs/Borametz.lua +++ b/scripts/zones/Apollyon/mobs/Borametz.lua @@ -22,7 +22,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end battlefield:setLocalVar("randomF2", ID.mob.APOLLYON_NE_MOB[2]+math.random(0,2)) - battlefield:setLocalVar("portalF1", 1) + GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[1]):setAnimation(8) end end end diff --git a/scripts/zones/Apollyon/mobs/Cronos.lua b/scripts/zones/Apollyon/mobs/Cronos.lua index c2a6cb49a80..d3572e05c1d 100644 --- a/scripts/zones/Apollyon/mobs/Cronos.lua +++ b/scripts/zones/Apollyon/mobs/Cronos.lua @@ -19,7 +19,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.GATE_OPEN) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end - battlefield:setLocalVar("portalF4", 1) + GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[4]):setAnimation(8) end end end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Fir_Bholg.lua b/scripts/zones/Apollyon/mobs/Fir_Bholg.lua index f866a816afb..0d5b429a412 100644 --- a/scripts/zones/Apollyon/mobs/Fir_Bholg.lua +++ b/scripts/zones/Apollyon/mobs/Fir_Bholg.lua @@ -22,7 +22,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.GATE_OPEN) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end - battlefield:setLocalVar("portalF1", 1) + GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[1]):setAnimation(8) end end elseif race == 3 or race == 4 then @@ -37,7 +37,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.GATE_OPEN) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end - battlefield:setLocalVar("portalF1", 1) + GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[1]):setAnimation(8) end end elseif race == 5 or race == 6 then @@ -52,7 +52,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.GATE_OPEN) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end - battlefield:setLocalVar("portalF1", 1) + GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[1]):setAnimation(8) end end elseif race == 7 then @@ -67,7 +67,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.GATE_OPEN) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end - battlefield:setLocalVar("portalF1", 1) + GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[1]):setAnimation(8) end end elseif race == 8 then @@ -82,7 +82,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.GATE_OPEN) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end - battlefield:setLocalVar("portalF1", 1) + GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[1]):setAnimation(8) end end end diff --git a/scripts/zones/Apollyon/mobs/Ghost_Clot.lua b/scripts/zones/Apollyon/mobs/Ghost_Clot.lua index 3e01484191d..c943ff5cf70 100644 --- a/scripts/zones/Apollyon/mobs/Ghost_Clot.lua +++ b/scripts/zones/Apollyon/mobs/Ghost_Clot.lua @@ -18,5 +18,6 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.GATE_OPEN) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end + GetNPCByID(ID.npc.APOLLYON_SE_PORTAL[1]):setAnimation(8) 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 index b3032fe5c1d..e94aaef02b9 100644 --- a/scripts/zones/Apollyon/mobs/Goobbue_Harvester.lua +++ b/scripts/zones/Apollyon/mobs/Goobbue_Harvester.lua @@ -21,7 +21,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end battlefield:setLocalVar("randomF2", ID.mob.APOLLYON_NE_MOB[2]+math.random(0,2)) - battlefield:setLocalVar("portalF1", 1) + GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[1]):setAnimation(8) 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 4fcfa504f07..8a4a6f963c3 100644 --- a/scripts/zones/Apollyon/mobs/Gorynich.lua +++ b/scripts/zones/Apollyon/mobs/Gorynich.lua @@ -8,14 +8,14 @@ function onMobDeath(mob, player, isKiller) if isKiller then local mobID = mob:getID() local battlefield = player:getBattlefield() - local randomMob = battlefield:getLocalVar("randomMob") - if mobID == randomMob then + local randomF4 = battlefield:getLocalVar("randomF4") + if mobID == randomF4 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 - battlefield:setLocalVar("portalF4", 1) + GetNPCByID(ID.npc.APOLLYON_NW_PORTAL[4]):setAnimation(8) 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 54118370051..fecd261ed6d 100644 --- a/scripts/zones/Apollyon/mobs/Grave_Digger.lua +++ b/scripts/zones/Apollyon/mobs/Grave_Digger.lua @@ -18,5 +18,6 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.GATE_OPEN) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end + GetNPCByID(ID.npc.APOLLYON_SE_PORTAL[3]):setAnimation(8) end end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Hyperion.lua b/scripts/zones/Apollyon/mobs/Hyperion.lua index 38e2b4d4b82..e72089f11ec 100644 --- a/scripts/zones/Apollyon/mobs/Hyperion.lua +++ b/scripts/zones/Apollyon/mobs/Hyperion.lua @@ -19,7 +19,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.GATE_OPEN) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end - battlefield:setLocalVar("portalF4", 1) + GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[4]):setAnimation(8) end end end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Jidra.lua b/scripts/zones/Apollyon/mobs/Jidra.lua index dd881a3d9ff..5a45e4d51fb 100644 --- a/scripts/zones/Apollyon/mobs/Jidra.lua +++ b/scripts/zones/Apollyon/mobs/Jidra.lua @@ -18,6 +18,7 @@ function onMobDeath(mob, player, isKiller) 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) diff --git a/scripts/zones/Apollyon/mobs/Mountain_Buffalo.lua b/scripts/zones/Apollyon/mobs/Mountain_Buffalo.lua index 54c58d1bf44..ac59f578081 100644 --- a/scripts/zones/Apollyon/mobs/Mountain_Buffalo.lua +++ b/scripts/zones/Apollyon/mobs/Mountain_Buffalo.lua @@ -8,15 +8,15 @@ function onMobDeath(mob, player, isKiller) local mobID = mob:getID() if isKiller then local battlefield = player:getBattlefield() - local randomMob = battlefield:getLocalVar("randomMob") - if mobID == randomMob then + local randomF2 = battlefield:getLocalVar("randomF2") + if mobID == randomF2 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 - battlefield:setLocalVar("randomMob", ID.mob.APOLLYON_NW_MOB[3]+math.random(1,8)) - battlefield:setLocalVar("portalF2", 1) + battlefield:setLocalVar("randomF3", ID.mob.APOLLYON_NW_MOB[3]+math.random(1,8)) + GetNPCByID(ID.npc.APOLLYON_NW_PORTAL[2]):setAnimation(8) end end end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Okeanos.lua b/scripts/zones/Apollyon/mobs/Okeanos.lua index c928aa98d91..1510c664e69 100644 --- a/scripts/zones/Apollyon/mobs/Okeanos.lua +++ b/scripts/zones/Apollyon/mobs/Okeanos.lua @@ -19,7 +19,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.GATE_OPEN) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end - battlefield:setLocalVar("portalF4", 1) + GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[4]):setAnimation(8) end end end \ No newline at end of file diff --git a/scripts/zones/Apollyon/mobs/Thiazi.lua b/scripts/zones/Apollyon/mobs/Thiazi.lua index 9ed40ce41df..54eefa987a3 100644 --- a/scripts/zones/Apollyon/mobs/Thiazi.lua +++ b/scripts/zones/Apollyon/mobs/Thiazi.lua @@ -37,7 +37,7 @@ function onMobDeath(mob, player, isKiller) 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 - battlefield:setLocalVar("portalF2", 1) + GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[2]):setAnimation(8) 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 a94b403d1e6..cb48df90c77 100644 --- a/scripts/zones/Apollyon/mobs/Tieholtsodi.lua +++ b/scripts/zones/Apollyon/mobs/Tieholtsodi.lua @@ -27,5 +27,6 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.GATE_OPEN) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end + GetNPCByID(ID.npc.APOLLYON_SE_PORTAL[2]):setAnimation(8) end end \ No newline at end of file diff --git a/scripts/zones/Apollyon/npcs/Armoury_Crate.lua b/scripts/zones/Apollyon/npcs/Armoury_Crate.lua index 67e81834e3b..032c998df70 100644 --- a/scripts/zones/Apollyon/npcs/Armoury_Crate.lua +++ b/scripts/zones/Apollyon/npcs/Armoury_Crate.lua @@ -908,7 +908,7 @@ function onTrigger(player, npc) elseif model == 961 then limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) elseif model == 962 then - dsp.battlefield.ExtendTimeLimit(battlefield, 5, ID.text.TIME_EXTENDED) + limbus.ExtendTimeLimit(battlefield, 15, 38) end npc:setStatus(dsp.status.DISAPPEAR) end @@ -939,7 +939,7 @@ function onTrigger(player, npc) limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) npc:setStatus(dsp.status.DISAPPEAR) elseif crateID == timePH then - dsp.battlefield.ExtendTimeLimit(battlefield, 5, ID.text.TIME_EXTENDED) + limbus.ExtendTimeLimit(battlefield, 15, 38) npc:setStatus(dsp.status.DISAPPEAR) else if mimicSpawned == 0 or mimicSpawned == 2 or mimicSpawned == 4 or mimicSpawned == 6 then @@ -976,7 +976,7 @@ function onTrigger(player, npc) elseif model == 961 then limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) elseif model == 962 then - dsp.battlefield.ExtendTimeLimit(battlefield, 5, ID.text.TIME_EXTENDED) + limbus.ExtendTimeLimit(battlefield, 15, 38) end npc:setStatus(dsp.status.DISAPPEAR) end @@ -1000,7 +1000,7 @@ function onTrigger(player, npc) elseif model == 961 then limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) elseif model == 962 then - dsp.battlefield.ExtendTimeLimit(battlefield, 5, ID.text.TIME_EXTENDED) + limbus.ExtendTimeLimit(battlefield, 15, 38) end end end @@ -1022,7 +1022,7 @@ function onTrigger(player, npc) elseif model == 961 then limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) elseif model == 962 then - dsp.battlefield.ExtendTimeLimit(battlefield, 10, ID.text.TIME_EXTENDED) + limbus.ExtendTimeLimit(battlefield, 15, 38) end end end @@ -1039,7 +1039,7 @@ function onTrigger(player, npc) end, [1294] = function() -- CS Apollyon Crate Handling if crateID ~= ID.npc.APOLLYON_CS_CRATE then - dsp.battlefield.ExtendTimeLimit(battlefield, 5, ID.text.TIME_EXTENDED) + limbus.ExtendTimeLimit(battlefield, 15, 38) else limbus.handleLootRolls(battlefield, loot[bfid][1], nil, npc) battlefield:setLocalVar("cutsceneTimer", 10) diff --git a/scripts/zones/Apollyon/npcs/Swirling_Vortex.lua b/scripts/zones/Apollyon/npcs/_127.lua similarity index 55% rename from scripts/zones/Apollyon/npcs/Swirling_Vortex.lua rename to scripts/zones/Apollyon/npcs/_127.lua index 1664071da62..94e8a2c9e73 100644 --- a/scripts/zones/Apollyon/npcs/Swirling_Vortex.lua +++ b/scripts/zones/Apollyon/npcs/_127.lua @@ -7,15 +7,8 @@ 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) and npc:getID() == ID.npc.ENTRANCE_OFFSET) - or (player:hasKeyItem(dsp.ki.BLACK_CARD) and npc:getID() == ID.npc.ENTRANCE_OFFSET+1)) - then - if npc:getID() == ID.npc.ENTRANCE_OFFSET+1 then - player:setCharVar("ApollyonEntrance", 1) - else - player:setCharVar("ApollyonEntrance", 0) - end + 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) @@ -23,15 +16,8 @@ function onTrade(player, npc, trade) end function onTrigger(player, npc) - if player:hasKeyItem(dsp.ki.COSMOCLEANSE) and - ((player:hasKeyItem(dsp.ki.RED_CARD) and npc:getID() == ID.npc.ENTRANCE_OFFSET) - or (player:hasKeyItem(dsp.ki.BLACK_CARD) and npc:getID() == ID.npc.ENTRANCE_OFFSET+1)) - then - if npc:getID() == ID.npc.ENTRANCE_OFFSET+1 then - player:setCharVar("ApollyonEntrance", 1) - else - player:setCharVar("ApollyonEntrance", 0) - end + 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) 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/Temenos/bcnms/central_temenos_1st_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua index f7f32890fe2..07b8550e2b4 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua @@ -10,7 +10,7 @@ local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) SetServerVariable("[Central_Temenos_1st_Floor]Time", battlefield:getTimeLimit()/60) - limbus.hideTemenosDoors(battlefield:getID()) + limbus.hideDoors(battlefield:getID()) limbus.hideArmouryCrates(battlefield:getID()) end @@ -28,7 +28,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - limbus.hideTemenosDoors(battlefield:getID(), true) + limbus.hideDoors(battlefield:getID(), true) SetServerVariable("[Central_Temenos_1st_Floor]Time", 0) end diff --git a/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua index 824c8826c03..7a8d4bb4e31 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua @@ -10,7 +10,7 @@ local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) SetServerVariable("[Central_Temenos_2nd_Floor]Time", battlefield:getTimeLimit()/60) - limbus.hideTemenosDoors(battlefield:getID()) + limbus.hideDoors(battlefield:getID()) limbus.hideArmouryCrates(battlefield:getID()) end @@ -28,7 +28,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - limbus.hideTemenosDoors(battlefield:getID(), true) + limbus.hideDoors(battlefield:getID(), true) SetServerVariable("[Central_Temenos_2nd_Floor]Time", 0) end diff --git a/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua index ceb82052746..97650be101c 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua @@ -10,7 +10,7 @@ local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) SetServerVariable("[Central_Temenos_3rd_Floor]Time", battlefield:getTimeLimit()/60) - limbus.hideTemenosDoors(battlefield:getID()) + limbus.hideDoors(battlefield:getID()) limbus.hideArmouryCrates(battlefield:getID()) DespawnMob(ID.mob.TEMENOS_C_MOB[3]+3) DespawnMob(ID.mob.TEMENOS_C_MOB[3]+11) @@ -30,7 +30,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - limbus.hideTemenosDoors(battlefield:getID(), true) + limbus.hideDoors(battlefield:getID(), true) SetServerVariable("[Central_Temenos_3rd_Floor]Time", 0) end diff --git a/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua index 8fa9cf4a807..29272a6c6af 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua @@ -10,7 +10,7 @@ local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) SetServerVariable("[Central_Temenos_4th_Floor]Time", battlefield:getTimeLimit()/60) - limbus.hideTemenosDoors(battlefield:getID()) + limbus.hideDoors(battlefield:getID()) limbus.hideArmouryCrates(battlefield:getID(), true) end @@ -28,7 +28,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - limbus.hideTemenosDoors(battlefield:getID(), true) + limbus.hideDoors(battlefield:getID(), true) SetServerVariable("[Central_Temenos_4th_Floor]Time", 0) end diff --git a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua index c0f194526c2..b4418353e70 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua @@ -11,7 +11,7 @@ function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) battlefield:setLocalVar("lootSpawned", 1) SetServerVariable("[Central_Temenos_Basement]Time", battlefield:getTimeLimit()/60) - limbus.hideTemenosDoors(battlefield:getID()) + limbus.hideDoors(battlefield:getID()) limbus.hideArmouryCrates(battlefield:getID()) DespawnMob(ID.mob.TEMENOS_C_MOB[5]+3) DespawnMob(ID.mob.TEMENOS_C_MOB[5]+6) @@ -35,7 +35,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - limbus.hideTemenosDoors(battlefield:getID(), true) + limbus.hideDoors(battlefield:getID(), true) SetServerVariable("[Central_Temenos_Basement]Time", 0) end diff --git a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua index f3a5474c40d..b83c7a70b5b 100644 --- a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua @@ -10,7 +10,7 @@ local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) SetServerVariable("[Temenos_Eastern_Tower]Time", battlefield:getTimeLimit()/60) - limbus.hideTemenosDoors(battlefield:getID()) + limbus.hideDoors(battlefield:getID()) limbus.hideArmouryCrates(battlefield:getID()) end @@ -28,7 +28,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - limbus.hideTemenosDoors(battlefield:getID(), true) + limbus.hideDoors(battlefield:getID(), true) SetServerVariable("[Temenos_Eastern_Tower]Time", 0) end diff --git a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua index 992eb95c036..f26dfe2bf3c 100644 --- a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua @@ -11,7 +11,7 @@ function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) battlefield:setLocalVar("randomF1", math.random(1,6)) SetServerVariable("[Temenos_Northern_Tower]Time", battlefield:getTimeLimit()/60) - limbus.hideTemenosDoors(battlefield:getID()) + limbus.hideDoors(battlefield:getID()) limbus.hideArmouryCrates(battlefield:getID()) DespawnMob(ID.mob.TEMENOS_N_MOB[3]+3) DespawnMob(ID.mob.TEMENOS_N_MOB[4]+3) @@ -34,7 +34,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - limbus.hideTemenosDoors(battlefield:getID(), true) + limbus.hideDoors(battlefield:getID(), true) SetServerVariable("[Temenos_Northern_Tower]Time", 0) end diff --git a/scripts/zones/Temenos/bcnms/temenos_western_tower.lua b/scripts/zones/Temenos/bcnms/temenos_western_tower.lua index 184489d5356..6373ee3978c 100644 --- a/scripts/zones/Temenos/bcnms/temenos_western_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_western_tower.lua @@ -10,7 +10,7 @@ local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) SetServerVariable("[Temenos_Western_Tower]Time", battlefield:getTimeLimit()/60) - limbus.hideTemenosDoors(battlefield:getID()) + limbus.hideDoors(battlefield:getID()) limbus.hideArmouryCrates(battlefield:getID()) end @@ -28,7 +28,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - limbus.hideTemenosDoors(battlefield:getID(), true) + limbus.hideDoors(battlefield:getID(), true) SetServerVariable("[Temenos_Western_Tower]Time", 0) end diff --git a/scripts/zones/Temenos/npcs/Particle_Gate.lua b/scripts/zones/Temenos/npcs/Particle_Gate.lua deleted file mode 100644 index f0dec1454f9..00000000000 --- a/scripts/zones/Temenos/npcs/Particle_Gate.lua +++ /dev/null @@ -1,53 +0,0 @@ ------------------------------------ --- Area: Temenos --- NPC: Particle_Gate ------------------------------------ -require("scripts/globals/limbus") -local ID = require("scripts/zones/Temenos/IDs") - -function onTrade(player,npc,trade) -end - -function onTrigger(player,npc) - local gateID = npc:getID() - - switch (gateID): caseof - { - -- 100-106 : Northern Tower - [ID.npc.GATE_OFFSET] = function() player:startEvent(100) end, - [ID.npc.GATE_OFFSET+1] = function() player:startEvent(101) end, - [ID.npc.GATE_OFFSET+2] = function() player:startEvent(102) end, - [ID.npc.GATE_OFFSET+3] = function() player:startEvent(103) end, - [ID.npc.GATE_OFFSET+4] = function() player:startEvent(104) end, - [ID.npc.GATE_OFFSET+5] = function() player:startEvent(105) end, - [ID.npc.GATE_OFFSET+6] = function() player:startEvent(106) end, - -- 107-113 : Eastern Tower - [ID.npc.GATE_OFFSET+7] = function() player:startEvent(107) end, - [ID.npc.GATE_OFFSET+8] = function() player:startEvent(108) end, - [ID.npc.GATE_OFFSET+9] = function() player:startEvent(109) end, - [ID.npc.GATE_OFFSET+10] = function() player:startEvent(110) end, - [ID.npc.GATE_OFFSET+11] = function() player:startEvent(111) end, - [ID.npc.GATE_OFFSET+12] = function() player:startEvent(112) end, - [ID.npc.GATE_OFFSET+13] = function() player:startEvent(113) end, - -- 114-120 Western Tower - [ID.npc.GATE_OFFSET+14] = function() player:startEvent(114) end, - [ID.npc.GATE_OFFSET+15] = function() player:startEvent(115) end, - [ID.npc.GATE_OFFSET+16] = function() player:startEvent(116) end, - [ID.npc.GATE_OFFSET+17] = function() player:startEvent(117) end, - [ID.npc.GATE_OFFSET+18] = function() player:startEvent(118) end, - [ID.npc.GATE_OFFSET+19] = function() player:startEvent(119) end, - [ID.npc.GATE_OFFSET+20] = function() player:startEvent(120) end, - -- The rest of Temenos - [ID.npc.GATE_OFFSET+21] = function() player:startEvent(120) end, - [ID.npc.GATE_OFFSET+22] = function() player:startEvent(120) end, - [ID.npc.GATE_OFFSET+23] = function() player:startEvent(120) end, - [ID.npc.GATE_OFFSET+24] = function() player:startEvent(120) end, - [ID.npc.GATE_OFFSET+25] = function() player:startEvent(120) end, - } -end - -function onEventUpdate(player,csid,option) -end - -function onEventFinish(player,csid,option) -end diff --git a/sql/npc_list.sql b/sql/npc_list.sql index aa326841503..573d2711f38 100644 --- a/sql/npc_list.sql +++ b/sql/npc_list.sql @@ -3120,12 +3120,30 @@ INSERT INTO `npc_list` VALUES (16933202,'Sentinel_Column','Sentinel Column',0,-5 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,-600.000,-0.500,-600.000,1,50,50,8,0,0,0,4099,0x0200000000000000000000000000000000000000,0,'COP',1); -INSERT INTO `npc_list` VALUES (16933219,'Swirling_Vortex','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,'Swirling_Vortex','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,'Swirling_Vortex','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,'Swirling_Vortex','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,'Swirling_Vortex','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 (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); From c9b43ea23096770f081b59c2853ad18c70ab7481 Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Sun, 15 Dec 2019 17:23:08 -0500 Subject: [PATCH 27/33] missed saving a rename --- scripts/zones/Apollyon/bcnms/nw_apollyon.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/zones/Apollyon/bcnms/nw_apollyon.lua b/scripts/zones/Apollyon/bcnms/nw_apollyon.lua index 59dd0efda74..44a423eab92 100644 --- a/scripts/zones/Apollyon/bcnms/nw_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/nw_apollyon.lua @@ -8,7 +8,7 @@ require("scripts/globals/keyitems") local ID = require("scripts/zones/Apollyon/IDs") function onBattlefieldInitialise(battlefield) - battlefield:setLocalVar("randomMob", ID.mob.APOLLYON_NW_MOB[1]+math.random(1,8)) + battlefield:setLocalVar("randomF1", ID.mob.APOLLYON_NW_MOB[1]+math.random(1,8)) battlefield:setLocalVar("loot", 1) SetServerVariable("[NW_Apollyon]Time", battlefield:getTimeLimit()/60) limbus.hideDoors(battlefield:getID()) From 335a859084805638ec40d600e5bd40a1e7587b20 Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Thu, 19 Dec 2019 20:34:05 -0500 Subject: [PATCH 28/33] Mass renaming and armoury crate rework. --- scripts/globals/limbus.lua | 22 +- .../zones/AlTaieu/npcs/Swirling_Vortex.lua | 4 +- .../zones/Apollyon/bcnms/central_apollyon.lua | 2 +- scripts/zones/Apollyon/bcnms/cs_apollyon.lua | 2 +- scripts/zones/Apollyon/bcnms/ne_apollyon.lua | 6 +- scripts/zones/Apollyon/bcnms/nw_apollyon.lua | 6 +- scripts/zones/Apollyon/bcnms/se_apollyon.lua | 6 +- scripts/zones/Apollyon/bcnms/sw_apollyon.lua | 6 +- scripts/zones/Apollyon/mobs/Air_Elemental.lua | 2 +- scripts/zones/Apollyon/mobs/Armoury_Crate.lua | 2 +- .../zones/Apollyon/mobs/Dark_Elemental.lua | 2 +- .../zones/Apollyon/mobs/Earth_Elemental.lua | 2 +- .../zones/Apollyon/mobs/Fire_Elemental.lua | 2 +- scripts/zones/Apollyon/mobs/Ice_Elemental.lua | 2 +- .../zones/Apollyon/mobs/Light_Elemental.lua | 2 +- .../zones/Apollyon/mobs/Thunder_Elemental.lua | 2 +- .../zones/Apollyon/mobs/Water_Elemental.lua | 2 +- scripts/zones/Apollyon/npcs/Armoury_Crate.lua | 66 ++-- .../bcnms/central_temenos_1st_floor.lua | 6 +- .../bcnms/central_temenos_2nd_floor.lua | 6 +- .../bcnms/central_temenos_3rd_floor.lua | 6 +- .../bcnms/central_temenos_4th_floor.lua | 6 +- .../bcnms/central_temenos_basement.lua | 6 +- .../Temenos/bcnms/temenos_eastern_tower.lua | 6 +- .../Temenos/bcnms/temenos_northern_tower.lua | 6 +- .../Temenos/bcnms/temenos_western_tower.lua | 6 +- scripts/zones/Temenos/mobs/Air_Elemental.lua | 8 +- .../zones/Temenos/mobs/Earth_Elemental.lua | 8 +- .../zones/Temenos/mobs/Enhanced_Beetle.lua | 2 +- .../zones/Temenos/mobs/Enhanced_Lizard.lua | 2 +- .../Temenos/mobs/Enhanced_Mandragora.lua | 2 +- scripts/zones/Temenos/mobs/Enhanced_Pugil.lua | 2 +- scripts/zones/Temenos/mobs/Enhanced_Slime.lua | 2 +- scripts/zones/Temenos/mobs/Enhanced_Tiger.lua | 2 +- scripts/zones/Temenos/mobs/Fire_Elemental.lua | 8 +- scripts/zones/Temenos/mobs/Ice_Elemental.lua | 8 +- scripts/zones/Temenos/mobs/Mystic_Avatar.lua | 80 ----- scripts/zones/Temenos/mobs/Proto-Ultima.lua | 2 +- scripts/zones/Temenos/mobs/Temenos_Aern.lua | 8 +- .../zones/Temenos/mobs/Thunder_Elemental.lua | 8 +- .../zones/Temenos/mobs/Water_Elemental.lua | 8 +- scripts/zones/Temenos/npcs/Armoury_Crate.lua | 328 +++++++++--------- 42 files changed, 294 insertions(+), 370 deletions(-) diff --git a/scripts/globals/limbus.lua b/scripts/globals/limbus.lua index ecabe558be6..f235210bf14 100644 --- a/scripts/globals/limbus.lua +++ b/scripts/globals/limbus.lua @@ -4,9 +4,10 @@ require("scripts/globals/status") require("scripts/globals/zone") -------------------------------------- -limbus = {} +dsp = dsp or {} +dsp.limbus = dsp.limbus or {} -function limbus.enter(player, entrance) +function dsp.limbus.enter(player, entrance) switch (entrance): caseof { [0] = function () @@ -18,7 +19,7 @@ function limbus.enter(player, entrance) } end -function limbus.hideArmouryCrates(bfid, show) +function dsp.limbus.hideArmouryCrates(bfid, show) local ID if bfid == 1290 or bfid == 1291 or bfid == 1292 or bfid == 1293 or bfid == 1294 or bfid == 1296 @@ -127,11 +128,8 @@ function limbus.hideArmouryCrates(bfid, show) } end -function limbus.handleLootRolls(battlefield, lootTable, players, npc) +function dsp.limbus.handleLootRolls(battlefield, lootTable, players, npc) players = players or battlefield:getPlayers() - if npc then - npc:setAnimation(90) - end for i = 1, #lootTable do local lootGroup = lootTable[i] if lootGroup then @@ -153,7 +151,7 @@ function limbus.handleLootRolls(battlefield, lootTable, players, npc) end end -function limbus.ExtendTimeLimit(battlefield, minutes, zone) +function dsp.limbus.extendTimeLimit(battlefield, minutes, zone, npc) local timeLimit = battlefield:getTimeLimit() local extension = minutes * 60 battlefield:setTimeLimit(timeLimit + extension) @@ -166,7 +164,7 @@ function limbus.ExtendTimeLimit(battlefield, minutes, zone) end end -function limbus.elementalsDead() +function dsp.limbus.elementalsDead() local ID = zones[dsp.zone.APOLLYON] local day = VanadielDayElement() local daykill = false @@ -223,7 +221,7 @@ function limbus.elementalsDead() return daykill end -function limbus.hideDoors(bfid, open) +function dsp.limbus.hideDoors(bfid, open) local animation = 9 if open then animation = 8 end local ID @@ -288,7 +286,7 @@ function limbus.hideDoors(bfid, open) } end -function limbus.spawnRandomCrate(npc, player, var, mask, canMimic) +function dsp.limbus.spawnRandomCrate(npc, player, var, mask, canMimic) local battlefield = player:getBattlefield() if mask < 8 then local spawnMimic = math.random(0,1) == 1 @@ -402,7 +400,7 @@ function limbus.spawnRandomCrate(npc, player, var, mask, canMimic) end, } else - limbus.spawnRandomCrate(npc, player, var, mask-8) + dsp.limbus.spawnRandomCrate(npc, player, var, mask-8) mask = battlefield:getLocalVar(var) battlefield:setLocalVar(var, mask+8) return diff --git a/scripts/zones/AlTaieu/npcs/Swirling_Vortex.lua b/scripts/zones/AlTaieu/npcs/Swirling_Vortex.lua index 922dd7580b3..31715e425fc 100644 --- a/scripts/zones/AlTaieu/npcs/Swirling_Vortex.lua +++ b/scripts/zones/AlTaieu/npcs/Swirling_Vortex.lua @@ -22,8 +22,8 @@ end function onEventFinish(player,csid,option) if csid == 160 and option == 1 then - limbus.enter(player,1) + dsp.limbus.enter(player,1) elseif csid == 159 and option == 1 then - limbus.enter(player,0) + dsp.limbus.enter(player,0) end end diff --git a/scripts/zones/Apollyon/bcnms/central_apollyon.lua b/scripts/zones/Apollyon/bcnms/central_apollyon.lua index 5e683497774..b094417a435 100644 --- a/scripts/zones/Apollyon/bcnms/central_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/central_apollyon.lua @@ -11,7 +11,7 @@ function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) battlefield:setLocalVar("podReady", 1) SetServerVariable("[Central_Apollyon]Time", battlefield:getTimeLimit()/60) - limbus.hideArmouryCrates(battlefield:getID()) + dsp.limbus.hideArmouryCrates(battlefield:getID()) end function onBattlefieldTick(battlefield, tick) diff --git a/scripts/zones/Apollyon/bcnms/cs_apollyon.lua b/scripts/zones/Apollyon/bcnms/cs_apollyon.lua index a862d3a372f..60defbee369 100644 --- a/scripts/zones/Apollyon/bcnms/cs_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/cs_apollyon.lua @@ -10,7 +10,7 @@ local ID = require("scripts/zones/Apollyon/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) SetServerVariable("[CS_Apollyon]Time", battlefield:getTimeLimit()/60) - limbus.hideArmouryCrates(battlefield:getID()) + dsp.limbus.hideArmouryCrates(battlefield:getID()) end function onBattlefieldTick(battlefield, tick) diff --git a/scripts/zones/Apollyon/bcnms/ne_apollyon.lua b/scripts/zones/Apollyon/bcnms/ne_apollyon.lua index 60a3e5262e2..1a70861a843 100644 --- a/scripts/zones/Apollyon/bcnms/ne_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/ne_apollyon.lua @@ -11,8 +11,8 @@ function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("randomF1", math.random(1,6)) battlefield:setLocalVar("loot", 1) SetServerVariable("[NE_Apollyon]Time", battlefield:getTimeLimit()/60) - limbus.hideDoors(battlefield:getID()) - limbus.hideArmouryCrates(battlefield:getID()) + dsp.limbus.hideDoors(battlefield:getID()) + dsp.limbus.hideArmouryCrates(battlefield:getID()) end function onBattlefieldTick(battlefield, tick) @@ -32,7 +32,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - limbus.hideDoors(battlefield:getID(), true) + dsp.limbus.hideDoors(battlefield:getID(), true) SetServerVariable("[NE_Apollyon]Time", 0) end diff --git a/scripts/zones/Apollyon/bcnms/nw_apollyon.lua b/scripts/zones/Apollyon/bcnms/nw_apollyon.lua index 44a423eab92..d344f9156ba 100644 --- a/scripts/zones/Apollyon/bcnms/nw_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/nw_apollyon.lua @@ -11,8 +11,8 @@ 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) - limbus.hideDoors(battlefield:getID()) - limbus.hideArmouryCrates(battlefield:getID()) + dsp.limbus.hideDoors(battlefield:getID()) + dsp.limbus.hideArmouryCrates(battlefield:getID()) end function onBattlefieldTick(battlefield, tick) @@ -32,7 +32,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - limbus.hideDoors(battlefield:getID(), true) + dsp.limbus.hideDoors(battlefield:getID(), true) SetServerVariable("[NW_Apollyon]Time", 0) end diff --git a/scripts/zones/Apollyon/bcnms/se_apollyon.lua b/scripts/zones/Apollyon/bcnms/se_apollyon.lua index 02d2e28fe6d..8e7c4f90921 100644 --- a/scripts/zones/Apollyon/bcnms/se_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/se_apollyon.lua @@ -10,8 +10,8 @@ local ID = require("scripts/zones/Apollyon/IDs") function onBattlefieldInitialise(battlefield) --battlefield:setLocalVar("loot", 1) SetServerVariable("[SE_Apollyon]Time", battlefield:getTimeLimit()/60) - limbus.hideDoors(battlefield:getID()) - limbus.hideArmouryCrates(battlefield:getID()) + dsp.limbus.hideDoors(battlefield:getID()) + dsp.limbus.hideArmouryCrates(battlefield:getID()) end function onBattlefieldTick(battlefield, tick) @@ -31,7 +31,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - limbus.hideDoors(battlefield:getID(), true) + dsp.limbus.hideDoors(battlefield:getID(), true) SetServerVariable("[SE_Apollyon]Time", 0) end diff --git a/scripts/zones/Apollyon/bcnms/sw_apollyon.lua b/scripts/zones/Apollyon/bcnms/sw_apollyon.lua index 59b2e7e05e2..bba534d3f11 100644 --- a/scripts/zones/Apollyon/bcnms/sw_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/sw_apollyon.lua @@ -11,12 +11,12 @@ function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) battlefield:setLocalVar("lootSpawned", 1) SetServerVariable("[SW_Apollyon]Time", battlefield:getTimeLimit()/60) - limbus.hideDoors(battlefield:getID()) + dsp.limbus.hideDoors(battlefield:getID()) 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) - limbus.hideArmouryCrates(battlefield:getID()) + dsp.limbus.hideArmouryCrates(battlefield:getID()) end function onBattlefieldTick(battlefield, tick) @@ -39,7 +39,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - limbus.hideDoors(battlefield:getID(), true) + dsp.limbus.hideDoors(battlefield:getID(), true) SetServerVariable("[SW_Apollyon]Time", 0) end diff --git a/scripts/zones/Apollyon/mobs/Air_Elemental.lua b/scripts/zones/Apollyon/mobs/Air_Elemental.lua index 3e29e3cee1a..7e3e40b210a 100644 --- a/scripts/zones/Apollyon/mobs/Air_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Air_Elemental.lua @@ -8,7 +8,7 @@ local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) if isKiller then - if limbus.elementalsDead() then + if dsp.limbus.elementalsDead() then GetNPCByID(ID.npc.APOLLYON_SW_CRATE[4]):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Apollyon/mobs/Armoury_Crate.lua b/scripts/zones/Apollyon/mobs/Armoury_Crate.lua index 849becc4069..3e3f6e47c79 100644 --- a/scripts/zones/Apollyon/mobs/Armoury_Crate.lua +++ b/scripts/zones/Apollyon/mobs/Armoury_Crate.lua @@ -11,7 +11,7 @@ end function onMobDeath(mob, player, isKiller) if isKiller then local battlefield = player:getBattlefield() - if GetNPCByID(ID.npc.APOLLYON_NW_PORTAL[3]):getAnimation() ~= 8 then + if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[3]):getAnimation() ~= 8 then local players = battlefield:getPlayers() for i, member in pairs(players) do member:messageSpecial(ID.text.GATE_OPEN) diff --git a/scripts/zones/Apollyon/mobs/Dark_Elemental.lua b/scripts/zones/Apollyon/mobs/Dark_Elemental.lua index 86642ceaedb..e0b9b253683 100644 --- a/scripts/zones/Apollyon/mobs/Dark_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Dark_Elemental.lua @@ -8,7 +8,7 @@ local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) if isKiller then - if limbus.elementalsDead() then + if dsp.limbus.elementalsDead() then GetNPCByID(ID.npc.APOLLYON_SW_CRATE[4]):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Apollyon/mobs/Earth_Elemental.lua b/scripts/zones/Apollyon/mobs/Earth_Elemental.lua index f8e3cd1af00..26911c3bd75 100644 --- a/scripts/zones/Apollyon/mobs/Earth_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Earth_Elemental.lua @@ -8,7 +8,7 @@ local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) if isKiller then - if limbus.elementalsDead() then + if dsp.limbus.elementalsDead() then GetNPCByID(ID.npc.APOLLYON_SW_CRATE[4]):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Apollyon/mobs/Fire_Elemental.lua b/scripts/zones/Apollyon/mobs/Fire_Elemental.lua index 5287df223c5..20e3fb4359e 100644 --- a/scripts/zones/Apollyon/mobs/Fire_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Fire_Elemental.lua @@ -8,7 +8,7 @@ local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) if isKiller then - if limbus.elementalsDead() then + if dsp.limbus.elementalsDead() then GetNPCByID(ID.npc.APOLLYON_SW_CRATE[4]):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Apollyon/mobs/Ice_Elemental.lua b/scripts/zones/Apollyon/mobs/Ice_Elemental.lua index 306e65df39e..56595fd2027 100644 --- a/scripts/zones/Apollyon/mobs/Ice_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Ice_Elemental.lua @@ -8,7 +8,7 @@ local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) if isKiller then - if limbus.elementalsDead() then + if dsp.limbus.elementalsDead() then GetNPCByID(ID.npc.APOLLYON_SW_CRATE[4]):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Apollyon/mobs/Light_Elemental.lua b/scripts/zones/Apollyon/mobs/Light_Elemental.lua index 6e87d44f9a7..d9f993ae937 100644 --- a/scripts/zones/Apollyon/mobs/Light_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Light_Elemental.lua @@ -8,7 +8,7 @@ local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) if isKiller then - if limbus.elementalsDead() then + if dsp.limbus.elementalsDead() then GetNPCByID(ID.npc.APOLLYON_SW_CRATE[4]):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Apollyon/mobs/Thunder_Elemental.lua b/scripts/zones/Apollyon/mobs/Thunder_Elemental.lua index 051d95bec9d..acbd52cc86d 100644 --- a/scripts/zones/Apollyon/mobs/Thunder_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Thunder_Elemental.lua @@ -8,7 +8,7 @@ local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) if isKiller then - if limbus.elementalsDead() then + if dsp.limbus.elementalsDead() then GetNPCByID(ID.npc.APOLLYON_SW_CRATE[4]):setStatus(dsp.status.NORMAL) end end diff --git a/scripts/zones/Apollyon/mobs/Water_Elemental.lua b/scripts/zones/Apollyon/mobs/Water_Elemental.lua index 66521c8afec..f168d8f2b89 100644 --- a/scripts/zones/Apollyon/mobs/Water_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Water_Elemental.lua @@ -8,7 +8,7 @@ local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) if isKiller then - if limbus.elementalsDead() then + if dsp.limbus.elementalsDead() then GetNPCByID(ID.npc.APOLLYON_SW_CRATE[4]):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 032c998df70..7cc0022be32 100644 --- a/scripts/zones/Apollyon/npcs/Armoury_Crate.lua +++ b/scripts/zones/Apollyon/npcs/Armoury_Crate.lua @@ -895,7 +895,8 @@ function onTrigger(player, npc) 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 @@ -906,19 +907,17 @@ function onTrigger(player, npc) if model == 960 then dsp.battlefield.HealPlayers(battlefield) elseif model == 961 then - limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) + dsp.limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) elseif model == 962 then - limbus.ExtendTimeLimit(battlefield, 15, 38) + dsp.limbus.extendTimeLimit(battlefield, 15, 38) end - npc:setStatus(dsp.status.DISAPPEAR) end end end else - limbus.handleLootRolls(battlefield, loot[bfid][5], nil, npc) + dsp.limbus.handleLootRolls(battlefield, loot[bfid][5], nil, npc) battlefield:setLocalVar("cutsceneTimer", 10) battlefield:setLocalVar("lootSeen", 1) - npc:setStatus(dsp.status.DISAPPEAR) end end, [1291] = function() -- SW Apollyon Crate Handling @@ -934,13 +933,10 @@ function onTrigger(player, npc) if crateID == ID.npc.APOLLYON_SW_CRATE[i]+j then if crateID == restorePH then dsp.battlefield.HealPlayers(battlefield) - npc:setStatus(dsp.status.DISAPPEAR) elseif crateID == itemPH then - limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) - npc:setStatus(dsp.status.DISAPPEAR) + dsp.limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) elseif crateID == timePH then - limbus.ExtendTimeLimit(battlefield, 15, 38) - npc:setStatus(dsp.status.DISAPPEAR) + dsp.limbus.extendTimeLimit(battlefield, 15, 38) else if mimicSpawned == 0 or mimicSpawned == 2 or mimicSpawned == 4 or mimicSpawned == 6 then npc:setStatus(dsp.status.DISAPPEAR) @@ -964,30 +960,30 @@ function onTrigger(player, npc) end end end + else + hold = true end else for j = 0, 2 do if crateID == ID.npc.APOLLYON_SW_CRATE[i]+j then - GetNPCByID(ID.npc.APOLLYON_SW_CRATE[i]):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(ID.npc.APOLLYON_SW_CRATE[i]+1):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(ID.npc.APOLLYON_SW_CRATE[i]+2):setStatus(dsp.status.DISAPPEAR) + 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 - limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) + dsp.limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) elseif model == 962 then - limbus.ExtendTimeLimit(battlefield, 15, 38) + dsp.limbus.extendTimeLimit(battlefield, 15, 38) end - npc:setStatus(dsp.status.DISAPPEAR) end end end end else - limbus.handleLootRolls(battlefield, loot[bfid][4], nil, npc) + dsp.limbus.handleLootRolls(battlefield, loot[bfid][4], nil, npc) battlefield:setLocalVar("cutsceneTimer", 10) battlefield:setLocalVar("lootSeen", 1) - npc:setStatus(dsp.status.DISAPPEAR) end end, [1292] = function() -- NE Apollyon Crate Handling @@ -998,19 +994,18 @@ function onTrigger(player, npc) if model == 960 then dsp.battlefield.HealPlayers(battlefield) elseif model == 961 then - limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) + dsp.limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) elseif model == 962 then - limbus.ExtendTimeLimit(battlefield, 15, 38) + dsp.limbus.extendTimeLimit(battlefield, 15, 38) end end end end else - limbus.handleLootRolls(battlefield, loot[bfid][5], nil, npc) + dsp.limbus.handleLootRolls(battlefield, loot[bfid][5], nil, npc) battlefield:setLocalVar("cutsceneTimer", 10) battlefield:setLocalVar("lootSeen", 1) end - npc:setStatus(dsp.status.DISAPPEAR) end, [1293] = function() -- SE Apollyon Crate Handling if crateID ~= ID.npc.APOLLYON_SE_CRATE[4] then @@ -1020,9 +1015,9 @@ function onTrigger(player, npc) if model == 960 then dsp.battlefield.HealPlayers(battlefield) elseif model == 961 then - limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) + dsp.limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) elseif model == 962 then - limbus.ExtendTimeLimit(battlefield, 15, 38) + dsp.limbus.extendTimeLimit(battlefield, 15, 38) end end end @@ -1031,29 +1026,36 @@ function onTrigger(player, npc) for i = 1, 8 do GetMobByID(ID.mob.APOLLYON_SE_MOB[4]+i):setStatus(dsp.status.DISAPPEAR) end - limbus.handleLootRolls(battlefield, loot[bfid][4], nil, npc) + dsp.limbus.handleLootRolls(battlefield, loot[bfid][4], nil, npc) battlefield:setLocalVar("cutsceneTimer", 10) battlefield:setLocalVar("lootSeen", 1) end - npc:setStatus(dsp.status.DISAPPEAR) end, [1294] = function() -- CS Apollyon Crate Handling if crateID ~= ID.npc.APOLLYON_CS_CRATE then - limbus.ExtendTimeLimit(battlefield, 15, 38) + dsp.limbus.extendTimeLimit(battlefield, 15, 38) else - limbus.handleLootRolls(battlefield, loot[bfid][1], nil, npc) + dsp.limbus.handleLootRolls(battlefield, loot[bfid][1], nil, npc) battlefield:setLocalVar("cutsceneTimer", 10) battlefield:setLocalVar("lootSeen", 1) end - npc:setStatus(dsp.status.DISAPPEAR) end, [1296] = function() -- Central Apollyon Crate Handling - limbus.handleLootRolls(battlefield, loot[bfid][1], nil, npc) + dsp.limbus.handleLootRolls(battlefield, loot[bfid][1], nil, npc) battlefield:setLocalVar("cutsceneTimer", 10) battlefield:setLocalVar("lootSeen", 1) - npc:setStatus(dsp.status.DISAPPEAR) 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 end function onEventUpdate(player, csid, option) diff --git a/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua index 07b8550e2b4..a3b2d91936c 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua @@ -10,8 +10,8 @@ local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) SetServerVariable("[Central_Temenos_1st_Floor]Time", battlefield:getTimeLimit()/60) - limbus.hideDoors(battlefield:getID()) - limbus.hideArmouryCrates(battlefield:getID()) + dsp.limbus.hideDoors(battlefield:getID()) + dsp.limbus.hideArmouryCrates(battlefield:getID()) end function onBattlefieldTick(battlefield, tick) @@ -28,7 +28,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - limbus.hideDoors(battlefield:getID(), true) + dsp.limbus.hideDoors(battlefield:getID(), true) SetServerVariable("[Central_Temenos_1st_Floor]Time", 0) end diff --git a/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua index 7a8d4bb4e31..7b2ebb6e338 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua @@ -10,8 +10,8 @@ local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) SetServerVariable("[Central_Temenos_2nd_Floor]Time", battlefield:getTimeLimit()/60) - limbus.hideDoors(battlefield:getID()) - limbus.hideArmouryCrates(battlefield:getID()) + dsp.limbus.hideDoors(battlefield:getID()) + dsp.limbus.hideArmouryCrates(battlefield:getID()) end function onBattlefieldTick(battlefield, tick) @@ -28,7 +28,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - limbus.hideDoors(battlefield:getID(), true) + dsp.limbus.hideDoors(battlefield:getID(), true) SetServerVariable("[Central_Temenos_2nd_Floor]Time", 0) end diff --git a/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua index 97650be101c..1911830e941 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua @@ -10,8 +10,8 @@ local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) SetServerVariable("[Central_Temenos_3rd_Floor]Time", battlefield:getTimeLimit()/60) - limbus.hideDoors(battlefield:getID()) - limbus.hideArmouryCrates(battlefield:getID()) + dsp.limbus.hideDoors(battlefield:getID()) + dsp.limbus.hideArmouryCrates(battlefield:getID()) DespawnMob(ID.mob.TEMENOS_C_MOB[3]+3) DespawnMob(ID.mob.TEMENOS_C_MOB[3]+11) end @@ -30,7 +30,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - limbus.hideDoors(battlefield:getID(), true) + dsp.limbus.hideDoors(battlefield:getID(), true) SetServerVariable("[Central_Temenos_3rd_Floor]Time", 0) end diff --git a/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua index 29272a6c6af..6e24bf9b736 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua @@ -10,8 +10,8 @@ local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) SetServerVariable("[Central_Temenos_4th_Floor]Time", battlefield:getTimeLimit()/60) - limbus.hideDoors(battlefield:getID()) - limbus.hideArmouryCrates(battlefield:getID(), true) + dsp.limbus.hideDoors(battlefield:getID()) + dsp.limbus.hideArmouryCrates(battlefield:getID(), true) end function onBattlefieldTick(battlefield, tick) @@ -28,7 +28,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - limbus.hideDoors(battlefield:getID(), true) + dsp.limbus.hideDoors(battlefield:getID(), true) SetServerVariable("[Central_Temenos_4th_Floor]Time", 0) end diff --git a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua index b4418353e70..74f01d393f3 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua @@ -11,8 +11,8 @@ function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) battlefield:setLocalVar("lootSpawned", 1) SetServerVariable("[Central_Temenos_Basement]Time", battlefield:getTimeLimit()/60) - limbus.hideDoors(battlefield:getID()) - limbus.hideArmouryCrates(battlefield:getID()) + dsp.limbus.hideDoors(battlefield:getID()) + dsp.limbus.hideArmouryCrates(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) @@ -35,7 +35,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - limbus.hideDoors(battlefield:getID(), true) + dsp.limbus.hideDoors(battlefield:getID(), true) SetServerVariable("[Central_Temenos_Basement]Time", 0) end diff --git a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua index b83c7a70b5b..3e6a8f446d8 100644 --- a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua @@ -10,8 +10,8 @@ local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) SetServerVariable("[Temenos_Eastern_Tower]Time", battlefield:getTimeLimit()/60) - limbus.hideDoors(battlefield:getID()) - limbus.hideArmouryCrates(battlefield:getID()) + dsp.limbus.hideDoors(battlefield:getID()) + dsp.limbus.hideArmouryCrates(battlefield:getID()) end function onBattlefieldTick(battlefield, tick) @@ -28,7 +28,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - limbus.hideDoors(battlefield:getID(), true) + dsp.limbus.hideDoors(battlefield:getID(), true) SetServerVariable("[Temenos_Eastern_Tower]Time", 0) end diff --git a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua index f26dfe2bf3c..84b9467336b 100644 --- a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua @@ -11,8 +11,8 @@ function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) battlefield:setLocalVar("randomF1", math.random(1,6)) SetServerVariable("[Temenos_Northern_Tower]Time", battlefield:getTimeLimit()/60) - limbus.hideDoors(battlefield:getID()) - limbus.hideArmouryCrates(battlefield:getID()) + dsp.limbus.hideDoors(battlefield:getID()) + dsp.limbus.hideArmouryCrates(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) @@ -34,7 +34,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - limbus.hideDoors(battlefield:getID(), true) + dsp.limbus.hideDoors(battlefield:getID(), true) SetServerVariable("[Temenos_Northern_Tower]Time", 0) end diff --git a/scripts/zones/Temenos/bcnms/temenos_western_tower.lua b/scripts/zones/Temenos/bcnms/temenos_western_tower.lua index 6373ee3978c..60688551f30 100644 --- a/scripts/zones/Temenos/bcnms/temenos_western_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_western_tower.lua @@ -10,8 +10,8 @@ local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) SetServerVariable("[Temenos_Western_Tower]Time", battlefield:getTimeLimit()/60) - limbus.hideDoors(battlefield:getID()) - limbus.hideArmouryCrates(battlefield:getID()) + dsp.limbus.hideDoors(battlefield:getID()) + dsp.limbus.hideArmouryCrates(battlefield:getID()) end function onBattlefieldTick(battlefield, tick) @@ -28,7 +28,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - limbus.hideDoors(battlefield:getID(), true) + dsp.limbus.hideDoors(battlefield:getID(), true) SetServerVariable("[Temenos_Western_Tower]Time", 0) end diff --git a/scripts/zones/Temenos/mobs/Air_Elemental.lua b/scripts/zones/Temenos/mobs/Air_Elemental.lua index 90a91f4b722..89b08461b3d 100644 --- a/scripts/zones/Temenos/mobs/Air_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Air_Elemental.lua @@ -48,19 +48,19 @@ function onMobDeath(mob, player, isKiller) switch (mobID): caseof { [ID.mob.TEMENOS_E_MOB[3]] = function() GetNPCByID(ID.npc.TEMENOS_E_CRATE[3]):setPos(mobX, mobY, mobZ) - limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[3], player, "crateMaskF3", battlefield:getLocalVar("crateMaskF3"), true) + 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) - limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[3]+1, player, "crateMaskF3", battlefield:getLocalVar("crateMaskF3"), true) + 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) - limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[3]+2, player, "crateMaskF3", battlefield:getLocalVar("crateMaskF3"), true) + 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) - limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[3]+3, player, "crateMaskF3", battlefield:getLocalVar("crateMaskF3"), true) + 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) diff --git a/scripts/zones/Temenos/mobs/Earth_Elemental.lua b/scripts/zones/Temenos/mobs/Earth_Elemental.lua index 6707e67fb28..b35bc5d8720 100644 --- a/scripts/zones/Temenos/mobs/Earth_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Earth_Elemental.lua @@ -16,19 +16,19 @@ function onMobDeath(mob, player, isKiller) switch (mobID): caseof { [ID.mob.TEMENOS_E_MOB[4]] = function() GetNPCByID(ID.npc.TEMENOS_E_CRATE[4]):setPos(mobX, mobY, mobZ) - limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[4], player, "crateMaskF4", battlefield:getLocalVar("crateMaskF4"), true) + 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) - limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[4]+1, player, "crateMaskF4", battlefield:getLocalVar("crateMaskF4"), true) + 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) - limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[4]+2, player, "crateMaskF4", battlefield:getLocalVar("crateMaskF4"), true) + 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) - limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[4]+3, player, "crateMaskF4", battlefield:getLocalVar("crateMaskF4"), true) + 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) diff --git a/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua b/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua index c818477d349..e0793db9d51 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua @@ -79,7 +79,7 @@ function onMobDeath(mob, player, isKiller) 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) - limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[3]+i, player, "crateMaskF3", battlefield:getLocalVar("crateMaskF3")) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[3]+i, player, "crateMaskF3", battlefield:getLocalVar("crateMaskF3")) break end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua b/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua index db66a37d1e1..31a1429545b 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua @@ -100,7 +100,7 @@ function onMobDeath(mob, player, isKiller) 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) - limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[4]+i, player, "crateMaskF4", battlefield:getLocalVar("crateMaskF4")) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[4]+i, player, "crateMaskF4", battlefield:getLocalVar("crateMaskF4")) break end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua b/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua index b09d2886095..17fb3158877 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua @@ -98,7 +98,7 @@ function onMobDeath(mob, player, isKiller) 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) - limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[2]+i, player, "crateMaskF2", battlefield:getLocalVar("crateMaskF2")) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[2]+i, player, "crateMaskF2", battlefield:getLocalVar("crateMaskF2")) break end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua b/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua index 6a8cc8dc929..aabd7bc63db 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua @@ -30,7 +30,7 @@ function onMobDeath(mob, player, isKiller) 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) - limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[6]+i, player, "crateMaskF6", battlefield:getLocalVar("crateMaskF6")) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[6]+i, player, "crateMaskF6", battlefield:getLocalVar("crateMaskF6")) break end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Slime.lua b/scripts/zones/Temenos/mobs/Enhanced_Slime.lua index ae1d38a2efe..678bf472607 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Slime.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Slime.lua @@ -62,7 +62,7 @@ function onMobDeath(mob, player, isKiller) 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) - limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[5]+i, player, "crateMaskF5", battlefield:getLocalVar("crateMaskF5")) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[5]+i, player, "crateMaskF5", battlefield:getLocalVar("crateMaskF5")) break end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua b/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua index 5d2718a68e5..10f4be225d0 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua @@ -62,7 +62,7 @@ function onMobDeath(mob, player, isKiller) 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) - limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[1]+i, player, "crateMaskF1", battlefield:getLocalVar("crateMaskF1")) + dsp.limbus.spawnRandomCrate(ID.npc.TEMENOS_W_CRATE[1]+i, player, "crateMaskF1", battlefield:getLocalVar("crateMaskF1")) break end end diff --git a/scripts/zones/Temenos/mobs/Fire_Elemental.lua b/scripts/zones/Temenos/mobs/Fire_Elemental.lua index 37b98e571e4..a9e5fc135c5 100644 --- a/scripts/zones/Temenos/mobs/Fire_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Fire_Elemental.lua @@ -16,19 +16,19 @@ function onMobDeath(mob, player, isKiller) switch (mobID): caseof { [ID.mob.TEMENOS_E_MOB[1]] = function() GetNPCByID(ID.npc.TEMENOS_E_CRATE[1]):setPos(mobX, mobY, mobZ) - limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[1], player, "crateMaskF1", battlefield:getLocalVar("crateMaskF1"), true) + 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) - limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[1]+1, player, "crateMaskF1", battlefield:getLocalVar("crateMaskF1"), true) + 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) - limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[1]+2, player, "crateMaskF1", battlefield:getLocalVar("crateMaskF1"), true) + 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) - limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[1]+3, player, "crateMaskF1", battlefield:getLocalVar("crateMaskF1"), true) + 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) diff --git a/scripts/zones/Temenos/mobs/Ice_Elemental.lua b/scripts/zones/Temenos/mobs/Ice_Elemental.lua index ae07800f482..3793a449b16 100644 --- a/scripts/zones/Temenos/mobs/Ice_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Ice_Elemental.lua @@ -56,19 +56,19 @@ function onMobDeath(mob, player, isKiller) switch (mobID): caseof { [ID.mob.TEMENOS_E_MOB[2]] = function() GetNPCByID(ID.npc.TEMENOS_E_CRATE[2]):setPos(mobX, mobY, mobZ) - limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[2], player, "crateMaskF2", battlefield:getLocalVar("crateMaskF2"), true) + 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) - limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[2]+1, player, "crateMaskF2", battlefield:getLocalVar("crateMaskF2"), true) + 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) - limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[2]+2, player, "crateMaskF2", battlefield:getLocalVar("crateMaskF2"), true) + 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) - limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[2]+3, player, "crateMaskF2", battlefield:getLocalVar("crateMaskF2"), true) + 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) diff --git a/scripts/zones/Temenos/mobs/Mystic_Avatar.lua b/scripts/zones/Temenos/mobs/Mystic_Avatar.lua index e8327fb4945..c84d67c3d32 100644 --- a/scripts/zones/Temenos/mobs/Mystic_Avatar.lua +++ b/scripts/zones/Temenos/mobs/Mystic_Avatar.lua @@ -41,19 +41,6 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end GetNPCByID(ID.npc.TEMENOS_E_GATE[1]):setAnimation(8) - else - for i = 0, 3 do - if ID.npc.TEMENOS_E_CRATE[1]+i ~= mimicID then - local model = GetNPCByID(ID.npc.TEMENOS_E_CRATE[1]+i):getModelId() - if model == 960 and bit.band(1, crateMask) ~= 0 then - GetNPCByID(ID.npc.TEMENOS_E_CRATE[1]+i):untargetable(false) - elseif model == 961 and bit.band(2, crateMask) ~= 0 then - GetNPCByID(ID.npc.TEMENOS_E_CRATE[1]+i):untargetable(false) - elseif model == 962 and bit.band(4, crateMask) ~= 0 then - GetNPCByID(ID.npc.TEMENOS_E_CRATE[1]+i):untargetable(false) - end - end - end end elseif mobID == ID.mob.TEMENOS_E_MOB[2]+4 then --Shiva local crateMask = battlefield:getLocalVar("crateMaskF2") @@ -64,19 +51,6 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end GetNPCByID(ID.npc.TEMENOS_E_GATE[2]):setAnimation(8) - else - for i = 0, 3 do - if ID.npc.TEMENOS_E_CRATE[2]+i ~= mimicID then - local model = GetNPCByID(ID.npc.TEMENOS_E_CRATE[2]+i):getModelId() - if model == 960 and bit.band(1, crateMask) ~= 0 then - GetNPCByID(ID.npc.TEMENOS_E_CRATE[2]+i):untargetable(false) - elseif model == 961 and bit.band(2, crateMask) ~= 0 then - GetNPCByID(ID.npc.TEMENOS_E_CRATE[2]+i):untargetable(false) - elseif model == 962 and bit.band(4, crateMask) ~= 0 then - GetNPCByID(ID.npc.TEMENOS_E_CRATE[2]+i):untargetable(false) - end - end - end end elseif mobID == ID.mob.TEMENOS_E_MOB[3]+4 then --Garuda local crateMask = battlefield:getLocalVar("crateMaskF3") @@ -87,19 +61,6 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end GetNPCByID(ID.npc.TEMENOS_E_GATE[3]):setAnimation(8) - else - for i = 0, 3 do - if ID.npc.TEMENOS_E_CRATE[3]+i ~= mimicID then - local model = GetNPCByID(ID.npc.TEMENOS_E_CRATE[3]+i):getModelId() - if model == 960 and bit.band(1, crateMask) ~= 0 then - GetNPCByID(ID.npc.TEMENOS_E_CRATE[3]+i):untargetable(false) - elseif model == 961 and bit.band(2, crateMask) ~= 0 then - GetNPCByID(ID.npc.TEMENOS_E_CRATE[3]+i):untargetable(false) - elseif model == 962 and bit.band(4, crateMask) ~= 0 then - GetNPCByID(ID.npc.TEMENOS_E_CRATE[3]+i):untargetable(false) - end - end - end end elseif mobID == ID.mob.TEMENOS_E_MOB[4]+4 then --Titan local crateMask = battlefield:getLocalVar("crateMaskF4") @@ -110,19 +71,6 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end GetNPCByID(ID.npc.TEMENOS_E_GATE[4]):setAnimation(8) - else - for i = 0, 3 do - if ID.npc.TEMENOS_E_CRATE[4]+i ~= mimicID then - local model = GetNPCByID(ID.npc.TEMENOS_E_CRATE[4]+i):getModelId() - if model == 960 and bit.band(1, crateMask) ~= 0 then - GetNPCByID(ID.npc.TEMENOS_E_CRATE[4]+i):untargetable(false) - elseif model == 961 and bit.band(2, crateMask) ~= 0 then - GetNPCByID(ID.npc.TEMENOS_E_CRATE[4]+i):untargetable(false) - elseif model == 962 and bit.band(4, crateMask) ~= 0 then - GetNPCByID(ID.npc.TEMENOS_E_CRATE[4]+i):untargetable(false) - end - end - end end elseif mobID == ID.mob.TEMENOS_E_MOB[5]+4 then --Ramuh local crateMask = battlefield:getLocalVar("crateMaskF5") @@ -133,19 +81,6 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end GetNPCByID(ID.npc.TEMENOS_E_GATE[5]):setAnimation(8) - else - for i = 0, 3 do - if ID.npc.TEMENOS_E_CRATE[5]+i ~= mimicID then - local model = GetNPCByID(ID.npc.TEMENOS_E_CRATE[5]+i):getModelId() - if model == 960 and bit.band(1, crateMask) ~= 0 then - GetNPCByID(ID.npc.TEMENOS_E_CRATE[5]+i):untargetable(false) - elseif model == 961 and bit.band(2, crateMask) ~= 0 then - GetNPCByID(ID.npc.TEMENOS_E_CRATE[5]+i):untargetable(false) - elseif model == 962 and bit.band(4, crateMask) ~= 0 then - GetNPCByID(ID.npc.TEMENOS_E_CRATE[5]+i):untargetable(false) - end - end - end end elseif mobID == ID.mob.TEMENOS_E_MOB[6]+4 then --Leviathan local crateMask = battlefield:getLocalVar("crateMaskF6") @@ -156,22 +91,7 @@ function onMobDeath(mob, player, isKiller) member:messageSpecial(ID.text.TIME_LEFT, battlefield:getRemainingTime()/60) end GetNPCByID(ID.npc.TEMENOS_E_GATE[6]):setAnimation(8) - else - for i = 0, 3 do - if ID.npc.TEMENOS_E_CRATE[6]+i ~= mimicID then - local model = GetNPCByID(ID.npc.TEMENOS_E_CRATE[6]+i):getModelId() - if model == 960 and bit.band(1, crateMask) ~= 0 then - GetNPCByID(ID.npc.TEMENOS_E_CRATE[6]+i):untargetable(false) - elseif model == 961 and bit.band(2, crateMask) ~= 0 then - GetNPCByID(ID.npc.TEMENOS_E_CRATE[6]+i):untargetable(false) - elseif model == 962 and bit.band(4, crateMask) ~= 0 then - GetNPCByID(ID.npc.TEMENOS_E_CRATE[6]+i):untargetable(false) - end - end - end end - elseif mobID == ID.mob.TEMENOS_E_MOB[7]+2 then --Fenrir - GetNPCByID(battlefield:getLocalVar("otherCrate")):untargetable(false) 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 diff --git a/scripts/zones/Temenos/mobs/Proto-Ultima.lua b/scripts/zones/Temenos/mobs/Proto-Ultima.lua index ecc64e163ac..8e59af969e9 100644 --- a/scripts/zones/Temenos/mobs/Proto-Ultima.lua +++ b/scripts/zones/Temenos/mobs/Proto-Ultima.lua @@ -11,7 +11,7 @@ function onMobSpawn(mob) end function onMobEngaged(mob, target) - limbus.hideArmouryCrates(mob:getBattlefieldID()) + dsp.limbus.hideArmouryCrates(mob:getBattlefieldID()) end function onMobFight(mob, target) diff --git a/scripts/zones/Temenos/mobs/Temenos_Aern.lua b/scripts/zones/Temenos/mobs/Temenos_Aern.lua index 9df561da628..c14b6394954 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Aern.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Aern.lua @@ -27,16 +27,16 @@ function onMobDespawn(mob) switch (mobID): caseof { [ID.mob.TEMENOS_C_MOB[5]+19] = function() - limbus.ExtendTimeLimit(battlefield, 5, 37) + dsp.limbus.extendTimeLimit(battlefield, 5, 37) end, [ID.mob.TEMENOS_C_MOB[5]+20] = function() - limbus.ExtendTimeLimit(battlefield, 5, 37) + dsp.limbus.extendTimeLimit(battlefield, 5, 37) end, [ID.mob.TEMENOS_C_MOB[5]+29] = function() - limbus.ExtendTimeLimit(battlefield, 5, 37) + dsp.limbus.extendTimeLimit(battlefield, 5, 37) end, [ID.mob.TEMENOS_C_MOB[5]+30] = function() - limbus.ExtendTimeLimit(battlefield, 5, 37) + dsp.limbus.extendTimeLimit(battlefield, 5, 37) end, } local leftAern=0 diff --git a/scripts/zones/Temenos/mobs/Thunder_Elemental.lua b/scripts/zones/Temenos/mobs/Thunder_Elemental.lua index d52d0f3866b..0fe7449b0cb 100644 --- a/scripts/zones/Temenos/mobs/Thunder_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Thunder_Elemental.lua @@ -56,19 +56,19 @@ function onMobDeath(mob, player, isKiller) switch (mobID): caseof { [ID.mob.TEMENOS_E_MOB[5]] = function() GetNPCByID(ID.npc.TEMENOS_E_CRATE[5]):setPos(mobX, mobY, mobZ) - limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[5], player, "crateMaskF5", battlefield:getLocalVar("crateMaskF5"), true) + 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) - limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[5]+1, player, "crateMaskF5", battlefield:getLocalVar("crateMaskF5"), true) + 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) - limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[5]+2, player, "crateMaskF5", battlefield:getLocalVar("crateMaskF5"), true) + 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) - limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[5]+3, player, "crateMaskF5", battlefield:getLocalVar("crateMaskF5"), true) + 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) diff --git a/scripts/zones/Temenos/mobs/Water_Elemental.lua b/scripts/zones/Temenos/mobs/Water_Elemental.lua index c49738e17bc..5b99872a4b1 100644 --- a/scripts/zones/Temenos/mobs/Water_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Water_Elemental.lua @@ -16,19 +16,19 @@ function onMobDeath(mob, player, isKiller) switch (mobID): caseof { [ID.mob.TEMENOS_E_MOB[6]] = function() GetNPCByID(ID.npc.TEMENOS_E_CRATE[6]):setPos(mobX, mobY, mobZ) - limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[6], player, "crateMaskF6", battlefield:getLocalVar("crateMaskF6"), true) + 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) - limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[6]+1, player, "crateMaskF6", battlefield:getLocalVar("crateMaskF6"), true) + 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) - limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[6]+2, player, "crateMaskF6", battlefield:getLocalVar("crateMaskF6"), true) + 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) - limbus.spawnRandomCrate(ID.npc.TEMENOS_E_CRATE[6]+3, player, "crateMaskF6", battlefield:getLocalVar("crateMaskF6"), true) + 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) diff --git a/scripts/zones/Temenos/npcs/Armoury_Crate.lua b/scripts/zones/Temenos/npcs/Armoury_Crate.lua index 87f3ff07248..60c0d354c68 100644 --- a/scripts/zones/Temenos/npcs/Armoury_Crate.lua +++ b/scripts/zones/Temenos/npcs/Armoury_Crate.lua @@ -1266,193 +1266,197 @@ function onTrigger(player, npc) local Z = npc:getZPos() local bfid = battlefield:getID() local hold = false - - 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 - limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) - elseif model == 962 then - limbus.ExtendTimeLimit(battlefield, 15, 37) + 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, 37) + end end end end + else + dsp.limbus.handleLootRolls(battlefield, loot[bfid][7], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) end - else - limbus.handleLootRolls(battlefield, loot[bfid][7], nil, npc) - battlefield:setLocalVar("cutsceneTimer", 10) - battlefield:setLocalVar("lootSeen", 1) - 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 - GetNPCByID(ID.npc.TEMENOS_N_CRATE[i]):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(ID.npc.TEMENOS_N_CRATE[i]+1):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(ID.npc.TEMENOS_N_CRATE[i]+2):setStatus(dsp.status.DISAPPEAR) - if model == 960 then - dsp.battlefield.HealPlayers(battlefield) - elseif model == 961 then - limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) - elseif model == 962 then - limbus.ExtendTimeLimit(battlefield, 15, 37) + 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, 37) + end end end end + else + dsp.limbus.handleLootRolls(battlefield, loot[bfid][7], nil, npc) + battlefield:setLocalVar("cutsceneTimer", 10) + battlefield:setLocalVar("lootSeen", 1) end - else - 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 - DespawnMob(ID.mob.TEMENOS_E_MOB[i]) - DespawnMob(ID.mob.TEMENOS_E_MOB[i]+1) - DespawnMob(ID.mob.TEMENOS_E_MOB[i]+2) - DespawnMob(ID.mob.TEMENOS_E_MOB[i]+3) - if model == 960 then - GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+1):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+2):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+3):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(ID.npc.TEMENOS_E_GATE[i]):setAnimation(8) - dsp.battlefield.HealPlayers(battlefield) - 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, + [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 + 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 - elseif model == 961 then - if mask > 7 and spawnMimic then - battlefield:setLocalVar("crateMaskF"..i, mask-8) - battlefield:setLocalVar("mimicID", crateID) - 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 - GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+1):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+2):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+3):setStatus(dsp.status.DISAPPEAR) + DespawnMob(ID.mob.TEMENOS_E_MOB[i]) + DespawnMob(ID.mob.TEMENOS_E_MOB[i]+1) + DespawnMob(ID.mob.TEMENOS_E_MOB[i]+2) + DespawnMob(ID.mob.TEMENOS_E_MOB[i]+3) + if model == 960 then GetNPCByID(ID.npc.TEMENOS_E_GATE[i]):setAnimation(8) - limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) + dsp.battlefield.HealPlayers(battlefield) + 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 + elseif model == 961 then + if mask > 7 and spawnMimic then + battlefield:setLocalVar("crateMaskF"..i, mask-8) + battlefield:setLocalVar("mimicID", crateID) + 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 + GetNPCByID(ID.npc.TEMENOS_E_GATE[i]):setAnimation(8) + dsp.limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) + 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 + elseif model == 962 then + GetNPCByID(ID.npc.TEMENOS_E_GATE[i]):setAnimation(8) + dsp.limbus.extendTimeLimit(battlefield, 15, 37) 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 - elseif model == 962 then - GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+1):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+2):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(ID.npc.TEMENOS_E_CRATE[i]+3):setStatus(dsp.status.DISAPPEAR) - GetNPCByID(ID.npc.TEMENOS_E_GATE[i]):setAnimation(8) - limbus.ExtendTimeLimit(battlefield, 15, 37) - 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 + else + hold = true + player:messageSpecial(ID.text.CANNOT_OPEN_CHEST) 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) - limbus.handleLootRolls(battlefield, loot[bfid][7], nil, npc) - battlefield:setLocalVar("cutsceneTimer", 10) - battlefield:setLocalVar("lootSeen", 1) - end - else - player:messageSpecial(ID.text.CANNOT_OPEN_CHEST) - end - end - end, - [1301] = function() -- Temenos Central Basement Crate Handling - limbus.handleLootRolls(battlefield, loot[bfid], nil, npc) - battlefield:setLocalVar("cutsceneTimer", 10) - battlefield:setLocalVar("lootSeen", 1) - end, - [1303] = function() -- Temenos Central F1 Crate Handling - limbus.handleLootRolls(battlefield, loot[bfid], nil, npc) - battlefield:setLocalVar("cutsceneTimer", 10) - battlefield:setLocalVar("lootSeen", 1) - end, - [1304] = function() -- Temenos Central F2 Crate Handling - limbus.handleLootRolls(battlefield, loot[bfid], nil, npc) - battlefield:setLocalVar("cutsceneTimer", 10) - battlefield:setLocalVar("lootSeen", 1) - end, - [1305] = function() -- Temenos Central F3 Crate Handling - 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 - 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 - GetNPCByID(i):setStatus(dsp.status.DISAPPEAR) + 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 - else - limbus.handleLootRolls(battlefield, loot[bfid][1], nil, npc) + 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 - end, - } - if not hold then - npc:setStatus(dsp.status.DISAPPEAR) + 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 end From 1d8042fe018dc7fe7a551ef5db56aba8ab1a1ec1 Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Sat, 21 Dec 2019 22:14:59 -0500 Subject: [PATCH 29/33] moved gate stuff to global function --- scripts/globals/limbus.lua | 267 +++++++++--------- scripts/zones/Apollyon/Zone.lua | 43 +-- .../zones/Apollyon/bcnms/central_apollyon.lua | 2 +- scripts/zones/Apollyon/bcnms/cs_apollyon.lua | 2 +- scripts/zones/Apollyon/bcnms/ne_apollyon.lua | 6 +- scripts/zones/Apollyon/bcnms/nw_apollyon.lua | 6 +- scripts/zones/Apollyon/bcnms/se_apollyon.lua | 6 +- scripts/zones/Apollyon/bcnms/sw_apollyon.lua | 6 +- .../Apollyon/mobs/Apollyon_Scavenger.lua | 8 +- .../zones/Apollyon/mobs/Apollyon_Sweeper.lua | 8 +- scripts/zones/Apollyon/mobs/Armoury_Crate.lua | 12 +- scripts/zones/Apollyon/mobs/Bardha.lua | 8 +- scripts/zones/Apollyon/mobs/Barometz.lua | 8 +- scripts/zones/Apollyon/mobs/Bialozar.lua | 8 +- scripts/zones/Apollyon/mobs/Borametz.lua | 8 +- scripts/zones/Apollyon/mobs/Cronos.lua | 8 +- scripts/zones/Apollyon/mobs/Fir_Bholg.lua | 36 +-- scripts/zones/Apollyon/mobs/Ghost_Clot.lua | 9 +- .../zones/Apollyon/mobs/Goobbue_Harvester.lua | 8 +- scripts/zones/Apollyon/mobs/Gorynich.lua | 8 +- scripts/zones/Apollyon/mobs/Grave_Digger.lua | 9 +- scripts/zones/Apollyon/mobs/Hyperion.lua | 8 +- scripts/zones/Apollyon/mobs/Inhumer.lua | 3 - .../zones/Apollyon/mobs/Mountain_Buffalo.lua | 8 +- scripts/zones/Apollyon/mobs/Okeanos.lua | 8 +- scripts/zones/Apollyon/mobs/Thiazi.lua | 8 +- scripts/zones/Apollyon/mobs/Tieholtsodi.lua | 9 +- scripts/zones/Temenos/Zone.lua | 3 +- .../bcnms/central_temenos_1st_floor.lua | 6 +- .../bcnms/central_temenos_2nd_floor.lua | 6 +- .../bcnms/central_temenos_3rd_floor.lua | 6 +- .../bcnms/central_temenos_4th_floor.lua | 6 +- .../bcnms/central_temenos_basement.lua | 6 +- .../Temenos/bcnms/temenos_eastern_tower.lua | 6 +- .../Temenos/bcnms/temenos_northern_tower.lua | 6 +- .../Temenos/bcnms/temenos_western_tower.lua | 6 +- .../Temenos/mobs/Cryptonberry_Abductor.lua | 12 +- .../Temenos/mobs/Cryptonberry_Designator.lua | 12 +- .../zones/Temenos/mobs/Enhanced_Beetle.lua | 12 +- .../zones/Temenos/mobs/Enhanced_Lizard.lua | 12 +- .../Temenos/mobs/Enhanced_Mandragora.lua | 12 +- scripts/zones/Temenos/mobs/Enhanced_Pugil.lua | 12 +- scripts/zones/Temenos/mobs/Enhanced_Slime.lua | 12 +- scripts/zones/Temenos/mobs/Enhanced_Tiger.lua | 12 +- .../zones/Temenos/mobs/Enhanced_Vulture.lua | 3 - .../Temenos/mobs/Goblin_Slaughterman.lua | 8 +- scripts/zones/Temenos/mobs/Kari.lua | 8 +- .../zones/Temenos/mobs/Kindred_Black_Mage.lua | 8 +- scripts/zones/Temenos/mobs/Moblin_Dustman.lua | 8 +- scripts/zones/Temenos/mobs/Mystic_Avatar.lua | 44 +-- .../Temenos/mobs/Praetorian_Guard_CCCXI.lua | 12 +- .../Temenos/mobs/Praetorian_Guard_CCXX.lua | 12 +- .../Temenos/mobs/Praetorian_Guard_CXLVIII.lua | 12 +- .../Temenos/mobs/Praetorian_Guard_LXXIII.lua | 13 +- scripts/zones/Temenos/mobs/Proto-Ultima.lua | 2 +- scripts/zones/Temenos/mobs/Telchines_Bard.lua | 8 +- .../zones/Temenos/mobs/Telchines_Dragoon.lua | 8 +- scripts/zones/Temenos/mobs/Telchines_Monk.lua | 8 +- .../Temenos/mobs/Telchines_White_Mage.lua | 8 +- scripts/zones/Temenos/npcs/Armoury_Crate.lua | 22 +- 60 files changed, 322 insertions(+), 529 deletions(-) diff --git a/scripts/globals/limbus.lua b/scripts/globals/limbus.lua index f235210bf14..fe6a6eba579 100644 --- a/scripts/globals/limbus.lua +++ b/scripts/globals/limbus.lua @@ -19,7 +19,7 @@ function dsp.limbus.enter(player, entrance) } end -function dsp.limbus.hideArmouryCrates(bfid, show) +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 @@ -118,16 +118,94 @@ function dsp.limbus.hideArmouryCrates(bfid, show) [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 show then - GetNPCByID(i):setStatus(dsp.status.NORMAL) - else + if hide then GetNPCByID(i):setStatus(dsp.status.DISAPPEAR) + else + GetNPCByID(i):setStatus(dsp.status.NORMAL) end end end, } end +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 + ID = zones[dsp.zone.TEMENOS] + end + + 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 + + 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 + function dsp.limbus.handleLootRolls(battlefield, lootTable, players, npc) players = players or battlefield:getPlayers() for i = 1, #lootTable do @@ -164,128 +242,6 @@ function dsp.limbus.extendTimeLimit(battlefield, minutes, zone, npc) end end -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 - 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 - 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 - 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 - 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 - end - - return daykill -end - -function dsp.limbus.hideDoors(bfid, open) - local animation = 9 - if open then animation = 8 end - local ID - if bfid == 1290 or bfid == 1291 or bfid == 1292 or bfid == 1293 then - ID = zones[dsp.zone.APOLLYON] - else - ID = zones[dsp.zone.TEMENOS] - 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 - function dsp.limbus.spawnRandomCrate(npc, player, var, mask, canMimic) local battlefield = player:getBattlefield() if mask < 8 then @@ -405,4 +361,61 @@ function dsp.limbus.spawnRandomCrate(npc, player, var, mask, canMimic) battlefield:setLocalVar(var, mask+8) return end -end \ No newline at end of file +end + +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 + 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 + 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 + 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 + 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 + end + + return daykill +end diff --git a/scripts/zones/Apollyon/Zone.lua b/scripts/zones/Apollyon/Zone.lua index e8f8ba6e316..4c428b3b575 100644 --- a/scripts/zones/Apollyon/Zone.lua +++ b/scripts/zones/Apollyon/Zone.lua @@ -4,8 +4,15 @@ local ID = require("scripts/zones/Apollyon/IDs") require("scripts/globals/conquest") require("scripts/globals/zone") +require("scripts/globals/status") function onInitialize(zone) + 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 @@ -58,61 +65,61 @@ function onRegionEnter(player,region) -- APOLLYON SE TELEPORTER [20] = function() - if GetNPCByID(ID.npc.APOLLYON_SE_PORTAL[1]):getAnimation() == 8 then player:startEvent(219) end + 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() == 8 then player:startEvent(218) end + 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() == 8 then player:startEvent(216) end + 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() == 8 then player:startEvent(217) end + 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() == 8 then player:startEvent(214) end + 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() == 8 then player:startEvent(212) end + 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() == 8 then player:startEvent(210) end + 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() == 8 then player:startEvent(215) end + 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() == 8 then player:startEvent(213) end + 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() == 8 then player:startEvent(208) end + 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() == 8 then player:startEvent(209) end + 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() == 8 then player:startEvent(207) end + 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() == 8 then player:startEvent(206) end + 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_SW_PORTAL[1]):getAnimation() == 8 then player:startEvent(205) end + if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[1]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(205) end end, [34] = function() - if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[2]):getAnimation() == 8 then player:startEvent(203) end + if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[2]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(203) end end, [35] = function() - if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[3]):getAnimation() == 8 then player:startEvent(201) end + if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[3]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(201) end end, [36] = function() - if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[4]):getAnimation() == 8 then player:startEvent(200) end + if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[4]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(200) end end, [37] = function () - if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[5]):getAnimation() == 8 then player:startEvent(202) end + if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[5]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(202) end end, } end diff --git a/scripts/zones/Apollyon/bcnms/central_apollyon.lua b/scripts/zones/Apollyon/bcnms/central_apollyon.lua index b094417a435..8254150b2b2 100644 --- a/scripts/zones/Apollyon/bcnms/central_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/central_apollyon.lua @@ -11,7 +11,7 @@ function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) battlefield:setLocalVar("podReady", 1) SetServerVariable("[Central_Apollyon]Time", battlefield:getTimeLimit()/60) - dsp.limbus.hideArmouryCrates(battlefield:getID()) + dsp.limbus.setupArmouryCrates(battlefield:getID()) end function onBattlefieldTick(battlefield, tick) diff --git a/scripts/zones/Apollyon/bcnms/cs_apollyon.lua b/scripts/zones/Apollyon/bcnms/cs_apollyon.lua index 60defbee369..24f4ec85c6c 100644 --- a/scripts/zones/Apollyon/bcnms/cs_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/cs_apollyon.lua @@ -10,7 +10,7 @@ local ID = require("scripts/zones/Apollyon/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) SetServerVariable("[CS_Apollyon]Time", battlefield:getTimeLimit()/60) - dsp.limbus.hideArmouryCrates(battlefield:getID()) + dsp.limbus.setupArmouryCrates(battlefield:getID()) end function onBattlefieldTick(battlefield, tick) diff --git a/scripts/zones/Apollyon/bcnms/ne_apollyon.lua b/scripts/zones/Apollyon/bcnms/ne_apollyon.lua index 1a70861a843..f41c3efa864 100644 --- a/scripts/zones/Apollyon/bcnms/ne_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/ne_apollyon.lua @@ -11,8 +11,8 @@ function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("randomF1", math.random(1,6)) battlefield:setLocalVar("loot", 1) SetServerVariable("[NE_Apollyon]Time", battlefield:getTimeLimit()/60) - dsp.limbus.hideDoors(battlefield:getID()) - dsp.limbus.hideArmouryCrates(battlefield:getID()) + dsp.limbus.handleDoors(battlefield) + dsp.limbus.setupArmouryCrates(battlefield:getID()) end function onBattlefieldTick(battlefield, tick) @@ -32,7 +32,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - dsp.limbus.hideDoors(battlefield:getID(), true) + dsp.limbus.handleDoors(battlefield, true) SetServerVariable("[NE_Apollyon]Time", 0) end diff --git a/scripts/zones/Apollyon/bcnms/nw_apollyon.lua b/scripts/zones/Apollyon/bcnms/nw_apollyon.lua index d344f9156ba..b846b759c3f 100644 --- a/scripts/zones/Apollyon/bcnms/nw_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/nw_apollyon.lua @@ -11,8 +11,8 @@ 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.hideDoors(battlefield:getID()) - dsp.limbus.hideArmouryCrates(battlefield:getID()) + dsp.limbus.handleDoors(battlefield) + dsp.limbus.setupArmouryCrates(battlefield:getID()) end function onBattlefieldTick(battlefield, tick) @@ -32,7 +32,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - dsp.limbus.hideDoors(battlefield:getID(), true) + dsp.limbus.handleDoors(battlefield, true) SetServerVariable("[NW_Apollyon]Time", 0) end diff --git a/scripts/zones/Apollyon/bcnms/se_apollyon.lua b/scripts/zones/Apollyon/bcnms/se_apollyon.lua index 8e7c4f90921..728d3ba589d 100644 --- a/scripts/zones/Apollyon/bcnms/se_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/se_apollyon.lua @@ -10,8 +10,8 @@ local ID = require("scripts/zones/Apollyon/IDs") function onBattlefieldInitialise(battlefield) --battlefield:setLocalVar("loot", 1) SetServerVariable("[SE_Apollyon]Time", battlefield:getTimeLimit()/60) - dsp.limbus.hideDoors(battlefield:getID()) - dsp.limbus.hideArmouryCrates(battlefield:getID()) + dsp.limbus.handleDoors(battlefield) + dsp.limbus.setupArmouryCrates(battlefield:getID()) end function onBattlefieldTick(battlefield, tick) @@ -31,7 +31,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - dsp.limbus.hideDoors(battlefield:getID(), true) + dsp.limbus.handleDoors(battlefield, true) SetServerVariable("[SE_Apollyon]Time", 0) end diff --git a/scripts/zones/Apollyon/bcnms/sw_apollyon.lua b/scripts/zones/Apollyon/bcnms/sw_apollyon.lua index bba534d3f11..95c103ad695 100644 --- a/scripts/zones/Apollyon/bcnms/sw_apollyon.lua +++ b/scripts/zones/Apollyon/bcnms/sw_apollyon.lua @@ -11,12 +11,12 @@ function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) battlefield:setLocalVar("lootSpawned", 1) SetServerVariable("[SW_Apollyon]Time", battlefield:getTimeLimit()/60) - dsp.limbus.hideDoors(battlefield:getID()) + 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.hideArmouryCrates(battlefield:getID()) + dsp.limbus.setupArmouryCrates(battlefield:getID()) end function onBattlefieldTick(battlefield, tick) @@ -39,7 +39,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - dsp.limbus.hideDoors(battlefield:getID(), true) + dsp.limbus.handleDoors(battlefield, true) SetServerVariable("[SW_Apollyon]Time", 0) end diff --git a/scripts/zones/Apollyon/mobs/Apollyon_Scavenger.lua b/scripts/zones/Apollyon/mobs/Apollyon_Scavenger.lua index cc4a43f5b44..a1bd111144a 100644 --- a/scripts/zones/Apollyon/mobs/Apollyon_Scavenger.lua +++ b/scripts/zones/Apollyon/mobs/Apollyon_Scavenger.lua @@ -2,6 +2,7 @@ -- Area: Apollyon NW -- Mob: Apollyon Scavenger ----------------------------------- +require("scripts/globals/limbus") local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) @@ -10,13 +11,8 @@ function onMobDeath(mob, player, isKiller) local battlefield = player:getBattlefield() local randomF3 = battlefield:getLocalVar("randomF3") if mobID == randomF3 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 battlefield:setLocalVar("randomF4", ID.mob.APOLLYON_NW_MOB[4]+math.random(1,6)) - GetNPCByID(ID.npc.APOLLYON_NW_PORTAL[3]):setAnimation(8) + 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 index 3193ffc3a8a..9eeb8772302 100644 --- a/scripts/zones/Apollyon/mobs/Apollyon_Sweeper.lua +++ b/scripts/zones/Apollyon/mobs/Apollyon_Sweeper.lua @@ -2,6 +2,7 @@ -- Area: Apollyon NE -- Mob: Apollyon Sweeper ----------------------------------- +require("scripts/globals/limbus") local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) @@ -10,13 +11,8 @@ function onMobDeath(mob, player, isKiller) local battlefield = player:getBattlefield() local portalTriggerF3 = battlefield:getLocalVar("portalTriggerF3") if portalTriggerF3 == mobID 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 battlefield:setLocalVar("randomF4", ID.mob.APOLLYON_NE_MOB[4]+math.random(0,2)) - GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[3]):setAnimation(8) + 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/Armoury_Crate.lua b/scripts/zones/Apollyon/mobs/Armoury_Crate.lua index 3e3f6e47c79..d1dd6a2bee7 100644 --- a/scripts/zones/Apollyon/mobs/Armoury_Crate.lua +++ b/scripts/zones/Apollyon/mobs/Armoury_Crate.lua @@ -2,6 +2,8 @@ -- Area: Apollyon SW -- Mob: Armoury Crate ----------------------------------- +require("scripts/globals/status") +require("scripts/globals/limbus") local ID = require("scripts/zones/Apollyon/IDs") function onMobInitialize(mob) @@ -10,14 +12,8 @@ end function onMobDeath(mob, player, isKiller) if isKiller then - local battlefield = player:getBattlefield() - if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[3]):getAnimation() ~= 8 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 - GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[3]):setAnimation(8) + if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[3]):getAnimation() ~= dsp.animation.CLOSE_DOOR then + dsp.limbus.handleDoors(player:getBattlefield(), true, ID.npc.APOLLYON_SW_PORTAL[3]) end end end diff --git a/scripts/zones/Apollyon/mobs/Bardha.lua b/scripts/zones/Apollyon/mobs/Bardha.lua index a716da39a37..f06c10445ff 100644 --- a/scripts/zones/Apollyon/mobs/Bardha.lua +++ b/scripts/zones/Apollyon/mobs/Bardha.lua @@ -2,6 +2,7 @@ -- Area: Apollyon NW -- Mob: Bardha ----------------------------------- +require("scripts/globals/limbus") local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) @@ -10,13 +11,8 @@ function onMobDeath(mob, player, isKiller) local battlefield = player:getBattlefield() local randomF1 = battlefield:getLocalVar("randomF1") if mobID == randomF1 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 battlefield:setLocalVar("randomF2", ID.mob.APOLLYON_NW_MOB[2]+math.random(1,8)) - GetNPCByID(ID.npc.APOLLYON_NW_PORTAL[1]):setAnimation(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 adf53916b78..19492146957 100644 --- a/scripts/zones/Apollyon/mobs/Barometz.lua +++ b/scripts/zones/Apollyon/mobs/Barometz.lua @@ -2,6 +2,7 @@ -- Area: Apollyon NE -- Mob: Barometz ----------------------------------- +require("scripts/globals/limbus") local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) @@ -16,13 +17,8 @@ function onMobDeath(mob, player, isKiller) 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 - 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 battlefield:setLocalVar("randomF2", ID.mob.APOLLYON_NE_MOB[2]+math.random(0,2)) - GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[1]):setAnimation(8) + dsp.limbus.handleDoors(battlefield, true, ID.npc.APOLLYON_NE_PORTAL[1]) end end end diff --git a/scripts/zones/Apollyon/mobs/Bialozar.lua b/scripts/zones/Apollyon/mobs/Bialozar.lua index 63b1dda1977..db2c156ce4f 100644 --- a/scripts/zones/Apollyon/mobs/Bialozar.lua +++ b/scripts/zones/Apollyon/mobs/Bialozar.lua @@ -2,6 +2,7 @@ -- Area: Apollyon NE -- Mob: Bialozar ----------------------------------- +require("scripts/globals/limbus") local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) @@ -16,11 +17,6 @@ function onMobDeath(mob, player, isKiller) 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 - 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 battlefield:setLocalVar("portalTriggerF3", ID.mob.APOLLYON_NE_MOB[3]) battlefield:setLocalVar("itemF3", ID.mob.APOLLYON_NE_MOB[3]+1) if #players > 6 then @@ -37,7 +33,7 @@ function onMobDeath(mob, player, isKiller) 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 - GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[2]):setAnimation(8) + 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 f3737dba5d2..8f91a20e8d7 100644 --- a/scripts/zones/Apollyon/mobs/Borametz.lua +++ b/scripts/zones/Apollyon/mobs/Borametz.lua @@ -2,6 +2,7 @@ -- Area: Apollyon NE -- Mob: Borametz ----------------------------------- +require("scripts/globals/limbus") local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) @@ -16,13 +17,8 @@ function onMobDeath(mob, player, isKiller) 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 - 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 battlefield:setLocalVar("randomF2", ID.mob.APOLLYON_NE_MOB[2]+math.random(0,2)) - GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[1]):setAnimation(8) + dsp.limbus.handleDoors(battlefield, true, ID.npc.APOLLYON_NE_PORTAL[1]) end end end diff --git a/scripts/zones/Apollyon/mobs/Cronos.lua b/scripts/zones/Apollyon/mobs/Cronos.lua index d3572e05c1d..99c035271ee 100644 --- a/scripts/zones/Apollyon/mobs/Cronos.lua +++ b/scripts/zones/Apollyon/mobs/Cronos.lua @@ -2,6 +2,7 @@ -- Area: Apollyon NE -- Mob: Cronos ----------------------------------- +require("scripts/globals/limbus") local ID = require("scripts/zones/Apollyon/IDs") function onMobSpawn(mob) @@ -14,12 +15,7 @@ function onMobDeath(mob, player, isKiller) local battlefield = player:getBattlefield() local randomF4 = battlefield:getLocalVar("randomF4") if randomF4 == mobID 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 - GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[4]):setAnimation(8) + 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/Fir_Bholg.lua b/scripts/zones/Apollyon/mobs/Fir_Bholg.lua index 0d5b429a412..edaccfae452 100644 --- a/scripts/zones/Apollyon/mobs/Fir_Bholg.lua +++ b/scripts/zones/Apollyon/mobs/Fir_Bholg.lua @@ -2,6 +2,7 @@ -- Area: Apollyon SW -- Mob: Fir Bholg ----------------------------------- +require("scripts/globals/limbus") mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Apollyon/IDs") @@ -17,12 +18,7 @@ function onMobDeath(mob, player, isKiller) 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 - 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[1]):setAnimation(8) + dsp.limbus.handleDoors(battlefield, true, ID.npc.APOLLYON_SW_PORTAL[1]) end end elseif race == 3 or race == 4 then @@ -32,12 +28,7 @@ function onMobDeath(mob, player, isKiller) 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 - 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[1]):setAnimation(8) + dsp.limbus.handleDoors(battlefield, true, ID.npc.APOLLYON_SW_PORTAL[1]) end end elseif race == 5 or race == 6 then @@ -47,12 +38,7 @@ function onMobDeath(mob, player, isKiller) 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 - 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[1]):setAnimation(8) + dsp.limbus.handleDoors(battlefield, true, ID.npc.APOLLYON_SW_PORTAL[1]) end end elseif race == 7 then @@ -62,12 +48,7 @@ function onMobDeath(mob, player, isKiller) 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 - 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[1]):setAnimation(8) + dsp.limbus.handleDoors(battlefield, true, ID.npc.APOLLYON_SW_PORTAL[1]) end end elseif race == 8 then @@ -77,12 +58,7 @@ function onMobDeath(mob, player, isKiller) 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 - 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[1]):setAnimation(8) + dsp.limbus.handleDoors(battlefield, true, ID.npc.APOLLYON_SW_PORTAL[1]) end end end diff --git a/scripts/zones/Apollyon/mobs/Ghost_Clot.lua b/scripts/zones/Apollyon/mobs/Ghost_Clot.lua index c943ff5cf70..2e99e621de9 100644 --- a/scripts/zones/Apollyon/mobs/Ghost_Clot.lua +++ b/scripts/zones/Apollyon/mobs/Ghost_Clot.lua @@ -2,6 +2,7 @@ -- Area: Apollyon SE -- Mob: Ghost Clot ----------------------------------- +require("scripts/globals/limbus") local ID = require("scripts/zones/Apollyon/IDs") function onMobSpawn(mob) @@ -12,12 +13,6 @@ end function onMobDeath(mob, player, isKiller) if isKiller 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_SE_PORTAL[1]):setAnimation(8) + 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 index e94aaef02b9..380186d2dc2 100644 --- a/scripts/zones/Apollyon/mobs/Goobbue_Harvester.lua +++ b/scripts/zones/Apollyon/mobs/Goobbue_Harvester.lua @@ -2,6 +2,7 @@ -- Area: Apollyon NE -- Mob: Goobbue Harvester ----------------------------------- +require("scripts/globals/limbus") local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) @@ -15,13 +16,8 @@ function onMobDeath(mob, player, isKiller) 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 - 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 battlefield:setLocalVar("randomF2", ID.mob.APOLLYON_NE_MOB[2]+math.random(0,2)) - GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[1]):setAnimation(8) + 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 8a4a6f963c3..a7476d62c19 100644 --- a/scripts/zones/Apollyon/mobs/Gorynich.lua +++ b/scripts/zones/Apollyon/mobs/Gorynich.lua @@ -2,6 +2,7 @@ -- Area: Apollyon NW -- Mob: Gorynich ----------------------------------- +require("scripts/globals/limbus") local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) @@ -10,12 +11,7 @@ function onMobDeath(mob, player, isKiller) local battlefield = player:getBattlefield() local randomF4 = battlefield:getLocalVar("randomF4") if mobID == randomF4 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 - GetNPCByID(ID.npc.APOLLYON_NW_PORTAL[4]):setAnimation(8) + 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 fecd261ed6d..77389c7a492 100644 --- a/scripts/zones/Apollyon/mobs/Grave_Digger.lua +++ b/scripts/zones/Apollyon/mobs/Grave_Digger.lua @@ -2,6 +2,7 @@ -- Area: Apollyon SE -- Mob: Grave Digger ----------------------------------- +require("scripts/globals/limbus") local ID = require("scripts/zones/Apollyon/IDs") function onMobSpawn(mob) @@ -12,12 +13,6 @@ end function onMobDeath(mob, player, isKiller) if isKiller 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_SE_PORTAL[3]):setAnimation(8) + 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/Hyperion.lua b/scripts/zones/Apollyon/mobs/Hyperion.lua index e72089f11ec..7bfd50a00aa 100644 --- a/scripts/zones/Apollyon/mobs/Hyperion.lua +++ b/scripts/zones/Apollyon/mobs/Hyperion.lua @@ -2,6 +2,7 @@ -- Area: Apollyon NE -- Mob: Hyperion ----------------------------------- +require("scripts/globals/limbus") local ID = require("scripts/zones/Apollyon/IDs") function onMobSpawn(mob) @@ -14,12 +15,7 @@ function onMobDeath(mob, player, isKiller) local battlefield = player:getBattlefield() local randomF4 = battlefield:getLocalVar("randomF4") if randomF4 == mobID 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 - GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[4]):setAnimation(8) + 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/Inhumer.lua b/scripts/zones/Apollyon/mobs/Inhumer.lua index 1974995dd01..f29958a2f92 100644 --- a/scripts/zones/Apollyon/mobs/Inhumer.lua +++ b/scripts/zones/Apollyon/mobs/Inhumer.lua @@ -11,9 +11,6 @@ function onMobSpawn(mob) end function onMobDeath(mob, player, isKiller) - local mobX = mob:getXPos() - local mobY = mob:getYPos() - local mobZ = mob:getZPos() local cratePos = { [1] = {366.000,-0.500,-313.000}, diff --git a/scripts/zones/Apollyon/mobs/Mountain_Buffalo.lua b/scripts/zones/Apollyon/mobs/Mountain_Buffalo.lua index ac59f578081..4a08583ca28 100644 --- a/scripts/zones/Apollyon/mobs/Mountain_Buffalo.lua +++ b/scripts/zones/Apollyon/mobs/Mountain_Buffalo.lua @@ -2,6 +2,7 @@ -- Area: Apollyon NW -- Mob: Mountain Buffalo ----------------------------------- +require("scripts/globals/limbus") local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) @@ -10,13 +11,8 @@ function onMobDeath(mob, player, isKiller) local battlefield = player:getBattlefield() local randomF2 = battlefield:getLocalVar("randomF2") if mobID == randomF2 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 battlefield:setLocalVar("randomF3", ID.mob.APOLLYON_NW_MOB[3]+math.random(1,8)) - GetNPCByID(ID.npc.APOLLYON_NW_PORTAL[2]):setAnimation(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/Okeanos.lua b/scripts/zones/Apollyon/mobs/Okeanos.lua index 1510c664e69..2760ad9a896 100644 --- a/scripts/zones/Apollyon/mobs/Okeanos.lua +++ b/scripts/zones/Apollyon/mobs/Okeanos.lua @@ -2,6 +2,7 @@ -- Area: Apollyon NE -- Mob: Okeanos ----------------------------------- +require("scripts/globals/limbus") local ID = require("scripts/zones/Apollyon/IDs") function onMobSpawn(mob) @@ -14,12 +15,7 @@ function onMobDeath(mob, player, isKiller) local battlefield = player:getBattlefield() local randomF4 = battlefield:getLocalVar("randomF4") if randomF4 == mobID 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 - GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[4]):setAnimation(8) + 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/Thiazi.lua b/scripts/zones/Apollyon/mobs/Thiazi.lua index 54eefa987a3..992f7903457 100644 --- a/scripts/zones/Apollyon/mobs/Thiazi.lua +++ b/scripts/zones/Apollyon/mobs/Thiazi.lua @@ -2,6 +2,7 @@ -- Area: Apollyon NE -- Mob: Thiazi ----------------------------------- +require("scripts/globals/limbus") local ID = require("scripts/zones/Apollyon/IDs") function onMobDeath(mob, player, isKiller) @@ -16,11 +17,6 @@ function onMobDeath(mob, player, isKiller) 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 - 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 battlefield:setLocalVar("portalTriggerF3", ID.mob.APOLLYON_NE_MOB[3]) battlefield:setLocalVar("itemF3", ID.mob.APOLLYON_NE_MOB[3]+1) if #players > 6 then @@ -37,7 +33,7 @@ function onMobDeath(mob, player, isKiller) 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 - GetNPCByID(ID.npc.APOLLYON_NE_PORTAL[2]):setAnimation(8) + 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/Tieholtsodi.lua b/scripts/zones/Apollyon/mobs/Tieholtsodi.lua index cb48df90c77..2206b75eaef 100644 --- a/scripts/zones/Apollyon/mobs/Tieholtsodi.lua +++ b/scripts/zones/Apollyon/mobs/Tieholtsodi.lua @@ -2,6 +2,7 @@ -- Area: Apollyon SE -- Mob: Tieholtsodi ----------------------------------- +require("scripts/globals/limbus") mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Apollyon/IDs") @@ -21,12 +22,6 @@ end function onMobDeath(mob, player, isKiller) if isKiller 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_SE_PORTAL[2]):setAnimation(8) + 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/Temenos/Zone.lua b/scripts/zones/Temenos/Zone.lua index b64f3808cdd..86d364caca0 100644 --- a/scripts/zones/Temenos/Zone.lua +++ b/scripts/zones/Temenos/Zone.lua @@ -6,6 +6,7 @@ local ID = require("scripts/zones/Temenos/IDs") require("scripts/globals/conquest") require("scripts/globals/settings") +require("scripts/globals/status") ----------------------------------- function onInitialize(zone) @@ -63,7 +64,7 @@ end function onRegionEnter(player, region) local regionID = region:GetRegionID() local cs - if GetNPCByID(ID.npc.TEMENOS_N_GATE[1] + (regionID - 1)):getAnimation() == 8 then + if GetNPCByID(ID.npc.TEMENOS_N_GATE[1] + (regionID - 1)):getAnimation() == dsp.animation.OPEN_DOOR then if regionID > 20 then cs = 120 else diff --git a/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua index a3b2d91936c..fa234a5caf1 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_1st_floor.lua @@ -10,8 +10,8 @@ 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.hideDoors(battlefield:getID()) - dsp.limbus.hideArmouryCrates(battlefield:getID()) + dsp.limbus.handleDoors(battlefield) + dsp.limbus.setupArmouryCrates(battlefield:getID()) end function onBattlefieldTick(battlefield, tick) @@ -28,7 +28,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - dsp.limbus.hideDoors(battlefield:getID(), true) + dsp.limbus.handleDoors(battlefield, true) SetServerVariable("[Central_Temenos_1st_Floor]Time", 0) end diff --git a/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua index 7b2ebb6e338..cacdec8f3bf 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_2nd_floor.lua @@ -10,8 +10,8 @@ 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.hideDoors(battlefield:getID()) - dsp.limbus.hideArmouryCrates(battlefield:getID()) + dsp.limbus.handleDoors(battlefield) + dsp.limbus.setupArmouryCrates(battlefield:getID()) end function onBattlefieldTick(battlefield, tick) @@ -28,7 +28,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - dsp.limbus.hideDoors(battlefield:getID(), true) + dsp.limbus.handleDoors(battlefield, true) SetServerVariable("[Central_Temenos_2nd_Floor]Time", 0) end diff --git a/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua index 1911830e941..bdefab17959 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_3rd_floor.lua @@ -10,8 +10,8 @@ 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.hideDoors(battlefield:getID()) - dsp.limbus.hideArmouryCrates(battlefield:getID()) + 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 @@ -30,7 +30,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - dsp.limbus.hideDoors(battlefield:getID(), true) + dsp.limbus.handleDoors(battlefield, true) SetServerVariable("[Central_Temenos_3rd_Floor]Time", 0) end diff --git a/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua b/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua index 6e24bf9b736..83ee98b1f84 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_4th_floor.lua @@ -10,8 +10,8 @@ local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) SetServerVariable("[Central_Temenos_4th_Floor]Time", battlefield:getTimeLimit()/60) - dsp.limbus.hideDoors(battlefield:getID()) - dsp.limbus.hideArmouryCrates(battlefield:getID(), true) + dsp.limbus.handleDoors(battlefield) + dsp.limbus.setupArmouryCrates(battlefield:getID()) end function onBattlefieldTick(battlefield, tick) @@ -28,7 +28,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - dsp.limbus.hideDoors(battlefield:getID(), true) + dsp.limbus.handleDoors(battlefield, true) SetServerVariable("[Central_Temenos_4th_Floor]Time", 0) end diff --git a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua index 74f01d393f3..08c95db8e3d 100644 --- a/scripts/zones/Temenos/bcnms/central_temenos_basement.lua +++ b/scripts/zones/Temenos/bcnms/central_temenos_basement.lua @@ -11,8 +11,8 @@ function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) battlefield:setLocalVar("lootSpawned", 1) SetServerVariable("[Central_Temenos_Basement]Time", battlefield:getTimeLimit()/60) - dsp.limbus.hideDoors(battlefield:getID()) - dsp.limbus.hideArmouryCrates(battlefield:getID()) + 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) @@ -35,7 +35,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - dsp.limbus.hideDoors(battlefield:getID(), true) + dsp.limbus.handleDoors(battlefield, true) SetServerVariable("[Central_Temenos_Basement]Time", 0) end diff --git a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua index 3e6a8f446d8..d6bb3850c48 100644 --- a/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_eastern_tower.lua @@ -10,8 +10,8 @@ local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) SetServerVariable("[Temenos_Eastern_Tower]Time", battlefield:getTimeLimit()/60) - dsp.limbus.hideDoors(battlefield:getID()) - dsp.limbus.hideArmouryCrates(battlefield:getID()) + dsp.limbus.handleDoors(battlefield) + dsp.limbus.setupArmouryCrates(battlefield:getID()) end function onBattlefieldTick(battlefield, tick) @@ -28,7 +28,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - dsp.limbus.hideDoors(battlefield:getID(), true) + dsp.limbus.handleDoors(battlefield, true) SetServerVariable("[Temenos_Eastern_Tower]Time", 0) end diff --git a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua index 84b9467336b..90e55e0a18b 100644 --- a/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_northern_tower.lua @@ -11,8 +11,8 @@ function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) battlefield:setLocalVar("randomF1", math.random(1,6)) SetServerVariable("[Temenos_Northern_Tower]Time", battlefield:getTimeLimit()/60) - dsp.limbus.hideDoors(battlefield:getID()) - dsp.limbus.hideArmouryCrates(battlefield:getID()) + 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) @@ -34,7 +34,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - dsp.limbus.hideDoors(battlefield:getID(), true) + dsp.limbus.handleDoors(battlefield, true) SetServerVariable("[Temenos_Northern_Tower]Time", 0) end diff --git a/scripts/zones/Temenos/bcnms/temenos_western_tower.lua b/scripts/zones/Temenos/bcnms/temenos_western_tower.lua index 60688551f30..a7db723177d 100644 --- a/scripts/zones/Temenos/bcnms/temenos_western_tower.lua +++ b/scripts/zones/Temenos/bcnms/temenos_western_tower.lua @@ -10,8 +10,8 @@ local ID = require("scripts/zones/Temenos/IDs") function onBattlefieldInitialise(battlefield) battlefield:setLocalVar("loot", 1) SetServerVariable("[Temenos_Western_Tower]Time", battlefield:getTimeLimit()/60) - dsp.limbus.hideDoors(battlefield:getID()) - dsp.limbus.hideArmouryCrates(battlefield:getID()) + dsp.limbus.handleDoors(battlefield) + dsp.limbus.setupArmouryCrates(battlefield:getID()) end function onBattlefieldTick(battlefield, tick) @@ -28,7 +28,7 @@ function onBattlefieldEnter(player, battlefield) end function onBattlefieldDestroy(battlefield) - dsp.limbus.hideDoors(battlefield:getID(), true) + dsp.limbus.handleDoors(battlefield, true) SetServerVariable("[Temenos_Western_Tower]Time", 0) end diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua index 4aab92865aa..1895534ca4b 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua @@ -2,6 +2,8 @@ -- Area: Temenos N T -- Mob: Cryptonberry Abductor ----------------------------------- +require("scripts/globals/status") +require("scripts/globals/limbus") mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") @@ -44,14 +46,8 @@ end function onMobDeath(mob, player, isKiller) if isKiller then - local battlefield = player:getBattlefield() - if GetNPCByID(ID.npc.TEMENOS_N_GATE[6]):getAnimation() == 9 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 - GetNPCByID(ID.npc.TEMENOS_N_GATE[6]):setAnimation(8) + 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_Designator.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua index c098c738630..235e9165021 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua @@ -2,6 +2,8 @@ -- Area: Temenos N T -- Mob: Cryptonberry Designator ----------------------------------- +require("scripts/globals/status") +require("scripts/globals/limbus") mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") @@ -44,14 +46,8 @@ end function onMobDeath(mob, player, isKiller) if isKiller then - local battlefield = player:getBattlefield() - if GetNPCByID(ID.npc.TEMENOS_N_GATE[6]):getAnimation() == 9 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 - GetNPCByID(ID.npc.TEMENOS_N_GATE[6]):setAnimation(8) + 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/Enhanced_Beetle.lua b/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua index e0793db9d51..08ef38ba2a6 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua @@ -2,6 +2,7 @@ -- Area: Temenos W T -- Mob: Enhanced Beetle ----------------------------------- +require("scripts/globals/status") require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") @@ -59,23 +60,18 @@ end function onMobDeath(mob, player, isKiller) if isKiller then - local battlefield = player:getBattlefield() local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() local mobID = mob:getID() local spawn = math.random(0,1) == 1 - if GetNPCByID(ID.npc.TEMENOS_W_GATE[3]):getAnimation() == 9 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 - GetNPCByID(ID.npc.TEMENOS_W_GATE[3]):setAnimation(8) + 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) diff --git a/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua b/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua index 31a1429545b..09f86241944 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua @@ -2,6 +2,7 @@ -- Area: Temenos W T -- Mob: Enhanced Lizard ----------------------------------- +require("scripts/globals/status") require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") @@ -80,23 +81,18 @@ end function onMobDeath(mob, player, isKiller) if isKiller then - local battlefield = player:getBattlefield() local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() local mobID = mob:getID() local spawn = math.random(0,1) == 1 - if GetNPCByID(ID.npc.TEMENOS_W_GATE[4]):getAnimation() == 9 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 - GetNPCByID(ID.npc.TEMENOS_W_GATE[4]):setAnimation(8) + 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) diff --git a/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua b/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua index 17fb3158877..b218c213205 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua @@ -2,6 +2,7 @@ -- Area: Temenos W T -- Mob: Enhanced Mandragora ----------------------------------- +require("scripts/globals/status") require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") @@ -78,23 +79,18 @@ end function onMobDeath(mob, player, isKiller) if isKiller then - local battlefield = player:getBattlefield() local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() local mobID = mob:getID() local spawn = math.random(0,1) == 1 - if GetNPCByID(ID.npc.TEMENOS_W_GATE[2]):getAnimation() == 9 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 - GetNPCByID(ID.npc.TEMENOS_W_GATE[2]):setAnimation(8) + 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) diff --git a/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua b/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua index aabd7bc63db..a2087e4f568 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua @@ -2,6 +2,7 @@ -- Area: Temenos W T -- Mob: Enhanced Pugil ----------------------------------- +require("scripts/globals/status") require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") @@ -10,23 +11,18 @@ end function onMobDeath(mob, player, isKiller) if isKiller then - local battlefield = player:getBattlefield() local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() local mobID = mob:getID() local spawn = math.random(0,1) == 1 - if GetNPCByID(ID.npc.TEMENOS_W_GATE[6]):getAnimation() == 9 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 - GetNPCByID(ID.npc.TEMENOS_W_GATE[6]):setAnimation(8) + 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) diff --git a/scripts/zones/Temenos/mobs/Enhanced_Slime.lua b/scripts/zones/Temenos/mobs/Enhanced_Slime.lua index 678bf472607..12a39716c46 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Slime.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Slime.lua @@ -2,6 +2,7 @@ -- Area: Temenos W T -- Mob: Enhanced Slime ----------------------------------- +require("scripts/globals/status") require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") @@ -42,23 +43,18 @@ end function onMobDeath(mob, player, isKiller) if isKiller then - local battlefield = player:getBattlefield() local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() local mobID = mob:getID() local spawn = math.random(0,1) == 1 - if GetNPCByID(ID.npc.TEMENOS_W_GATE[5]):getAnimation() == 9 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 - GetNPCByID(ID.npc.TEMENOS_W_GATE[5]):setAnimation(8) + 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) diff --git a/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua b/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua index 10f4be225d0..2fd20a0e9b0 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua @@ -2,6 +2,7 @@ -- Area: Temenos W T -- Mob: Enhanced Tiger ----------------------------------- +require("scripts/globals/status") require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") @@ -42,23 +43,18 @@ end function onMobDeath(mob, player, isKiller) if isKiller then - local battlefield = player:getBattlefield() local mobX = mob:getXPos() local mobY = mob:getYPos() local mobZ = mob:getZPos() local mobID = mob:getID() local spawn = math.random(0,1) == 1 - if GetNPCByID(ID.npc.TEMENOS_W_GATE[1]):getAnimation() == 9 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 - GetNPCByID(ID.npc.TEMENOS_W_GATE[1]):setAnimation(8) + 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) diff --git a/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua b/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua index 2689be21804..45d62f5a728 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Vulture.lua @@ -15,9 +15,6 @@ end function onMobDeath(mob, player, isKiller) if isKiller then - local mobX = mob:getXPos() - local mobY = mob:getYPos() - local mobZ = mob:getZPos() 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() diff --git a/scripts/zones/Temenos/mobs/Goblin_Slaughterman.lua b/scripts/zones/Temenos/mobs/Goblin_Slaughterman.lua index 7af82f74233..9b955d2c1cb 100644 --- a/scripts/zones/Temenos/mobs/Goblin_Slaughterman.lua +++ b/scripts/zones/Temenos/mobs/Goblin_Slaughterman.lua @@ -2,6 +2,7 @@ -- Area: Temenos N T -- Mob: Goblin Slaughterman ----------------------------------- +require("scripts/globals/limbus") mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") @@ -12,12 +13,7 @@ function onMobDeath(mob, player, isKiller) local random = battlefield:getLocalVar("randomF1") if mobID - ID.mob.TEMENOS_N_MOB[1] == random - 1 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 - GetNPCByID(ID.npc.TEMENOS_N_GATE[1]):setAnimation(8) + dsp.limbus.handleDoors(battlefield, true, ID.npc.TEMENOS_N_GATE[1]) end if mobID == ID.mob.TEMENOS_N_MOB[1]+1 and random % 2 == 1 then diff --git a/scripts/zones/Temenos/mobs/Kari.lua b/scripts/zones/Temenos/mobs/Kari.lua index 0d35f5752c6..eef55e8cbef 100644 --- a/scripts/zones/Temenos/mobs/Kari.lua +++ b/scripts/zones/Temenos/mobs/Kari.lua @@ -2,6 +2,7 @@ -- Area: Temenos N T -- Mob: Kari ----------------------------------- +require("scripts/globals/limbus") mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") @@ -30,11 +31,6 @@ function onMobDeath(mob, player, isKiller) if isKiller then local battlefield = player:getBattlefield() battlefield:setLocalVar("randomF3", math.random(1,6)) - 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.TEMENOS_N_GATE[2]):setAnimation(8) + 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 83042e4591e..054a4e5c1e3 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua @@ -2,6 +2,7 @@ -- Area: Temenos N T -- Mob: Kindred Black Mage ----------------------------------- +require("scripts/globals/limbus") mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") @@ -50,12 +51,7 @@ function onMobDeath(mob, player, isKiller) local random = battlefield:getLocalVar("randomF4") if mobID - ID.mob.TEMENOS_N_MOB[4] == random + 4 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 - GetNPCByID(ID.npc.TEMENOS_N_GATE[4]):setAnimation(8) + dsp.limbus.handleDoors(battlefield, true, ID.npc.TEMENOS_N_GATE[4]) end end end diff --git a/scripts/zones/Temenos/mobs/Moblin_Dustman.lua b/scripts/zones/Temenos/mobs/Moblin_Dustman.lua index 8992c4005c2..58b5f5310a9 100644 --- a/scripts/zones/Temenos/mobs/Moblin_Dustman.lua +++ b/scripts/zones/Temenos/mobs/Moblin_Dustman.lua @@ -2,6 +2,7 @@ -- Area: Temenos N T -- Mob: Moblin Dustman ----------------------------------- +require("scripts/globals/limbus") mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") @@ -54,12 +55,7 @@ function onMobDeath(mob, player, isKiller) local random = battlefield:getLocalVar("randomF1") if mobID - ID.mob.TEMENOS_N_MOB[1] == random - 1 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 - GetNPCByID(ID.npc.TEMENOS_N_GATE[1]):setAnimation(8) + 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 c84d67c3d32..37e95a4fad8 100644 --- a/scripts/zones/Temenos/mobs/Mystic_Avatar.lua +++ b/scripts/zones/Temenos/mobs/Mystic_Avatar.lua @@ -2,6 +2,7 @@ -- Area: Temenos E T -- Mob: Mystic Avatar ----------------------------------- +require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") function onMobSpawn(mob) @@ -30,67 +31,36 @@ function onMobDeath(mob, player, isKiller) if isKiller then local mobID = mob:getID() local battlefield = player:getBattlefield() - local mimicID = battlefield:getLocalVar("mimicID") if mobID == ID.mob.TEMENOS_E_MOB[1]+4 then --Ifrit local crateMask = battlefield:getLocalVar("crateMaskF1") if crateMask == 0 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 - GetNPCByID(ID.npc.TEMENOS_E_GATE[1]):setAnimation(8) + 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 - 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.TEMENOS_E_GATE[2]):setAnimation(8) + 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 - 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.TEMENOS_E_GATE[3]):setAnimation(8) + 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 - 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.TEMENOS_E_GATE[4]):setAnimation(8) + 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 - 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.TEMENOS_E_GATE[5]):setAnimation(8) + 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 - 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.TEMENOS_E_GATE[6]):setAnimation(8) + 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) diff --git a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua index a0f0fa2558c..20290315d41 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCCXI.lua @@ -2,12 +2,13 @@ -- Area: Temenos N T -- Mob: Praetorian Guard CCCXI ----------------------------------- +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 - local battlefield = player:getBattlefield() 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 @@ -15,13 +16,8 @@ function onMobDeath(mob, player, isKiller) 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() == 9 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 - GetNPCByID(ID.npc.TEMENOS_N_GATE[5]):setAnimation(8) + 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 index e7e9ecad0b6..375cfdaca2b 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CCXX.lua @@ -2,12 +2,13 @@ -- 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 - local battlefield = player:getBattlefield() 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 @@ -15,13 +16,8 @@ function onMobDeath(mob, player, isKiller) 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() == 9 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 - GetNPCByID(ID.npc.TEMENOS_N_GATE[5]):setAnimation(8) + 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 index fe4ce5ef8a5..6eeb87bb411 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_CXLVIII.lua @@ -2,12 +2,13 @@ -- 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 - local battlefield = player:getBattlefield() 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 @@ -15,13 +16,8 @@ function onMobDeath(mob, player, isKiller) 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() == 9 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 - GetNPCByID(ID.npc.TEMENOS_N_GATE[5]):setAnimation(8) + 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 index 68ca956ae87..6fd7f6dc0c2 100644 --- a/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua +++ b/scripts/zones/Temenos/mobs/Praetorian_Guard_LXXIII.lua @@ -2,13 +2,13 @@ -- 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 - local battlefield = player:getBattlefield() - 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 @@ -16,13 +16,8 @@ function onMobDeath(mob, player, isKiller) 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() == 9 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 - GetNPCByID(ID.npc.TEMENOS_N_GATE[5]):setAnimation(8) + 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 8e59af969e9..2d53d9780ed 100644 --- a/scripts/zones/Temenos/mobs/Proto-Ultima.lua +++ b/scripts/zones/Temenos/mobs/Proto-Ultima.lua @@ -11,7 +11,7 @@ function onMobSpawn(mob) end function onMobEngaged(mob, target) - dsp.limbus.hideArmouryCrates(mob:getBattlefieldID()) + dsp.limbus.setupArmouryCrates(mob:getBattlefieldID(), true) end function onMobFight(mob, target) diff --git a/scripts/zones/Temenos/mobs/Telchines_Bard.lua b/scripts/zones/Temenos/mobs/Telchines_Bard.lua index 2da6727fd8e..05a4267b7fb 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Bard.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Bard.lua @@ -2,6 +2,7 @@ -- Area: Temenos N T -- Mob: Telchines Bard ----------------------------------- +require("scripts/globals/limbus") mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") @@ -13,12 +14,7 @@ function onMobDeath(mob, player, isKiller) if random == 1 then battlefield:setLocalVar("randomF4", math.random(1, 4)) - 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.TEMENOS_N_GATE[3]):setAnimation(8) + dsp.limbus.handleDoors(battlefield, true, ID.npc.TEMENOS_N_GATE[3]) end if random % 2 == 0 then diff --git a/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua b/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua index 68edac862ae..854c87b36eb 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua @@ -2,6 +2,7 @@ -- Area: Temenos N T -- Mob: Telchines Dragoon ----------------------------------- +require("scripts/globals/limbus") mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") @@ -32,12 +33,7 @@ function onMobDeath(mob, player, isKiller) if random == 3 or random == 4 then battlefield:setLocalVar("randomF4", math.random(1, 4)) - 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.TEMENOS_N_GATE[3]):setAnimation(8) + 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 d94700053a8..ab2bdee0463 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Monk.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Monk.lua @@ -2,6 +2,7 @@ -- Area: Temenos N T -- Mob: Telchines Monk ----------------------------------- +require("scripts/globals/limbus") mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") @@ -41,12 +42,7 @@ function onMobDeath(mob, player, isKiller) if mobID - ID.mob.TEMENOS_N_MOB[3] == random - 1 then battlefield:setLocalVar("randomF4", math.random(1, 4)) - 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.TEMENOS_N_GATE[3]):setAnimation(8) + 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 4b4dd235b82..a9670994137 100644 --- a/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua +++ b/scripts/zones/Temenos/mobs/Telchines_White_Mage.lua @@ -2,6 +2,7 @@ -- Area: Temenos N T -- Mob: Telchines White Mage ----------------------------------- +require("scripts/globals/limbus") mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") @@ -13,12 +14,7 @@ function onMobDeath(mob, player, isKiller) if random == 2 then battlefield:setLocalVar("randomF4", math.random(1, 4)) - 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.TEMENOS_N_GATE[3]):setAnimation(8) + dsp.limbus.handleDoors(battlefield, true, ID.npc.TEMENOS_N_GATE[3]) end if random % 2 == 1 then diff --git a/scripts/zones/Temenos/npcs/Armoury_Crate.lua b/scripts/zones/Temenos/npcs/Armoury_Crate.lua index 60c0d354c68..ea1e8807a52 100644 --- a/scripts/zones/Temenos/npcs/Armoury_Crate.lua +++ b/scripts/zones/Temenos/npcs/Armoury_Crate.lua @@ -1333,37 +1333,21 @@ function onTrigger(player, npc) DespawnMob(ID.mob.TEMENOS_E_MOB[i]+2) DespawnMob(ID.mob.TEMENOS_E_MOB[i]+3) if model == 960 then - GetNPCByID(ID.npc.TEMENOS_E_GATE[i]):setAnimation(8) dsp.battlefield.HealPlayers(battlefield) - 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 + 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) - battlefield:setLocalVar("mimicID", crateID) 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 - GetNPCByID(ID.npc.TEMENOS_E_GATE[i]):setAnimation(8) dsp.limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) - 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 + dsp.limbus.handleDoors(battlefield, true, ID.npc.TEMENOS_E_GATE[i]) end elseif model == 962 then - GetNPCByID(ID.npc.TEMENOS_E_GATE[i]):setAnimation(8) dsp.limbus.extendTimeLimit(battlefield, 15, 37) - 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 + dsp.limbus.handleDoors(battlefield, true, ID.npc.TEMENOS_E_GATE[i]) end else hold = true From 915ee89e15bfcbf6a6679a03831ee7001f3ef8ac Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Fri, 27 Dec 2019 02:21:49 -0500 Subject: [PATCH 30/33] Temenos mob pathing refactor and cleanup --- scripts/zones/Temenos/mobs/Air_Elemental.lua | 23 +++----- .../Temenos/mobs/Cryptonberry_Abductor.lua | 23 ++++---- .../Temenos/mobs/Cryptonberry_Designator.lua | 23 ++++---- .../zones/Temenos/mobs/Enhanced_Beetle.lua | 39 ++++++------- .../zones/Temenos/mobs/Enhanced_Lizard.lua | 51 ++++++++--------- .../Temenos/mobs/Enhanced_Mandragora.lua | 55 ++++++++----------- scripts/zones/Temenos/mobs/Enhanced_Slime.lua | 29 ++++------ scripts/zones/Temenos/mobs/Enhanced_Tiger.lua | 29 ++++------ scripts/zones/Temenos/mobs/Ice_Elemental.lua | 27 ++++----- scripts/zones/Temenos/mobs/Kari.lua | 19 +++---- .../zones/Temenos/mobs/Kindred_Black_Mage.lua | 27 ++++----- scripts/zones/Temenos/mobs/Moblin_Dustman.lua | 31 ++++------- .../zones/Temenos/mobs/Telchines_Dragoon.lua | 15 ++--- scripts/zones/Temenos/mobs/Telchines_Monk.lua | 19 +++---- .../zones/Temenos/mobs/Thunder_Elemental.lua | 27 ++++----- 15 files changed, 179 insertions(+), 258 deletions(-) diff --git a/scripts/zones/Temenos/mobs/Air_Elemental.lua b/scripts/zones/Temenos/mobs/Air_Elemental.lua index 89b08461b3d..5d933b00634 100644 --- a/scripts/zones/Temenos/mobs/Air_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Air_Elemental.lua @@ -5,17 +5,17 @@ require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") -local path = +local path = -- {X, Y, Z, flags} { [1] = { - 20.000,6.000,150.000, - 20.000,6.000,142.640, + {20.000, 6.000, 150.000, 0}, + {20.000, 6.000, 142.640, 0} }, [3] = { - 60.000,6.000,150.000, - 60.000,6.000,142.640, + {60.000, 6.000, 150.000, 0}, + {60.000, 6.000, 142.640, 0} }, } @@ -24,15 +24,10 @@ function onMobRoam(mob) local offset = mob:getID() - ID.mob.TEMENOS_E_MOB[3] local pause = mob:getLocalVar("pause") if pause < os.time() then - if offset == 1 or offset == 3 then - local point = mob:getLocalVar("point")+1 - local X = path[offset][point] - local Y = path[offset][point+1] - local Z = path[offset][point+2] - mob:pathTo(X, Y, Z, 0) - mob:setLocalVar("point", (point+2)%6) - mob:setLocalVar("pause", os.time()+5) - end + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(unpack(path[offset][point])) + mob:setLocalVar("pause", os.time()+5) end end end diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua index 1895534ca4b..b1d1228ae77 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua @@ -7,22 +7,22 @@ require("scripts/globals/limbus") mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") -local path = +local path = -- {X, Y, Z, flags} { [2] = { - -424.000, -80.000, 420.500, - -456.000, -80.000, 420.500, + {-424.000, -80.000, 420.500, 0}, + {-456.000, -80.000, 420.500, 0} }, [6] = { - -460.500, -80.000, 416.000, - -460.500, -80.000, 408.000, + {-460.500, -80.000, 416.000, 0}, + {-460.500, -80.000, 408.000, 0} }, [10] = { - -419.500, -80.000, 416.000, - -419.500, -80.000, 408.000, + {-419.500, -80.000, 416.000, 0}, + {-419.500, -80.000, 408.000, 0} }, } @@ -30,12 +30,9 @@ 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")+1 - mob:setLocalVar("point", (point+2)%6) - local X = path[offset][point] - local Y = path[offset][point+1] - local Z = path[offset][point+2] - mob:pathTo(X, Y, Z, 0) + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(unpack(path[offset][point])) if offset == 2 then mob:setLocalVar("pause", os.time()+30) else diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua index 235e9165021..bae0c00d0b7 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua @@ -7,22 +7,22 @@ require("scripts/globals/limbus") mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") -local path = +local path = -- {X, Y, Z, flags} { [3] = { - -456.000, -80.000, 419.500, - -424.000, -80.000, 419.500, + {-456.000, -80.000, 419.500, 0}, + {-424.000, -80.000, 419.500, 0} }, [7] = { - -459.500, -80.000, 416.000, - -459.500, -80.000, 408.000, + {-459.500, -80.000, 416.000, 0}, + {-459.500, -80.000, 408.000, 0} }, [11] = { - -420.500, -80.000, 416.000, - -420.500, -80.000, 408.000, + {-420.500, -80.000, 416.000, 0}, + {-420.500, -80.000, 408.000, 0} }, } @@ -30,12 +30,9 @@ 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")+1 - mob:setLocalVar("point", (point+2)%6) - local X = path[offset][point] - local Y = path[offset][point+1] - local Z = path[offset][point+2] - mob:pathTo(X, Y, Z, 0) + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(unpack(path[offset][point])) if offset == 3 then mob:setLocalVar("pause", os.time()+30) else diff --git a/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua b/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua index 08ef38ba2a6..280af1c98d3 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua @@ -6,54 +6,47 @@ require("scripts/globals/status") require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") -local path = +local path = -- {X, Y, Z, flags} { [0] = { - 18.000,80.000,-140.000, - 8.000,80.000,-140.000, + {18.000, 80.000, -140.000, 0}, + {8.000, 80.000, -140.000, 0} }, [1] = { - 20.000,80.000,-138.000, - 20.000,80.000,-128.000, + {20.000, 80.000, -138.000, 0}, + {20.000, 80.000, -128.000, 0} }, [2] = { - 22.000,80.000,-140.000, - 32.000,80.000,-140.000, + {22.000, 80.000, -140.000, 0}, + {32.000, 80.000, -140.000, 0} }, [3] = { - 58.000,80.000,-140.000, - 48.000,80.000,-140.000, + {58.000, 80.000, -140.000, 0}, + {48.000, 80.000, -140.000, 0} }, [4] = { - 60.000,80.000,-138.000, - 60.000,80.000,-128.000, + {60.000, 80.000, -138.000, 0}, + {60.000, 80.000, -128.000, 0} }, [5] = { - 62.000,80.000,-140.000, - 72.000,80.000,-140.000, + {62.000, 80.000, -140.000, 0}, + {72.000, 80.000, -140.000, 0} }, } -function onMobSpawn(mob) - onMobRoam(mob) -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")+1 - mob:setLocalVar("point", (point+2)%6) - local X = path[offset][point] - local Y = path[offset][point+1] - local Z = path[offset][point+2] - mob:pathTo(X, Y, Z, 0) + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(unpack(path[offset][point])) mob:setLocalVar("pause", os.time()+30) end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua b/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua index 09f86241944..c97043e626b 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua @@ -6,69 +6,62 @@ require("scripts/globals/status") require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") -local path = +local path = -- {X, Y, Z, flags} { [0] = { - -87.000,-80.000,-150.500, - -153.000,-80.000,-150.500, + {-87.000, -80.000, -150.500, 0}, + {-153.000, -80.000, -150.500, 0} }, [1] = { - -150.000,-80.000,-147.000, - -130.000,-80.000,-147.000, + {-150.000, -80.000, -147.000, 0}, + {-130.000, -80.000, -147.000, 0} }, [2] = { - -90.000,-80.000,-147.000, - -110.000,-80.000,-147.000, + {-90.000, -80.000, -147.000, 0}, + {-110.000, -80.000, -147.000, 0} }, [3] = { - -153.000,-80.000,-142.000, - -87.000,-80.000,-142.000, + {-153.000, -80.000, -142.000, 0}, + {-87.000, -80.000, -142.000, 0} }, [4] = { - -87.000,-80.000,-138.000, - -153.000,-80.000,-138.000, + {-87.000, -80.000, -138.000, 0}, + {-153.000, -80.000, -138.000, 0} }, [5] = { - -111.960,-80.000,-140.000, - -127.960,-80.000,-140.000, + {-111.960, -80.000, -140.000, 0}, + {-127.960, -80.000, -140.000, 0} }, [6] = { - -150.000,-80.000,-133.000, - -130.000,-80.000,-133.000, + {-150.000, -80.000, -133.000, 0}, + {-130.000, -80.000, -133.000, 0} }, [7] = { - -90.000,-80.000,-133.000, - -110.000,-80.000,-133.000, + {-90.000, -80.000, -133.000, 0}, + {-110.000, -80.000, -133.000, 0} }, [8] = { - -153.000,-80.000,-129.500, - -87.000,-80.000,-129.500, + {-153.000, -80.000, -129.500, 0}, + {-87.000, -80.000, -129.500, 0} }, } -function onMobSpawn(mob) - onMobRoam(mob) -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")+1 - mob:setLocalVar("point", (point+2)%6) - local X = path[offset][point] - local Y = path[offset][point+1] - local Z = path[offset][point+2] - mob:pathTo(X, Y, Z, 0) + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(unpack(path[offset][point])) if offset == 5 then mob:setLocalVar("pause", os.time()+10) elseif offset == 1 or offset == 2 or offset == 6 or offset == 7 then diff --git a/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua b/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua index b218c213205..6b79396b997 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua @@ -6,73 +6,62 @@ require("scripts/globals/status") require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") -local path = +local path = -- {X, Y, Z, flags} { [0] = { - 198.000,-81.000,-74.000, - 198.000,-81.000,-86.000, + {198.000, -81.000, -74.000, 0}, + {198.000, -81.000, -86.000, 0} }, [1] = { - 202.000,-81.000,-86.000, - 202.000,-81.000,-74.000, + {202.000, -81.000, -86.000, 0}, + {202.000, -81.000, -74.000, 0} }, [2] = { - 207.000,-81.000,-88.000, - 193.000,-81.000,-88.000, + {207.000, -81.000, -88.000, 0}, + {193.000, -81.000, -88.000, 0} }, [3] = { - 208.000,-81.000,-73.000, - 208.000,-81.000,-87.000, + {208.000, -81.000, -73.000, 0}, + {208.000, -81.000, -87.000, 0} }, [4] = { - 193.000,-81.000,-72.000, - 207.000,-81.000,-72.000, + {193.000, -81.000, -72.000, 0}, + {207.000, -81.000, -72.000, 0} }, [5] = { - 192.000,-81.000,-87.000, - 192.000,-81.000,-73.000, + {192.000, -81.000, -87.000, 0}, + {192.000, -81.000, -73.000, 0} }, [6] = { - 203.560,-80.000,-140.000, - 232.680,-80.000,-140.000, + {203.560, -80.000, -140.000, 0}, + {232.680, -80.000, -140.000, 0} }, [7] = { - 205.640,-80.000,-140.000, - 234.600,-80.000,-140.000, + {205.640, -80.000, -140.000, 0}, + {234.600, -80.000, -140.000, 0} }, [8] = { - 207.600,-80.000,-140.000, - 236.560,-80.000,-140.000, + {207.600, -80.000, -140.000, 0}, + {236.560, -80.000, -140.000, 0} }, } -function onMobSpawn(mob) - local offset = mob:getID() - ID.mob.TEMENOS_W_MOB[2] - if offset == 0 or offset == 1 then - mob:setLocalVar("pause", os.time()+5) - end - onMobRoam(mob) -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")+1 - mob:setLocalVar("point", (point+2)%6) - local X = path[offset][point] - local Y = path[offset][point+1] - local Z = path[offset][point+2] - mob:pathTo(X, Y, Z, 0) + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(unpack(path[offset][point])) mob:setLocalVar("pause", os.time()+15) end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Slime.lua b/scripts/zones/Temenos/mobs/Enhanced_Slime.lua index 12a39716c46..2b35f6c1b88 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Slime.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Slime.lua @@ -6,38 +6,29 @@ require("scripts/globals/status") require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") -local path = +local path = -- {X, Y, Z, flags} { [2] = { - -300.000,79.500,-130.000, - -300.000,79.500,-150.000, + {-300.000, 79.500, -130.000, 10}, + {-300.000, 79.500, -150.000, 10} }, [5] = { - -260.000,79.500,-130.000, - -260.000,79.500,-150.000, + {-260.000, 79.500, -130.000, 10}, + {-260.000, 79.500, -150.000, 10} }, } -function onMobSpawn(mob) - onMobRoam(mob) -end - function onMobRoam(mob) local offset = mob:getID() - ID.mob.TEMENOS_W_MOB[5] local pause = mob:getLocalVar("pause") - if pause < os.time() then - if offset == 2 or offset == 5 then - local point = mob:getLocalVar("point")+1 - mob:setLocalVar("point", (point+2)%6) - local X = path[offset][point] - local Y = path[offset][point+1] - local Z = path[offset][point+2] - mob:pathTo(X, Y, Z, 10) - mob:setLocalVar("pause", os.time()+35) - end + if pause < os.time() and (offset == 2 or offset == 5) then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(unpack(path[offset][point])) + mob:setLocalVar("pause", os.time()+35) end end diff --git a/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua b/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua index 2fd20a0e9b0..8eed3b9866b 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua @@ -6,38 +6,29 @@ require("scripts/globals/status") require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") -local path = +local path = -- {X, Y, Z, flags} { [2] = { - 377.635, 74.000, -100.000, - 343.635, 68.000, -100.000, + {377.635, 74.000, -100.000, 0}, + {343.635, 68.000, -100.000, 0} }, [6] = { - 340.000, 74.000, -137.500, - 340.000, 68.000, -103.500, + {340.000, 74.000, -137.500, 0}, + {340.000, 68.000, -103.500, 0} }, } -function onMobSpawn(mob) - onMobRoam(mob) -end - function onMobRoam(mob) local offset = mob:getID() - ID.mob.TEMENOS_W_MOB[1] local pause = mob:getLocalVar("pause") - if pause < os.time() then - if offset == 2 or offset == 6 then - local point = mob:getLocalVar("point")+1 - mob:setLocalVar("point", (point+2)%6) - local X = path[offset][point] - local Y = path[offset][point+1] - local Z = path[offset][point+2] - mob:pathTo(X, Y, Z, 0) - mob:setLocalVar("pause", os.time()+20) - end + if pause < os.time() and (offset == 2 or offset == 6) then + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(unpack(path[offset][point])) + mob:setLocalVar("pause", os.time()+20) end end diff --git a/scripts/zones/Temenos/mobs/Ice_Elemental.lua b/scripts/zones/Temenos/mobs/Ice_Elemental.lua index 3793a449b16..f0e6b9bdb8b 100644 --- a/scripts/zones/Temenos/mobs/Ice_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Ice_Elemental.lua @@ -5,27 +5,27 @@ require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") -local path = +local path = -- {X, Y, Z, flags} { [0] = { - 200.000,-161.000,197.000, - 200.000,-161.000,190.000, + {200.000, -161.000, 197.000, 0}, + {200.000, -161.000, 190.000, 0} }, [1] = { - 197.000,-161.000,200.000, - 190.000,-161.000,200.000, + {197.000, -161.000, 200.000, 0}, + {190.000, -161.000, 200.000, 0} }, [2] = { - 200.000,-161.000,203.000, - 200.000,-161.000,210.000, + {200.000, -161.000, 203.000, 0}, + {200.000, -161.000, 210.000, 0} }, [3] = { - 203.000,-161.000,200.000, - 210.000,-161.000,200.000, + {203.000, -161.000, 200.000, 0}, + {210.000, -161.000, 200.000, 0} }, } @@ -34,12 +34,9 @@ function onMobRoam(mob) 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")+1 - mob:setLocalVar("point", (point+2)%6) - local X = path[offset][point] - local Y = path[offset][point+1] - local Z = path[offset][point+2] - mob:pathTo(X, Y, Z, 0) + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(unpack(path[offset][point])) mob:setLocalVar("pause", os.time()+5) end end diff --git a/scripts/zones/Temenos/mobs/Kari.lua b/scripts/zones/Temenos/mobs/Kari.lua index eef55e8cbef..29ef7f6a0c7 100644 --- a/scripts/zones/Temenos/mobs/Kari.lua +++ b/scripts/zones/Temenos/mobs/Kari.lua @@ -6,23 +6,20 @@ require("scripts/globals/limbus") mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") -local path = +local path = -- {X, Y, Z, flags} { - 185.000, -82.000, 465.000, - 215.000, -82.000, 465.000, - 215.000, -82.000, 495.500, - 185.000, -82.000, 495.000, + {185.000, -82.000, 465.000, 10}, + {215.000, -82.000, 465.000, 10}, + {215.000, -82.000, 495.500, 10}, + {185.000, -82.000, 495.000, 10} } function onMobRoam(mob) local pause = mob:getLocalVar("pause") if pause < os.time() then - local point = mob:getLocalVar("point")+1 - mob:setLocalVar("point", (point+2)%12) - local X = path[point] - local Y = path[point+1] - local Z = path[point+2] - mob:pathTo(X, Y, Z, 10) + local point = (mob:getLocalVar("point") % 4)+1 + mob:setLocalVar("point", point) + mob:pathTo(unpack(path[point])) mob:setLocalVar("pause", os.time()+15) end end diff --git a/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua b/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua index 054a4e5c1e3..90fc45ea95e 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua @@ -6,27 +6,27 @@ require("scripts/globals/limbus") mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") -local path = +local path = -- {X, Y, Z, flags} { [5] = { - -148.860, -80.000, 427.000, - -91.860, -80.000, 427.000, + {-148.860, -80.000, 427.000, 11}, + {-91.860, -80.000, 427.000, 11} }, [6] = { - -148.860, -80.000, 430.000, - -91.860, -80.000, 430.000, + {-148.860, -80.000, 430.000, 11}, + {-91.860, -80.000, 430.000, 11} }, [7] = { - -91.860, -80.000, 410.000, - -148.860, -80.000, 410.000, + {-91.860, -80.000, 410.000, 11}, + {-148.860, -80.000, 410.000, 11} }, [8] = { - -91.860, -80.000, 413.000, - -148.860, -80.000, 413.000, + {-91.860, -80.000, 413.000, 11}, + {-148.860, -80.000, 413.000, 11} }, } @@ -34,12 +34,9 @@ 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")+1 - mob:setLocalVar("point", (point+2)%6) - local X = path[offset][point] - local Y = path[offset][point+1] - local Z = path[offset][point+2] - mob:pathTo(X, Y, Z) + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(unpack(path[offset][point])) mob:setLocalVar("pause", os.time()+10) end end diff --git a/scripts/zones/Temenos/mobs/Moblin_Dustman.lua b/scripts/zones/Temenos/mobs/Moblin_Dustman.lua index 58b5f5310a9..56c0fc82398 100644 --- a/scripts/zones/Temenos/mobs/Moblin_Dustman.lua +++ b/scripts/zones/Temenos/mobs/Moblin_Dustman.lua @@ -6,44 +6,37 @@ require("scripts/globals/limbus") mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") -local path = +local path = -- {X, Y, Z, flags} { [2] = { - 340.000, 67.500, 456.000, - 340.000, 67.500, 436.000, + {340.000, 67.500, 456.000, 0}, + {340.000, 67.500, 436.000, 0} }, [3] = { - 344.000, 68.000, 460.000, - 364.000, 68.000, 460.000, + {344.000, 68.000, 460.000, 0}, + {364.000, 68.000, 460.000, 0} }, [4] = { - 370.210, 74.000, 432.008, - 370.210, 74.000, 408.226, + {370.210, 74.000, 432.008, 0}, + {370.210, 74.000, 408.226, 0} }, [5] = { - 375.210, 74.000, 408.226, - 375.210, 74.000, 432.008, + {375.210, 74.000, 408.226, 0}, + {375.210, 74.000, 432.008, 0} }, } -function onMobSpawn(mob) - onMobRoam(mob) -end - 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")+1 - mob:setLocalVar("point", (point+2)%6) - local X = path[offset][point] - local Y = path[offset][point+1] - local Z = path[offset][point+2] - mob:pathTo(X, Y, Z, 0) + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(unpack(path[offset][point])) mob:setLocalVar("pause", os.time()+10) end end diff --git a/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua b/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua index 854c87b36eb..c32ad3989ac 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua @@ -6,21 +6,18 @@ require("scripts/globals/limbus") mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") -local path = +local path = -- {X, Y, Z, flags} { - 50.000, 80.000, 419.500, - 30.000, 80.000, 419.500, + {50.000, 80.000, 419.500, 0}, + {30.000, 80.000, 419.500, 0} } function onMobRoam(mob) local pause = mob:getLocalVar("pause") if pause < os.time() then - local point = mob:getLocalVar("point")+1 - mob:setLocalVar("point", (point+2)%6) - local X = path[point] - local Y = path[point+1] - local Z = path[point+2] - mob:pathTo(X, Y, Z, 0) + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(unpack(path[point])) mob:setLocalVar("pause", os.time()+10) end end diff --git a/scripts/zones/Temenos/mobs/Telchines_Monk.lua b/scripts/zones/Temenos/mobs/Telchines_Monk.lua index ab2bdee0463..09e0b2cf420 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Monk.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Monk.lua @@ -6,17 +6,17 @@ require("scripts/globals/limbus") mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") -local path = +local path = -- {X, Y, Z, flags} { [4] = { - 30.000, 80.000, 420.500, - 10.000, 80.000, 420.500, + {30.000, 80.000, 420.500, 0}, + {10.000, 80.000, 420.500, 0} }, [5] = { - 70.000, 80.000, 420.500, - 50.000, 80.000, 420.500, + {70.000, 80.000, 420.500, 0}, + {50.000, 80.000, 420.500, 0} }, } @@ -24,12 +24,9 @@ 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")+1 - mob:setLocalVar("point", (point+2)%6) - local X = path[offset][point] - local Y = path[offset][point+1] - local Z = path[offset][point+2] - mob:pathTo(X, Y, Z, 0) + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(unpack(path[offset][point])) mob:setLocalVar("pause", os.time()+10) end end diff --git a/scripts/zones/Temenos/mobs/Thunder_Elemental.lua b/scripts/zones/Temenos/mobs/Thunder_Elemental.lua index 0fe7449b0cb..4e7c1c8f68e 100644 --- a/scripts/zones/Temenos/mobs/Thunder_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Thunder_Elemental.lua @@ -5,27 +5,27 @@ require("scripts/globals/limbus") local ID = require("scripts/zones/Temenos/IDs") -local path = +local path = -- {X, Y, Z, flags} { [0] = { - -312.000,0.000,128.000, - -312.000,0.000,152.000, + {-312.000, 0.000, 128.000, 10}, + {-312.000, 0.000, 152.000, 10} }, [1] = { - -300.000,0.000,152.000, - -300.000,0.000,128.000, + {-300.000, 0.000, 152.000, 10}, + {-300.000, 0.000, 128.000, 10} }, [2] = { - -248.000,0.000,152.000, - -248.000,0.000,128.000, + {-248.000, 0.000, 152.000, 10}, + {-248.000, 0.000, 128.000, 10} }, [3] = { - -260.000,0.000,128.000, - -260.000,0.000,152.000, + {-260.000, 0.000, 128.000, 10}, + {-260.000, 0.000, 152.000, 10} }, } @@ -34,12 +34,9 @@ function onMobRoam(mob) 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")+1 - mob:setLocalVar("point", (point+2)%6) - local X = path[offset][point] - local Y = path[offset][point+1] - local Z = path[offset][point+2] - mob:pathTo(X, Y, Z, 10) + local point = (mob:getLocalVar("point") % 2)+1 + mob:setLocalVar("point", point) + mob:pathTo(unpack(path[offset][point])) mob:setLocalVar("pause", os.time()+10) end end From 6e2b58def195d19a5dc066778c1ff665a6763841 Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Tue, 31 Dec 2019 06:22:55 -0500 Subject: [PATCH 31/33] More pathing changes. Apollyon pathing added. --- scripts/zones/Apollyon/Zone.lua | 10 +- scripts/zones/Apollyon/mobs/Adamantshell.lua | 60 ++++ scripts/zones/Apollyon/mobs/Air_Elemental.lua | 7 +- .../Apollyon/mobs/Apollyon_Scavenger.lua | 56 ++++ scripts/zones/Apollyon/mobs/Armoury_Crate.lua | 2 +- scripts/zones/Apollyon/mobs/Bardha.lua | 55 ++++ scripts/zones/Apollyon/mobs/Bialozar.lua | 1 + scripts/zones/Apollyon/mobs/Cynoprosopi.lua | 21 ++ .../zones/Apollyon/mobs/Dark_Elemental.lua | 7 +- .../zones/Apollyon/mobs/Earth_Elemental.lua | 7 +- .../zones/Apollyon/mobs/Fire_Elemental.lua | 7 +- scripts/zones/Apollyon/mobs/Flying_Spear.lua | 56 ++++ .../zones/Apollyon/mobs/Goobbue_Harvester.lua | 17 ++ scripts/zones/Apollyon/mobs/Gorynich.lua | 51 ++++ scripts/zones/Apollyon/mobs/Gunpod.lua | 3 +- scripts/zones/Apollyon/mobs/Ice_Elemental.lua | 7 +- scripts/zones/Apollyon/mobs/Inhumer.lua | 81 ++++- .../zones/Apollyon/mobs/Kaiser_Behemoth.lua | 23 +- .../zones/Apollyon/mobs/Light_Elemental.lua | 7 +- .../zones/Apollyon/mobs/Mountain_Buffalo.lua | 50 +++ scripts/zones/Apollyon/mobs/Pluto.lua | 17 ++ scripts/zones/Apollyon/mobs/Proto-Omega.lua | 1 - scripts/zones/Apollyon/mobs/Thiazi.lua | 1 + .../zones/Apollyon/mobs/Thunder_Elemental.lua | 7 +- scripts/zones/Apollyon/mobs/Tieholtsodi.lua | 17 ++ .../Apollyon/mobs/Troglodyte_Dhalmel.lua | 29 ++ .../zones/Apollyon/mobs/Water_Elemental.lua | 7 +- scripts/zones/Apollyon/mobs/Zlatorog.lua | 17 ++ scripts/zones/Apollyon/npcs/Armoury_Crate.lua | 20 +- scripts/zones/Temenos/mobs/Air_Elemental.lua | 71 ++--- .../Temenos/mobs/Cryptonberry_Abductor.lua | 19 +- .../Temenos/mobs/Cryptonberry_Designator.lua | 19 +- .../zones/Temenos/mobs/Earth_Elemental.lua | 54 ++-- .../zones/Temenos/mobs/Enhanced_Beetle.lua | 33 +- .../zones/Temenos/mobs/Enhanced_Lizard.lua | 45 +-- .../Temenos/mobs/Enhanced_Mandragora.lua | 45 +-- scripts/zones/Temenos/mobs/Enhanced_Pugil.lua | 2 +- scripts/zones/Temenos/mobs/Enhanced_Slime.lua | 17 +- scripts/zones/Temenos/mobs/Enhanced_Tiger.lua | 17 +- scripts/zones/Temenos/mobs/Fire_Elemental.lua | 54 ++-- scripts/zones/Temenos/mobs/Ice_Elemental.lua | 77 ++--- scripts/zones/Temenos/mobs/Kari.lua | 15 +- .../zones/Temenos/mobs/Kindred_Black_Mage.lua | 23 +- scripts/zones/Temenos/mobs/Moblin_Dustman.lua | 22 +- .../zones/Temenos/mobs/Telchines_Dragoon.lua | 11 +- scripts/zones/Temenos/mobs/Telchines_Monk.lua | 15 +- scripts/zones/Temenos/mobs/Temenos_Aern.lua | 12 +- .../zones/Temenos/mobs/Thunder_Elemental.lua | 77 ++--- .../zones/Temenos/mobs/Water_Elemental.lua | 54 ++-- scripts/zones/Temenos/npcs/Armoury_Crate.lua | 16 +- sql/mob_groups.sql | 18 +- sql/mob_pools.sql | 287 +++++++++--------- sql/mob_spawn_points.sql | 54 ++-- src/map/utils/mobutils.cpp | 9 - 54 files changed, 1154 insertions(+), 556 deletions(-) diff --git a/scripts/zones/Apollyon/Zone.lua b/scripts/zones/Apollyon/Zone.lua index 4c428b3b575..1495964f9f7 100644 --- a/scripts/zones/Apollyon/Zone.lua +++ b/scripts/zones/Apollyon/Zone.lua @@ -107,19 +107,19 @@ function onRegionEnter(player,region) end, -- APOLLYON NW TELEPORTER [33] = function() - if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[1]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(205) end + 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_SW_PORTAL[2]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(203) end + 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_SW_PORTAL[3]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(201) end + 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_SW_PORTAL[4]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(200) end + 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_SW_PORTAL[5]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(202) end + if GetNPCByID(ID.npc.APOLLYON_NW_PORTAL[5]):getAnimation() == dsp.animation.OPEN_DOOR then player:startEvent(202) end end, } end diff --git a/scripts/zones/Apollyon/mobs/Adamantshell.lua b/scripts/zones/Apollyon/mobs/Adamantshell.lua index c118e1f9f23..ac96a490f6b 100644 --- a/scripts/zones/Apollyon/mobs/Adamantshell.lua +++ b/scripts/zones/Apollyon/mobs/Adamantshell.lua @@ -2,7 +2,67 @@ -- Area: Apollyon SE -- Mob: Adamantshell ----------------------------------- +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 onPath(mob) + mob:setLocalVar("pause", os.time()+1) +end + +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 function onMobSpawn(mob) mob:setMod(dsp.mod.SLASHRES, 0) diff --git a/scripts/zones/Apollyon/mobs/Air_Elemental.lua b/scripts/zones/Apollyon/mobs/Air_Elemental.lua index 7e3e40b210a..83fa5700f88 100644 --- a/scripts/zones/Apollyon/mobs/Air_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Air_Elemental.lua @@ -3,9 +3,14 @@ -- Mob: Air Elemental ----------------------------------- require("scripts/globals/limbus") ------------------------------------ local ID = require("scripts/zones/Apollyon/IDs") +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 + function onMobDeath(mob, player, isKiller) if isKiller then if dsp.limbus.elementalsDead() then diff --git a/scripts/zones/Apollyon/mobs/Apollyon_Scavenger.lua b/scripts/zones/Apollyon/mobs/Apollyon_Scavenger.lua index a1bd111144a..b9b5fb60d03 100644 --- a/scripts/zones/Apollyon/mobs/Apollyon_Scavenger.lua +++ b/scripts/zones/Apollyon/mobs/Apollyon_Scavenger.lua @@ -3,7 +3,63 @@ -- 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 onPath(mob) + if mob:getID() ~= ID.mob.APOLLYON_NW_MOB[3]+4 then + mob:setLocalVar("pause", os.time()+1) + end +end + +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 function onMobDeath(mob, player, isKiller) if isKiller then diff --git a/scripts/zones/Apollyon/mobs/Armoury_Crate.lua b/scripts/zones/Apollyon/mobs/Armoury_Crate.lua index d1dd6a2bee7..756136a9390 100644 --- a/scripts/zones/Apollyon/mobs/Armoury_Crate.lua +++ b/scripts/zones/Apollyon/mobs/Armoury_Crate.lua @@ -12,7 +12,7 @@ end function onMobDeath(mob, player, isKiller) if isKiller then - if GetNPCByID(ID.npc.APOLLYON_SW_PORTAL[3]):getAnimation() ~= dsp.animation.CLOSE_DOOR 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 diff --git a/scripts/zones/Apollyon/mobs/Bardha.lua b/scripts/zones/Apollyon/mobs/Bardha.lua index f06c10445ff..cd882858652 100644 --- a/scripts/zones/Apollyon/mobs/Bardha.lua +++ b/scripts/zones/Apollyon/mobs/Bardha.lua @@ -3,7 +3,62 @@ -- 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 onPath(mob) + mob:setLocalVar("pause", os.time()+1) +end + +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 function onMobDeath(mob, player, isKiller) if isKiller then diff --git a/scripts/zones/Apollyon/mobs/Bialozar.lua b/scripts/zones/Apollyon/mobs/Bialozar.lua index db2c156ce4f..de75fbf64e7 100644 --- a/scripts/zones/Apollyon/mobs/Bialozar.lua +++ b/scripts/zones/Apollyon/mobs/Bialozar.lua @@ -19,6 +19,7 @@ function onMobDeath(mob, player, isKiller) 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() diff --git a/scripts/zones/Apollyon/mobs/Cynoprosopi.lua b/scripts/zones/Apollyon/mobs/Cynoprosopi.lua index be0db719fa8..5df7b9e44c8 100644 --- a/scripts/zones/Apollyon/mobs/Cynoprosopi.lua +++ b/scripts/zones/Apollyon/mobs/Cynoprosopi.lua @@ -2,7 +2,28 @@ -- 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) if isKiller then diff --git a/scripts/zones/Apollyon/mobs/Dark_Elemental.lua b/scripts/zones/Apollyon/mobs/Dark_Elemental.lua index e0b9b253683..c5d13215acd 100644 --- a/scripts/zones/Apollyon/mobs/Dark_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Dark_Elemental.lua @@ -3,9 +3,14 @@ -- Mob: Dark Elemental ----------------------------------- require("scripts/globals/limbus") ------------------------------------ local ID = require("scripts/zones/Apollyon/IDs") +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 + function onMobDeath(mob, player, isKiller) if isKiller then if dsp.limbus.elementalsDead() then diff --git a/scripts/zones/Apollyon/mobs/Earth_Elemental.lua b/scripts/zones/Apollyon/mobs/Earth_Elemental.lua index 26911c3bd75..67740629791 100644 --- a/scripts/zones/Apollyon/mobs/Earth_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Earth_Elemental.lua @@ -3,9 +3,14 @@ -- Mob: Earth Elemental ----------------------------------- require("scripts/globals/limbus") ------------------------------------ local ID = require("scripts/zones/Apollyon/IDs") +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 + function onMobDeath(mob, player, isKiller) if isKiller then if dsp.limbus.elementalsDead() then diff --git a/scripts/zones/Apollyon/mobs/Fire_Elemental.lua b/scripts/zones/Apollyon/mobs/Fire_Elemental.lua index 20e3fb4359e..7b4e0575580 100644 --- a/scripts/zones/Apollyon/mobs/Fire_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Fire_Elemental.lua @@ -3,9 +3,14 @@ -- Mob: Fire Elemental ----------------------------------- require("scripts/globals/limbus") ------------------------------------ local ID = require("scripts/zones/Apollyon/IDs") +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 + function onMobDeath(mob, player, isKiller) if isKiller then if dsp.limbus.elementalsDead() then diff --git a/scripts/zones/Apollyon/mobs/Flying_Spear.lua b/scripts/zones/Apollyon/mobs/Flying_Spear.lua index 7d29ee880f7..d0fa2a1b5c3 100644 --- a/scripts/zones/Apollyon/mobs/Flying_Spear.lua +++ b/scripts/zones/Apollyon/mobs/Flying_Spear.lua @@ -2,7 +2,63 @@ -- Area: Apollyon SE -- Mob: Flying Spear ----------------------------------- +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 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 function onMobSpawn(mob) mob:setMod(dsp.mod.UDMGMAGIC, -100) diff --git a/scripts/zones/Apollyon/mobs/Goobbue_Harvester.lua b/scripts/zones/Apollyon/mobs/Goobbue_Harvester.lua index 380186d2dc2..d2bfaae0937 100644 --- a/scripts/zones/Apollyon/mobs/Goobbue_Harvester.lua +++ b/scripts/zones/Apollyon/mobs/Goobbue_Harvester.lua @@ -3,7 +3,24 @@ -- 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 diff --git a/scripts/zones/Apollyon/mobs/Gorynich.lua b/scripts/zones/Apollyon/mobs/Gorynich.lua index a7476d62c19..2a51af88b93 100644 --- a/scripts/zones/Apollyon/mobs/Gorynich.lua +++ b/scripts/zones/Apollyon/mobs/Gorynich.lua @@ -3,7 +3,58 @@ -- 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 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 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 function onMobDeath(mob, player, isKiller) if isKiller then diff --git a/scripts/zones/Apollyon/mobs/Gunpod.lua b/scripts/zones/Apollyon/mobs/Gunpod.lua index 2c24740e559..9de9d085552 100644 --- a/scripts/zones/Apollyon/mobs/Gunpod.lua +++ b/scripts/zones/Apollyon/mobs/Gunpod.lua @@ -77,7 +77,6 @@ local loot = function onMobDeath(mob, player, isKiller) if isKiller then - local players = player:getBattlefield():getPlayers() local random = math.random(1, 4) for i = 1, #loot[random] do local lootGroup = loot[random][i] @@ -91,7 +90,7 @@ function onMobDeath(mob, player, isKiller) max = max - entry.droprate if roll > max then if entry.itemid ~= 0 then - players[1]:addTreasure(entry.itemid, mob) + player:addTreasure(entry.itemid, mob) end break end diff --git a/scripts/zones/Apollyon/mobs/Ice_Elemental.lua b/scripts/zones/Apollyon/mobs/Ice_Elemental.lua index 56595fd2027..652e9aa42c7 100644 --- a/scripts/zones/Apollyon/mobs/Ice_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Ice_Elemental.lua @@ -3,9 +3,14 @@ -- Mob: Ice Elemental ----------------------------------- require("scripts/globals/limbus") ------------------------------------ local ID = require("scripts/zones/Apollyon/IDs") +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 + function onMobDeath(mob, player, isKiller) if isKiller then if dsp.limbus.elementalsDead() then diff --git a/scripts/zones/Apollyon/mobs/Inhumer.lua b/scripts/zones/Apollyon/mobs/Inhumer.lua index f29958a2f92..30c48edbbce 100644 --- a/scripts/zones/Apollyon/mobs/Inhumer.lua +++ b/scripts/zones/Apollyon/mobs/Inhumer.lua @@ -2,7 +2,64 @@ -- Area: Apollyon SE -- Mob: Inhumer ----------------------------------- +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 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 onMobSpawn(mob) mob:setMod(dsp.mod.HTHRES, 1500) @@ -10,21 +67,31 @@ function onMobSpawn(mob) mob:setMod(dsp.mod.PIERCERES, 0) end +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}, + [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) + 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) diff --git a/scripts/zones/Apollyon/mobs/Kaiser_Behemoth.lua b/scripts/zones/Apollyon/mobs/Kaiser_Behemoth.lua index 0513b4ed201..2ea9dc21a2e 100644 --- a/scripts/zones/Apollyon/mobs/Kaiser_Behemoth.lua +++ b/scripts/zones/Apollyon/mobs/Kaiser_Behemoth.lua @@ -4,8 +4,29 @@ ----------------------------------- 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) diff --git a/scripts/zones/Apollyon/mobs/Light_Elemental.lua b/scripts/zones/Apollyon/mobs/Light_Elemental.lua index d9f993ae937..ae80d33d30b 100644 --- a/scripts/zones/Apollyon/mobs/Light_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Light_Elemental.lua @@ -3,9 +3,14 @@ -- Mob: Light Elemental ----------------------------------- require("scripts/globals/limbus") ------------------------------------ local ID = require("scripts/zones/Apollyon/IDs") +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 + function onMobDeath(mob, player, isKiller) if isKiller then if dsp.limbus.elementalsDead() then diff --git a/scripts/zones/Apollyon/mobs/Mountain_Buffalo.lua b/scripts/zones/Apollyon/mobs/Mountain_Buffalo.lua index 4a08583ca28..68415aa4a0c 100644 --- a/scripts/zones/Apollyon/mobs/Mountain_Buffalo.lua +++ b/scripts/zones/Apollyon/mobs/Mountain_Buffalo.lua @@ -3,7 +3,57 @@ -- 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 onPath(mob) + mob:setLocalVar("pause", os.time()+5) +end + +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 function onMobDeath(mob, player, isKiller) local mobID = mob:getID() diff --git a/scripts/zones/Apollyon/mobs/Pluto.lua b/scripts/zones/Apollyon/mobs/Pluto.lua index b52cf2259aa..46b7567cd34 100644 --- a/scripts/zones/Apollyon/mobs/Pluto.lua +++ b/scripts/zones/Apollyon/mobs/Pluto.lua @@ -2,7 +2,24 @@ -- 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 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 onMobDeath(mob, player, isKiller) local mobX = mob:getXPos() diff --git a/scripts/zones/Apollyon/mobs/Proto-Omega.lua b/scripts/zones/Apollyon/mobs/Proto-Omega.lua index a3d548433f3..812790ed521 100644 --- a/scripts/zones/Apollyon/mobs/Proto-Omega.lua +++ b/scripts/zones/Apollyon/mobs/Proto-Omega.lua @@ -4,7 +4,6 @@ ----------------------------------- require("scripts/globals/titles") require("scripts/globals/mobs") ------------------------------------ local ID = require("scripts/zones/Apollyon/IDs") function onMobInitialize(mob) diff --git a/scripts/zones/Apollyon/mobs/Thiazi.lua b/scripts/zones/Apollyon/mobs/Thiazi.lua index 992f7903457..e195a3b6c7f 100644 --- a/scripts/zones/Apollyon/mobs/Thiazi.lua +++ b/scripts/zones/Apollyon/mobs/Thiazi.lua @@ -19,6 +19,7 @@ function onMobDeath(mob, player, isKiller) 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() diff --git a/scripts/zones/Apollyon/mobs/Thunder_Elemental.lua b/scripts/zones/Apollyon/mobs/Thunder_Elemental.lua index acbd52cc86d..580c4db24eb 100644 --- a/scripts/zones/Apollyon/mobs/Thunder_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Thunder_Elemental.lua @@ -3,9 +3,14 @@ -- Mob: Thunder Elemental ----------------------------------- require("scripts/globals/limbus") ------------------------------------ local ID = require("scripts/zones/Apollyon/IDs") +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 + function onMobDeath(mob, player, isKiller) if isKiller then if dsp.limbus.elementalsDead() then diff --git a/scripts/zones/Apollyon/mobs/Tieholtsodi.lua b/scripts/zones/Apollyon/mobs/Tieholtsodi.lua index 2206b75eaef..37aafe3049b 100644 --- a/scripts/zones/Apollyon/mobs/Tieholtsodi.lua +++ b/scripts/zones/Apollyon/mobs/Tieholtsodi.lua @@ -3,8 +3,25 @@ -- 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 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 onMobSpawn(mob) mob:setMod(dsp.mod.SLASHRES, 0) diff --git a/scripts/zones/Apollyon/mobs/Troglodyte_Dhalmel.lua b/scripts/zones/Apollyon/mobs/Troglodyte_Dhalmel.lua index e800794928d..75a654d4ee0 100644 --- a/scripts/zones/Apollyon/mobs/Troglodyte_Dhalmel.lua +++ b/scripts/zones/Apollyon/mobs/Troglodyte_Dhalmel.lua @@ -2,7 +2,36 @@ -- Area: Apollyon NE -- Mob: Troglodyte Dhalmel ----------------------------------- +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 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 function onMobDeath(mob, player, isKiller) if isKiller then diff --git a/scripts/zones/Apollyon/mobs/Water_Elemental.lua b/scripts/zones/Apollyon/mobs/Water_Elemental.lua index f168d8f2b89..cb730b1cae5 100644 --- a/scripts/zones/Apollyon/mobs/Water_Elemental.lua +++ b/scripts/zones/Apollyon/mobs/Water_Elemental.lua @@ -3,9 +3,14 @@ -- Mob: Water Elemental ----------------------------------- require("scripts/globals/limbus") ------------------------------------ local ID = require("scripts/zones/Apollyon/IDs") +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 + function onMobDeath(mob, player, isKiller) if isKiller then if dsp.limbus.elementalsDead() then diff --git a/scripts/zones/Apollyon/mobs/Zlatorog.lua b/scripts/zones/Apollyon/mobs/Zlatorog.lua index efa31a8d302..e6e59ca95a1 100644 --- a/scripts/zones/Apollyon/mobs/Zlatorog.lua +++ b/scripts/zones/Apollyon/mobs/Zlatorog.lua @@ -2,8 +2,25 @@ -- 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 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, { diff --git a/scripts/zones/Apollyon/npcs/Armoury_Crate.lua b/scripts/zones/Apollyon/npcs/Armoury_Crate.lua index 7cc0022be32..60d2a575bb9 100644 --- a/scripts/zones/Apollyon/npcs/Armoury_Crate.lua +++ b/scripts/zones/Apollyon/npcs/Armoury_Crate.lua @@ -5,7 +5,7 @@ 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 = @@ -411,7 +411,7 @@ local loot = {itemid = 1949, droprate = 464}, -- BRD {itemid = 1945, droprate = 250}, -- DRK {itemid = 1953, droprate = 110}, -- SAM - {itemid = 1937, droprate = 71}, -- BLM + {itemid = 1937, droprate = 71}, -- BLM {itemid = 1931, droprate = 180}, -- WAR {itemid = 2657, droprate = 210}, -- BLU {itemid = 2717, droprate = 111}, -- SCH @@ -446,10 +446,10 @@ local loot = }, { {itemid = 1951, droprate = 154}, -- RNG - {itemid = 1935, droprate = 95}, -- WHM + {itemid = 1935, droprate = 95}, -- WHM {itemid = 1959, droprate = 269}, -- SMN {itemid = 1937, droprate = 106}, -- BLM - {itemid = 1931, droprate = 77}, -- WAR + {itemid = 1931, droprate = 77}, -- WAR {itemid = 2659, droprate = 423}, -- COR {itemid = 1957, droprate = 110}, -- DRG }, @@ -909,7 +909,7 @@ function onTrigger(player, npc) elseif model == 961 then dsp.limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) elseif model == 962 then - dsp.limbus.extendTimeLimit(battlefield, 15, 38) + dsp.limbus.extendTimeLimit(battlefield, 15, dsp.zone.APOLLYON) end end end @@ -936,7 +936,7 @@ function onTrigger(player, npc) elseif crateID == itemPH then dsp.limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) elseif crateID == timePH then - dsp.limbus.extendTimeLimit(battlefield, 15, 38) + 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) @@ -974,7 +974,7 @@ function onTrigger(player, npc) elseif model == 961 then dsp.limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) elseif model == 962 then - dsp.limbus.extendTimeLimit(battlefield, 15, 38) + dsp.limbus.extendTimeLimit(battlefield, 15, dsp.zone.APOLLYON) end end end @@ -996,7 +996,7 @@ function onTrigger(player, npc) elseif model == 961 then dsp.limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) elseif model == 962 then - dsp.limbus.extendTimeLimit(battlefield, 15, 38) + dsp.limbus.extendTimeLimit(battlefield, 15, dsp.zone.APOLLYON) end end end @@ -1017,7 +1017,7 @@ function onTrigger(player, npc) elseif model == 961 then dsp.limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) elseif model == 962 then - dsp.limbus.extendTimeLimit(battlefield, 15, 38) + dsp.limbus.extendTimeLimit(battlefield, 15, dsp.zone.APOLLYON) end end end @@ -1033,7 +1033,7 @@ function onTrigger(player, npc) end, [1294] = function() -- CS Apollyon Crate Handling if crateID ~= ID.npc.APOLLYON_CS_CRATE then - dsp.limbus.extendTimeLimit(battlefield, 15, 38) + dsp.limbus.extendTimeLimit(battlefield, 15, dsp.zone.APOLLYON) else dsp.limbus.handleLootRolls(battlefield, loot[bfid][1], nil, npc) battlefield:setLocalVar("cutsceneTimer", 10) diff --git a/scripts/zones/Temenos/mobs/Air_Elemental.lua b/scripts/zones/Temenos/mobs/Air_Elemental.lua index 5d933b00634..26b235cad00 100644 --- a/scripts/zones/Temenos/mobs/Air_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Air_Elemental.lua @@ -3,19 +3,20 @@ -- Mob: Air Elemental ----------------------------------- require("scripts/globals/limbus") +require("scripts/globals/pathfind") local ID = require("scripts/zones/Temenos/IDs") - -local path = -- {X, Y, Z, flags} +local flags = dsp.path.flag.NONE +local path = { [1] = { - {20.000, 6.000, 150.000, 0}, - {20.000, 6.000, 142.640, 0} + {20.000, 6.000, 150.000}, + {20.000, 6.000, 142.640} }, [3] = { - {60.000, 6.000, 150.000, 0}, - {60.000, 6.000, 142.640, 0} + {60.000, 6.000, 150.000}, + {60.000, 6.000, 142.640} }, } @@ -23,10 +24,10 @@ 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() then + if pause < os.time() and offset == 1 or offset == 3 then local point = (mob:getLocalVar("point") % 2)+1 mob:setLocalVar("point", point) - mob:pathTo(unpack(path[offset][point])) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) mob:setLocalVar("pause", os.time()+5) end end @@ -39,31 +40,33 @@ function onMobDeath(mob, player, isKiller) local mobY = mob:getYPos() local mobZ = mob:getZPos() local battlefield = player:getBattlefield() - - 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, - } + 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/Cryptonberry_Abductor.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua index b1d1228ae77..b72d5589e47 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Abductor.lua @@ -4,25 +4,26 @@ ----------------------------------- 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 path = -- {X, Y, Z, flags} +local flags = dsp.path.flag.NONE +local path = { [2] = { - {-424.000, -80.000, 420.500, 0}, - {-456.000, -80.000, 420.500, 0} + {-424.000, -80.000, 420.500}, + {-456.000, -80.000, 420.500} }, [6] = { - {-460.500, -80.000, 416.000, 0}, - {-460.500, -80.000, 408.000, 0} + {-460.500, -80.000, 416.000}, + {-460.500, -80.000, 408.000} }, [10] = { - {-419.500, -80.000, 416.000, 0}, - {-419.500, -80.000, 408.000, 0} + {-419.500, -80.000, 416.000}, + {-419.500, -80.000, 408.000} }, } @@ -32,7 +33,7 @@ function onMobRoam(mob) if pause < os.time() then local point = (mob:getLocalVar("point") % 2)+1 mob:setLocalVar("point", point) - mob:pathTo(unpack(path[offset][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 diff --git a/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua b/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua index bae0c00d0b7..b8020bda005 100644 --- a/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua +++ b/scripts/zones/Temenos/mobs/Cryptonberry_Designator.lua @@ -4,25 +4,26 @@ ----------------------------------- 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 path = -- {X, Y, Z, flags} +local flags = dsp.path.flag.NONE +local path = { [3] = { - {-456.000, -80.000, 419.500, 0}, - {-424.000, -80.000, 419.500, 0} + {-456.000, -80.000, 419.500}, + {-424.000, -80.000, 419.500} }, [7] = { - {-459.500, -80.000, 416.000, 0}, - {-459.500, -80.000, 408.000, 0} + {-459.500, -80.000, 416.000}, + {-459.500, -80.000, 408.000} }, [11] = { - {-420.500, -80.000, 416.000, 0}, - {-420.500, -80.000, 408.000, 0} + {-420.500, -80.000, 416.000}, + {-420.500, -80.000, 408.000} }, } @@ -32,7 +33,7 @@ function onMobRoam(mob) if pause < os.time() then local point = (mob:getLocalVar("point") % 2)+1 mob:setLocalVar("point", point) - mob:pathTo(unpack(path[offset][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 diff --git a/scripts/zones/Temenos/mobs/Earth_Elemental.lua b/scripts/zones/Temenos/mobs/Earth_Elemental.lua index b35bc5d8720..bf8fe371ef1 100644 --- a/scripts/zones/Temenos/mobs/Earth_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Earth_Elemental.lua @@ -12,31 +12,33 @@ function onMobDeath(mob, player, isKiller) local mobY = mob:getYPos() local mobZ = mob:getZPos() local battlefield = player:getBattlefield() - - 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, - } + 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_Beetle.lua b/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua index 280af1c98d3..663f4126a07 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Beetle.lua @@ -4,39 +4,40 @@ ----------------------------------- require("scripts/globals/status") require("scripts/globals/limbus") +require("scripts/globals/pathfind") local ID = require("scripts/zones/Temenos/IDs") - -local path = -- {X, Y, Z, flags} +local flags = dsp.path.flag.NONE +local path = { [0] = { - {18.000, 80.000, -140.000, 0}, - {8.000, 80.000, -140.000, 0} + {18.000, 80.000, -140.000}, + {8.000, 80.000, -140.000} }, [1] = { - {20.000, 80.000, -138.000, 0}, - {20.000, 80.000, -128.000, 0} + {20.000, 80.000, -138.000}, + {20.000, 80.000, -128.000} }, [2] = { - {22.000, 80.000, -140.000, 0}, - {32.000, 80.000, -140.000, 0} + {22.000, 80.000, -140.000}, + {32.000, 80.000, -140.000} }, [3] = { - {58.000, 80.000, -140.000, 0}, - {48.000, 80.000, -140.000, 0} + {58.000, 80.000, -140.000}, + {48.000, 80.000, -140.000} }, [4] = { - {60.000, 80.000, -138.000, 0}, - {60.000, 80.000, -128.000, 0} + {60.000, 80.000, -138.000}, + {60.000, 80.000, -128.000} }, [5] = { - {62.000, 80.000, -140.000, 0}, - {72.000, 80.000, -140.000, 0} + {62.000, 80.000, -140.000}, + {72.000, 80.000, -140.000} }, } @@ -46,7 +47,7 @@ function onMobRoam(mob) if pause < os.time() then local point = (mob:getLocalVar("point") % 2)+1 mob:setLocalVar("point", point) - mob:pathTo(unpack(path[offset][point])) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) mob:setLocalVar("pause", os.time()+30) end end @@ -57,7 +58,7 @@ function onMobDeath(mob, player, isKiller) local mobY = mob:getYPos() local mobZ = mob:getZPos() local mobID = mob:getID() - local spawn = math.random(0,1) == 1 + 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]) diff --git a/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua b/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua index c97043e626b..18577813813 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Lizard.lua @@ -4,54 +4,55 @@ ----------------------------------- require("scripts/globals/status") require("scripts/globals/limbus") +require("scripts/globals/pathfind") local ID = require("scripts/zones/Temenos/IDs") - -local path = -- {X, Y, Z, flags} +local flags = dsp.path.flag.NONE +local path = { [0] = { - {-87.000, -80.000, -150.500, 0}, - {-153.000, -80.000, -150.500, 0} + {-87.000, -80.000, -150.500}, + {-153.000, -80.000, -150.500} }, [1] = { - {-150.000, -80.000, -147.000, 0}, - {-130.000, -80.000, -147.000, 0} + {-150.000, -80.000, -147.000}, + {-130.000, -80.000, -147.000} }, [2] = { - {-90.000, -80.000, -147.000, 0}, - {-110.000, -80.000, -147.000, 0} + {-90.000, -80.000, -147.000}, + {-110.000, -80.000, -147.000} }, [3] = { - {-153.000, -80.000, -142.000, 0}, - {-87.000, -80.000, -142.000, 0} + {-153.000, -80.000, -142.000}, + {-87.000, -80.000, -142.000} }, [4] = { - {-87.000, -80.000, -138.000, 0}, - {-153.000, -80.000, -138.000, 0} + {-87.000, -80.000, -138.000}, + {-153.000, -80.000, -138.000} }, [5] = { - {-111.960, -80.000, -140.000, 0}, - {-127.960, -80.000, -140.000, 0} + {-111.960, -80.000, -140.000}, + {-127.960, -80.000, -140.000} }, [6] = { - {-150.000, -80.000, -133.000, 0}, - {-130.000, -80.000, -133.000, 0} + {-150.000, -80.000, -133.000}, + {-130.000, -80.000, -133.000} }, [7] = { - {-90.000, -80.000, -133.000, 0}, - {-110.000, -80.000, -133.000, 0} + {-90.000, -80.000, -133.000}, + {-110.000, -80.000, -133.000} }, [8] = { - {-153.000, -80.000, -129.500, 0}, - {-87.000, -80.000, -129.500, 0} + {-153.000, -80.000, -129.500}, + {-87.000, -80.000, -129.500} }, } @@ -61,7 +62,7 @@ function onMobRoam(mob) if pause < os.time() then local point = (mob:getLocalVar("point") % 2)+1 mob:setLocalVar("point", point) - mob:pathTo(unpack(path[offset][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 @@ -78,7 +79,7 @@ function onMobDeath(mob, player, isKiller) local mobY = mob:getYPos() local mobZ = mob:getZPos() local mobID = mob:getID() - local spawn = math.random(0,1) == 1 + 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]) diff --git a/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua b/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua index 6b79396b997..732ffeedc1d 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Mandragora.lua @@ -4,54 +4,55 @@ ----------------------------------- require("scripts/globals/status") require("scripts/globals/limbus") +require("scripts/globals/pathfind") local ID = require("scripts/zones/Temenos/IDs") - -local path = -- {X, Y, Z, flags} +local flags = dsp.path.flag.NONE +local path = { [0] = { - {198.000, -81.000, -74.000, 0}, - {198.000, -81.000, -86.000, 0} + {198.000, -81.000, -74.000}, + {198.000, -81.000, -86.000} }, [1] = { - {202.000, -81.000, -86.000, 0}, - {202.000, -81.000, -74.000, 0} + {202.000, -81.000, -86.000}, + {202.000, -81.000, -74.000} }, [2] = { - {207.000, -81.000, -88.000, 0}, - {193.000, -81.000, -88.000, 0} + {207.000, -81.000, -88.000}, + {193.000, -81.000, -88.000} }, [3] = { - {208.000, -81.000, -73.000, 0}, - {208.000, -81.000, -87.000, 0} + {208.000, -81.000, -73.000}, + {208.000, -81.000, -87.000} }, [4] = { - {193.000, -81.000, -72.000, 0}, - {207.000, -81.000, -72.000, 0} + {193.000, -81.000, -72.000}, + {207.000, -81.000, -72.000} }, [5] = { - {192.000, -81.000, -87.000, 0}, - {192.000, -81.000, -73.000, 0} + {192.000, -81.000, -87.000}, + {192.000, -81.000, -73.000} }, [6] = { - {203.560, -80.000, -140.000, 0}, - {232.680, -80.000, -140.000, 0} + {203.560, -80.000, -140.000}, + {232.680, -80.000, -140.000} }, [7] = { - {205.640, -80.000, -140.000, 0}, - {234.600, -80.000, -140.000, 0} + {205.640, -80.000, -140.000}, + {234.600, -80.000, -140.000} }, [8] = { - {207.600, -80.000, -140.000, 0}, - {236.560, -80.000, -140.000, 0} + {207.600, -80.000, -140.000}, + {236.560, -80.000, -140.000} }, } @@ -61,7 +62,7 @@ function onMobRoam(mob) if pause < os.time() then local point = (mob:getLocalVar("point") % 2)+1 mob:setLocalVar("point", point) - mob:pathTo(unpack(path[offset][point])) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) mob:setLocalVar("pause", os.time()+15) end end @@ -72,7 +73,7 @@ function onMobDeath(mob, player, isKiller) local mobY = mob:getYPos() local mobZ = mob:getZPos() local mobID = mob:getID() - local spawn = math.random(0,1) == 1 + 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]) diff --git a/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua b/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua index a2087e4f568..f306f0b3ae0 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Pugil.lua @@ -15,7 +15,7 @@ function onMobDeath(mob, player, isKiller) local mobY = mob:getYPos() local mobZ = mob:getZPos() local mobID = mob:getID() - local spawn = math.random(0,1) == 1 + 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]) diff --git a/scripts/zones/Temenos/mobs/Enhanced_Slime.lua b/scripts/zones/Temenos/mobs/Enhanced_Slime.lua index 2b35f6c1b88..b7d4465e70e 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Slime.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Slime.lua @@ -4,19 +4,20 @@ ----------------------------------- require("scripts/globals/status") require("scripts/globals/limbus") +require("scripts/globals/pathfind") local ID = require("scripts/zones/Temenos/IDs") - -local path = -- {X, Y, Z, flags} +local flags = dsp.path.flag.WALLHACK +local path = { [2] = { - {-300.000, 79.500, -130.000, 10}, - {-300.000, 79.500, -150.000, 10} + {-300.000, 79.500, -130.000}, + {-300.000, 79.500, -150.000} }, [5] = { - {-260.000, 79.500, -130.000, 10}, - {-260.000, 79.500, -150.000, 10} + {-260.000, 79.500, -130.000}, + {-260.000, 79.500, -150.000} }, } @@ -27,7 +28,7 @@ function onMobRoam(mob) if pause < os.time() and (offset == 2 or offset == 5) then local point = (mob:getLocalVar("point") % 2)+1 mob:setLocalVar("point", point) - mob:pathTo(unpack(path[offset][point])) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) mob:setLocalVar("pause", os.time()+35) end end @@ -38,7 +39,7 @@ function onMobDeath(mob, player, isKiller) local mobY = mob:getYPos() local mobZ = mob:getZPos() local mobID = mob:getID() - local spawn = math.random(0,1) == 1 + 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]) diff --git a/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua b/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua index 8eed3b9866b..4ff36e0ed97 100644 --- a/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua +++ b/scripts/zones/Temenos/mobs/Enhanced_Tiger.lua @@ -4,19 +4,20 @@ ----------------------------------- require("scripts/globals/status") require("scripts/globals/limbus") +require("scripts/globals/pathfind") local ID = require("scripts/zones/Temenos/IDs") - -local path = -- {X, Y, Z, flags} +local flags = dsp.path.flag.NONE +local path = { [2] = { - {377.635, 74.000, -100.000, 0}, - {343.635, 68.000, -100.000, 0} + {377.635, 74.000, -100.000}, + {343.635, 68.000, -100.000} }, [6] = { - {340.000, 74.000, -137.500, 0}, - {340.000, 68.000, -103.500, 0} + {340.000, 74.000, -137.500}, + {340.000, 68.000, -103.500} }, } @@ -27,7 +28,7 @@ function onMobRoam(mob) if pause < os.time() and (offset == 2 or offset == 6) then local point = (mob:getLocalVar("point") % 2)+1 mob:setLocalVar("point", point) - mob:pathTo(unpack(path[offset][point])) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) mob:setLocalVar("pause", os.time()+20) end end @@ -38,7 +39,7 @@ function onMobDeath(mob, player, isKiller) local mobY = mob:getYPos() local mobZ = mob:getZPos() local mobID = mob:getID() - local spawn = math.random(0,1) == 1 + 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]) diff --git a/scripts/zones/Temenos/mobs/Fire_Elemental.lua b/scripts/zones/Temenos/mobs/Fire_Elemental.lua index a9e5fc135c5..d9555e736b8 100644 --- a/scripts/zones/Temenos/mobs/Fire_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Fire_Elemental.lua @@ -12,31 +12,33 @@ function onMobDeath(mob, player, isKiller) local mobY = mob:getYPos() local mobZ = mob:getZPos() local battlefield = player:getBattlefield() - - 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, - } + 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/Ice_Elemental.lua b/scripts/zones/Temenos/mobs/Ice_Elemental.lua index f0e6b9bdb8b..404628ed627 100644 --- a/scripts/zones/Temenos/mobs/Ice_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Ice_Elemental.lua @@ -3,29 +3,30 @@ -- Mob: Ice Elemental ----------------------------------- require("scripts/globals/limbus") +require("scripts/globals/pathfind") local ID = require("scripts/zones/Temenos/IDs") - -local path = -- {X, Y, Z, flags} +local flags = dsp.path.flag.NONE +local path = { [0] = { - {200.000, -161.000, 197.000, 0}, - {200.000, -161.000, 190.000, 0} + {200.000, -161.000, 197.000}, + {200.000, -161.000, 190.000} }, [1] = { - {197.000, -161.000, 200.000, 0}, - {190.000, -161.000, 200.000, 0} + {197.000, -161.000, 200.000}, + {190.000, -161.000, 200.000} }, [2] = { - {200.000, -161.000, 203.000, 0}, - {200.000, -161.000, 210.000, 0} + {200.000, -161.000, 203.000}, + {200.000, -161.000, 210.000} }, [3] = { - {203.000, -161.000, 200.000, 0}, - {210.000, -161.000, 200.000, 0} + {203.000, -161.000, 200.000}, + {210.000, -161.000, 200.000} }, } @@ -36,7 +37,7 @@ function onMobRoam(mob) if pause < os.time() then local point = (mob:getLocalVar("point") % 2)+1 mob:setLocalVar("point", point) - mob:pathTo(unpack(path[offset][point])) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) mob:setLocalVar("pause", os.time()+5) end end @@ -49,31 +50,33 @@ function onMobDeath(mob, player, isKiller) local mobY = mob:getYPos() local mobZ = mob:getZPos() local battlefield = player:getBattlefield() - - 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, - } + 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/Kari.lua b/scripts/zones/Temenos/mobs/Kari.lua index 29ef7f6a0c7..2599408dbd7 100644 --- a/scripts/zones/Temenos/mobs/Kari.lua +++ b/scripts/zones/Temenos/mobs/Kari.lua @@ -3,15 +3,16 @@ -- Mob: Kari ----------------------------------- require("scripts/globals/limbus") +require("scripts/globals/pathfind") mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") - -local path = -- {X, Y, Z, flags} +local flags = dsp.path.flag.WALLHACK +local path = { - {185.000, -82.000, 465.000, 10}, - {215.000, -82.000, 465.000, 10}, - {215.000, -82.000, 495.500, 10}, - {185.000, -82.000, 495.000, 10} + {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) @@ -19,7 +20,7 @@ function onMobRoam(mob) if pause < os.time() then local point = (mob:getLocalVar("point") % 4)+1 mob:setLocalVar("point", point) - mob:pathTo(unpack(path[point])) + mob:pathTo(path[point][1], path[point][2], path[point][3], flags) mob:setLocalVar("pause", os.time()+15) end end diff --git a/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua b/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua index 90fc45ea95e..e7a763d9aa8 100644 --- a/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua +++ b/scripts/zones/Temenos/mobs/Kindred_Black_Mage.lua @@ -3,30 +3,31 @@ -- Mob: Kindred Black Mage ----------------------------------- require("scripts/globals/limbus") +require("scripts/globals/pathfind") mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") - -local path = -- {X, Y, Z, flags} +local flags = dsp.path.flag.WALLHACK + dsp.path.flag.RUN +local path = { [5] = { - {-148.860, -80.000, 427.000, 11}, - {-91.860, -80.000, 427.000, 11} + {-148.860, -80.000, 427.000}, + {-91.860, -80.000, 427.000} }, [6] = { - {-148.860, -80.000, 430.000, 11}, - {-91.860, -80.000, 430.000, 11} + {-148.860, -80.000, 430.000}, + {-91.860, -80.000, 430.000} }, [7] = { - {-91.860, -80.000, 410.000, 11}, - {-148.860, -80.000, 410.000, 11} + {-91.860, -80.000, 410.000}, + {-148.860, -80.000, 410.000} }, [8] = { - {-91.860, -80.000, 413.000, 11}, - {-148.860, -80.000, 413.000, 11} + {-91.860, -80.000, 413.000}, + {-148.860, -80.000, 413.000} }, } @@ -36,7 +37,7 @@ function onMobRoam(mob) if pause < os.time() then local point = (mob:getLocalVar("point") % 2)+1 mob:setLocalVar("point", point) - mob:pathTo(unpack(path[offset][point])) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) mob:setLocalVar("pause", os.time()+10) end end diff --git a/scripts/zones/Temenos/mobs/Moblin_Dustman.lua b/scripts/zones/Temenos/mobs/Moblin_Dustman.lua index 56c0fc82398..a7baf331b69 100644 --- a/scripts/zones/Temenos/mobs/Moblin_Dustman.lua +++ b/scripts/zones/Temenos/mobs/Moblin_Dustman.lua @@ -3,30 +3,32 @@ -- Mob: Moblin Dustman ----------------------------------- 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 = -- {X, Y, Z, flags} +local path = { [2] = { - {340.000, 67.500, 456.000, 0}, - {340.000, 67.500, 436.000, 0} + {340.000, 67.500, 456.000}, + {340.000, 67.500, 436.000} }, [3] = { - {344.000, 68.000, 460.000, 0}, - {364.000, 68.000, 460.000, 0} + {344.000, 68.000, 460.000}, + {364.000, 68.000, 460.000} }, [4] = { - {370.210, 74.000, 432.008, 0}, - {370.210, 74.000, 408.226, 0} + {370.210, 74.000, 432.008}, + {370.210, 74.000, 408.226} }, [5] = { - {375.210, 74.000, 408.226, 0}, - {375.210, 74.000, 432.008, 0} + {375.210, 74.000, 408.226}, + {375.210, 74.000, 432.008} }, } @@ -36,7 +38,7 @@ function onMobRoam(mob) if pause < os.time() then local point = (mob:getLocalVar("point") % 2)+1 mob:setLocalVar("point", point) - mob:pathTo(unpack(path[offset][point])) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) mob:setLocalVar("pause", os.time()+10) end end diff --git a/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua b/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua index c32ad3989ac..422dc7135a8 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Dragoon.lua @@ -3,13 +3,14 @@ -- Mob: Telchines Dragoon ----------------------------------- require("scripts/globals/limbus") +require("scripts/globals/pathfind") mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") - -local path = -- {X, Y, Z, flags} +local flags = dsp.path.flag.NONE +local path = { - {50.000, 80.000, 419.500, 0}, - {30.000, 80.000, 419.500, 0} + {50.000, 80.000, 419.500}, + {30.000, 80.000, 419.500} } function onMobRoam(mob) @@ -17,7 +18,7 @@ function onMobRoam(mob) if pause < os.time() then local point = (mob:getLocalVar("point") % 2)+1 mob:setLocalVar("point", point) - mob:pathTo(unpack(path[point])) + mob:pathTo(path[point][1], path[point][2], path[point][3], flags) mob:setLocalVar("pause", os.time()+10) end end diff --git a/scripts/zones/Temenos/mobs/Telchines_Monk.lua b/scripts/zones/Temenos/mobs/Telchines_Monk.lua index 09e0b2cf420..827b8adab04 100644 --- a/scripts/zones/Temenos/mobs/Telchines_Monk.lua +++ b/scripts/zones/Temenos/mobs/Telchines_Monk.lua @@ -3,20 +3,21 @@ -- Mob: Telchines Monk ----------------------------------- require("scripts/globals/limbus") +require("scripts/globals/pathfind") mixins = {require("scripts/mixins/job_special")} local ID = require("scripts/zones/Temenos/IDs") - -local path = -- {X, Y, Z, flags} +local flags = dsp.path.flag.NONE +local path = { [4] = { - {30.000, 80.000, 420.500, 0}, - {10.000, 80.000, 420.500, 0} + {30.000, 80.000, 420.500}, + {10.000, 80.000, 420.500} }, [5] = { - {70.000, 80.000, 420.500, 0}, - {50.000, 80.000, 420.500, 0} + {70.000, 80.000, 420.500}, + {50.000, 80.000, 420.500} }, } @@ -26,7 +27,7 @@ function onMobRoam(mob) if pause < os.time() then local point = (mob:getLocalVar("point") % 2)+1 mob:setLocalVar("point", point) - mob:pathTo(unpack(path[offset][point])) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) mob:setLocalVar("pause", os.time()+10) end end diff --git a/scripts/zones/Temenos/mobs/Temenos_Aern.lua b/scripts/zones/Temenos/mobs/Temenos_Aern.lua index c14b6394954..e2fc962fb8a 100644 --- a/scripts/zones/Temenos/mobs/Temenos_Aern.lua +++ b/scripts/zones/Temenos/mobs/Temenos_Aern.lua @@ -3,6 +3,7 @@ -- Mob: Temenos Aern ----------------------------------- require("scripts/globals/limbus") +require("scripts/globals/zone") mixins = { require("scripts/mixins/families/aern"), @@ -25,18 +26,19 @@ function onMobDespawn(mob) local mobZ = mob:getZPos() local killer = mob:getLocalVar("killer") - switch (mobID): caseof { + switch (mobID): caseof + { [ID.mob.TEMENOS_C_MOB[5]+19] = function() - dsp.limbus.extendTimeLimit(battlefield, 5, 37) + dsp.limbus.extendTimeLimit(battlefield, 5, dsp.zone.TEMENOS) end, [ID.mob.TEMENOS_C_MOB[5]+20] = function() - dsp.limbus.extendTimeLimit(battlefield, 5, 37) + dsp.limbus.extendTimeLimit(battlefield, 5, dsp.zone.TEMENOS) end, [ID.mob.TEMENOS_C_MOB[5]+29] = function() - dsp.limbus.extendTimeLimit(battlefield, 5, 37) + dsp.limbus.extendTimeLimit(battlefield, 5, dsp.zone.TEMENOS) end, [ID.mob.TEMENOS_C_MOB[5]+30] = function() - dsp.limbus.extendTimeLimit(battlefield, 5, 37) + dsp.limbus.extendTimeLimit(battlefield, 5, dsp.zone.TEMENOS) end, } local leftAern=0 diff --git a/scripts/zones/Temenos/mobs/Thunder_Elemental.lua b/scripts/zones/Temenos/mobs/Thunder_Elemental.lua index 4e7c1c8f68e..115779cf7be 100644 --- a/scripts/zones/Temenos/mobs/Thunder_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Thunder_Elemental.lua @@ -3,29 +3,30 @@ -- Mob: Thunder Elemental ----------------------------------- require("scripts/globals/limbus") +require("scripts/globals/pathfind") local ID = require("scripts/zones/Temenos/IDs") - -local path = -- {X, Y, Z, flags} +local flags = dsp.path.flag.WALLHACK +local path = { [0] = { - {-312.000, 0.000, 128.000, 10}, - {-312.000, 0.000, 152.000, 10} + {-312.000, 0.000, 128.000}, + {-312.000, 0.000, 152.000} }, [1] = { - {-300.000, 0.000, 152.000, 10}, - {-300.000, 0.000, 128.000, 10} + {-300.000, 0.000, 152.000}, + {-300.000, 0.000, 128.000} }, [2] = { - {-248.000, 0.000, 152.000, 10}, - {-248.000, 0.000, 128.000, 10} + {-248.000, 0.000, 152.000}, + {-248.000, 0.000, 128.000} }, [3] = { - {-260.000, 0.000, 128.000, 10}, - {-260.000, 0.000, 152.000, 10} + {-260.000, 0.000, 128.000}, + {-260.000, 0.000, 152.000} }, } @@ -36,7 +37,7 @@ function onMobRoam(mob) if pause < os.time() then local point = (mob:getLocalVar("point") % 2)+1 mob:setLocalVar("point", point) - mob:pathTo(unpack(path[offset][point])) + mob:pathTo(path[offset][point][1], path[offset][point][2], path[offset][point][3], flags) mob:setLocalVar("pause", os.time()+10) end end @@ -49,31 +50,33 @@ function onMobDeath(mob, player, isKiller) local mobY = mob:getYPos() local mobZ = mob:getZPos() local battlefield = player:getBattlefield() - - 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, - } + 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/Water_Elemental.lua b/scripts/zones/Temenos/mobs/Water_Elemental.lua index 5b99872a4b1..626f201e491 100644 --- a/scripts/zones/Temenos/mobs/Water_Elemental.lua +++ b/scripts/zones/Temenos/mobs/Water_Elemental.lua @@ -12,31 +12,33 @@ function onMobDeath(mob, player, isKiller) local mobY = mob:getYPos() local mobZ = mob:getZPos() local battlefield = player:getBattlefield() - - 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, - } + 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/npcs/Armoury_Crate.lua b/scripts/zones/Temenos/npcs/Armoury_Crate.lua index ea1e8807a52..4ec5b3fc41a 100644 --- a/scripts/zones/Temenos/npcs/Armoury_Crate.lua +++ b/scripts/zones/Temenos/npcs/Armoury_Crate.lua @@ -4,6 +4,7 @@ ----------------------------------- require("scripts/globals/battlefield") require("scripts/globals/limbus") +require("scripts/globals/zone") local ID = require("scripts/zones/Temenos/IDs") local loot = @@ -1279,7 +1280,7 @@ function onTrigger(player, npc) elseif model == 961 then dsp.limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) elseif model == 962 then - dsp.limbus.extendTimeLimit(battlefield, 15, 37) + dsp.limbus.extendTimeLimit(battlefield, 15, dsp.zone.TEMENOS) end end end @@ -1303,7 +1304,7 @@ function onTrigger(player, npc) elseif model == 961 then dsp.limbus.handleLootRolls(battlefield, loot[bfid][i], nil, npc) elseif model == 962 then - dsp.limbus.extendTimeLimit(battlefield, 15, 37) + dsp.limbus.extendTimeLimit(battlefield, 15, dsp.zone.TEMENOS) end end end @@ -1322,16 +1323,17 @@ function onTrigger(player, npc) 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 - DespawnMob(ID.mob.TEMENOS_E_MOB[i]) - DespawnMob(ID.mob.TEMENOS_E_MOB[i]+1) - DespawnMob(ID.mob.TEMENOS_E_MOB[i]+2) - DespawnMob(ID.mob.TEMENOS_E_MOB[i]+3) + 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]) @@ -1346,7 +1348,7 @@ function onTrigger(player, npc) dsp.limbus.handleDoors(battlefield, true, ID.npc.TEMENOS_E_GATE[i]) end elseif model == 962 then - dsp.limbus.extendTimeLimit(battlefield, 15, 37) + dsp.limbus.extendTimeLimit(battlefield, 15, dsp.zone.TEMENOS) dsp.limbus.handleDoors(battlefield, true, ID.npc.TEMENOS_E_GATE[i]) end else diff --git a/sql/mob_groups.sql b/sql/mob_groups.sql index f5be7356a01..98273d66023 100644 --- a/sql/mob_groups.sql +++ b/sql/mob_groups.sql @@ -1327,7 +1327,7 @@ INSERT INTO `mob_groups` VALUES (84,4429,37,'Yagudo_Kapellmeister',0,128,2861,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,6099,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 (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,6149,37,'Iruci',0,128,2863,16000,1000,75,80,0); @@ -1376,14 +1376,14 @@ INSERT INTO `mob_groups` VALUES (7,209,38,'Arboricole_Beetle',0,128,2860,6000,50 INSERT INTO `mob_groups` VALUES (8,210,38,'Arboricole_Crawler',0,128,2860,6000,0,75,80,0); INSERT INTO `mob_groups` VALUES (9,201,38,'Apollyon_Sapling',0,128,2860,6000,500,75,80,0); INSERT INTO `mob_groups` VALUES (10,248,38,'Armoury_Crate',0,128,2860,8000,0,75,80,0); -INSERT INTO `mob_groups` VALUES (11,6139,38,'Air_Elemental',0,128,2861,8000,2000,75,80,0); -INSERT INTO `mob_groups` VALUES (12,6143,38,'Dark_Elemental',0,128,2861,8000,2000,75,80,0); -INSERT INTO `mob_groups` VALUES (13,6140,38,'Earth_Elemental',0,128,2861,8000,2000,75,80,0); -INSERT INTO `mob_groups` VALUES (14,6137,38,'Fire_Elemental',0,128,2861,8000,2000,75,80,0); -INSERT INTO `mob_groups` VALUES (15,6138,38,'Ice_Elemental',0,128,2861,8000,2000,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,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,6142,38,'Water_Elemental',0,128,2861,8000,2000,75,80,0); -INSERT INTO `mob_groups` VALUES (18,6141,38,'Thunder_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,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); @@ -1416,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); diff --git a/sql/mob_pools.sql b/sql/mob_pools.sql index b4c32e2a6d1..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,18,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,8,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); @@ -258,9 +258,9 @@ INSERT INTO `mob_pools` VALUES (197,'Apkallu','Apkallu',27,0x0000BB0600000000000 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,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,0,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,0,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,0,85); +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); @@ -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,18,0,32,0,159,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,8,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,16,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,16,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,16,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,16,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,0x0000540200000000000000000000000000000000,15,15,6,240,100,0,1,1,1,18,0,32,0,159,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,1,0,18,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,0,18,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,18,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,1,0,18,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,1,1,16,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,18,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,16,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,1,1,1,16,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,16,0,0,0,1157,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,16,0,0,2497,1669,8,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,16,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,16,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,16,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,1,1,16,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,16,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,18,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,18,0,0,2887,1671,16,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,'Jidra','Jidra',245,0x00008B0100000000000000000000000000000000,1,1,7,240,100,0,1,1,1,16,0,0,659,135,0,0,0,1,0,245); -- leafless +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,18,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,1,1,16,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,18,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,18,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,18,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,18,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,18,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,18,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,18,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,16,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,16,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,16,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,16,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,16,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,16,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); @@ -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,131,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,1,1,16,0,32,0,157,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); @@ -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); @@ -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,16,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); @@ -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,1,1,16,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,16,0,0,4652,643,8,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,16,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,1,1,16,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,18,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,18,0,32,0,159,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,1,1,16,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,16,0,32,0,159,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,0x0000110500000000000000000000000000000000,7,7,3,240,100,0,1,1,1,18,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); @@ -3266,7 +3266,7 @@ INSERT INTO `mob_pools` VALUES (3205,'Promathia','Promathia',134,0x0000300400000 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,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,0,729); +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,8,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,8,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,1,1,16,0,0,0,131,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,16,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,16,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,16,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,16,0,0,0,129,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,16,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,1,1,1,16,0,0,0,133,5,0,4,1,0,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,0,175); +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,0,110); +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,18,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,1,1,16,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,1,1,16,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,16,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,16,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,16,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,16,0,0,1881,643,8,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,1,1,16,0,0,343,135,0,0,31,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,0x0000EF0400000000000000000000000000000000,1,1,5,265,100,0,1,1,1,18,7,0,1243,133,0,0,0,1,0,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,0,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,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,13 +6137,13 @@ 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,0,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,0,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,0,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,0,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,0,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,0,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,0,729); +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 @@ -6158,14 +6158,14 @@ INSERT INTO `mob_pools` VALUES (6113,'Apollyon_Ahriman','Apollyon_Ahriman',4,0x0 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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,34); -- carbuncle +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 @@ -6174,41 +6174,42 @@ INSERT INTO `mob_pools` VALUES (6129,'Fir_Bholg','Fir_Bholg',115,0x0500060400000 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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,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,0,100); +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, diff --git a/sql/mob_spawn_points.sql b/sql/mob_spawn_points.sql index 77a63cd3046..c60eb8565aa 100644 --- a/sql/mob_spawn_points.sql +++ b/sql/mob_spawn_points.sql @@ -7908,7 +7908,7 @@ INSERT INTO `mob_spawn_points` VALUES (16928889,'Mystic_Avatar','Mystic Avatar', 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); -- Western 1st +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,343.635,68.000,-100.000,250); INSERT INTO `mob_spawn_points` VALUES (16928901,'Enhanced_Tiger','Enhanced Tiger',45,333,70,-93,24); @@ -8011,12 +8011,12 @@ INSERT INTO `mob_spawn_points` VALUES (16929035,'Air_Elemental','Air Elemental', 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,-46.452,-6.500,-471.286,12); +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,-73.000,-0.500,-459.000,250); -INSERT INTO `mob_spawn_points` VALUES (16929042,'Mystic_Avatar','Mystic Avatar',38,-67.483,1.500,-410.652,196); -INSERT INTO `mob_spawn_points` VALUES (16929043,'Mystic_Avatar','Mystic Avatar',40,71.000,2.000,-408.000,87); -INSERT INTO `mob_spawn_points` VALUES (16929044,'Mystic_Avatar','Mystic Avatar',42,74.000,-0.500,-459.000,121); +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); @@ -8186,34 +8186,34 @@ INSERT INTO `mob_spawn_points` VALUES (16932930,'Ice_Elemental','Ice Elemental', 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.000,-0.170,6.401,64); +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,-444.413,0.000,21.586,136); +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,-430.336,0.000,22.767,254); -INSERT INTO `mob_spawn_points` VALUES (16932943,'Bardha','Bardha',20,-440.140,-0.265,-25.878,7); +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,-316.104,0.000,249.568,189); +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,-317.000,0.000,316.000,178); +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,-318.329,0.000,560.389,107); +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,-608.347,0.000,539.316,91); +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); @@ -8235,11 +8235,11 @@ INSERT INTO `mob_spawn_points` VALUES (16933006,'Tieholtsodi','Tieholtsodi',31,1 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,183.869,0.000,-545.740,68); -INSERT INTO `mob_spawn_points` VALUES (16933011,'Adamantshell','Adamantshell',32,184.046,0.000,-544.054,196); +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,196.680,0.000,-441.000,128); -INSERT INTO `mob_spawn_points` VALUES (16933014,'Adamantshell','Adamantshell',32,196.351,0.000,-440.234,152); +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); @@ -8259,12 +8259,12 @@ INSERT INTO `mob_spawn_points` VALUES (16933034,'Flying_Spear','Flying Spear',36 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,539.524,0.000,-352.514,243); +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,569.602,0.000,-343.937,51); -INSERT INTO `mob_spawn_points` VALUES (16933044,'Goobbue_Harvester','Goobbue Harvester',37,449.841,-0.177,22.000,128); -INSERT INTO `mob_spawn_points` VALUES (16933045,'Barometz','Barometz',98,465.548,-0.500,13.832,169); -- Make big -INSERT INTO `mob_spawn_points` VALUES (16933046,'Borametz','Borametz',99,448.197,-0.500,30.825,10); -- Make big +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); @@ -8288,24 +8288,24 @@ INSERT INTO `mob_spawn_points` VALUES (16933071,'Sirin','Sirin',43,405.000,-0.50 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); -- Make big +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',100,312.713,-0.406,594.577,127); -- Make big +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.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); -- Make big +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.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); -- Make big +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); diff --git a/src/map/utils/mobutils.cpp b/src/map/utils/mobutils.cpp index 50812905fee..f3d71d18783 100644 --- a/src/map/utils/mobutils.cpp +++ b/src/map/utils/mobutils.cpp @@ -792,19 +792,10 @@ void SetupLimbusMob(CMobEntity* PMob) PMob->setMobMod(MOBMOD_NO_DESPAWN, 1); PMob->setMobMod(MOBMOD_EXP_BONUS, -100); PMob->setMobMod(MOBMOD_ALWAYS_AGGRO, 1); - - // Battlefield mobs don't drop gil PMob->setMobMod(MOBMOD_GIL_MAX, -1); PMob->setMobMod(MOBMOD_MUG_GIL, -1); - - // never despawn PMob->SetDespawnTime(0s); - // do not roam around - PMob->m_roamFlags |= ROAMFLAG_EVENT; - PMob->m_maxRoamDistance = 0.5f; - PMob->setMobMod(MOBMOD_ALLI_HATE, 200); - } void SetupDynamisMob(CMobEntity* PMob) From 33440f2e6a8ec1a24be44e74e3f6ce158c2fbe0f Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Thu, 30 Jan 2020 15:20:06 -0500 Subject: [PATCH 32/33] Citadel buster, nuclear waste and related abilities. --- .../effects/elemental_resistance_down.lua | 33 +++++++ scripts/globals/mobskills/antimatter.lua | 4 +- scripts/globals/mobskills/armor_buster.lua | 4 +- scripts/globals/mobskills/chemical_bomb.lua | 6 +- scripts/globals/mobskills/citadel_buster.lua | 86 +++++++++++++++++++ scripts/globals/mobskills/cryo_jet.lua | 7 +- scripts/globals/mobskills/energy_screen.lua | 4 +- scripts/globals/mobskills/equalizer.lua | 4 +- scripts/globals/mobskills/flame_thrower.lua | 6 +- .../mobskills/high-tension_discharger.lua | 6 +- scripts/globals/mobskills/hydro_canon.lua | 6 +- scripts/globals/mobskills/mana_screen.lua | 4 +- scripts/globals/mobskills/nuclear_waste.lua | 35 ++++++++ .../globals/mobskills/smoke_discharger.lua | 6 +- scripts/globals/mobskills/turbofan.lua | 12 ++- scripts/globals/mobskills/wire_cutter.lua | 4 +- scripts/globals/status.lua | 1 + scripts/zones/Temenos/IDs.lua | 1 + scripts/zones/Temenos/mobs/Proto-Ultima.lua | 3 + sql/mob_skill_lists.sql | 31 ++++--- sql/mob_skills.sql | 4 +- sql/status_effects.sql | 1 + src/map/status_effect.h | 7 +- 23 files changed, 236 insertions(+), 39 deletions(-) create mode 100644 scripts/globals/effects/elemental_resistance_down.lua create mode 100644 scripts/globals/mobskills/citadel_buster.lua create mode 100644 scripts/globals/mobskills/nuclear_waste.lua 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/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..9d5f4732968 --- /dev/null +++ b/scripts/globals/mobskills/citadel_buster.lua @@ -0,0 +1,86 @@ +--------------------------------------------- +-- 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) + 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) + mob:SetMagicCastingEnabled(true) + mob:SetAutoAttackEnabled(true) + mob:SetMobAbilityEnabled(true) + mob:setMobMod(dsp.mobMod.DRAW_IN, 0) + 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/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..0528e2a6b12 --- /dev/null +++ b/scripts/globals/mobskills/nuclear_waste.lua @@ -0,0 +1,35 @@ +--------------------------------------------------- +-- 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 + target:addStatusEffectEx(dsp.effect.ELEMENTALRES_DOWN, 0, 50, 0, 60) + skill:setMsg(msg) + 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/Temenos/IDs.lua b/scripts/zones/Temenos/IDs.lua index 56104e3a330..f9d152d67a7 100644 --- a/scripts/zones/Temenos/IDs.lua +++ b/scripts/zones/Temenos/IDs.lua @@ -24,6 +24,7 @@ zones[dsp.zone.TEMENOS] = 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... }, diff --git a/scripts/zones/Temenos/mobs/Proto-Ultima.lua b/scripts/zones/Temenos/mobs/Proto-Ultima.lua index 2d53d9780ed..6e9acc8225e 100644 --- a/scripts/zones/Temenos/mobs/Proto-Ultima.lua +++ b/scripts/zones/Temenos/mobs/Proto-Ultima.lua @@ -8,6 +8,9 @@ local ID = require("scripts/zones/Temenos/IDs") function onMobSpawn(mob) mob:SetMagicCastingEnabled(false) + mob:SetAutoAttackEnabled(true) + mob:SetMobAbilityEnabled(true) + mob:setMobMod(dsp.mobMod.DRAW_IN, 0) end function onMobEngaged(mob, target) diff --git a/sql/mob_skill_lists.sql b/sql/mob_skill_lists.sql index 0937f715983..c3293bc4cbc 100644 --- a/sql/mob_skill_lists.sql +++ b/sql/mob_skill_lists.sql @@ -2479,31 +2479,30 @@ 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); --- INSERT INTO `mob_skill_lists` VALUES ('Ultima',728,1262); --- INSERT INTO `mob_skill_lists` VALUES ('Ultima',728,1263); --- 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,1262); +INSERT INTO `mob_skill_lists` VALUES ('Ultima',728,1263); +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,1269); INSERT INTO `mob_skill_lists` VALUES ('Ultima',728,1270); INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1259); INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1260); INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1261); --- INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1262); --- INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1263); --- 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,1262); +INSERT INTO `mob_skill_lists` VALUES ('Proto-Ultima',729,1263); +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,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 e4db7f07b23..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); @@ -1364,7 +1364,7 @@ INSERT INTO `mob_skills` VALUES (1537,929,'discharger',0,7.0,2000,1500,1,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,1081,'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/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/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 /************************************************************************ * * From 703dfabafaefa56a18ad7d1472d606b6552fc3f3 Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Sat, 1 Feb 2020 13:53:51 -0500 Subject: [PATCH 33/33] Resist check Nuclear Waste, temp fix Citadel Buster --- scripts/globals/mobskills/citadel_buster.lua | 11 +++++++---- scripts/globals/mobskills/nuclear_waste.lua | 9 +++++++-- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/scripts/globals/mobskills/citadel_buster.lua b/scripts/globals/mobskills/citadel_buster.lua index 9d5f4732968..f5aa94f04bc 100644 --- a/scripts/globals/mobskills/citadel_buster.lua +++ b/scripts/globals/mobskills/citadel_buster.lua @@ -58,6 +58,13 @@ function onMobSkillCheck(target,mob,skill) 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) @@ -78,9 +85,5 @@ function onMobWeaponSkill(target, mob, skill) 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) - mob:SetMagicCastingEnabled(true) - mob:SetAutoAttackEnabled(true) - mob:SetMobAbilityEnabled(true) - mob:setMobMod(dsp.mobMod.DRAW_IN, 0) return dmg end diff --git a/scripts/globals/mobskills/nuclear_waste.lua b/scripts/globals/mobskills/nuclear_waste.lua index 0528e2a6b12..7ce75048bb4 100644 --- a/scripts/globals/mobskills/nuclear_waste.lua +++ b/scripts/globals/mobskills/nuclear_waste.lua @@ -29,7 +29,12 @@ end function onMobWeaponSkill(target, mob, skill) mob:setLocalVar("nuclearWaste", 1) local typeEffect = dsp.effect.ELEMENTALRES_DOWN - target:addStatusEffectEx(dsp.effect.ELEMENTALRES_DOWN, 0, 50, 0, 60) - skill:setMsg(msg) + 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