From 43f9ac15768a70aef96c2b8494b3f85e1dadddc7 Mon Sep 17 00:00:00 2001 From: Frankie-hz <105882754+Frankie-hz@users.noreply.github.com> Date: Thu, 9 May 2024 23:25:23 -0400 Subject: [PATCH 1/4] Shift-proof Jugner Forest and [S] --- scripts/zones/Jugner_Forest/IDs.lua | 28 +++++-------------- .../zones/Jugner_Forest/mobs/Fraelissa.lua | 7 ++++- .../zones/Jugner_Forest/mobs/Orcish_Grunt.lua | 7 ++++- .../zones/Jugner_Forest/mobs/Stag_Beetle.lua | 8 +++++- scripts/zones/Jugner_Forest_[S]/IDs.lua | 10 ++----- .../Jugner_Forest_[S]/mobs/Orcish_Veteran.lua | 7 ++++- 6 files changed, 35 insertions(+), 32 deletions(-) diff --git a/scripts/zones/Jugner_Forest/IDs.lua b/scripts/zones/Jugner_Forest/IDs.lua index 7a47d0be594..398ebae7496 100644 --- a/scripts/zones/Jugner_Forest/IDs.lua +++ b/scripts/zones/Jugner_Forest/IDs.lua @@ -52,26 +52,13 @@ zones[xi.zone.JUGNER_FOREST] = mob = { - PANZER_PERCIVAL_PH = - { - [17203581] = 17203585, -- 535.504 -1.517 152.171 (southeast) - [17203637] = 17203642, -- 239.541 -0.365 559.722 (northwest) - }, - - SUPPLESPINE_MUJWUJ_PH = - { - [17203437] = 17203475, - }, - - FRADUBIO_PH = - { - [17203447] = 17203448, - }, - - KING_ARTHRO = 17203216, - FRAELISSA = 17203447, - FRADUBIO = 17203448, - METEORMAULER = 17203414, + PANZER_PERCIVAL = GetTableOfIDs('Panzer_Percival'), -- 2 NMs + SUPPLESPINE_MUJWUJ = GetFirstID('Supplespine_Mujwuj'), + KING_ARTHRO = GetFirstID('King_Arthro'), + FRAELISSA = GetFirstID('Fraelissa'), + FRADUBIO = GetFirstID('Fradubio'), + METEORMAULER = GetFirstID('Meteormauler_Zhagtegg'), + CERNUNNOS = GetFirstID('Cernunnos'), VOIDWALKER = { @@ -104,7 +91,6 @@ zones[xi.zone.JUGNER_FOREST] = } }, - CERNUNNOS = 17203677, }, npc = diff --git a/scripts/zones/Jugner_Forest/mobs/Fraelissa.lua b/scripts/zones/Jugner_Forest/mobs/Fraelissa.lua index d69d2badb1e..648dfe4957e 100644 --- a/scripts/zones/Jugner_Forest/mobs/Fraelissa.lua +++ b/scripts/zones/Jugner_Forest/mobs/Fraelissa.lua @@ -6,6 +6,11 @@ local ID = zones[xi.zone.JUGNER_FOREST] ----------------------------------- local entity = {} +local fradubioPHTable = +{ + [ID.mob.FRADUBIO - 1] = ID.mob.FRADUBIO, +} + local updateRegen = function(mob) local hour = VanadielHour() if hour >= 4 and hour < 20 then @@ -33,7 +38,7 @@ end entity.onMobDespawn = function(mob) UpdateNMSpawnPoint(mob:getID()) - if not xi.mob.phOnDespawn(mob, ID.mob.FRADUBIO_PH, 10, 75600) then -- 21 hour minimum + if not xi.mob.phOnDespawn(mob, fradubioPHTable, 10, 75600) then -- 21 hour minimum mob:setRespawnTime(math.random(3600, 4500)) -- 60 to 75 minutes end end diff --git a/scripts/zones/Jugner_Forest/mobs/Orcish_Grunt.lua b/scripts/zones/Jugner_Forest/mobs/Orcish_Grunt.lua index 83cebd032eb..b1f0d41e501 100644 --- a/scripts/zones/Jugner_Forest/mobs/Orcish_Grunt.lua +++ b/scripts/zones/Jugner_Forest/mobs/Orcish_Grunt.lua @@ -7,11 +7,16 @@ local ID = zones[xi.zone.JUGNER_FOREST] ----------------------------------- local entity = {} +local supplespinePHTable = +{ + [ID.mob.SUPPLESPINE_MUJWUJ - 38] = ID.mob.SUPPLESPINE_MUJWUJ, +} + entity.onMobDeath = function(mob, player, optParams) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.SUPPLESPINE_MUJWUJ_PH, 10, 3600) -- 1 hour + xi.mob.phOnDespawn(mob, supplespinePHTable, 10, 3600) -- 1 hour end return entity diff --git a/scripts/zones/Jugner_Forest/mobs/Stag_Beetle.lua b/scripts/zones/Jugner_Forest/mobs/Stag_Beetle.lua index b54e922ce65..b46590e3f2b 100644 --- a/scripts/zones/Jugner_Forest/mobs/Stag_Beetle.lua +++ b/scripts/zones/Jugner_Forest/mobs/Stag_Beetle.lua @@ -7,13 +7,19 @@ local ID = zones[xi.zone.JUGNER_FOREST] ----------------------------------- local entity = {} +local panzerPHTable = +{ + [ID.mob.PANZER_PERCIVAL[1] - 4] = ID.mob.PANZER_PERCIVAL[1], -- 535.504 -1.517 152.171 (southeast) + [ID.mob.PANZER_PERCIVAL[2] - 5] = ID.mob.PANZER_PERCIVAL[2], -- 239.541 -0.365 559.722 (northwest) +} + entity.onMobDeath = function(mob, player, optParams) xi.regime.checkRegime(player, mob, 12, 1, xi.regime.type.FIELDS) xi.regime.checkRegime(player, mob, 13, 2, xi.regime.type.FIELDS) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.PANZER_PERCIVAL_PH, 10, 1) -- No minimum respawn + xi.mob.phOnDespawn(mob, panzerPHTable, 10, 1) -- No minimum respawn end return entity diff --git a/scripts/zones/Jugner_Forest_[S]/IDs.lua b/scripts/zones/Jugner_Forest_[S]/IDs.lua index ebdc0282972..686bf90049d 100644 --- a/scripts/zones/Jugner_Forest_[S]/IDs.lua +++ b/scripts/zones/Jugner_Forest_[S]/IDs.lua @@ -45,13 +45,9 @@ zones[xi.zone.JUGNER_FOREST_S] = mob = { - DRUMSKULL_ZOGDREGG_PH = - { - [17113380] = 17113381, -- 195.578 -0.556 -347.699 - }, - - FINGERFILCHER_DRADZAD = 17113462, - COBRACLAW_BUCHZVOTCH = 17113464, + DRUMSKULL_ZOGDREGG = GetFirstID('Drumskull_Zogdregg'), + FINGERFILCHER_DRADZAD = GetFirstID('Fingerfilcher_Dradzad'), + COBRACLAW_BUCHZVOTCH = GetFirstID('Cobraclaw_Buchzvotch'), VOIDWALKER = { diff --git a/scripts/zones/Jugner_Forest_[S]/mobs/Orcish_Veteran.lua b/scripts/zones/Jugner_Forest_[S]/mobs/Orcish_Veteran.lua index 75220f0c99d..98f72d4c647 100644 --- a/scripts/zones/Jugner_Forest_[S]/mobs/Orcish_Veteran.lua +++ b/scripts/zones/Jugner_Forest_[S]/mobs/Orcish_Veteran.lua @@ -7,11 +7,16 @@ local ID = zones[xi.zone.JUGNER_FOREST_S] ----------------------------------- local entity = {} +local drumskillPHTable = +{ + [ID.mob.DRUMSKULL_ZOGDREGG - 1] = ID.mob.DRUMSKULL_ZOGDREGG, -- 195.578 -0.556 -347.699 +} + entity.onMobDeath = function(mob, player, optParams) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.DRUMSKULL_ZOGDREGG_PH, 10, 3600) -- 1 hour + xi.mob.phOnDespawn(mob, drumskillPHTable, 10, 3600) -- 1 hour end return entity From 092de1a72ccdfc0f2ba32b0ce995d8c4c2ff8502 Mon Sep 17 00:00:00 2001 From: Frankie-hz <105882754+Frankie-hz@users.noreply.github.com> Date: Thu, 9 May 2024 23:25:38 -0400 Subject: [PATCH 2/4] Shift-proof Inner Horutoto Ruins --- scripts/zones/Inner_Horutoto_Ruins/IDs.lua | 16 ++++------------ .../zones/Inner_Horutoto_Ruins/mobs/Boggart.lua | 9 ++++++++- .../Inner_Horutoto_Ruins/mobs/Goblin_Leecher.lua | 7 ++++++- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/scripts/zones/Inner_Horutoto_Ruins/IDs.lua b/scripts/zones/Inner_Horutoto_Ruins/IDs.lua index 7e9b2680a56..662b545c3ee 100644 --- a/scripts/zones/Inner_Horutoto_Ruins/IDs.lua +++ b/scripts/zones/Inner_Horutoto_Ruins/IDs.lua @@ -35,17 +35,9 @@ zones[xi.zone.INNER_HORUTOTO_RUINS] = }, mob = { - SLENDLIX_SPINDLETHUMB_PH = - { - [17563758] = 17563785, -- -238.315 -0.002 -179.249 - }, - NOCUOUS_WEAPON_PH = - { - [17563798] = 17563801, -- -236.855 0.476 -51.263 - [17563799] = 17563801, -- -237.426 0.5 -23.412 - [17563800] = 17563801, -- -230.732 -0.025 -52.324 - }, - MAGICKED_BONES = GetFirstID('Magicked_Bones'), + SLENDLIX_SPINDLETHUMB = GetFirstID('Slendlix_Spindlethumb'), + NOCUOUS_WEAPON = GetFirstID('Nocuous_Weapon'), + MAGICKED_BONES = GetFirstID('Magicked_Bones'), --[[ -2 Goblin Thug -1 Goblin Weaver @@ -55,7 +47,7 @@ zones[xi.zone.INNER_HORUTOTO_RUINS] = }, npc = { - PORTAL_CIRCLE_BASE = 17563862, + PORTAL_CIRCLE_BASE = GetFirstID('_5cm'), TREASURE_CHEST = GetFirstID('Treasure_Chest'), }, } diff --git a/scripts/zones/Inner_Horutoto_Ruins/mobs/Boggart.lua b/scripts/zones/Inner_Horutoto_Ruins/mobs/Boggart.lua index 4badc90560d..026bf0cd797 100644 --- a/scripts/zones/Inner_Horutoto_Ruins/mobs/Boggart.lua +++ b/scripts/zones/Inner_Horutoto_Ruins/mobs/Boggart.lua @@ -7,12 +7,19 @@ local ID = zones[xi.zone.INNER_HORUTOTO_RUINS] ----------------------------------- local entity = {} +local nocuousPHTable = +{ + [ID.mob.NOCUOUS_WEAPON - 3] = ID.mob.NOCUOUS_WEAPON, -- -236.855 0.476 -51.263 + [ID.mob.NOCUOUS_WEAPON - 2] = ID.mob.NOCUOUS_WEAPON, -- -237.426 0.5 -23.412 + [ID.mob.NOCUOUS_WEAPON - 1] = ID.mob.NOCUOUS_WEAPON, -- -230.732 -0.025 -52.324 +} + entity.onMobDeath = function(mob, player, optParams) xi.regime.checkRegime(player, mob, 650, 1, xi.regime.type.GROUNDS) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.NOCUOUS_WEAPON_PH, 5, 3600) -- 1 hour + xi.mob.phOnDespawn(mob, nocuousPHTable, 5, 3600) -- 1 hour end return entity diff --git a/scripts/zones/Inner_Horutoto_Ruins/mobs/Goblin_Leecher.lua b/scripts/zones/Inner_Horutoto_Ruins/mobs/Goblin_Leecher.lua index da6cc6b33f3..258f3e6e161 100644 --- a/scripts/zones/Inner_Horutoto_Ruins/mobs/Goblin_Leecher.lua +++ b/scripts/zones/Inner_Horutoto_Ruins/mobs/Goblin_Leecher.lua @@ -7,11 +7,16 @@ local ID = zones[xi.zone.INNER_HORUTOTO_RUINS] ----------------------------------- local entity = {} +local slendlixPHTable = +{ + [ID.mob.SLENDLIX_SPINDLETHUMB - 27] = ID.mob.SLENDLIX_SPINDLETHUMB, -- -238.315 -0.002 -179.249 +} + entity.onMobDeath = function(mob, player, optParams) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.SLENDLIX_SPINDLETHUMB_PH, 10, 3600) -- 1 hour + xi.mob.phOnDespawn(mob, slendlixPHTable, 10, 3600) -- 1 hour end return entity From bf277e0543cbfd33111414662ea77f5c6dde281b Mon Sep 17 00:00:00 2001 From: Frankie-hz <105882754+Frankie-hz@users.noreply.github.com> Date: Thu, 9 May 2024 23:26:00 -0400 Subject: [PATCH 3/4] Shift-proof Ifrits --- scripts/zones/Ifrits_Cauldron/IDs.lua | 48 +++++-------------- .../zones/Ifrits_Cauldron/mobs/Eotyrannus.lua | 12 ++++- .../Ifrits_Cauldron/mobs/Goblin_Alchemist.lua | 9 +++- .../Ifrits_Cauldron/mobs/Hurricane_Wyvern.lua | 12 ++++- .../Ifrits_Cauldron/mobs/Sulfur_Scorpion.lua | 9 +++- 5 files changed, 49 insertions(+), 41 deletions(-) diff --git a/scripts/zones/Ifrits_Cauldron/IDs.lua b/scripts/zones/Ifrits_Cauldron/IDs.lua index 72b1d9a067b..765b35b1b94 100644 --- a/scripts/zones/Ifrits_Cauldron/IDs.lua +++ b/scripts/zones/Ifrits_Cauldron/IDs.lua @@ -42,46 +42,20 @@ zones[xi.zone.IFRITS_CAULDRON] = }, mob = { - TYRANNIC_TUNNOK_PH = - { - [17616996] = 17616999, - [17617000] = 17616999, - [17617001] = 17616999, - }, - LINDWURM_PH = - { - [17617007] = 17617013, - [17617008] = 17617013, - [17617011] = 17617013, - [17617012] = 17617013, - [17617031] = 17617013, - [17617032] = 17617013, - }, - FORESEER_ORAMIX_PH = - { - [17617055] = 17617062, - [17617066] = 17617062, - [17617069] = 17617062, - }, - VOUIVRE_PH = - { - [17617117] = 17617130, - [17617118] = 17617130, - [17617121] = 17617130, - [17617122] = 17617130, - [17617125] = 17617130, - [17617129] = 17617130, - }, - PIRATES_COVE_NMS = 17616897, - ASH_DRAGON = 17617147, - MIMIC = 17617157, - BOMB_QUEEN = 17617158, - TARASQUE = 17617164, - CAILLEACH_BHEUR = 17617165, + TYRANNIC_TUNNOK = GetFirstID('Tyrannic_Tunnok'), + LINDWURM = GetFirstID('Lindwurm'), + FORESEER_ORAMIX = GetFirstID('Foreseer_Oramix'), + VOUIVRE = GetFirstID('Vouivre'), + PIRATES_COVE_NMS = GetFirstID('Salamander'), + ASH_DRAGON = GetFirstID('Ash_Dragon'), + MIMIC = GetFirstID('Mimic'), + BOMB_QUEEN = GetFirstID('Bomb_Queen'), + TARASQUE = GetFirstID('Tarasque'), + CAILLEACH_BHEUR = GetFirstID('Cailleach_Bheur'), }, npc = { - FLAME_SPOUT_OFFSET = 17617205, + FLAME_SPOUT_OFFSET = GetFirstID('Flame_Spout'), TREASURE_COFFER = GetFirstID('Treasure_Coffer'), MINING = GetTableOfIDs('Mining_Point'), }, diff --git a/scripts/zones/Ifrits_Cauldron/mobs/Eotyrannus.lua b/scripts/zones/Ifrits_Cauldron/mobs/Eotyrannus.lua index 685f2df2125..15038a3069a 100644 --- a/scripts/zones/Ifrits_Cauldron/mobs/Eotyrannus.lua +++ b/scripts/zones/Ifrits_Cauldron/mobs/Eotyrannus.lua @@ -7,12 +7,22 @@ local ID = zones[xi.zone.IFRITS_CAULDRON] ----------------------------------- local entity = {} +local lindwurmPHTable = +{ + [ID.mob.LINDWURM - 6] = ID.mob.LINDWURM, + [ID.mob.LINDWURM - 5] = ID.mob.LINDWURM, + [ID.mob.LINDWURM - 2] = ID.mob.LINDWURM, + [ID.mob.LINDWURM - 1] = ID.mob.LINDWURM, + [ID.mob.LINDWURM + 18] = ID.mob.LINDWURM, + [ID.mob.LINDWURM + 19] = ID.mob.LINDWURM, +} + entity.onMobDeath = function(mob, player, optParams) xi.regime.checkRegime(player, mob, 758, 1, xi.regime.type.GROUNDS) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.LINDWURM_PH, 5, 3600) -- 1 hour + xi.mob.phOnDespawn(mob, lindwurmPHTable, 5, 3600) -- 1 hour end return entity diff --git a/scripts/zones/Ifrits_Cauldron/mobs/Goblin_Alchemist.lua b/scripts/zones/Ifrits_Cauldron/mobs/Goblin_Alchemist.lua index 95e506bc6b0..72a16272f04 100644 --- a/scripts/zones/Ifrits_Cauldron/mobs/Goblin_Alchemist.lua +++ b/scripts/zones/Ifrits_Cauldron/mobs/Goblin_Alchemist.lua @@ -6,12 +6,19 @@ local ID = zones[xi.zone.IFRITS_CAULDRON] ----------------------------------- local entity = {} +local foreseerPHTable = +{ + [ID.mob.FORESEER_ORAMIX - 7] = ID.mob.FORESEER_ORAMIX, + [ID.mob.FORESEER_ORAMIX + 4] = ID.mob.FORESEER_ORAMIX, + [ID.mob.FORESEER_ORAMIX + 7] = ID.mob.FORESEER_ORAMIX, +} + entity.onMobDeath = function(mob, player, optParams) xi.regime.checkRegime(player, mob, 757, 1, xi.regime.type.GROUNDS) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.FORESEER_ORAMIX_PH, 5, 3600) -- 1 hour + xi.mob.phOnDespawn(mob, foreseerPHTable, 5, 3600) -- 1 hour end return entity diff --git a/scripts/zones/Ifrits_Cauldron/mobs/Hurricane_Wyvern.lua b/scripts/zones/Ifrits_Cauldron/mobs/Hurricane_Wyvern.lua index 58244a87f96..c0521c017c5 100644 --- a/scripts/zones/Ifrits_Cauldron/mobs/Hurricane_Wyvern.lua +++ b/scripts/zones/Ifrits_Cauldron/mobs/Hurricane_Wyvern.lua @@ -7,12 +7,22 @@ local ID = zones[xi.zone.IFRITS_CAULDRON] ----------------------------------- local entity = {} +local vouivrePHTable = +{ + [ID.mob.VOUIVRE - 13] = ID.mob.VOUIVRE, + [ID.mob.VOUIVRE - 12] = ID.mob.VOUIVRE, + [ID.mob.VOUIVRE - 9] = ID.mob.VOUIVRE, + [ID.mob.VOUIVRE - 8] = ID.mob.VOUIVRE, + [ID.mob.VOUIVRE - 5] = ID.mob.VOUIVRE, + [ID.mob.VOUIVRE - 1] = ID.mob.VOUIVRE, +} + entity.onMobDeath = function(mob, player, optParams) xi.regime.checkRegime(player, mob, 762, 1, xi.regime.type.GROUNDS) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.VOUIVRE_PH, 5, 7200) -- 2 hours + xi.mob.phOnDespawn(mob, vouivrePHTable, 5, 7200) -- 2 hours end return entity diff --git a/scripts/zones/Ifrits_Cauldron/mobs/Sulfur_Scorpion.lua b/scripts/zones/Ifrits_Cauldron/mobs/Sulfur_Scorpion.lua index 4d70d662889..2bdebcf9725 100644 --- a/scripts/zones/Ifrits_Cauldron/mobs/Sulfur_Scorpion.lua +++ b/scripts/zones/Ifrits_Cauldron/mobs/Sulfur_Scorpion.lua @@ -7,12 +7,19 @@ local ID = zones[xi.zone.IFRITS_CAULDRON] ----------------------------------- local entity = {} +local tyrannicPHTable = +{ + [ID.mob.TYRANNIC_TUNNOK - 3] = ID.mob.TYRANNIC_TUNNOK, + [ID.mob.TYRANNIC_TUNNOK + 1] = ID.mob.TYRANNIC_TUNNOK, + [ID.mob.TYRANNIC_TUNNOK + 2] = ID.mob.TYRANNIC_TUNNOK, +} + entity.onMobDeath = function(mob, player, optParams) xi.regime.checkRegime(player, mob, 759, 2, xi.regime.type.GROUNDS) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.TYRANNIC_TUNNOK_PH, 5, 3600) -- 1 hour + xi.mob.phOnDespawn(mob, tyrannicPHTable, 5, 3600) -- 1 hour end return entity From 0c3a69ba0d48b77dfaffe89f2f9b63817073500b Mon Sep 17 00:00:00 2001 From: Frankie-hz <105882754+Frankie-hz@users.noreply.github.com> Date: Thu, 9 May 2024 23:26:15 -0400 Subject: [PATCH 4/4] Shift-proof Halvung --- scripts/zones/Halvung/IDs.lua | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/scripts/zones/Halvung/IDs.lua b/scripts/zones/Halvung/IDs.lua index 7050d26f7c4..ca516803dc2 100644 --- a/scripts/zones/Halvung/IDs.lua +++ b/scripts/zones/Halvung/IDs.lua @@ -33,18 +33,18 @@ zones[xi.zone.HALVUNG] = mob = { BIG_BOMB = GetFirstID('Big_Bomb'), - GURFURLUR_THE_MENACING = 17031592, - DEXTROSE = 17031598, - REACTON = 17031599, - ACHAMOTH = 17031600, + GURFURLUR_THE_MENACING = GetFirstID('Gurfurlur_the_Menacing'), + DEXTROSE = GetFirstID('Dextrose'), + REACTON = GetFirstID('Reacton'), + ACHAMOTH = GetFirstID('Achamoth'), }, npc = { - LEVER_AB_DOOR = 17031669, - LEVER_CD_DOOR = 17031673, - LEVER_EF_DOOR = 17031677, - LEVER_GH_DOOR = 17031681, - LEVER_IJ_DOOR = 17031685, + LEVER_AB_DOOR = GetFirstID('_1qf'), + LEVER_CD_DOOR = GetFirstID('_1qh'), + LEVER_EF_DOOR = GetFirstID('_1qj'), + LEVER_GH_DOOR = GetFirstID('_1ql'), + LEVER_IJ_DOOR = GetFirstID('_1qn'), MINING = GetTableOfIDs('Mining_Point'), }, }