diff --git a/scripts/battlefields/Cloister_of_Flames/waking_the_beast.lua b/scripts/battlefields/Cloister_of_Flames/waking_the_beast.lua index fe30546f90a..914cf1b4084 100644 --- a/scripts/battlefields/Cloister_of_Flames/waking_the_beast.lua +++ b/scripts/battlefields/Cloister_of_Flames/waking_the_beast.lua @@ -2,8 +2,6 @@ -- Area: Cloister of Flames -- BCNM: Waking the Beast ----------------------------------- -local cloisterOfFlamesID = zones[xi.zone.CLOISTER_OF_FLAMES] ------------------------------------ local content = BattlefieldQuest:new({ zoneId = xi.zone.CLOISTER_OF_FLAMES, @@ -27,14 +25,7 @@ end content.groups = { { - -- avatar - mobIds = - { - { cloisterOfFlamesID.mob.IFRIT_PRIME_WTB }, - { cloisterOfFlamesID.mob.IFRIT_PRIME_WTB + 5 }, - { cloisterOfFlamesID.mob.IFRIT_PRIME_WTB + 10 }, - }, - + mobs = { 'Ifrit_Prime_WTB' }, allDeath = function(battlefield, mob) -- when avatar defeated then all elementals should also die for i = 1, 4 do @@ -49,30 +40,13 @@ content.groups = }, { - -- elementals - mobIds = + mobs = { - { - cloisterOfFlamesID.mob.IFRIT_PRIME_WTB + 1, - cloisterOfFlamesID.mob.IFRIT_PRIME_WTB + 2, - cloisterOfFlamesID.mob.IFRIT_PRIME_WTB + 3, - cloisterOfFlamesID.mob.IFRIT_PRIME_WTB + 4, - }, - - { - cloisterOfFlamesID.mob.IFRIT_PRIME_WTB + 6, - cloisterOfFlamesID.mob.IFRIT_PRIME_WTB + 7, - cloisterOfFlamesID.mob.IFRIT_PRIME_WTB + 8, - cloisterOfFlamesID.mob.IFRIT_PRIME_WTB + 9, - }, - - { - cloisterOfFlamesID.mob.IFRIT_PRIME_WTB + 11, - cloisterOfFlamesID.mob.IFRIT_PRIME_WTB + 12, - cloisterOfFlamesID.mob.IFRIT_PRIME_WTB + 13, - cloisterOfFlamesID.mob.IFRIT_PRIME_WTB + 14, - }, + 'Ifrit_Prime_WTB', + 'Fire_Elemental', }, + isParty = true, + superlink = true, }, } diff --git a/scripts/battlefields/Cloister_of_Frost/waking_the_beast.lua b/scripts/battlefields/Cloister_of_Frost/waking_the_beast.lua new file mode 100644 index 00000000000..fecb66fb3fb --- /dev/null +++ b/scripts/battlefields/Cloister_of_Frost/waking_the_beast.lua @@ -0,0 +1,53 @@ +----------------------------------- +-- Area: Cloister of Frost +-- BCNM: Waking the Beast +----------------------------------- + +local content = BattlefieldQuest:new({ + zoneId = xi.zone.CLOISTER_OF_FROST, + battlefieldId = xi.battlefield.id.WAKING_THE_BEAST_CLOISTER_OF_FROST, + canLoseExp = false, + maxPlayers = 18, + timeLimit = utils.minutes(30), + index = 3, + entryNpc = 'IP_Entrance', + exitNpc = 'Ice_Protocrystal', + requiredKeyItems = { xi.ki.RAINBOW_RESONATOR }, + + questArea = xi.questLog.OTHER_AREAS, + quest = xi.quest.id.otherAreas.WAKING_THE_BEAST, +}) + +function content:onEventFinishWin(player, csid, option, npc) + npcUtil.giveKeyItem(player, xi.ki.EYE_OF_FROST) +end + +content.groups = +{ + { + mobs = { 'Shiva_Prime_WTB' }, + allDeath = function(battlefield, mob) + -- when avatar defeated then all elementals should also die + for i = 1, 4 do + local elemental = GetMobByID(mob:getID() + i) + if elemental and elemental:isAlive() then + elemental:setHP(0) + end + end + + battlefield:setStatus(xi.battlefield.status.WON) + end, + }, + + { + mobs = + { + 'Shiva_Prime_WTB', + 'Ice_Elemental', + }, + isParty = true, + superlink = true, + }, +} + +return content:register() diff --git a/scripts/battlefields/Cloister_of_Gales/waking_the_beast.lua b/scripts/battlefields/Cloister_of_Gales/waking_the_beast.lua new file mode 100644 index 00000000000..6c36874a083 --- /dev/null +++ b/scripts/battlefields/Cloister_of_Gales/waking_the_beast.lua @@ -0,0 +1,53 @@ +----------------------------------- +-- Area: Cloister of Gales +-- BCNM: Waking the Beast +----------------------------------- + +local content = BattlefieldQuest:new({ + zoneId = xi.zone.CLOISTER_OF_GALES, + battlefieldId = xi.battlefield.id.WAKING_THE_BEAST_CLOISTER_OF_GALES, + canLoseExp = false, + maxPlayers = 18, + timeLimit = utils.minutes(30), + index = 3, + entryNpc = 'WP_Entrance', + exitNpc = 'Wind_Protocrystal', + requiredKeyItems = { xi.ki.RAINBOW_RESONATOR }, + + questArea = xi.questLog.OTHER_AREAS, + quest = xi.quest.id.otherAreas.WAKING_THE_BEAST, +}) + +function content:onEventFinishWin(player, csid, option, npc) + npcUtil.giveKeyItem(player, xi.ki.EYE_OF_GALES) +end + +content.groups = +{ + { + mobs = { 'Garuda_Prime_WTB' }, + allDeath = function(battlefield, mob) + -- when avatar defeated then all elementals should also die + for i = 1, 4 do + local elemental = GetMobByID(mob:getID() + i) + if elemental and elemental:isAlive() then + elemental:setHP(0) + end + end + + battlefield:setStatus(xi.battlefield.status.WON) + end, + }, + + { + mobs = + { + 'Garuda_Prime_WTB', + 'Air_Elemental', + }, + isParty = true, + superlink = true, + }, +} + +return content:register() diff --git a/scripts/battlefields/Cloister_of_Storms/waking_the_beast.lua b/scripts/battlefields/Cloister_of_Storms/waking_the_beast.lua new file mode 100644 index 00000000000..14eccc68fb4 --- /dev/null +++ b/scripts/battlefields/Cloister_of_Storms/waking_the_beast.lua @@ -0,0 +1,53 @@ +----------------------------------- +-- Area: Cloister of Storms +-- BCNM: Waking the Beast +----------------------------------- + +local content = BattlefieldQuest:new({ + zoneId = xi.zone.CLOISTER_OF_STORMS, + battlefieldId = xi.battlefield.id.WAKING_THE_BEAST_CLOISTER_OF_STORMS, + canLoseExp = false, + maxPlayers = 18, + timeLimit = utils.minutes(30), + index = 3, + entryNpc = 'LP_Entrance', + exitNpc = 'Lightning_Protocrystal', + requiredKeyItems = { xi.ki.RAINBOW_RESONATOR }, + + questArea = xi.questLog.OTHER_AREAS, + quest = xi.quest.id.otherAreas.WAKING_THE_BEAST, +}) + +function content:onEventFinishWin(player, csid, option, npc) + npcUtil.giveKeyItem(player, xi.ki.EYE_OF_STORMS) +end + +content.groups = +{ + { + mobs = { 'Ramuh_Prime_WTB' }, + allDeath = function(battlefield, mob) + -- when avatar defeated then all elementals should also die + for i = 1, 4 do + local elemental = GetMobByID(mob:getID() + i) + if elemental and elemental:isAlive() then + elemental:setHP(0) + end + end + + battlefield:setStatus(xi.battlefield.status.WON) + end, + }, + + { + mobs = + { + 'Ramuh_Prime_WTB', + 'Thunder_Elemental', + }, + isParty = true, + superlink = true, + }, +} + +return content:register() diff --git a/scripts/battlefields/Cloister_of_Tides/waking_the_beast.lua b/scripts/battlefields/Cloister_of_Tides/waking_the_beast.lua new file mode 100644 index 00000000000..33d612c2b7d --- /dev/null +++ b/scripts/battlefields/Cloister_of_Tides/waking_the_beast.lua @@ -0,0 +1,53 @@ +----------------------------------- +-- Area: Cloister of Tides +-- BCNM: Waking the Beast +----------------------------------- + +local content = BattlefieldQuest:new({ + zoneId = xi.zone.CLOISTER_OF_TIDES, + battlefieldId = xi.battlefield.id.WAKING_THE_BEAST_CLOISTER_OF_TIDES, + canLoseExp = false, + maxPlayers = 18, + timeLimit = utils.minutes(30), + index = 2, + entryNpc = 'WP_Entrance', + exitNpc = 'Water_Protocrystal', + requiredKeyItems = { xi.ki.RAINBOW_RESONATOR }, + + questArea = xi.questLog.OTHER_AREAS, + quest = xi.quest.id.otherAreas.WAKING_THE_BEAST, +}) + +function content:onEventFinishWin(player, csid, option, npc) + npcUtil.giveKeyItem(player, xi.ki.EYE_OF_TIDES) +end + +content.groups = +{ + { + mobs = { 'Leviathan_Prime_WTB' }, + allDeath = function(battlefield, mob) + -- when avatar defeated then all elementals should also die + for i = 1, 4 do + local elemental = GetMobByID(mob:getID() + i) + if elemental and elemental:isAlive() then + elemental:setHP(0) + end + end + + battlefield:setStatus(xi.battlefield.status.WON) + end, + }, + + { + mobs = + { + 'Leviathan_Prime_WTB', + 'Water_Elemental', + }, + isParty = true, + superlink = true, + }, +} + +return content:register() diff --git a/scripts/battlefields/Cloister_of_Tremors/waking_the_beast.lua b/scripts/battlefields/Cloister_of_Tremors/waking_the_beast.lua new file mode 100644 index 00000000000..87829ab3b14 --- /dev/null +++ b/scripts/battlefields/Cloister_of_Tremors/waking_the_beast.lua @@ -0,0 +1,53 @@ +----------------------------------- +-- Area: Cloister of Tremors +-- BCNM: Waking the Beast +----------------------------------- + +local content = BattlefieldQuest:new({ + zoneId = xi.zone.CLOISTER_OF_TREMORS, + battlefieldId = xi.battlefield.id.WAKING_THE_BEAST_CLOISTER_OF_TREMORS, + canLoseExp = false, + maxPlayers = 18, + timeLimit = utils.minutes(30), + index = 3, + entryNpc = 'EP_Entrance', + exitNpc = 'Earth_Protocrystal', + requiredKeyItems = { xi.ki.RAINBOW_RESONATOR }, + + questArea = xi.questLog.OTHER_AREAS, + quest = xi.quest.id.otherAreas.WAKING_THE_BEAST, +}) + +function content:onEventFinishWin(player, csid, option, npc) + npcUtil.giveKeyItem(player, xi.ki.EYE_OF_TREMORS) +end + +content.groups = +{ + { + mobs = { 'Titan_Prime_WTB' }, + allDeath = function(battlefield, mob) + -- when avatar defeated then all elementals should also die + for i = 1, 4 do + local elemental = GetMobByID(mob:getID() + i) + if elemental and elemental:isAlive() then + elemental:setHP(0) + end + end + + battlefield:setStatus(xi.battlefield.status.WON) + end, + }, + + { + mobs = + { + 'Titan_Prime_WTB', + 'Earth_Elemental', + }, + isParty = true, + superlink = true, + }, +} + +return content:register() diff --git a/scripts/zones/Cloister_of_Flames/IDs.lua b/scripts/zones/Cloister_of_Flames/IDs.lua index 99f7417fcfe..7c0a5901b82 100644 --- a/scripts/zones/Cloister_of_Flames/IDs.lua +++ b/scripts/zones/Cloister_of_Flames/IDs.lua @@ -34,7 +34,6 @@ zones[xi.zone.CLOISTER_OF_FLAMES] = { IFRIT_PRIME = GetFirstID('Ifrit_Prime_Trial'), IFRIT_PRIME_ASA = GetFirstID('Ifrit_Prime_ASA'), - IFRIT_PRIME_WTB = GetFirstID('Ifrit_Prime_WTB') }, npc = { diff --git a/scripts/zones/Cloister_of_Flames/mobs/Fire_Elemental.lua b/scripts/zones/Cloister_of_Flames/mobs/Fire_Elemental.lua index cdc8675e2c0..ebafb9005f7 100644 --- a/scripts/zones/Cloister_of_Flames/mobs/Fire_Elemental.lua +++ b/scripts/zones/Cloister_of_Flames/mobs/Fire_Elemental.lua @@ -19,9 +19,8 @@ entity.onMobSpawn = function(mob) mob:addImmunity(xi.immunity.GRAVITY) mob:addImmunity(xi.immunity.BIND) mob:addImmunity(xi.immunity.PARALYZE) - -- mob:setMobMod(xi.mobMod.SKIP_ALLEGIANCE_CHECK, 1) + mob:setMobMod(xi.mobMod.SKIP_ALLEGIANCE_CHECK, 1) mob:setMobMod(xi.mobMod.ADD_EFFECT, 1) - mob:setMobMod(xi.mobMod.CHECK_AS_NM, 1) mob:setMobMod(xi.mobMod.MAGIC_DELAY, 12) mob:setMagicCastingEnabled(false) end diff --git a/scripts/zones/Cloister_of_Flames/mobs/Ifrit_Prime_WTB.lua b/scripts/zones/Cloister_of_Flames/mobs/Ifrit_Prime_WTB.lua index 01aaa9b1c16..44628b568a1 100644 --- a/scripts/zones/Cloister_of_Flames/mobs/Ifrit_Prime_WTB.lua +++ b/scripts/zones/Cloister_of_Flames/mobs/Ifrit_Prime_WTB.lua @@ -28,7 +28,6 @@ entity.onMobSpawn = function(mob) mob:setMod(xi.mod.FIRE_ABSORB, 100) -- do not need to set res rank for fire because WTB primes have own -- mob resistances row that sets it already - mob:addImmunity(xi.immunity.PARALYZE) mob:addImmunity(xi.immunity.GRAVITY) mob:addImmunity(xi.immunity.BIND) mob:addImmunity(xi.immunity.SILENCE) @@ -37,6 +36,8 @@ entity.onMobSpawn = function(mob) mob:addImmunity(xi.immunity.DARK_SLEEP) mob:addImmunity(xi.immunity.TERROR) mob:setMobMod(xi.mobMod.ADD_EFFECT, 1) + -- element specific immunities + mob:addImmunity(xi.immunity.PARALYZE) end entity.onAdditionalEffect = function(mob, target, damage) diff --git a/scripts/zones/Cloister_of_Frost/mobs/Ice_Elemental.lua b/scripts/zones/Cloister_of_Frost/mobs/Ice_Elemental.lua new file mode 100644 index 00000000000..e8d36dffffb --- /dev/null +++ b/scripts/zones/Cloister_of_Frost/mobs/Ice_Elemental.lua @@ -0,0 +1,39 @@ +----------------------------------- +-- Area: Cloister of Frost +-- Mob: Ice Elemental +-- Quest: Waking the Beast +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.UDMGPHYS, -2500) + mob:setMod(xi.mod.ICE_ABSORB, 100) + -- res rank for mob that absorbs is always lowest value + -- set here as this shares a mob_resistances row with many other eles + mob:setMod(xi.mod.ICE_RES_RANK, -3) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.DARK_SLEEP) + mob:addImmunity(xi.immunity.SILENCE) + mob:addImmunity(xi.immunity.STUN) + mob:addImmunity(xi.immunity.GRAVITY) + mob:addImmunity(xi.immunity.BIND) + mob:addImmunity(xi.immunity.PARALYZE) + mob:setMobMod(xi.mobMod.SKIP_ALLEGIANCE_CHECK, 1) + mob:setMobMod(xi.mobMod.ADD_EFFECT, 1) + mob:setMobMod(xi.mobMod.MAGIC_DELAY, 12) + mob:setMagicCastingEnabled(false) +end + +entity.onMobEngage = function(mob, target) + mob:setMagicCastingEnabled(true) +end + +entity.onAdditionalEffect = function(mob, target, damage) + return xi.mob.onAddEffect(mob, target, damage, xi.mob.ae.PARALYZE, { chance = 10, duration = 30 }) +end + +entity.onMobDeath = function(mob, player, optParams) +end + +return entity diff --git a/scripts/zones/Cloister_of_Frost/mobs/Shiva_Prime_WTB.lua b/scripts/zones/Cloister_of_Frost/mobs/Shiva_Prime_WTB.lua new file mode 100644 index 00000000000..4ef5b67a1e8 --- /dev/null +++ b/scripts/zones/Cloister_of_Frost/mobs/Shiva_Prime_WTB.lua @@ -0,0 +1,120 @@ +----------------------------------- +-- Area: Cloister of Frost +-- Mob: Shiva Prime +-- Quest: Waking the Beast +----------------------------------- +mixins = { require('scripts/mixins/job_special') } +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) +end + +entity.onMobSpawn = function(mob) + xi.mix.jobSpecial.config(mob, { + specials = + { + { id = 884, hpp = math.random(10, 90) }, + }, + }) + + mob:setMobMod(xi.mobMod.NO_STANDBACK, 1) + mob:setMobMod(xi.mobMod.SIGHT_RANGE, 13) + mob:setMobMod(xi.mobMod.MAGIC_RANGE, 40) + mob:setMod(xi.mod.UDMGPHYS, -6000) + mob:setMod(xi.mod.UDMGRANGE, -6000) + mob:setMod(xi.mod.UDMGMAGIC, -2000) + mob:setMod(xi.mod.ICE_ABSORB, 100) + -- do not need to set res rank for ice because WTB primes have own + -- mob resistances row that sets it already + mob:addImmunity(xi.immunity.GRAVITY) + mob:addImmunity(xi.immunity.BIND) + mob:addImmunity(xi.immunity.SILENCE) + mob:addImmunity(xi.immunity.STUN) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.DARK_SLEEP) + mob:addImmunity(xi.immunity.TERROR) + mob:setMobMod(xi.mobMod.ADD_EFFECT, 1) + -- element specific immunities + mob:addImmunity(xi.immunity.PARALYZE) +end + +entity.onAdditionalEffect = function(mob, target, damage) + return xi.mob.onAddEffect(mob, target, damage, xi.mob.ae.ENBLIZZARD, { chance = 100, power = math.random(75, 125) }) +end + +entity.onMobWeaponSkill = function(target, mob, skill) + -- if not all four elementals are alive then respawn one after using level 75 BP + if skill:getID() == 883 then + local pos = target:getPos() + + for i = 1, 4 do + local elemental = GetMobByID(mob:getID() + i) + + if elemental and not elemental:isSpawned() then + SpawnMob(elemental:getID()):updateEnmity(target) + elemental:setPos(pos.x, pos.y, pos.z, pos.rot) + break + end + end + end +end + +entity.onMobEngage = function(mob, target) + mob:setLocalVar('healTimer', os.time() + math.random(30, 60)) + mob:setLocalVar('hateTimer', os.time() + math.random(10, 20)) +end + +entity.onMobFight = function(mob, target) + -- every 30-60 seconds have one of the elementals heal (via absorbing T4 spell) either self or Shiva + if mob:getLocalVar('healTimer') < os.time() then + local avatarDamaged = mob:getHPP() < 100 + + for i = 1, 4 do + local elemental = GetMobByID(mob:getID() + i) + + if elemental and elemental:isAlive() then + local elementalDamaged = elemental:getHPP() < 100 + + -- only target either the elemental or avatar + -- depending on if they are damaged + local spellTarget = nil + if elementalDamaged and avatarDamaged then + if math.random(1, 2) == 1 then + spellTarget = mob + else + spellTarget = elemental + end + elseif avatarDamaged then + spellTarget = mob + elseif elementalDamaged then + spellTarget = elemental + end + + if spellTarget then + elemental:castSpell(xi.magic.spell.BLIZZARD_IV, spellTarget) + mob:setLocalVar('healTimer', os.time() + math.random(30, 60)) + break + end + end + end + end + + -- every 10-20 seconds have the elementals refocus on the avatar's battle target + if mob:getLocalVar('hateTimer') < os.time() then + for i = 1, 4 do + local elemental = GetMobByID(mob:getID() + i) + + if elemental and elemental:isAlive() then + elemental:updateEnmity(target) + mob:setLocalVar('hateTimer', os.time() + math.random(10, 20)) + end + end + end +end + +entity.onMobDeath = function(mob, player, optParams) +end + +return entity diff --git a/scripts/zones/Cloister_of_Gales/IDs.lua b/scripts/zones/Cloister_of_Gales/IDs.lua index 7b898a80589..c34febe692e 100644 --- a/scripts/zones/Cloister_of_Gales/IDs.lua +++ b/scripts/zones/Cloister_of_Gales/IDs.lua @@ -21,6 +21,7 @@ zones[xi.zone.CLOISTER_OF_GALES] = PARTY_MEMBERS_HAVE_FALLEN = 7573, -- All party members have fallen in battle. Now leaving the battlefield. THE_PARTY_WILL_BE_REMOVED = 7580, -- If all party members' HP are still zero after # minute[/s], the party will be removed from the battlefield. GARUDA_UNLOCKED = 7583, -- You are now able to summon [Ifrit/Titan/Leviathan/Garuda/Shiva/Ramuh]. + ENTERING_THE_BATTLEFIELD_FOR = 7671, -- Entering the battlefield for [Trial by Wind/Carbuncle Debacle/Trial-Size Trial by Wind/Waking the Beast/Sugar-coated Directive/Trial by Wind]! ATTACH_SEAL = 7767, -- attaches to the protocrystal. POWER_STYMIES = 7768, -- An unseen power stymies your efforts to attach to the protocrystal. }, diff --git a/scripts/zones/Cloister_of_Gales/mobs/Air_Elemental.lua b/scripts/zones/Cloister_of_Gales/mobs/Air_Elemental.lua new file mode 100644 index 00000000000..06ea1635831 --- /dev/null +++ b/scripts/zones/Cloister_of_Gales/mobs/Air_Elemental.lua @@ -0,0 +1,39 @@ +----------------------------------- +-- Area: Cloister of Gales +-- Mob: Air Elemental +-- Quest: Waking the Beast +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.UDMGPHYS, -2500) + mob:setMod(xi.mod.WIND_ABSORB, 100) + -- res rank for mob that absorbs is always lowest value + -- set here as this shares a mob_resistances row with many other eles + mob:setMod(xi.mod.WIND_RES_RANK, -3) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.DARK_SLEEP) + mob:addImmunity(xi.immunity.SILENCE) + mob:addImmunity(xi.immunity.STUN) + mob:addImmunity(xi.immunity.GRAVITY) + mob:addImmunity(xi.immunity.BIND) + mob:addImmunity(xi.immunity.PARALYZE) + mob:setMobMod(xi.mobMod.SKIP_ALLEGIANCE_CHECK, 1) + mob:setMobMod(xi.mobMod.ADD_EFFECT, 1) + mob:setMobMod(xi.mobMod.MAGIC_DELAY, 12) + mob:setMagicCastingEnabled(false) +end + +entity.onMobEngage = function(mob, target) + mob:setMagicCastingEnabled(true) +end + +entity.onAdditionalEffect = function(mob, target, damage) + return xi.mob.onAddEffect(mob, target, damage, xi.mob.ae.SILENCE, { chance = 10, duration = 30 }) +end + +entity.onMobDeath = function(mob, player, optParams) +end + +return entity diff --git a/scripts/zones/Cloister_of_Gales/mobs/Garuda_Prime_WTB.lua b/scripts/zones/Cloister_of_Gales/mobs/Garuda_Prime_WTB.lua new file mode 100644 index 00000000000..1dc3f38af38 --- /dev/null +++ b/scripts/zones/Cloister_of_Gales/mobs/Garuda_Prime_WTB.lua @@ -0,0 +1,120 @@ +----------------------------------- +-- Area: Cloister of Gales +-- Mob: Garuda Prime +-- Quest: Waking the Beast +----------------------------------- +mixins = { require('scripts/mixins/job_special') } +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) +end + +entity.onMobSpawn = function(mob) + xi.mix.jobSpecial.config(mob, { + specials = + { + { id = 875, hpp = math.random(10, 90) }, + }, + }) + + mob:setMobMod(xi.mobMod.NO_STANDBACK, 1) + mob:setMobMod(xi.mobMod.SIGHT_RANGE, 13) + mob:setMobMod(xi.mobMod.MAGIC_RANGE, 40) + mob:setMod(xi.mod.UDMGPHYS, -6000) + mob:setMod(xi.mod.UDMGRANGE, -6000) + mob:setMod(xi.mod.UDMGMAGIC, -2000) + mob:setMod(xi.mod.WIND_ABSORB, 100) + -- do not need to set res rank for wind because WTB primes have own + -- mob resistances row that sets it already + mob:addImmunity(xi.immunity.GRAVITY) + mob:addImmunity(xi.immunity.BIND) + mob:addImmunity(xi.immunity.SILENCE) + mob:addImmunity(xi.immunity.STUN) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.DARK_SLEEP) + mob:addImmunity(xi.immunity.TERROR) + mob:setMobMod(xi.mobMod.ADD_EFFECT, 1) + -- element specific immunities + mob:addImmunity(xi.immunity.SLOW) +end + +entity.onAdditionalEffect = function(mob, target, damage) + return xi.mob.onAddEffect(mob, target, damage, xi.mob.ae.ENAERO, { chance = 100, power = math.random(75, 125) }) +end + +entity.onMobWeaponSkill = function(target, mob, skill) + -- if not all four elementals are alive then respawn one after using level 75 BP + if skill:getID() == 874 then + local pos = target:getPos() + + for i = 1, 4 do + local elemental = GetMobByID(mob:getID() + i) + + if elemental and not elemental:isSpawned() then + SpawnMob(elemental:getID()):updateEnmity(target) + elemental:setPos(pos.x, pos.y, pos.z, pos.rot) + break + end + end + end +end + +entity.onMobEngage = function(mob, target) + mob:setLocalVar('healTimer', os.time() + math.random(30, 60)) + mob:setLocalVar('hateTimer', os.time() + math.random(10, 20)) +end + +entity.onMobFight = function(mob, target) + -- every 30-60 seconds have one of the elementals heal (via absorbing T4 spell) either self or Garuda + if mob:getLocalVar('healTimer') < os.time() then + local avatarDamaged = mob:getHPP() < 100 + + for i = 1, 4 do + local elemental = GetMobByID(mob:getID() + i) + + if elemental and elemental:isAlive() then + local elementalDamaged = elemental:getHPP() < 100 + + -- only target either the elemental or avatar + -- depending on if they are damaged + local spellTarget = nil + if elementalDamaged and avatarDamaged then + if math.random(1, 2) == 1 then + spellTarget = mob + else + spellTarget = elemental + end + elseif avatarDamaged then + spellTarget = mob + elseif elementalDamaged then + spellTarget = elemental + end + + if spellTarget then + elemental:castSpell(xi.magic.spell.AERO_IV, spellTarget) + mob:setLocalVar('healTimer', os.time() + math.random(30, 60)) + break + end + end + end + end + + -- every 10-20 seconds have the elementals refocus on the avatar's battle target + if mob:getLocalVar('hateTimer') < os.time() then + for i = 1, 4 do + local elemental = GetMobByID(mob:getID() + i) + + if elemental and elemental:isAlive() then + elemental:updateEnmity(target) + mob:setLocalVar('hateTimer', os.time() + math.random(10, 20)) + end + end + end +end + +entity.onMobDeath = function(mob, player, optParams) +end + +return entity diff --git a/scripts/zones/Cloister_of_Storms/mobs/Ramuh_Prime_WTB.lua b/scripts/zones/Cloister_of_Storms/mobs/Ramuh_Prime_WTB.lua new file mode 100644 index 00000000000..327b9b642e1 --- /dev/null +++ b/scripts/zones/Cloister_of_Storms/mobs/Ramuh_Prime_WTB.lua @@ -0,0 +1,120 @@ +----------------------------------- +-- Area: Cloister of Storms +-- Mob: Ramuh Prime +-- Quest: Waking the Beast +----------------------------------- +mixins = { require('scripts/mixins/job_special') } +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) +end + +entity.onMobSpawn = function(mob) + xi.mix.jobSpecial.config(mob, { + specials = + { + { id = 893, hpp = math.random(10, 90) }, + }, + }) + + mob:setMobMod(xi.mobMod.NO_STANDBACK, 1) + mob:setMobMod(xi.mobMod.SIGHT_RANGE, 13) + mob:setMobMod(xi.mobMod.MAGIC_RANGE, 40) + mob:setMod(xi.mod.UDMGPHYS, -6000) + mob:setMod(xi.mod.UDMGRANGE, -6000) + mob:setMod(xi.mod.UDMGMAGIC, -2000) + mob:setMod(xi.mod.LTNG_ABSORB, 100) + -- do not need to set res rank for thunder because WTB primes have own + -- mob resistances row that sets it already + mob:addImmunity(xi.immunity.GRAVITY) + mob:addImmunity(xi.immunity.BIND) + mob:addImmunity(xi.immunity.SILENCE) + mob:addImmunity(xi.immunity.STUN) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.DARK_SLEEP) + mob:addImmunity(xi.immunity.TERROR) + mob:setMobMod(xi.mobMod.ADD_EFFECT, 1) + -- element specific immunities + mob:addImmunity(xi.immunity.POISON) +end + +entity.onAdditionalEffect = function(mob, target, damage) + return xi.mob.onAddEffect(mob, target, damage, xi.mob.ae.ENTHUNDER, { chance = 100, power = math.random(75, 125) }) +end + +entity.onMobWeaponSkill = function(target, mob, skill) + -- if not all four elementals are alive then respawn one after using level 75 BP + if skill:getID() == 892 then + local pos = target:getPos() + + for i = 1, 4 do + local elemental = GetMobByID(mob:getID() + i) + + if elemental and not elemental:isSpawned() then + SpawnMob(elemental:getID()):updateEnmity(target) + elemental:setPos(pos.x, pos.y, pos.z, pos.rot) + break + end + end + end +end + +entity.onMobEngage = function(mob, target) + mob:setLocalVar('healTimer', os.time() + math.random(30, 60)) + mob:setLocalVar('hateTimer', os.time() + math.random(10, 20)) +end + +entity.onMobFight = function(mob, target) + -- every 30-60 seconds have one of the elementals heal (via absorbing T4 spell) either self or Garuda + if mob:getLocalVar('healTimer') < os.time() then + local avatarDamaged = mob:getHPP() < 100 + + for i = 1, 4 do + local elemental = GetMobByID(mob:getID() + i) + + if elemental and elemental:isAlive() then + local elementalDamaged = elemental:getHPP() < 100 + + -- only target either the elemental or avatar + -- depending on if they are damaged + local spellTarget = nil + if elementalDamaged and avatarDamaged then + if math.random(1, 2) == 1 then + spellTarget = mob + else + spellTarget = elemental + end + elseif avatarDamaged then + spellTarget = mob + elseif elementalDamaged then + spellTarget = elemental + end + + if spellTarget then + elemental:castSpell(xi.magic.spell.THUNDER_IV, spellTarget) + mob:setLocalVar('healTimer', os.time() + math.random(30, 60)) + break + end + end + end + end + + -- every 10-20 seconds have the elementals refocus on the avatar's battle target + if mob:getLocalVar('hateTimer') < os.time() then + for i = 1, 4 do + local elemental = GetMobByID(mob:getID() + i) + + if elemental and elemental:isAlive() then + elemental:updateEnmity(target) + mob:setLocalVar('hateTimer', os.time() + math.random(10, 20)) + end + end + end +end + +entity.onMobDeath = function(mob, player, optParams) +end + +return entity diff --git a/scripts/zones/Cloister_of_Storms/mobs/Thunder_Elemental.lua b/scripts/zones/Cloister_of_Storms/mobs/Thunder_Elemental.lua new file mode 100644 index 00000000000..b803fe183cb --- /dev/null +++ b/scripts/zones/Cloister_of_Storms/mobs/Thunder_Elemental.lua @@ -0,0 +1,39 @@ +----------------------------------- +-- Area: Cloister of Storms +-- Mob: Thunder Elemental +-- Quest: Waking the Beast +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.UDMGPHYS, -2500) + mob:setMod(xi.mod.LTNG_ABSORB, 100) + -- res rank for mob that absorbs is always lowest value + -- set here as this shares a mob_resistances row with many other eles + mob:setMod(xi.mod.THUNDER_RES_RANK, -3) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.DARK_SLEEP) + mob:addImmunity(xi.immunity.SILENCE) + mob:addImmunity(xi.immunity.STUN) + mob:addImmunity(xi.immunity.GRAVITY) + mob:addImmunity(xi.immunity.BIND) + mob:addImmunity(xi.immunity.PARALYZE) + mob:setMobMod(xi.mobMod.SKIP_ALLEGIANCE_CHECK, 1) + mob:setMobMod(xi.mobMod.ADD_EFFECT, 1) + mob:setMobMod(xi.mobMod.MAGIC_DELAY, 12) + mob:setMagicCastingEnabled(false) +end + +entity.onMobEngage = function(mob, target) + mob:setMagicCastingEnabled(true) +end + +entity.onAdditionalEffect = function(mob, target, damage) + return xi.mob.onAddEffect(mob, target, damage, xi.mob.ae.STUN, { chance = 10 }) +end + +entity.onMobDeath = function(mob, player, optParams) +end + +return entity diff --git a/scripts/zones/Cloister_of_Tides/mobs/Leviathan_Prime_WTB.lua b/scripts/zones/Cloister_of_Tides/mobs/Leviathan_Prime_WTB.lua new file mode 100644 index 00000000000..311ef51767a --- /dev/null +++ b/scripts/zones/Cloister_of_Tides/mobs/Leviathan_Prime_WTB.lua @@ -0,0 +1,120 @@ +----------------------------------- +-- Area: Cloister of Tides +-- Mob: Leviathan Prime +-- Quest: Waking the Beast +----------------------------------- +mixins = { require('scripts/mixins/job_special') } +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) +end + +entity.onMobSpawn = function(mob) + xi.mix.jobSpecial.config(mob, { + specials = + { + { id = 866, hpp = math.random(10, 90) }, + }, + }) + + mob:setMobMod(xi.mobMod.NO_STANDBACK, 1) + mob:setMobMod(xi.mobMod.SIGHT_RANGE, 13) + mob:setMobMod(xi.mobMod.MAGIC_RANGE, 40) + mob:setMod(xi.mod.UDMGPHYS, -6000) + mob:setMod(xi.mod.UDMGRANGE, -6000) + mob:setMod(xi.mod.UDMGMAGIC, -2000) + mob:setMod(xi.mod.WATER_ABSORB, 100) + -- do not need to set res rank for water because WTB primes have own + -- mob resistances row that sets it already + mob:addImmunity(xi.immunity.GRAVITY) + mob:addImmunity(xi.immunity.BIND) + mob:addImmunity(xi.immunity.SILENCE) + mob:addImmunity(xi.immunity.STUN) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.DARK_SLEEP) + mob:addImmunity(xi.immunity.TERROR) + mob:setMobMod(xi.mobMod.ADD_EFFECT, 1) + -- element specific immunities + mob:addImmunity(xi.immunity.POISON) +end + +entity.onAdditionalEffect = function(mob, target, damage) + return xi.mob.onAddEffect(mob, target, damage, xi.mob.ae.ENWATER, { chance = 100, power = math.random(75, 125) }) +end + +entity.onMobWeaponSkill = function(target, mob, skill) + -- if not all four elementals are alive then respawn one after using level 75 BP + if skill:getID() == 865 then + local pos = target:getPos() + + for i = 1, 4 do + local elemental = GetMobByID(mob:getID() + i) + + if elemental and not elemental:isSpawned() then + SpawnMob(elemental:getID()):updateEnmity(target) + elemental:setPos(pos.x, pos.y, pos.z, pos.rot) + break + end + end + end +end + +entity.onMobEngage = function(mob, target) + mob:setLocalVar('healTimer', os.time() + math.random(30, 60)) + mob:setLocalVar('hateTimer', os.time() + math.random(10, 20)) +end + +entity.onMobFight = function(mob, target) + -- every 30-60 seconds have one of the elementals heal (via absorbing T4 spell) either self or Garuda + if mob:getLocalVar('healTimer') < os.time() then + local avatarDamaged = mob:getHPP() < 100 + + for i = 1, 4 do + local elemental = GetMobByID(mob:getID() + i) + + if elemental and elemental:isAlive() then + local elementalDamaged = elemental:getHPP() < 100 + + -- only target either the elemental or avatar + -- depending on if they are damaged + local spellTarget = nil + if elementalDamaged and avatarDamaged then + if math.random(1, 2) == 1 then + spellTarget = mob + else + spellTarget = elemental + end + elseif avatarDamaged then + spellTarget = mob + elseif elementalDamaged then + spellTarget = elemental + end + + if spellTarget then + elemental:castSpell(xi.magic.spell.WATER_IV, spellTarget) + mob:setLocalVar('healTimer', os.time() + math.random(30, 60)) + break + end + end + end + end + + -- every 10-20 seconds have the elementals refocus on the avatar's battle target + if mob:getLocalVar('hateTimer') < os.time() then + for i = 1, 4 do + local elemental = GetMobByID(mob:getID() + i) + + if elemental and elemental:isAlive() then + elemental:updateEnmity(target) + mob:setLocalVar('hateTimer', os.time() + math.random(10, 20)) + end + end + end +end + +entity.onMobDeath = function(mob, player, optParams) +end + +return entity diff --git a/scripts/zones/Cloister_of_Tides/mobs/Water_Elemental.lua b/scripts/zones/Cloister_of_Tides/mobs/Water_Elemental.lua new file mode 100644 index 00000000000..228c386e1bc --- /dev/null +++ b/scripts/zones/Cloister_of_Tides/mobs/Water_Elemental.lua @@ -0,0 +1,39 @@ +----------------------------------- +-- Area: Cloister of Tides +-- Mob: Water Elemental +-- Quest: Waking the Beast +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.UDMGPHYS, -2500) + mob:setMod(xi.mod.WATER_ABSORB, 100) + -- res rank for mob that absorbs is always lowest value + -- set here as this shares a mob_resistances row with many other eles + mob:setMod(xi.mod.WATER_RES_RANK, -3) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.DARK_SLEEP) + mob:addImmunity(xi.immunity.SILENCE) + mob:addImmunity(xi.immunity.STUN) + mob:addImmunity(xi.immunity.GRAVITY) + mob:addImmunity(xi.immunity.BIND) + mob:addImmunity(xi.immunity.PARALYZE) + mob:setMobMod(xi.mobMod.SKIP_ALLEGIANCE_CHECK, 1) + mob:setMobMod(xi.mobMod.ADD_EFFECT, 1) + mob:setMobMod(xi.mobMod.MAGIC_DELAY, 12) + mob:setMagicCastingEnabled(false) +end + +entity.onMobEngage = function(mob, target) + mob:setMagicCastingEnabled(true) +end + +entity.onAdditionalEffect = function(mob, target, damage) + return xi.mob.onAddEffect(mob, target, damage, xi.mob.ae.POISON, { chance = 10, strength = 50 }) +end + +entity.onMobDeath = function(mob, player, optParams) +end + +return entity diff --git a/scripts/zones/Cloister_of_Tremors/mobs/Earth_Elemental.lua b/scripts/zones/Cloister_of_Tremors/mobs/Earth_Elemental.lua new file mode 100644 index 00000000000..1fbc273ce1e --- /dev/null +++ b/scripts/zones/Cloister_of_Tremors/mobs/Earth_Elemental.lua @@ -0,0 +1,39 @@ +----------------------------------- +-- Area: Cloister of Tremors +-- Mob: Earth Elemental +-- Quest: Waking the Beast +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.UDMGPHYS, -2500) + mob:setMod(xi.mod.EARTH_ABSORB, 100) + -- res rank for mob that absorbs is always lowest value + -- set here as this shares a mob_resistances row with many other eles + mob:setMod(xi.mod.EARTH_RES_RANK, -3) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.DARK_SLEEP) + mob:addImmunity(xi.immunity.SILENCE) + mob:addImmunity(xi.immunity.STUN) + mob:addImmunity(xi.immunity.GRAVITY) + mob:addImmunity(xi.immunity.BIND) + mob:addImmunity(xi.immunity.PARALYZE) + mob:setMobMod(xi.mobMod.SKIP_ALLEGIANCE_CHECK, 1) + mob:setMobMod(xi.mobMod.ADD_EFFECT, 1) + mob:setMobMod(xi.mobMod.MAGIC_DELAY, 12) + mob:setMagicCastingEnabled(false) +end + +entity.onMobEngage = function(mob, target) + mob:setMagicCastingEnabled(true) +end + +entity.onAdditionalEffect = function(mob, target, damage) + return xi.mob.onAddEffect(mob, target, damage, xi.mob.ae.SLOW, { chance = 10 }) +end + +entity.onMobDeath = function(mob, player, optParams) +end + +return entity diff --git a/scripts/zones/Cloister_of_Tremors/mobs/Titan_Prime_WTB.lua b/scripts/zones/Cloister_of_Tremors/mobs/Titan_Prime_WTB.lua new file mode 100644 index 00000000000..44aa901834a --- /dev/null +++ b/scripts/zones/Cloister_of_Tremors/mobs/Titan_Prime_WTB.lua @@ -0,0 +1,120 @@ +----------------------------------- +-- Area: Cloister of Tremors +-- Mob: Titan Prime +-- Quest: Waking the Beast +----------------------------------- +mixins = { require('scripts/mixins/job_special') } +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) +end + +entity.onMobSpawn = function(mob) + xi.mix.jobSpecial.config(mob, { + specials = + { + { id = 857, hpp = math.random(10, 90) }, + }, + }) + + mob:setMobMod(xi.mobMod.NO_STANDBACK, 1) + mob:setMobMod(xi.mobMod.SIGHT_RANGE, 13) + mob:setMobMod(xi.mobMod.MAGIC_RANGE, 40) + mob:setMod(xi.mod.UDMGPHYS, -6000) + mob:setMod(xi.mod.UDMGRANGE, -6000) + mob:setMod(xi.mod.UDMGMAGIC, -2000) + mob:setMod(xi.mod.EARTH_ABSORB, 100) + -- do not need to set res rank for earth because WTB primes have own + -- mob resistances row that sets it already + mob:addImmunity(xi.immunity.GRAVITY) + mob:addImmunity(xi.immunity.BIND) + mob:addImmunity(xi.immunity.SILENCE) + mob:addImmunity(xi.immunity.STUN) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.DARK_SLEEP) + mob:addImmunity(xi.immunity.TERROR) + mob:setMobMod(xi.mobMod.ADD_EFFECT, 1) + -- element specific immunities + mob:addImmunity(xi.immunity.SLOW) +end + +entity.onAdditionalEffect = function(mob, target, damage) + return xi.mob.onAddEffect(mob, target, damage, xi.mob.ae.ENSTONE, { chance = 100, power = math.random(75, 125) }) +end + +entity.onMobWeaponSkill = function(target, mob, skill) + -- if not all four elementals are alive then respawn one after using level 75 BP + if skill:getID() == 856 then + local pos = target:getPos() + + for i = 1, 4 do + local elemental = GetMobByID(mob:getID() + i) + + if elemental and not elemental:isSpawned() then + SpawnMob(elemental:getID()):updateEnmity(target) + elemental:setPos(pos.x, pos.y, pos.z, pos.rot) + break + end + end + end +end + +entity.onMobEngage = function(mob, target) + mob:setLocalVar('healTimer', os.time() + math.random(30, 60)) + mob:setLocalVar('hateTimer', os.time() + math.random(10, 20)) +end + +entity.onMobFight = function(mob, target) + -- every 30-60 seconds have one of the elementals heal (via absorbing T4 spell) either self or Garuda + if mob:getLocalVar('healTimer') < os.time() then + local avatarDamaged = mob:getHPP() < 100 + + for i = 1, 4 do + local elemental = GetMobByID(mob:getID() + i) + + if elemental and elemental:isAlive() then + local elementalDamaged = elemental:getHPP() < 100 + + -- only target either the elemental or avatar + -- depending on if they are damaged + local spellTarget = nil + if elementalDamaged and avatarDamaged then + if math.random(1, 2) == 1 then + spellTarget = mob + else + spellTarget = elemental + end + elseif avatarDamaged then + spellTarget = mob + elseif elementalDamaged then + spellTarget = elemental + end + + if spellTarget then + elemental:castSpell(xi.magic.spell.STONE_IV, spellTarget) + mob:setLocalVar('healTimer', os.time() + math.random(30, 60)) + break + end + end + end + end + + -- every 10-20 seconds have the elementals refocus on the avatar's battle target + if mob:getLocalVar('hateTimer') < os.time() then + for i = 1, 4 do + local elemental = GetMobByID(mob:getID() + i) + + if elemental and elemental:isAlive() then + elemental:updateEnmity(target) + mob:setLocalVar('hateTimer', os.time() + math.random(10, 20)) + end + end + end +end + +entity.onMobDeath = function(mob, player, optParams) +end + +return entity diff --git a/sql/mob_groups.sql b/sql/mob_groups.sql index 7c3ca1fb4ec..e87912819d1 100644 --- a/sql/mob_groups.sql +++ b/sql/mob_groups.sql @@ -13010,8 +13010,9 @@ INSERT INTO `mob_groups` VALUES (48,6891,200,'Mephitas',0,128,0,0,0,99,99,0); INSERT INTO `mob_groups` VALUES (1,4647,201,'Garuda_Prime_TBW',0,128,0,9500,0,60,60,0); INSERT INTO `mob_groups` VALUES (2,2951,201,'Ogmios',0,128,0,10000,0,65,65,0); INSERT INTO `mob_groups` VALUES (3,7049,201,'Garuda_Prime_TSTBW',0,128,0,700,0,20,20,0); -INSERT INTO `mob_groups` VALUES (4,4647,201,'Garuda_Prime_WTB',0,128,0,0,0,85,85,0); -INSERT INTO `mob_groups` VALUES (5,71,201,'Air_Elemental',0,128,0,0,0,75,75,0); +INSERT INTO `mob_groups` VALUES (4,1473,201,'Garuda_Prime_WTB',0,128,0,25000,0,85,85,0); +-- use the temenos elemental mob pool as those are MOBTYPE_BATTLEFIELD +INSERT INTO `mob_groups` VALUES (5,6139,201,'Air_Elemental',0,128,0,3000,0,75,75,0); INSERT INTO `mob_groups` VALUES (6,7045,201,'Garuda_Prime_ASA',0,128,0,4000,0,40,40,0); INSERT INTO `mob_groups` VALUES (7,4647,201,'Garuda_Prime_HTBF',0,128,0,0,0,99,99,0); @@ -13023,8 +13024,9 @@ INSERT INTO `mob_groups` VALUES (1,4643,202,'Ramuh_Prime_TBL',0,128,0,8000,0,60, INSERT INTO `mob_groups` VALUES (2,2410,202,'Lightning_Gremlin',0,128,0,6300,0,65,65,0); INSERT INTO `mob_groups` VALUES (3,3914,202,'Thunder_Gremlin',0,128,0,2525,0,62,62,0); INSERT INTO `mob_groups` VALUES (4,7050,202,'Ramuh_Prime_TSTBL',0,128,0,700,0,20,20,0); -INSERT INTO `mob_groups` VALUES (5,4643,202,'Ramuh_Prime_WTB',0,128,0,0,0,85,85,0); -INSERT INTO `mob_groups` VALUES (6,3912,202,'Thunder_Elemental',0,128,0,0,0,75,75,0); +INSERT INTO `mob_groups` VALUES (5,3317,202,'Ramuh_Prime_WTB',0,128,0,25000,0,85,85,0); +-- use the temenos elemental mob pool as those are MOBTYPE_BATTLEFIELD +INSERT INTO `mob_groups` VALUES (6,6141,202,'Thunder_Elemental',0,128,0,3000,0,75,75,0); INSERT INTO `mob_groups` VALUES (7,7041,202,'Ramuh_Prime_ASA',0,128,0,4000,0,40,40,0); INSERT INTO `mob_groups` VALUES (8,4643,202,'Ramuh_Prime_HTBF',0,128,0,0,0,99,99,0); @@ -13035,8 +13037,9 @@ INSERT INTO `mob_groups` VALUES (8,4643,202,'Ramuh_Prime_HTBF',0,128,0,0,0,99,99 INSERT INTO `mob_groups` VALUES (1,4642,203,'Shiva_Prime_TBI',0,128,0,9500,0,60,60,0); INSERT INTO `mob_groups` VALUES (2,1126,203,'Dryad',0,128,0,1960,0,50,50,0); INSERT INTO `mob_groups` VALUES (3,7051,203,'Shiva_Prime_TSTBI',0,128,0,700,0,20,20,0); -INSERT INTO `mob_groups` VALUES (4,4642,203,'Shiva_Prime_WTB',0,128,0,0,0,85,85,0); -INSERT INTO `mob_groups` VALUES (5,2043,203,'Ice_Elemental',0,128,0,0,0,75,75,0); +INSERT INTO `mob_groups` VALUES (4,3607,203,'Shiva_Prime_WTB',0,128,0,25000,0,85,85,0); +-- use the temenos elemental mob pool as those are MOBTYPE_BATTLEFIELD +INSERT INTO `mob_groups` VALUES (5,6138,203,'Ice_Elemental',0,128,0,3000,0,75,75,0); INSERT INTO `mob_groups` VALUES (6,7046,203,'Shiva_Prime_ASA',0,128,0,4000,0,40,40,0); INSERT INTO `mob_groups` VALUES (7,4642,203,'Shiva_Prime_HTBF',0,128,0,0,0,99,99,0); @@ -13215,7 +13218,8 @@ INSERT INTO `mob_groups` VALUES (75,4006,206,'Trion',0,128,0,0,0,75,75,1); -- al INSERT INTO `mob_groups` VALUES (1,4645,207,'Ifrit_Prime_TBF',0,128,0,7650,0,60,60,0); INSERT INTO `mob_groups` VALUES (2,7052,207,'Ifrit_Prime_TSTBF',0,128,0,700,0,20,20,0); INSERT INTO `mob_groups` VALUES (3,2050,207,'Ifrit_Prime_WTB',0,128,0,25000,0,85,85,0); -INSERT INTO `mob_groups` VALUES (4,1341,207,'Fire_Elemental',0,128,0,3000,0,75,75,0); +-- use the temenos elemental mob pool as those are MOBTYPE_BATTLEFIELD +INSERT INTO `mob_groups` VALUES (4,6137,207,'Fire_Elemental',0,128,0,3000,0,75,75,0); INSERT INTO `mob_groups` VALUES (5,7043,207,'Ifrit_Prime_ASA',0,128,0,4000,0,40,40,0); INSERT INTO `mob_groups` VALUES (6,4645,207,'Ifrit_Prime_HTBF',0,128,0,0,0,99,99,0); @@ -13275,8 +13279,9 @@ INSERT INTO `mob_groups` VALUES (44,6902,208,'Centurio_XX-I',0,128,0,0,0,99,99,0 INSERT INTO `mob_groups` VALUES (1,4644,209,'Titan_Prime_TBE',0,128,0,9500,0,60,60,0); INSERT INTO `mob_groups` VALUES (2,1451,209,'Galgalim',0,128,0,6000,0,56,56,0); INSERT INTO `mob_groups` VALUES (3,7053,209,'Titan_Prime_TSTBE',0,128,0,700,0,20,20,0); -INSERT INTO `mob_groups` VALUES (4,4644,209,'Titan_Prime_WTB',0,128,0,0,0,85,85,0); -INSERT INTO `mob_groups` VALUES (5,6140,209,'Earth_Elemental',0,128,0,0,0,75,75,0); +INSERT INTO `mob_groups` VALUES (4,3931,209,'Titan_Prime_WTB',0,128,0,25000,0,85,85,0); +-- use the temenos elemental mob pool as those are MOBTYPE_BATTLEFIELD +INSERT INTO `mob_groups` VALUES (5,6140,209,'Earth_Elemental',0,128,0,3000,0,75,75,0); INSERT INTO `mob_groups` VALUES (6,7042,209,'Titan_Prime_ASA',0,128,0,4000,0,40,40,0); INSERT INTO `mob_groups` VALUES (7,6954,209,'Titan_Prime_HTBF',0,128,0,0,0,99,99,0); @@ -13298,8 +13303,9 @@ INSERT INTO `mob_groups` VALUES (5,7071,210,'Garrison_75',0,129,0,0,0,70,75,1); INSERT INTO `mob_groups` VALUES (1,4646,211,'Leviathan_Prime_TBW',0,128,0,9500,0,60,60,0); INSERT INTO `mob_groups` VALUES (2,7054,211,'Leviathan_Prime_TSTBW',0,128,0,700,0,20,20,0); -INSERT INTO `mob_groups` VALUES (3,4646,211,'Leviathan_Prime_WTB',0,128,0,0,0,85,85,0); -INSERT INTO `mob_groups` VALUES (4,4309,211,'Water_Elemental',0,128,0,0,0,75,75,0); +INSERT INTO `mob_groups` VALUES (3,2402,211,'Leviathan_Prime_WTB',0,128,0,25000,0,85,85,0); +-- use the temenos elemental mob pool as those are MOBTYPE_BATTLEFIELD +INSERT INTO `mob_groups` VALUES (4,6142,211,'Water_Elemental',0,128,0,3000,0,75,75,0); INSERT INTO `mob_groups` VALUES (5,7044,211,'Leviathan_Prime_ASA',0,128,0,4000,0,40,40,0); INSERT INTO `mob_groups` VALUES (6,4646,211,'Leviathan_Prime_HTBF',0,128,0,0,0,99,99,0); diff --git a/sql/mob_pools.sql b/sql/mob_pools.sql index 19257b1cc20..e3f2d66d282 100644 --- a/sql/mob_pools.sql +++ b/sql/mob_pools.sql @@ -1508,7 +1508,7 @@ INSERT INTO `mob_pools` VALUES (1451,'Galgalim','Galgalim',139,0x000080010000000 INSERT INTO `mob_pools` VALUES (1452,'Galkan_Automaton','Galkan_Automaton',146,0x0500E50400000000000000000000000000000000,7,7,4,240,100,0,0,0,1,16,0,0,2397,131,0,0,4,0,0,146,146); INSERT INTO `mob_pools` VALUES (1453,'Galkarider_Retzpratz','Galkarider_Retzpratz',334,0x0000160400000000000000000000000000000000,11,11,9,240,100,0,1,0,1,2,0,32,46,159,0,0,0,0,0,334,334); INSERT INTO `mob_pools` VALUES (1454,'Gallinipper_AC','Gallinipper_AC',113,0x0000C00100000000000000000000000000000000,1,1,8,240,100,0,1,0,1,0,0,0,645,131,8,0,0,0,0,113,113); -INSERT INTO `mob_pools` VALUES (1455,'Gamayun','Gamayun',37,0x00001C0300000000000000000000000000000000,1,1,6,240,100,0,0,0,0,2,0,0,0,0,0,0,0,0,0,37,37); +INSERT INTO `mob_pools` VALUES (1455,'Gamayun','Gamayun',37,0x00001C0300000000000000000000000000000000,1,1,6,240,100,0,0,0,0,2,0,0,0,0,0,0,0,0,0,37,324); INSERT INTO `mob_pools` VALUES (1456,'Gambilox_Wanderling','Gambilox_Wanderling',133,0x0000FD0100000000000000000000000000000000,1,1,3,240,100,0,1,0,1,2,0,32,4662,155,0,0,0,0,0,133,133); INSERT INTO `mob_pools` VALUES (1457,'Gangly_Gean','Gangly_Gean',245,0x0000860100000000000000000000000000000000,4,4,12,240,100,0,0,0,0,2,0,0,1,137,0,0,169,0,0,799,245); INSERT INTO `mob_pools` VALUES (1458,'Ganmuul','Ganmuul',145,0x0500610700000000000000000000000000000000,1,1,8,240,100,0,0,0,0,0,0,0,1,155,0,0,0,0,0,145,145); @@ -1526,7 +1526,7 @@ INSERT INTO `mob_pools` VALUES (1469,'Garhorlur_the_Brutal','Garhorlur_the_Bruta INSERT INTO `mob_pools` VALUES (1470,'Gariri','Gariri',153,0x0100050647102D20473047404750496100701A80,1,1,0,240,100,0,0,0,0,0,0,32,0,539,8,0,0,0,0,153,153); INSERT INTO `mob_pools` VALUES (1471,'Garm','Garm',143,0x00006C0100000000000000000000000000000000,1,1,3,240,100,0,1,0,0,0,0,0,0,129,0,0,0,0,0,143,143); INSERT INTO `mob_pools` VALUES (1472,'Garnet_Quadav','Garnet_Quadav',202,0x0000970200000000000000000000000000000000,3,3,3,265,100,0,1,0,1,0,0,0,72,131,0,0,1,0,0,202,202); -INSERT INTO `mob_pools` VALUES (1473,'Garuda_Prime','Garuda_Prime',37,0x00001C0300000000000000000000000000000000,4,4,6,240,100,0,1,1,0,18,0,0,0,3,0,0,0,0,0,37,37); +INSERT INTO `mob_pools` VALUES (1473,'Garuda_Prime_WTB','Garuda_Prime',324,0x00001C0300000000000000000000000000000000,8,4,6,240,100,0,1,1,0,18,0,0,0,3,0,0,0,0,0,2015,37); INSERT INTO `mob_pools` VALUES (1474,'Gasharyad','Gasharyad',149,0x0500590747617368617279616400000000000000,16,16,3,240,100,0,0,0,0,0,0,0,1,155,0,0,8,0,0,149,149); INSERT INTO `mob_pools` VALUES (1475,'Gasher','Gasher',77,0x0000640100000000000000000000000000000000,7,7,4,240,100,0,1,0,0,0,0,0,0,131,0,0,0,0,0,77,77); INSERT INTO `mob_pools` VALUES (1476,'Gastornis','Gastornis',125,0x0000500100000000000000000000000000000000,1,3,11,240,100,0,1,0,1,0,0,0,1,129,0,0,0,0,0,125,125); @@ -2331,7 +2331,7 @@ INSERT INTO `mob_pools` VALUES (2274,'Knoll_Clionid','Knoll_Clionid',65,0x00004C INSERT INTO `mob_pools` VALUES (2275,'Knotty_Treant','Knotty_Treant',245,0x0000840100000000000000000000000000000000,1,1,7,240,100,0,1,0,0,0,0,0,642,131,0,0,0,0,0,245,245); 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,0,0,242,242); INSERT INTO `mob_pools` VALUES (2277,'Koghatu','Koghatu',1,0x0000F20600000000000000000000000000000000,6,6,2,240,100,0,1,0,0,2,0,0,7,157,0,0,0,0,0,966,1); -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,0,0,45,45); +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,0,0,45,321); 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,0,256,360,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,0,0,360,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,0,0,360,360); @@ -2455,7 +2455,7 @@ INSERT INTO `mob_pools` VALUES (2398,'Lesser_Manticore','Lesser_Manticore',179,0 INSERT INTO `mob_pools` VALUES (2399,'Lesser_Roc','Lesser_Roc',125,0x0000500100000000000000000000000000000000,1,3,11,240,100,0,0,0,1,0,0,0,394,131,0,0,0,0,0,125,125); INSERT INTO `mob_pools` VALUES (2400,'Lesser_Wivre','Lesser_Wivre',257,0x0000B90800000000000000000000000000000000,1,1,5,240,100,1024,0,0,0,0,0,0,448,131,0,0,0,0,0,257,257); INSERT INTO `mob_pools` VALUES (2401,'Leujaoam_Worm','Leujaoam_Worm',258,0x0000AA0100000000000000000000000000000000,4,5,7,240,100,0,0,0,1,0,0,0,1,131,0,0,9,0,64,258,258); -INSERT INTO `mob_pools` VALUES (2402,'Leviathan_Prime','Leviathan_Prime',40,0x00001B0300000000000000000000000000000000,4,4,8,240,100,0,1,1,1,18,0,0,0,3,0,0,0,0,0,40,40); +INSERT INTO `mob_pools` VALUES (2402,'Leviathan_Prime_WTB','Leviathan_Prime',323,0x00001B0300000000000000000000000000000000,8,4,8,240,100,0,1,1,1,18,0,0,0,3,0,0,0,0,0,2017,40); INSERT INTO `mob_pools` VALUES (2403,'Lewenhart','Lewenhart',149,0x01000D0100100B20063003400850A46000700080,10,10,11,240,100,0,0,0,0,0,0,32,0,153,0,0,6,0,0,149,149); INSERT INTO `mob_pools` VALUES (2404,'Ley_Clionid','Ley_Clionid',65,0x00004C0900000000000000000000000000000000,4,4,11,240,100,0,0,0,0,0,0,0,0,135,0,0,2,0,0,65,65); INSERT INTO `mob_pools` VALUES (2405,'Lhu_Mhakaracca','Lhu_Mhakaracca',151,0x01000D07511051205130514051505B6135701980,1,1,0,0,100,0,0,0,0,0,0,32,0,539,8,0,0,0,0,151,151); @@ -3005,7 +3005,7 @@ INSERT INTO `mob_pools` VALUES (2948,'Ogama','Ogama',86,0x0000400100000000000000 INSERT INTO `mob_pools` VALUES (2949,'Oggbi','Oggbi',146,0x0100030843101120433011404350836000700080,2,2,1,480,100,0,0,0,0,0,0,32,0,1177,0,0,0,0,0,146,146); INSERT INTO `mob_pools` VALUES (2950,'Ogler','Ogler',4,0x0000080100000000000000000000000000000000,1,4,11,240,100,0,1,0,1,0,0,0,1,131,0,0,2,0,0,4,4); INSERT INTO `mob_pools` VALUES (2951,'Ogmios','Ogmios',179,0x0000920100000000000000000000000000000000,1,4,7,360,100,0,1,0,0,16,0,32,151,1181,0,0,0,0,0,179,179); -INSERT INTO `mob_pools` VALUES (2952,'Ogopogo','Ogopogo',40,0x00001B0300000000000000000000000000000000,4,4,12,240,100,0,0,0,0,2,0,0,3,3229,0,0,2,0,0,40,40); +INSERT INTO `mob_pools` VALUES (2952,'Ogopogo','Ogopogo',40,0x00001B0300000000000000000000000000000000,4,4,12,240,100,0,0,0,0,2,0,0,3,3229,0,0,2,0,0,40,323); INSERT INTO `mob_pools` VALUES (2953,'Ogrefly','Ogrefly',113,0x0000C00100000000000000000000000000000000,1,1,8,240,100,0,0,0,1,0,0,0,237,1667,8,0,0,0,0,113,113); INSERT INTO `mob_pools` VALUES (2954,'Ogreish_Risotto','Ogreish_Risotto',229,0x0000240100000000000000000000000000000000,1,1,7,240,100,0,1,0,0,4,0,0,0,3,0,0,0,0,0,229,229); INSERT INTO `mob_pools` VALUES (2955,'Ogrish_Pugil','Ogrish_Pugil',197,0x00005C0100000000000000000000000000000000,1,1,7,240,100,0,1,0,0,4,0,0,0,3,0,0,0,0,0,197,197); @@ -3370,7 +3370,7 @@ INSERT INTO `mob_pools` VALUES (3313,'Raja','Raja',450,0x00005F09000000000000000 INSERT INTO `mob_pools` VALUES (3314,'Rakshas','Rakshas',242,0x0000C80800000000000000000000000000000000,4,4,12,240,100,0,0,0,0,2,0,32,0,157,5,0,255,0,0,926,242); INSERT INTO `mob_pools` VALUES (3315,'Rallbrog_of_Clan_Death','Rallbrog_of_Clan_Death',334,0x0000730200000000000000000000000000000000,1,1,5,360,100,0,1,0,1,18,0,0,0,0,0,0,0,0,0,334,334); INSERT INTO `mob_pools` VALUES (3316,'Rampaging_Ram','Rampaging_Ram',208,0x0000580100000000000000000000000000000000,1,1,7,320,100,0,1,0,0,2,0,0,3670,131,0,0,0,0,0,208,208); -INSERT INTO `mob_pools` VALUES (3317,'Ramuh_Prime','Ramuh_Prime',43,0x00001E0300000000000000000000000000000000,4,4,12,240,100,0,1,1,1,18,0,0,0,3,0,0,0,0,0,43,43); +INSERT INTO `mob_pools` VALUES (3317,'Ramuh_Prime_WTB','Ramuh_Prime',320,0x00001E0300000000000000000000000000000000,8,4,12,240,100,0,1,1,1,18,0,0,0,3,0,0,0,0,0,2016,43); INSERT INTO `mob_pools` VALUES (3318,'Ranch_Wamoura','Ranch_Wamoura',253,0x0000100700000000000000000000000000000000,1,1,7,240,100,0,1,1,1,0,0,0,0,3,0,0,0,0,0,253,253); INSERT INTO `mob_pools` VALUES (3319,'Ranch_Wamouracampa','Ranch_Wamouracampa',254,0x00000A0700000000000000000000000000000000,1,1,7,265,100,0,1,0,1,0,0,0,1,129,4,0,0,0,0,254,254); INSERT INTO `mob_pools` VALUES (3320,'Rancid_Ooze','Rancid_Ooze',229,0x0000240100000000000000000000000000000000,1,1,7,240,100,0,1,0,0,0,0,0,0,133,0,0,0,0,0,229,229); @@ -3661,7 +3661,7 @@ INSERT INTO `mob_pools` VALUES (3603,'Shikigami_Weapon','Shikigami_Weapon',502,0 INSERT INTO `mob_pools` VALUES (3604,'Shinryu','Shinryu',475,0x00003F0900000000000000000000000000000000,1,4,12,240,100,0,1,1,0,2,0,0,3,409,5,0,0,0,0,475,475); INSERT INTO `mob_pools` VALUES (3605,'Ship_Wight','Ship_Wight',227,0x0000400200000000000000000000000000000000,4,4,10,240,100,0,0,0,0,0,0,0,343,643,0,0,28,0,0,227,227); INSERT INTO `mob_pools` VALUES (3606,'Shisox_Widebrow','Shisox_Widebrow',373,0x00003F0400000000000000000000000000000000,12,12,3,240,100,0,1,0,1,2,0,32,906,159,0,0,0,0,0,373,373); -INSERT INTO `mob_pools` VALUES (3607,'Shiva_Prime','Shiva_Prime',44,0x00001D0300000000000000000000000000000000,4,4,6,240,100,0,1,1,1,18,0,0,0,3,0,0,0,0,0,44,44); +INSERT INTO `mob_pools` VALUES (3607,'Shiva_Prime_WTB','Shiva_Prime',319,0x00001D0300000000000000000000000000000000,8,4,6,240,100,0,1,1,1,18,0,0,0,3,0,0,0,0,0,2014,44); INSERT INTO `mob_pools` VALUES (3608,'Shoal_Pugil','Shoal_Pugil',197,0x00005C0100000000000000000000000000000000,1,1,7,240,100,0,0,0,0,0,0,0,0,131,0,0,0,0,0,197,197); INSERT INTO `mob_pools` VALUES (3609,'Shore_Sahagin','Shore_Sahagin',213,0x0000130500000000000000000000000000000000,2,2,1,480,100,0,1,0,1,0,0,0,239,133,0,0,0,0,0,213,213); INSERT INTO `mob_pools` VALUES (3610,'Shore_Spider','Shore_Spider',235,0x0000390100000000000000000000000000000000,1,1,3,240,100,0,0,0,1,0,0,0,0,643,8,0,0,0,0,236,235); @@ -3985,7 +3985,7 @@ INSERT INTO `mob_pools` VALUES (3927,'Titanis_Dax','Titanis_Dax',125,0x000050010 INSERT INTO `mob_pools` VALUES (3928,'Titanis_Jax','Titanis_Jax',125,0x0000500100000000000000000000000000000000,10,10,12,240,100,0,1,1,1,18,0,0,0,3,0,0,6,0,0,125,125); INSERT INTO `mob_pools` VALUES (3929,'Titanis_Max','Titanis_Max',125,0x0000500100000000000000000000000000000000,10,10,12,240,100,0,1,1,1,18,0,0,0,3,0,0,6,0,0,125,125); INSERT INTO `mob_pools` VALUES (3930,'Titanis_Xax','Titanis_Xax',125,0x0000500100000000000000000000000000000000,10,10,12,240,100,0,1,1,1,18,0,0,0,3,0,0,6,0,0,125,125); -INSERT INTO `mob_pools` VALUES (3931,'Titan_Prime','Titan_Prime',45,0x00001A0300000000000000000000000000000000,4,4,6,240,100,0,1,1,1,18,0,0,0,3,0,0,0,0,0,45,45); +INSERT INTO `mob_pools` VALUES (3931,'Titan_Prime_WTB','Titan_Prime',321,0x00001A0300000000000000000000000000000000,8,4,6,240,100,0,1,1,1,18,0,0,0,3,0,0,0,0,0,2018,45); INSERT INTO `mob_pools` VALUES (3932,'Titlacauan','Titlacauan',74,0x0000550900000000000000000000000000000000,4,4,12,240,100,0,0,0,0,2,0,0,0,0,0,0,226,0,0,877,74); INSERT INTO `mob_pools` VALUES (3933,'Tiyaash','Tiyaash',149,0x0100030100100720073007400750006000700000,1,1,0,240,100,0,0,0,0,16,0,0,0,3,0,0,0,0,0,149,149); INSERT INTO `mob_pools` VALUES (3934,'Toad','Toad',111,0x0000BF0800000000000000000000000000000000,4,4,7,150,100,0,0,0,1,0,0,0,1117,129,8,0,0,0,0,0,196); @@ -6098,10 +6098,10 @@ INSERT INTO `mob_pools` VALUES (6054,'Marquis_Caim','Marquis_Caim',358,0x0000BA0 INSERT INTO `mob_pools` VALUES (6055,'Caims_Vouivre','Caims_Vouivre',267,0x00008E0100000000000000000000000000000000,1,1,7,240,100,0,1,0,1,8,0,32,7,667,0,0,0,0,0,0,267); INSERT INTO `mob_pools` VALUES (6056,'Baron_Avnas','Baron_Avnas',358,0x0000E60200000000000000000000000000000000,6,8,9,240,100,0,1,1,1,2,0,32,7,159,0,0,5,0,0,0,358); INSERT INTO `mob_pools` VALUES (6057,'Count_Haagenti','Count_Haagenti',358,0x0000F30200000000000000000000000000000000,15,15,5,240,100,0,1,1,1,2,0,32,7,159,0,0,30,0,0,0,358); -INSERT INTO `mob_pools` VALUES (6058,'Haagentis_Avatar','Haagentis_Avatar',44,0x00001C0300000000000000000000000000000000,1,1,6,240,100,0,0,0,1,8,0,32,7,27,0,0,0,0,0,0,44); +INSERT INTO `mob_pools` VALUES (6058,'Haagentis_Avatar','Haagentis_Avatar',44,0x00001C0300000000000000000000000000000000,1,1,6,240,100,0,0,0,1,8,0,32,7,27,0,0,0,0,0,0,319); INSERT INTO `mob_pools` VALUES (6059,'Arch_Dynamis_Lord','Arch_Dynamis_Lord',361,0x0600F80200000000000000000000000000000000,1,1,7,240,100,0,1,1,1,2,6800,0,7,135,0,0,86,0,0,0,361); INSERT INTO `mob_pools` VALUES (6060,'RaGho_Darkfount','RaGho_Darkfount',337,0x00001D0400000000000000000000000000000000,8,15,2,265,100,0,1,1,1,2,0,32,7,159,0,0,5,0,0,705,337); -INSERT INTO `mob_pools` VALUES (6061,'RaGhos_Avatar','RaGhos_Avatar',40,0x00001C0300000000000000000000000000000000,1,1,8,240,100,0,0,0,1,8,0,32,7,27,0,0,0,0,0,0,40); +INSERT INTO `mob_pools` VALUES (6061,'RaGhos_Avatar','RaGhos_Avatar',40,0x00001C0300000000000000000000000000000000,1,1,8,240,100,0,0,0,1,8,0,32,7,27,0,0,0,0,0,0,323); INSERT INTO `mob_pools` VALUES (6062,'Vazhe_Pummelsong','Vazhe_Pummelsong',337,0x00001F0400000000000000000000000000000000,10,2,6,265,100,0,1,1,1,2,0,32,7,159,0,0,6,0,0,705,337); INSERT INTO `mob_pools` VALUES (6063,'BuBho_Truesteel','BuBho_Truesteel',337,0x00001D0400000000000000000000000000000000,7,11,4,265,100,0,1,1,1,2,0,32,7,159,0,0,4,0,0,705,337); INSERT INTO `mob_pools` VALUES (6064,'Rearguard_Eye','Rearguard_Eye',4,0x0000090100000000000000000000000000000000,4,5,12,240,100,0,1,0,1,2,6656,0,1,131,16,0,11,0,0,0,4); @@ -6210,7 +6210,7 @@ INSERT INTO `mob_pools` VALUES (6166,'Temenos_Aern_drk','Temenos_Aern',3,0x00005 INSERT INTO `mob_pools` VALUES (6167,'Kindreds_Elemental_T','Kindreds_Elemental',100,0x00000F0000000000000000000000000000000000,8,8,11,240,100,0,0,0,0,24,0,0,0,129,16,0,5,0,256,100,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,0,256,179,179); INSERT INTO `mob_pools` VALUES (6169,'Ophiotaurus','Ophiotaurus',459,0x00006A0B00000000000000000000000000000000,1,1,7,200,100,0,1,1,1,0,0,32,1,133,4,0,0,0,0,1009,459); -INSERT INTO `mob_pools` VALUES (6170,'Siren','Siren',44,0x0000320A00000000000000000000000000000000,10,10,7,200,100,0,1,1,1,0,0,32,131,131,0,0,0,0,0,1010,44); +INSERT INTO `mob_pools` VALUES (6170,'Siren','Siren',37,0x0000320A00000000000000000000000000000000,10,10,7,200,100,0,1,1,1,0,0,32,131,131,0,0,0,0,0,1010,324); INSERT INTO `mob_pools` VALUES (6171,'Nekros_Hound','Nekros_Hound',143,0x00006C0100000000000000000000000000000000,1,1,3,240,100,0,1,0,0,0,0,0,396,133,0,0,0,0,0,143,143); INSERT INTO `mob_pools` VALUES (6172,'Hypnos_Eft','Hypnos_Eft',98,0x0000450500000000000000000000000000000000,1,1,8,210,100,0,0,0,1,0,0,0,278,133,0,0,0,0,0,98,98); INSERT INTO `mob_pools` VALUES (6173,'Indoor_aern_war','Indoor_aern_war',3,0x00005E0500000000000000000000000000000000,1,1,5,360,100,0,0,0,1,0,0,0,1,1155,5,0,0,0,0,443,3); @@ -7108,12 +7108,12 @@ INSERT INTO `mob_pools` VALUES (7047,'Pet_Siren','Pet_Siren',411,0x00001E0000000 INSERT INTO `mob_pools` VALUES (7048,'Robber_Crab_past','Robber_Crab_past',77,0x0000640100000000000000000000000000000000,7,7,4,240,100,0,0,0,0,0,0,0,305,131,8,0,0,0,0,77,77); -- Trial Sized Avatars -INSERT INTO `mob_pools` VALUES (7049,'Garuda_Prime_TSTBW','Garuda_Prime',37,0x00001C0300000000000000000000000000000000,4,4,6,240,100,0,1,1,0,18,0,0,0,3,0,0,0,0,0,1177,37); -INSERT INTO `mob_pools` VALUES (7050,'Ramuh_Prime_TSTBL','Ramuh_Prime',43,0x00001E0300000000000000000000000000000000,4,4,12,240,100,0,1,1,1,18,0,0,0,3,0,0,0,0,0,1178,43); -INSERT INTO `mob_pools` VALUES (7051,'Shiva_Prime_TSTBI','Shiva_Prime',44,0x00001D0300000000000000000000000000000000,4,4,6,240,100,0,1,1,1,18,0,0,0,3,0,0,0,0,0,1179,44); +INSERT INTO `mob_pools` VALUES (7049,'Garuda_Prime_TSTBW','Garuda_Prime',37,0x00001C0300000000000000000000000000000000,4,4,6,240,100,0,1,1,0,18,0,0,0,3,0,0,0,0,0,1177,324); +INSERT INTO `mob_pools` VALUES (7050,'Ramuh_Prime_TSTBL','Ramuh_Prime',43,0x00001E0300000000000000000000000000000000,4,4,12,240,100,0,1,1,1,18,0,0,0,3,0,0,0,0,0,1178,320); +INSERT INTO `mob_pools` VALUES (7051,'Shiva_Prime_TSTBI','Shiva_Prime',44,0x00001D0300000000000000000000000000000000,4,4,6,240,100,0,1,1,1,18,0,0,0,3,0,0,0,0,0,1179,319); INSERT INTO `mob_pools` VALUES (7052,'Ifrit_Prime_TSTBF','Ifrit_Prime',38,0x0000190300000000000000000000000000000000,4,4,5,240,100,0,1,1,0,18,0,0,0,3,0,0,0,0,0,1180,322); -INSERT INTO `mob_pools` VALUES (7053,'Titan_Prime_TSTBE','Titan_Prime',45,0x00001A0300000000000000000000000000000000,4,4,6,240,100,0,1,1,1,18,0,0,0,3,0,0,0,0,0,1181,45); -INSERT INTO `mob_pools` VALUES (7054,'Leviathan_Prime_TSTBW','Leviathan_Prime',40,0x00001B0300000000000000000000000000000000,4,4,8,240,100,0,1,1,1,18,0,0,0,3,0,0,0,0,0,1182,40); +INSERT INTO `mob_pools` VALUES (7053,'Titan_Prime_TSTBE','Titan_Prime',45,0x00001A0300000000000000000000000000000000,4,4,6,240,100,0,1,1,1,18,0,0,0,3,0,0,0,0,0,1181,321); +INSERT INTO `mob_pools` VALUES (7054,'Leviathan_Prime_TSTBW','Leviathan_Prime',40,0x00001B0300000000000000000000000000000000,4,4,8,240,100,0,1,1,1,18,0,0,0,3,0,0,0,0,0,1182,323); INSERT INTO `mob_pools` VALUES (7055,'Armoury_Crate','Armoury_Crate',183,0x0000C00300000000000000000000000000000000,1,0,0,240,100,1024,0,0,0,80,0,0,0,131,8,0,0,0,0,0,183); diff --git a/sql/mob_resistances.sql b/sql/mob_resistances.sql index ede3967a668..6ec6bb1e120 100644 --- a/sql/mob_resistances.sql +++ b/sql/mob_resistances.sql @@ -64,15 +64,15 @@ INSERT INTO `mob_resistances` VALUES (33,'Avatar-Alexander_ToAU',1.0,1.0,1.0,1.0 INSERT INTO `mob_resistances` VALUES (34,'Avatar-Carbuncle_Prime',1.0,1.0,1.0,1.0,0,0,0,0,0,0,0,0,0,6,6,6,6,6,6,11,0); INSERT INTO `mob_resistances` VALUES (35,'Avatar-Diabolos_CoP',1.0,1.0,1.0,1.0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,4); INSERT INTO `mob_resistances` VALUES (36,'Avatar-Fenrir_Prime',1.0,1.0,1.0,1.0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,-2,11); -INSERT INTO `mob_resistances` VALUES (37,'Avatar-Garuda_Prime',1.0,1.0,1.0,1.0,0,0,0,0,0,0,0,0,0,11,-3,11,11,11,11,11,11); +INSERT INTO `mob_resistances` VALUES (37,'Avatar-Garuda_Prime_WTB',1.0,1.0,1.0,1.0,0,0,0,0,0,0,0,0,0,4,-3,-3,11,4,4,4,4); INSERT INTO `mob_resistances` VALUES (38,'Avatar-Ifrit_Prime_WTB',1.0,1.0,1.0,1.0,0,0,0,0,0,0,0,0,0,-3,11,4,4,4,-3,4,4); INSERT INTO `mob_resistances` VALUES (39,'Monoceros',1.0,1.0,1.0,1.0,0,0,0,0,0,0,0,0,0,2,2,2,-2,6,2,0,4); -- Ixion, not Alicorn. -INSERT INTO `mob_resistances` VALUES (40,'Avatar-Leviathan_Prime',1.0,1.0,1.0,1.0,0,0,0,0,0,0,0,0,0,11,11,11,11,-3,11,11,11); +INSERT INTO `mob_resistances` VALUES (40,'Avatar-Leviathan_Prime_WTB',1.0,1.0,1.0,1.0,0,0,0,0,0,0,0,0,0,11,4,4,4,-3,-3,4,4); INSERT INTO `mob_resistances` VALUES (41,'Avatar-Odin_Image',1.0,1.0,1.0,1.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-3,11); INSERT INTO `mob_resistances` VALUES (42,'Avatar-Odin_Prime',1.0,1.0,1.0,1.0,0,0,0,0,0,0,0,0,0,5,7,5,7,5,7,4,11); -INSERT INTO `mob_resistances` VALUES (43,'Avatar-Ramuh_Prime',1.0,1.0,1.0,1.0,0,0,0,0,0,0,0,0,0,11,11,11,-3,11,11,11,11); -INSERT INTO `mob_resistances` VALUES (44,'Avatar-Shiva_Prime',1.0,1.0,1.0,1.0,0,0,0,0,0,0,0,0,0,-3,11,11,11,11,11,11,11); -INSERT INTO `mob_resistances` VALUES (45,'Avatar-Titan_Prime',1.0,1.0,1.0,1.0,0,0,0,0,0,0,0,0,0,11,11,-3,11,11,11,11,11); +INSERT INTO `mob_resistances` VALUES (43,'Avatar-Ramuh_Prime_WTB',1.0,1.0,1.0,1.0,0,0,0,0,0,0,0,0,0,4,4,4,-3,-3,11,4,4); +INSERT INTO `mob_resistances` VALUES (44,'Avatar-Shiva_Prime_WTB',1.0,1.0,1.0,1.0,0,0,0,0,0,0,0,0,0,-3,-3,11,4,4,4,4,4); +INSERT INTO `mob_resistances` VALUES (45,'Avatar-Titan_Prime_WTB',1.0,1.0,1.0,1.0,0,0,0,0,0,0,0,0,0,4,4,-3,-3,11,4,4,4); INSERT INTO `mob_resistances` VALUES (46,'Bat',1.0,1.25,1.0,1.0,0,0,0,0,0,0,0,0,0,-2,-1,-3,-2,-2,-2,-3,6); INSERT INTO `mob_resistances` VALUES (47,'Bat_Trio',1.0,1.25,1.0,1.0,0,0,0,0,0,0,0,0,0,-2,-1,-3,-2,-2,-2,-3,6); INSERT INTO `mob_resistances` VALUES (48,'Bee',1.0,1.25,1.0,1.0,0,0,0,0,0,0,0,0,0,-2,-3,2,-2,-2,-2,-2,-2); diff --git a/sql/mob_skill_lists.sql b/sql/mob_skill_lists.sql index facd4d4935c..f5ef26c4901 100644 --- a/sql/mob_skill_lists.sql +++ b/sql/mob_skill_lists.sql @@ -3906,12 +3906,44 @@ INSERT INTO `mob_skill_lists` VALUE ('Nantina',2011,1617); -- blow INSERT INTO `mob_skill_lists` VALUE ('Stcemqestcint',2012,1612); -- gouging_branch -INSERT INTO `mob_skill_lists` VALUES ('Avatar_Ifrit_WTB',2013,843); -- Waking the Beast, double punch +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Ifrit_WTB',2013,843); -- Waking the Beast, double_punch INSERT INTO `mob_skill_lists` VALUES ('Avatar_Ifrit_WTB',2013,844); -- Waking the Beast, crimson_howl -INSERT INTO `mob_skill_lists` VALUES ('Avatar_Ifrit_WTB',2013,845); -- Waking the Beast, fire iv +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Ifrit_WTB',2013,845); -- Waking the Beast, fire_iv +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Ifrit_WTB',2013,846); -- Waking the Beast, flaming_crush INSERT INTO `mob_skill_lists` VALUES ('Avatar_Ifrit_WTB',2013,847); -- Waking the Beast, meteor_strike --- Next available ID: 2014 +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Shiva_WTB',2014,879); -- Waking the Beast, sleepga +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Shiva_WTB',2014,878); -- Waking the Beast, frost_armor +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Shiva_WTB',2014,881); -- Waking the Beast, blizzard iv +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Shiva_WTB',2014,882); -- Waking the Beast, rush +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Shiva_WTB',2014,883); -- Waking the Beast, heavenly_strike + +-- Note garuda prime did not use predator_claws in over 100+ mobskills in retail captures +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Garuda_WTB',2015,869); -- Waking the Beast, whispering_wind +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Garuda_WTB',2015,870); -- Waking the Beast, hastega +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Garuda_WTB',2015,871); -- Waking the Beast, aerial_armor +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Garuda_WTB',2015,872); -- Waking the Beast, aero_iv +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Garuda_WTB',2015,874); -- Waking the Beast, wind_blade + +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Ramuh_WTB',2016,888); -- Waking the Beast, thunderspark +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Ramuh_WTB',2016,889); -- Waking the Beast, lightning_armor +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Ramuh_WTB',2016,890); -- Waking the Beast, thunder_iv +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Ramuh_WTB',2016,891); -- Waking the Beast, chaotic_strike +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Ramuh_WTB',2016,892); -- Waking the Beast, thunderstorm + +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Leviathan_WTB',2017,861); -- Waking the Beast, spring_water +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Leviathan_WTB',2017,862); -- Waking the Beast, slowga +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Leviathan_WTB',2017,863); -- Waking the Beast, water_iv +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Leviathan_WTB',2017,864); -- Waking the Beast, spinning_dive +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Leviathan_WTB',2017,865); -- Waking the Beast, grand_fall + +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Titan_WTB',2018,852); -- Waking the Beast, megalith_throw +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Titan_WTB',2018,853); -- Waking the Beast, earthen_ward +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Titan_WTB',2018,854); -- Waking the Beast, stone_iv +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Titan_WTB',2018,855); -- Waking the Beast, mountain_buster +INSERT INTO `mob_skill_lists` VALUES ('Avatar_Titan_WTB',2018,856); -- Waking the Beast, geocrush + +-- Next available ID: 2019 -- ------------------------------------------------------------ -- Start of Ambuscade section diff --git a/sql/mob_spawn_points.sql b/sql/mob_spawn_points.sql index 3a0c05fe22c..1f2847a25dd 100644 --- a/sql/mob_spawn_points.sql +++ b/sql/mob_spawn_points.sql @@ -69187,21 +69187,21 @@ INSERT INTO `mob_spawn_points` VALUES (17600520,'Garuda_Prime_Trial','Garuda Pri INSERT INTO `mob_spawn_points` VALUES (17600521,'Garuda_Prime_Trial','Garuda Prime',3,-376.940,-78.992,512.872,105); -- Waking the Beast -INSERT INTO `mob_spawn_points` VALUES (17600522,'Garuda_Prime_WTB','Garuda Prime',4,502.000,41.362,-370.000,96); -INSERT INTO `mob_spawn_points` VALUES (17600523,'Air_Elemental','Air Elemental',5,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17600524,'Air_Elemental','Air Elemental',5,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17600525,'Air_Elemental','Air Elemental',5,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17600526,'Air_Elemental','Air Elemental',5,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17600527,'Garuda_Prime_WTB','Garuda Prime',4,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17600528,'Air_Elemental','Air Elemental',5,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17600529,'Air_Elemental','Air Elemental',5,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17600530,'Air_Elemental','Air Elemental',5,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17600531,'Air_Elemental','Air Elemental',5,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17600532,'Garuda_Prime_WTB','Garuda Prime',4,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17600533,'Air_Elemental','Air Elemental',5,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17600534,'Air_Elemental','Air Elemental',5,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17600535,'Air_Elemental','Air Elemental',5,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17600536,'Air_Elemental','Air Elemental',5,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (17600522,'Garuda_Prime_WTB','Garuda Prime',4,502,41,-367,105); +INSERT INTO `mob_spawn_points` VALUES (17600523,'Air_Elemental','Air Elemental',5,504,41,-367,0); +INSERT INTO `mob_spawn_points` VALUES (17600524,'Air_Elemental','Air Elemental',5,498,41,-367,0); +INSERT INTO `mob_spawn_points` VALUES (17600525,'Air_Elemental','Air Elemental',5,502,41,-371,0); +INSERT INTO `mob_spawn_points` VALUES (17600526,'Air_Elemental','Air Elemental',5,502,41,-363,0); +INSERT INTO `mob_spawn_points` VALUES (17600527,'Garuda_Prime_WTB','Garuda Prime',4,23,-19,33,105); +INSERT INTO `mob_spawn_points` VALUES (17600528,'Air_Elemental','Air Elemental',5,27,-19,33,0); +INSERT INTO `mob_spawn_points` VALUES (17600529,'Air_Elemental','Air Elemental',5,19,-19,33,0); +INSERT INTO `mob_spawn_points` VALUES (17600530,'Air_Elemental','Air Elemental',5,23,-19,29,0); +INSERT INTO `mob_spawn_points` VALUES (17600531,'Air_Elemental','Air Elemental',5,23,-19,37,0); +INSERT INTO `mob_spawn_points` VALUES (17600532,'Garuda_Prime_WTB','Garuda Prime',4,-377,-79,513,105); +INSERT INTO `mob_spawn_points` VALUES (17600533,'Air_Elemental','Air Elemental',5,-373,-79,513,0); +INSERT INTO `mob_spawn_points` VALUES (17600534,'Air_Elemental','Air Elemental',5,-381,-79,513,0); +INSERT INTO `mob_spawn_points` VALUES (17600535,'Air_Elemental','Air Elemental',5,-377,-79,509,0); +INSERT INTO `mob_spawn_points` VALUES (17600536,'Air_Elemental','Air Elemental',5,-377,-79,517,0); -- Sugar-coated Directive (ASA4) INSERT INTO `mob_spawn_points` VALUES (17600537,'Garuda_Prime_ASA','Garuda Prime',6,503.000,41.000,-367.000,105); @@ -69248,21 +69248,21 @@ INSERT INTO `mob_spawn_points` VALUES (17604619,'Ramuh_Prime_Trial','Ramuh Prime INSERT INTO `mob_spawn_points` VALUES (17604620,'Ramuh_Prime_Trial','Ramuh Prime',4,-377.066,-79.002,513.045,105); -- Waking the Beast -INSERT INTO `mob_spawn_points` VALUES (17604621,'Ramuh_Prime_WTB','Ramuh Prime',5,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17604622,'Thunder_Elemental','Thunder Elemental',6,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17604623,'Thunder_Elemental','Thunder Elemental',6,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17604624,'Thunder_Elemental','Thunder Elemental',6,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17604625,'Thunder_Elemental','Thunder Elemental',6,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17604626,'Ramuh_Prime_WTB','Ramuh Prime',5,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17604627,'Thunder_Elemental','Thunder Elemental',6,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17604628,'Thunder_Elemental','Thunder Elemental',6,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17604629,'Thunder_Elemental','Thunder Elemental',6,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17604630,'Thunder_Elemental','Thunder Elemental',6,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17604631,'Ramuh_Prime_WTB','Ramuh Prime',5,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17604632,'Thunder_Elemental','Thunder Elemental',6,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17604633,'Thunder_Elemental','Thunder Elemental',6,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17604634,'Thunder_Elemental','Thunder Elemental',6,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17604635,'Thunder_Elemental','Thunder Elemental',6,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (17604621,'Ramuh_Prime_WTB','Ramuh Prime',5,503,41,-367,105); +INSERT INTO `mob_spawn_points` VALUES (17604622,'Thunder_Elemental','Thunder Elemental',6,507,41,-367,105); +INSERT INTO `mob_spawn_points` VALUES (17604623,'Thunder_Elemental','Thunder Elemental',6,499,41,-367,105); +INSERT INTO `mob_spawn_points` VALUES (17604624,'Thunder_Elemental','Thunder Elemental',6,503,41,-371,105); +INSERT INTO `mob_spawn_points` VALUES (17604625,'Thunder_Elemental','Thunder Elemental',6,503,41,-363,105); +INSERT INTO `mob_spawn_points` VALUES (17604626,'Ramuh_Prime_WTB','Ramuh Prime',5,23.048,-19.001,33.005,105); +INSERT INTO `mob_spawn_points` VALUES (17604627,'Thunder_Elemental','Thunder Elemental',6,19.048,-19.001,33.005,105); +INSERT INTO `mob_spawn_points` VALUES (17604628,'Thunder_Elemental','Thunder Elemental',6,26.048,-19.001,33.005,105); +INSERT INTO `mob_spawn_points` VALUES (17604629,'Thunder_Elemental','Thunder Elemental',6,23.048,-19.001,37.005,105); +INSERT INTO `mob_spawn_points` VALUES (17604630,'Thunder_Elemental','Thunder Elemental',6,23.048,-19.001,29.005,105); +INSERT INTO `mob_spawn_points` VALUES (17604631,'Ramuh_Prime_WTB','Ramuh Prime',5,-377.066,-79.002,513.045,105); +INSERT INTO `mob_spawn_points` VALUES (17604632,'Thunder_Elemental','Thunder Elemental',6,-381.066,-79.002,513.045,105); +INSERT INTO `mob_spawn_points` VALUES (17604633,'Thunder_Elemental','Thunder Elemental',6,-373.066,-79.002,513.045,105); +INSERT INTO `mob_spawn_points` VALUES (17604634,'Thunder_Elemental','Thunder Elemental',6,-377.066,-79.002,517.045,105); +INSERT INTO `mob_spawn_points` VALUES (17604635,'Thunder_Elemental','Thunder Elemental',6,-377.066,-79.002,509.045,105); -- Sugar-coated Directive (ASA4) INSERT INTO `mob_spawn_points` VALUES (17604636,'Ramuh_Prime_ASA','Ramuh Prime',7,503.000,41.000,-367.000,105); @@ -69321,21 +69321,21 @@ INSERT INTO `mob_spawn_points` VALUES (17608727,'Shiva_Prime_Trial','Shiva Prime INSERT INTO `mob_spawn_points` VALUES (17608728,'Shiva_Prime_Trial','Shiva Prime',3,-377.091,-78.999,512.996,105); -- Waking the Beast -INSERT INTO `mob_spawn_points` VALUES (17608729,'Shiva_Prime_WTB','Shiva Prime',4,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17608730,'Ice_Elemental','Ice Elemental',5,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17608731,'Ice_Elemental','Ice Elemental',5,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17608732,'Ice_Elemental','Ice Elemental',5,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17608733,'Ice_Elemental','Ice Elemental',5,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17608734,'Shiva_Prime_WTB','Shiva Prime',4,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17608735,'Ice_Elemental','Ice Elemental',5,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17608736,'Ice_Elemental','Ice Elemental',5,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17608737,'Ice_Elemental','Ice Elemental',5,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17608738,'Ice_Elemental','Ice Elemental',5,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17608739,'Shiva_Prime_WTB','Shiva Prime',4,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17608740,'Ice_Elemental','Ice Elemental',5,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17608741,'Ice_Elemental','Ice Elemental',5,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17608742,'Ice_Elemental','Ice Elemental',5,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17608743,'Ice_Elemental','Ice Elemental',5,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (17608729,'Shiva_Prime_WTB','Shiva Prime',4,503,41,-367,105); +INSERT INTO `mob_spawn_points` VALUES (17608730,'Ice_Elemental','Ice Elemental',5,507,41,-367,105); +INSERT INTO `mob_spawn_points` VALUES (17608731,'Ice_Elemental','Ice Elemental',5,499,41,-367,105); +INSERT INTO `mob_spawn_points` VALUES (17608732,'Ice_Elemental','Ice Elemental',5,503,41,-371,105); +INSERT INTO `mob_spawn_points` VALUES (17608733,'Ice_Elemental','Ice Elemental',5,503,41,-363,105); +INSERT INTO `mob_spawn_points` VALUES (17608734,'Shiva_Prime_WTB','Shiva Prime',4,23.048,-19.001,33.005,105); +INSERT INTO `mob_spawn_points` VALUES (17608735,'Ice_Elemental','Ice Elemental',5,19.048,-19.001,33.005,105); +INSERT INTO `mob_spawn_points` VALUES (17608736,'Ice_Elemental','Ice Elemental',5,26.048,-19.001,33.005,105); +INSERT INTO `mob_spawn_points` VALUES (17608737,'Ice_Elemental','Ice Elemental',5,23.048,-19.001,37.005,105); +INSERT INTO `mob_spawn_points` VALUES (17608738,'Ice_Elemental','Ice Elemental',5,23.048,-19.001,29.005,105); +INSERT INTO `mob_spawn_points` VALUES (17608739,'Shiva_Prime_WTB','Shiva Prime',4,-377.066,-79.002,513.045,105); +INSERT INTO `mob_spawn_points` VALUES (17608740,'Ice_Elemental','Ice Elemental',5,-381.066,-79.002,513.045,105); +INSERT INTO `mob_spawn_points` VALUES (17608741,'Ice_Elemental','Ice Elemental',5,-373.066,-79.002,513.045,105); +INSERT INTO `mob_spawn_points` VALUES (17608742,'Ice_Elemental','Ice Elemental',5,-377.066,-79.002,517.045,105); +INSERT INTO `mob_spawn_points` VALUES (17608743,'Ice_Elemental','Ice Elemental',5,-377.066,-79.002,509.045,105); -- Sugar-coated Directive (ASA4) INSERT INTO `mob_spawn_points` VALUES (17608744,'Shiva_Prime_ASA','Shiva Prime',6,503.000,41.000,-367.000,105); @@ -71093,21 +71093,21 @@ INSERT INTO `mob_spawn_points` VALUES (17633288,'Titan_Prime_Trial','Titan Prime INSERT INTO `mob_spawn_points` VALUES (17633289,'Titan_Prime_Trial','Titan Prime',3,-376.962,-79.004,513.055,105); -- Waking the Beast -INSERT INTO `mob_spawn_points` VALUES (17633290,'Titan_Prime_WTB','Titan Prime',4,499.475,40.069,-373.074,38); -INSERT INTO `mob_spawn_points` VALUES (17633291,'Earth_Elemental','Earth Elemental',5,499.773,41.138,-370.267,87); -INSERT INTO `mob_spawn_points` VALUES (17633292,'Earth_Elemental','Earth Elemental',5,498.942,41.051,-370.159,75); -INSERT INTO `mob_spawn_points` VALUES (17633293,'Earth_Elemental','Earth Elemental',5,500.164,41.265,-371.081,100); -INSERT INTO `mob_spawn_points` VALUES (17633294,'Earth_Elemental','Earth Elemental',5,500.684,41.354,-371.758,114); -INSERT INTO `mob_spawn_points` VALUES (17633295,'Titan_Prime_WTB','Titan Prime',4,19.382,-19.936,27.011,38); -INSERT INTO `mob_spawn_points` VALUES (17633296,'Earth_Elemental','Earth Elemental',5,19.680,-18.867,29.818,87); -INSERT INTO `mob_spawn_points` VALUES (17633297,'Earth_Elemental','Earth Elemental',5,18.849,-18.954,29.926,75); -INSERT INTO `mob_spawn_points` VALUES (17633298,'Earth_Elemental','Earth Elemental',5,20.071,-18.740,29.004,100); -INSERT INTO `mob_spawn_points` VALUES (17633299,'Earth_Elemental','Earth Elemental',5,20.591,-18.651,28.327,114); -INSERT INTO `mob_spawn_points` VALUES (17633300,'Titan_Prime_WTB','Titan Prime',4,-380.487,-79.935,506.981,38); -INSERT INTO `mob_spawn_points` VALUES (17633301,'Earth_Elemental','Earth Elemental',5,-380.189,-78.866,509.788,87); -INSERT INTO `mob_spawn_points` VALUES (17633302,'Earth_Elemental','Earth Elemental',5,-381.020,-78.953,509.896,75); -INSERT INTO `mob_spawn_points` VALUES (17633303,'Earth_Elemental','Earth Elemental',5,-379.798,-78.739,508.974,100); -INSERT INTO `mob_spawn_points` VALUES (17633304,'Earth_Elemental','Earth Elemental',5,-379.278,-78.650,508.297,114); +INSERT INTO `mob_spawn_points` VALUES (17633290,'Titan_Prime_WTB','Titan Prime',4,503,41,-367,105); +INSERT INTO `mob_spawn_points` VALUES (17633291,'Earth_Elemental','Earth Elemental',5,507,41,-367,105); +INSERT INTO `mob_spawn_points` VALUES (17633292,'Earth_Elemental','Earth Elemental',5,499,41,-367,105); +INSERT INTO `mob_spawn_points` VALUES (17633293,'Earth_Elemental','Earth Elemental',5,503,41,-371,105); +INSERT INTO `mob_spawn_points` VALUES (17633294,'Earth_Elemental','Earth Elemental',5,503,41,-363,105); +INSERT INTO `mob_spawn_points` VALUES (17633295,'Titan_Prime_WTB','Titan Prime',4,22.907,-19.005,33.085,105); +INSERT INTO `mob_spawn_points` VALUES (17633296,'Earth_Elemental','Earth Elemental',5,26.907,-19.005,33.085,105); +INSERT INTO `mob_spawn_points` VALUES (17633297,'Earth_Elemental','Earth Elemental',5,18.907,-19.005,33.085,105); +INSERT INTO `mob_spawn_points` VALUES (17633298,'Earth_Elemental','Earth Elemental',5,22.907,-19.005,37.085,105); +INSERT INTO `mob_spawn_points` VALUES (17633299,'Earth_Elemental','Earth Elemental',5,22.907,-19.005,29.085,105); +INSERT INTO `mob_spawn_points` VALUES (17633300,'Titan_Prime_WTB','Titan Prime',4,-376.962,-79.004,513.055,105); +INSERT INTO `mob_spawn_points` VALUES (17633301,'Earth_Elemental','Earth Elemental',5,-380.962,-79.004,513.055,105); +INSERT INTO `mob_spawn_points` VALUES (17633302,'Earth_Elemental','Earth Elemental',5,-372.962,-79.004,513.055,105); +INSERT INTO `mob_spawn_points` VALUES (17633303,'Earth_Elemental','Earth Elemental',5,-376.962,-79.004,517.055,105); +INSERT INTO `mob_spawn_points` VALUES (17633304,'Earth_Elemental','Earth Elemental',5,-376.962,-79.004,509.055,105); -- Sugar-coated Directive (ASA4) INSERT INTO `mob_spawn_points` VALUES (17633305,'Titan_Prime_ASA','Titan Prime',6,503.000,41.000,-367.000,105); @@ -71146,21 +71146,21 @@ INSERT INTO `mob_spawn_points` VALUES (17641477,'Leviathan_Prime_Trial','Leviath INSERT INTO `mob_spawn_points` VALUES (17641478,'Leviathan_Prime_Trial','Leviathan Prime',2,-377.046,-78.994,512.925,105); -- Waking the Beast -INSERT INTO `mob_spawn_points` VALUES (17641479,'Leviathan_Prime_WTB','Leviathan Prime',3,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17641480,'Water_Elemental','Water Elemental',4,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17641481,'Water_Elemental','Water Elemental',4,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17641482,'Water_Elemental','Water Elemental',4,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17641483,'Water_Elemental','Water Elemental',4,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17641484,'Leviathan_Prime_WTB','Leviathan Prime',3,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17641485,'Water_Elemental','Water Elemental',4,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17641486,'Water_Elemental','Water Elemental',4,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17641487,'Water_Elemental','Water Elemental',4,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17641488,'Water_Elemental','Water Elemental',4,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17641489,'Leviathan_Prime_WTB','Leviathan Prime',3,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17641490,'Water_Elemental','Water Elemental',4,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17641491,'Water_Elemental','Water Elemental',4,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17641492,'Water_Elemental','Water Elemental',4,0.000,0.000,0.000,0); -INSERT INTO `mob_spawn_points` VALUES (17641493,'Water_Elemental','Water Elemental',4,0.000,0.000,0.000,0); +INSERT INTO `mob_spawn_points` VALUES (17641479,'Leviathan_Prime_WTB','Leviathan Prime',3,503,41,-367,105); +INSERT INTO `mob_spawn_points` VALUES (17641480,'Water_Elemental','Water Elemental',4,507,41,-367,105); +INSERT INTO `mob_spawn_points` VALUES (17641481,'Water_Elemental','Water Elemental',4,499,41,-367,105); +INSERT INTO `mob_spawn_points` VALUES (17641482,'Water_Elemental','Water Elemental',4,503,41,-371,105); +INSERT INTO `mob_spawn_points` VALUES (17641483,'Water_Elemental','Water Elemental',4,503,41,-363,105); +INSERT INTO `mob_spawn_points` VALUES (17641484,'Leviathan_Prime_WTB','Leviathan Prime',3,22.94,-18.991,32.879,105); +INSERT INTO `mob_spawn_points` VALUES (17641485,'Water_Elemental','Water Elemental',4,26.94,-18.991,32.879,105); +INSERT INTO `mob_spawn_points` VALUES (17641486,'Water_Elemental','Water Elemental',4,18.94,-18.991,32.879,105); +INSERT INTO `mob_spawn_points` VALUES (17641487,'Water_Elemental','Water Elemental',4,22.94,-18.991,36.879,105); +INSERT INTO `mob_spawn_points` VALUES (17641488,'Water_Elemental','Water Elemental',4,22.94,-18.991,28.879,105); +INSERT INTO `mob_spawn_points` VALUES (17641489,'Leviathan_Prime_WTB','Leviathan Prime',3,-377.046,-78.994,512.925,105); +INSERT INTO `mob_spawn_points` VALUES (17641490,'Water_Elemental','Water Elemental',4,-381.046,-78.994,512.925,105); +INSERT INTO `mob_spawn_points` VALUES (17641491,'Water_Elemental','Water Elemental',4,-373.046,-78.994,512.925,105); +INSERT INTO `mob_spawn_points` VALUES (17641492,'Water_Elemental','Water Elemental',4,-377.046,-78.994,516.925,105); +INSERT INTO `mob_spawn_points` VALUES (17641493,'Water_Elemental','Water Elemental',4,-377.046,-78.994,508.925,105); -- Sugar-coated Directive (ASA4) INSERT INTO `mob_spawn_points` VALUES (17641494,'Leviathan_Prime_ASA','Leviathan Prime',5,503.000,41.000,-367.000,105);