From 949acb11fd6c7acfd00902ac3c600cd867a24558 Mon Sep 17 00:00:00 2001 From: Frankie-hz <105882754+Frankie-hz@users.noreply.github.com> Date: Thu, 9 May 2024 22:48:50 -0400 Subject: [PATCH 1/4] Shift-proof Kuftal Tunnel --- scripts/zones/Kuftal_Tunnel/IDs.lua | 85 +++---------------- .../zones/Kuftal_Tunnel/mobs/Deinonychus.lua | 17 +++- .../Kuftal_Tunnel/mobs/Goblin_Mercenary.lua | 8 +- .../Kuftal_Tunnel/mobs/Greater_Cockatrice.lua | 9 +- .../Kuftal_Tunnel/mobs/Recluse_Spider.lua | 10 ++- .../mobs/Sabotender_Sediendo.lua | 18 +++- .../zones/Kuftal_Tunnel/mobs/Sand_Lizard.lua | 19 ++++- 7 files changed, 89 insertions(+), 77 deletions(-) diff --git a/scripts/zones/Kuftal_Tunnel/IDs.lua b/scripts/zones/Kuftal_Tunnel/IDs.lua index f79400d05a6..5872414e6eb 100644 --- a/scripts/zones/Kuftal_Tunnel/IDs.lua +++ b/scripts/zones/Kuftal_Tunnel/IDs.lua @@ -36,80 +36,23 @@ zones[xi.zone.KUFTAL_TUNNEL] = }, mob = { - AMEMET_PH = - { - [17490000] = 17490016, -- 123.046 0.250 18.642 - [17489994] = 17490016, -- 112.135 -0.278 38.281 - [17490001] = 17490016, -- 112.008 -0.530 50.994 - [17490003] = 17490016, -- 122.654 -0.491 0.840 - [17490008] = 17490016, -- 123.186 0.213 -24.716 - [17490005] = 17490016, -- 118.633 -0.470 -43.282 - [17490010] = 17490016, -- 109.000 -0.010 -48.000 - [17490004] = 17490016, -- 96.365 -0.269 -7.619 - [17490002] = 17490016, -- 89.590 -0.321 -9.390 - [17489933] = 17490016, -- 68.454 -0.417 -0.413 - [17489932] = 17490016, -- 74.662 -0.513 3.685 - [17490009] = 17490016, -- 67.998 -0.500 12.000 - [17489934] = 17490016, -- 92.000 -0.396 14.000 - }, - ARACHNE_PH = - { - [17490222] = 17490217, -- 19.000 20.000 37.000 - [17490221] = 17490217, -- -10.000 20.000 14.000 - [17490219] = 17490217, -- -20.000 20.000 38.000 - [17490220] = 17490217, -- -20.000 21.000 1.000 - }, - BLOODTHIRSTER_MADKIX_PH = - { - [17490173] = 17490159, -- 265.000 9.000 30.000 - [17490182] = 17490159, -- 256.000 10.000 34.000 - }, - PELICAN_PH = - { - [17490097] = 17490101, -- 178.857 20.256 -44.151 - [17490094] = 17490101, -- 180.000 21.000 -39.000 - [17490098] = 17490101, -- 179.394 20.061 -34.062 - }, - SABOTENDER_MARIACHI_PH = - { - [17489987] = 17489980, -- -23.543 -0.396 59.578 - [17489983] = 17489980, -- -45.000 -0.115 39.000 - [17489985] = 17489980, -- -34.263 -0.512 30.437 - [17489984] = 17489980, -- -38.791 0.230 26.579 - [17489977] = 17489980, -- -41.000 0.088 -3.000 - [17489978] = 17489980, -- -54.912 0.347 -1.681 - [17489979] = 17489980, -- -58.807 -0.327 -8.531 - [17489981] = 17489980, -- -82.074 -0.450 -0.738 - [17489982] = 17489980, -- -84.721 -0.325 -2.861 - [17489974] = 17489980, -- -41.000 -0.488 -31.000 - [17489975] = 17489980, -- -33.717 -0.448 -43.478 - [17489971] = 17489980, -- -17.217 -0.956 -57.647 - }, - YOWIE_PH = - { - [17490175] = 17490204, -- 27.000 19.000 132.000 - [17490174] = 17490204, -- 20.000 20.000 118.000 - [17490168] = 17490204, -- 19.000 18.000 100.000 - [17490167] = 17490204, -- 18.000 21.000 82.000 - [17490161] = 17490204, -- 23.000 20.000 75.000 - [17490176] = 17490204, -- 19.000 19.000 55.000 - [17490160] = 17490204, -- 34.000 21.000 59.000 - [17490146] = 17490204, -- 59.000 21.000 65.000 - [17490148] = 17490204, -- 58.000 21.000 57.000 - [17490144] = 17490204, -- 72.000 21.000 63.000 - [17490141] = 17490204, -- 87.000 21.000 59.000 - }, - TALEKEEPER_OFFSET = 17489926, - MIMIC = 17490230, - CANCER = 17490231, - PHANTOM_WORM = 17490233, - GUIVRE = 17490234, - KETTENKAEFER = 17490235, + AMEMET = GetFirstID('Amemet'), + ARACHNE = GetFirstID('Arachne'), + BLOODTHIRSTER_MADKIX = GetFirstID('Bloodthirster_Madkix'), + PELICAN = GetFirstID('Pelican'), + SABOTENDER_MARIACHI = GetFirstID('Sabotender_Mariachi'), + YOWIE = GetFirstID('Yowie'), + TALEKEEPER_OFFSET = GetFirstID('Gordovs_Ghost'), + MIMIC = GetFirstID('Mimic'), + CANCER = GetFirstID('Cancer'), + PHANTOM_WORM = GetFirstID('Phantom_Worm'), + GUIVRE = GetFirstID('Guivre'), + KETTENKAEFER = GetFirstID('Kettenkaefer'), }, npc = { - PHANTOM_WORM_QM = 17490253, - DOOR_ROCK = 17490281, + PHANTOM_WORM_QM = GetFirstID('qm1'), + DOOR_ROCK = GetFirstID('_4u0'), TREASURE_COFFER = GetFirstID('Treasure_Coffer'), }, } diff --git a/scripts/zones/Kuftal_Tunnel/mobs/Deinonychus.lua b/scripts/zones/Kuftal_Tunnel/mobs/Deinonychus.lua index c90e7be2013..1efa950c495 100644 --- a/scripts/zones/Kuftal_Tunnel/mobs/Deinonychus.lua +++ b/scripts/zones/Kuftal_Tunnel/mobs/Deinonychus.lua @@ -7,12 +7,27 @@ local ID = zones[xi.zone.KUFTAL_TUNNEL] ----------------------------------- local entity = {} +local yowiePHTable = +{ + [ID.mob.YOWIE - 63] = ID.mob.YOWIE, -- 27.000 19.000 132.000 + [ID.mob.YOWIE - 60] = ID.mob.YOWIE, -- 20.000 20.000 118.000 + [ID.mob.YOWIE - 58] = ID.mob.YOWIE, -- 19.000 18.000 100.000 + [ID.mob.YOWIE - 56] = ID.mob.YOWIE, -- 18.000 21.000 82.000 + [ID.mob.YOWIE - 44] = ID.mob.YOWIE, -- 23.000 20.000 75.000 + [ID.mob.YOWIE - 43] = ID.mob.YOWIE, -- 19.000 19.000 55.000 + [ID.mob.YOWIE - 37] = ID.mob.YOWIE, -- 34.000 21.000 59.000 + [ID.mob.YOWIE - 36] = ID.mob.YOWIE, -- 59.000 21.000 65.000 + [ID.mob.YOWIE - 30] = ID.mob.YOWIE, -- 58.000 21.000 57.000 + [ID.mob.YOWIE - 29] = ID.mob.YOWIE, -- 72.000 21.000 63.000 + [ID.mob.YOWIE - 28] = ID.mob.YOWIE, -- 87.000 21.000 59.000 +} + entity.onMobDeath = function(mob, player, optParams) xi.regime.checkRegime(player, mob, 740, 1, xi.regime.type.GROUNDS) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.YOWIE_PH, 5, math.random(7200, 28800)) -- 2 to 8 hours + xi.mob.phOnDespawn(mob, yowiePHTable, 5, math.random(7200, 28800)) -- 2 to 8 hours end return entity diff --git a/scripts/zones/Kuftal_Tunnel/mobs/Goblin_Mercenary.lua b/scripts/zones/Kuftal_Tunnel/mobs/Goblin_Mercenary.lua index 4ce029b9f3c..32ac07139a0 100644 --- a/scripts/zones/Kuftal_Tunnel/mobs/Goblin_Mercenary.lua +++ b/scripts/zones/Kuftal_Tunnel/mobs/Goblin_Mercenary.lua @@ -7,12 +7,18 @@ local ID = zones[xi.zone.KUFTAL_TUNNEL] ----------------------------------- local entity = {} +local bloodthirsterPHTable = +{ + [ID.mob.BLOODTHIRSTER_MADKIX + 14] = ID.mob.BLOODTHIRSTER_MADKIX, -- 265.000 9.000 30.000 + [ID.mob.BLOODTHIRSTER_MADKIX + 23] = ID.mob.BLOODTHIRSTER_MADKIX, -- 256.000 10.000 34.000 +} + entity.onMobDeath = function(mob, player, optParams) xi.regime.checkRegime(player, mob, 740, 2, xi.regime.type.GROUNDS) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.BLOODTHIRSTER_MADKIX_PH, 5, math.random(7200, 28800)) -- 2 to 8 hours + xi.mob.phOnDespawn(mob, bloodthirsterPHTable, 5, math.random(7200, 28800)) -- 2 to 8 hours end return entity diff --git a/scripts/zones/Kuftal_Tunnel/mobs/Greater_Cockatrice.lua b/scripts/zones/Kuftal_Tunnel/mobs/Greater_Cockatrice.lua index 06d06937441..aae0ed27929 100644 --- a/scripts/zones/Kuftal_Tunnel/mobs/Greater_Cockatrice.lua +++ b/scripts/zones/Kuftal_Tunnel/mobs/Greater_Cockatrice.lua @@ -7,12 +7,19 @@ local ID = zones[xi.zone.KUFTAL_TUNNEL] ----------------------------------- local entity = {} +local pelicanPHTable = +{ + [ID.mob.PELICAN - 7] = ID.mob.PELICAN, -- 180.000 21.000 -39.000 + [ID.mob.PELICAN - 4] = ID.mob.PELICAN, -- 178.857 20.256 -44.151 + [ID.mob.PELICAN - 3] = ID.mob.PELICAN, -- 179.394 20.061 -34.062 +} + entity.onMobDeath = function(mob, player, optParams) xi.regime.checkRegime(player, mob, 741, 2, xi.regime.type.GROUNDS) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.PELICAN_PH, 5, math.random(10800, 43200)) -- 4 to 12 hours + xi.mob.phOnDespawn(mob, pelicanPHTable, 5, math.random(10800, 43200)) -- 4 to 12 hours end return entity diff --git a/scripts/zones/Kuftal_Tunnel/mobs/Recluse_Spider.lua b/scripts/zones/Kuftal_Tunnel/mobs/Recluse_Spider.lua index 10c5fc35e8f..9dfdac33163 100644 --- a/scripts/zones/Kuftal_Tunnel/mobs/Recluse_Spider.lua +++ b/scripts/zones/Kuftal_Tunnel/mobs/Recluse_Spider.lua @@ -7,13 +7,21 @@ local ID = zones[xi.zone.KUFTAL_TUNNEL] ----------------------------------- local entity = {} +local arachnePHTable = +{ + [ID.mob.ARACHNE + 5] = ID.mob.ARACHNE, -- 19.000 20.000 37.000 + [ID.mob.ARACHNE + 4] = ID.mob.ARACHNE, -- -10.000 20.000 14.000 + [ID.mob.ARACHNE + 2] = ID.mob.ARACHNE, -- -20.000 21.000 1.000 + [ID.mob.ARACHNE + 3] = ID.mob.ARACHNE, -- -20.000 20.000 38.000 +} + entity.onMobDeath = function(mob, player, optParams) xi.regime.checkRegime(player, mob, 737, 2, xi.regime.type.GROUNDS) xi.regime.checkRegime(player, mob, 739, 2, xi.regime.type.GROUNDS) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.ARACHNE_PH, 5, math.random(7200, 28800)) -- 2 to 8 hours + xi.mob.phOnDespawn(mob, arachnePHTable, 5, math.random(7200, 28800)) -- 2 to 8 hours end return entity diff --git a/scripts/zones/Kuftal_Tunnel/mobs/Sabotender_Sediendo.lua b/scripts/zones/Kuftal_Tunnel/mobs/Sabotender_Sediendo.lua index fe292c72a6a..00a8182a5df 100644 --- a/scripts/zones/Kuftal_Tunnel/mobs/Sabotender_Sediendo.lua +++ b/scripts/zones/Kuftal_Tunnel/mobs/Sabotender_Sediendo.lua @@ -7,12 +7,28 @@ local ID = zones[xi.zone.KUFTAL_TUNNEL] ----------------------------------- local entity = {} +local mariachiPHTable = +{ + [ID.mob.SABOTENDER_MARIACHI - 9] = ID.mob.SABOTENDER_MARIACHI, -- -17.217 -0.956 -57.647 + [ID.mob.SABOTENDER_MARIACHI - 6] = ID.mob.SABOTENDER_MARIACHI, -- -41.000 -0.488 -31.000 + [ID.mob.SABOTENDER_MARIACHI - 5] = ID.mob.SABOTENDER_MARIACHI, -- -33.717 -0.448 -43.478 + [ID.mob.SABOTENDER_MARIACHI - 3] = ID.mob.SABOTENDER_MARIACHI, -- -41.000 0.088 -3.000 + [ID.mob.SABOTENDER_MARIACHI - 2] = ID.mob.SABOTENDER_MARIACHI, -- -54.912 0.347 -1.681 + [ID.mob.SABOTENDER_MARIACHI - 1] = ID.mob.SABOTENDER_MARIACHI, -- -58.807 -0.327 -8.531 + [ID.mob.SABOTENDER_MARIACHI + 1] = ID.mob.SABOTENDER_MARIACHI, -- -82.074 -0.450 -0.738 + [ID.mob.SABOTENDER_MARIACHI + 2] = ID.mob.SABOTENDER_MARIACHI, -- -84.721 -0.325 -2.861 + [ID.mob.SABOTENDER_MARIACHI + 3] = ID.mob.SABOTENDER_MARIACHI, -- -45.000 -0.115 39.000 + [ID.mob.SABOTENDER_MARIACHI + 4] = ID.mob.SABOTENDER_MARIACHI, -- -38.791 0.230 26.579 + [ID.mob.SABOTENDER_MARIACHI + 5] = ID.mob.SABOTENDER_MARIACHI, -- -34.263 -0.512 30.437 + [ID.mob.SABOTENDER_MARIACHI + 7] = ID.mob.SABOTENDER_MARIACHI, -- -23.543 -0.396 59.578 +} + entity.onMobDeath = function(mob, player, optParams) xi.regime.checkRegime(player, mob, 738, 2, xi.regime.type.GROUNDS) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.SABOTENDER_MARIACHI_PH, 5, math.random(10800, 28800)) -- 3 to 8 hours + xi.mob.phOnDespawn(mob, mariachiPHTable, 5, math.random(10800, 28800)) -- 3 to 8 hours end return entity diff --git a/scripts/zones/Kuftal_Tunnel/mobs/Sand_Lizard.lua b/scripts/zones/Kuftal_Tunnel/mobs/Sand_Lizard.lua index 935188c7c42..955a9f86876 100644 --- a/scripts/zones/Kuftal_Tunnel/mobs/Sand_Lizard.lua +++ b/scripts/zones/Kuftal_Tunnel/mobs/Sand_Lizard.lua @@ -7,12 +7,29 @@ local ID = zones[xi.zone.KUFTAL_TUNNEL] ----------------------------------- local entity = {} +local amemetPHTable = +{ + [ID.mob.AMEMET - 84] = ID.mob.AMEMET, -- 74.662 -0.513 3.685 + [ID.mob.AMEMET - 83] = ID.mob.AMEMET, -- 109.000 -0.010 -48.000 + [ID.mob.AMEMET - 82] = ID.mob.AMEMET, -- 92.000 -0.396 14.000 + [ID.mob.AMEMET - 22] = ID.mob.AMEMET, -- 123.046 0.250 18.642 + [ID.mob.AMEMET - 16] = ID.mob.AMEMET, -- 112.135 -0.278 38.281 + [ID.mob.AMEMET - 15] = ID.mob.AMEMET, -- 112.008 -0.530 50.994 + [ID.mob.AMEMET - 14] = ID.mob.AMEMET, -- 67.998 -0.500 12.000 + [ID.mob.AMEMET - 13] = ID.mob.AMEMET, -- 89.590 -0.321 -9.390 + [ID.mob.AMEMET - 12] = ID.mob.AMEMET, -- 123.186 0.213 -24.716 + [ID.mob.AMEMET - 11] = ID.mob.AMEMET, -- 96.365 -0.269 -7.619 + [ID.mob.AMEMET - 8] = ID.mob.AMEMET, -- 122.654 -0.491 0.840 + [ID.mob.AMEMET - 7] = ID.mob.AMEMET, -- 68.454 -0.417 -0.413 + [ID.mob.AMEMET - 6] = ID.mob.AMEMET, -- 118.633 -0.470 -43.282 +} + entity.onMobDeath = function(mob, player, optParams) xi.regime.checkRegime(player, mob, 735, 2, xi.regime.type.GROUNDS) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.AMEMET_PH, 5, math.random(7200, 43200)) -- 2 to 12 hours + xi.mob.phOnDespawn(mob, amemetPHTable, 5, math.random(7200, 43200)) -- 2 to 12 hours end return entity From eb42a58a8398a48e213752889409ddd0b6b39fce Mon Sep 17 00:00:00 2001 From: Frankie-hz <105882754+Frankie-hz@users.noreply.github.com> Date: Thu, 9 May 2024 22:48:59 -0400 Subject: [PATCH 2/4] Shift-proof Korroloka Tunnel --- scripts/zones/Korroloka_Tunnel/IDs.lua | 35 ++++--------------- scripts/zones/Korroloka_Tunnel/mobs/Bogy.lua | 13 ++++++- .../zones/Korroloka_Tunnel/mobs/Clipper.lua | 8 ++++- .../Korroloka_Tunnel/mobs/Huge_Spider.lua | 11 +++++- 4 files changed, 35 insertions(+), 32 deletions(-) diff --git a/scripts/zones/Korroloka_Tunnel/IDs.lua b/scripts/zones/Korroloka_Tunnel/IDs.lua index 625c7ab5159..764ca9b9196 100644 --- a/scripts/zones/Korroloka_Tunnel/IDs.lua +++ b/scripts/zones/Korroloka_Tunnel/IDs.lua @@ -36,38 +36,15 @@ zones[xi.zone.KORROLOKA_TUNNEL] = }, mob = { - CARGO_CRAB_COLIN_PH = - { - [17486002] = 17485980, -- -30.384 1.000 -33.277 - [17486095] = 17485980, -- -85.000 -0.500 -37.000 - }, - - DAME_BLANCHE_PH = - { - [17486128] = 17486129, -- -345.369 0.716 119.486 - [17486127] = 17486129, -- -319.266 -0.244 130.650 - [17486126] = 17486129, -- -319.225 -0.146 109.776 - [17486124] = 17486129, -- -296.821 -3.207 131.239 - [17486125] = 17486129, -- -292.487 -5.993 141.408 - [17486119] = 17486129, -- -277.338 -9.352 139.763 - [17486118] = 17486129, -- -276.713 -9.954 135.353 - }, - - FALCATUS_ARANEI_PH = - { - [17486033] = 17486031, -- -68.852 -5.029 141.069 - [17486032] = 17486031, -- -94.545 -6.095 136.480 - [17486034] = 17486031, -- -79.827 -6.046 133.982 - [17486027] = 17486031, -- -25.445 -6.073 142.192 - [17486028] = 17486031, -- -33.446 -6.038 141.987 - }, - - KORROLOKA_LEECH = GetFirstID('Korroloka_Leech'), - MORION_WORM = 17486190, + CARGO_CRAB_COLIN = GetFirstID('Cargo_Crab_Colin'), + DAME_BLANCHE = GetFirstID('Dame_Blanche'), + FALCATUS_ARANEI = GetFirstID('Falcatus_Aranei'), + KORROLOKA_LEECH = GetFirstID('Korroloka_Leech'), + MORION_WORM = GetFirstID('Morion_Worm'), }, npc = { - MORION_WORM_QM = 17486216, + MORION_WORM_QM = GetFirstID('qm1'), EXCAVATION = GetTableOfIDs('Excavation_Point'), }, } diff --git a/scripts/zones/Korroloka_Tunnel/mobs/Bogy.lua b/scripts/zones/Korroloka_Tunnel/mobs/Bogy.lua index f1679e7a0a9..a4a5937ef13 100644 --- a/scripts/zones/Korroloka_Tunnel/mobs/Bogy.lua +++ b/scripts/zones/Korroloka_Tunnel/mobs/Bogy.lua @@ -7,12 +7,23 @@ local ID = zones[xi.zone.KORROLOKA_TUNNEL] ----------------------------------- local entity = {} +local damePHTable = +{ + [ID.mob.DAME_BLANCHE - 1] = ID.mob.DAME_BLANCHE, -- -345.369 0.716 119.486 + [ID.mob.DAME_BLANCHE - 2] = ID.mob.DAME_BLANCHE, -- -319.266 -0.244 130.650 + [ID.mob.DAME_BLANCHE - 3] = ID.mob.DAME_BLANCHE, -- -319.225 -0.146 109.776 + [ID.mob.DAME_BLANCHE - 5] = ID.mob.DAME_BLANCHE, -- -296.821 -3.207 131.239 + [ID.mob.DAME_BLANCHE - 4] = ID.mob.DAME_BLANCHE, -- -292.487 -5.993 141.408 + [ID.mob.DAME_BLANCHE - 10] = ID.mob.DAME_BLANCHE, -- -277.338 -9.352 139.763 + [ID.mob.DAME_BLANCHE - 11] = ID.mob.DAME_BLANCHE, -- -276.713 -9.954 135.353 +} + entity.onMobDeath = function(mob, player, optParams) xi.regime.checkRegime(player, mob, 732, 1, xi.regime.type.GROUNDS) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.DAME_BLANCHE_PH, 5, 7200) -- 2 hour minimum + xi.mob.phOnDespawn(mob, damePHTable, 5, 7200) -- 2 hour minimum end return entity diff --git a/scripts/zones/Korroloka_Tunnel/mobs/Clipper.lua b/scripts/zones/Korroloka_Tunnel/mobs/Clipper.lua index 4ed8c97bcdd..4be63a09b7b 100644 --- a/scripts/zones/Korroloka_Tunnel/mobs/Clipper.lua +++ b/scripts/zones/Korroloka_Tunnel/mobs/Clipper.lua @@ -7,12 +7,18 @@ local ID = zones[xi.zone.KORROLOKA_TUNNEL] ----------------------------------- local entity = {} +local colinPHTable = +{ + [ID.mob.CARGO_CRAB_COLIN + 22] = ID.mob.CARGO_CRAB_COLIN, -- -30.384 1.000 -33.277 + [ID.mob.CARGO_CRAB_COLIN + 115] = ID.mob.CARGO_CRAB_COLIN, -- -85.000 -0.500 -37.000 +} + entity.onMobDeath = function(mob, player, optParams) xi.regime.checkRegime(player, mob, 731, 1, xi.regime.type.GROUNDS) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.CARGO_CRAB_COLIN_PH, 5, 5400) -- 1 1/2 hr minimum + xi.mob.phOnDespawn(mob, colinPHTable, 5, 5400) -- 1 1/2 hr minimum end return entity diff --git a/scripts/zones/Korroloka_Tunnel/mobs/Huge_Spider.lua b/scripts/zones/Korroloka_Tunnel/mobs/Huge_Spider.lua index f76d934d016..3499e055b71 100644 --- a/scripts/zones/Korroloka_Tunnel/mobs/Huge_Spider.lua +++ b/scripts/zones/Korroloka_Tunnel/mobs/Huge_Spider.lua @@ -7,12 +7,21 @@ local ID = zones[xi.zone.KORROLOKA_TUNNEL] ----------------------------------- local entity = {} +local falcatusPHTable = +{ + [ID.mob.FALCATUS_ARANEI + 2] = ID.mob.FALCATUS_ARANEI, -- -68.852 -5.029 141.069 + [ID.mob.FALCATUS_ARANEI + 1] = ID.mob.FALCATUS_ARANEI, -- -94.545 -6.095 136.480 + [ID.mob.FALCATUS_ARANEI + 3] = ID.mob.FALCATUS_ARANEI, -- -79.827 -6.046 133.982 + [ID.mob.FALCATUS_ARANEI - 4] = ID.mob.FALCATUS_ARANEI, -- -25.445 -6.073 142.192 + [ID.mob.FALCATUS_ARANEI - 3] = ID.mob.FALCATUS_ARANEI, -- -33.446 -6.038 141.987 +} + entity.onMobDeath = function(mob, player, optParams) xi.regime.checkRegime(player, mob, 729, 1, xi.regime.type.GROUNDS) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.FALCATUS_ARANEI_PH, 5, 7200) -- 2 hour minimum + xi.mob.phOnDespawn(mob, falcatusPHTable, 5, 7200) -- 2 hour minimum end return entity From 58d599c87e8ac801f198d0f443661bb4691d7232 Mon Sep 17 00:00:00 2001 From: Frankie-hz <105882754+Frankie-hz@users.noreply.github.com> Date: Thu, 9 May 2024 22:49:13 -0400 Subject: [PATCH 3/4] Shift-proof Konschtat Highlands --- scripts/zones/Konschtat_Highlands/IDs.lua | 31 +++++-------------- .../Konschtat_Highlands/mobs/Mad_Sheep.lua | 8 ++++- .../mobs/Rampaging_Ram.lua | 10 +++++- .../Konschtat_Highlands/mobs/Tremor_Ram.lua | 19 ++++++++++-- 4 files changed, 40 insertions(+), 28 deletions(-) diff --git a/scripts/zones/Konschtat_Highlands/IDs.lua b/scripts/zones/Konschtat_Highlands/IDs.lua index 8440102270c..5f5e2e16aa4 100644 --- a/scripts/zones/Konschtat_Highlands/IDs.lua +++ b/scripts/zones/Konschtat_Highlands/IDs.lua @@ -58,30 +58,13 @@ zones[xi.zone.KONSCHTAT_HIGHLANDS] = }, mob = { - STRAY_MARY_PH = - { - [17219791] = 17219795, -- -305.204 -11.695 -96.078 - [17219928] = 17219933, -- -293.900 33.393 342.710 - }, - - RAMPAGING_RAM_PH = - { - [17219885] = 17219886, -- 21 40 514 - [17219987] = 17219886, -- -163.198 62.392 568.282 - [17219886] = 17219887, -- Rampaging can't spawn if Steelfleece is up - }, - - STEELFLEECE_PH = - { - [17219885] = 17219887, -- 21 40 514 - [17219886] = 17219887, -- 160 24 121 - [17219987] = 17219887, -- -163.198 62.392 568.282 - [17219887] = 17219886, -- Steelfleece can't spawn if Rampaging is up - }, - - FORGER = 17219999, - HATY = 17220000, - BENDIGEIT_VRAN = 17220001, + STRAY_MARY = GetTableOfIDs('Stray_Mary'), -- 2 NMs + RAMPAGING_RAM = GetFirstID('Rampaging_Ram'), + STEELFLEECE = GetFirstID('Steelfleece_Baldarich'), + TREMMOR_RAM = GetTableOfIDs('Tremor_Ram'), -- Used for Steelface pop + FORGER = GetFirstID('Forger'), + HATY = GetFirstID('Haty'), + BENDIGEIT_VRAN = GetFirstID('Bendigeit_Vran'), VOIDWALKER = { diff --git a/scripts/zones/Konschtat_Highlands/mobs/Mad_Sheep.lua b/scripts/zones/Konschtat_Highlands/mobs/Mad_Sheep.lua index b215a6a366f..bde3db72f68 100644 --- a/scripts/zones/Konschtat_Highlands/mobs/Mad_Sheep.lua +++ b/scripts/zones/Konschtat_Highlands/mobs/Mad_Sheep.lua @@ -8,12 +8,18 @@ require('scripts/quests/tutorial') ----------------------------------- local entity = {} +local strayMaryPHTable = +{ + [ID.mob.STRAY_MARY[1] - 4] = ID.mob.STRAY_MARY[1], -- -305.204 -11.695 -96.078 + [ID.mob.STRAY_MARY[2] - 5] = ID.mob.STRAY_MARY[2], -- -293.900 33.393 342.710 +} + entity.onMobDeath = function(mob, player, optParams) xi.tutorial.onMobDeath(player) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.STRAY_MARY_PH, 5, 300) -- 5 minute minimum + xi.mob.phOnDespawn(mob, strayMaryPHTable, 5, 300) -- 5 minute minimum end return entity diff --git a/scripts/zones/Konschtat_Highlands/mobs/Rampaging_Ram.lua b/scripts/zones/Konschtat_Highlands/mobs/Rampaging_Ram.lua index 1950843a1ba..052ca40f02f 100644 --- a/scripts/zones/Konschtat_Highlands/mobs/Rampaging_Ram.lua +++ b/scripts/zones/Konschtat_Highlands/mobs/Rampaging_Ram.lua @@ -7,13 +7,21 @@ require('scripts/quests/tutorial') ----------------------------------- local entity = {} +local steelfacePHTable = +{ + [ID.mob.TREMMOR_RAM[1]] = ID.mob.STEELFLEECE, -- -163.198 62.392 568.282 + [ID.mob.TREMMOR_RAM[2]] = ID.mob.STEELFLEECE, -- 21 40 514 + [ID.mob.RAMPAGING_RAM] = ID.mob.STEELFLEECE, -- 160 24 121 + [ID.mob.STEELFLEECE] = ID.mob.RAMPAGING_RAM, -- Steelfleece can't spawn if Rampaging is up +} + entity.onMobDeath = function(mob, player, optParams) xi.hunts.checkHunt(mob, player, 205) xi.tutorial.onMobDeath(player) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.STEELFLEECE_PH, 10, 75600) -- 21 hours minimum + xi.mob.phOnDespawn(mob, steelfacePHTable, 10, 75600) -- 21 hours minimum end return entity diff --git a/scripts/zones/Konschtat_Highlands/mobs/Tremor_Ram.lua b/scripts/zones/Konschtat_Highlands/mobs/Tremor_Ram.lua index bf5178c2a9f..5e3665ed961 100644 --- a/scripts/zones/Konschtat_Highlands/mobs/Tremor_Ram.lua +++ b/scripts/zones/Konschtat_Highlands/mobs/Tremor_Ram.lua @@ -7,14 +7,29 @@ require('scripts/quests/tutorial') ----------------------------------- local entity = {} +local rampagingPHTable = +{ + [ID.mob.TREMMOR_RAM[1]] = ID.mob.RAMPAGING_RAM, -- -163.198 62.392 568.282 + [ID.mob.TREMMOR_RAM[2]] = ID.mob.RAMPAGING_RAM, -- 21 40 514 + [ID.mob.RAMPAGING_RAM] = ID.mob.STEELFLEECE, -- Rampaging can't spawn if Steelfleece is up +} + +local steelfacePHTable = +{ + [ID.mob.TREMMOR_RAM[1]] = ID.mob.STEELFLEECE, -- -163.198 62.392 568.282 + [ID.mob.TREMMOR_RAM[2]] = ID.mob.STEELFLEECE, -- 21 40 514 + [ID.mob.RAMPAGING_RAM] = ID.mob.STEELFLEECE, -- 160 24 121 + [ID.mob.STEELFLEECE] = ID.mob.RAMPAGING_RAM, -- Steelfleece can't spawn if Rampaging is up +} + entity.onMobDeath = function(mob, player, optParams) xi.tutorial.onMobDeath(player) end entity.onMobDespawn = function(mob) -- If Steelflect doesn't pop next, fallback onto Rampaging Ram - if not xi.mob.phOnDespawn(mob, ID.mob.STEELFLEECE_PH, 10, 75600) then -- 21 hours - xi.mob.phOnDespawn(mob, ID.mob.RAMPAGING_RAM_PH, 10, 1200) -- 20 min + if not xi.mob.phOnDespawn(mob, steelfacePHTable, 10, 75600) then -- 21 hours + xi.mob.phOnDespawn(mob, rampagingPHTable, 10, 1200) -- 20 min end end From a4b9275b22839d86f081a8ffa35501254bb657b0 Mon Sep 17 00:00:00 2001 From: Frankie-hz <105882754+Frankie-hz@users.noreply.github.com> Date: Thu, 9 May 2024 22:49:22 -0400 Subject: [PATCH 4/4] Shift-proof KRT --- scripts/zones/King_Ranperres_Tomb/IDs.lua | 26 +++++++------------ .../King_Ranperres_Tomb/mobs/Nachzehrer.lua | 7 ++++- .../King_Ranperres_Tomb/mobs/Tomb_Bat.lua | 9 ++++++- 3 files changed, 23 insertions(+), 19 deletions(-) diff --git a/scripts/zones/King_Ranperres_Tomb/IDs.lua b/scripts/zones/King_Ranperres_Tomb/IDs.lua index 5f68b091c9a..799feb192ac 100644 --- a/scripts/zones/King_Ranperres_Tomb/IDs.lua +++ b/scripts/zones/King_Ranperres_Tomb/IDs.lua @@ -31,23 +31,15 @@ zones[xi.zone.KING_RANPERRES_TOMB] = }, mob = { - GWYLLGI_PH = - { - [17555661] = 17555664, - }, - CRYPT_GHOST_PH = - { - [17555665] = 17555668, - [17555666] = 17555668, - [17555667] = 17555668, - }, - BARBASTELLE = 17555721, - CHERRY_SAPLING_OFFSET = 17555748, - VRTRA = 17555763, - CORRUPTED_YORGOS = 17555770, - CORRUPTED_SOFFEIL = 17555771, - CORRUPTED_ULBRIG = 17555772, - ANKOU = 17555709, + GWYLLGI = GetFirstID('Gwyllgi'), + CRYPT_GHOST = GetFirstID('Crypt_Ghost'), + BARBASTELLE = GetFirstID('Barbastelle'), + CHERRY_SAPLING_OFFSET = GetFirstID('Cherry_Sapling'), + VRTRA = GetFirstID('Vrtra'), + CORRUPTED_YORGOS = GetFirstID('Corrupted_Yorgos'), + CORRUPTED_SOFFEIL = GetFirstID('Corrupted_Soffeil'), + CORRUPTED_ULBRIG = GetFirstID('Corrupted_Ulbrig'), + ANKOU = GetFirstID('Ankou'), }, npc = { diff --git a/scripts/zones/King_Ranperres_Tomb/mobs/Nachzehrer.lua b/scripts/zones/King_Ranperres_Tomb/mobs/Nachzehrer.lua index 8e9459d2f55..4553dfa0b07 100644 --- a/scripts/zones/King_Ranperres_Tomb/mobs/Nachzehrer.lua +++ b/scripts/zones/King_Ranperres_Tomb/mobs/Nachzehrer.lua @@ -7,11 +7,16 @@ local ID = zones[xi.zone.KING_RANPERRES_TOMB] ----------------------------------- local entity = {} +local gwyllgiPHTable = +{ + [ID.mob.GWYLLGI - 3] = ID.mob.GWYLLGI, +} + entity.onMobDeath = function(mob, player, optParams) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.GWYLLGI_PH, 10, 3600) -- 1 hour + xi.mob.phOnDespawn(mob, gwyllgiPHTable, 10, 3600) -- 1 hour end return entity diff --git a/scripts/zones/King_Ranperres_Tomb/mobs/Tomb_Bat.lua b/scripts/zones/King_Ranperres_Tomb/mobs/Tomb_Bat.lua index ba725c2c820..0d8ed95200d 100644 --- a/scripts/zones/King_Ranperres_Tomb/mobs/Tomb_Bat.lua +++ b/scripts/zones/King_Ranperres_Tomb/mobs/Tomb_Bat.lua @@ -7,11 +7,18 @@ local ID = zones[xi.zone.KING_RANPERRES_TOMB] ----------------------------------- local entity = {} +local cryptPHTable = +{ + [ID.mob.CRYPT_GHOST - 3] = ID.mob.CRYPT_GHOST, + [ID.mob.CRYPT_GHOST - 2] = ID.mob.CRYPT_GHOST, + [ID.mob.CRYPT_GHOST - 1] = ID.mob.CRYPT_GHOST, +} + entity.onMobDeath = function(mob, player, optParams) end entity.onMobDespawn = function(mob) - xi.mob.phOnDespawn(mob, ID.mob.CRYPT_GHOST_PH, 5, 3600) -- 1 hour + xi.mob.phOnDespawn(mob, cryptPHTable, 5, 3600) -- 1 hour end return entity