From 2d85c2ffefb4433380799aabe2be57dfbd06dc0b Mon Sep 17 00:00:00 2001 From: Frankie-hz <105882754+Frankie-hz@users.noreply.github.com> Date: Wed, 8 May 2024 00:09:11 -0400 Subject: [PATCH 1/7] Shift-proof Outer Horutoto Ruins --- scripts/zones/Outer_Horutoto_Ruins/IDs.lua | 29 +++++-------------- .../zones/Outer_Horutoto_Ruins/mobs/Ghoul.lua | 14 ++++++++- .../Outer_Horutoto_Ruins/mobs/Stink_Bats.lua | 7 ++++- 3 files changed, 27 insertions(+), 23 deletions(-) diff --git a/scripts/zones/Outer_Horutoto_Ruins/IDs.lua b/scripts/zones/Outer_Horutoto_Ruins/IDs.lua index f0bb3e84775..e49f6357e06 100644 --- a/scripts/zones/Outer_Horutoto_Ruins/IDs.lua +++ b/scripts/zones/Outer_Horutoto_Ruins/IDs.lua @@ -36,30 +36,17 @@ zones[xi.zone.OUTER_HORUTOTO_RUINS] = }, mob = { - DESMODONT_PH = - { - [17571868] = 17571870, - }, - AH_PUCH_PH = - { - [17571893] = 17571903, -- -418, -1, 629 - [17571894] = 17571903, -- -419, -1, 570 - [17571895] = 17571903, -- -419, -1, 581 - [17571896] = 17571903, -- -418, -1, 590 - [17571897] = 17571903, -- -418, -1, 597 - [17571898] = 17571903, -- -417, -1, 640 - [17571899] = 17571903, -- -419, -1, 615 - [17571900] = 17571903, -- -417, -1, 661 - }, - BALLOON_NM_OFFSET = 17572141, - FULL_MOON_FOUNTAIN_OFFSET = 17572197, - JESTER_WHOD_BE_KING_OFFSET = 17572201, - APPARATUS_ELEMENTAL = 17572203, - CUSTOM_CARDIAN_OFFSET = 17572204, -- Goes up to 17572218 + DESMODONT = GetFirstID('Desmodont'), + AH_PUCH = GetFirstID('Ah_Puch'), + BALLOON_NM_OFFSET = GetTableOfIDs('Balloon')[2], -- TODO: NM Needs audit. This only uses 2 of the NMs + FULL_MOON_FOUNTAIN_OFFSET = GetFirstID('Jack_of_Cups'), + JESTER_WHOD_BE_KING_OFFSET = GetFirstID('Queen_of_Swords'), + APPARATUS_ELEMENTAL = GetFirstID('Thunder_Elemental'), + CUSTOM_CARDIAN_OFFSET = GetFirstID('Custom_Cardian'), }, npc = { - GATE_MAGICAL_GIZMO = 17572249, + GATE_MAGICAL_GIZMO = GetFirstID('_5e9'), TREASURE_CHEST = GetFirstID('Treasure_Chest'), }, } diff --git a/scripts/zones/Outer_Horutoto_Ruins/mobs/Ghoul.lua b/scripts/zones/Outer_Horutoto_Ruins/mobs/Ghoul.lua index 38b75748c1e..901cfd975bd 100644 --- a/scripts/zones/Outer_Horutoto_Ruins/mobs/Ghoul.lua +++ b/scripts/zones/Outer_Horutoto_Ruins/mobs/Ghoul.lua @@ -7,11 +7,23 @@ local ID = zones[xi.zone.OUTER_HORUTOTO_RUINS] ----------------------------------- local entity = {} +local ahPuchPHTable = +{ + [ID.mob.AH_PUCH - 10] = ID.mob.AH_PUCH, -- -418, -1, 629 + [ID.mob.AH_PUCH - 9] = ID.mob.AH_PUCH, -- -419, -1, 570 + [ID.mob.AH_PUCH - 8] = ID.mob.AH_PUCH, -- -419, -1, 581 + [ID.mob.AH_PUCH - 7] = ID.mob.AH_PUCH, -- -418, -1, 590 + [ID.mob.AH_PUCH - 6] = ID.mob.AH_PUCH, -- -418, -1, 597 + [ID.mob.AH_PUCH - 5] = ID.mob.AH_PUCH, -- -417, -1, 640 + [ID.mob.AH_PUCH - 4] = ID.mob.AH_PUCH, -- -419, -1, 615 + [ID.mob.AH_PUCH - 3] = ID.mob.AH_PUCH, -- -417, -1, 661 +} + entity.onMobDeath = function(mob, player, optParams) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.AH_PUCH_PH, 20, 3600) -- 1 to 3 hours + xi.mob.phOnDespawn(mob, ahPuchPHTable, 20, 3600) -- 1 to 3 hours end return entity diff --git a/scripts/zones/Outer_Horutoto_Ruins/mobs/Stink_Bats.lua b/scripts/zones/Outer_Horutoto_Ruins/mobs/Stink_Bats.lua index 817f6098b4d..ab9f5db50b7 100644 --- a/scripts/zones/Outer_Horutoto_Ruins/mobs/Stink_Bats.lua +++ b/scripts/zones/Outer_Horutoto_Ruins/mobs/Stink_Bats.lua @@ -7,11 +7,16 @@ local ID = zones[xi.zone.OUTER_HORUTOTO_RUINS] ----------------------------------- local entity = {} +local desmodontPHTable = +{ + [ID.mob.DESMODONT - 2] = ID.mob.DESMODONT, +} + entity.onMobDeath = function(mob, player, optParams) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.DESMODONT_PH, 10, 3600) -- 1 hour + xi.mob.phOnDespawn(mob, desmodontPHTable, 10, 3600) -- 1 hour end return entity From 18a7cb8f810b6d328333e2eacbd0a85c48108101 Mon Sep 17 00:00:00 2001 From: Frankie-hz <105882754+Frankie-hz@users.noreply.github.com> Date: Wed, 8 May 2024 00:09:22 -0400 Subject: [PATCH 2/7] Shift-proof Ordelles Caves --- scripts/zones/Ordelles_Caves/IDs.lua | 25 ++++++------------- .../zones/Ordelles_Caves/mobs/Fly_Agaric.lua | 7 +++++- scripts/zones/Ordelles_Caves/mobs/Jelly.lua | 10 +++++++- 3 files changed, 23 insertions(+), 19 deletions(-) diff --git a/scripts/zones/Ordelles_Caves/IDs.lua b/scripts/zones/Ordelles_Caves/IDs.lua index 7fafb5a0d4f..40a1b4c5b94 100644 --- a/scripts/zones/Ordelles_Caves/IDs.lua +++ b/scripts/zones/Ordelles_Caves/IDs.lua @@ -42,23 +42,14 @@ zones[xi.zone.ORDELLES_CAVES] = }, mob = { - DONGGU_PH = - { - [17567797] = 17567801, - }, - AGAR_AGAR_PH = - { - [17567897] = 17567901, -- -81.31 31.493 210.675 - [17567898] = 17567901, -- -76.67 31.163 186.602 - [17567899] = 17567901, -- -80.77 31.979 193.542 - [17567900] = 17567901, -- -79.82 31.968 208.309 - }, - MORBOLGER = 17568127, - POLEVIK = 17568134, - DARK_PUPPET_OFFSET = 17568135, - NECROPLASM = 17568138, - APPARATUS_ELEMENTAL = 17568139, - AROMA_LEECH = 17568140, + DONGGU = GetFirstID('Donggu'), + AGAR_AGAR = GetFirstID('Agar_Agar'), + MORBOLGER = GetFirstID('Morbolger'), + POLEVIK = GetFirstID('Polevik'), + DARK_PUPPET_OFFSET = GetFirstID('Gerwitzs_Axe'), + NECROPLASM = GetFirstID('Necroplasm'), + APPARATUS_ELEMENTAL = GetTableOfIDs('Air_Elemental')[2], -- Second elemental in the list + AROMA_LEECH = GetFirstID('Aroma_Leech'), }, npc = { diff --git a/scripts/zones/Ordelles_Caves/mobs/Fly_Agaric.lua b/scripts/zones/Ordelles_Caves/mobs/Fly_Agaric.lua index f2f221ef5ec..b42d935706a 100644 --- a/scripts/zones/Ordelles_Caves/mobs/Fly_Agaric.lua +++ b/scripts/zones/Ordelles_Caves/mobs/Fly_Agaric.lua @@ -7,12 +7,17 @@ local ID = zones[xi.zone.ORDELLES_CAVES] ----------------------------------- local entity = {} +local dongguPHTable = +{ + [ID.mob.DONGGU - 4] = ID.mob.DONGGU, +} + entity.onMobDeath = function(mob, player, optParams) xi.regime.checkRegime(player, mob, 656, 1, xi.regime.type.GROUNDS) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.DONGGU_PH, 10, 1) -- Window opens immediately from its last Time of Death. + xi.mob.phOnDespawn(mob, dongguPHTable, 10, 1) -- Window opens immediately from its last Time of Death. end return entity diff --git a/scripts/zones/Ordelles_Caves/mobs/Jelly.lua b/scripts/zones/Ordelles_Caves/mobs/Jelly.lua index 72860a9f750..26c26b28537 100644 --- a/scripts/zones/Ordelles_Caves/mobs/Jelly.lua +++ b/scripts/zones/Ordelles_Caves/mobs/Jelly.lua @@ -7,12 +7,20 @@ local ID = zones[xi.zone.ORDELLES_CAVES] ----------------------------------- local entity = {} +local agarPHTable = +{ + [ID.mob.AGAR_AGAR - 4] = ID.mob.AGAR_AGAR, -- -81.31 31.493 210.675 + [ID.mob.AGAR_AGAR - 3] = ID.mob.AGAR_AGAR, -- -76.67 31.163 186.602 + [ID.mob.AGAR_AGAR - 2] = ID.mob.AGAR_AGAR, -- -80.77 31.979 193.542 + [ID.mob.AGAR_AGAR - 1] = ID.mob.AGAR_AGAR, -- -79.82 31.968 208.309 +} + entity.onMobDeath = function(mob, player, optParams) xi.regime.checkRegime(player, mob, 659, 2, xi.regime.type.GROUNDS) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.AGAR_AGAR_PH, 5, 3600) -- 1 hour + xi.mob.phOnDespawn(mob, agarPHTable, 5, 3600) -- 1 hour end return entity From 9392a041e423fdbc838ac808b31328c9610b67a1 Mon Sep 17 00:00:00 2001 From: Frankie-hz <105882754+Frankie-hz@users.noreply.github.com> Date: Wed, 8 May 2024 00:10:36 -0400 Subject: [PATCH 3/7] Shift-proof Oldton Movalpolos --- scripts/zones/Oldton_Movalpolos/IDs.lua | 10 +++------- .../zones/Oldton_Movalpolos/mobs/Bugbear_Bondman.lua | 8 +++++++- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/scripts/zones/Oldton_Movalpolos/IDs.lua b/scripts/zones/Oldton_Movalpolos/IDs.lua index 105957a3cd3..0069ff35cbd 100644 --- a/scripts/zones/Oldton_Movalpolos/IDs.lua +++ b/scripts/zones/Oldton_Movalpolos/IDs.lua @@ -25,16 +25,12 @@ zones[xi.zone.OLDTON_MOVALPOLOS] = }, mob = { - BUGBEAR_STRONGMAN_PH = - { - [16822421] = 16822423, -- -81.31 31.493 210.675 (west) - [16822426] = 16822427, -- 58.013, 15.5, -121.928 (east) - }, - GOBLIN_WOLFMAN = 16822459, + BUGBEAR_STRONGMAN = GetTableOfIDs('Bugbear_Strongman'), + GOBLIN_WOLFMAN = GetFirstID('Goblin_Wolfman'), }, npc = { - SCRAWLED_WRITING = 16822469, + SCRAWLED_WRITING = GetFirstID('Scrawled_Writing'), OVERSEER_BASE = GetFirstID('Conquest_Banner'), TREASURE_CHEST = GetFirstID('Treasure_Chest'), MINING = GetTableOfIDs('Mining_Point'), diff --git a/scripts/zones/Oldton_Movalpolos/mobs/Bugbear_Bondman.lua b/scripts/zones/Oldton_Movalpolos/mobs/Bugbear_Bondman.lua index 776bdbc247d..274d6571457 100644 --- a/scripts/zones/Oldton_Movalpolos/mobs/Bugbear_Bondman.lua +++ b/scripts/zones/Oldton_Movalpolos/mobs/Bugbear_Bondman.lua @@ -7,11 +7,17 @@ local ID = zones[xi.zone.OLDTON_MOVALPOLOS] ----------------------------------- local entity = {} +local bugbearPHTable = +{ + [ID.mob.BUGBEAR_STRONGMAN[1] - 2] = ID.mob.BUGBEAR_STRONGMAN[1], -- -81.31 31.493 210.675 (west) + [ID.mob.BUGBEAR_STRONGMAN[2] - 1] = ID.mob.BUGBEAR_STRONGMAN[2], -- 58.013, 15.5, -121.928 (east) +} + entity.onMobDeath = function(mob, player, optParams) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.BUGBEAR_STRONGMAN_PH, 10, 1) -- no cooldown + xi.mob.phOnDespawn(mob, bugbearPHTable, 10, 1) -- no cooldown end return entity From 7f5b813f920987784af408540b3a927fd60ab70e Mon Sep 17 00:00:00 2001 From: Frankie-hz <105882754+Frankie-hz@users.noreply.github.com> Date: Wed, 8 May 2024 00:10:44 -0400 Subject: [PATCH 4/7] Shift-proof Northern Sandy --- scripts/zones/Northern_San_dOria/IDs.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/zones/Northern_San_dOria/IDs.lua b/scripts/zones/Northern_San_dOria/IDs.lua index 8ecc0b51616..ee4b9541811 100644 --- a/scripts/zones/Northern_San_dOria/IDs.lua +++ b/scripts/zones/Northern_San_dOria/IDs.lua @@ -137,7 +137,7 @@ zones[xi.zone.NORTHERN_SAN_DORIA] = [17723492] = 52, -- Antonian [17723497] = 51, -- Attarena }, - EXPLORER_MOOGLE = 17723648, + EXPLORER_MOOGLE = GetFirstID('Explorer_Moogle'), }, } From 0249d912b934fbbc88434a30adcb6f62cc496704 Mon Sep 17 00:00:00 2001 From: Frankie-hz <105882754+Frankie-hz@users.noreply.github.com> Date: Wed, 8 May 2024 00:11:04 -0400 Subject: [PATCH 5/7] Shift-proof North Gustaberg and [S] --- scripts/zones/North_Gustaberg/IDs.lua | 34 ++----------------- .../North_Gustaberg/mobs/Maneating_Hornet.lua | 18 +++++++++- .../North_Gustaberg/mobs/Walking_Sapling.lua | 13 ++++++- scripts/zones/North_Gustaberg_[S]/IDs.lua | 11 ++---- .../North_Gustaberg_[S]/mobs/Coppercap.lua | 7 +++- .../North_Gustaberg_[S]/mobs/Huge_Spider.lua | 7 +++- 6 files changed, 46 insertions(+), 44 deletions(-) diff --git a/scripts/zones/North_Gustaberg/IDs.lua b/scripts/zones/North_Gustaberg/IDs.lua index a7fee8270f4..a930677a380 100644 --- a/scripts/zones/North_Gustaberg/IDs.lua +++ b/scripts/zones/North_Gustaberg/IDs.lua @@ -53,37 +53,9 @@ zones[xi.zone.NORTH_GUSTABERG] = }, mob = { - STINGING_SOPHIE_PH = - { - [17211532] = 17211561, -- 352.974 -40.359 472.914 - [17211534] = 17211561, -- 353.313 -40.347 463.609 - [17211535] = 17211561, -- 237.753 -40.500 469.738 - [17211533] = 17211561, -- 216.150 -41.182 445.157 - [17211536] = 17211561, -- 197.369 -40.612 453.688 - [17211531] = 17211561, -- 196.873 -40.415 500.153 - [17211556] = 17211561, -- 210.607 -40.478 566.096 - [17211557] = 17211561, -- 288.447 -40.842 634.161 - [17211558] = 17211561, -- 295.890 -41.593 614.738 - [17211560] = 17211561, -- 356.544 -40.528 570.302 - [17211559] = 17211561, -- 363.973 -40.774 562.355 - [17211581] = 17211561, -- 308.116 -60.352 550.771 - [17211582] = 17211561, -- 308.975 -61.082 525.690 - [17211580] = 17211561, -- 310.309 -60.634 521.404 - [17211583] = 17211561, -- 285.813 -60.784 518.539 - [17211579] = 17211561, -- 283.958 -60.926 530.016 - }, - - MAIGHDEAN_UAINE_PH = - { - [17211698] = 17211702, -- 121.242 -0.500 654.504 - [17211701] = 17211702, -- 176.458 -0.347 722.666 - [17211697] = 17211702, -- 164.140 1.981 740.020 - [17211710] = 17211702, -- 239.992 -0.493 788.037 - [17211700] = 17211702, -- 203.606 -0.607 721.541 - [17211711] = 17211702, -- 289.709 -0.297 750.252 - }, - - GAMBILOX_WANDERLING = 17211848, + STINGING_SOPHIE = GetTableOfIDs('Stinging_Sophie'), -- 2 NMs + MAIGHDEAN_UAINE = GetFirstID('Maighdean_Uaine'), -- TODO: PH Audit, 2 NMs + GAMBILOX_WANDERLING = GetFirstID('Gambilox_Wanderling'), VOIDWALKER = { diff --git a/scripts/zones/North_Gustaberg/mobs/Maneating_Hornet.lua b/scripts/zones/North_Gustaberg/mobs/Maneating_Hornet.lua index 983c9286f42..8834a24970b 100644 --- a/scripts/zones/North_Gustaberg/mobs/Maneating_Hornet.lua +++ b/scripts/zones/North_Gustaberg/mobs/Maneating_Hornet.lua @@ -7,12 +7,28 @@ local ID = zones[xi.zone.NORTH_GUSTABERG] ----------------------------------- local entity = {} +local sophiePHTable = +{ + [ID.mob.STINGING_SOPHIE[1] - 6] = ID.mob.STINGING_SOPHIE[1], -- 196.873 -40.415 500.153 + [ID.mob.STINGING_SOPHIE[1] - 5] = ID.mob.STINGING_SOPHIE[1], -- 352.974 -40.359 472.914 + [ID.mob.STINGING_SOPHIE[1] - 4] = ID.mob.STINGING_SOPHIE[1], -- 216.150 -41.182 445.157 + [ID.mob.STINGING_SOPHIE[1] - 3] = ID.mob.STINGING_SOPHIE[1], -- 353.313 -40.347 463.609 + [ID.mob.STINGING_SOPHIE[1] - 2] = ID.mob.STINGING_SOPHIE[1], -- 237.753 -40.500 469.738 + [ID.mob.STINGING_SOPHIE[1] - 1] = ID.mob.STINGING_SOPHIE[1], -- 197.369 -40.612 453.688 + + [ID.mob.STINGING_SOPHIE[2] - 5] = ID.mob.STINGING_SOPHIE[2], -- 210.607 -40.478 566.096 + [ID.mob.STINGING_SOPHIE[2] - 4] = ID.mob.STINGING_SOPHIE[2], -- 288.447 -40.842 634.161 + [ID.mob.STINGING_SOPHIE[2] - 3] = ID.mob.STINGING_SOPHIE[2], -- 295.890 -41.593 614.738 + [ID.mob.STINGING_SOPHIE[2] - 2] = ID.mob.STINGING_SOPHIE[2], -- 363.973 -40.774 562.355 + [ID.mob.STINGING_SOPHIE[2] - 1] = ID.mob.STINGING_SOPHIE[2], -- 356.544 -40.528 570.302 +} + entity.onMobDeath = function(mob, player, optParams) xi.regime.checkRegime(player, mob, 17, 1, xi.regime.type.FIELDS) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.STINGING_SOPHIE_PH, 5, 1) -- Pure Lottery + xi.mob.phOnDespawn(mob, sophiePHTable, 5, 1) -- Pure Lottery end return entity diff --git a/scripts/zones/North_Gustaberg/mobs/Walking_Sapling.lua b/scripts/zones/North_Gustaberg/mobs/Walking_Sapling.lua index a18513382b2..5af5d91a757 100644 --- a/scripts/zones/North_Gustaberg/mobs/Walking_Sapling.lua +++ b/scripts/zones/North_Gustaberg/mobs/Walking_Sapling.lua @@ -7,12 +7,23 @@ local ID = zones[xi.zone.NORTH_GUSTABERG] ----------------------------------- local entity = {} +local maighdeanPHTable = +{ + [ID.mob.MAIGHDEAN_UAINE - 5] = ID.mob.MAIGHDEAN_UAINE, -- 164.140 1.981 740.020 + [ID.mob.MAIGHDEAN_UAINE - 4] = ID.mob.MAIGHDEAN_UAINE, -- 121.242 -0.500 654.504 + [ID.mob.MAIGHDEAN_UAINE - 3] = ID.mob.MAIGHDEAN_UAINE, -- 94.521 2.365 648.439 + [ID.mob.MAIGHDEAN_UAINE - 2] = ID.mob.MAIGHDEAN_UAINE, -- 203.606 -0.607 721.541 + [ID.mob.MAIGHDEAN_UAINE - 1] = ID.mob.MAIGHDEAN_UAINE, -- 176.458 -0.347 722.666 + [ID.mob.MAIGHDEAN_UAINE + 8] = ID.mob.MAIGHDEAN_UAINE, -- 239.992 -0.493 788.037 + [ID.mob.MAIGHDEAN_UAINE + 9] = ID.mob.MAIGHDEAN_UAINE, -- 289.709 -0.297 750.252 +} + entity.onMobDeath = function(mob, player, optParams) xi.regime.checkRegime(player, mob, 18, 2, xi.regime.type.FIELDS) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.MAIGHDEAN_UAINE_PH, 5, 900) -- 15 min minimum + xi.mob.phOnDespawn(mob, maighdeanPHTable, 5, 900) -- 15 min minimum end return entity diff --git a/scripts/zones/North_Gustaberg_[S]/IDs.lua b/scripts/zones/North_Gustaberg_[S]/IDs.lua index 2bc6c2f5a2f..8653c801e83 100644 --- a/scripts/zones/North_Gustaberg_[S]/IDs.lua +++ b/scripts/zones/North_Gustaberg_[S]/IDs.lua @@ -33,15 +33,8 @@ zones[xi.zone.NORTH_GUSTABERG_S] = mob = { - ANKABUT_PH = - { - [17137701] = 17137705, -- 656.399 -11.580 507.091 - }, - - GLOOMANITA_PH = - { - [17137820] = 17137821, -- -19.961 0.5 623.989 - }, + ANKABUT = GetFirstID('Ankabut'), + GLOOMANITA = GetFirstID('Gloomanita'), VOIDWALKER = { diff --git a/scripts/zones/North_Gustaberg_[S]/mobs/Coppercap.lua b/scripts/zones/North_Gustaberg_[S]/mobs/Coppercap.lua index 7ef467f71a5..0446ace7da4 100644 --- a/scripts/zones/North_Gustaberg_[S]/mobs/Coppercap.lua +++ b/scripts/zones/North_Gustaberg_[S]/mobs/Coppercap.lua @@ -7,11 +7,16 @@ local ID = zones[xi.zone.NORTH_GUSTABERG_S] ----------------------------------- local entity = {} +local gloomanitaPHTable = +{ + [ID.mob.GLOOMANITA - 1] = ID.mob.GLOOMANITA, -- -19.961 0.5 623.989 +} + entity.onMobDeath = function(mob, player, optParams) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.GLOOMANITA_PH, 10, 3600) -- 1 hour + xi.mob.phOnDespawn(mob, gloomanitaPHTable, 10, 3600) -- 1 hour end return entity diff --git a/scripts/zones/North_Gustaberg_[S]/mobs/Huge_Spider.lua b/scripts/zones/North_Gustaberg_[S]/mobs/Huge_Spider.lua index 289576e118a..ab72193f7d4 100644 --- a/scripts/zones/North_Gustaberg_[S]/mobs/Huge_Spider.lua +++ b/scripts/zones/North_Gustaberg_[S]/mobs/Huge_Spider.lua @@ -7,11 +7,16 @@ local ID = zones[xi.zone.NORTH_GUSTABERG_S] ----------------------------------- local entity = {} +local ankabutPHTable = +{ + [ID.mob.ANKABUT - 4] = ID.mob.ANKABUT, -- 656.399 -11.580 507.091 +} + entity.onMobDeath = function(mob, player, optParams) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.ANKABUT_PH, 10, 3600) -- 1 hour + xi.mob.phOnDespawn(mob, ankabutPHTable, 10, 3600) -- 1 hour end return entity From 23eae8d1a258e2bf851486e4a4aa9f5d99cdbc9c Mon Sep 17 00:00:00 2001 From: Frankie-hz <105882754+Frankie-hz@users.noreply.github.com> Date: Wed, 8 May 2024 00:11:27 -0400 Subject: [PATCH 6/7] Shift-proof Newton Movalpolos --- scripts/zones/Newton_Movalpolos/IDs.lua | 16 ++++++---------- .../Newton_Movalpolos/mobs/Goblin_Swordsman.lua | 8 +++++++- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/scripts/zones/Newton_Movalpolos/IDs.lua b/scripts/zones/Newton_Movalpolos/IDs.lua index 1747ef68e0d..bbfc25e6d81 100644 --- a/scripts/zones/Newton_Movalpolos/IDs.lua +++ b/scripts/zones/Newton_Movalpolos/IDs.lua @@ -28,19 +28,15 @@ zones[xi.zone.NEWTON_MOVALPOLOS] = }, mob = { - SWASHSTOX_BEADBLINKER_PH = - { - [16826507] = 16826517, -- 92.145, 15.500, 66.595 - [16826514] = 16826510, -- 88.412, 15.421, -19.950 - }, - MIMIC = 16826564, - BUGBEAR_MATMAN = 16826570, - GOBLIN_COLLECTOR = 16826569, + SWASHSTOX_BEADBLINKER = GetTableOfIDs('Swashstox_Beadblinker'), -- 2 NMs + MIMIC = GetFirstID('Mimic'), + BUGBEAR_MATMAN = GetFirstID('Bugbear_Matman'), + GOBLIN_COLLECTOR = GetFirstID('Goblin_Collector'), }, npc = { - DOOR_OFFSET = 16826585, -- _0c0 in npc_list - FURNACE_HATCH_OFFSET = 16826610, + DOOR_OFFSET = GetFirstID('_0c0'), + FURNACE_HATCH_OFFSET = GetFirstID('Furnace_Hatch'), TREASURE_COFFER = GetFirstID('Treasure_Coffer'), MINING = GetTableOfIDs('Mining_Point'), }, diff --git a/scripts/zones/Newton_Movalpolos/mobs/Goblin_Swordsman.lua b/scripts/zones/Newton_Movalpolos/mobs/Goblin_Swordsman.lua index d93111cf3a8..74de4a24369 100644 --- a/scripts/zones/Newton_Movalpolos/mobs/Goblin_Swordsman.lua +++ b/scripts/zones/Newton_Movalpolos/mobs/Goblin_Swordsman.lua @@ -7,11 +7,17 @@ local ID = zones[xi.zone.NEWTON_MOVALPOLOS] ----------------------------------- local entity = {} +local swashstoxPHTable = +{ + [ID.mob.SWASHSTOX_BEADBLINKER[1] - 10] = ID.mob.SWASHSTOX_BEADBLINKER[1], -- 92.145, 15.500, 66.595 + [ID.mob.SWASHSTOX_BEADBLINKER[2] + 4] = ID.mob.SWASHSTOX_BEADBLINKER[2], -- 88.412, 15.421, -19.950 +} + entity.onMobDeath = function(mob, player, optParams) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.SWASHSTOX_BEADBLINKER_PH, 15, 10800) + xi.mob.phOnDespawn(mob, swashstoxPHTable, 15, 10800) end return entity From 1661ff6863d8aeb6c2bef34f94908db61a44fe8f Mon Sep 17 00:00:00 2001 From: Frankie-hz <105882754+Frankie-hz@users.noreply.github.com> Date: Wed, 8 May 2024 00:12:01 -0400 Subject: [PATCH 7/7] Shift-proof Navukgo Execution Chamber --- .../zones/Navukgo_Execution_Chamber/IDs.lua | 8 ++------ .../mobs/Immortal_Flan.lua | 20 ++++++++++++++----- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/scripts/zones/Navukgo_Execution_Chamber/IDs.lua b/scripts/zones/Navukgo_Execution_Chamber/IDs.lua index baec373b931..d73cf65a621 100644 --- a/scripts/zones/Navukgo_Execution_Chamber/IDs.lua +++ b/scripts/zones/Navukgo_Execution_Chamber/IDs.lua @@ -40,12 +40,8 @@ zones[xi.zone.NAVUKGO_EXECUTION_CHAMBER] = }, mob = { - KARABABA_OFFSET = 17039401, - IMMORTAL_FLAN2 = 17039375, -- IMMORTAL_FLAN1 always pops in battlefield, other flans pop depending on party size - IMMORTAL_FLAN3 = 17039376, - IMMORTAL_FLAN4 = 17039377, - IMMORTAL_FLAN5 = 17039378, - IMMORTAL_FLAN6 = 17039379, + KARABABA_OFFSET = GetFirstID('Karababa'), + IMMORTAL_FLAN_OFFSET = GetFirstID('Immortal_Flan'), }, npc = { diff --git a/scripts/zones/Navukgo_Execution_Chamber/mobs/Immortal_Flan.lua b/scripts/zones/Navukgo_Execution_Chamber/mobs/Immortal_Flan.lua index 73e2ac0203d..73d022f1a64 100644 --- a/scripts/zones/Navukgo_Execution_Chamber/mobs/Immortal_Flan.lua +++ b/scripts/zones/Navukgo_Execution_Chamber/mobs/Immortal_Flan.lua @@ -6,29 +6,39 @@ local ID = zones[xi.zone.NAVUKGO_EXECUTION_CHAMBER] ----------------------------------- local entity = {} +local flanOffsetTable = +{ + -- Flan 1 always spawns + ID.mob.IMMORTAL_FLAN_OFFSET + 1, -- Flan 2 + ID.mob.IMMORTAL_FLAN_OFFSET + 2, -- Flan 3 + ID.mob.IMMORTAL_FLAN_OFFSET + 3, -- Flan 4 + ID.mob.IMMORTAL_FLAN_OFFSET + 4, -- Flan 5 + ID.mob.IMMORTAL_FLAN_OFFSET + 5, -- Flan 6 +} + entity.onMobEngage = function(mob, target) local bf = mob:getBattlefield() local mobOffset = (bf:getArea() - 1) * 7 if bf:getLocalVar('flans_spawned') ~= 1 then local entrants = bf:getLocalVar('num_entrants') if entrants >= 4 then - GetMobByID(ID.mob.IMMORTAL_FLAN2 + mobOffset):spawn() + GetMobByID(flanOffsetTable[1] + mobOffset):spawn() end if entrants >= 7 then - GetMobByID(ID.mob.IMMORTAL_FLAN3 + mobOffset):spawn() + GetMobByID(flanOffsetTable[2] + mobOffset):spawn() end if entrants >= 10 then - GetMobByID(ID.mob.IMMORTAL_FLAN4 + mobOffset):spawn() + GetMobByID(flanOffsetTable[3] + mobOffset):spawn() end if entrants >= 13 then - GetMobByID(ID.mob.IMMORTAL_FLAN5 + mobOffset):spawn() + GetMobByID(flanOffsetTable[4] + mobOffset):spawn() end if entrants >= 16 then - GetMobByID(ID.mob.IMMORTAL_FLAN6 + mobOffset):spawn() + GetMobByID(flanOffsetTable[5] + mobOffset):spawn() end bf:setLocalVar('flans_spawned', 1)