diff options
author | Shauren <shauren.trinity@gmail.com> | 2021-01-23 22:58:07 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-10-04 00:19:38 +0200 |
commit | 46e0056196dd6e56077aeeb67d41ec520046a79e (patch) | |
tree | 50eb5d5a6ee6fc3fd1b35cae035158ed5ebcc97c /src/server/scripts/EasternKingdoms | |
parent | ab12e77cf72bcd361a380c8d1ed37d12fe0e1bbb (diff) |
Scripts/Instances: Add dungeon encounter data
Diffstat (limited to 'src/server/scripts/EasternKingdoms')
15 files changed, 141 insertions, 3 deletions
diff --git a/src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp b/src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp index e6904b0d27e..0cd60964a3a 100644 --- a/src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp +++ b/src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp @@ -30,6 +30,13 @@ DoorData const doorData[] = { 0, 0, DOOR_TYPE_ROOM } // END }; +DungeonEncounterData const encounters[] = +{ + { DATA_ARGALOTH, {{ 1033 }} }, + { DATA_OCCUTHAR, {{ 1250 }} }, + { DATA_ALIZABAL, {{ 1332 }} } +}; + class instance_baradin_hold: public InstanceMapScript { public: @@ -42,6 +49,7 @@ class instance_baradin_hold: public InstanceMapScript SetHeaders(DataHeader); SetBossNumber(EncounterCount); LoadDoorData(doorData); + LoadDungeonEncounterData(encounters); } void OnCreatureCreate(Creature* creature) override diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/instance_blackrock_caverns.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/instance_blackrock_caverns.cpp index 0baf5d3efd7..86d89b216d6 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/instance_blackrock_caverns.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/instance_blackrock_caverns.cpp @@ -25,6 +25,15 @@ ObjectData const creatureData[] = { 0, 0 } }; +DungeonEncounterData const encounters[] = +{ + { DATA_ROMOGG_BONECRUSHER, {{ 1040 }} }, + { DATA_CORLA, {{ 1038 }} }, + { DATA_KARSH_STEELBENDER, {{ 1039 }} }, + { DATA_BEAUTY, {{ 1037 }} }, + { DATA_ASCENDANT_LORD_OBSIDIUS, {{ 1036 }} } +}; + class instance_blackrock_caverns : public InstanceMapScript { public: @@ -37,6 +46,7 @@ class instance_blackrock_caverns : public InstanceMapScript SetHeaders(DataHeader); SetBossNumber(EncounterCount); LoadObjectData(creatureData, nullptr); + LoadDungeonEncounterData(encounters); } bool SetBossState(uint32 type, EncounterState state) override diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/blackrock_spire.h b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/blackrock_spire.h index 98b7b4f5e86..b2bc6381328 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/blackrock_spire.h +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/blackrock_spire.h @@ -23,7 +23,7 @@ uint32 const EncounterCount = 23; #define BRSScriptName "instance_blackrock_spire" -#define DataHeader "BRS" +#define DataHeader "BRSv1" enum BRSDataTypes { diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp index 68b405e2982..87cea25c739 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp @@ -58,6 +58,18 @@ ObjectData const gameObjectData[] = { 0, 0 } //END }; +DungeonEncounterData const encounters[] = +{ + { DATA_RAZORGORE_THE_UNTAMED, {{ 610 }} }, + { DATA_VAELASTRAZ_THE_CORRUPT, {{ 611 }} }, + { DATA_BROODLORD_LASHLAYER, {{ 612 }} }, + { DATA_FIREMAW, {{ 613 }} }, + { DATA_EBONROC, {{ 614 }} }, + { DATA_FLAMEGOR, {{ 615 }} }, + { DATA_CHROMAGGUS, {{ 616 }} }, + { DATA_NEFARIAN, {{ 617 }} } +}; + Position const SummonPosition[8] = { {-7661.207520f, -1043.268188f, 407.199554f, 6.280452f}, @@ -85,6 +97,7 @@ public: SetBossNumber(EncounterCount); LoadDoorData(doorData); LoadObjectData(creatureData, gameObjectData); + LoadDungeonEncounterData(encounters); // Razorgore EggCount = 0; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp index 187cc0f6d58..bc8cc7ee092 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/instance_molten_core.cpp @@ -40,6 +40,20 @@ Position const SummonPositions[10] = Position const RagnarosTelePos = {829.159f, -815.773f, -228.972f, 5.30500f}; Position const RagnarosSummonPos = {838.510f, -829.840f, -232.000f, 2.00000f}; +DungeonEncounterData const encounters[] = +{ + { BOSS_LUCIFRON, {{ 663 }} }, + { BOSS_MAGMADAR, {{ 664 }} }, + { BOSS_GEHENNAS, {{ 665 }} }, + { BOSS_GARR, {{ 666 }} }, + { BOSS_SHAZZRAH, {{ 667 }} }, + { BOSS_BARON_GEDDON, {{ 668 }} }, + { BOSS_SULFURON_HARBINGER, {{ 669 }} }, + { BOSS_GOLEMAGG_THE_INCINERATOR, {{ 670 }} }, + { BOSS_MAJORDOMO_EXECUTUS, {{ 671 }} }, + { BOSS_RAGNAROS, {{ 672 }} } +}; + class instance_molten_core : public InstanceMapScript { public: @@ -51,6 +65,7 @@ class instance_molten_core : public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(MAX_ENCOUNTER); + LoadDungeonEncounterData(encounters); _executusSchedule = false; _ragnarosAddDeaths = 0; } diff --git a/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp index f0cc632cd7c..7690575d1da 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/instance_karazhan.cpp @@ -44,6 +44,21 @@ EndScriptData */ 11 - Nightbane */ +DungeonEncounterData const encounters[] = +{ + { DATA_ATTUMEN, {{ 652 }} }, + { DATA_MOROES, {{ 653 }} }, + { DATA_MAIDEN_OF_VIRTUE, {{ 654 }} }, + { DATA_OPERA_PERFORMANCE, {{ 655 }} }, + { DATA_CURATOR, {{ 656 }} }, + { DATA_ARAN, {{ 658 }} }, + { DATA_TERESTIAN, {{ 657 }} }, + { DATA_NETHERSPITE, {{ 659 }} }, + { DATA_CHESS, {{ 660 }} }, + { DATA_MALCHEZZAR, {{ 661 }} }, + { DATA_NIGHTBANE, {{ 662 }} } +}; + const Position OptionalSpawn[] = { { -10960.981445f, -1940.138428f, 46.178097f, 4.12f }, // Hyakiss the Lurker @@ -67,6 +82,7 @@ public: { SetHeaders(DataHeader); SetBossNumber(EncounterCount); + LoadDungeonEncounterData(encounters); // 1 - OZ, 2 - HOOD, 3 - RAJ, this never gets altered. OperaEvent = urand(EVENT_OZ, EVENT_RAJ); diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp index 93ba71d0f30..e6cb81becd6 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp @@ -60,6 +60,14 @@ DoorData const doorData[] = { 0, 0, DOOR_TYPE_ROOM } // END }; +DungeonEncounterData const encounters[] = +{ + { DATA_SELIN_FIREHEART, {{ 1897 }} }, + { DATA_VEXALLUS, {{ 1898 }} }, + { DATA_PRIESTESS_DELRISSA, {{ 1895 }} }, + { DATA_KAELTHAS_SUNSTRIDER, {{ 1894 }} } +}; + Position const KalecgosSpawnPos = { 164.3747f, -397.1197f, 2.151798f, 1.66219f }; Position const KaelthasTrashGroupDistanceComparisonPos = { 150.0f, 141.0f, -14.4f }; @@ -76,6 +84,7 @@ class instance_magisters_terrace : public InstanceMapScript SetBossNumber(EncounterCount); LoadObjectData(creatureData, gameObjectData); LoadDoorData(doorData); + LoadDungeonEncounterData(encounters); } uint32 GetData(uint32 type) const override diff --git a/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp b/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp index a7d88433b88..6f0698bfb1b 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp +++ b/src/server/scripts/EasternKingdoms/Scholomance/instance_scholomance.cpp @@ -21,6 +21,18 @@ #include "Map.h" #include "scholomance.h" +DungeonEncounterData const encounters[] = +{ + { DATA_DOCTORTHEOLENKRASTINOV, {{ 458 }} }, + { DATA_INSTRUCTORMALICIA, {{ 457 }} }, + { DATA_LADYILLUCIABAROV, {{ 462 }} }, + { DATA_LORDALEXEIBAROV, {{ 461 }} }, + { DATA_LOREKEEPERPOLKELT, {{ 459 }} }, + { DATA_THERAVENIAN, {{ 460 }} }, + { DATA_DARKMASTERGANDLING, {{ 463 }} }, + { DATA_KIRTONOS, {{ 451 }} } +}; + Position const GandlingLoc = { 180.7712f, -5.428603f, 75.57024f, 1.291544f }; class instance_scholomance : public InstanceMapScript @@ -39,6 +51,7 @@ class instance_scholomance : public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(EncounterCount); + LoadDungeonEncounterData(encounters); } void OnGameObjectCreate(GameObject* go) override diff --git a/src/server/scripts/EasternKingdoms/Scholomance/scholomance.h b/src/server/scripts/EasternKingdoms/Scholomance/scholomance.h index 651f1c26625..ca67aba5eb9 100644 --- a/src/server/scripts/EasternKingdoms/Scholomance/scholomance.h +++ b/src/server/scripts/EasternKingdoms/Scholomance/scholomance.h @@ -21,7 +21,7 @@ #include "CreatureAIImpl.h" #define ScholomanceScriptName "instance_scholomance" -#define DataHeader "SC" +#define DataHeader "SC_old" uint32 const EncounterCount = 8; diff --git a/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp b/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp index 7cf6697426e..ac6891a3ff7 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/instance_stratholme.cpp @@ -49,6 +49,15 @@ enum StratholmeMisc Position const timmyTheCruelSpawnPosition = { 3625.358f, -3188.108f, 130.3985f, 4.834562f }; EllipseBoundary const beforeScarletGate(Position(3671.158f, -3181.79f), 60.0f, 40.0f); +DungeonEncounterData const encounters[] = +{ + { 1, {{ 479 }} }, // Baroness Anastari + { 2, {{ 480 }} }, // Nerub'enkan + { 3, {{ 481 }} }, // Maleki the Pallid + { 4, {{ 483 }} }, // Ramstein the Gorger + { 5, {{ 484 }} } // Lord Aurius Rivendare +}; + class instance_stratholme : public InstanceMapScript { public: @@ -60,6 +69,7 @@ class instance_stratholme : public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(MAX_ENCOUNTER); + LoadDungeonEncounterData(encounters); for (uint8 i = 0; i < 5; ++i) IsSilverHandDead[i] = false; diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp index c2960845be9..a24c813c01f 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp @@ -66,6 +66,16 @@ BossBoundaryData const boundaries = { DATA_KALECGOS, new BoundaryUnionBoundary(new CircleBoundary(Position(1704.9f, 928.4f), 34.0), new RectangleBoundary(1689.2f, 1713.3f, 762.2f, 1074.8f)) } }; +DungeonEncounterData const encounters[] = +{ + { DATA_KALECGOS, {{ 724 }} }, + { DATA_BRUTALLUS, {{ 725 }} }, + { DATA_FELMYST, {{ 726 }} }, + { DATA_EREDAR_TWINS, {{ 727 }} }, + { DATA_MURU, {{ 728 }} }, + { DATA_KILJAEDEN, {{ 729 }} } +}; + class instance_sunwell_plateau : public InstanceMapScript { public: @@ -80,6 +90,7 @@ class instance_sunwell_plateau : public InstanceMapScript LoadDoorData(doorData); LoadObjectData(creatureData, nullptr); LoadBossBoundaries(boundaries); + LoadDungeonEncounterData(encounters); } Player const* GetPlayerInMap() const diff --git a/src/server/scripts/EasternKingdoms/TheStockade/instance_the_stockade.cpp b/src/server/scripts/EasternKingdoms/TheStockade/instance_the_stockade.cpp index 38c3846fa75..5f8dfbcb606 100644 --- a/src/server/scripts/EasternKingdoms/TheStockade/instance_the_stockade.cpp +++ b/src/server/scripts/EasternKingdoms/TheStockade/instance_the_stockade.cpp @@ -19,6 +19,13 @@ #include "ScriptMgr.h" #include "the_stockade.h" +DungeonEncounterData const encounters[] = +{ + { DATA_RANDOLPH_MOLOCH, {{ 1146 }} }, + { DATA_LORD_OVERHEAT, {{ 1145 }} }, + { DATA_HOGGER, {{ 1144 }} } +}; + class instance_the_stockade : public InstanceMapScript { public: @@ -30,6 +37,7 @@ public: { SetHeaders(DataHeader); SetBossNumber(EncounterCount); + LoadDungeonEncounterData(encounters); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp index 4af4457d367..b99c31bc90c 100644 --- a/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp +++ b/src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp @@ -23,6 +23,16 @@ #include "ScriptedCreature.h" #include "zulaman.h" +DungeonEncounterData const encounters[] = +{ + { DATA_AKILZON, {{ 1189 }} }, + { DATA_NALORAKK, {{ 1190 }} }, + { DATA_JANALAI, {{ 1191 }} }, + { DATA_HALAZZI, {{ 1192 }} }, + { DATA_HEXLORD, {{ 1193 }} }, + { DATA_DAAKARA, {{ 1194 }} } +}; + class instance_zulaman : public InstanceMapScript { public: @@ -35,6 +45,7 @@ class instance_zulaman : public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(EncounterCount); + LoadDungeonEncounterData(encounters); SpeedRunTimer = 15; ZulAmanState = NOT_STARTED; diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp index 60a7eff4b1f..c91de05ea3c 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp @@ -30,6 +30,19 @@ DoorData const doorData[] = { 0, 0, DOOR_TYPE_ROOM } }; +DungeonEncounterData const encounters[] = +{ + { DATA_VENOXIS, {{ 1178 }} }, + { DATA_MANDOKIR, {{ 1179 }} }, + { DATA_KILNARA, {{ 1180 }} }, + { DATA_ZANZIL, {{ 1181 }} }, + { DATA_JINDO, {{ 1182 }} }, + { DATA_HAZZARAH, {{ 1188 }} }, + { DATA_RENATAKI, {{ 1188 }} }, + { DATA_WUSHOOLAY, {{ 1188 }} }, + { DATA_GRILEK, {{ 1188 }} } +}; + class instance_zulgurub : public InstanceMapScript { public: @@ -42,6 +55,7 @@ class instance_zulgurub : public InstanceMapScript SetHeaders(DataHeader); SetBossNumber(EncounterCount); LoadDoorData(doorData); + LoadDungeonEncounterData(encounters); } void OnCreatureCreate(Creature* creature) override diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h b/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h index e7b0ee0766a..84bfd01295e 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h +++ b/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h @@ -23,7 +23,7 @@ #define ZGScriptName "instance_zulgurub" #define DataHeader "ZG" -uint32 const EncounterCount = 5; +uint32 const EncounterCount = 9; enum ZGDataTypes { |