diff --git a/modules/phoenix/sql/limbus/limbus_groups.sql b/modules/phoenix/sql/limbus/limbus_groups.sql index c5115765a15..e163fd42536 100644 --- a/modules/phoenix/sql/limbus/limbus_groups.sql +++ b/modules/phoenix/sql/limbus/limbus_groups.sql @@ -197,22 +197,22 @@ INSERT INTO `mob_groups` VALUES (231,10645,38,'Kronprinz_Behemoth',0,128,2863,70 INSERT INTO `mob_groups` VALUES (232,10646,38,'Kaiser_Behemoth',0,128,0,16000,1000,0,NULL); -- NE Apollyon -INSERT INTO `mob_groups` VALUES (233,10648,38,'Barometz',0,128,2857,8500,0,0,NULL); +INSERT INTO `mob_groups` VALUES (233,10648,38,'Barometz',0,128,2857,9000,0,0,NULL); INSERT INTO `mob_groups` VALUES (234,10647,38,'Borametz',0,128,2857,7000,0,0,NULL); -INSERT INTO `mob_groups` VALUES (235,10649,38,'Goobbue_Harvester',0,128,0,13000,0,0,NULL); +INSERT INTO `mob_groups` VALUES (235,10649,38,'Goobbue_Harvester',0,128,0,12500,0,0,NULL); INSERT INTO `mob_groups` VALUES (236,10650,38,'Cornu',0,128,2856,9000,0,0,NULL); -INSERT INTO `mob_groups` VALUES (237,10651,38,'Sirin',0,128,2861,8500,0,0,NULL); +INSERT INTO `mob_groups` VALUES (237,10651,38,'Sirin',0,128,2861,4500,0,0,NULL); INSERT INTO `mob_groups` VALUES (238,10652,38,'Thiazi',0,128,0,10000,0,0,NULL); INSERT INTO `mob_groups` VALUES (239,10653,38,'Bialozar',0,128,0,10000,0,0,NULL); -INSERT INTO `mob_groups` VALUES (240,10654,38,'Apollyon_Cleaner',0,128,2858,8500,800,0,NULL); -INSERT INTO `mob_groups` VALUES (241,10655,38,'Apollyon_Sweeper',0,128,0,11000,0,0,NULL); -INSERT INTO `mob_groups` VALUES (242,10656,38,'Kerkopes',0,128,2861,9500,0,0,NULL); -INSERT INTO `mob_groups` VALUES (243,10657,38,'Hyperion',0,128,0,12000,0,0,NULL); -INSERT INTO `mob_groups` VALUES (244,10658,38,'Okeanos',0,128,0,12000,0,0,NULL); -INSERT INTO `mob_groups` VALUES (245,10659,38,'Cronos',0,128,0,12000,0,0,NULL); -INSERT INTO `mob_groups` VALUES (246,10660,38,'Troglodyte_Dhalmel',0,128,2862,9500,0,0,NULL); -INSERT INTO `mob_groups` VALUES (247,10661,38,'Criosphinx',0,128,2862,13000,0,0,NULL); -INSERT INTO `mob_groups` VALUES (248,10662,38,'Hieracosphinx',0,128,2862,13000,0,0,NULL); +INSERT INTO `mob_groups` VALUES (240,10654,38,'Apollyon_Cleaner',0,128,2858,7000,7000,0,NULL); +INSERT INTO `mob_groups` VALUES (241,10655,38,'Apollyon_Sweeper',0,128,0,10500,0,0,NULL); +INSERT INTO `mob_groups` VALUES (242,10656,38,'Kerkopes',0,128,2861,5000,0,0,NULL); +INSERT INTO `mob_groups` VALUES (243,10657,38,'Hyperion',0,128,0,8000,0,0,NULL); +INSERT INTO `mob_groups` VALUES (244,10658,38,'Okeanos',0,128,0,8000,0,0,NULL); +INSERT INTO `mob_groups` VALUES (245,10659,38,'Cronos',0,128,0,8000,0,0,NULL); +INSERT INTO `mob_groups` VALUES (246,10660,38,'Troglodyte_Dhalmel',0,128,2862,7500,0,0,NULL); +INSERT INTO `mob_groups` VALUES (247,10661,38,'Criosphinx',0,128,2862,15000,0,0,NULL); +INSERT INTO `mob_groups` VALUES (248,10662,38,'Hieracosphinx',0,128,2862,15000,0,0,NULL); -- SE Apollyon INSERT INTO `mob_groups` VALUES (249,10663,38,'Ghost_Clot',0,128,0,11000,0,0,NULL); diff --git a/modules/phoenix/sql/limbus/limbus_pools.sql b/modules/phoenix/sql/limbus/limbus_pools.sql index fe0ec89e3f4..157449ea2e8 100644 --- a/modules/phoenix/sql/limbus/limbus_pools.sql +++ b/modules/phoenix/sql/limbus/limbus_pools.sql @@ -181,22 +181,22 @@ INSERT INTO `mob_pools` VALUES (10645,'Kronprinz_Behemoth','Kronprinz_Behemoth', INSERT INTO `mob_pools` VALUES (10646,'Kaiser_Behemoth_A','Kaiser_Behemoth',85,0x0000940100000000000000000000000000000000,6,1,6,240,100,1024,1,1,1,18,0,0,307,133,0,0,126,0,0,479,479,2,51); -- NE Apollyon -INSERT INTO `mob_pools` VALUES (10647,'Borametz','Borametz',350,0x00002D0100000000000000000000000000000000,2,2,1,480,100,0,1,1,1,16,2048,0,3744,131,0,0,0,0,0,178,178,NULL,NULL); -INSERT INTO `mob_pools` VALUES (10648,'Barometz','Barometz',350,0x00002C0100000000000000000000000000000000,2,2,1,480,100,0,1,1,1,16,2048,0,7628,131,0,0,0,0,0,178,178,NULL,NULL); -INSERT INTO `mob_pools` VALUES (10649,'Goobbue_Harvester','Goobbue_Harvester',340,0x0000280100000000000000000000000000000000,1,1,12,320,100,0,1,1,1,18,2048,0,441,135,0,0,0,0,256,136,136,NULL,NULL); -INSERT INTO `mob_pools` VALUES (10650,'Cornu','Cornu',175,0x0000BD0100000000000000000000000000000000,1,1,5,240,100,0,1,1,1,16,2048,0,7,1155,0,0,0,0,256,55,55,NULL,NULL); -INSERT INTO `mob_pools` VALUES (10651,'Sirin','Sirin',175,0x0000BC0100000000000000000000000000000000,1,1,5,240,100,0,1,1,1,16,2048,0,7503,643,8,0,0,0,256,55,55,NULL,NULL); -INSERT INTO `mob_pools` VALUES (10652,'Thiazi','Thiazi',190,0x0000500100000000000000000000000000000000,10,10,12,240,100,0,1,1,0,16,6144,0,7,133,0,0,6,0,256,125,125,NULL,NULL); -INSERT INTO `mob_pools` VALUES (10653,'Bialozar','Bialozar',190,0x0000500100000000000000000000000000000000,10,10,12,240,100,0,1,1,0,16,6144,0,245,133,0,0,6,0,256,125,125,NULL,NULL); -INSERT INTO `mob_pools` VALUES (10654,'Apollyon_Cleaner','Apollyon_Cleaner',69,0x00009C0100000000000000000000000000000000,5,1,7,240,100,0,1,1,1,16,2048,0,131,1155,0,0,36,0,0,175,175,NULL,NULL); -INSERT INTO `mob_pools` VALUES (10655,'Apollyon_Sweeper','Apollyon_Sweeper',60,0x0000300100000000000000000000000000000000,1,1,12,240,100,0,1,1,1,18,2048,0,4680,1159,4,0,0,0,256,85,85,NULL,NULL); -INSERT INTO `mob_pools` VALUES (10656,'Kerkopes','Kerkopes',100,0x0000A00100000000000000000000000000000000,1,1,7,200,100,0,1,1,1,16,2048,0,185,1159,0,0,0,0,0,188,188,NULL,NULL); -INSERT INTO `mob_pools` VALUES (10657,'Hyperion','Hyperion',121,0x0000800200000000000000000000000000000000,1,1,6,240,100,0,1,1,1,16,2048,0,693,131,0,0,0,0,0,130,130,NULL,NULL); -INSERT INTO `mob_pools` VALUES (10658,'Okeanos','Okeanos',121,0x0000800200000000000000000000000000000000,1,1,6,240,100,0,1,1,1,16,2048,0,7683,135,0,0,0,0,0,129,129,NULL,NULL); -INSERT INTO `mob_pools` VALUES (10659,'Cronos','Cronos',121,0x0000800200000000000000000000000000000000,1,1,6,240,100,0,1,1,1,16,2048,0,389,135,0,0,0,0,0,127,127,NULL,NULL); -INSERT INTO `mob_pools` VALUES (10660,'Troglodyte_Dhalmel','Troglodyte_Dhalmel',95,0x00004C0100000000000000000000000000000000,1,1,12,240,100,0,1,1,1,18,2048,0,747,131,0,0,0,0,256,80,80,NULL,NULL); -INSERT INTO `mob_pools` VALUES (10661,'Criosphinx','Criosphinx',98,0x0000920100000000000000000000000000000000,1,1,7,360,100,0,1,1,1,16,2688,0,7165,135,8,0,0,0,256,179,179,NULL,NULL); -INSERT INTO `mob_pools` VALUES (10662,'Hieracosphinx','Hieracosphinx',98,0x0000920100000000000000000000000000000000,1,1,7,360,100,0,1,0,0,16,0,0,6,135,8,0,0,0,256,179,179,NULL,NULL); +INSERT INTO `mob_pools` VALUES (10647,'Borametz','Borametz',350,0x00002D0100000000000000000000000000000000,2,2,1,370,100,0,1,1,1,16,2048,0,3744,131,0,0,0,0,0,178,178,1,8); +INSERT INTO `mob_pools` VALUES (10648,'Barometz','Barometz',350,0x00002C0100000000000000000000000000000000,2,2,1,370,100,0,1,1,1,16,2048,0,7628,131,0,0,0,0,0,178,178,1,8); +INSERT INTO `mob_pools` VALUES (10649,'Goobbue_Harvester','Goobbue_Harvester',340,0x0000280100000000000000000000000000000000,1,1,12,215,100,0,1,1,1,18,2048,0,441,135,0,0,0,0,256,136,136,3,41); +INSERT INTO `mob_pools` VALUES (10650,'Cornu','Cornu',175,0x0000BD0100000000000000000000000000000000,6,6,5,240,100,0,1,1,1,16,2048,0,7,1155,0,0,0,0,256,55,55,1,20); +INSERT INTO `mob_pools` VALUES (10651,'Sirin','Sirin',175,0x0000BC0100000000000000000000000000000000,6,6,5,240,100,0,1,1,1,16,2048,0,7503,643,8,0,0,0,256,55,55,1,20); +INSERT INTO `mob_pools` VALUES (10652,'Thiazi','Thiazi',190,0x0000500100000000000000000000000000000000,10,1,12,340,100,0,1,1,0,16,6144,0,7,133,0,0,6,0,256,125,125,2,36); +INSERT INTO `mob_pools` VALUES (10653,'Bialozar','Bialozar',190,0x0000500100000000000000000000000000000000,10,1,12,240,100,0,1,1,0,16,6144,0,245,133,0,0,6,0,256,125,125,2,36); +INSERT INTO `mob_pools` VALUES (10654,'Apollyon_Cleaner','Apollyon_Cleaner',69,0x00009C0100000000000000000000000000000000,5,1,7,240,100,0,1,1,1,16,2048,0,131,1155,0,0,36,0,0,175,175,1,37); +INSERT INTO `mob_pools` VALUES (10655,'Apollyon_Sweeper','Apollyon_Sweeper',60,0x0000300100000000000000000000000000000000,1,1,12,240,100,0,1,1,1,18,2048,0,4680,1159,4,0,0,0,256,85,85,3,41); +INSERT INTO `mob_pools` VALUES (10656,'Kerkopes','Kerkopes',100,0x0000A00100000000000000000000000000000000,1,1,7,210,100,0,1,1,1,16,2048,0,185,1159,0,0,0,0,0,188,188,1,18); +INSERT INTO `mob_pools` VALUES (10657,'Hyperion','Hyperion',121,0x0000800200000000000000000000000000000000,1,1,6,240,100,0,1,1,1,16,2048,0,693,131,0,0,0,0,0,130,130,1,30); +INSERT INTO `mob_pools` VALUES (10658,'Okeanos','Okeanos',121,0x0000800200000000000000000000000000000000,1,1,6,240,100,0,1,1,1,16,2048,0,7683,135,0,0,0,0,0,129,129,3,41); +INSERT INTO `mob_pools` VALUES (10659,'Cronos','Cronos',121,0x0000800200000000000000000000000000000000,1,1,6,240,100,0,1,1,1,16,2048,0,389,135,0,0,0,0,0,127,127,3,41); +INSERT INTO `mob_pools` VALUES (10660,'Troglodyte_Dhalmel','Troglodyte_Dhalmel',95,0x00004C0100000000000000000000000000000000,1,1,12,360,100,0,1,1,1,18,2048,0,747,131,0,0,0,0,256,80,80,1,37); +INSERT INTO `mob_pools` VALUES (10661,'Criosphinx','Criosphinx',98,0x0000920100000000000000000000000000000000,1,1,7,290,100,0,1,1,1,16,2688,0,7165,135,8,0,0,0,256,179,179,3,44); +INSERT INTO `mob_pools` VALUES (10662,'Hieracosphinx','Hieracosphinx',98,0x0000920100000000000000000000000000000000,1,1,7,290,100,0,1,0,0,16,0,0,6,135,8,0,0,0,256,179,179,3,44); -- SE Apollyon INSERT INTO `mob_pools` VALUES (10663,'Ghost_Clot','Ghost_Clot',16,0x0000260100000000000000000000000000000000,1,1,7,210,100,0,1,1,1,18,0,0,7759,135,0,0,0,0,256,66,66,3,33); diff --git a/modules/phoenix/sql/limbus/limbus_spawn_points.sql b/modules/phoenix/sql/limbus/limbus_spawn_points.sql index 0f958d252fd..24a4cb1ddca 100644 --- a/modules/phoenix/sql/limbus/limbus_spawn_points.sql +++ b/modules/phoenix/sql/limbus/limbus_spawn_points.sql @@ -513,17 +513,17 @@ INSERT INTO `mob_spawn_points` VALUES (16933071,0,'Sirin','Sirin',237,78,78,405. INSERT INTO `mob_spawn_points` VALUES (16933072,0,'Sirin','Sirin',237,78,78,350.000,-0.500,242.000,128,NULL,NULL); INSERT INTO `mob_spawn_points` VALUES (16933073,0,'Sirin','Sirin',237,78,78,350.000,-0.500,248.000,128,NULL,NULL); INSERT INTO `mob_spawn_points` VALUES (16933078,0,'Armoury_Crate_Recover','Armoury Crate',283,1,1,367.000,-0.790,536.000,0,NULL,NULL); -INSERT INTO `mob_spawn_points` VALUES (16933081,0,'Apollyon_Sweeper','Apollyon Sweeper',241,80,80,284.000,-0.500,553.000,0,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (16933081,0,'Apollyon_Sweeper','Apollyon Sweeper',241,80,82,284.000,-0.500,553.000,0,NULL,NULL); INSERT INTO `mob_spawn_points` VALUES (16933082,0,'Apollyon_Cleaner','Apollyon Cleaner',240,78,78,289.210,-0.500,562.470,136,NULL,NULL); INSERT INTO `mob_spawn_points` VALUES (16933083,0,'Apollyon_Cleaner','Apollyon Cleaner',240,78,78,277.075,-0.495,557.767,188,NULL,NULL); INSERT INTO `mob_spawn_points` VALUES (16933084,0,'Apollyon_Cleaner','Apollyon Cleaner',240,78,78,278.794,-0.407,532.062,90,NULL,NULL); INSERT INTO `mob_spawn_points` VALUES (16933085,0,'Apollyon_Cleaner','Apollyon Cleaner',240,78,78,294.102,-0.500,557.373,62,NULL,NULL); -INSERT INTO `mob_spawn_points` VALUES (16933086,0,'Apollyon_Sweeper','Apollyon Sweeper',241,80,80,326.550,-0.474,542.858,209,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (16933086,0,'Apollyon_Sweeper','Apollyon Sweeper',241,80,82,326.550,-0.474,542.858,209,NULL,NULL); INSERT INTO `mob_spawn_points` VALUES (16933087,0,'Apollyon_Cleaner','Apollyon Cleaner',240,78,78,312.713,-0.406,594.577,127,NULL,NULL); INSERT INTO `mob_spawn_points` VALUES (16933088,0,'Apollyon_Cleaner','Apollyon Cleaner',240,78,78,327.726,-0.499,591.391,229,NULL,NULL); INSERT INTO `mob_spawn_points` VALUES (16933089,0,'Apollyon_Cleaner','Apollyon Cleaner',240,78,78,333.459,-0.500,565.051,0,NULL,NULL); INSERT INTO `mob_spawn_points` VALUES (16933090,0,'Apollyon_Cleaner','Apollyon Cleaner',240,78,78,337.937,-0.500,559.812,78,NULL,NULL); -INSERT INTO `mob_spawn_points` VALUES (16933091,0,'Apollyon_Sweeper','Apollyon Sweeper',241,80,80,321.294,-0.500,490.523,92,NULL,NULL); +INSERT INTO `mob_spawn_points` VALUES (16933091,0,'Apollyon_Sweeper','Apollyon Sweeper',241,80,82,321.294,-0.500,490.523,92,NULL,NULL); INSERT INTO `mob_spawn_points` VALUES (16933092,0,'Apollyon_Cleaner','Apollyon Cleaner',240,78,78,325.514,-0.500,502.881,72,NULL,NULL); INSERT INTO `mob_spawn_points` VALUES (16933093,0,'Apollyon_Cleaner','Apollyon Cleaner',240,78,78,339.300,-0.500,518.345,97,NULL,NULL); INSERT INTO `mob_spawn_points` VALUES (16933094,0,'Apollyon_Cleaner','Apollyon Cleaner',240,78,78,361.428,-0.391,540.602,138,NULL,NULL); diff --git a/scripts/battlefields/Apollyon/cs_apollyon.lua b/scripts/battlefields/Apollyon/cs_apollyon.lua index be804819b34..47cc88a45f3 100644 --- a/scripts/battlefields/Apollyon/cs_apollyon.lua +++ b/scripts/battlefields/Apollyon/cs_apollyon.lua @@ -279,18 +279,18 @@ content.loot = { { quantity = 5, - { itemId = xi.item.ANCIENT_BEASTCOIN, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.ANCIENT_BEASTCOIN, weight = 10000 }, }, { quantity = 2, - { itemId = xi.item.NONE, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.ANCIENT_BEASTCOIN, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.NONE, weight = 5000 }, + { itemId = xi.item.ANCIENT_BEASTCOIN, weight = 5000 }, }, { - { itemId = xi.item.NONE, weight = xi.loot.weight.VERY_HIGH }, - { itemId = xi.item.METAL_CHIP, weight = xi.loot.weight.VERY_LOW }, + { itemId = xi.item.NONE, weight = 10000 }, + { itemId = xi.item.METAL_CHIP, weight = 1000 }, }, }, } diff --git a/scripts/battlefields/Apollyon/ne_apollyon.lua b/scripts/battlefields/Apollyon/ne_apollyon.lua index 4f243c29720..ebf495322b7 100644 --- a/scripts/battlefields/Apollyon/ne_apollyon.lua +++ b/scripts/battlefields/Apollyon/ne_apollyon.lua @@ -24,6 +24,53 @@ local content = Limbus:new({ timeExtension = 5, }) +-- Loot crate spawns when all dhalmel are dead or both manticores are dead, whichever happens first. +local function showLootCrate(battlefield) + if battlefield:getLocalVar('lootCrateShown') == 0 then + battlefield:setLocalVar('lootCrateShown', 1) + npcUtil.showCrate(GetNPCByID(ID.npc.NE_LOOT_CRATE)) + end +end + +-- If a Manticore dies while any Troglodyte Dhalmel is still alive, the surviving manticore gets 100% DA + 30% MDT. +local function empowerSurvivingManticore(deadMob) + local survivorId = ID.mob.NE_CRIOSPHINX + + if deadMob:getID() == ID.mob.NE_CRIOSPHINX then + survivorId = ID.mob.NE_HIERACOSPHINX + end + + local survivor = GetMobByID(survivorId) + + if + not survivor or + not survivor:isAlive() or + survivor:getLocalVar('empowered') == 1 + then + return + end + + local dhalmelAlive = false + + for offset = 0, 7 do + local dhalmel = GetMobByID(ID.mob.NE_TROGLODYTE_DHALMEL_OFFSET + offset) + + if dhalmel and dhalmel:isAlive() then + dhalmelAlive = true + break + end + end + + if not dhalmelAlive then + return + end + + survivor:setLocalVar('empowered', 1) + survivor:setMod(xi.mod.DOUBLE_ATTACK, 100) + survivor:setMod(xi.mod.DMGMAGIC, -3000) + survivor:injectActionPacket(survivor:getID(), 11, 432, 0, 24, 0, 603, 0) +end + function content:onBattlefieldInitialize(battlefield) Limbus.onBattlefieldInitialize(self, battlefield) @@ -36,6 +83,13 @@ function content:onBattlefieldInitialize(battlefield) end end +function content:onBattlefieldRegister(player, battlefield) + Limbus.onBattlefieldRegister(self, player, battlefield) + + -- Floor 3 scales with the size of the alliance that registered the battlefield. + battlefield:setLocalVar('allianceSize', player:getAllianceSize()) +end + content.paths = { [ID.mob.NE_GOOBBUE_HARVESTER] = @@ -149,15 +203,13 @@ content.groups = { mobs = { 'Barometz', 'Borametz', 'Barometz_Boss', 'Borametz_Boss' }, - mobMods = { [xi.mobMod.ALLI_HATE] = 50 }, stationary = false, }, -- Floor 2 { - mobs = { 'Bialozar_Boss' }, - mobMods = { [xi.mobMod.DETECTION] = xi.detects.HEARING }, - death = function(battlefield, mob, count) + mobs = { 'Bialozar_Boss' }, + death = function(battlefield, mob, count) xi.limbus.spawnFrom(mob, ID.NE_APOLLYON.npc.ITEM_CRATES[2]) end, }, @@ -169,7 +221,6 @@ content.groups = { -- Bialozar and Thiazi x2 mobs = { 'Bialozar', 'Thiazi' }, - mobMods = { [xi.mobMod.DETECTION] = xi.detects.HEARING }, randomDeath = function(battlefield, mob) content:openDoor(battlefield, 2) @@ -184,8 +235,14 @@ content.groups = local cleanersLarge = { - mobIds = {}, + mobIds = {}, stationary = false, + setup = function(battlefieldInner, cleanerMobs) + for _, cleanerMob in ipairs(cleanerMobs) do + cleanerMob:setModelSize(3) + cleanerMob:setHitboxSize(5.3) + end + end, randomDeath = function(battlefieldInner, cleanerMob) xi.limbus.spawnFrom(cleanerMob, ID.NE_APOLLYON.npc.ITEM_CRATES[3]) @@ -199,28 +256,18 @@ content.groups = stationary = false, } - -- Every 6 players we add another group of mobs (1 Sweeper and 4 Cleaners) - table.insert(sweepers.mobIds, ID.mob.NE_APOLLYON_SWEEPER_OFFSET) - table.insert(cleanersLarge.mobIds, ID.mob.NE_APOLLYON_SWEEPER_OFFSET + 1) - table.insert(cleanersSmall.mobIds, ID.mob.NE_APOLLYON_SWEEPER_OFFSET + 2) - table.insert(cleanersSmall.mobIds, ID.mob.NE_APOLLYON_SWEEPER_OFFSET + 3) - table.insert(cleanersSmall.mobIds, ID.mob.NE_APOLLYON_SWEEPER_OFFSET + 4) - - local playerCount = #battlefield:getPlayers() - - if playerCount > 6 then - table.insert(sweepers.mobIds, ID.mob.NE_APOLLYON_SWEEPER_OFFSET + 5) - table.insert(cleanersLarge.mobIds, ID.mob.NE_APOLLYON_SWEEPER_OFFSET + 6) - table.insert(cleanersSmall.mobIds, ID.mob.NE_APOLLYON_SWEEPER_OFFSET + 7) - table.insert(cleanersSmall.mobIds, ID.mob.NE_APOLLYON_SWEEPER_OFFSET + 8) - table.insert(cleanersSmall.mobIds, ID.mob.NE_APOLLYON_SWEEPER_OFFSET + 9) - - if playerCount > 12 then - table.insert(sweepers.mobIds, ID.mob.NE_APOLLYON_SWEEPER_OFFSET + 10) - table.insert(cleanersLarge.mobIds, ID.mob.NE_APOLLYON_SWEEPER_OFFSET + 11) - table.insert(cleanersSmall.mobIds, ID.mob.NE_APOLLYON_SWEEPER_OFFSET + 12) - table.insert(cleanersSmall.mobIds, ID.mob.NE_APOLLYON_SWEEPER_OFFSET + 13) - table.insert(cleanersSmall.mobIds, ID.mob.NE_APOLLYON_SWEEPER_OFFSET + 14) + -- Scales based on the amount of the players + local mobCount = utils.clamp(battlefield:getLocalVar('allianceSize') + 1, 5, 15) + + for offset = 0, mobCount - 1 do + local mobId = ID.mob.NE_APOLLYON_SWEEPER_OFFSET + offset + + if offset % 5 == 0 then + table.insert(sweepers.mobIds, mobId) + elseif offset % 5 == 1 then + table.insert(cleanersLarge.mobIds, mobId) + else + table.insert(cleanersSmall.mobIds, mobId) end end @@ -240,21 +287,6 @@ content.groups = end, }, - { - mobs = { 'Hyperion' }, - mods = { [xi.mod.NULL_MAGICAL_DAMAGE] = 100 }, - }, - - { - mobs = { 'Okeanos' }, - mods = { [xi.mod.NULL_RANGED_DAMAGE] = 100 }, - }, - - { - mobs = { 'Cronos' }, - mods = { [xi.mod.NULL_PHYSICAL_DAMAGE] = 100 }, - }, - { mobs = { 'Kerkopes_Boss' }, stationary = false, @@ -272,18 +304,19 @@ content.groups = { mobs = { 'Troglodyte_Dhalmel' }, allDeath = function(battlefield, mob) - npcUtil.showCrate(GetNPCByID(ID.npc.NE_LOOT_CRATE)) + showLootCrate(battlefield) end, }, { - mobs = { 'Criosphinx', 'Hieracosphinx' }, - mods = - { - [xi.mod.GRAVITY_MEVA] = 75, - [xi.mod.BIND_MEVA ] = 75, - [xi.mod.SLEEP_MEVA ] = 75, - }, + mobs = { 'Criosphinx', 'Hieracosphinx' }, + death = function(battlefield, mob, count) + empowerSurvivingManticore(mob) + end, + + allDeath = function(battlefield, mob) + showLootCrate(battlefield) + end, } } @@ -293,32 +326,45 @@ content.loot = { { quantity = 2, - { itemId = xi.item.ANCIENT_BEASTCOIN, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.ANCIENT_BEASTCOIN, weight = 10000 }, }, { - { itemId = xi.item.NONE, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.ANCIENT_BEASTCOIN, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.NONE, weight = 5000 }, + { itemId = xi.item.ANCIENT_BEASTCOIN, weight = 5000 }, }, { - { itemId = xi.item.SQUARE_OF_CARDINAL_CLOTH, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.SQUARE_OF_CHARCOAL_COTTON, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.SQUARE_OF_ASTRAL_LEATHER, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.GOLD_STUD, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.ARGYRO_RIVET, weight = 1000 }, -- WAR + { itemId = xi.item.ANCIENT_BRASS_INGOT, weight = 1000 }, -- MNK + { itemId = xi.item.SPOOL_OF_BENEDICT_YARN, weight = 1000 }, -- WHM + { itemId = xi.item.SPOOL_OF_DIABOLIC_YARN, weight = 1000 }, -- BLM + { itemId = xi.item.SQUARE_OF_CARDINAL_CLOTH, weight = 1000 }, -- RDM + { itemId = xi.item.SPOOL_OF_LIGHT_FILAMENT, weight = 1000 }, -- THF + { itemId = xi.item.WHITE_RIVET, weight = 1000 }, -- PLD + { itemId = xi.item.BLACK_RIVET, weight = 1000 }, -- DRK + { itemId = xi.item.FETID_LANOLIN_CUBE, weight = 1000 }, -- BST + -- { itemId = xi.item.GOLD_STUD, weight = 1000 }, -- DNC }, { - { itemId = xi.item.NONE, weight = xi.loot.weight.VERY_HIGH }, - { itemId = xi.item.BLACK_RIVET, weight = xi.loot.weight.LOW }, - { itemId = xi.item.FETID_LANOLIN_CUBE, weight = xi.loot.weight.LOW }, - { itemId = xi.item.SHEET_OF_KUROGANE, weight = xi.loot.weight.LOW }, - { itemId = xi.item.ELECTRUM_STUD, weight = xi.loot.weight.LOW }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.SQUARE_OF_BROWN_DOESKIN, weight = 1000 }, -- BRD + { itemId = xi.item.SQUARE_OF_CHARCOAL_COTTON, weight = 1000 }, -- RNG + { itemId = xi.item.SHEET_OF_KUROGANE, weight = 1000 }, -- SAM + { itemId = xi.item.POT_OF_EBONY_LACQUER, weight = 1000 }, -- NIN + { itemId = xi.item.BLUE_RIVET, weight = 1000 }, -- DRG + { itemId = xi.item.SQUARE_OF_ASTRAL_LEATHER, weight = 1000 }, -- SMN + { itemId = xi.item.SQUARE_OF_FLAMESHUN_CLOTH, weight = 1000 }, -- BLU + { itemId = xi.item.SQUARE_OF_CANVAS_TOILE, weight = 1000 }, -- COR + { itemId = xi.item.SQUARE_OF_CORDUROY_CLOTH, weight = 1000 }, -- PUP + -- { itemId = xi.item.ELECTRUM_STUD, weight = 1000 }, -- SCH }, { - { itemId = xi.item.NONE, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.ANCIENT_BEASTCOIN, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.NONE, weight = 5000 }, + { itemId = xi.item.ANCIENT_BEASTCOIN, weight = 5000 }, }, }, @@ -326,32 +372,45 @@ content.loot = { { quantity = 3, - { itemId = xi.item.ANCIENT_BEASTCOIN, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.ANCIENT_BEASTCOIN, weight = 10000 }, }, { - { itemId = xi.item.NONE, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.ANCIENT_BEASTCOIN, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.NONE, weight = 5000 }, + { itemId = xi.item.ANCIENT_BEASTCOIN, weight = 5000 }, }, { - { itemId = xi.item.ARGYRO_RIVET, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.FETID_LANOLIN_CUBE, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.SHEET_OF_KUROGANE, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.SQUARE_OF_FLAMESHUN_CLOTH, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.ARGYRO_RIVET, weight = 1000 }, -- WAR + { itemId = xi.item.ANCIENT_BRASS_INGOT, weight = 1000 }, -- MNK + { itemId = xi.item.SPOOL_OF_BENEDICT_YARN, weight = 1000 }, -- WHM + { itemId = xi.item.SPOOL_OF_DIABOLIC_YARN, weight = 1000 }, -- BLM + { itemId = xi.item.SQUARE_OF_CARDINAL_CLOTH, weight = 1000 }, -- RDM + { itemId = xi.item.SPOOL_OF_LIGHT_FILAMENT, weight = 1000 }, -- THF + { itemId = xi.item.WHITE_RIVET, weight = 1000 }, -- PLD + { itemId = xi.item.BLACK_RIVET, weight = 1000 }, -- DRK + { itemId = xi.item.FETID_LANOLIN_CUBE, weight = 1000 }, -- BST + -- { itemId = xi.item.GOLD_STUD, weight = 1000 }, -- DNC }, { - { itemId = xi.item.NONE, weight = xi.loot.weight.VERY_HIGH }, - { itemId = xi.item.ANCIENT_BRASS_INGOT, weight = xi.loot.weight.LOW }, - { itemId = xi.item.SQUARE_OF_CHARCOAL_COTTON, weight = xi.loot.weight.LOW }, - { itemId = xi.item.SQUARE_OF_BROWN_DOESKIN, weight = xi.loot.weight.LOW }, - { itemId = xi.item.SQUARE_OF_CANVAS_TOILE, weight = xi.loot.weight.LOW }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.SQUARE_OF_BROWN_DOESKIN, weight = 1000 }, -- BRD + { itemId = xi.item.SQUARE_OF_CHARCOAL_COTTON, weight = 1000 }, -- RNG + { itemId = xi.item.SHEET_OF_KUROGANE, weight = 1000 }, -- SAM + { itemId = xi.item.POT_OF_EBONY_LACQUER, weight = 1000 }, -- NIN + { itemId = xi.item.BLUE_RIVET, weight = 1000 }, -- DRG + { itemId = xi.item.SQUARE_OF_ASTRAL_LEATHER, weight = 1000 }, -- SMN + { itemId = xi.item.SQUARE_OF_FLAMESHUN_CLOTH, weight = 1000 }, -- BLU + { itemId = xi.item.SQUARE_OF_CANVAS_TOILE, weight = 1000 }, -- COR + { itemId = xi.item.SQUARE_OF_CORDUROY_CLOTH, weight = 1000 }, -- PUP + -- { itemId = xi.item.ELECTRUM_STUD, weight = 1000 }, -- SCH }, { - { itemId = xi.item.NONE, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.ANCIENT_BEASTCOIN, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.NONE, weight = 5000 }, + { itemId = xi.item.ANCIENT_BEASTCOIN, weight = 5000 }, }, }, @@ -359,40 +418,53 @@ content.loot = { { quantity = 4, - { itemId = xi.item.ANCIENT_BEASTCOIN, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.ANCIENT_BEASTCOIN, weight = 10000 }, }, { - { itemId = xi.item.NONE, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.ANCIENT_BEASTCOIN, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.NONE, weight = 5000 }, + { itemId = xi.item.ANCIENT_BEASTCOIN, weight = 5000 }, }, { - { itemId = xi.item.SPOOL_OF_BENEDICT_YARN, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.SPOOL_OF_LIGHT_FILAMENT, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.BLUE_RIVET, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.ELECTRUM_STUD, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.ARGYRO_RIVET, weight = 1000 }, -- WAR + { itemId = xi.item.ANCIENT_BRASS_INGOT, weight = 1000 }, -- MNK + { itemId = xi.item.SPOOL_OF_BENEDICT_YARN, weight = 1000 }, -- WHM + { itemId = xi.item.SPOOL_OF_DIABOLIC_YARN, weight = 1000 }, -- BLM + { itemId = xi.item.SQUARE_OF_CARDINAL_CLOTH, weight = 1000 }, -- RDM + { itemId = xi.item.SPOOL_OF_LIGHT_FILAMENT, weight = 1000 }, -- THF + { itemId = xi.item.WHITE_RIVET, weight = 1000 }, -- PLD + { itemId = xi.item.BLACK_RIVET, weight = 1000 }, -- DRK + { itemId = xi.item.FETID_LANOLIN_CUBE, weight = 1000 }, -- BST + -- { itemId = xi.item.GOLD_STUD, weight = 1000 }, -- DNC }, { - { itemId = xi.item.NONE, weight = xi.loot.weight.VERY_HIGH }, - { itemId = xi.item.SQUARE_OF_CARDINAL_CLOTH, weight = xi.loot.weight.LOW }, - { itemId = xi.item.WHITE_RIVET, weight = xi.loot.weight.LOW }, - { itemId = xi.item.SQUARE_OF_ASTRAL_LEATHER, weight = xi.loot.weight.LOW }, - { itemId = xi.item.SQUARE_OF_CORDUROY_CLOTH, weight = xi.loot.weight.LOW }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.SQUARE_OF_BROWN_DOESKIN, weight = 1000 }, -- BRD + { itemId = xi.item.SQUARE_OF_CHARCOAL_COTTON, weight = 1000 }, -- RNG + { itemId = xi.item.SHEET_OF_KUROGANE, weight = 1000 }, -- SAM + { itemId = xi.item.POT_OF_EBONY_LACQUER, weight = 1000 }, -- NIN + { itemId = xi.item.BLUE_RIVET, weight = 1000 }, -- DRG + { itemId = xi.item.SQUARE_OF_ASTRAL_LEATHER, weight = 1000 }, -- SMN + { itemId = xi.item.SQUARE_OF_FLAMESHUN_CLOTH, weight = 1000 }, -- BLU + { itemId = xi.item.SQUARE_OF_CANVAS_TOILE, weight = 1000 }, -- COR + { itemId = xi.item.SQUARE_OF_CORDUROY_CLOTH, weight = 1000 }, -- PUP + -- { itemId = xi.item.ELECTRUM_STUD, weight = 1000 }, -- SCH }, { quantity = 2, - { itemId = xi.item.NONE, weight = xi.loot.weight.VERY_HIGH }, - { itemId = xi.item.CHUNK_OF_ADAMAN_ORE, weight = xi.loot.weight.VERY_LOW }, - { itemId = xi.item.HANDFUL_OF_CLOT_PLASMA, weight = xi.loot.weight.VERY_LOW }, - { itemId = xi.item.DARKSTEEL_SHEET, weight = xi.loot.weight.VERY_LOW }, - { itemId = xi.item.CHUNK_OF_DARKSTEEL_ORE, weight = xi.loot.weight.VERY_LOW }, - { itemId = xi.item.PIECE_OF_OXBLOOD, weight = xi.loot.weight.VERY_LOW }, - { itemId = xi.item.LIGHT_STEEL_INGOT, weight = xi.loot.weight.VERY_LOW }, - { itemId = xi.item.SPOOL_OF_RAINBOW_THREAD, weight = xi.loot.weight.VERY_LOW }, - { itemId = xi.item.PONZE_OF_SHELL_POWDER, weight = xi.loot.weight.VERY_LOW }, + { itemId = xi.item.NONE, weight = 10000 }, + { itemId = xi.item.CHUNK_OF_ADAMAN_ORE, weight = 1000 }, + { itemId = xi.item.HANDFUL_OF_CLOT_PLASMA, weight = 1000 }, + { itemId = xi.item.DARKSTEEL_SHEET, weight = 1000 }, + { itemId = xi.item.CHUNK_OF_DARKSTEEL_ORE, weight = 1000 }, + { itemId = xi.item.PIECE_OF_OXBLOOD, weight = 1000 }, + { itemId = xi.item.LIGHT_STEEL_INGOT, weight = 1000 }, + { itemId = xi.item.SPOOL_OF_RAINBOW_THREAD, weight = 1000 }, + { itemId = xi.item.PONZE_OF_SHELL_POWDER, weight = 1000 }, }, }, @@ -400,28 +472,41 @@ content.loot = { { quantity = 5, - { itemId = xi.item.ANCIENT_BEASTCOIN, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.ANCIENT_BEASTCOIN, weight = 10000 }, }, { quantity = 2, - { itemId = xi.item.NONE, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.ANCIENT_BEASTCOIN, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.NONE, weight = 5000 }, + { itemId = xi.item.ANCIENT_BEASTCOIN, weight = 5000 }, }, { - { itemId = xi.item.SPOOL_OF_DIABOLIC_YARN, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.BLACK_RIVET, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.POT_OF_EBONY_LACQUER, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.SQUARE_OF_CORDUROY_CLOTH, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.ARGYRO_RIVET, weight = 1000 }, -- WAR + { itemId = xi.item.ANCIENT_BRASS_INGOT, weight = 1000 }, -- MNK + { itemId = xi.item.SPOOL_OF_BENEDICT_YARN, weight = 1000 }, -- WHM + { itemId = xi.item.SPOOL_OF_DIABOLIC_YARN, weight = 1000 }, -- BLM + { itemId = xi.item.SQUARE_OF_CARDINAL_CLOTH, weight = 1000 }, -- RDM + { itemId = xi.item.SPOOL_OF_LIGHT_FILAMENT, weight = 1000 }, -- THF + { itemId = xi.item.WHITE_RIVET, weight = 1000 }, -- PLD + { itemId = xi.item.BLACK_RIVET, weight = 1000 }, -- DRK + { itemId = xi.item.FETID_LANOLIN_CUBE, weight = 1000 }, -- BST + -- { itemId = xi.item.GOLD_STUD, weight = 1000 }, -- DNC }, { - { itemId = xi.item.NONE, weight = xi.loot.weight.VERY_HIGH }, - { itemId = xi.item.ARGYRO_RIVET, weight = xi.loot.weight.LOW }, - { itemId = xi.item.SPOOL_OF_LIGHT_FILAMENT, weight = xi.loot.weight.LOW }, - { itemId = xi.item.BLUE_RIVET, weight = xi.loot.weight.LOW }, - { itemId = xi.item.GOLD_STUD, weight = xi.loot.weight.LOW }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.SQUARE_OF_BROWN_DOESKIN, weight = 1000 }, -- BRD + { itemId = xi.item.SQUARE_OF_CHARCOAL_COTTON, weight = 1000 }, -- RNG + { itemId = xi.item.SHEET_OF_KUROGANE, weight = 1000 }, -- SAM + { itemId = xi.item.POT_OF_EBONY_LACQUER, weight = 1000 }, -- NIN + { itemId = xi.item.BLUE_RIVET, weight = 1000 }, -- DRG + { itemId = xi.item.SQUARE_OF_ASTRAL_LEATHER, weight = 1000 }, -- SMN + { itemId = xi.item.SQUARE_OF_FLAMESHUN_CLOTH, weight = 1000 }, -- BLU + { itemId = xi.item.SQUARE_OF_CANVAS_TOILE, weight = 1000 }, -- COR + { itemId = xi.item.SQUARE_OF_CORDUROY_CLOTH, weight = 1000 }, -- PUP + -- { itemId = xi.item.ELECTRUM_STUD, weight = 1000 }, -- SCH }, }, @@ -429,31 +514,44 @@ content.loot = { { quantity = 6, - { itemId = xi.item.ANCIENT_BEASTCOIN, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.ANCIENT_BEASTCOIN, weight = 10000 }, }, { - { itemId = xi.item.ANCIENT_BRASS_INGOT, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.WHITE_RIVET, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.SQUARE_OF_BROWN_DOESKIN, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.SQUARE_OF_CANVAS_TOILE, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.ARGYRO_RIVET, weight = 1000 }, -- WAR + { itemId = xi.item.ANCIENT_BRASS_INGOT, weight = 1000 }, -- MNK + { itemId = xi.item.SPOOL_OF_BENEDICT_YARN, weight = 1000 }, -- WHM + { itemId = xi.item.SPOOL_OF_DIABOLIC_YARN, weight = 1000 }, -- BLM + { itemId = xi.item.SQUARE_OF_CARDINAL_CLOTH, weight = 1000 }, -- RDM + { itemId = xi.item.SPOOL_OF_LIGHT_FILAMENT, weight = 1000 }, -- THF + { itemId = xi.item.WHITE_RIVET, weight = 1000 }, -- PLD + { itemId = xi.item.BLACK_RIVET, weight = 1000 }, -- DRK + { itemId = xi.item.FETID_LANOLIN_CUBE, weight = 1000 }, -- BST + -- { itemId = xi.item.GOLD_STUD, weight = 1000 }, -- DNC }, { - { itemId = xi.item.NONE, weight = xi.loot.weight.VERY_HIGH }, - { itemId = xi.item.SPOOL_OF_BENEDICT_YARN, weight = xi.loot.weight.LOW }, - { itemId = xi.item.SPOOL_OF_DIABOLIC_YARN, weight = xi.loot.weight.LOW }, - { itemId = xi.item.POT_OF_EBONY_LACQUER, weight = xi.loot.weight.LOW }, - { itemId = xi.item.SQUARE_OF_FLAMESHUN_CLOTH, weight = xi.loot.weight.LOW }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.SQUARE_OF_BROWN_DOESKIN, weight = 1000 }, -- BRD + { itemId = xi.item.SQUARE_OF_CHARCOAL_COTTON, weight = 1000 }, -- RNG + { itemId = xi.item.SHEET_OF_KUROGANE, weight = 1000 }, -- SAM + { itemId = xi.item.POT_OF_EBONY_LACQUER, weight = 1000 }, -- NIN + { itemId = xi.item.BLUE_RIVET, weight = 1000 }, -- DRG + { itemId = xi.item.SQUARE_OF_ASTRAL_LEATHER, weight = 1000 }, -- SMN + { itemId = xi.item.SQUARE_OF_FLAMESHUN_CLOTH, weight = 1000 }, -- BLU + { itemId = xi.item.SQUARE_OF_CANVAS_TOILE, weight = 1000 }, -- COR + { itemId = xi.item.SQUARE_OF_CORDUROY_CLOTH, weight = 1000 }, -- PUP + -- { itemId = xi.item.ELECTRUM_STUD, weight = 1000 }, -- SCH }, { - { itemId = xi.item.SMOKY_CHIP, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.SMOKY_CHIP, weight = 10000 }, }, { - { itemId = xi.item.NONE, weight = xi.loot.weight.VERY_HIGH }, - { itemId = xi.item.METAL_CHIP, weight = xi.loot.weight.VERY_LOW }, + { itemId = xi.item.NONE, weight = 10000 }, + { itemId = xi.item.METAL_CHIP, weight = 1000 }, }, }, } diff --git a/scripts/battlefields/Apollyon/se_apollyon.lua b/scripts/battlefields/Apollyon/se_apollyon.lua index e53d3656323..d0a8fc8f68e 100644 --- a/scripts/battlefields/Apollyon/se_apollyon.lua +++ b/scripts/battlefields/Apollyon/se_apollyon.lua @@ -290,32 +290,45 @@ content.loot = { { quantity = 5, - { itemId = xi.item.ANCIENT_BEASTCOIN, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.ANCIENT_BEASTCOIN, weight = 10000 }, }, { - { itemId = xi.item.NONE, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.ANCIENT_BEASTCOIN, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.NONE, weight = 5000 }, + { itemId = xi.item.ANCIENT_BEASTCOIN, weight = 5000 }, }, { - { itemId = xi.item.SPOOL_OF_BENEDICT_YARN, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.SHEET_OF_KUROGANE, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.POT_OF_EBONY_LACQUER, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.SQUARE_OF_FLAMESHUN_CLOTH, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.ARGYRO_RIVET, weight = 1000 }, -- WAR + { itemId = xi.item.ANCIENT_BRASS_INGOT, weight = 1000 }, -- MNK + { itemId = xi.item.SPOOL_OF_BENEDICT_YARN, weight = 1000 }, -- WHM + { itemId = xi.item.SPOOL_OF_DIABOLIC_YARN, weight = 1000 }, -- BLM + { itemId = xi.item.SQUARE_OF_CARDINAL_CLOTH, weight = 1000 }, -- RDM + { itemId = xi.item.SPOOL_OF_LIGHT_FILAMENT, weight = 1000 }, -- THF + { itemId = xi.item.WHITE_RIVET, weight = 1000 }, -- PLD + { itemId = xi.item.BLACK_RIVET, weight = 1000 }, -- DRK + { itemId = xi.item.FETID_LANOLIN_CUBE, weight = 1000 }, -- BST + -- { itemId = xi.item.GOLD_STUD, weight = 1000 }, -- DNC }, { - { itemId = xi.item.NONE, weight = xi.loot.weight.VERY_HIGH }, - { itemId = xi.item.ARGYRO_RIVET, weight = xi.loot.weight.LOW }, - { itemId = xi.item.SPOOL_OF_BENEDICT_YARN, weight = xi.loot.weight.LOW }, - { itemId = xi.item.SQUARE_OF_BROWN_DOESKIN, weight = xi.loot.weight.LOW }, - { itemId = xi.item.SQUARE_OF_CANVAS_TOILE, weight = xi.loot.weight.LOW }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.SQUARE_OF_BROWN_DOESKIN, weight = 1000 }, -- BRD + { itemId = xi.item.SQUARE_OF_CHARCOAL_COTTON, weight = 1000 }, -- RNG + { itemId = xi.item.SHEET_OF_KUROGANE, weight = 1000 }, -- SAM + { itemId = xi.item.POT_OF_EBONY_LACQUER, weight = 1000 }, -- NIN + { itemId = xi.item.BLUE_RIVET, weight = 1000 }, -- DRG + { itemId = xi.item.SQUARE_OF_ASTRAL_LEATHER, weight = 1000 }, -- SMN + { itemId = xi.item.SQUARE_OF_FLAMESHUN_CLOTH, weight = 1000 }, -- BLU + { itemId = xi.item.SQUARE_OF_CANVAS_TOILE, weight = 1000 }, -- COR + { itemId = xi.item.SQUARE_OF_CORDUROY_CLOTH, weight = 1000 }, -- PUP + -- { itemId = xi.item.ELECTRUM_STUD, weight = 1000 }, -- SCH }, { - { itemId = xi.item.NONE, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.ANCIENT_BEASTCOIN, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.NONE, weight = 5000 }, + { itemId = xi.item.ANCIENT_BEASTCOIN, weight = 5000 }, }, }, @@ -323,32 +336,45 @@ content.loot = { { quantity = 5, - { itemId = xi.item.ANCIENT_BEASTCOIN, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.ANCIENT_BEASTCOIN, weight = 10000 }, }, { - { itemId = xi.item.NONE, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.ANCIENT_BEASTCOIN, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.NONE, weight = 5000 }, + { itemId = xi.item.ANCIENT_BEASTCOIN, weight = 5000 }, }, { - { itemId = xi.item.ANCIENT_BRASS_INGOT, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.SQUARE_OF_CARDINAL_CLOTH, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.SQUARE_OF_BROWN_DOESKIN, weight = xi.loot.weight.NORMAL }, - -- { itemId = xi.item.ELECTRUM_STUD, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.ARGYRO_RIVET, weight = 1000 }, -- WAR + { itemId = xi.item.ANCIENT_BRASS_INGOT, weight = 1000 }, -- MNK + { itemId = xi.item.SPOOL_OF_BENEDICT_YARN, weight = 1000 }, -- WHM + { itemId = xi.item.SPOOL_OF_DIABOLIC_YARN, weight = 1000 }, -- BLM + { itemId = xi.item.SQUARE_OF_CARDINAL_CLOTH, weight = 1000 }, -- RDM + { itemId = xi.item.SPOOL_OF_LIGHT_FILAMENT, weight = 1000 }, -- THF + { itemId = xi.item.WHITE_RIVET, weight = 1000 }, -- PLD + { itemId = xi.item.BLACK_RIVET, weight = 1000 }, -- DRK + { itemId = xi.item.FETID_LANOLIN_CUBE, weight = 1000 }, -- BST + -- { itemId = xi.item.GOLD_STUD, weight = 1000 }, -- DNC }, { - { itemId = xi.item.NONE, weight = xi.loot.weight.VERY_HIGH }, - { itemId = xi.item.SQUARE_OF_CARDINAL_CLOTH, weight = xi.loot.weight.LOW }, - { itemId = xi.item.WHITE_RIVET, weight = xi.loot.weight.LOW }, - { itemId = xi.item.POT_OF_EBONY_LACQUER, weight = xi.loot.weight.LOW }, - { itemId = xi.item.SQUARE_OF_FLAMESHUN_CLOTH, weight = xi.loot.weight.LOW }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.SQUARE_OF_BROWN_DOESKIN, weight = 1000 }, -- BRD + { itemId = xi.item.SQUARE_OF_CHARCOAL_COTTON, weight = 1000 }, -- RNG + { itemId = xi.item.SHEET_OF_KUROGANE, weight = 1000 }, -- SAM + { itemId = xi.item.POT_OF_EBONY_LACQUER, weight = 1000 }, -- NIN + { itemId = xi.item.BLUE_RIVET, weight = 1000 }, -- DRG + { itemId = xi.item.SQUARE_OF_ASTRAL_LEATHER, weight = 1000 }, -- SMN + { itemId = xi.item.SQUARE_OF_FLAMESHUN_CLOTH, weight = 1000 }, -- BLU + { itemId = xi.item.SQUARE_OF_CANVAS_TOILE, weight = 1000 }, -- COR + { itemId = xi.item.SQUARE_OF_CORDUROY_CLOTH, weight = 1000 }, -- PUP + -- { itemId = xi.item.ELECTRUM_STUD, weight = 1000 }, -- SCH }, { - { itemId = xi.item.NONE, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.ANCIENT_BEASTCOIN, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.NONE, weight = 5000 }, + { itemId = xi.item.ANCIENT_BEASTCOIN, weight = 5000 }, }, }, @@ -356,49 +382,54 @@ content.loot = { { quantity = 5, - { itemId = xi.item.ANCIENT_BEASTCOIN, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.ANCIENT_BEASTCOIN, weight = 10000 }, }, { quantity = 2, - { itemId = xi.item.NONE, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.ANCIENT_BEASTCOIN, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.NONE, weight = 5000 }, + { itemId = xi.item.ANCIENT_BEASTCOIN, weight = 5000 }, }, { - { itemId = xi.item.ARGYRO_RIVET, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.SPOOL_OF_DIABOLIC_YARN, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.SQUARE_OF_ASTRAL_LEATHER, weight = xi.loot.weight.NORMAL }, - -- { itemId = xi.item.GOLD_STUD, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.ARGYRO_RIVET, weight = 1000 }, -- WAR + { itemId = xi.item.ANCIENT_BRASS_INGOT, weight = 1000 }, -- MNK + { itemId = xi.item.SPOOL_OF_BENEDICT_YARN, weight = 1000 }, -- WHM + { itemId = xi.item.SPOOL_OF_DIABOLIC_YARN, weight = 1000 }, -- BLM + { itemId = xi.item.SQUARE_OF_CARDINAL_CLOTH, weight = 1000 }, -- RDM + { itemId = xi.item.SPOOL_OF_LIGHT_FILAMENT, weight = 1000 }, -- THF + { itemId = xi.item.WHITE_RIVET, weight = 1000 }, -- PLD + { itemId = xi.item.BLACK_RIVET, weight = 1000 }, -- DRK + { itemId = xi.item.FETID_LANOLIN_CUBE, weight = 1000 }, -- BST + -- { itemId = xi.item.GOLD_STUD, weight = 1000 }, -- DNC }, { - { itemId = xi.item.NONE, weight = xi.loot.weight.VERY_HIGH }, - { itemId = xi.item.SPOOL_OF_LIGHT_FILAMENT, weight = xi.loot.weight.LOW }, - { itemId = xi.item.BLACK_RIVET, weight = xi.loot.weight.LOW }, - { itemId = xi.item.SQUARE_OF_CHARCOAL_COTTON, weight = xi.loot.weight.LOW }, - { itemId = xi.item.SQUARE_OF_CORDUROY_CLOTH, weight = xi.loot.weight.LOW }, - }, - - { - { itemId = xi.item.NONE, weight = xi.loot.weight.VERY_HIGH }, - { itemId = xi.item.SPOOL_OF_DIABOLIC_YARN, weight = xi.loot.weight.LOW }, - { itemId = xi.item.FETID_LANOLIN_CUBE, weight = xi.loot.weight.LOW }, - { itemId = xi.item.BLUE_RIVET, weight = xi.loot.weight.LOW }, - -- { itemId = xi.item.ELECTRUM_STUD, weight = xi.loot.weight.LOW }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.SQUARE_OF_BROWN_DOESKIN, weight = 1000 }, -- BRD + { itemId = xi.item.SQUARE_OF_CHARCOAL_COTTON, weight = 1000 }, -- RNG + { itemId = xi.item.SHEET_OF_KUROGANE, weight = 1000 }, -- SAM + { itemId = xi.item.POT_OF_EBONY_LACQUER, weight = 1000 }, -- NIN + { itemId = xi.item.BLUE_RIVET, weight = 1000 }, -- DRG + { itemId = xi.item.SQUARE_OF_ASTRAL_LEATHER, weight = 1000 }, -- SMN + { itemId = xi.item.SQUARE_OF_FLAMESHUN_CLOTH, weight = 1000 }, -- BLU + { itemId = xi.item.SQUARE_OF_CANVAS_TOILE, weight = 1000 }, -- COR + { itemId = xi.item.SQUARE_OF_CORDUROY_CLOTH, weight = 1000 }, -- PUP + -- { itemId = xi.item.ELECTRUM_STUD, weight = 1000 }, -- SCH }, { quantity = 2, - { itemId = xi.item.NONE, weight = xi.loot.weight.VERY_HIGH }, - { itemId = xi.item.CHUNK_OF_ADAMAN_ORE, weight = xi.loot.weight.VERY_LOW }, - { itemId = xi.item.HANDFUL_OF_CLOT_PLASMA, weight = xi.loot.weight.VERY_LOW }, - { itemId = xi.item.DARKSTEEL_SHEET, weight = xi.loot.weight.VERY_LOW }, - { itemId = xi.item.CHUNK_OF_DARKSTEEL_ORE, weight = xi.loot.weight.VERY_LOW }, - { itemId = xi.item.PIECE_OF_OXBLOOD, weight = xi.loot.weight.VERY_LOW }, - { itemId = xi.item.LIGHT_STEEL_INGOT, weight = xi.loot.weight.VERY_LOW }, - { itemId = xi.item.SPOOL_OF_RAINBOW_THREAD, weight = xi.loot.weight.VERY_LOW }, - { itemId = xi.item.PONZE_OF_SHELL_POWDER, weight = xi.loot.weight.VERY_LOW }, + { itemId = xi.item.NONE, weight = 10000 }, + { itemId = xi.item.CHUNK_OF_ADAMAN_ORE, weight = 1000 }, + { itemId = xi.item.HANDFUL_OF_CLOT_PLASMA, weight = 1000 }, + { itemId = xi.item.DARKSTEEL_SHEET, weight = 1000 }, + { itemId = xi.item.CHUNK_OF_DARKSTEEL_ORE, weight = 1000 }, + { itemId = xi.item.PIECE_OF_OXBLOOD, weight = 1000 }, + { itemId = xi.item.LIGHT_STEEL_INGOT, weight = 1000 }, + { itemId = xi.item.SPOOL_OF_RAINBOW_THREAD, weight = 1000 }, + { itemId = xi.item.PONZE_OF_SHELL_POWDER, weight = 1000 }, }, }, @@ -406,38 +437,44 @@ content.loot = { { quantity = 5, - { itemId = xi.item.ANCIENT_BEASTCOIN, weight = xi.loot.weight.NORMAL }, - }, - - { - { itemId = xi.item.SPOOL_OF_LIGHT_FILAMENT, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.WHITE_RIVET, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.BLUE_RIVET, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.SQUARE_OF_CORDUROY_CLOTH, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.ANCIENT_BEASTCOIN, weight = 10000 }, }, { - { itemId = xi.item.BLACK_RIVET, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.FETID_LANOLIN_CUBE, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.SQUARE_OF_CHARCOAL_COTTON, weight = xi.loot.weight.NORMAL }, - { itemId = xi.item.SQUARE_OF_CANVAS_TOILE, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.ARGYRO_RIVET, weight = 1000 }, -- WAR + { itemId = xi.item.ANCIENT_BRASS_INGOT, weight = 1000 }, -- MNK + { itemId = xi.item.SPOOL_OF_BENEDICT_YARN, weight = 1000 }, -- WHM + { itemId = xi.item.SPOOL_OF_DIABOLIC_YARN, weight = 1000 }, -- BLM + { itemId = xi.item.SQUARE_OF_CARDINAL_CLOTH, weight = 1000 }, -- RDM + { itemId = xi.item.SPOOL_OF_LIGHT_FILAMENT, weight = 1000 }, -- THF + { itemId = xi.item.WHITE_RIVET, weight = 1000 }, -- PLD + { itemId = xi.item.BLACK_RIVET, weight = 1000 }, -- DRK + { itemId = xi.item.FETID_LANOLIN_CUBE, weight = 1000 }, -- BST + -- { itemId = xi.item.GOLD_STUD, weight = 1000 }, -- DNC }, { - { itemId = xi.item.NONE, weight = xi.loot.weight.VERY_HIGH }, - { itemId = xi.item.ANCIENT_BRASS_INGOT, weight = xi.loot.weight.LOW }, - { itemId = xi.item.SHEET_OF_KUROGANE, weight = xi.loot.weight.LOW }, - { itemId = xi.item.SQUARE_OF_ASTRAL_LEATHER, weight = xi.loot.weight.LOW }, - -- { itemId = xi.item.GOLD_STUD, weight = xi.loot.weight.LOW }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.SQUARE_OF_BROWN_DOESKIN, weight = 1000 }, -- BRD + { itemId = xi.item.SQUARE_OF_CHARCOAL_COTTON, weight = 1000 }, -- RNG + { itemId = xi.item.SHEET_OF_KUROGANE, weight = 1000 }, -- SAM + { itemId = xi.item.POT_OF_EBONY_LACQUER, weight = 1000 }, -- NIN + { itemId = xi.item.BLUE_RIVET, weight = 1000 }, -- DRG + { itemId = xi.item.SQUARE_OF_ASTRAL_LEATHER, weight = 1000 }, -- SMN + { itemId = xi.item.SQUARE_OF_FLAMESHUN_CLOTH, weight = 1000 }, -- BLU + { itemId = xi.item.SQUARE_OF_CANVAS_TOILE, weight = 1000 }, -- COR + { itemId = xi.item.SQUARE_OF_CORDUROY_CLOTH, weight = 1000 }, -- PUP + -- { itemId = xi.item.ELECTRUM_STUD, weight = 1000 }, -- SCH }, { - { itemId = xi.item.SMALT_CHIP, weight = xi.loot.weight.NORMAL }, + { itemId = xi.item.SMALT_CHIP, weight = 10000 }, }, { - { itemId = xi.item.NONE, weight = xi.loot.weight.VERY_HIGH }, - { itemId = xi.item.METAL_CHIP, weight = xi.loot.weight.VERY_LOW }, + { itemId = xi.item.NONE, weight = 10000 }, + { itemId = xi.item.METAL_CHIP, weight = 1000 }, }, }, } diff --git a/scripts/battlefields/Apollyon/sw_apollyon.lua b/scripts/battlefields/Apollyon/sw_apollyon.lua index 62d9b532540..e58fa6857b9 100644 --- a/scripts/battlefields/Apollyon/sw_apollyon.lua +++ b/scripts/battlefields/Apollyon/sw_apollyon.lua @@ -558,18 +558,31 @@ content.loot = }, { - { itemId = xi.item.ANCIENT_BRASS_INGOT, weight = 3333 }, - { itemId = xi.item.SPOOL_OF_DIABOLIC_YARN, weight = 3333 }, - { itemId = xi.item.FETID_LANOLIN_CUBE, weight = 3334 }, - -- { itemId = xi.item.GOLD_STUD, weight = 3333 }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.ARGYRO_RIVET, weight = 1000 }, -- WAR + { itemId = xi.item.ANCIENT_BRASS_INGOT, weight = 1000 }, -- MNK + { itemId = xi.item.SPOOL_OF_BENEDICT_YARN, weight = 1000 }, -- WHM + { itemId = xi.item.SPOOL_OF_DIABOLIC_YARN, weight = 1000 }, -- BLM + { itemId = xi.item.SQUARE_OF_CARDINAL_CLOTH, weight = 1000 }, -- RDM + { itemId = xi.item.SPOOL_OF_LIGHT_FILAMENT, weight = 1000 }, -- THF + { itemId = xi.item.WHITE_RIVET, weight = 1000 }, -- PLD + { itemId = xi.item.BLACK_RIVET, weight = 1000 }, -- DRK + { itemId = xi.item.FETID_LANOLIN_CUBE, weight = 1000 }, -- BST + -- { itemId = xi.item.GOLD_STUD, weight = 1000 }, -- DNC }, { - { itemId = xi.item.NONE, weight = 4500 }, - { itemId = xi.item.ARGYRO_RIVET, weight = 1375 }, - { itemId = xi.item.SPOOL_OF_LIGHT_FILAMENT, weight = 1375 }, - { itemId = xi.item.SQUARE_OF_CHARCOAL_COTTON, weight = 1375 }, - { itemId = xi.item.SQUARE_OF_CORDUROY_CLOTH, weight = 1375 }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.SQUARE_OF_BROWN_DOESKIN, weight = 1000 }, -- BRD + { itemId = xi.item.SQUARE_OF_CHARCOAL_COTTON, weight = 1000 }, -- RNG + { itemId = xi.item.SHEET_OF_KUROGANE, weight = 1000 }, -- SAM + { itemId = xi.item.POT_OF_EBONY_LACQUER, weight = 1000 }, -- NIN + { itemId = xi.item.BLUE_RIVET, weight = 1000 }, -- DRG + { itemId = xi.item.SQUARE_OF_ASTRAL_LEATHER, weight = 1000 }, -- SMN + { itemId = xi.item.SQUARE_OF_FLAMESHUN_CLOTH, weight = 1000 }, -- BLU + { itemId = xi.item.SQUARE_OF_CANVAS_TOILE, weight = 1000 }, -- COR + { itemId = xi.item.SQUARE_OF_CORDUROY_CLOTH, weight = 1000 }, -- PUP + -- { itemId = xi.item.ELECTRUM_STUD, weight = 1000 }, -- SCH }, }, @@ -586,18 +599,31 @@ content.loot = }, { - { itemId = xi.item.SPOOL_OF_LIGHT_FILAMENT, weight = 3333 }, - { itemId = xi.item.BLACK_RIVET, weight = 3333 }, - { itemId = xi.item.BLUE_RIVET, weight = 3334 }, - -- { itemId = xi.item.ELECTRUM_STUD, weight = 3333 }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.ARGYRO_RIVET, weight = 1000 }, -- WAR + { itemId = xi.item.ANCIENT_BRASS_INGOT, weight = 1000 }, -- MNK + { itemId = xi.item.SPOOL_OF_BENEDICT_YARN, weight = 1000 }, -- WHM + { itemId = xi.item.SPOOL_OF_DIABOLIC_YARN, weight = 1000 }, -- BLM + { itemId = xi.item.SQUARE_OF_CARDINAL_CLOTH, weight = 1000 }, -- RDM + { itemId = xi.item.SPOOL_OF_LIGHT_FILAMENT, weight = 1000 }, -- THF + { itemId = xi.item.WHITE_RIVET, weight = 1000 }, -- PLD + { itemId = xi.item.BLACK_RIVET, weight = 1000 }, -- DRK + { itemId = xi.item.FETID_LANOLIN_CUBE, weight = 1000 }, -- BST + -- { itemId = xi.item.GOLD_STUD, weight = 1000 }, -- DNC }, { - { itemId = xi.item.NONE, weight = 4500 }, - { itemId = xi.item.SPOOL_OF_DIABOLIC_YARN, weight = 1375 }, - { itemId = xi.item.FETID_LANOLIN_CUBE, weight = 1375 }, - { itemId = xi.item.SQUARE_OF_ASTRAL_LEATHER, weight = 1375 }, - { itemId = xi.item.SQUARE_OF_CANVAS_TOILE, weight = 1375 }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.SQUARE_OF_BROWN_DOESKIN, weight = 1000 }, -- BRD + { itemId = xi.item.SQUARE_OF_CHARCOAL_COTTON, weight = 1000 }, -- RNG + { itemId = xi.item.SHEET_OF_KUROGANE, weight = 1000 }, -- SAM + { itemId = xi.item.POT_OF_EBONY_LACQUER, weight = 1000 }, -- NIN + { itemId = xi.item.BLUE_RIVET, weight = 1000 }, -- DRG + { itemId = xi.item.SQUARE_OF_ASTRAL_LEATHER, weight = 1000 }, -- SMN + { itemId = xi.item.SQUARE_OF_FLAMESHUN_CLOTH, weight = 1000 }, -- BLU + { itemId = xi.item.SQUARE_OF_CANVAS_TOILE, weight = 1000 }, -- COR + { itemId = xi.item.SQUARE_OF_CORDUROY_CLOTH, weight = 1000 }, -- PUP + -- { itemId = xi.item.ELECTRUM_STUD, weight = 1000 }, -- SCH }, }, @@ -615,39 +641,44 @@ content.loot = }, { - { itemId = xi.item.SQUARE_OF_CARDINAL_CLOTH, weight = 2500 }, - { itemId = xi.item.WHITE_RIVET, weight = 2500 }, - { itemId = xi.item.SQUARE_OF_BROWN_DOESKIN, weight = 2500 }, - { itemId = xi.item.SQUARE_OF_CANVAS_TOILE, weight = 2500 }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.ARGYRO_RIVET, weight = 1000 }, -- WAR + { itemId = xi.item.ANCIENT_BRASS_INGOT, weight = 1000 }, -- MNK + { itemId = xi.item.SPOOL_OF_BENEDICT_YARN, weight = 1000 }, -- WHM + { itemId = xi.item.SPOOL_OF_DIABOLIC_YARN, weight = 1000 }, -- BLM + { itemId = xi.item.SQUARE_OF_CARDINAL_CLOTH, weight = 1000 }, -- RDM + { itemId = xi.item.SPOOL_OF_LIGHT_FILAMENT, weight = 1000 }, -- THF + { itemId = xi.item.WHITE_RIVET, weight = 1000 }, -- PLD + { itemId = xi.item.BLACK_RIVET, weight = 1000 }, -- DRK + { itemId = xi.item.FETID_LANOLIN_CUBE, weight = 1000 }, -- BST + -- { itemId = xi.item.GOLD_STUD, weight = 1000 }, -- DNC }, { - { itemId = xi.item.NONE, weight = 4500 }, - { itemId = xi.item.ANCIENT_BRASS_INGOT, weight = 1375 }, - { itemId = xi.item.SPOOL_OF_BENEDICT_YARN, weight = 1375 }, - { itemId = xi.item.POT_OF_EBONY_LACQUER, weight = 1375 }, - { itemId = xi.item.SQUARE_OF_FLAMESHUN_CLOTH, weight = 1375 }, - }, - - { - { itemId = xi.item.NONE, weight = 5200 }, - { itemId = xi.item.BLACK_RIVET, weight = 1600 }, - { itemId = xi.item.SHEET_OF_KUROGANE, weight = 1600 }, - { itemId = xi.item.BLUE_RIVET, weight = 1600 }, - -- { itemId = xi.item.GOLD_STUD, weight = 1600 }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.SQUARE_OF_BROWN_DOESKIN, weight = 1000 }, -- BRD + { itemId = xi.item.SQUARE_OF_CHARCOAL_COTTON, weight = 1000 }, -- RNG + { itemId = xi.item.SHEET_OF_KUROGANE, weight = 1000 }, -- SAM + { itemId = xi.item.POT_OF_EBONY_LACQUER, weight = 1000 }, -- NIN + { itemId = xi.item.BLUE_RIVET, weight = 1000 }, -- DRG + { itemId = xi.item.SQUARE_OF_ASTRAL_LEATHER, weight = 1000 }, -- SMN + { itemId = xi.item.SQUARE_OF_FLAMESHUN_CLOTH, weight = 1000 }, -- BLU + { itemId = xi.item.SQUARE_OF_CANVAS_TOILE, weight = 1000 }, -- COR + { itemId = xi.item.SQUARE_OF_CORDUROY_CLOTH, weight = 1000 }, -- PUP + -- { itemId = xi.item.ELECTRUM_STUD, weight = 1000 }, -- SCH }, { quantity = 2, - { itemId = xi.item.NONE, weight = 5600 }, - { itemId = xi.item.CHUNK_OF_ADAMAN_ORE, weight = 550 }, - { itemId = xi.item.HANDFUL_OF_CLOT_PLASMA, weight = 550 }, - { itemId = xi.item.DARKSTEEL_SHEET, weight = 550 }, - { itemId = xi.item.CHUNK_OF_DARKSTEEL_ORE, weight = 550 }, - { itemId = xi.item.PIECE_OF_OXBLOOD, weight = 550 }, - { itemId = xi.item.LIGHT_STEEL_INGOT, weight = 550 }, - { itemId = xi.item.SPOOL_OF_RAINBOW_THREAD, weight = 550 }, - { itemId = xi.item.PONZE_OF_SHELL_POWDER, weight = 550 }, + { itemId = xi.item.NONE, weight = 10000 }, + { itemId = xi.item.CHUNK_OF_ADAMAN_ORE, weight = 1000 }, + { itemId = xi.item.HANDFUL_OF_CLOT_PLASMA, weight = 1000 }, + { itemId = xi.item.DARKSTEEL_SHEET, weight = 1000 }, + { itemId = xi.item.CHUNK_OF_DARKSTEEL_ORE, weight = 1000 }, + { itemId = xi.item.PIECE_OF_OXBLOOD, weight = 1000 }, + { itemId = xi.item.LIGHT_STEEL_INGOT, weight = 1000 }, + { itemId = xi.item.SPOOL_OF_RAINBOW_THREAD, weight = 1000 }, + { itemId = xi.item.PONZE_OF_SHELL_POWDER, weight = 1000 }, }, }, @@ -659,25 +690,31 @@ content.loot = }, { - { itemId = xi.item.ARGYRO_RIVET, weight = 2500 }, - { itemId = xi.item.SPOOL_OF_BENEDICT_YARN, weight = 2500 }, - { itemId = xi.item.SQUARE_OF_ASTRAL_LEATHER, weight = 2500 }, - { itemId = xi.item.SQUARE_OF_FLAMESHUN_CLOTH, weight = 2500 }, - }, - - { - { itemId = xi.item.SQUARE_OF_CHARCOAL_COTTON, weight = 2500 }, - { itemId = xi.item.SHEET_OF_KUROGANE, weight = 2500 }, - { itemId = xi.item.POT_OF_EBONY_LACQUER, weight = 2500 }, - { itemId = xi.item.SQUARE_OF_CORDUROY_CLOTH, weight = 2500 }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.ARGYRO_RIVET, weight = 1000 }, -- WAR + { itemId = xi.item.ANCIENT_BRASS_INGOT, weight = 1000 }, -- MNK + { itemId = xi.item.SPOOL_OF_BENEDICT_YARN, weight = 1000 }, -- WHM + { itemId = xi.item.SPOOL_OF_DIABOLIC_YARN, weight = 1000 }, -- BLM + { itemId = xi.item.SQUARE_OF_CARDINAL_CLOTH, weight = 1000 }, -- RDM + { itemId = xi.item.SPOOL_OF_LIGHT_FILAMENT, weight = 1000 }, -- THF + { itemId = xi.item.WHITE_RIVET, weight = 1000 }, -- PLD + { itemId = xi.item.BLACK_RIVET, weight = 1000 }, -- DRK + { itemId = xi.item.FETID_LANOLIN_CUBE, weight = 1000 }, -- BST + -- { itemId = xi.item.GOLD_STUD, weight = 1000 }, -- DNC }, { - { itemId = xi.item.NONE, weight = 5200 }, - { itemId = xi.item.SQUARE_OF_CARDINAL_CLOTH, weight = 1600 }, - { itemId = xi.item.WHITE_RIVET, weight = 1600 }, - { itemId = xi.item.SQUARE_OF_BROWN_DOESKIN, weight = 1600 }, - -- { itemId = xi.item.ELECTRUM_STUD, weight = 1600 }, + { itemId = xi.item.NONE, weight = 3000 }, + { itemId = xi.item.SQUARE_OF_BROWN_DOESKIN, weight = 1000 }, -- BRD + { itemId = xi.item.SQUARE_OF_CHARCOAL_COTTON, weight = 1000 }, -- RNG + { itemId = xi.item.SHEET_OF_KUROGANE, weight = 1000 }, -- SAM + { itemId = xi.item.POT_OF_EBONY_LACQUER, weight = 1000 }, -- NIN + { itemId = xi.item.BLUE_RIVET, weight = 1000 }, -- DRG + { itemId = xi.item.SQUARE_OF_ASTRAL_LEATHER, weight = 1000 }, -- SMN + { itemId = xi.item.SQUARE_OF_FLAMESHUN_CLOTH, weight = 1000 }, -- BLU + { itemId = xi.item.SQUARE_OF_CANVAS_TOILE, weight = 1000 }, -- COR + { itemId = xi.item.SQUARE_OF_CORDUROY_CLOTH, weight = 1000 }, -- PUP + -- { itemId = xi.item.ELECTRUM_STUD, weight = 1000 }, -- SCH }, { @@ -685,7 +722,7 @@ content.loot = }, { - { itemId = xi.item.NONE, weight = 9000 }, + { itemId = xi.item.NONE, weight = 10000 }, { itemId = xi.item.METAL_CHIP, weight = 1000 }, }, }, diff --git a/scripts/zones/Apollyon/IDs.lua b/scripts/zones/Apollyon/IDs.lua index f8a8db841ac..c389ba32924 100644 --- a/scripts/zones/Apollyon/IDs.lua +++ b/scripts/zones/Apollyon/IDs.lua @@ -39,7 +39,9 @@ zones[xi.zone.APOLLYON] = CS_NAQBA_CHIRURGEON = GetFirstID('NaQba_Chirurgeon'), NE_APOLLYON_SWEEPER_OFFSET = GetFirstID('Apollyon_Sweeper'), + NE_CRIOSPHINX = GetFirstID('Criosphinx'), NE_GOOBBUE_HARVESTER = GetFirstID('Goobbue_Harvester'), + NE_HIERACOSPHINX = GetFirstID('Hieracosphinx'), NE_TROGLODYTE_DHALMEL_OFFSET = GetFirstID('Troglodyte_Dhalmel'), NW_APOLLYON_SCAVENGER_OFFSET = GetFirstID('Apollyon_Scavenger'), diff --git a/scripts/zones/Apollyon/mobs/Apollyon_Cleaner.lua b/scripts/zones/Apollyon/mobs/Apollyon_Cleaner.lua new file mode 100644 index 00000000000..3839c875f4a --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Apollyon_Cleaner.lua @@ -0,0 +1,48 @@ +----------------------------------- +-- Area: Apollyon NE, Floor 3 +-- Mob: Apollyon Cleaner +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.TERROR) + mob:addImmunity(xi.immunity.PLAGUE) +end + +entity.onMobSpawn = function(mob) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 150) + mob:setMobMod(xi.mobMod.MAGIC_COOL, 17) +end + +entity.onMobSpellChoose = function(mob, target, spellId) + local spellList = + { + [ 1] = { xi.magic.spell.FIRE_IV, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [ 2] = { xi.magic.spell.BLIZZARD_IV, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [ 3] = { xi.magic.spell.AERO_IV, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [ 4] = { xi.magic.spell.THUNDER_IV, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [ 5] = { xi.magic.spell.WATER_IV, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [ 6] = { xi.magic.spell.FIRAGA_III, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [ 7] = { xi.magic.spell.THUNDAGA_III, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [ 8] = { xi.magic.spell.FLARE, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 100 }, + [ 9] = { xi.magic.spell.DRAIN, target, false, xi.action.type.DRAIN_HP, nil, 0, 100 }, + [10] = { xi.magic.spell.ASPIR, target, false, xi.action.type.DRAIN_MP, nil, 0, 100 }, + [11] = { xi.magic.spell.BIO_II, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.BIO, 2, 100 }, + [12] = { xi.magic.spell.POISONGA_II, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.POISON, 0, 100 }, + [13] = { xi.magic.spell.BURN, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.BURN, 0, 100 }, + [14] = { xi.magic.spell.FROST, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.FROST, 0, 100 }, + [15] = { xi.magic.spell.CHOKE, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.CHOKE, 0, 100 }, + [16] = { xi.magic.spell.DROWN, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.DROWN, 0, 100 }, + [17] = { xi.magic.spell.BLIND, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.BLINDNESS, 0, 100 }, + [18] = { xi.magic.spell.BIND, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.BIND, 0, 100 }, + [19] = { xi.magic.spell.SLEEP, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.SLEEP_I, 1, 100 }, + [20] = { xi.magic.spell.SLEEP_II, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.SLEEP_I, 2, 100 }, + [21] = { xi.magic.spell.BLAZE_SPIKES, mob, false, xi.action.type.ENHANCING_FORCE_SELF, xi.effect.BLAZE_SPIKES, 0, 100 }, + } + + return xi.combat.behavior.chooseAction(mob, target, nil, spellList) +end + +return entity diff --git a/scripts/zones/Apollyon/mobs/Apollyon_Sweeper.lua b/scripts/zones/Apollyon/mobs/Apollyon_Sweeper.lua new file mode 100644 index 00000000000..d732b27bfe1 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Apollyon_Sweeper.lua @@ -0,0 +1,34 @@ +----------------------------------- +-- Area: Apollyon NE, Floor 3 +-- Mob: Apollyon Sweeper +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.TERROR) + mob:addImmunity(xi.immunity.PLAGUE) +end + +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.STORETP, 90) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 200) +end + +entity.onMobMobskillChoose = function(mob, target) + local tpMoves = + { + xi.mobSkill.KARTSTRAHL, + xi.mobSkill.BLITZSTRAHL, + xi.mobSkill.PANZERFAUST, + xi.mobSkill.BERSERK_DOLL, + xi.mobSkill.PANZERSCHRECK, + xi.mobSkill.TYPHOON, + xi.mobSkill.GRAVITY_FIELD, + } + + return tpMoves[math.randomInt(1, #tpMoves)] +end + +return entity diff --git a/scripts/zones/Apollyon/mobs/Barometz.lua b/scripts/zones/Apollyon/mobs/Barometz.lua new file mode 100644 index 00000000000..3427859b816 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Barometz.lua @@ -0,0 +1,34 @@ +----------------------------------- +-- Area: Apollyon NE, Floor 1 +-- Mob: Barometz +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.TERROR) + mob:addImmunity(xi.immunity.PLAGUE) +end + +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.MDEF, 50) + mob:setMod(xi.mod.DEFP, 50) + mob:setMobMod(xi.mobMod.ALLI_HATE, 50) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 150) +end + +entity.onMobMobskillChoose = function(mob, target) + local tpMoves = + { + xi.mobSkill.HEAD_BUTT_1, + xi.mobSkill.DREAM_FLOWER_1, + xi.mobSkill.WILD_OATS_1, + xi.mobSkill.LEAF_DAGGER_1, + xi.mobSkill.SCREAM_1, + } + + return tpMoves[math.randomInt(1, #tpMoves)] +end + +return entity diff --git a/scripts/zones/Apollyon/mobs/Barometz_Boss.lua b/scripts/zones/Apollyon/mobs/Barometz_Boss.lua new file mode 100644 index 00000000000..180d80e653d --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Barometz_Boss.lua @@ -0,0 +1,37 @@ +----------------------------------- +-- Area: Apollyon NE, Floor 1 +-- Mob: Barometz (Boss) +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.TERROR) + mob:addImmunity(xi.immunity.PLAGUE) +end + +entity.onMobSpawn = function(mob) + mob:setModelSize(3) + mob:setHitboxSize(1.1) + mob:setMod(xi.mod.STORETP, 90) + mob:setMod(xi.mod.MDEF, 50) + mob:setMod(xi.mod.DEFP, 50) + mob:setMobMod(xi.mobMod.ALLI_HATE, 50) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 200) +end + +entity.onMobMobskillChoose = function(mob, target) + local tpMoves = + { + xi.mobSkill.HEAD_BUTT_1, + xi.mobSkill.DREAM_FLOWER_1, + xi.mobSkill.WILD_OATS_1, + xi.mobSkill.LEAF_DAGGER_1, + xi.mobSkill.SCREAM_1, + } + + return tpMoves[math.randomInt(1, #tpMoves)] +end + +return entity diff --git a/scripts/zones/Apollyon/mobs/Bialozar.lua b/scripts/zones/Apollyon/mobs/Bialozar.lua new file mode 100644 index 00000000000..f97801ed0a1 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Bialozar.lua @@ -0,0 +1,34 @@ +----------------------------------- +-- Area: Apollyon NE, Floor 2 +-- Mob: Bialozar +----------------------------------- +---@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.PLAGUE) +end + +entity.onMobSpawn = function(mob) + mob:setBaseSpeed(60) + mob:setMod(xi.mod.DOUBLE_ATTACK, 100) + mob:setMobMod(xi.mobMod.DETECTION, xi.detects.HEARING) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 150) + mob:setMobMod(xi.mobMod.MAGIC_COOL, 31) +end + +entity.onMobSpellChoose = function(mob, target, spellId) + local spellList = + { + [1] = { xi.magic.spell.HORDE_LULLABY, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.SLEEP_I, 1, 100 }, + [2] = { xi.magic.spell.MASSACRE_ELEGY, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.ELEGY, 0, 100 }, + [3] = { xi.magic.spell.MAGIC_FINALE, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 50 }, + } + + return xi.combat.behavior.chooseAction(mob, target, nil, spellList) +end + +return entity diff --git a/scripts/zones/Apollyon/mobs/Bialozar_Boss.lua b/scripts/zones/Apollyon/mobs/Bialozar_Boss.lua new file mode 100644 index 00000000000..d51ede3482e --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Bialozar_Boss.lua @@ -0,0 +1,35 @@ +----------------------------------- +-- Area: Apollyon NE, Floor 2 +-- Mob: Bialozar (Boss) +----------------------------------- +---@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.PLAGUE) +end + +entity.onMobSpawn = function(mob) + mob:setBaseSpeed(60) + mob:setMod(xi.mod.STORETP, 90) + mob:setMod(xi.mod.DOUBLE_ATTACK, 100) + mob:setMobMod(xi.mobMod.DETECTION, xi.detects.HEARING) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 200) + mob:setMobMod(xi.mobMod.MAGIC_COOL, 31) +end + +entity.onMobSpellChoose = function(mob, target, spellId) + local spellList = + { + [1] = { xi.magic.spell.HORDE_LULLABY, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.SLEEP_I, 1, 100 }, + [2] = { xi.magic.spell.MASSACRE_ELEGY, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.ELEGY, 0, 100 }, + [3] = { xi.magic.spell.MAGIC_FINALE, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 50 }, + } + + return xi.combat.behavior.chooseAction(mob, target, nil, spellList) +end + +return entity diff --git a/scripts/zones/Apollyon/mobs/Borametz.lua b/scripts/zones/Apollyon/mobs/Borametz.lua new file mode 100644 index 00000000000..50cc8fcdb98 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Borametz.lua @@ -0,0 +1,34 @@ +----------------------------------- +-- Area: Apollyon NE, Floor 1 +-- Mob: Borametz +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.TERROR) + mob:addImmunity(xi.immunity.PLAGUE) +end + +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.COUNTER, 35) + mob:setMod(xi.mod.ADDITIVE_GUARD, 5) + mob:setMobMod(xi.mobMod.ALLI_HATE, 50) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 150) +end + +entity.onMobMobskillChoose = function(mob, target) + local tpMoves = + { + xi.mobSkill.HEAD_BUTT_1, + xi.mobSkill.DREAM_FLOWER_1, + xi.mobSkill.WILD_OATS_1, + xi.mobSkill.LEAF_DAGGER_1, + xi.mobSkill.SCREAM_1, + } + + return tpMoves[math.randomInt(1, #tpMoves)] +end + +return entity diff --git a/scripts/zones/Apollyon/mobs/Borametz_Boss.lua b/scripts/zones/Apollyon/mobs/Borametz_Boss.lua new file mode 100644 index 00000000000..b1b8965b522 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Borametz_Boss.lua @@ -0,0 +1,37 @@ +----------------------------------- +-- Area: Apollyon NE, Floor 1 +-- Mob: Borametz (Boss) +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.TERROR) + mob:addImmunity(xi.immunity.PLAGUE) +end + +entity.onMobSpawn = function(mob) + mob:setModelSize(3) + mob:setHitboxSize(1.1) + mob:setMod(xi.mod.STORETP, 90) + mob:setMod(xi.mod.COUNTER, 35) + mob:setMod(xi.mod.ADDITIVE_GUARD, 5) + mob:setMobMod(xi.mobMod.ALLI_HATE, 50) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 200) +end + +entity.onMobMobskillChoose = function(mob, target) + local tpMoves = + { + xi.mobSkill.HEAD_BUTT_1, + xi.mobSkill.DREAM_FLOWER_1, + xi.mobSkill.WILD_OATS_1, + xi.mobSkill.LEAF_DAGGER_1, + xi.mobSkill.SCREAM_1, + } + + return tpMoves[math.randomInt(1, #tpMoves)] +end + +return entity diff --git a/scripts/zones/Apollyon/mobs/Cornu.lua b/scripts/zones/Apollyon/mobs/Cornu.lua new file mode 100644 index 00000000000..b93c3bae5d9 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Cornu.lua @@ -0,0 +1,28 @@ +----------------------------------- +-- Area: Apollyon NE, Floor 2 +-- Mob: Cornu +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.LIGHT_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 + +entity.onMobMobskillChoose = function(mob, target) + local tpMoves = + { + xi.mobSkill.BROADSIDE_BARRAGE_1, + xi.mobSkill.BLIND_SIDE_BARRAGE_1, + } + + return tpMoves[math.randomInt(1, #tpMoves)] +end + +return entity diff --git a/scripts/zones/Apollyon/mobs/Criosphinx.lua b/scripts/zones/Apollyon/mobs/Criosphinx.lua new file mode 100644 index 00000000000..f8ac98151a4 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Criosphinx.lua @@ -0,0 +1,27 @@ +----------------------------------- +-- Area: Apollyon NE, Floor 5 +-- Mob: Criosphinx +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.BIND) + mob:addImmunity(xi.immunity.GRAVITY) + mob:addImmunity(xi.immunity.SLOW) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.DARK_SLEEP) + mob:addImmunity(xi.immunity.PETRIFY) + mob:addImmunity(xi.immunity.ELEGY) + mob:addImmunity(xi.immunity.TERROR) + mob:addImmunity(xi.immunity.PLAGUE) +end + +entity.onMobSpawn = function(mob) + mob:setBaseSpeed(75) + mob:setMod(xi.mod.STORETP, 90) + mob:setMod(xi.mod.MDEF, 100) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 200) +end + +return entity diff --git a/scripts/zones/Apollyon/mobs/Cronos.lua b/scripts/zones/Apollyon/mobs/Cronos.lua new file mode 100644 index 00000000000..4ac4d6b4a54 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Cronos.lua @@ -0,0 +1,34 @@ +----------------------------------- +-- Area: Apollyon NE, Floor 4 +-- Mob: Cronos +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.PETRIFY) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.TERROR) + mob:addImmunity(xi.immunity.PLAGUE) +end + +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.STORETP, 90) + mob:setMod(xi.mod.MDEF, 100) + mob:setMod(xi.mod.NULL_PHYSICAL_DAMAGE, 100) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 200) +end + +entity.onMobMobskillChoose = function(mob, target) + local tpMoves = + { + xi.mobSkill.ICE_ROAR_1, + xi.mobSkill.IMPACT_ROAR_1, + xi.mobSkill.GRAND_SLAM_1, + xi.mobSkill.POWER_ATTACK_ARMED_1, + } + + return tpMoves[math.randomInt(1, #tpMoves)] +end + +return entity diff --git a/scripts/zones/Apollyon/mobs/Goobbue_Harvester.lua b/scripts/zones/Apollyon/mobs/Goobbue_Harvester.lua index 6aaa6ccc4e7..2a1850237c1 100644 --- a/scripts/zones/Apollyon/mobs/Goobbue_Harvester.lua +++ b/scripts/zones/Apollyon/mobs/Goobbue_Harvester.lua @@ -6,11 +6,29 @@ local entity = {} entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.TERROR) + mob:addImmunity(xi.immunity.PLAGUE) mob:setMobMod(xi.mobMod.ADD_EFFECT, 1) end +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.STORETP, 90) + mob:setMod(xi.mod.DEFP, 75) + mob:setMod(xi.mod.REGEN, 10) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 200) +end + entity.onAdditionalEffect = function(mob, target, damage) - return xi.mob.onAddEffect(mob, target, damage, xi.mob.ae.PARALYZE) + local pTable = + { + chance = 25, + effectId = xi.effect.PARALYSIS, + power = 30, + duration = 45, + } + + return xi.combat.action.executeAddEffectEnfeeblement(mob, target, pTable) end return entity diff --git a/scripts/zones/Apollyon/mobs/Hieracosphinx.lua b/scripts/zones/Apollyon/mobs/Hieracosphinx.lua new file mode 100644 index 00000000000..d0d60a5ae19 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Hieracosphinx.lua @@ -0,0 +1,27 @@ +----------------------------------- +-- Area: Apollyon NE, Floor 5 +-- Mob: Hieracosphinx +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.BIND) + mob:addImmunity(xi.immunity.GRAVITY) + mob:addImmunity(xi.immunity.SLOW) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.DARK_SLEEP) + mob:addImmunity(xi.immunity.PETRIFY) + mob:addImmunity(xi.immunity.ELEGY) + mob:addImmunity(xi.immunity.TERROR) + mob:addImmunity(xi.immunity.PLAGUE) +end + +entity.onMobSpawn = function(mob) + mob:setBaseSpeed(75) + mob:setMod(xi.mod.STORETP, 90) + mob:setMod(xi.mod.MDEF, 100) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 200) +end + +return entity diff --git a/scripts/zones/Apollyon/mobs/Hyperion.lua b/scripts/zones/Apollyon/mobs/Hyperion.lua new file mode 100644 index 00000000000..8401d79ec63 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Hyperion.lua @@ -0,0 +1,33 @@ +----------------------------------- +-- Area: Apollyon NE, Floor 4 +-- Mob: Hyperion +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.PETRIFY) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.TERROR) + mob:addImmunity(xi.immunity.PLAGUE) +end + +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.STORETP, 90) + mob:setMod(xi.mod.NULL_MAGICAL_DAMAGE, 100) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 200) +end + +entity.onMobMobskillChoose = function(mob, target) + local tpMoves = + { + xi.mobSkill.ICE_ROAR_1, + xi.mobSkill.IMPACT_ROAR_1, + xi.mobSkill.GRAND_SLAM_1, + xi.mobSkill.POWER_ATTACK_ARMED_1, + } + + return tpMoves[math.randomInt(1, #tpMoves)] +end + +return entity diff --git a/scripts/zones/Apollyon/mobs/Kerkopes.lua b/scripts/zones/Apollyon/mobs/Kerkopes.lua new file mode 100644 index 00000000000..f4bc4228eb3 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Kerkopes.lua @@ -0,0 +1,18 @@ +----------------------------------- +-- Area: Apollyon NE, Floor 4 +-- Mob: Kerkopes +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.LIGHT_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/Apollyon/mobs/Kerkopes_Boss.lua b/scripts/zones/Apollyon/mobs/Kerkopes_Boss.lua new file mode 100644 index 00000000000..9752ae68d18 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Kerkopes_Boss.lua @@ -0,0 +1,21 @@ +----------------------------------- +-- Area: Apollyon NE, Floor 4 +-- Mob: Kerkopes (Boss) +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.TERROR) + mob:addImmunity(xi.immunity.PLAGUE) +end + +entity.onMobSpawn = function(mob) + mob:setModelSize(3) + mob:setHitboxSize(2.6) + mob:setMod(xi.mod.STORETP, 90) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 200) +end + +return entity diff --git a/scripts/zones/Apollyon/mobs/Okeanos.lua b/scripts/zones/Apollyon/mobs/Okeanos.lua new file mode 100644 index 00000000000..e457fc46fef --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Okeanos.lua @@ -0,0 +1,34 @@ +----------------------------------- +-- Area: Apollyon NE, Floor 4 +-- Mob: Okeanos +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.PETRIFY) + mob:addImmunity(xi.immunity.LIGHT_SLEEP) + mob:addImmunity(xi.immunity.TERROR) + mob:addImmunity(xi.immunity.PLAGUE) +end + +entity.onMobSpawn = function(mob) + mob:setMod(xi.mod.STORETP, 90) + mob:setMod(xi.mod.MDEF, 100) + mob:setMod(xi.mod.NULL_RANGED_DAMAGE, 100) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 200) +end + +entity.onMobMobskillChoose = function(mob, target) + local tpMoves = + { + xi.mobSkill.ICE_ROAR_1, + xi.mobSkill.IMPACT_ROAR_1, + xi.mobSkill.GRAND_SLAM_1, + xi.mobSkill.POWER_ATTACK_ARMED_1, + } + + return tpMoves[math.randomInt(1, #tpMoves)] +end + +return entity diff --git a/scripts/zones/Apollyon/mobs/Sirin.lua b/scripts/zones/Apollyon/mobs/Sirin.lua new file mode 100644 index 00000000000..fb6326e04f2 --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Sirin.lua @@ -0,0 +1,27 @@ +----------------------------------- +-- Area: Apollyon NE, Floor 2 +-- Mob: Sirin +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.LIGHT_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 + +entity.onMobMobskillChoose = function(mob, target) + local tpMoves = + { + xi.mobSkill.DAMNATION_DIVE_1, + } + + return tpMoves[math.randomInt(1, #tpMoves)] +end + +return entity diff --git a/scripts/zones/Apollyon/mobs/Thiazi.lua b/scripts/zones/Apollyon/mobs/Thiazi.lua new file mode 100644 index 00000000000..74108814dce --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Thiazi.lua @@ -0,0 +1,33 @@ +----------------------------------- +-- Area: Apollyon NE, Floor 2 +-- Mob: Thiazi +----------------------------------- +---@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.PLAGUE) +end + +entity.onMobSpawn = function(mob) + mob:setBaseSpeed(60) + mob:setMobMod(xi.mobMod.DETECTION, xi.detects.HEARING) + mob:setMobMod(xi.mobMod.BASE_DAMAGE_MULTIPLIER, 150) + mob:setMobMod(xi.mobMod.MAGIC_COOL, 31) +end + +entity.onMobSpellChoose = function(mob, target, spellId) + local spellList = + { + [1] = { xi.magic.spell.HORDE_LULLABY, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.SLEEP_I, 1, 100 }, + [2] = { xi.magic.spell.MASSACRE_ELEGY, target, false, xi.action.type.ENFEEBLING_TARGET, xi.effect.ELEGY, 0, 100 }, + [3] = { xi.magic.spell.MAGIC_FINALE, target, false, xi.action.type.DAMAGE_TARGET, nil, 0, 50 }, + } + + return xi.combat.behavior.chooseAction(mob, target, nil, spellList) +end + +return entity diff --git a/scripts/zones/Apollyon/mobs/Troglodyte_Dhalmel.lua b/scripts/zones/Apollyon/mobs/Troglodyte_Dhalmel.lua new file mode 100644 index 00000000000..a06ef4fee6e --- /dev/null +++ b/scripts/zones/Apollyon/mobs/Troglodyte_Dhalmel.lua @@ -0,0 +1,18 @@ +----------------------------------- +-- Area: Apollyon NE, Floor 5 +-- Mob: Troglodyte Dhalmel +----------------------------------- +---@type TMobEntity +local entity = {} + +entity.onMobInitialize = function(mob) + mob:addImmunity(xi.immunity.LIGHT_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