From cb6178d986ead93190ebad8f5064fab79e27a01b Mon Sep 17 00:00:00 2001 From: Kipling Date: Wed, 8 Apr 2026 23:39:56 -0700 Subject: [PATCH] Boat Audit Pt. 1 revisions Boat NM Audits Pt. 1 Boat NM Audits Pt. 1 Boat NMs 2 --- .../mobs/Gugru_Orobon.lua | 3 +- .../mobs/Northern_Piranu.lua | 22 ++++++++++ .../mobs/Southern_Piranu.lua | 13 ------ .../mobs/Gugru_Orobon.lua | 3 +- .../mobs/Northern_Piranu.lua | 13 ------ .../mobs/Southern_Piranu.lua | 22 ++++++++++ .../Ship_bound_for_Mhaura/mobs/Sea_Horror.lua | 11 ++++- .../Ship_bound_for_Mhaura/mobs/Sea_Monk.lua | 2 +- .../mobs/Silverhook.lua | 43 ++++++++++++++++++ .../mobs/Sea_Horror.lua | 13 ++++-- .../Ship_bound_for_Selbina/mobs/Sea_Monk.lua | 4 +- .../mobs/Blackbeard.lua | 44 +++++++++++++++++++ .../Silver_Sea_route_to_Al_Zahbi/IDs.lua | 1 + .../Silver_Sea_route_to_Al_Zahbi/Zone.lua | 25 +++++++++++ .../mobs/Almighty_Apkallu.lua | 27 ++++++++++++ .../zones/Silver_Sea_route_to_Nashmau/IDs.lua | 1 + .../Silver_Sea_route_to_Nashmau/Zone.lua | 25 +++++++++++ .../mobs/Proteus.lua | 25 +++++++++++ sql/mob_groups.sql | 24 +++++----- sql/mob_pools.sql | 20 ++++----- sql/mob_spawn_points.sql | 14 +++--- 21 files changed, 290 insertions(+), 65 deletions(-) create mode 100644 scripts/zones/Open_sea_route_to_Al_Zahbi/mobs/Northern_Piranu.lua delete mode 100644 scripts/zones/Open_sea_route_to_Al_Zahbi/mobs/Southern_Piranu.lua delete mode 100644 scripts/zones/Open_sea_route_to_Mhaura/mobs/Northern_Piranu.lua create mode 100644 scripts/zones/Open_sea_route_to_Mhaura/mobs/Southern_Piranu.lua create mode 100644 scripts/zones/Ship_bound_for_Mhaura_Pirates/mobs/Silverhook.lua create mode 100644 scripts/zones/Ship_bound_for_Selbina_Pirates/mobs/Blackbeard.lua create mode 100644 scripts/zones/Silver_Sea_route_to_Al_Zahbi/mobs/Almighty_Apkallu.lua create mode 100644 scripts/zones/Silver_Sea_route_to_Nashmau/mobs/Proteus.lua diff --git a/scripts/zones/Open_sea_route_to_Al_Zahbi/mobs/Gugru_Orobon.lua b/scripts/zones/Open_sea_route_to_Al_Zahbi/mobs/Gugru_Orobon.lua index 6916192573e..6078fc777dd 100644 --- a/scripts/zones/Open_sea_route_to_Al_Zahbi/mobs/Gugru_Orobon.lua +++ b/scripts/zones/Open_sea_route_to_Al_Zahbi/mobs/Gugru_Orobon.lua @@ -7,7 +7,8 @@ mixins = { require('scripts/mixins/families/orobon') } ---@type TMobEntity local entity = {} -entity.onMobDeath = function(mob, player, optParams) +entity.onMobSpawn = function(mob) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 150) end return entity diff --git a/scripts/zones/Open_sea_route_to_Al_Zahbi/mobs/Northern_Piranu.lua b/scripts/zones/Open_sea_route_to_Al_Zahbi/mobs/Northern_Piranu.lua new file mode 100644 index 00000000000..8187840af4b --- /dev/null +++ b/scripts/zones/Open_sea_route_to_Al_Zahbi/mobs/Northern_Piranu.lua @@ -0,0 +1,22 @@ +----------------------------------- +-- Area: Open Sea route to Al_Zahbi +-- Mob: Northern Piranu +----------------------------------- +mixins = { require('scripts/mixins/families/orobon') } +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.SILENCE) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.DARK_SLEEP) + mob:addImmunity(xi.immunity.TERROR) + mob:addImmunity(xi.immunity.PLAGUE) +end + +entity.onMobSpawn = function(mob) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 150) +end + +return entity diff --git a/scripts/zones/Open_sea_route_to_Al_Zahbi/mobs/Southern_Piranu.lua b/scripts/zones/Open_sea_route_to_Al_Zahbi/mobs/Southern_Piranu.lua deleted file mode 100644 index aabb19e5c35..00000000000 --- a/scripts/zones/Open_sea_route_to_Al_Zahbi/mobs/Southern_Piranu.lua +++ /dev/null @@ -1,13 +0,0 @@ ------------------------------------ --- Area: Open Sea route to Al_Zahbi --- Mob: Southern Piranu ------------------------------------ -mixins = { require('scripts/mixins/families/orobon') } ------------------------------------ ----@type TMobEntity -local entity = {} - -entity.onMobDeath = function(mob, player, optParams) -end - -return entity diff --git a/scripts/zones/Open_sea_route_to_Mhaura/mobs/Gugru_Orobon.lua b/scripts/zones/Open_sea_route_to_Mhaura/mobs/Gugru_Orobon.lua index 55615c4d47e..00661419ccb 100644 --- a/scripts/zones/Open_sea_route_to_Mhaura/mobs/Gugru_Orobon.lua +++ b/scripts/zones/Open_sea_route_to_Mhaura/mobs/Gugru_Orobon.lua @@ -7,7 +7,8 @@ mixins = { require('scripts/mixins/families/orobon') } ---@type TMobEntity local entity = {} -entity.onMobDeath = function(mob, player, optParams) +entity.onMobSpawn = function(mob) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 150) end return entity diff --git a/scripts/zones/Open_sea_route_to_Mhaura/mobs/Northern_Piranu.lua b/scripts/zones/Open_sea_route_to_Mhaura/mobs/Northern_Piranu.lua deleted file mode 100644 index bc31c14ea89..00000000000 --- a/scripts/zones/Open_sea_route_to_Mhaura/mobs/Northern_Piranu.lua +++ /dev/null @@ -1,13 +0,0 @@ ------------------------------------ --- Area: Open Sea route to Mhaura --- Mob: Northern Piranu ------------------------------------ -mixins = { require('scripts/mixins/families/orobon') } ------------------------------------ ----@type TMobEntity -local entity = {} - -entity.onMobDeath = function(mob, player, optParams) -end - -return entity diff --git a/scripts/zones/Open_sea_route_to_Mhaura/mobs/Southern_Piranu.lua b/scripts/zones/Open_sea_route_to_Mhaura/mobs/Southern_Piranu.lua new file mode 100644 index 00000000000..bc0c30ece49 --- /dev/null +++ b/scripts/zones/Open_sea_route_to_Mhaura/mobs/Southern_Piranu.lua @@ -0,0 +1,22 @@ +----------------------------------- +-- Area: Open Sea route to Mhaura +-- Mob: Southern Piranu +----------------------------------- +mixins = { require('scripts/mixins/families/orobon') } +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.SILENCE) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.DARK_SLEEP) + mob:addImmunity(xi.immunity.TERROR) + mob:addImmunity(xi.immunity.PLAGUE) +end + +entity.onMobSpawn = function(mob) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 150) +end + +return entity diff --git a/scripts/zones/Ship_bound_for_Mhaura/mobs/Sea_Horror.lua b/scripts/zones/Ship_bound_for_Mhaura/mobs/Sea_Horror.lua index d985d6d259d..72001a9592a 100644 --- a/scripts/zones/Ship_bound_for_Mhaura/mobs/Sea_Horror.lua +++ b/scripts/zones/Ship_bound_for_Mhaura/mobs/Sea_Horror.lua @@ -21,12 +21,19 @@ entity.phList = entity.onMobInitialize = function(mob) -- "May despawn if left alone" mob:setMobMod(xi.mobMod.IDLE_DESPAWN, 180) - -- TODO any other immunities? mob:addImmunity(xi.immunity.DARK_SLEEP) mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:setMobMod(xi.mobMod.ALWAYS_AGGRO, 1) end -entity.onMobDeath = function(mob, player, optParams) +entity.onMobSpawn = function(mob) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 150) + xi.mix.jobSpecial.config(mob, { + specials = + { + { id = xi.mobSkill.HUNDRED_FISTS_1 }, + }, + }) end return entity diff --git a/scripts/zones/Ship_bound_for_Mhaura/mobs/Sea_Monk.lua b/scripts/zones/Ship_bound_for_Mhaura/mobs/Sea_Monk.lua index 2390464471d..3e6dd438562 100644 --- a/scripts/zones/Ship_bound_for_Mhaura/mobs/Sea_Monk.lua +++ b/scripts/zones/Ship_bound_for_Mhaura/mobs/Sea_Monk.lua @@ -11,7 +11,7 @@ entity.onMobDespawn = function(mob) -- "Can spawn up to three times on the same ferry ride." -- TODO verify if this mob can spawn back-to-back. If so it might be in a spawn group with the sea monk -- a spawn group + IDLE_DESPAWN on the NM would look very much like a ph-style NM - xi.mob.phOnDespawn(mob, ID.mob.SEA_HORROR, 50, 1) + xi.mob.phOnDespawn(mob, ID.mob.SEA_HORROR, 20, 1) end return entity diff --git a/scripts/zones/Ship_bound_for_Mhaura_Pirates/mobs/Silverhook.lua b/scripts/zones/Ship_bound_for_Mhaura_Pirates/mobs/Silverhook.lua new file mode 100644 index 00000000000..877ed544530 --- /dev/null +++ b/scripts/zones/Ship_bound_for_Mhaura_Pirates/mobs/Silverhook.lua @@ -0,0 +1,43 @@ +----------------------------------- +-- Area: Ship Bound for Mhaura (Pirates) +-- NM: Silverhook +-- To do: This NM does not use an SP ability like JP wiki claims but it does have a dust cloud animation that triggers as soon as it is pushed below 50% HP. It is unclear what this does, if anything, after multiple retail captures. +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.DARK_SLEEP) + mob:addImmunity(xi.immunity.TERROR) + mob:addImmunity(xi.immunity.PETRIFY) +end + +entity.onMobSpawn = function(mob) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 150) + mob:setMod(xi.mod.SILENCE_RES_RANK, 11) + mob:setMod(xi.mod.ICE_RES_RANK, 10) + mob:setMod(xi.mod.POWER_MULTIPLIER_SPELL, 55) + mob:setMobMod(xi.mobMod.NO_STANDBACK, 1) +end + +entity.onMobSpellChoose = function(mob, target, spellId) + local spellList = + { + [ 1] = { xi.magic.spell.ICE_SPIKES, mob, false, xi.action.type.ENHANCING_FORCE_SELF, xi.effect.ICE_SPIKES, 0, 100 }, + [ 2] = { xi.magic.spell.STUN, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.STUN, 0, 100 }, + [ 3] = { xi.magic.spell.ASPIR, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [ 4] = { xi.magic.spell.SLEEP_II, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.SLEEP_I, 2, 100 }, + [ 5] = { xi.magic.spell.SLEEPGA_II, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.SLEEP_I, 2, 100 }, + [ 6] = { xi.magic.spell.WATER_III, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [ 7] = { xi.magic.spell.WATERGA_III, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [ 8] = { xi.magic.spell.FLOOD, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [ 9] = { xi.magic.spell.BLIZZAGA_II, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [10] = { xi.magic.spell.BLIZZARD_III, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [11] = { xi.magic.spell.FREEZE, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + } + + return xi.combat.behavior.chooseAction(mob, target, nil, spellList) +end + +return entity diff --git a/scripts/zones/Ship_bound_for_Selbina/mobs/Sea_Horror.lua b/scripts/zones/Ship_bound_for_Selbina/mobs/Sea_Horror.lua index 711409d86c4..4dc5e601d38 100644 --- a/scripts/zones/Ship_bound_for_Selbina/mobs/Sea_Horror.lua +++ b/scripts/zones/Ship_bound_for_Selbina/mobs/Sea_Horror.lua @@ -1,5 +1,5 @@ ----------------------------------- --- Area: Ship Bound for Mhaura +-- Area: Ship Bound for Selbina -- NM: Sea Horror ----------------------------------- mixins = { require('scripts/mixins/job_special') } @@ -21,12 +21,19 @@ entity.phList = entity.onMobInitialize = function(mob) -- "May despawn if left alone" mob:setMobMod(xi.mobMod.IDLE_DESPAWN, 180) - -- TODO any other immunities? mob:addImmunity(xi.immunity.DARK_SLEEP) mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:setMobMod(xi.mobMod.ALWAYS_AGGRO, 1) end -entity.onMobDeath = function(mob, player, optParams) +entity.onMobSpawn = function(mob) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 150) + xi.mix.jobSpecial.config(mob, { + specials = + { + { id = xi.mobSkill.HUNDRED_FISTS_1 }, + }, + }) end return entity diff --git a/scripts/zones/Ship_bound_for_Selbina/mobs/Sea_Monk.lua b/scripts/zones/Ship_bound_for_Selbina/mobs/Sea_Monk.lua index 5e31cd17f2f..a18961de1bf 100644 --- a/scripts/zones/Ship_bound_for_Selbina/mobs/Sea_Monk.lua +++ b/scripts/zones/Ship_bound_for_Selbina/mobs/Sea_Monk.lua @@ -1,5 +1,5 @@ ----------------------------------- --- Area: Ship Bound for Mhaura +-- Area: Ship Bound for Selbina -- NM: Sea Horror ----------------------------------- local ID = zones[xi.zone.SHIP_BOUND_FOR_SELBINA] @@ -11,7 +11,7 @@ entity.onMobDespawn = function(mob) -- "Can spawn up to three times on the same ferry ride." -- TODO verify if this mob can spawn back-to-back. If so it might be in a spawn group with the sea monk -- a spawn group + IDLE_DESPAWN on the NM would look very much like a ph-style NM - xi.mob.phOnDespawn(mob, ID.mob.SEA_HORROR, 50, 1) + xi.mob.phOnDespawn(mob, ID.mob.SEA_HORROR, 20, 1) end return entity diff --git a/scripts/zones/Ship_bound_for_Selbina_Pirates/mobs/Blackbeard.lua b/scripts/zones/Ship_bound_for_Selbina_Pirates/mobs/Blackbeard.lua new file mode 100644 index 00000000000..a59f8414d5d --- /dev/null +++ b/scripts/zones/Ship_bound_for_Selbina_Pirates/mobs/Blackbeard.lua @@ -0,0 +1,44 @@ +----------------------------------- +-- Area: Ship Bound for Selbina (Pirates) +-- NM: Blackbeard +-- To do: This NM does not use an SP ability like JP wiki claims but it does have a dust cloud animation that triggers as soon as it is pushed below 50% HP. It is unclear what this does, if anything, after multiple retail captures. +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.DARK_SLEEP) + mob:addImmunity(xi.immunity.TERROR) + mob:addImmunity(xi.immunity.PETRIFY) +end + +entity.onMobSpawn = function(mob) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 150) + mob:setMod(xi.mod.SILENCE_RES_RANK, 11) + mob:setMod(xi.mod.ICE_RES_RANK, 10) + mob:setMod(xi.mod.POWER_MULTIPLIER_SPELL, 55) + mob:setMobMod(xi.mobMod.NO_STANDBACK, 1) +end + +entity.onMobSpellChoose = function(mob, target, spellId) + local spellList = + { + [ 1] = { xi.magic.spell.ICE_SPIKES, mob, false, xi.action.type.ENHANCING_FORCE_SELF, xi.effect.ICE_SPIKES, 0, 100 }, + [ 2] = { xi.magic.spell.STUN, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.STUN, 0, 100 }, + [ 3] = { xi.magic.spell.ASPIR, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [ 4] = { xi.magic.spell.SLEEP_II, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.SLEEP_I, 2, 100 }, + [ 5] = { xi.magic.spell.SLEEPGA_II, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.SLEEP_I, 2, 100 }, + [ 6] = { xi.magic.spell.BURST, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [ 7] = { xi.magic.spell.WATER_III, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [ 8] = { xi.magic.spell.WATERGA_III, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [ 9] = { xi.magic.spell.FLOOD, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [10] = { xi.magic.spell.THUNDAGA_II, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [11] = { xi.magic.spell.THUNDER_III, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [12] = { xi.magic.spell.FREEZE, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + } + + return xi.combat.behavior.chooseAction(mob, target, nil, spellList) +end + +return entity diff --git a/scripts/zones/Silver_Sea_route_to_Al_Zahbi/IDs.lua b/scripts/zones/Silver_Sea_route_to_Al_Zahbi/IDs.lua index 65819db9557..99140ea751f 100644 --- a/scripts/zones/Silver_Sea_route_to_Al_Zahbi/IDs.lua +++ b/scripts/zones/Silver_Sea_route_to_Al_Zahbi/IDs.lua @@ -24,6 +24,7 @@ zones[xi.zone.SILVER_SEA_ROUTE_TO_AL_ZAHBI] = }, mob = { + ALMIGHTY_APKALLU = GetFirstID('Almighty_Apkallu'), }, npc = { diff --git a/scripts/zones/Silver_Sea_route_to_Al_Zahbi/Zone.lua b/scripts/zones/Silver_Sea_route_to_Al_Zahbi/Zone.lua index 2f39efa8a63..aea0f63d289 100644 --- a/scripts/zones/Silver_Sea_route_to_Al_Zahbi/Zone.lua +++ b/scripts/zones/Silver_Sea_route_to_Al_Zahbi/Zone.lua @@ -1,6 +1,8 @@ ----------------------------------- -- Zone: Silver_Sea_route_to_Al_Zahbi ----------------------------------- +local ID = zones[xi.zone.SILVER_SEA_ROUTE_TO_AL_ZAHBI] +----------------------------------- ---@type TZone local zoneObject = {} @@ -10,6 +12,29 @@ end zoneObject.onZoneIn = function(player, prevZone) local cs = -1 + -- Early return: Apkallu doesn't exist. + local almightyapkallu = GetMobByID(ID.mob.ALMIGHTY_APKALLU) + if not almightyapkallu then + return cs + end + + -- Early return: Apkallu can't pop yet. + local currentTime = GetSystemTime() + if currentTime < almightyapkallu:getLocalVar('zoneWindow') then + return cs + end + + -- Block multiple spawn chance rolls per boat ride. + almightyapkallu:setLocalVar('zoneWindow', GetSystemTime() + 20) + + -- Check if Apkallu pops this boat ride. + if + currentTime > almightyapkallu:getLocalVar('respawn') and + math.random(1, 100) <= 20 + then + almightyapkallu:setRespawnTime(math.random(120, 180)) -- 2 to 3 minutes + end + return cs end diff --git a/scripts/zones/Silver_Sea_route_to_Al_Zahbi/mobs/Almighty_Apkallu.lua b/scripts/zones/Silver_Sea_route_to_Al_Zahbi/mobs/Almighty_Apkallu.lua new file mode 100644 index 00000000000..48a9de1b27d --- /dev/null +++ b/scripts/zones/Silver_Sea_route_to_Al_Zahbi/mobs/Almighty_Apkallu.lua @@ -0,0 +1,27 @@ +----------------------------------- +-- Area: Silver Sea route to Al Zahbi +-- NM: Almighty Apkallu +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.DARK_SLEEP) + mob:addImmunity(xi.immunity.TERROR) + mob:addImmunity(xi.immunity.PETRIFY) + mob:addImmunity(xi.immunity.GRAVITY) + mob:addImmunity(xi.immunity.PLAGUE) + mob:addImmunity(xi.immunity.PARALYZE) +end + +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.REGAIN, 300) + mob:setMod(xi.mod.DMGMAGIC, -2500) +end + +entity.onMobDespawn = function(mob) + mob:setLocalVar('respawn', GetSystemTime() + 300) -- 5 minutes +end + +return entity diff --git a/scripts/zones/Silver_Sea_route_to_Nashmau/IDs.lua b/scripts/zones/Silver_Sea_route_to_Nashmau/IDs.lua index d3c564ba460..648c5781dea 100644 --- a/scripts/zones/Silver_Sea_route_to_Nashmau/IDs.lua +++ b/scripts/zones/Silver_Sea_route_to_Nashmau/IDs.lua @@ -24,6 +24,7 @@ zones[xi.zone.SILVER_SEA_ROUTE_TO_NASHMAU] = }, mob = { + PROTEUS = GetFirstID('Proteus'), }, npc = { diff --git a/scripts/zones/Silver_Sea_route_to_Nashmau/Zone.lua b/scripts/zones/Silver_Sea_route_to_Nashmau/Zone.lua index 72df4df6ab6..6ad96ad2258 100644 --- a/scripts/zones/Silver_Sea_route_to_Nashmau/Zone.lua +++ b/scripts/zones/Silver_Sea_route_to_Nashmau/Zone.lua @@ -1,6 +1,8 @@ ----------------------------------- -- Zone: Silver_Sea_route_to_Nashmau ----------------------------------- +local ID = zones[xi.zone.SILVER_SEA_ROUTE_TO_NASHMAU] +----------------------------------- ---@type TZone local zoneObject = {} @@ -10,6 +12,29 @@ end zoneObject.onZoneIn = function(player, prevZone) local cs = -1 + -- Early return: Proteus doesn't exist. + local proteus = GetMobByID(ID.mob.PROTEUS) + if not proteus then + return cs + end + + -- Early return: Proteus can't pop yet. + local currentTime = GetSystemTime() + if currentTime < proteus:getLocalVar('zoneWindow') then + return cs + end + + -- Block multiple spawn chance rolls per boat ride. + proteus:setLocalVar('zoneWindow', GetSystemTime() + 20) + + -- Check if Proteus pops this boat ride. + if + currentTime > proteus:getLocalVar('respawn') and + math.random(1, 100) <= 10 + then + proteus:setRespawnTime(math.random(120, 180)) -- 2 to 3 minutes + end + return cs end diff --git a/scripts/zones/Silver_Sea_route_to_Nashmau/mobs/Proteus.lua b/scripts/zones/Silver_Sea_route_to_Nashmau/mobs/Proteus.lua new file mode 100644 index 00000000000..cf59d88cb1a --- /dev/null +++ b/scripts/zones/Silver_Sea_route_to_Nashmau/mobs/Proteus.lua @@ -0,0 +1,25 @@ +----------------------------------- +-- Area: Silver Sea route to Nashmau +-- NM: Proteus +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.DARK_SLEEP) + mob:addImmunity(xi.immunity.TERROR) + mob:addImmunity(xi.immunity.PETRIFY) + mob:addImmunity(xi.immunity.SILENCE) +end + +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.TRIPLE_ATTACK, 100) + mob:setMod(xi.mod.ACC, 250) +end + +entity.onMobDespawn = function(mob) + mob:setLocalVar('respawn', GetSystemTime() + 300) -- 5 minutes +end + +return entity diff --git a/sql/mob_groups.sql b/sql/mob_groups.sql index a8ba1032fa9..3d0e488f065 100644 --- a/sql/mob_groups.sql +++ b/sql/mob_groups.sql @@ -2537,8 +2537,8 @@ INSERT INTO `mob_groups` VALUES (59,7114,45,'Ephemeral_Limule',300,0,783,5000,99 INSERT INTO `mob_groups` VALUES (1,3102,46,'Passage_Crab',0,128,555,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (2,1838,46,'Gugru_Jagil',0,128,279,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (3,445,46,'Blanched_Kraken',0,128,290,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (4,1839,46,'Gugru_Orobon',0,128,969,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (5,2906,46,'Northern_Piranu',0,128,3306,0,0,0,NULL); +INSERT INTO `mob_groups` VALUES (4,1839,46,'Gugru_Orobon',0,128,969,5500,0,0,NULL); +INSERT INTO `mob_groups` VALUES (5,2906,46,'Northern_Piranu',0,128,3306,14000,0,0,NULL); INSERT INTO `mob_groups` VALUES (6,1837,46,'Gugru_Crab',300,0,1248,0,0,0,NULL); -- TODO: get respawn timer from retail INSERT INTO `mob_groups` VALUES (7,2935,46,'Ocean_Jagil',300,0,279,0,0,0,NULL); -- TODO: get respawn timer from retail @@ -2555,8 +2555,8 @@ INSERT INTO `mob_groups` VALUES (11,4309,46,'Water_Elemental',300,4,2629,0,0,0,N INSERT INTO `mob_groups` VALUES (1,3102,47,'Passage_Crab',0,128,555,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (2,1838,47,'Gugru_Jagil',0,128,279,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (3,445,47,'Blanched_Kraken',0,128,290,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (4,1839,47,'Gugru_Orobon',0,128,969,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (5,3708,47,'Southern_Piranu',0,128,3307,0,0,0,NULL); +INSERT INTO `mob_groups` VALUES (4,1839,47,'Gugru_Orobon',0,128,969,5500,0,0,NULL); +INSERT INTO `mob_groups` VALUES (5,3708,47,'Southern_Piranu',0,128,3307,14000,0,0,NULL); INSERT INTO `mob_groups` VALUES (6,1837,47,'Gugru_Crab',300,0,1248,0,0,0,NULL); -- TODO: get respawn timer from retail INSERT INTO `mob_groups` VALUES (7,2935,47,'Ocean_Jagil',300,0,279,0,0,0,NULL); -- TODO: get respawn timer from retail @@ -3188,7 +3188,7 @@ INSERT INTO `mob_groups` VALUES (2,3805,58,'Submarine_Nipper',0,128,555,0,0,0,NU INSERT INTO `mob_groups` VALUES (3,3885,58,'Thalassic_Pugil',0,128,279,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (4,23,58,'Abyssal_Pugil',0,128,975,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (5,359,58,'Bathybic_Kulshedra',0,128,0,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (6,3059,58,'Orobon_fished',0,128,0,0,0,0,NULL); +INSERT INTO `mob_groups` VALUES (6,3059,58,'Orobon_fished',0,128,0,7000,0,0,NULL); INSERT INTO `mob_groups` VALUES (7,197,58,'Apkallu',0,128,145,0,0,0,NULL); -- TODO: get respawn timer from retail INSERT INTO `mob_groups` VALUES (8,6360,58,'Bigclaw',300,0,272,0,0,0,NULL); -- TODO: get respawn timer from retail @@ -3198,7 +3198,7 @@ INSERT INTO `mob_groups` VALUES (11,4112,58,'Utukku',300,1,2091,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (12,2065,58,'Imp',300,1,1002,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (13,71,58,'Air_Elemental',300,4,38,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (14,3912,58,'Thunder_Elemental',300,4,2410,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (15,3207,58,'Proteus',0,128,2025,0,0,0,NULL); +INSERT INTO `mob_groups` VALUES (15,3207,58,'Proteus',0,128,2025,12000,0,0,NULL); -- ------------------------------------------------------------ -- Silver_Sea_route_to_Al_Zahbi (Zone 59) @@ -3210,7 +3210,7 @@ INSERT INTO `mob_groups` VALUES (2,3805,59,'Submarine_Nipper',0,128,555,0,0,0,NU INSERT INTO `mob_groups` VALUES (3,3885,59,'Thalassic_Pugil',0,128,279,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (4,23,59,'Abyssal_Pugil',0,128,0,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (5,359,59,'Bathybic_Kulshedra',0,128,0,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (6,3059,59,'Orobon_fished',0,128,0,0,0,0,NULL); +INSERT INTO `mob_groups` VALUES (6,3059,59,'Orobon_fished',0,128,0,7000,0,0,NULL); INSERT INTO `mob_groups` VALUES (7,197,59,'Apkallu',0,128,145,0,0,0,NULL); -- TODO: get respawn timer from retail INSERT INTO `mob_groups` VALUES (8,6360,59,'Bigclaw',300,0,272,0,0,0,NULL); -- TODO: get respawn timer from retail @@ -3220,7 +3220,7 @@ INSERT INTO `mob_groups` VALUES (11,4112,59,'Utukku',300,1,2091,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (12,2065,59,'Imp',300,1,1002,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (13,71,59,'Air_Elemental',300,4,38,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (14,3912,59,'Thunder_Elemental',300,4,2410,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (15,94,59,'Almighty_Apkallu',0,128,52,0,0,0,NULL); +INSERT INTO `mob_groups` VALUES (15,94,59,'Almighty_Apkallu',0,128,52,14500,0,0,NULL); -- ------------------------------------------------------------ -- The_Ashu_Talif (Zone 60) @@ -14255,7 +14255,7 @@ INSERT INTO `mob_groups` VALUES (8,3523,220,'Sea_Monk',300,0,2188,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (9,3127,220,'Phantom',300,1,1993,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (10,3912,220,'Thunder_Elemental',300,4,2410,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (11,4309,220,'Water_Elemental',300,4,2629,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (12,3522,220,'Sea_Horror',0,128,2186,0,0,0,NULL); +INSERT INTO `mob_groups` VALUES (12,3522,220,'Sea_Horror',0,128,2186,7000,0,0,NULL); INSERT INTO `mob_groups` VALUES (13,1213,220,'Enagakure',0,128,0,2400,2400,0,NULL); -- ------------------------------------------------------------ @@ -14276,7 +14276,7 @@ INSERT INTO `mob_groups` VALUES (8,3523,221,'Sea_Monk',300,0,2188,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (9,3127,221,'Phantom',300,1,1993,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (10,3912,221,'Thunder_Elemental',300,4,2410,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (11,4309,221,'Water_Elemental',300,4,2629,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (12,3522,221,'Sea_Horror',0,128,2186,0,0,0,NULL); +INSERT INTO `mob_groups` VALUES (12,3522,221,'Sea_Horror',0,128,2186,7000,0,0,NULL); -- ------------------------------------------------------------ -- Provenance (Zone 222) @@ -14310,7 +14310,7 @@ INSERT INTO `mob_groups` VALUES (9,3127,227,'Phantom',300,1,1993,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (10,5878,227,'Crossbones_blm',0,128,537,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (11,844,227,'Crossbones_war',0,128,537,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (12,3605,227,'Ship_Wight',0,128,769,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (13,428,227,'Blackbeard',0,128,282,0,0,0,NULL); +INSERT INTO `mob_groups` VALUES (13,428,227,'Blackbeard',0,128,282,9200,0,0,NULL); INSERT INTO `mob_groups` VALUES (14,1213,227,'Enagakure',0,128,0,2400,2400,0,NULL); -- ------------------------------------------------------------ @@ -14332,7 +14332,7 @@ INSERT INTO `mob_groups` VALUES (9,3127,228,'Phantom',300,1,1993,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (10,5878,228,'Crossbones_blm',0,128,537,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (11,844,228,'Crossbones_war',0,128,537,0,0,0,NULL); INSERT INTO `mob_groups` VALUES (12,3605,228,'Ship_Wight',0,128,769,0,0,0,NULL); -INSERT INTO `mob_groups` VALUES (13,3626,228,'Silverhook',0,128,2249,0,0,0,NULL); +INSERT INTO `mob_groups` VALUES (13,3626,228,'Silverhook',0,128,2249,9400,0,0,NULL); -- ------------------------------------------------------------ -- Abyssea-Uleguerand (Zone 253) diff --git a/sql/mob_pools.sql b/sql/mob_pools.sql index 61faae5cccb..53becc2eee7 100644 --- a/sql/mob_pools.sql +++ b/sql/mob_pools.sql @@ -483,7 +483,7 @@ INSERT INTO `mob_pools` VALUES (424,'Bistre-hearted_Malberry','Bistre-hearted_Ma INSERT INTO `mob_pools` VALUES (425,'Bitoso','Bitoso',79,0x00008D0100000000000000000000000000000000,3,3,11,240,100,0,1,0,1,18,0,32,6,159,0,0,1,0,0,79,79,3,20); INSERT INTO `mob_pools` VALUES (426,'BiFho_Jestergrin','BiFho_Jestergrin',202,0x00008A0200000000000000000000000000000000,6,6,2,265,100,0,1,0,1,16,0,0,0,0,0,0,0,0,0,202,202,2,17); INSERT INTO `mob_pools` VALUES (427,'BiGho_Headtaker_B','BiGho_Headtaker',202,0x0000B10200000000000000000000000000000000,8,8,2,240,100,0,1,0,1,2,0,32,0,155,0,0,5,0,0,202,202,1,15); -INSERT INTO `mob_pools` VALUES (428,'Blackbeard','Blackbeard',227,0x0000390200000000000000000000000000000000,4,4,6,240,100,0,1,0,0,2,0,32,166,159,0,0,491,0,0,227,227,3,16); +INSERT INTO `mob_pools` VALUES (428,'Blackbeard','Blackbeard',227,0x0000390200000000000000000000000000000000,4,1,6,240,100,0,1,0,0,2,0,32,166,159,0,0,1,0,0,227,227,3,16); INSERT INTO `mob_pools` VALUES (429,'Blackbone_Frazdiz','Blackbone_Frazdiz',189,0x0000760200000000000000000000000000000000,8,8,5,240,100,0,1,0,1,2,0,32,1828,157,0,0,5,0,0,334,334,2,17); INSERT INTO `mob_pools` VALUES (430,'Blacktattoo_Vedool_Ja','Blacktattoo_Vedool_Ja',176,0x06005F0600000000000000000000000000000000,4,4,5,280,100,0,1,1,1,16,0,0,0,3,0,0,2,0,0,176,176,1,12); INSERT INTO `mob_pools` VALUES (431,'Black_Baron','Black_Baron',165,0x0000BE0600000000000000000000000000000000,4,4,7,240,100,0,1,1,0,0,0,0,1,131,4,0,2,0,0,165,165,1,12); @@ -1894,7 +1894,7 @@ INSERT INTO `mob_pools` VALUES (1835,'Guard_Skeleton_blm','Guard_Skeleton_blm',2 INSERT INTO `mob_pools` VALUES (1836,'Gudanna','Gudanna',51,0x0000940100000000000000000000000000000000,1,1,5,380,100,0,1,0,0,2,0,0,7,145,0,0,0,0,0,51,51,0,38); INSERT INTO `mob_pools` VALUES (1837,'Gugru_Crab','Gugru_Crab',77,0x0000640100000000000000000000000000000000,7,7,4,240,100,0,0,0,0,0,0,0,87,131,0,0,0,0,0,77,77,1,13); INSERT INTO `mob_pools` VALUES (1838,'Gugru_Jagil','Gugru_Jagil',197,0x00005D0100000000000000000000000000000000,1,1,7,240,100,0,1,0,0,4,0,0,79,131,0,0,0,0,0,709,197,1,27); -INSERT INTO `mob_pools` VALUES (1839,'Gugru_Orobon','Gugru_Orobon',191,0x0000C10600000000000000000000000000000000,1,1,7,240,100,0,1,0,0,4,0,0,79,131,0,0,0,0,0,191,191,1,20); +INSERT INTO `mob_pools` VALUES (1839,'Gugru_Orobon','Gugru_Orobon',191,0x0000C10600000000000000000000000000000000,1,1,7,270,100,0,1,0,0,4,0,0,79,131,0,0,0,0,0,191,191,1,20); INSERT INTO `mob_pools` VALUES (1840,'Guimauve','Guimauve',112,0x0000080700000000000000000000000000000000,4,4,11,240,100,0,0,0,0,0,0,0,1,647,13,0,170,0,0,299,112,3,16); INSERT INTO `mob_pools` VALUES (1841,'Guivre','Guivre',267,0x00008E0100000000000000000000000000000000,1,1,7,180,100,0,1,0,0,2,0,32,0,159,0,0,0,0,0,267,267,3,44); INSERT INTO `mob_pools` VALUES (1842,'Gukumatz','Gukumatz',192,0x0000DF0700000000000000000000000000000000,1,1,6,240,100,0,0,0,0,2,0,32,0,157,0,0,0,0,0,892,192,2,20); @@ -2351,7 +2351,7 @@ INSERT INTO `mob_pools` VALUES (2292,'Kuftal_Digger','Kuftal_Digger',258,0x0000A INSERT INTO `mob_pools` VALUES (2293,'Kukki-Chebukki','Kukki-Chebukki',149,0x06009C0400000000000000000000000000000000,4,1,9,240,100,0,0,0,0,2,6168,32,32,157,4,0,490,0,0,149,149,2,11); INSERT INTO `mob_pools` VALUES (2294,'Kukulkan','Kukulkan',192,0x0000E00700000000000000000000000000000000,6,6,2,240,100,0,0,0,0,2,0,32,7,159,6,0,0,0,0,803,192,3,32); INSERT INTO `mob_pools` VALUES (2295,'Kulili','Kulili',87,0x0000A40100000000000000000000000000000000,1,1,12,240,100,0,1,0,0,2,0,32,245,155,0,0,0,0,0,87,87,1,34); -INSERT INTO `mob_pools` VALUES (2296,'Kulshedra','Kulshedra',218,0x0000610100000000000000000000000000000000,2,2,7,360,100,0,1,0,0,0,0,0,290,131,0,0,0,0,0,218,218,1,17); +INSERT INTO `mob_pools` VALUES (2296,'Kulshedra','Kulshedra',218,0x0000610100000000000000000000000000000000,1,1,7,240,100,0,1,0,0,0,0,0,290,131,0,0,0,0,0,218,218,1,17); INSERT INTO `mob_pools` VALUES (2297,'Kumbaba','Kumbaba',245,0x0000840100000000000000000000000000000000,1,1,7,240,100,0,1,0,0,0,0,32,2526,157,0,0,0,0,0,245,245,2,43); INSERT INTO `mob_pools` VALUES (2298,'Kur','Kur',87,0x0000A40100000000000000000000000000000000,1,2,6,240,100,0,0,0,0,2,0,32,0,157,0,0,0,0,0,967,87,2,39); INSERT INTO `mob_pools` VALUES (2299,'Kurrea','Kurrea',58,0x0000470500000000000000000000000000000000,4,5,12,300,100,0,1,0,0,2,0,0,47,159,0,0,2,0,0,58,58,NULL,NULL); @@ -2961,7 +2961,7 @@ INSERT INTO `mob_pools` VALUES (2902,'Noctonberry_Thief','Noctonberry_Thief',243 INSERT INTO `mob_pools` VALUES (2903,'Nocuous_Inferno','Nocuous_Inferno',102,0x0000B40100000000000000000000000000000000,4,4,12,240,100,0,1,0,0,2,0,0,0,3,0,0,2,0,0,102,102,1,3); INSERT INTO `mob_pools` VALUES (2904,'Noillurie','Noillurie',145,0x01000A0457105720573057405750546100700080,12,7,3,240,100,0,0,0,0,0,0,32,0,539,8,0,0,0,0,145,145,1,12); INSERT INTO `mob_pools` VALUES (2905,'Nonno','Nonno',178,0x0000C70800000000000000000000000000000000,2,2,1,480,100,0,0,0,0,2,0,32,0,669,8,0,0,0,0,903,178,2,9); -INSERT INTO `mob_pools` VALUES (2906,'Northern_Piranu','Northern_Piranu',191,0x0000C10600000000000000000000000000000000,1,1,7,240,100,0,1,0,0,4,0,0,6,133,4,0,0,0,0,191,191,2,22); +INSERT INTO `mob_pools` VALUES (2906,'Northern_Piranu','Northern_Piranu',191,0x0000C10600000000000000000000000000000000,1,1,7,270,100,0,1,0,0,4,0,0,6,133,4,0,0,0,0,191,191,2,22); INSERT INTO `mob_pools` VALUES (2907,'Northern_Shadow','Northern_Shadow',221,0x0000250200000000000000000000000000000000,1,1,2,360,100,0,1,0,1,2,0,0,0,133,0,0,0,0,0,223,223,2,22); INSERT INTO `mob_pools` VALUES (2908,'Northern_Spriggan','Northern_Spriggan',221,0x0000160200000000000000000000000000000000,14,14,8,360,100,0,1,0,1,0,0,0,290,131,0,0,0,0,0,223,223,1,20); INSERT INTO `mob_pools` VALUES (2909,'Norvallen_Knight','Norvallen_Knight',145,0x010008040C100C200C300C400C50FB601B700080,7,1,3,240,100,0,0,0,0,0,0,0,0,3,0,0,4,0,0,145,145,1,12); @@ -3114,7 +3114,7 @@ INSERT INTO `mob_pools` VALUES (3055,'Orna','Orna',110,0x0000A601000000000000000 INSERT INTO `mob_pools` VALUES (3056,'Ornamental_Weapon','Ornamental_Weapon',110,0x0000DD0100000000000000000000000000000000,1,1,5,240,100,0,1,0,0,0,0,0,238,1667,8,0,0,0,0,110,110,1,20); INSERT INTO `mob_pools` VALUES (3057,'Ornery_Orobon','Ornery_Orobon',191,0x0000C10600000000000000000000000000000000,1,1,7,240,100,0,1,0,0,0,0,0,0,3,0,0,0,0,0,191,191,2,22); INSERT INTO `mob_pools` VALUES (3058,'Ornery_Sheep','Ornery_Sheep',226,0x0000540100000000000000000000000000000000,1,1,7,240,100,0,0,0,1,0,0,0,664,1153,16,0,0,0,0,226,226,0,20); -INSERT INTO `mob_pools` VALUES (3059,'Orobon_fished','Orobon',191,0x0000C10600000000000000000000000000000000,1,1,7,240,100,0,1,0,0,4,0,0,0,3,0,0,0,0,0,191,191,2,22); +INSERT INTO `mob_pools` VALUES (3059,'Orobon_fished','Orobon',191,0x0000C10600000000000000000000000000000000,1,1,7,270,100,0,1,0,0,4,0,0,0,3,0,0,0,0,0,191,191,2,22); INSERT INTO `mob_pools` VALUES (3060,'Orochi','Orochi',164,0x0000040700000000000000000000000000000000,1,1,7,240,100,1024,1,1,0,16,0,0,1,153,0,0,0,0,0,164,164,0,34); INSERT INTO `mob_pools` VALUES (3061,'Orthrus','Orthrus',62,0x0000020700000000000000000000000000000000,8,4,7,240,100,0,0,0,1,2,0,32,7,1183,0,0,265,0,0,944,62,3,55); INSERT INTO `mob_pools` VALUES (3062,'Ortlinde','Ortlinde',360,0x05006C0700000000000000000000000000000000,7,1,3,240,100,0,1,0,1,24,0,0,0,3,0,0,4,0,0,115,115,2,20); @@ -3262,7 +3262,7 @@ INSERT INTO `mob_pools` VALUES (3203,'Procrustes','Procrustes',126,0x00001201000 INSERT INTO `mob_pools` VALUES (3204,'Progenerator','Progenerator',138,0x00006D0400000000000000000000000000000000,1,5,3,190,100,0,1,1,0,16,6148,0,0,6,0,0,0,0,0,138,138,3,16); INSERT INTO `mob_pools` VALUES (3205,'Promathia','Promathia',134,0x0000300400000000000000000000000000000000,7,7,3,290,100,0,0,0,0,18,6172,32,3979,155,0,0,127,0,0,134,134,1,20); INSERT INTO `mob_pools` VALUES (3206,'Propagator','Propagator',138,0x00006D0400000000000000000000000000000000,1,5,3,240,100,0,1,1,0,2,0,0,2629,135,13,0,0,0,0,138,138,3,16); -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,0,0,218,218,2,20); +INSERT INTO `mob_pools` VALUES (3207,'Proteus','Proteus',218,0x0000610100000000000000000000000000000000,1,1,7,200,100,0,1,0,0,2,0,32,236,157,0,0,0,0,0,218,218,2,20); INSERT INTO `mob_pools` VALUES (3208,'Proto-Omega','Proto-Omega',54,0x0000370400000000000000000000000000000000,2,1,6,240,100,1024,1,1,0,18,0,32,2773,157,1,0,0,0,0,727,518,2,17); INSERT INTO `mob_pools` VALUES (3209,'Proto-Ultima','Proto-Ultima',54,0x0000340400000000000000000000000000000000,1,7,6,240,100,0,1,1,0,18,6160,32,7,155,8,0,103,0,256,729,54,1,15); INSERT INTO `mob_pools` VALUES (3210,'Protoamoeban','Protoamoeban',5,0x00005C0900000000000000000000000000000000,4,8,12,240,100,0,1,0,0,0,0,0,0,129,0,0,2,0,0,5,5,0,6); @@ -3578,8 +3578,8 @@ INSERT INTO `mob_pools` VALUES (3518,'Sea_Bishop','Sea_Bishop',218,0x00006001000 INSERT INTO `mob_pools` VALUES (3519,'Sea_Bonze','Sea_Bonze',218,0x0000600100000000000000000000000000000000,2,2,7,360,100,0,1,0,0,0,0,0,165,131,0,0,0,0,0,218,218,1,17); INSERT INTO `mob_pools` VALUES (3520,'Sea_Crab','Sea_Crab',77,0x0000640100000000000000000000000000000000,7,7,4,240,100,0,0,0,0,0,0,0,192,131,8,0,0,0,0,77,77,1,13); INSERT INTO `mob_pools` VALUES (3521,'Sea_Hog','Sea_Hog',197,0x00005C0100000000000000000000000000000000,1,1,7,240,100,0,1,0,0,2,0,0,6064,133,16,0,0,0,0,197,197,2,32); -INSERT INTO `mob_pools` VALUES (3522,'Sea_Horror','Sea_Horror',218,0x0000600100000000000000000000000000000000,2,2,7,360,100,0,1,0,0,2,0,0,193,135,0,0,0,0,0,218,218,3,25); -INSERT INTO `mob_pools` VALUES (3523,'Sea_Monk','Sea_Monk',218,0x0000600100000000000000000000000000000000,2,2,7,360,100,0,1,0,0,0,0,0,3424,131,0,0,0,0,0,218,218,1,17); +INSERT INTO `mob_pools` VALUES (3522,'Sea_Horror','Sea_Horror',218,0x0000600100000000000000000000000000000000,1,1,7,240,100,0,1,0,0,2,0,0,193,135,0,0,0,0,0,218,218,3,25); +INSERT INTO `mob_pools` VALUES (3523,'Sea_Monk','Sea_Monk',218,0x0000600100000000000000000000000000000000,1,1,7,240,100,0,1,0,0,0,0,0,3424,131,0,0,0,0,0,218,218,1,17); INSERT INTO `mob_pools` VALUES (3524,'Sea_Pugil','Sea_Pugil',197,0x00005C0100000000000000000000000000000000,1,1,7,240,100,0,0,0,0,0,0,0,1749,131,0,0,0,0,0,197,197,1,27); INSERT INTO `mob_pools` VALUES (3525,'Sea_Puk_BT','Sea_Puk_BT',198,0x0000D00600000000000000000000000000000000,1,1,7,200,100,0,1,0,0,0,0,0,2335,133,0,0,0,0,0,198,198,2,13); INSERT INTO `mob_pools` VALUES (3526,'Second_Rampart','Second_Rampart',209,0x00001A0700000000000000000000000000000000,1,1,7,320,100,0,1,0,0,0,0,0,0,0,0,0,0,0,0,209,209,1,24); @@ -3682,7 +3682,7 @@ INSERT INTO `mob_pools` VALUES (3622,'Siegrune','Siegrune',360,0x050064070000000 INSERT INTO `mob_pools` VALUES (3623,'Sierra_Tiger','Sierra_Tiger',242,0x0000340100000000000000000000000000000000,1,1,3,240,100,0,1,0,1,0,0,0,0,131,0,0,0,0,0,242,242,1,25); INSERT INTO `mob_pools` VALUES (3624,'Silencing_Tube_GS','Silencing_Tube',247,0x0000000700000000000000000000000000000000,1,1,7,240,100,0,1,1,0,0,0,0,7,129,8,0,0,0,0,247,247,0,10); INSERT INTO `mob_pools` VALUES (3625,'Silk_Caterpillar','Silk_Caterpillar',79,0x00008C0100000000000000000000000000000000,1,1,11,240,100,0,1,0,1,2,0,0,926,133,0,0,0,0,0,79,79,2,17); -INSERT INTO `mob_pools` VALUES (3626,'Silverhook','Silverhook',227,0x00003A0200000000000000000000000000000000,4,4,6,240,100,0,1,0,0,2,0,32,238,159,0,0,492,0,0,227,227,3,16); +INSERT INTO `mob_pools` VALUES (3626,'Silverhook','Silverhook',227,0x00003A0200000000000000000000000000000000,4,1,6,240,100,0,1,0,0,2,0,32,238,159,0,0,1,0,0,227,227,3,16); INSERT INTO `mob_pools` VALUES (3627,'Silver_Fox_Archer','Silver_Fox_Archer',145,0x01000B0400100B201A301A401A50FA601C702380,11,11,3,240,100,0,0,0,0,0,0,0,0,3,0,0,0,0,0,145,145,1,12); INSERT INTO `mob_pools` VALUES (3628,'Silver_Quadav','Silver_Quadav',202,0x0000920200000000000000000000000000000000,6,6,2,265,100,0,1,0,1,0,0,0,79,131,0,0,0,0,0,202,202,1,15); INSERT INTO `mob_pools` VALUES (3629,'Simorg','Simorg',265,0x0000C50800000000000000000000000000000000,1,1,7,240,100,0,1,0,1,0,0,0,0,149,0,0,0,0,0,265,265,NULL,NULL); @@ -3764,7 +3764,7 @@ INSERT INTO `mob_pools` VALUES (3704,'Soulflayer','Soulflayer',233,0x0000EF06000 INSERT INTO `mob_pools` VALUES (3705,'Soulsender_Fugbrag','Soulsender_Fugbrag',189,0x0000190400000000000000000000000000000000,10,1,4,240,100,0,1,1,1,2,0,32,431,159,0,0,6,0,0,334,334,3,20); INSERT INTO `mob_pools` VALUES (3706,'Soulstealer_Skullnix','Soulstealer_Skullnix',133,0x0000F90100000000000000000000000000000000,6,6,2,240,100,0,1,0,1,2,0,32,0,157,0,0,0,0,0,133,133,2,13); INSERT INTO `mob_pools` VALUES (3707,'Soul_Stinger','Soul_Stinger',48,0x0000100100000000000000000000000000000000,1,1,2,240,100,0,1,0,1,0,0,0,238,131,0,0,0,0,0,48,48,1,10); -INSERT INTO `mob_pools` VALUES (3708,'Southern_Piranu','Southern_Piranu',191,0x0000C10600000000000000000000000000000000,1,1,7,240,100,0,1,0,0,4,0,0,80,133,0,0,0,0,0,191,191,2,22); +INSERT INTO `mob_pools` VALUES (3708,'Southern_Piranu','Southern_Piranu',191,0x0000C10600000000000000000000000000000000,1,1,7,270,100,0,1,0,0,4,0,0,80,133,0,0,0,0,0,191,191,2,22); INSERT INTO `mob_pools` VALUES (3709,'Southern_Shadow','Southern_Shadow',221,0x0000260200000000000000000000000000000000,5,4,4,360,100,0,1,0,1,2,0,0,0,133,0,0,2,0,0,223,223,2,22); INSERT INTO `mob_pools` VALUES (3710,'Southern_Spriggan','Southern_Spriggan',221,0x00001E0200000000000000000000000000000000,7,7,3,360,100,0,1,0,1,0,0,0,6,131,0,0,4,0,0,223,223,1,20); INSERT INTO `mob_pools` VALUES (3711,'Sozu_Bliberry','Sozu_Bliberry',243,0x0000E30400000000000000000000000000000000,4,4,6,240,100,0,1,0,1,2,0,0,296,133,0,0,2,0,0,243,243,2,11); diff --git a/sql/mob_spawn_points.sql b/sql/mob_spawn_points.sql index dcec17c110f..d476fd57556 100644 --- a/sql/mob_spawn_points.sql +++ b/sql/mob_spawn_points.sql @@ -10820,8 +10820,8 @@ INSERT INTO `mob_spawn_points` VALUES (16965634,0,'Passage_Crab','Passage Crab', INSERT INTO `mob_spawn_points` VALUES (16965635,0,'Gugru_Jagil','Gugru Jagil',2,34,37,1.000,1.000,1.000,0); INSERT INTO `mob_spawn_points` VALUES (16965636,0,'Gugru_Jagil','Gugru Jagil',2,34,37,1.000,1.000,1.000,0); INSERT INTO `mob_spawn_points` VALUES (16965637,0,'Blanched_Kraken','Blanched Kraken',3,45,45,1.000,1.000,1.000,0); -INSERT INTO `mob_spawn_points` VALUES (16965638,0,'Gugru_Orobon','Gugru Orobon',4,63,63,1.000,1.000,1.000,0); -INSERT INTO `mob_spawn_points` VALUES (16965639,0,'Northern_Piranu','Northern Piranu',5,78,80,1.000,1.000,1.000,0); +INSERT INTO `mob_spawn_points` VALUES (16965638,0,'Gugru_Orobon','Gugru Orobon',4,63,64,1.000,1.000,1.000,0); +INSERT INTO `mob_spawn_points` VALUES (16965639,0,'Northern_Piranu','Northern Piranu',5,81,81,1.000,1.000,1.000,0); INSERT INTO `mob_spawn_points` VALUES (16965640,0,'Gugru_Crab','Gugru Crab',6,33,35,-0.621,-7.228,19.369,159); INSERT INTO `mob_spawn_points` VALUES (16965641,0,'Gugru_Crab','Gugru Crab',6,33,35,5.393,-7.163,5.183,8); @@ -10842,8 +10842,8 @@ INSERT INTO `mob_spawn_points` VALUES (16969730,0,'Passage_Crab','Passage Crab', INSERT INTO `mob_spawn_points` VALUES (16969731,0,'Gugru_Jagil','Gugru Jagil',2,34,37,1.000,1.000,1.000,0); INSERT INTO `mob_spawn_points` VALUES (16969732,0,'Gugru_Jagil','Gugru Jagil',2,34,37,1.000,1.000,1.000,0); INSERT INTO `mob_spawn_points` VALUES (16969733,0,'Blanched_Kraken','Blanched Kraken',3,45,45,1.000,1.000,1.000,0); -INSERT INTO `mob_spawn_points` VALUES (16969734,0,'Gugru_Orobon','Gugru Orobon',4,63,63,1.000,1.000,1.000,0); -INSERT INTO `mob_spawn_points` VALUES (16969735,0,'Southern_Piranu','Southern Piranu',5,78,80,1.000,1.000,1.000,0); +INSERT INTO `mob_spawn_points` VALUES (16969734,0,'Gugru_Orobon','Gugru Orobon',4,63,64,1.000,1.000,1.000,0); +INSERT INTO `mob_spawn_points` VALUES (16969735,0,'Southern_Piranu','Southern Piranu',5,81,81,1.000,1.000,1.000,0); INSERT INTO `mob_spawn_points` VALUES (16969736,0,'Gugru_Crab','Gugru Crab',6,33,35,-5.470,-7.160,14.980,188); INSERT INTO `mob_spawn_points` VALUES (16969737,0,'Gugru_Crab','Gugru Crab',6,33,35,-0.820,-7.230,19.420,157); @@ -13165,7 +13165,7 @@ INSERT INTO `mob_spawn_points` VALUES (17014786,0,'Submarine_Nipper','Submarine INSERT INTO `mob_spawn_points` VALUES (17014787,0,'Thalassic_Pugil','Thalassic Pugil',3,52,54,1.000,1.000,1.000,0); INSERT INTO `mob_spawn_points` VALUES (17014788,0,'Abyssal_Pugil','Abyssal Pugil',4,54,55,1.000,1.000,1.000,0); INSERT INTO `mob_spawn_points` VALUES (17014789,0,'Bathybic_Kulshedra','Bathybic Kulshedra',5,63,64,1.000,1.000,1.000,0); -INSERT INTO `mob_spawn_points` VALUES (17014790,0,'Orobon','Orobon',6,70,70,1.000,1.000,1.000,0); +INSERT INTO `mob_spawn_points` VALUES (17014790,0,'Orobon','Orobon',6,74,74,1.000,1.000,1.000,0); INSERT INTO `mob_spawn_points` VALUES (17014791,0,'Apkallu','Apkallu',7,54,56,-0.309,-7.163,5.317,106); INSERT INTO `mob_spawn_points` VALUES (17014792,0,'Apkallu','Apkallu',7,54,56,5.577,-7.163,11.407,220); @@ -13189,7 +13189,7 @@ INSERT INTO `mob_spawn_points` VALUES (17018882,0,'Submarine_Nipper','Submarine INSERT INTO `mob_spawn_points` VALUES (17018883,0,'Thalassic_Pugil','Thalassic Pugil',3,52,54,1.000,1.000,1.000,0); INSERT INTO `mob_spawn_points` VALUES (17018884,0,'Abyssal_Pugil','Abyssal Pugil',4,54,55,1.000,1.000,1.000,0); INSERT INTO `mob_spawn_points` VALUES (17018885,0,'Bathybic_Kulshedra','Bathybic Kulshedra',5,63,64,1.000,1.000,1.000,0); -INSERT INTO `mob_spawn_points` VALUES (17018886,0,'Orobon','Orobon',6,70,70,1.000,1.000,1.000,0); +INSERT INTO `mob_spawn_points` VALUES (17018886,0,'Orobon','Orobon',6,74,74,1.000,1.000,1.000,0); INSERT INTO `mob_spawn_points` VALUES (17018887,0,'Apkallu','Apkallu',7,54,56,-0.309,-7.163,5.317,106); INSERT INTO `mob_spawn_points` VALUES (17018888,0,'Apkallu','Apkallu',7,54,56,-0.460,-7.240,23.490,141); @@ -13201,7 +13201,7 @@ INSERT INTO `mob_spawn_points` VALUES (17018893,0,'Utukku','Utukku',11,55,56,-1. INSERT INTO `mob_spawn_points` VALUES (17018894,0,'Imp','Imp',12,54,54,-2.010,-7.160,15.230,161); INSERT INTO `mob_spawn_points` VALUES (17018895,0,'Air_Elemental','Air Elemental',13,60,60,-1.900,-7.240,22.360,155); INSERT INTO `mob_spawn_points` VALUES (17018896,0,'Thunder_Elemental','Thunder Elemental',14,60,60,-2.320,-7.160,4.040,89); -INSERT INTO `mob_spawn_points` VALUES (17018897,0,'Almighty_Apkallu','Almighty Apkallu',15,55,59,-1.720,-7.160,10.480,152); +INSERT INTO `mob_spawn_points` VALUES (17018897,0,'Almighty_Apkallu','Almighty Apkallu',15,78,78,-1.720,-7.160,10.480,152); -- ------------------------------------------------------------ -- The Ashu Talif (Zone 60)