diff --git a/data/zones/periqia/mobs.yaml b/data/zones/periqia/mobs.yaml index 5125052da76..2a729e4ca01 100644 --- a/data/zones/periqia/mobs.yaml +++ b/data/zones/periqia/mobs.yaml @@ -50,10 +50,11 @@ templates: id: 360 species: bhoot spell_list_id: 28 - skill_list_id: 52 + skill_list_id: 121 attributes: combat: skill: club + delay: 250 jobs: [blm, blm] render: look: @@ -209,10 +210,11 @@ templates: id: 905 species: draugar spell_list_id: 5 - skill_list_id: 89 + skill_list_id: 227 attributes: combat: skill: sword + delay: 280 jobs: [drk, drk] render: look: @@ -283,10 +285,11 @@ templates: Draconic_Draugar: id: 1097 species: draugar - skill_list_id: 89 + skill_list_id: 227 attributes: combat: skill: polearm + delay: 300 jobs: [drg, drg] render: look: @@ -308,7 +311,7 @@ templates: attributes: combat: skill: scythe - delay: 200 + delay: 250 render: look: type: standard @@ -778,7 +781,7 @@ templates: attributes: combat: skill: sword - delay: 270 + delay: 250 render: look: type: standard @@ -949,96 +952,96 @@ spawns: level: [77, 79] 17006612: template: Putrid_Immortal_Guard - at: [-434.051, -5.076, -260.724] - level: [77, 78] + at: [-454.915, -4.121, -255.058, 78] + level: [77, 77] 17006613: template: Putrid_Immortal_Guard - at: [-455.689, -8.171, -265.212, 60] - level: [77, 78] + at: [-450.889, -6.673, -258.272, 3] + level: [77, 77] 17006614: template: Batteilant_Bhoot - at: [-510.939, -16.193, -178.466, 86] - level: [77, 78] + at: [-499.716, -16.174, -179.635, 65] + level: [75, 77] 17006615: template: Batteilant_Bhoot - at: [-508.779, -16.297, -175.037, 110] - level: [77, 78] + at: [-499.622, -16.164, -180.989, 50] + level: [75, 77] 17006616: template: Darkling_Draugar - at: [-509.631, -18.504, -142.899, 5] - level: [77, 78] + at: [-500.338, -15.800, -145.716, 255] + level: [75, 76] 17006617: template: Draconic_Draugar - at: [-504.532, -15.733, -143.145, 146] - level: [77, 78] + at: [-501.451, -15.801, -145.041, 153] + level: [75, 76] 17006618: template: Draugars_Wyvern - at: [-504.532, -15.733, -143.145, 146] - level: [77, 78] + at: [-501.451, -15.801, -145.041, 153] + level: [70, 71] 17006619: template: Darkling_Draugar - at: [-544.832, -16.103, -142.699, 253] - level: [77, 78] + at: [-538.905, -15.775, -146.001, 13] + level: [75, 76] 17006620: template: Darkling_Draugar - at: [-535.468, -15.760, -142.838, 238] - level: [77, 78] + at: [-538.621, -16.070, -143.620, 24] + level: [75, 76] 17006621: template: Draconic_Draugar - at: [-531.053, -16.308, -209.619, 254] - level: [77, 78] + at: [-534.770, -15.908, -212.742, 253] + level: [75, 76] 17006622: template: Draugars_Wyvern - at: [-531.053, -16.308, -209.619, 254] - level: [77, 78] + at: [-534.770, -15.908, -212.742, 253] + level: [70, 71] 17006623: template: Draconic_Draugar - at: [-536.109, -15.914, -209.807, 181] - level: [77, 78] + at: [-537.336, -15.916, -212.358, 141] + level: [75, 76] 17006624: template: Draugars_Wyvern - at: [-536.109, -15.914, -209.807, 181] - level: [77, 78] + at: [-537.336, -15.916, -212.358, 141] + level: [70, 71] 17006625: template: Batteilant_Bhoot - at: [-389.755, -16.314, -340.165, 26] - level: [77, 78] + at: [-376.720, -16.225, -338.743, 97] + level: [75, 77] 17006626: template: Batteilant_Bhoot - at: [-380.747, -16.141, -339.757, 227] - level: [77, 78] + at: [-388.673, -16.288, -341.172, 238] + level: [75, 77] 17006627: template: Darkling_Draugar - at: [-421.740, -15.771, -414.019, 85] - level: [77, 78] + at: [-425.841, -16.123, -406.870, 134] + level: [75, 76] 17006628: template: Draconic_Draugar - at: [-410.189, -18.512, -417.184, 128] - level: [77, 78] + at: [-424.116, -16.120, -410.327, 22] + level: [75, 76] 17006629: template: Draugars_Wyvern - at: [-410.189, -18.512, -417.184, 128] - level: [77, 78] + at: [-424.116, -16.120, -410.327, 22] + level: [70, 71] 17006630: template: Darkling_Draugar - at: [-380.327, -15.837, -372.303, 69] - level: [77, 78] + at: [-381.819, -15.802, -373.410, 128] + level: [75, 76] 17006631: template: Draconic_Draugar - at: [-373.480, -17.073, -377.010, 128] - level: [77, 78] + at: [-381.304, -15.840, -374.144, 131] + level: [75, 76] 17006632: template: Draugars_Wyvern - at: [-373.480, -17.073, -377.010, 128] - level: [77, 78] + at: [-381.304, -15.840, -374.144, 131] + level: [70, 71] 17006633: template: Darkling_Draugar - at: [-345.461, -15.811, -330.613, 116] - level: [77, 78] + at: [-340.229, -15.681, -337.999, 62] + level: [75, 76] 17006634: template: Darkling_Draugar - at: [-348.444, -17.535, -337.023, 129] - level: [77, 78] + at: [-344.746, -15.934, -336.741, 33] + level: [75, 76] 17006635: template: Cursed_Chigoe at: [-58.320, -15.850, 571.903, 196] diff --git a/scripts/assaults/Periqia/requiem.lua b/scripts/assaults/Periqia/requiem.lua new file mode 100644 index 00000000000..86f49c9e5b9 --- /dev/null +++ b/scripts/assaults/Periqia/requiem.lua @@ -0,0 +1,85 @@ +----------------------------------- +-- Assault: Requiem +-- Instance 5602 +-- Objective: Destroy the undead +----------------------------------- +local ID = zones[xi.zone.PERIQIA] +----------------------------------- + +local content = InstanceAssault:new( +{ + zoneID = xi.zone.PERIQIA, + assaultID = xi.assault.mission.REQUIEM, + instanceID = xi.assault.instance.REQUIEM, + assaultArea = xi.assault.assaultArea.PERIQIA, + requiredOrders = xi.ki.PERIQIA_ASSAULT_ORDERS, + + runeOfReleasePos = { x = -490.000, y = -9.695, z = -329.000, rot = 0 }, + ancientBoxPos = { x = -490.000, y = -9.985, z = -326.000, rot = 0 }, + releasePos = { x = 5, z = 9 }, -- "Unlocking Rune of Release (F-9)" + + wallNPCs = { ID.npc._JKH, ID.npc._JKI }, + + suggestedLevel = 70, + basePoints = 1000, + requiredProgress = 18, -- Every undead except the Draugar's Wyvern pets + + entranceParams = + { + instanceID = xi.assault.instance.REQUIEM, + entryEvent = { 143, 32, -4, 0, 70, 0, 1 }, + confirmEvent = { 143, 4 }, + memberEvent = { 147, 0 }, + }, +}) + +content.loot = +{ + appraisalReward = + { + { + { itemId = xi.item.UNAPPRAISED_BOX, weight = 4000 }, + { itemId = xi.item.UNAPPRAISED_GLOVES, weight = 2000 }, + { itemId = xi.item.UNAPPRAISED_POLEARM, weight = 2000 }, + { itemId = xi.item.UNAPPRAISED_AXE, weight = 2000 }, + }, + }, + + bonusLoot = + { + { + { itemId = xi.item.HI_POTION_P3, weight = 5000 }, + { itemId = xi.item.NONE, weight = 5000 }, + }, + + { + { itemId = xi.item.HI_ETHER_TANK, weight = 1000 }, + { itemId = xi.item.NONE, weight = 9000 }, + }, + + { + { itemId = xi.item.HI_RERAISER, weight = 5000 }, + { itemId = xi.item.NONE, weight = 5000 }, + }, + }, +} + +function content:onInstanceCreated(instance) + InstanceAssault.onInstanceCreated(self, instance) + + for mobID = ID.mob.PUTRID_IMMORTAL_GUARD, ID.mob.PUTRID_IMMORTAL_GUARD + 22 do + + -- Any pets are skipped and spawned by their masters. + if not GetMobByID(mobID, instance):getMaster() then + SpawnMob(mobID, instance) + end + end + + GetNPCByID(ID.npc._1KH, instance):setAnimation(xi.animation.CLOSE_DOOR) + GetNPCByID(ID.npc._1KT, instance):setAnimation(xi.animation.CLOSE_DOOR) + GetNPCByID(ID.npc._JK5, instance):setAnimation(xi.animation.CLOSE_DOOR) + GetNPCByID(ID.npc._JK6, instance):setAnimation(xi.animation.CLOSE_DOOR) + GetNPCByID(ID.npc._JK7, instance):setAnimation(xi.animation.CLOSE_DOOR) +end + +return content:register() diff --git a/scripts/globals/assault/container.lua b/scripts/globals/assault/container.lua index 8af3df07742..904f26dc119 100644 --- a/scripts/globals/assault/container.lua +++ b/scripts/globals/assault/container.lua @@ -236,15 +236,20 @@ end xi.assault.onRunicTrigger = function(player, npc, zone) local chosenAssault for _, eligibleAssault in ipairs(xi.assault.contentsByZone[zone] or {}) do - if - xi.assault.checkRequirements(player, eligibleAssault) and - player:hasKeyItem(xi.ki.ASSAULT_ARMBAND) - then + if xi.assault.checkRequirements(player, eligibleAssault) then chosenAssault = eligibleAssault break end end + if + chosenAssault ~= nil and + not player:hasKeyItem(xi.ki.ASSAULT_ARMBAND) + then + player:messageSpecial(zones[player:getZoneID()].text.MISSING_KEY_ITEM, xi.ki.ASSAULT_ARMBAND) + return + end + if chosenAssault == nil then if not xi.instance.onTrigger(player, npc, zone) then player:messageSpecial(zones[player:getZoneID()].text.NOTHING_HAPPENS) diff --git a/scripts/globals/instance.lua b/scripts/globals/instance.lua index 394651697ee..7727f085a5b 100644 --- a/scripts/globals/instance.lua +++ b/scripts/globals/instance.lua @@ -69,7 +69,7 @@ xi.instance.lookup = { { 5600, { 143, 79, -6, 0, 99, 3, 0 }, { 143, 4 }, { 147, 3 } }, -- Shades of Vengeance (TOAU31) -- Assault: Seagull Grounded (scripts/assaults/Periqia/seagull_grounded.lua) - -- Assault: Requiem + -- Assault: Requiem (scripts/assaults/Periqia/requiem.lua) -- Assault: Saving Private Ryaaf -- Assault: Shooting Down the Baron -- Assault: Stop the Bloodshed diff --git a/scripts/zones/Alzadaal_Undersea_Ruins/IDs.lua b/scripts/zones/Alzadaal_Undersea_Ruins/IDs.lua index fc7ecd2bf38..8a91563ff7e 100644 --- a/scripts/zones/Alzadaal_Undersea_Ruins/IDs.lua +++ b/scripts/zones/Alzadaal_Undersea_Ruins/IDs.lua @@ -28,6 +28,7 @@ zones[xi.zone.ALZADAAL_UNDERSEA_RUINS] = CANNOT_ENTER = 7465, -- You cannot enter at this time. Please wait a while before trying again. AREA_FULL = 7466, -- This area is fully occupied. You were unable to enter. MEMBER_NO_REQS = 7470, -- Not all of your party members meet the requirements for this objective. Unable to enter area. + MISSING_KEY_ITEM = 7471, -- You are not in possession of . Unable to enter area. MEMBER_TOO_FAR = 7474, -- One or more party members are too far away from the entrance. Unable to enter area. MEMBER_IMBUED_ITEM = 7475, -- One or more party members are carrying imbued items. Unable to enter area. IMBUED_ITEM = 7476, -- You are carrying imbued items. Unable to enter area. diff --git a/scripts/zones/Arrapago_Reef/IDs.lua b/scripts/zones/Arrapago_Reef/IDs.lua index 79a477d8be5..ba088adca24 100644 --- a/scripts/zones/Arrapago_Reef/IDs.lua +++ b/scripts/zones/Arrapago_Reef/IDs.lua @@ -40,6 +40,7 @@ zones[xi.zone.ARRAPAGO_REEF] = CANNOT_ENTER = 8481, -- You cannot enter at this time. Please wait a while before trying again. AREA_FULL = 8482, -- This area is fully occupied. You were unable to enter. MEMBER_NO_REQS = 8486, -- Not all of your party members meet the requirements for this objective. Unable to enter area. + MISSING_KEY_ITEM = 8487, -- You are not in possession of . Unable to enter area. MEMBER_TOO_FAR = 8490, -- One or more party members are too far away from the entrance. Unable to enter area. MEDUSA_ENGAGE = 8600, -- Foolish two-legs... Have you forgotten the terrible power of the gorgons you created? It is time you were reminded... MEDUSA_DEATH = 8601, -- No... I cannot leave my sisters... diff --git a/scripts/zones/Bhaflau_Thickets/IDs.lua b/scripts/zones/Bhaflau_Thickets/IDs.lua index 27c70127fdb..43879149760 100644 --- a/scripts/zones/Bhaflau_Thickets/IDs.lua +++ b/scripts/zones/Bhaflau_Thickets/IDs.lua @@ -35,6 +35,7 @@ zones[xi.zone.BHAFLAU_THICKETS] = CANNOT_ENTER = 7605, -- You cannot enter at this time. Please wait a while before trying again. AREA_FULL = 7606, -- This area is fully occupied. You were unable to enter. MEMBER_NO_REQS = 7610, -- Not all of your party members meet the requirements for this objective. Unable to enter area. + MISSING_KEY_ITEM = 7611, -- You are not in possession of . Unable to enter area. MEMBER_TOO_FAR = 7614, -- One or more party members are too far away from the entrance. Unable to enter area. WELLSPRING = 7674, -- The water in this spring is an unusual color... SHED_LEAVES = 7683, -- The ground is strewn with shed leaves... diff --git a/scripts/zones/Caedarva_Mire/IDs.lua b/scripts/zones/Caedarva_Mire/IDs.lua index c7a85deb329..bae79d9311d 100644 --- a/scripts/zones/Caedarva_Mire/IDs.lua +++ b/scripts/zones/Caedarva_Mire/IDs.lua @@ -35,6 +35,7 @@ zones[xi.zone.CAEDARVA_MIRE] = CANNOT_ENTER = 7484, -- You cannot enter at this time. Please wait a while before trying again. AREA_FULL = 7485, -- This area is fully occupied. You were unable to enter. MEMBER_NO_REQS = 7489, -- Not all of your party members meet the requirements for this objective. Unable to enter area. + MISSING_KEY_ITEM = 7490, -- You are not in possession of . Unable to enter area. MEMBER_TOO_FAR = 7493, -- One or more party members are too far away from the entrance. Unable to enter area. JAZARAATS_HEADSTONE = 7553, -- The name Sir Jazaraat is engraved on the headstone... SOMEONE_SLIPPED = 7600, -- It looks like someone slipped here... diff --git a/scripts/zones/Mount_Zhayolm/IDs.lua b/scripts/zones/Mount_Zhayolm/IDs.lua index dc61437a5fc..431968a1959 100644 --- a/scripts/zones/Mount_Zhayolm/IDs.lua +++ b/scripts/zones/Mount_Zhayolm/IDs.lua @@ -35,6 +35,7 @@ zones[xi.zone.MOUNT_ZHAYOLM] = CANNOT_ENTER = 7498, -- You cannot enter at this time. Please wait a while before trying again. AREA_FULL = 7499, -- This area is fully occupied. You were unable to enter. MEMBER_NO_REQS = 7503, -- Not all of your party members meet the requirements for this objective. Unable to enter area. + MISSING_KEY_ITEM = 7504, -- You are not in possession of . Unable to enter area. MEMBER_TOO_FAR = 7507, -- One or more party members are too far away from the entrance. Unable to enter area. DETACHED_PART = 7562, -- There is a detached part here... SHED_LEAVES = 7577, -- The ground is strewn with shed leaves... diff --git a/scripts/zones/Periqia/IDs.lua b/scripts/zones/Periqia/IDs.lua index b165942b680..bcbd0b3a6d5 100644 --- a/scripts/zones/Periqia/IDs.lua +++ b/scripts/zones/Periqia/IDs.lua @@ -46,10 +46,17 @@ zones[xi.zone.PERIQIA] = ANCIENT_LOCKBOX = GetFirstID('Ancient_Lockbox'), RUNE_OF_RELEASE = GetFirstID('Rune_of_Release'), _1K6 = GetFirstID('_1k6'), + _1KH = GetFirstID('_1kh'), + _1KT = GetFirstID('_1kt'), _1KX = GetFirstID('_1kx'), _1KZ = GetFirstID('_1kz'), _JK1 = GetFirstID('_jk1'), _JK3 = GetFirstID('_jk3'), + _JK5 = GetFirstID('_jk5'), + _JK6 = GetFirstID('_jk6'), + _JK7 = GetFirstID('_jk7'), + _JKH = GetFirstID('_jkh'), + _JKI = GetFirstID('_jki'), } } diff --git a/scripts/zones/Periqia/instances/requiem.lua b/scripts/zones/Periqia/instances/requiem.lua deleted file mode 100644 index 99840c179fb..00000000000 --- a/scripts/zones/Periqia/instances/requiem.lua +++ /dev/null @@ -1,68 +0,0 @@ ------------------------------------ --- Assault: Requiem --- TODO: random the chest locations ------------------------------------ -local ID = zones[xi.zone.PERIQIA] ------------------------------------ -local instanceObject = {} - -instanceObject.afterInstanceRegister = function(player) - local instance = player:getInstance() - - player:messageSpecial(ID.text.ASSAULT_32_START, 32) - player:messageSpecial(ID.text.TIME_TO_COMPLETE, instance:getTimeLimit() / 60) -end - -instanceObject.onInstanceCreated = function(instance) - for i, v in pairs(ID.mob[32]) do - SpawnMob(v, instance) - end - - GetNPCByID(ID.npc.RUNE_OF_RELEASE, instance):setPos(-489.346, -9.78, -326.579, 90) - GetNPCByID(ID.npc.ANCIENT_LOCKBOX, instance):setPos(-491.96, -9.668, -322.733, 90) -end - -instanceObject.onInstanceCreatedCallback = function(player, instance) - if instance then - player:setInstance(instance) - player:setPos(0, 0, 0, 0, instance:getZone():getID()) - end -end - -instanceObject.onInstanceTimeUpdate = function(instance, elapsed) - xi.instance.updateInstanceTime(instance, elapsed, ID.text) -end - -instanceObject.onInstanceFailure = function(instance) - local chars = instance:getChars() - - for i, v in pairs(chars) do - v:messageSpecial(ID.text.MISSION_FAILED, 10, 10) - v:startEvent(102) - end -end - -instanceObject.onInstanceProgressUpdate = function(instance, progress) - if progress >= 18 then - instance:complete() - end -end - -instanceObject.onInstanceComplete = function(instance) - local chars = instance:getChars() - - for i, v in pairs(chars) do - v:messageSpecial(ID.text.RUNE_UNLOCKED_POS, 5, 9) - end - - GetNPCByID(ID.npc.RUNE_OF_RELEASE, instance):setStatus(xi.status.NORMAL) - GetNPCByID(ID.npc.ANCIENT_LOCKBOX, instance):setStatus(xi.status.NORMAL) -end - -instanceObject.onEventUpdate = function(player, csid, option, npc) -end - -instanceObject.onEventFinish = function(player, csid, option, npc) -end - -return instanceObject diff --git a/scripts/zones/Periqia/mobs/Batteilant_Bhoot.lua b/scripts/zones/Periqia/mobs/Batteilant_Bhoot.lua index dd38689e0ce..560e4376d78 100644 --- a/scripts/zones/Periqia/mobs/Batteilant_Bhoot.lua +++ b/scripts/zones/Periqia/mobs/Batteilant_Bhoot.lua @@ -1,17 +1,47 @@ ----------------------------------- --- Area: Periqia (Requiem) +-- Area: Periqia -- Mob: Batteilant Bhoot +-- Involved in Assault: Requiem ----------------------------------- ---@type TMobEntity local entity = {} -entity.onMobDespawn = function(mob) - local instance = mob:getInstance() - if not instance then - return - end +entity.onMobInitialize = function(mob) + mob:setMod(xi.mod.HPP, -10) + mob:setMod(xi.mod.ATTP, 30) + mob:setMod(xi.mod.MATT, 10) + mob:setMod(xi.mod.STORETP, 5) +end + +entity.onMobSpawn = function(mob) + xi.assault.adjustMobLevel(mob) + mob:setBehavior(xi.behavior.STANDBACK) +end + +-- Spell list is static and ignores level adjustments. +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.BIND, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.BIND, 0, 100 }, + [3] = { xi.magic.spell.FROST, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.FROST, 0, 100 }, + [4] = { xi.magic.spell.BLIZZARD_IV, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [5] = { xi.magic.spell.BLIZZAGA_III, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [6] = { xi.magic.spell.FREEZE, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + } - instance:setProgress(instance:getProgress() + 1) + return xi.combat.behavior.chooseAction(mob, target, nil, spellList) +end + +entity.onMobDeath = function(mob, player, optParams) + if optParams.isKiller or optParams.noKiller then + local instance = mob:getInstance() + if not instance then + return + end + + instance:setProgress(instance:getProgress() + 1) + end end return entity diff --git a/scripts/zones/Periqia/mobs/Darkling_Draugar.lua b/scripts/zones/Periqia/mobs/Darkling_Draugar.lua index 1904b1eec72..c085bd36224 100644 --- a/scripts/zones/Periqia/mobs/Darkling_Draugar.lua +++ b/scripts/zones/Periqia/mobs/Darkling_Draugar.lua @@ -1,17 +1,58 @@ ----------------------------------- --- Area: Periqia (Requiem) +-- Area: Periqia -- Mob: Darkling Draugar +-- Involved in Assault: Requiem ----------------------------------- ---@type TMobEntity local entity = {} -entity.onMobDespawn = function(mob) - local instance = mob:getInstance() - if not instance then - return - end +entity.onMobInitialize = function(mob) + mob:setMod(xi.mod.HPP, -10) + mob:setMod(xi.mod.ATTP, 15) + mob:setMod(xi.mod.STORETP, 5) +end + +entity.onMobSpawn = function(mob) + xi.assault.adjustMobLevel(mob) +end + +-- Spell list is static and ignores level adjustments. +entity.onMobSpellChoose = function(mob, target, spellId) + local spellList = + { + [ 1] = { xi.magic.spell.STUN, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.STUN, 0, 100 }, + [ 2] = { xi.magic.spell.SLEEP_II, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.SLEEP_I, 2, 100 }, + [ 3] = { xi.magic.spell.BIND, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.BIND, 0, 100 }, + [ 4] = { xi.magic.spell.POISON_II, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.POISON, 2, 100 }, + [ 5] = { xi.magic.spell.BIO_II, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.BIO, 4, 100 }, + [ 6] = { xi.magic.spell.ABSORB_STR, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.STR_DOWN, 0, 100 }, + [ 7] = { xi.magic.spell.ABSORB_DEX, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.DEX_DOWN, 0, 100 }, + [ 8] = { xi.magic.spell.ABSORB_VIT, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.VIT_DOWN, 0, 100 }, + [ 9] = { xi.magic.spell.ABSORB_AGI, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.AGI_DOWN, 0, 100 }, + [10] = { xi.magic.spell.ABSORB_INT, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.INT_DOWN, 0, 100 }, + [11] = { xi.magic.spell.ABSORB_TP, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [12] = { xi.magic.spell.DRAIN, target, false, xi.action.type.DRAIN_HP, nil, 0, 100 }, + [13] = { xi.magic.spell.ASPIR, target, false, xi.action.type.DRAIN_MP, nil, 0, 100 }, + [14] = { xi.magic.spell.STONE_II, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [15] = { xi.magic.spell.STONE_III, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [16] = { xi.magic.spell.WATER_II, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [17] = { xi.magic.spell.AERO_II, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [18] = { xi.magic.spell.BLIZZARD_II, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [19] = { xi.magic.spell.THUNDER_II, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + } - instance:setProgress(instance:getProgress() + 1) + return xi.combat.behavior.chooseAction(mob, target, nil, spellList) +end + +entity.onMobDeath = function(mob, player, optParams) + if optParams.isKiller or optParams.noKiller then + local instance = mob:getInstance() + if not instance then + return + end + + instance:setProgress(instance:getProgress() + 1) + end end return entity diff --git a/scripts/zones/Periqia/mobs/Draconic_Draugar.lua b/scripts/zones/Periqia/mobs/Draconic_Draugar.lua index 34d77bdc47c..57f1ea8abe5 100644 --- a/scripts/zones/Periqia/mobs/Draconic_Draugar.lua +++ b/scripts/zones/Periqia/mobs/Draconic_Draugar.lua @@ -1,24 +1,33 @@ ----------------------------------- --- Area: Periqia (Requiem) +-- Area: Periqia -- Mob: Draconic Draugar +-- Involved in Assault: Requiem ----------------------------------- ---@type TMobEntity local entity = {} -entity.onMobEngage = function(mob, target) - local instance = mob:getInstance() - local mobID = mob:getID() +entity.onMobInitialize = function(mob) + mob:setMod(xi.mod.HPP, -10) + mob:setMod(xi.mod.ATTP, 15) + mob:setMod(xi.mod.STORETP, 5) + mob:setMobMod(xi.mobMod.SPECIAL_SKILL, xi.mobSkill.CALL_WYVERN_1) + mob:setMobMod(xi.mobMod.SPECIAL_COOL, 1200) + mob:setPet(GetMobByID(mob:getID() + 1, mob:getInstance())) +end - SpawnMob(mobID + 1, instance):updateEnmity(target) +entity.onMobSpawn = function(mob) + xi.assault.adjustMobLevel(mob) end -entity.onMobDespawn = function(mob) - local instance = mob:getInstance() - if not instance then - return - end +entity.onMobDeath = function(mob, player, optParams) + if optParams.isKiller or optParams.noKiller then + local instance = mob:getInstance() + if not instance then + return + end - instance:setProgress(instance:getProgress() + 1) + instance:setProgress(instance:getProgress() + 1) + end end return entity diff --git a/scripts/zones/Periqia/mobs/Draugars_Wyvern.lua b/scripts/zones/Periqia/mobs/Draugars_Wyvern.lua new file mode 100644 index 00000000000..90902426dfd --- /dev/null +++ b/scripts/zones/Periqia/mobs/Draugars_Wyvern.lua @@ -0,0 +1,21 @@ +----------------------------------- +-- Area: Periqia +-- Mob: Draugar's Wyvern +-- Involved in Assault: Requiem +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) + mob:setMod(xi.mod.HPP, -10) + mob:setMod(xi.mod.ATTP, 15) + mob:setMod(xi.mod.DMGBREATH, -5000) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.DARK_SLEEP) +end + +entity.onMobSpawn = function(mob) + xi.assault.adjustMobLevel(mob) +end + +return entity diff --git a/scripts/zones/Periqia/mobs/Putrid_Immortal_Guard.lua b/scripts/zones/Periqia/mobs/Putrid_Immortal_Guard.lua index ad4c665fbb7..ede2ac35278 100644 --- a/scripts/zones/Periqia/mobs/Putrid_Immortal_Guard.lua +++ b/scripts/zones/Periqia/mobs/Putrid_Immortal_Guard.lua @@ -1,17 +1,30 @@ ----------------------------------- --- Area: Periqia (Requiem) +-- Area: Periqia -- Mob: Putrid Immortal Guard +-- Involved in Assault: Requiem ----------------------------------- ---@type TMobEntity local entity = {} -entity.onMobDespawn = function(mob) - local instance = mob:getInstance() - if not instance then - return - end +entity.onMobInitialize = function(mob) + mob:setMod(xi.mod.HPP, -10) + mob:setMod(xi.mod.ATTP, 15) + mob:setMod(xi.mod.STORETP, 5) +end + +entity.onMobSpawn = function(mob) + xi.assault.adjustMobLevel(mob) +end + +entity.onMobDeath = function(mob, player, optParams) + if optParams.isKiller or optParams.noKiller then + local instance = mob:getInstance() + if not instance then + return + end - instance:setProgress(instance:getProgress() + 1) + instance:setProgress(instance:getProgress() + 1) + end end return entity diff --git a/scripts/zones/Periqia/npcs/Ancient_Lockbox.lua b/scripts/zones/Periqia/npcs/Ancient_Lockbox.lua index 5c32f467688..a3b82451122 100644 --- a/scripts/zones/Periqia/npcs/Ancient_Lockbox.lua +++ b/scripts/zones/Periqia/npcs/Ancient_Lockbox.lua @@ -10,16 +10,6 @@ local entity = {} entity.onTrigger = function(player, npc) local qItem = { - [xi.assault.mission.REQUIEM] = - { - { - { itemId = xi.item.UNAPPRAISED_BOX, weight = 400 }, - { itemId = xi.item.UNAPPRAISED_GLOVES, weight = 200 }, - { itemId = xi.item.UNAPPRAISED_POLEARM, weight = 200 }, - { itemId = xi.item.UNAPPRAISED_AXE, weight = 200 }, - }, - }, - [xi.assault.mission.SHOOTING_DOWN_THE_BARON] = { { @@ -31,24 +21,6 @@ entity.onTrigger = function(player, npc) local regItem = { - [xi.assault.mission.REQUIEM] = - { - { - { itemId = xi.item.HI_POTION_P3, weight = 500 }, - { itemId = 0, weight = 500 }, - }, - - { - { itemId = xi.item.HI_ETHER_TANK, weight = 100 }, - { itemId = 0, weight = 900 }, - }, - - { - { itemId = xi.item.HI_RERAISER, weight = 500 }, - { itemId = 0, weight = 500 }, - }, - }, - [xi.assault.mission.SHOOTING_DOWN_THE_BARON] = { { diff --git a/sql/instance_entities.sql b/sql/instance_entities.sql index 9cdb6843549..66019f45f77 100644 --- a/sql/instance_entities.sql +++ b/sql/instance_entities.sql @@ -211,6 +211,7 @@ INSERT INTO `instance_entities` VALUES (5602,17006881); INSERT INTO `instance_entities` VALUES (5602,17006882); INSERT INTO `instance_entities` VALUES (5602,17006883); INSERT INTO `instance_entities` VALUES (5602,17006893); +INSERT INTO `instance_entities` VALUES (5602,17006894); -- ------------------------------------------------------------ -- The Ashu Talif (Zone 60) diff --git a/sql/mob_pools.sql b/sql/mob_pools.sql index 1140ad87168..e7fffad1e08 100644 --- a/sql/mob_pools.sql +++ b/sql/mob_pools.sql @@ -101,7 +101,7 @@ INSERT INTO `mob_pools` VALUES (334,'Balrahn','Balrahn',215,0x0000F0060000000000 -- 341 free -- 345 free INSERT INTO `mob_pools` VALUES (353,'Bashdeel','Bashdeel',295,0x0500600700000000000000000000000000000000,16,16,3,240,100,0,1,0,1,16,0,0,1,155,0,0,8,0,0,149,149,1,17); -INSERT INTO `mob_pools` VALUES (360,'Batteilant_Bhoot','Batteilant_Bhoot',407,0x0000710100000000000000000000000000000000,4,4,11,240,100,0,1,0,0,0,0,0,7,131,0,0,28,0,0,52,52,1,8); +INSERT INTO `mob_pools` VALUES (360,'Batteilant_Bhoot','Batteilant_Bhoot',407,0x0000710100000000000000000000000000000000,4,4,11,250,100,0,1,0,0,0,0,0,7,131,0,0,28,0,0,121,52,1,8); INSERT INTO `mob_pools` VALUES (364,'Battleclad_Chariot','Battleclad_Chariot',75,0x0000200700000000000000000000000000000000,1,1,6,320,100,0,1,0,1,2,0,0,0,0,0,0,0,0,0,63,63,3,41); INSERT INTO `mob_pools` VALUES (365,'Battledressed_Chariot','Battledressed_Chariot',75,0x0000200700000000000000000000000000000000,1,1,6,320,100,0,1,0,1,2,0,0,415,133,16,0,0,0,0,63,63,NULL,NULL); INSERT INTO `mob_pools` VALUES (374,'Bat_Eye','Bat_Eye',195,0x0000080100000000000000000000000000000000,1,4,11,240,100,0,1,0,0,0,0,0,0,131,16,0,11,0,0,4,4,1,24); @@ -183,7 +183,7 @@ INSERT INTO `mob_pools` VALUES (887,'D5S1-MERROW','D5S1-MERROW',131,0x0600880600 INSERT INTO `mob_pools` VALUES (890,'Daggerclaw_Dracos','Daggerclaw_Dracos',315,0x00003C0100000000000000000000000000000000,1,1,7,220,100,0,1,0,0,2,0,32,0,157,0,0,0,0,0,210,210,2,21); INSERT INTO `mob_pools` VALUES (894,'Dahak','Dahak',218,0x0000A50100000000000000000000000000000000,1,1,12,240,100,0,1,0,0,0,0,0,303,133,0,0,0,0,0,2007,87,2,39); INSERT INTO `mob_pools` VALUES (901,'Danzo','Danzo',295,0x0500AF0700000000000000000000000000000000,13,13,9,240,100,0,1,1,1,16,0,0,1,155,0,0,7,0,0,149,149,1,17); -INSERT INTO `mob_pools` VALUES (905,'Darkling_Draugar','Darkling_Draugar',416,0x0000DE0600000000000000000000000000000000,8,8,3,240,100,0,1,0,1,0,0,0,1,131,0,0,5,0,0,89,89,1,12); +INSERT INTO `mob_pools` VALUES (905,'Darkling_Draugar','Darkling_Draugar',416,0x0000DE0600000000000000000000000000000000,8,8,3,280,100,0,1,0,1,0,0,0,1,131,0,0,5,0,0,227,89,1,12); INSERT INTO `mob_pools` VALUES (907,'Darksteel_Quadav','Darksteel_Quadav',150,0x0000900200000000000000000000000000000000,7,1,3,265,100,0,1,0,1,0,0,0,80,133,0,0,4,0,0,202,202,2,17); INSERT INTO `mob_pools` VALUES (933,'Deadpan_Devilet','Deadpan_Devilet',212,0x0000BF0600000000000000000000000000000000,4,4,7,240,100,0,1,1,1,0,0,0,0,133,4,0,21,0,0,165,165,2,13); INSERT INTO `mob_pools` VALUES (937,'Death_Cap','Death_Cap',338,0x0000780100000000000000000000000000000000,1,1,11,240,100,0,0,0,1,0,0,0,0,131,0,0,0,0,0,116,116,1,15); @@ -210,10 +210,10 @@ INSERT INTO `mob_pools` VALUES (1079,'Don_Poroggo','Don_Poroggo',146,0x000015070 INSERT INTO `mob_pools` VALUES (1089,'Doppelganger_Dio','Doppelganger_Dio',415,0x0000240200000000000000000000000000000000,1,1,3,360,100,0,1,0,1,2,0,32,1459,155,0,0,0,0,0,221,221,1,20); INSERT INTO `mob_pools` VALUES (1090,'Doppelganger_Gog','Doppelganger_Gog',415,0x0000230200000000000000000000000000000000,1,1,5,360,100,0,1,0,1,2,0,32,2951,155,0,0,0,0,0,221,221,1,20); INSERT INTO `mob_pools` VALUES (1093,'Dosetsu_Tree','Dosetsu_Tree',366,0x00008B0100000000000000000000000000000000,1,1,7,240,100,0,0,0,0,2,0,0,8,135,0,0,0,0,0,245,245,3,53); -INSERT INTO `mob_pools` VALUES (1097,'Draconic_Draugar','Draconic_Draugar',416,0x0000E20600000000000000000000000000000000,14,14,8,240,100,0,1,0,1,0,0,0,7,131,0,0,0,0,0,89,89,1,12); +INSERT INTO `mob_pools` VALUES (1097,'Draconic_Draugar','Draconic_Draugar',416,0x0000E20600000000000000000000000000000000,14,14,8,300,100,0,1,0,1,0,0,0,7,131,0,0,0,0,0,227,89,1,12); INSERT INTO `mob_pools` VALUES (1098,'Draco_Lizard','Draco_Lizard',307,0x0000480100000000000000000000000000000000,1,1,7,240,100,0,0,0,1,0,0,0,0,0,0,0,0,0,0,174,174,1,16); INSERT INTO `mob_pools` VALUES (1110,'Draugar','Draugar',416,0x0000E60600000000000000000000000000000000,4,4,12,240,100,0,1,0,0,0,0,0,1,129,16,0,21,0,0,89,89,1,12); -INSERT INTO `mob_pools` VALUES (1112,'Draugars_Wyvern','Draugars_Wyvern',237,0x0000F90200000000000000000000000000000000,1,1,7,200,100,0,0,0,0,0,0,0,1,131,0,0,0,0,0,714,193,1,8); +INSERT INTO `mob_pools` VALUES (1112,'Draugars_Wyvern','Draugars_Wyvern',237,0x0000F90200000000000000000000000000000000,1,1,7,250,100,0,0,0,0,0,0,0,1,131,0,0,0,0,0,714,193,1,8); INSERT INTO `mob_pools` VALUES (1118,'Drexerion_the_Condemned','Drexerion_the_Condemned',415,0x00001F0200000000000000000000000000000000,11,1,9,360,100,0,1,0,1,2,0,32,0,157,0,0,0,0,0,221,221,2,22); INSERT INTO `mob_pools` VALUES (1124,'Drooling_Daisy','Drooling_Daisy',353,0x00007C0100000000000000000000000000000000,1,1,7,200,100,0,1,0,0,2,0,32,0,669,8,0,0,0,0,186,186,2,36); INSERT INTO `mob_pools` VALUES (1138,'Dune_Widow','Dune_Widow',464,0x0000360100000000000000000000000000000000,1,1,7,240,100,0,1,0,1,2,0,0,720,645,8,0,0,0,0,236,235,2,16); @@ -500,7 +500,7 @@ INSERT INTO `mob_pools` VALUES (3223,'Puk_WW','Puk_WW',224,0x0000D00600000000000 INSERT INTO `mob_pools` VALUES (3225,'Puk_Executioner','Puk_Executioner',224,0x0000D00600000000000000000000000000000000,1,1,7,200,100,0,1,0,1,0,0,0,1,131,0,0,0,0,0,198,198,1,12); INSERT INTO `mob_pools` VALUES (3226,'Pulverized_Pfeffer','Pulverized_Pfeffer',408,0x0000700100000000000000000000000000000000,1,4,12,240,100,0,1,0,0,2,0,32,0,159,0,0,28,0,0,121,121,3,11); INSERT INTO `mob_pools` VALUES (3229,'Pupil_Palliator_II','Pupil_Palliator_II',293,0x0100020300100B201A301A401A50FA601C700080,1,1,0,240,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,145,145,NULL,NULL); -INSERT INTO `mob_pools` VALUES (3236,'Putrid_Immortal_Guard','Putrid_Immortal_Guard',398,0x0000410100000000000000000000000000000000,1,1,3,270,100,0,1,0,0,0,0,0,1,131,0,0,0,0,0,86,86,1,30); +INSERT INTO `mob_pools` VALUES (3236,'Putrid_Immortal_Guard','Putrid_Immortal_Guard',398,0x0000410100000000000000000000000000000000,1,1,3,250,100,0,1,0,0,0,0,0,1,131,0,0,0,0,0,86,86,1,30); INSERT INTO `mob_pools` VALUES (3243,'Python_Mercenary','Python_Mercenary',296,0x01000E0772100F2072300F400F5064602E703280,1,1,0,0,100,0,0,0,0,0,0,0,0,515,8,0,0,0,0,151,151,1,12); INSERT INTO `mob_pools` VALUES (3245,'Qiqirn_Archaeologist','Qiqirn_Archaeologist',147,0x0000C70600000000000000000000000000000000,11,11,5,200,100,0,0,0,1,0,0,0,186,131,0,0,0,0,0,199,199,1,12); INSERT INTO `mob_pools` VALUES (3246,'Qiqirn_Astrologer','Qiqirn_Astrologer',147,0x0000C70600000000000000000000000000000000,4,4,9,200,100,0,0,0,1,0,0,0,0,0,0,0,21,0,0,199,199,1,12); diff --git a/sql/mob_spawn_points.sql b/sql/mob_spawn_points.sql index 670f7e374fb..49f43d88c97 100644 --- a/sql/mob_spawn_points.sql +++ b/sql/mob_spawn_points.sql @@ -215,29 +215,29 @@ INSERT INTO `mob_spawn_points` VALUES (17006610,0,'Debaucher','Debaucher',3,77,7 INSERT INTO `mob_spawn_points` VALUES (17006611,0,'Debaucher','Debaucher',3,77,79,-472.284,-10.180,-65.855,118,NULL,NULL); -- Requiem assault entrance @ -470 -9.695 -325 rot 192 -INSERT INTO `mob_spawn_points` VALUES (17006612,0,'Putrid_Immortal_Guard','Putrid Immortal Guard',5,77,78,-434.051,-5.076,-260.724,0,NULL,NULL); -INSERT INTO `mob_spawn_points` VALUES (17006613,0,'Putrid_Immortal_Guard','Putrid Immortal Guard',5,77,78,-455.689,-8.171,-265.212,60,NULL,NULL); -INSERT INTO `mob_spawn_points` VALUES (17006614,0,'Batteilant_Bhoot','Batteilant Bhoot',6,77,78,-510.939,-16.193,-178.466,86,NULL,NULL); -INSERT INTO `mob_spawn_points` VALUES (17006615,0,'Batteilant_Bhoot','Batteilant Bhoot',6,77,78,-508.779,-16.297,-175.037,110,NULL,NULL); -INSERT INTO `mob_spawn_points` VALUES (17006616,0,'Darkling_Draugar','Darkling Draugar',7,77,78,-509.631,-18.504,-142.899,5,NULL,NULL); -INSERT INTO `mob_spawn_points` VALUES (17006617,0,'Draconic_Draugar','Draconic Draugar',8,77,78,-504.532,-15.733,-143.145,146,NULL,NULL); -INSERT INTO `mob_spawn_points` VALUES (17006618,0,'Draugars_Wyvern','Draugar\'s Wyvern',9,77,78,-504.532,-15.733,-143.145,146,NULL,NULL); -INSERT INTO `mob_spawn_points` VALUES (17006619,0,'Darkling_Draugar','Darkling Draugar',7,77,78,-544.832,-16.103,-142.699,253,NULL,NULL); -INSERT INTO `mob_spawn_points` VALUES (17006620,0,'Darkling_Draugar','Darkling Draugar',7,77,78,-535.468,-15.760,-142.838,238,NULL,NULL); -INSERT INTO `mob_spawn_points` VALUES (17006621,0,'Draconic_Draugar','Draconic Draugar',8,77,78,-531.053,-16.308,-209.619,254,NULL,NULL); -INSERT INTO `mob_spawn_points` VALUES (17006622,0,'Draugars_Wyvern','Draugar\'s Wyvern',9,77,78,-531.053,-16.308,-209.619,254,NULL,NULL); -INSERT INTO `mob_spawn_points` VALUES (17006623,0,'Draconic_Draugar','Draconic Draugar',8,77,78,-536.109,-15.914,-209.807,181,NULL,NULL); -INSERT INTO `mob_spawn_points` VALUES (17006624,0,'Draugars_Wyvern','Draugar\'s Wyvern',9,77,78,-536.109,-15.914,-209.807,181,NULL,NULL); -INSERT INTO `mob_spawn_points` VALUES (17006625,0,'Batteilant_Bhoot','Batteilant Bhoot',6,77,78,-389.755,-16.314,-340.165,26,NULL,NULL); -INSERT INTO `mob_spawn_points` VALUES (17006626,0,'Batteilant_Bhoot','Batteilant Bhoot',6,77,78,-380.747,-16.141,-339.757,227,NULL,NULL); -INSERT INTO `mob_spawn_points` VALUES (17006627,0,'Darkling_Draugar','Darkling Draugar',7,77,78,-421.740,-15.771,-414.019,85,NULL,NULL); -INSERT INTO `mob_spawn_points` VALUES (17006628,0,'Draconic_Draugar','Draconic Draugar',8,77,78,-410.189,-18.512,-417.184,128,NULL,NULL); -INSERT INTO `mob_spawn_points` VALUES (17006629,0,'Draugars_Wyvern','Draugar\'s Wyvern',9,77,78,-410.189,-18.512,-417.184,128,NULL,NULL); -INSERT INTO `mob_spawn_points` VALUES (17006630,0,'Darkling_Draugar','Darkling Draugar',7,77,78,-380.327,-15.837,-372.303,69,NULL,NULL); -INSERT INTO `mob_spawn_points` VALUES (17006631,0,'Draconic_Draugar','Draconic Draugar',8,77,78,-373.480,-17.073,-377.010,128,NULL,NULL); -INSERT INTO `mob_spawn_points` VALUES (17006632,0,'Draugars_Wyvern','Draugar\'s Wyvern',9,77,78,-373.480,-17.073,-377.010,128,NULL,NULL); -INSERT INTO `mob_spawn_points` VALUES (17006633,0,'Darkling_Draugar','Darkling Draugar',7,77,78,-345.461,-15.811,-330.613,116,NULL,NULL); -INSERT INTO `mob_spawn_points` VALUES (17006634,0,'Darkling_Draugar','Darkling Draugar',7,77,78,-348.444,-17.535,-337.023,129,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (17006612,0,'Putrid_Immortal_Guard','Putrid Immortal Guard',5,77,77,-454.915,-4.121,-255.058,78,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (17006613,0,'Putrid_Immortal_Guard','Putrid Immortal Guard',5,77,77,-450.889,-6.673,-258.272,3,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (17006614,0,'Batteilant_Bhoot','Batteilant Bhoot',6,75,77,-499.716,-16.174,-179.635,65,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (17006615,0,'Batteilant_Bhoot','Batteilant Bhoot',6,75,77,-499.622,-16.164,-180.989,50,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (17006616,0,'Darkling_Draugar','Darkling Draugar',7,75,76,-500.338,-15.800,-145.716,255,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (17006617,0,'Draconic_Draugar','Draconic Draugar',8,75,76,-501.451,-15.801,-145.041,153,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (17006618,0,'Draugars_Wyvern','Draugar\'s Wyvern',9,70,71,-501.451,-15.801,-145.041,153,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (17006619,0,'Darkling_Draugar','Darkling Draugar',7,75,76,-538.905,-15.775,-146.001,13,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (17006620,0,'Darkling_Draugar','Darkling Draugar',7,75,76,-538.621,-16.070,-143.620,24,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (17006621,0,'Draconic_Draugar','Draconic Draugar',8,75,76,-534.770,-15.908,-212.742,253,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (17006622,0,'Draugars_Wyvern','Draugar\'s Wyvern',9,70,71,-534.770,-15.908,-212.742,253,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (17006623,0,'Draconic_Draugar','Draconic Draugar',8,75,76,-537.336,-15.916,-212.358,141,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (17006624,0,'Draugars_Wyvern','Draugar\'s Wyvern',9,70,71,-537.336,-15.916,-212.358,141,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (17006625,0,'Batteilant_Bhoot','Batteilant Bhoot',6,75,77,-376.720,-16.225,-338.743,97,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (17006626,0,'Batteilant_Bhoot','Batteilant Bhoot',6,75,77,-388.673,-16.288,-341.172,238,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (17006627,0,'Darkling_Draugar','Darkling Draugar',7,75,76,-425.841,-16.123,-406.870,134,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (17006628,0,'Draconic_Draugar','Draconic Draugar',8,75,76,-424.116,-16.120,-410.327,22,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (17006629,0,'Draugars_Wyvern','Draugar\'s Wyvern',9,70,71,-424.116,-16.120,-410.327,22,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (17006630,0,'Darkling_Draugar','Darkling Draugar',7,75,76,-381.819,-15.802,-373.410,128,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (17006631,0,'Draconic_Draugar','Draconic Draugar',8,75,76,-381.304,-15.840,-374.144,131,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (17006632,0,'Draugars_Wyvern','Draugar\'s Wyvern',9,70,71,-381.304,-15.840,-374.144,131,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (17006633,0,'Darkling_Draugar','Darkling Draugar',7,75,76,-340.229,-15.681,-337.999,62,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (17006634,0,'Darkling_Draugar','Darkling Draugar',7,75,76,-344.746,-15.934,-336.741,33,NULL,NULL); -- Saving Private Ryaff entrance @ 20 -15.643 548 rot 64 INSERT INTO `mob_spawn_points` VALUES (17006635,0,'Cursed_Chigoe','Cursed Chigoe',10,77,78,-58.320,-15.850,571.903,196,NULL,NULL);