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 | |
parent | ab12e77cf72bcd361a380c8d1ed37d12fe0e1bbb (diff) |
Scripts/Instances: Add dungeon encounter data
Diffstat (limited to 'src/server/scripts')
68 files changed, 642 insertions, 12 deletions
diff --git a/src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp b/src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp index 58e07c7fb25..0b86e21fd1a 100644 --- a/src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp +++ b/src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp @@ -121,8 +121,7 @@ constexpr uint8 MAX_TARGETS_SIZE = 6; enum Misc { - SUMMON_GROUP_ID_SURGING_FEL = 0, - ENCOUNTER_ID_GAROTHI_WORLDBREAKER = 2076 + SUMMON_GROUP_ID_SURGING_FEL = 0 }; namespace TargetHandler @@ -242,7 +241,6 @@ struct boss_garothi_worldbreaker : public BossAI _JustDied(); Talk(SAY_DEATH); CleanupEncounter(); - instance->SendBossKillCredit(ENCOUNTER_ID_GAROTHI_WORLDBREAKER); instance->SendEncounterUnit(ENCOUNTER_FRAME_DISENGAGE, me); } diff --git a/src/server/scripts/Argus/AntorusTheBurningThrone/instance_antorus_the_burning_throne.cpp b/src/server/scripts/Argus/AntorusTheBurningThrone/instance_antorus_the_burning_throne.cpp index 1ea867c7317..ef6acfa964b 100644 --- a/src/server/scripts/Argus/AntorusTheBurningThrone/instance_antorus_the_burning_throne.cpp +++ b/src/server/scripts/Argus/AntorusTheBurningThrone/instance_antorus_the_burning_throne.cpp @@ -37,10 +37,25 @@ DoorData const doorData[] = { 0, 0, DOOR_TYPE_ROOM } // END }; -class instance_antorus_the_burning_throne: public InstanceMapScript +DungeonEncounterData const encounters[] = +{ + { DATA_GAROTHI_WORLDBREAKER, {{ 2076 }} }, + { DATA_FELHOUNDS_OF_SAGERAS, {{ 2074 }} }, + { DATA_ANTORAN_HIGH_COMMAND, {{ 2070 }} }, + { DATA_PORTAL_KEEPER_HASABEL, {{ 2064 }} }, + { DATA_EONAR_THE_LIFE_BINDER, {{ 2075 }} }, + { DATA_IMONAR_THE_SOULHUNTER, {{ 2082 }} }, + { DATA_KINGAROTH, {{ 2088 }} }, + { DATA_VARIMATHRAS, {{ 2069 }} }, + { DATA_THE_COVEN_OF_SHIVARRA, {{ 2073 }} }, + { DATA_AGGRAMAR, {{ 2063 }} }, + { DATA_ARGUS_THE_UNMAKER, {{ 2092 }} } +}; + +class instance_antorus_the_burning_throne : public InstanceMapScript { public: - instance_antorus_the_burning_throne() : InstanceMapScript(ABTScriptName, 757) { } + instance_antorus_the_burning_throne() : InstanceMapScript(ABTScriptName, 1712) { } struct instance_antorus_the_burning_throne_InstanceMapScript: public InstanceScript { @@ -50,6 +65,7 @@ class instance_antorus_the_burning_throne: public InstanceMapScript SetBossNumber(EncounterCount); LoadObjectData(creatureData, nullptr); LoadDoorData(doorData); + LoadDungeonEncounterData(encounters); } void OnCreatureCreate(Creature* creature) override @@ -68,7 +84,7 @@ class instance_antorus_the_burning_throne: public InstanceMapScript } }; - InstanceScript* GetInstanceScript(InstanceMap* map) const + InstanceScript* GetInstanceScript(InstanceMap* map) const override { return new instance_antorus_the_burning_throne_InstanceMapScript(map); } 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 { diff --git a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.h b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.h index 21d4338de3e..06ba6b40026 100644 --- a/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.h +++ b/src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.h @@ -21,7 +21,7 @@ #include "CreatureAIImpl.h" #define BFDScriptName "instance_blackfathom_deeps" -#define DataHeader "BFD" +#define DataHeader "BFDv1" uint32 const EncounterCount = 3; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp index 6e368abee84..05eb00e7f5b 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp @@ -58,6 +58,15 @@ ObjectData const creatureData[] = { 0, 0 } // END }; +DungeonEncounterData const encounters[] = +{ + { DATA_RAGEWINTERCHILL, {{ 618 }} }, + { DATA_ANETHERON, {{ 619 }} }, + { DATA_KAZROGAL, {{ 620 }} }, + { DATA_AZGALOR, {{ 621 }} }, + { DATA_ARCHIMONDE, {{ 622 }} } +}; + class instance_hyjal : public InstanceMapScript { public: @@ -75,6 +84,7 @@ public: SetHeaders(DataHeader); SetBossNumber(EncounterCount); LoadObjectData(creatureData, nullptr); + LoadDungeonEncounterData(encounters); RaidDamage = 0; Trash = 0; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp index 167082fd16e..b85cb34814e 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp @@ -128,6 +128,14 @@ DoorData const doorData[] = { 0, 0, DOOR_TYPE_ROOM } // END }; +DungeonEncounterData const encounters[] = +{ + { DATA_MEATHOOK, {{ 2002 }} }, + { DATA_SALRAMM, {{ 2004 }} }, + { DATA_EPOCH, {{ 2003 }} }, + { DATA_MAL_GANIS, {{ 2005 }} } +}; + COSProgressStates GetStableStateFor(COSProgressStates const state) { switch (state) @@ -274,6 +282,7 @@ class instance_culling_of_stratholme : public InstanceMapScript SetHeaders(DataHeader); SetBossNumber(EncounterCount); LoadDoorData(doorData); + LoadDungeonEncounterData(encounters); _currentWorldStates[WORLDSTATE_SHOW_CRATES] = _currentWorldStates[WORLDSTATE_CRATES_REVEALED] = _currentWorldStates[WORLDSTATE_WAVE_COUNT] = _currentWorldStates[WORLDSTATE_TIME_GUARDIAN_SHOW] = _currentWorldStates[WORLDSTATE_TIME_GUARDIAN] = 0; _plagueCrates.reserve(NUM_PLAGUE_CRATES); diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp index 9f5c2510f26..bcebfcaa72f 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/instance_old_hillsbrad.cpp @@ -39,6 +39,13 @@ EndScriptData */ #define QUEST_ENTRY_DIVERSION 10283 #define LODGE_QUEST_TRIGGER 20155 +DungeonEncounterData const encounters[] = +{ + { DATA_LIEUTENANT_DRAKE, {{ 1905 }} }, + { DATA_CAPTAIN_SKARLOC, {{ 1907 }} }, + { DATA_EPOCH_HUNTER, {{ 1906 }} } +}; + class instance_old_hillsbrad : public InstanceMapScript { public: @@ -55,6 +62,7 @@ public: { SetHeaders(DataHeader); SetBossNumber(OldHillsbradFoothillsBossCount); + LoadDungeonEncounterData(encounters); ThrallEscortState = OH_ESCORT_PRISON_TO_SKARLOC; mBarrelCount = 0; diff --git a/src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp b/src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp index 6244cf2dcbb..f60e14614f4 100644 --- a/src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp +++ b/src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp @@ -68,6 +68,26 @@ enum Events EVENT_CRYSTAL_CREATURE_CHECK = 2 }; +DungeonEncounterData const encounters[] = +{ + { 1, {{ 345 }} }, + { 2, {{ 344 }} }, + { 3, {{ 343 }} }, + { 4, {{ 346 }} }, + { 5, {{ 350 }} }, + { 6, {{ 348 }} }, + { 8, {{ 347 }} }, + { 9, {{ 349 }} }, + { 10, {{ 361 }} }, + { 11, {{ 362 }} }, + { 12, {{ 363 }} }, + { 13, {{ 364 }} }, + { 14, {{ 365 }} }, + { 15, {{ 366 }} }, + // { , {{ 367 }}}, Cho'Rush the Observer + { 16, {{ 368 }} } +}; + class instance_dire_maul : public InstanceMapScript { public: @@ -79,6 +99,7 @@ public: { SetHeaders(DataHeader); SetBossNumber(EncounterCount); + LoadDungeonEncounterData(encounters); } void OnCreatureCreate(Creature* creature) override diff --git a/src/server/scripts/Kalimdor/Firelands/instance_firelands.cpp b/src/server/scripts/Kalimdor/Firelands/instance_firelands.cpp index 57a03c08668..11ea87763a6 100644 --- a/src/server/scripts/Kalimdor/Firelands/instance_firelands.cpp +++ b/src/server/scripts/Kalimdor/Firelands/instance_firelands.cpp @@ -22,6 +22,17 @@ #include "InstanceScript.h" #include "Map.h" +DungeonEncounterData const encounters[] = +{ + { DATA_BETH_TILAC, {{ 1197 }} }, + { DATA_LORD_RHYOLITH, {{ 1204 }} }, + { DATA_SHANNOX, {{ 1205 }} }, + { DATA_ALYSRAZOR, {{ 1206 }} }, + { DATA_BALEROC, {{ 1200 }} }, + { DATA_MAJORDOMO_STAGHELM, {{ 1185 }} }, + { DATA_RAGNAROS, {{ 1203 }} } +}; + class instance_firelands : public InstanceMapScript { public: @@ -33,6 +44,7 @@ class instance_firelands : public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(EncounterCount); + LoadDungeonEncounterData(encounters); } void OnCreatureCreate(Creature* creature) override diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp b/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp index 484d29d0487..c63a6f98f68 100644 --- a/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp +++ b/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp @@ -40,6 +40,17 @@ DoorData const doorData[] = {0, 0, DOOR_TYPE_ROOM } }; +DungeonEncounterData const encounters[] = +{ + { DATA_TEMPLE_GUARDIAN_ANHUUR, {{ 1080 }} }, + { DATA_EARTHRAGER_PTAH, {{ 1076 }} }, + { DATA_ANRAPHET, {{ 1075 }} }, + { DATA_ISISET, {{ 1077 }} }, + { DATA_AMMUNAE, {{ 1074 }} }, + { DATA_SETESH, {{ 1079 }} }, + { DATA_RAJH, {{ 1078 }} } +}; + class instance_halls_of_origination : public InstanceMapScript { public: @@ -52,6 +63,7 @@ class instance_halls_of_origination : public InstanceMapScript SetHeaders(DataHeader); SetBossNumber(EncounterCount); LoadDoorData(doorData); + LoadDungeonEncounterData(encounters); _deadElementals = 0; } diff --git a/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp b/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp index bb5a6d36ebb..55615271882 100644 --- a/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp +++ b/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp @@ -37,6 +37,11 @@ BossBoundaryData const boundaries = { DATA_ONYXIA, new CircleBoundary(Position(-34.3697f, -212.3296f), 100.0) } }; +DungeonEncounterData const encounters[] = +{ + { DATA_ONYXIA, {{ 1084 }} } +}; + class instance_onyxias_lair : public InstanceMapScript { public: @@ -54,6 +59,7 @@ public: SetHeaders(DataHeader); SetBossNumber(EncounterCount); LoadBossBoundaries(boundaries); + LoadDungeonEncounterData(encounters); onyxiaLiftoffTimer = 0; manyWhelpsCounter = 0; diff --git a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp index 8e93bab3371..47ebfaf2a16 100644 --- a/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp +++ b/src/server/scripts/Kalimdor/RuinsOfAhnQiraj/instance_ruins_of_ahnqiraj.cpp @@ -20,6 +20,16 @@ #include "InstanceScript.h" #include "ruins_of_ahnqiraj.h" +DungeonEncounterData const encounters[] = +{ + { DATA_KURINNAXX, {{ 718 }} }, + { DATA_RAJAXX, {{ 719 }} }, + { DATA_MOAM, {{ 720 }} }, + { DATA_BURU, {{ 721 }} }, + { DATA_AYAMISS, {{ 722 }} }, + { DATA_OSSIRIAN, {{ 723 }} } +}; + class instance_ruins_of_ahnqiraj : public InstanceMapScript { public: @@ -31,6 +41,7 @@ class instance_ruins_of_ahnqiraj : public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(NUM_ENCOUNTER); + LoadDungeonEncounterData(encounters); } void OnCreatureCreate(Creature* creature) override diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp index d4f1d044428..f0553f53057 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp @@ -46,6 +46,19 @@ DoorData const doorData[] = { 0, 0, DOOR_TYPE_ROOM } // END }; +DungeonEncounterData const encounters[] = +{ + { DATA_SKERAM, {{ 709 }} }, + { DATA_SARTURA, {{ 711 }} }, + { DATA_FRANKRIS, {{ 712 }} }, + { DATA_HUHURAN, {{ 714 }} }, + { DATA_TWIN_EMPERORS, {{ 715 }} }, + { DATA_CTHUN, {{ 717 }} }, + { DATA_BUG_TRIO, {{ 710 }} }, + { DATA_VISCIDUS, {{ 713 }} }, + { DATA_OURO, {{ 716 }} } +}; + class instance_temple_of_ahnqiraj : public InstanceMapScript { public: @@ -64,6 +77,7 @@ class instance_temple_of_ahnqiraj : public InstanceMapScript LoadObjectData(creatureData, nullptr); SetBossNumber(EncounterCount); LoadDoorData(doorData); + LoadDungeonEncounterData(encounters); IsBossDied[0] = false; IsBossDied[1] = false; IsBossDied[2] = false; diff --git a/src/server/scripts/Maelstrom/Stonecore/instance_stonecore.cpp b/src/server/scripts/Maelstrom/Stonecore/instance_stonecore.cpp index 53cd81e28ce..f443f9d1ac0 100644 --- a/src/server/scripts/Maelstrom/Stonecore/instance_stonecore.cpp +++ b/src/server/scripts/Maelstrom/Stonecore/instance_stonecore.cpp @@ -46,6 +46,14 @@ ObjectData const creatureData[] = { 0, 0 } // END }; +DungeonEncounterData const encounters[] = +{ + { DATA_CORBORUS, {{ 1056 }} }, + { DATA_SLABHIDE, {{ 1059 }} }, + { DATA_OZRUK, {{ 1058 }} }, + { DATA_HIGH_PRIESTESS_AZIL, {{ 1057 }} } +}; + class instance_stonecore : public InstanceMapScript { public: @@ -58,6 +66,7 @@ class instance_stonecore : public InstanceMapScript SetHeaders(DataHeader); SetBossNumber(MAX_ENCOUNTER); LoadObjectData(creatureData, nullptr); + LoadDungeonEncounterData(encounters); } void OnGameObjectCreate(GameObject* go) override diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp index fce945a8e11..32223e99e61 100644 --- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp @@ -49,6 +49,15 @@ BossBoundaryData const boundaries = { DATA_JEDOGA_SHADOWSEEKER, new ParallelogramBoundary(Position(460.365f, -661.997f, -20.985f), Position(364.958f,-790.211f, -14.207f), Position(347.436f,-657.978f,14.478f)) } }; +DungeonEncounterData const encounters[] = +{ + { DATA_ELDER_NADOX, {{ 1969 }} }, + { DATA_PRINCE_TALDARAM, {{ 1966 }} }, + { DATA_JEDOGA_SHADOWSEEKER, {{ 1967 }} }, + { DATA_AMANITAR, {{ 1989 }} }, + { DATA_HERALD_VOLAZJ, {{ 1968 }} } +}; + class instance_ahnkahet : public InstanceMapScript { public: @@ -63,6 +72,7 @@ class instance_ahnkahet : public InstanceMapScript LoadDoorData(doorData); LoadObjectData(creatureData, gameObjectData); LoadBossBoundaries(boundaries); + LoadDungeonEncounterData(encounters); SpheresState[0] = 0; SpheresState[1] = 0; diff --git a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp index 66d888d1adf..fed8856f4e8 100644 --- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp @@ -56,6 +56,13 @@ BossBoundaryData const boundaries = { DATA_ANUBARAK, new CircleBoundary(Position(550.6178f, 253.5917f), 26.0f) } }; +DungeonEncounterData const encounters[] = +{ + { DATA_KRIKTHIR, {{ 1971 }} }, + { DATA_HADRONOX, {{ 1972 }} }, + { DATA_ANUBARAK, {{ 1973 }} } +}; + class instance_azjol_nerub : public InstanceMapScript { public: @@ -70,6 +77,7 @@ class instance_azjol_nerub : public InstanceMapScript LoadBossBoundaries(boundaries); LoadDoorData(doorData); LoadObjectData(creatureData, gameobjectData); + LoadDungeonEncounterData(encounters); GateWatcherGreet = 0; } diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp index 81d2b66024d..1f79309b8d5 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/instance_obsidian_sanctum.cpp @@ -30,6 +30,14 @@ BossBoundaryData const boundaries = { DATA_SARTHARION, new RectangleBoundary(3218.86f, 3275.69f, 484.68f, 572.4f) } }; +DungeonEncounterData const encounters[] = +{ + { DATA_SARTHARION, {{ 1090 }} }, + { DATA_TENEBRON, {{ 1092 }} }, + { DATA_SHADRON, {{ 1091 }} }, + { DATA_VESPERON, {{ 1093 }} } +}; + class instance_obsidian_sanctum : public InstanceMapScript { public: @@ -42,6 +50,7 @@ public: SetHeaders(DataHeader); SetBossNumber(EncounterCount); LoadBossBoundaries(boundaries); + LoadDungeonEncounterData(encounters); } void OnCreatureCreate(Creature* creature) override diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp index 0fd569a94f3..0d0635409ba 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp @@ -71,6 +71,14 @@ ObjectData const gameObjectData[] = { 0, 0 } //END }; +DungeonEncounterData const encounters[] = +{ + { DATA_BALTHARUS_THE_WARBORN, {{ 1147 }} }, + { DATA_SAVIANA_RAGEFIRE, {{ 1149 }} }, + { DATA_GENERAL_ZARITHRIAN, {{ 1148 }} }, + { DATA_HALION, {{ 1150 }} } +}; + class instance_ruby_sanctum : public InstanceMapScript { public: @@ -85,6 +93,7 @@ class instance_ruby_sanctum : public InstanceMapScript LoadBossBoundaries(boundaries); LoadDoorData(doorData); LoadObjectData(creatureData, gameObjectData); + LoadDungeonEncounterData(encounters); BaltharusSharedHealth = 0; } diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp index 4735f87452b..4ca63b4d306 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp @@ -33,6 +33,14 @@ EndScriptData */ constexpr uint32 ToCEncounterCount = 4; +DungeonEncounterData const encounters[] = +{ + { BOSS_GRAND_CHAMPIONS, {{ 2022 }} }, + { BOSS_ARGENT_CHALLENGE_E, {{ 2023 }} }, + { BOSS_ARGENT_CHALLENGE_P, {{ 2023 }} }, + { BOSS_BLACK_KNIGHT, {{ 2021 }} } +}; + class instance_trial_of_the_champion : public InstanceMapScript { public: @@ -50,6 +58,7 @@ public: { SetHeaders(DataHeader); SetBossNumber(ToCEncounterCount); + LoadDungeonEncounterData(encounters); uiArgentSoldierDeaths = 0; teamInInstance = 0; diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp index 00551025db4..6101d468b2c 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/instance_trial_of_the_crusader.cpp @@ -92,6 +92,15 @@ DoorData const doorData[] = { 0, 0, DOOR_TYPE_ROOM } // END }; +DungeonEncounterData const encounters[] = +{ + { DATA_NORTHREND_BEASTS, {{ 1088 }} }, + { DATA_JARAXXUS, {{ 1087 }} }, + { DATA_FACTION_CRUSADERS, {{ 1086 }} }, + { DATA_TWIN_VALKIRIES, {{ 1089 }} }, + { DATA_ANUBARAK, {{ 1085 }} } +}; + class instance_trial_of_the_crusader : public InstanceMapScript { public: @@ -106,6 +115,7 @@ class instance_trial_of_the_crusader : public InstanceMapScript LoadBossBoundaries(boundaries); LoadObjectData(creatureData, gameObjectData); LoadDoorData(doorData); + LoadDungeonEncounterData(encounters); EventStage = 0; NorthrendBeasts = NOT_STARTED; NorthrendBeastsCount = 4; diff --git a/src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp b/src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp index 6d87399d426..bd7c5d30a35 100644 --- a/src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp +++ b/src/server/scripts/Northrend/DraktharonKeep/instance_drak_tharon_keep.cpp @@ -22,6 +22,14 @@ #include "Map.h" #include "ScriptedCreature.h" +DungeonEncounterData const encounters[] = +{ + { DATA_TROLLGORE, {{ 1974 }} }, + { DATA_NOVOS, {{ 1976 }} }, + { DATA_KING_DRED, {{ 1977 }} }, + { DATA_THARON_JA, {{ 1975 }} } +}; + class instance_drak_tharon_keep : public InstanceMapScript { public: @@ -33,6 +41,7 @@ class instance_drak_tharon_keep : public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(EncounterCount); + LoadDungeonEncounterData(encounters); } void OnCreatureCreate(Creature* creature) override diff --git a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp index 67fb437b65d..ba20e8905d4 100644 --- a/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/instance_forge_of_souls.cpp @@ -29,6 +29,12 @@ BossBoundaryData const boundaries = { DATA_DEVOURER_OF_SOULS, new ParallelogramBoundary(Position(5663.56f, 2570.53f), Position(5724.39f, 2520.45f), Position(5570.36f, 2461.42f)) } }; +DungeonEncounterData const encounters[] = +{ + { DATA_BRONJAHM, {{ 2006 }} }, + { DATA_DEVOURER_OF_SOULS, {{ 2007 }} } +}; + class instance_forge_of_souls : public InstanceMapScript { public: @@ -41,6 +47,7 @@ class instance_forge_of_souls : public InstanceMapScript SetHeaders(DataHeader); SetBossNumber(EncounterCount); LoadBossBoundaries(boundaries); + LoadDungeonEncounterData(encounters); teamInInstance = 0; } diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp index f2d5624a4bf..5aa0be17532 100644 --- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/instance_halls_of_reflection.cpp @@ -25,6 +25,13 @@ #include "TemporarySummon.h" #include "Transport.h" +DungeonEncounterData const encounters[] = +{ + { DATA_FALRIC, {{ 1992 }} }, + { DATA_MARWYN, {{ 1993 }} }, + { DATA_THE_LICH_KING_ESCAPE, {{ 1990 }} } +}; + Position const JainaSpawnPos = { 5236.659f, 1929.894f, 707.7781f, 0.8726646f }; // Jaina Spawn Position Position const SylvanasSpawnPos = { 5236.667f, 1929.906f, 707.7781f, 0.8377581f }; // Sylvanas Spawn Position (sniffed) Position const JainaSpawnPos2 = { 5549.011f, 2257.041f, 733.0120f, 1.153993f }; // Jaina Spawn Position 2 @@ -88,6 +95,7 @@ class instance_halls_of_reflection : public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(EncounterCount); + LoadDungeonEncounterData(encounters); _teamInInstance = 0; _waveCount = 0; diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp index 5f39d276978..6a80e90f134 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/instance_pit_of_saron.cpp @@ -36,6 +36,13 @@ DoorData const Doors[] = { 0, 0, DOOR_TYPE_ROOM } // END }; +DungeonEncounterData const encounters[] = +{ + { DATA_GARFROST, {{ 1999 }} }, + { DATA_ICK, {{ 2001 }} }, + { DATA_TYRANNUS, {{ 2000 }} } +}; + class instance_pit_of_saron : public InstanceMapScript { public: @@ -48,6 +55,7 @@ class instance_pit_of_saron : public InstanceMapScript SetHeaders(DataHeader); SetBossNumber(EncounterCount); LoadDoorData(Doors); + LoadDungeonEncounterData(encounters); _teamInInstance = 0; _cavernActive = 0; _shardsHit = 0; diff --git a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp index 62004f0396b..ca427278948 100644 --- a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp +++ b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp @@ -54,6 +54,15 @@ ObjectData const gameObjectData[] = { 0, 0 } // END }; +DungeonEncounterData const encounters[] = +{ + { DATA_SLAD_RAN, {{ 1978 }} }, + { DATA_DRAKKARI_COLOSSUS, {{ 1983 }} }, + { DATA_MOORABI, {{ 1980 }} }, + { DATA_GAL_DARAH, {{ 1981 }} }, + { DATA_ECK_THE_FEROCIOUS, {{ 1988 }} } +}; + Position const EckSpawnPoint = { 1643.877930f, 936.278015f, 107.204948f, 0.668432f }; class instance_gundrak : public InstanceMapScript @@ -69,6 +78,7 @@ class instance_gundrak : public InstanceMapScript SetBossNumber(EncounterCount); LoadDoorData(doorData); LoadObjectData(creatureData, gameObjectData); + LoadDungeonEncounterData(encounters); SladRanStatueState = GO_STATE_ACTIVE; DrakkariColossusStatueState = GO_STATE_ACTIVE; diff --git a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp index 48bf18f6d4e..c9a4765c99d 100644 --- a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp +++ b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp @@ -107,6 +107,25 @@ ObjectData const objectData[] = { 0, 0, } }; +DungeonEncounterData const encounters[] = +{ + { BOSS_ANUBREKHAN, {{ 1107 }} }, + { BOSS_FAERLINA, {{ 1110 }} }, + { BOSS_MAEXXNA, {{ 1116 }} }, + { BOSS_NOTH, {{ 1117 }} }, + { BOSS_HEIGAN, {{ 1112 }} }, + { BOSS_LOATHEB, {{ 1115 }} }, + { BOSS_PATCHWERK, {{ 1118 }} }, + { BOSS_GROBBULUS, {{ 1111 }} }, + { BOSS_GLUTH, {{ 1108 }} }, + { BOSS_THADDIUS, {{ 1120 }} }, + { BOSS_RAZUVIOUS, {{ 1113 }} }, + { BOSS_GOTHIK, {{ 1109 }} }, + { BOSS_HORSEMEN, {{ 1121 }} }, + { BOSS_SAPPHIRON, {{ 1119 }} }, + { BOSS_KELTHUZAD, {{ 1114 }} } +}; + class instance_naxxramas : public InstanceMapScript { public: @@ -121,6 +140,7 @@ class instance_naxxramas : public InstanceMapScript LoadBossBoundaries(boundaries); LoadDoorData(doorData); LoadObjectData(nullptr, objectData); + LoadDungeonEncounterData(encounters); hadSapphironBirth = false; CurrentWingTaunt = SAY_KELTHUZAD_FIRST_WING_TAUNT; diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp index ff852e4474f..8892b1145f7 100644 --- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp +++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp @@ -30,6 +30,11 @@ BossBoundaryData const boundaries = { DATA_MALYGOS_EVENT, new CircleBoundary(Position(754.362f, 1301.609985f), 280.0) } // sanity check boundary }; +DungeonEncounterData const encounters[] = +{ + { DATA_MALYGOS_EVENT, {{ 1094 }} } +}; + class instance_eye_of_eternity : public InstanceMapScript { public: @@ -47,6 +52,7 @@ public: SetHeaders(DataHeader); SetBossNumber(MAX_ENCOUNTER); LoadBossBoundaries(boundaries); + LoadDungeonEncounterData(encounters); } void OnPlayerEnter(Player* player) override diff --git a/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp b/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp index c6e9c27115b..80924f1fe3b 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp +++ b/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp @@ -23,6 +23,15 @@ #include "nexus.h" #include "Player.h" +DungeonEncounterData const encounters[] = +{ + { DATA_COMMANDER, {{ 519 }} }, + { DATA_MAGUS_TELESTRA, {{ 520, 521, 2010 }} }, + { DATA_ANOMALUS, {{ 522, 523, 2009 }} }, + { DATA_ORMOROK, {{ 524, 525, 2012 }} }, + { DATA_KERISTRASZA, {{ 526, 527, 2011 }} } +}; + class instance_nexus : public InstanceMapScript { public: @@ -34,6 +43,7 @@ class instance_nexus : public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(EncounterCount); + LoadDungeonEncounterData(encounters); _teamInInstance = 0; } diff --git a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp index eeff191f6e9..b4fb75349b5 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp @@ -33,6 +33,14 @@ DoorData const doorData[] = { 0, 0, DOOR_TYPE_ROOM } }; +DungeonEncounterData const encounters[] = +{ + { DATA_DRAKOS, {{ 528, 529, 2016 }} }, + { DATA_VAROS, {{ 530, 531, 2015 }} }, + { DATA_UROM, {{ 532, 533, 2014 }} }, + { DATA_EREGOS, {{ 534, 535, 2013 }} } +}; + Position const VerdisaMove = { 949.188f, 1032.91f, 359.967f, 1.093027f }; Position const BelgaristraszMove = { 941.453f, 1044.1f, 359.967f, 0.1984709f }; Position const EternosMove = { 943.202f, 1059.35f, 359.967f, 5.757278f }; @@ -49,6 +57,7 @@ class instance_oculus : public InstanceMapScript SetHeaders(DataHeader); SetBossNumber(EncounterCount); LoadDoorData(doorData); + LoadDungeonEncounterData(encounters); CentrifugueConstructCounter = 0; } diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/instance_halls_of_lightning.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/instance_halls_of_lightning.cpp index 1cd269e135a..bef018139f0 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfLightning/instance_halls_of_lightning.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfLightning/instance_halls_of_lightning.cpp @@ -48,6 +48,14 @@ ObjectData const gameObjectData[] = { 0, 0 } // END }; +DungeonEncounterData const encounters[] = +{ + { DATA_GENERAL_BJARNGRIM, {{ 1987 }} }, + { DATA_VOLKHAN, {{ 1985 }} }, + { DATA_IONAR, {{ 1984 }} }, + { DATA_LOKEN, {{ 1986 }} } +}; + class instance_halls_of_lightning : public InstanceMapScript { public: @@ -61,6 +69,7 @@ class instance_halls_of_lightning : public InstanceMapScript SetBossNumber(EncounterCount); LoadObjectData(creatureData, gameObjectData); LoadDoorData(doorData); + LoadDungeonEncounterData(encounters); } void OnCreatureCreate(Creature* creature) override diff --git a/src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp b/src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp index 8bd8ac33438..e11787a3bd0 100644 --- a/src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp +++ b/src/server/scripts/Northrend/Ulduar/HallsOfStone/instance_halls_of_stone.cpp @@ -51,6 +51,14 @@ ObjectData const gameObjectData[] = { 0, 0 } // END }; +DungeonEncounterData const encounters[] = +{ + { DATA_KRYSTALLUS, {{ 1994 }} }, + { DATA_MAIDEN_OF_GRIEF, {{ 1996 }} }, + { DATA_TRIBUNAL_OF_AGES, {{ 1995 }} }, + { DATA_SJONNIR_THE_IRONSHAPER, {{ 1998 }} } +}; + class instance_halls_of_stone : public InstanceMapScript { public: @@ -64,6 +72,7 @@ class instance_halls_of_stone : public InstanceMapScript SetBossNumber(EncounterCount); LoadObjectData(creatureData, gameObjectData); LoadDoorData(doorData); + LoadDungeonEncounterData(encounters); } void OnGameObjectCreate(GameObject* go) override diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp index 32b0ad030cf..e7dd5c1cf2f 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp @@ -140,6 +140,27 @@ ObjectData const objectData[] = { 0, 0 } }; +DungeonEncounterData const encounters[] = +{ + { DATA_FLAME_LEVIATHAN, {{ 1132 }} }, + { DATA_IGNIS, {{ 1136 }} }, + { DATA_RAZORSCALE, {{ 1139 }} }, + { DATA_XT002, {{ 1142 }} }, + { DATA_ASSEMBLY_OF_IRON, {{ 1140 }} }, + { DATA_KOLOGARN, {{ 1137 }} }, + { DATA_AURIAYA, {{ 1131 }} }, + { DATA_HODIR, {{ 1135 }} }, + { DATA_THORIM, {{ 1141 }} }, + { DATA_FREYA, {{ 1133 }} }, + { DATA_MIMIRON, {{ 1138 }} }, + { DATA_VEZAX, {{ 1134 }} }, + { DATA_YOGG_SARON, {{ 1143 }} }, + { DATA_ALGALON, {{ 1130 }} }, + { DATA_BRIGHTLEAF, {{ 1164 }} }, + { DATA_IRONBRANCH, {{ 1165 }} }, + { DATA_STONEBARK, {{ 1166 }} } +}; + UlduarKeeperDespawnEvent::UlduarKeeperDespawnEvent(Creature* owner, Milliseconds despawnTimerOffset) : _owner(owner), _despawnTimer(despawnTimerOffset) { } @@ -166,6 +187,7 @@ class instance_ulduar : public InstanceMapScript LoadDoorData(doorData); LoadMinionData(minionData); LoadObjectData(creatureData, objectData); + LoadDungeonEncounterData(encounters); _maxArmorItemLevel = 0; _maxWeaponItemLevel = 0; diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp index 4b1fedc4b97..dfac043dac9 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp @@ -35,6 +35,13 @@ MinionData const minionData[] = { 0, 0 } }; +DungeonEncounterData const encounters[] = +{ + { DATA_PRINCE_KELESETH, {{ 2026 }} }, + { DATA_SKARVALD_DALRONN, {{ 2024 }} }, + { DATA_INGVAR, {{ 2025 }} } +}; + class instance_utgarde_keep : public InstanceMapScript { public: @@ -48,6 +55,7 @@ class instance_utgarde_keep : public InstanceMapScript SetBossNumber(EncounterCount); LoadDoorData(doorData); LoadMinionData(minionData); + LoadDungeonEncounterData(encounters); } void OnCreatureCreate(Creature* creature) override diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp index 7b6cc204e86..e4a9eaf249a 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp @@ -56,6 +56,14 @@ ObjectData const gameObjectData[] = { 0, 0 } //END }; +DungeonEncounterData const encounters[] = +{ + { DATA_SVALA_SORROWGRAVE, {{ 2030 }} }, + { DATA_GORTOK_PALEHOOF, {{ 2027 }} }, + { DATA_SKADI_THE_RUTHLESS, {{ 2029 }} }, + { DATA_KING_YMIRON, {{ 2028 }} } +}; + class instance_utgarde_pinnacle : public InstanceMapScript { public: @@ -70,6 +78,7 @@ class instance_utgarde_pinnacle : public InstanceMapScript LoadBossBoundaries(boundaries); LoadDoorData(doorData); LoadObjectData(creatureData, gameObjectData); + LoadDungeonEncounterData(encounters); } void OnGameObjectCreate(GameObject* go) override diff --git a/src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp b/src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp index b3adec78b5b..b8ea5dfe62f 100644 --- a/src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp +++ b/src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp @@ -36,6 +36,14 @@ ObjectData const creatureData[] = { 0, 0, } }; +DungeonEncounterData const encounters[] = +{ + { NPC_ARCHAVON, {{ 1126 }} }, + { NPC_EMALON, {{ 1127 }} }, + { NPC_KORALON, {{ 1128 }} }, + { NPC_TORAVON, {{ 1129 }} } +}; + class instance_vault_of_archavon : public InstanceMapScript { public: @@ -48,6 +56,7 @@ class instance_vault_of_archavon : public InstanceMapScript SetHeaders(DataHeader); SetBossNumber(EncounterCount); LoadObjectData(creatureData, nullptr); + LoadDungeonEncounterData(encounters); ArchavonDeath = 0; EmalonDeath = 0; diff --git a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp index 8cbeee0cb1b..7568ef2d8e3 100644 --- a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp +++ b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp @@ -189,6 +189,13 @@ MinionData const minionData[] = { 0, 0 } // END }; +DungeonEncounterData const encounters[] = +{ + { DATA_1ST_BOSS, {{ 2019 }} }, + { DATA_2ND_BOSS, {{ 2018 }} }, + { DATA_CYANIGOSA, {{ 2020 }} } +}; + class instance_violet_hold : public InstanceMapScript { public: @@ -204,6 +211,7 @@ class instance_violet_hold : public InstanceMapScript SetBossNumber(EncounterCount); LoadObjectData(creatureData, gameObjectData); LoadMinionData(minionData); + LoadDungeonEncounterData(encounters); DoorIntegrity = 100; WaveCount = 0; diff --git a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/instance_auchenai_crypts.cpp b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/instance_auchenai_crypts.cpp index c12df1266f5..010fd4d32ce 100644 --- a/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/instance_auchenai_crypts.cpp +++ b/src/server/scripts/Outland/Auchindoun/AuchenaiCrypts/instance_auchenai_crypts.cpp @@ -19,6 +19,12 @@ #include "auchenai_crypts.h" #include "InstanceScript.h" +DungeonEncounterData const encounters[] = +{ + { DATA_SHIRRAK_THE_DEAD_WATCHER, {{ 1890 }} }, + { DATA_EXARCH_MALADAAR, {{ 1889 }} } +}; + class instance_auchenai_crypts : public InstanceMapScript { public: @@ -30,6 +36,7 @@ class instance_auchenai_crypts : public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(EncounterCount); + LoadDungeonEncounterData(encounters); } }; diff --git a/src/server/scripts/Outland/Auchindoun/ManaTombs/instance_mana_tombs.cpp b/src/server/scripts/Outland/Auchindoun/ManaTombs/instance_mana_tombs.cpp index 8eb8b4fd751..88bcf525156 100644 --- a/src/server/scripts/Outland/Auchindoun/ManaTombs/instance_mana_tombs.cpp +++ b/src/server/scripts/Outland/Auchindoun/ManaTombs/instance_mana_tombs.cpp @@ -20,6 +20,14 @@ #include "Unit.h" #include "mana_tombs.h" +DungeonEncounterData const encounters[] = +{ + { DATA_PANDEMONIUS, {{ 1900 }} }, + { DATA_TAVAROK, {{ 1901 }} }, + { DATA_NEXUSPRINCE_SHAFFAR, {{ 1899 }} }, + { DATA_YOR, {{ 250 }} } +}; + class instance_mana_tombs : public InstanceMapScript { public: @@ -31,6 +39,7 @@ class instance_mana_tombs : public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(EncounterCount); + LoadDungeonEncounterData(encounters); } void OnUnitDeath(Unit* unit) override diff --git a/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp b/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp index bd892c3aca5..0036bb89192 100644 --- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp +++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp @@ -33,6 +33,13 @@ ObjectData const gameObjectData[] = { 0, 0 } // END }; +DungeonEncounterData const encounters[] = +{ + { DATA_DARKWEAVER_SYTH, {{ 1903 }} }, + { DATA_TALON_KING_IKISS, {{ 1902 }} }, + { DATA_ANZU, {{ 1904 }} } +}; + class instance_sethekk_halls : public InstanceMapScript { public: @@ -46,6 +53,7 @@ class instance_sethekk_halls : public InstanceMapScript SetBossNumber(EncounterCount); LoadDoorData(doorData); LoadObjectData(nullptr, gameObjectData); + LoadDungeonEncounterData(encounters); } void OnCreatureCreate(Creature* creature) override diff --git a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp index fa608b1f824..d3062853c3c 100644 --- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp +++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp @@ -30,6 +30,14 @@ DoorData const doorData[] = { 0, 0, DOOR_TYPE_ROOM } // END }; +DungeonEncounterData const encounters[] = +{ + { DATA_AMBASSADOR_HELLMAW, {{ 1908 }} }, + { DATA_BLACKHEART_THE_INCITER, {{ 1909 }} }, + { DATA_GRANDMASTER_VORPIL, {{ 1911 }} }, + { DATA_MURMUR, {{ 1910 }} } +}; + class instance_shadow_labyrinth : public InstanceMapScript { public: @@ -42,6 +50,7 @@ class instance_shadow_labyrinth : public InstanceMapScript SetHeaders(DataHeader); SetBossNumber(EncounterCount); LoadDoorData(doorData); + LoadDungeonEncounterData(encounters); FelOverseerCount = 0; } diff --git a/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp b/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp index c872b185e5c..0a21e0753a0 100644 --- a/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp +++ b/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp @@ -88,6 +88,19 @@ ObjectData const gameObjectData[] = { 0, 0 } //END }; +DungeonEncounterData const encounters[] = +{ + { DATA_HIGH_WARLORD_NAJENTUS, {{ 601 }} }, + { DATA_SUPREMUS, {{ 602 }} }, + { DATA_SHADE_OF_AKAMA, {{ 603 }} }, + { DATA_TERON_GOREFIEND, {{ 604 }} }, + { DATA_GURTOGG_BLOODBOIL, {{ 605 }} }, + { DATA_RELIQUARY_OF_SOULS, {{ 606 }} }, + { DATA_MOTHER_SHAHRAZ, {{ 607 }} }, + { DATA_ILLIDARI_COUNCIL, {{ 608 }} }, + { DATA_ILLIDAN_STORMRAGE, {{ 609 }} } +}; + class instance_black_temple : public InstanceMapScript { public: @@ -102,6 +115,7 @@ class instance_black_temple : public InstanceMapScript LoadDoorData(doorData); LoadObjectData(creatureData, gameObjectData); LoadBossBoundaries(boundaries); + LoadDungeonEncounterData(encounters); AkamaState = AKAMA_INTRO; AkamaIllidanIntro = 1; } diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp index d50073a73d5..39eb7914045 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/instance_serpent_shrine.cpp @@ -60,6 +60,16 @@ enum Misc 5 - Lady Vashj Event */ +DungeonEncounterData const encounters[] = +{ + { BOSS_HYDROSS_THE_UNSTABLE, {{ 623 }} }, + { BOSS_THE_LURKER_BELOW, {{ 624 }} }, + { BOSS_LEOTHERAS_THE_BLIND, {{ 625 }} }, + { BOSS_FATHOM_LORD_KARATHRESS, {{ 626 }} }, + { BOSS_MOROGRIM_TIDEWALKER, {{ 627 }} }, + { BOSS_LADY_VASHJ, {{ 628 }} } +}; + class go_bridge_console : public GameObjectScript { public: @@ -96,6 +106,7 @@ class instance_serpent_shrine : public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(MAX_ENCOUNTER); + LoadDungeonEncounterData(encounters); StrangePool = 0; Water = WATERSTATE_FRENZY; diff --git a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp index a37f0753a4c..fc25677e2ec 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp @@ -58,6 +58,13 @@ ObjectData const creatureData[] = { 0, 0 } // END }; +DungeonEncounterData const encounters[] = +{ + { DATA_HYDROMANCER_THESPIA, {{ 1942 }} }, + { DATA_MEKGINEER_STEAMRIGGER, {{ 1943 }} }, + { DATA_WARLORD_KALITHRESH, {{ 1944 }} } +}; + class instance_steam_vault : public InstanceMapScript { public: @@ -70,6 +77,7 @@ class instance_steam_vault : public InstanceMapScript SetHeaders(DataHeader); SetBossNumber(EncounterCount); LoadObjectData(creatureData, gameObjectData); + LoadDungeonEncounterData(encounters); distillerState = 0; } diff --git a/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/instance_the_slave_pens.cpp b/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/instance_the_slave_pens.cpp index b80e8c845f9..cd9aad5cb95 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/instance_the_slave_pens.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/TheSlavePens/instance_the_slave_pens.cpp @@ -35,6 +35,13 @@ ObjectData const creatureData[] = { 0, 0, } }; +DungeonEncounterData const encounters[] = +{ + { DATA_MENNU_THE_BETRAYER, {{ 1939 }} }, + { DATA_ROKMAR_THE_CRACKLER, {{ 1941 }} }, + { DATA_QUAGMIRRAN, {{ 1940 }} } +}; + class instance_the_slave_pens : public InstanceMapScript { public: @@ -45,8 +52,9 @@ public: instance_the_slave_pens_InstanceMapScript(InstanceMap* map) : InstanceScript(map) { counter = DATA_FLAMECALLER_000; - LoadObjectData(creatureData, nullptr); SetBossNumber(EncounterCount); + LoadObjectData(creatureData, nullptr); + LoadDungeonEncounterData(encounters); } void OnCreatureCreate(Creature* creature) override diff --git a/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp b/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp index eca916a89ee..b69dd7c7653 100644 --- a/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp +++ b/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp @@ -37,6 +37,12 @@ MinionData const minionData[] = { 0, 0 } }; +DungeonEncounterData const encounters[] = +{ + { DATA_MAULGAR, {{ 649 }} }, + { DATA_GRUUL, {{ 650 }} } +}; + class instance_gruuls_lair : public InstanceMapScript { public: @@ -50,6 +56,7 @@ class instance_gruuls_lair : public InstanceMapScript SetBossNumber(EncounterCount); LoadDoorData(doorData); LoadMinionData(minionData); + LoadDungeonEncounterData(encounters); } void OnCreatureCreate(Creature* creature) override diff --git a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp index 25fe0fb89ae..549e17d8beb 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp @@ -45,6 +45,13 @@ ObjectData const gameObjectData[] = { 0, 0 } //END }; +DungeonEncounterData const encounters[] = +{ + { DATA_THE_MAKER, {{ 1922 }} }, + { DATA_BROGGOK, {{ 1924 }} }, + { DATA_KELIDAN_THE_BREAKER, {{ 1923 }} } +}; + class instance_blood_furnace : public InstanceMapScript { public: @@ -58,6 +65,7 @@ class instance_blood_furnace : public InstanceMapScript SetBossNumber(EncounterCount); LoadDoorData(doorData); LoadObjectData(creatureData, gameObjectData); + LoadDungeonEncounterData(encounters); PrisonerCounter5 = 0; PrisonerCounter6 = 0; diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp index 839c478b0e0..67a0308058d 100644 --- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp @@ -28,6 +28,13 @@ EndScriptData */ #include "InstanceScript.h" #include "Map.h" +DungeonEncounterData const encounters[] = +{ + { DATA_WATCHKEEPER_GARGOLMAR, {{ 1893 }} }, + { DATA_OMOR_THE_UNSCARRED, {{ 1891 }} }, + { DATA_VAZRUDEN, {{ 1892 }} } +}; + class instance_ramparts : public InstanceMapScript { public: @@ -39,6 +46,7 @@ class instance_ramparts : public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(EncounterCount); + LoadDungeonEncounterData(encounters); } void OnGameObjectCreate(GameObject* go) override diff --git a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp index c6983a0f63f..e0c1bc322b0 100644 --- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp @@ -64,6 +64,11 @@ static MLDataTypes const collapseObjectDatas[] = DATA_MAGTHERIDON_COLUMN_5, }; +DungeonEncounterData const encounters[] = +{ + { DATA_MAGTHERIDON, {{ 651 }} } +}; + class instance_magtheridons_lair : public InstanceMapScript { public: @@ -78,6 +83,7 @@ class instance_magtheridons_lair : public InstanceMapScript LoadDoorData(doorData); LoadBossBoundaries(boundaries); LoadObjectData(creatureData, gameObjectData); + LoadDungeonEncounterData(encounters); } void OnGameObjectCreate(GameObject* go) override diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp index 52dec1e3174..38ebad415d4 100644 --- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp @@ -38,6 +38,14 @@ DoorData const doorData[] = { 0, 0, DOOR_TYPE_ROOM } }; +DungeonEncounterData const encounters[] = +{ + { DATA_NETHEKURSE, {{ 1936 }} }, + { DATA_PORUNG, {{ 1935 }} }, + { DATA_OMROGG, {{ 1937 }} }, + { DATA_KARGATH, {{ 1938 }} }, +}; + class instance_shattered_halls : public InstanceMapScript { public: @@ -55,6 +63,7 @@ class instance_shattered_halls : public InstanceMapScript SetHeaders(DataHeader); SetBossNumber(EncounterCount); LoadDoorData(doorData); + LoadDungeonEncounterData(encounters); executionTimer = 0; executed = 0; _team = 0; diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.h b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.h index ae71528220d..214a73fd69f 100644 --- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.h +++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.h @@ -22,7 +22,7 @@ #include "Position.h" #define SHScriptName "instance_shattered_halls" -#define DataHeader "SH" +#define DataHeader "SHv1" uint32 const EncounterCount = 4; uint32 const VictimCount = 3; diff --git a/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp b/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp index 0832efd40fe..3f332f96e11 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp @@ -55,6 +55,14 @@ ObjectData const gameObjectData[] = { 0, 0 } // END }; +DungeonEncounterData const encounters[] = +{ + { DATA_KAELTHAS, {{ 733 }} }, + { DATA_ALAR, {{ 730 }} }, + { DATA_SOLARIAN, {{ 732 }} }, + { DATA_VOID_REAVER, {{ 731 }} } +}; + class instance_the_eye : public InstanceMapScript { public: @@ -68,6 +76,7 @@ class instance_the_eye : public InstanceMapScript SetBossNumber(EncounterCount); LoadDoorData(doorData); LoadObjectData(creatureData, gameObjectData); + LoadDungeonEncounterData(encounters); } }; diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/instance_mechanar.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/instance_mechanar.cpp index 6cdeb655cce..9fd1208aa9e 100644 --- a/src/server/scripts/Outland/TempestKeep/Mechanar/instance_mechanar.cpp +++ b/src/server/scripts/Outland/TempestKeep/Mechanar/instance_mechanar.cpp @@ -27,6 +27,15 @@ static DoorData const doorData[] = { 0, 0, DOOR_TYPE_ROOM } }; +DungeonEncounterData const encounters[] = +{ + { DATA_GATEWATCHER_GYROKILL, {{ 1933 }} }, + { DATA_GATEWATCHER_IRON_HAND, {{ 1934 }} }, + { DATA_MECHANOLORD_CAPACITUS, {{ 1932 }} }, + { DATA_NETHERMANCER_SEPRETHREA, {{ 1930 }} }, + { DATA_PATHALEON_THE_CALCULATOR, {{ 1931 }} } +}; + class instance_mechanar : public InstanceMapScript { public: @@ -39,6 +48,7 @@ class instance_mechanar : public InstanceMapScript SetHeaders(DataHeader); SetBossNumber(EncounterCount); LoadDoorData(doorData); + LoadDungeonEncounterData(encounters); } bool SetBossState(uint32 type, EncounterState state) override diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp index 5f1321fb762..adeaec19ca2 100644 --- a/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp +++ b/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp @@ -29,6 +29,14 @@ DoorData const doorData[] = { 0, 0, DOOR_TYPE_ROOM } // END }; +DungeonEncounterData const encounters[] = +{ + { DATA_ZEREKETH, {{ 1916 }} }, + { DATA_DALLIAH, {{ 1913 }} }, + { DATA_SOCCOTHRATES, {{ 1915 }} }, + { DATA_HARBINGER_SKYRISS, {{ 1914 }} } +}; + class instance_arcatraz : public InstanceMapScript { public: @@ -41,6 +49,7 @@ class instance_arcatraz : public InstanceMapScript SetHeaders(DataHeader); SetBossNumber(EncounterCount); LoadDoorData(doorData); + LoadDungeonEncounterData(encounters); ConversationState = NOT_STARTED; diff --git a/src/server/scripts/Outland/TempestKeep/botanica/instance_the_botanica.cpp b/src/server/scripts/Outland/TempestKeep/botanica/instance_the_botanica.cpp index 0529b427415..1ab3574ada8 100644 --- a/src/server/scripts/Outland/TempestKeep/botanica/instance_the_botanica.cpp +++ b/src/server/scripts/Outland/TempestKeep/botanica/instance_the_botanica.cpp @@ -20,6 +20,15 @@ #include "InstanceScript.h" #include "the_botanica.h" +DungeonEncounterData const encounters[] = +{ + { DATA_COMMANDER_SARANNIS, {{ 1925 }} }, + { DATA_HIGH_BOTANIST_FREYWINN, {{ 1926 }} }, + { DATA_THORNGRIN_THE_TENDER, {{ 1928 }} }, + { DATA_LAJ, {{ 1927 }} }, + { DATA_WARP_SPLINTER, {{ 1929 }} } +}; + class instance_the_botanica : public InstanceMapScript { public: @@ -31,6 +40,7 @@ class instance_the_botanica : public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(EncounterCount); + LoadDungeonEncounterData(encounters); } void OnCreatureCreate(Creature* creature) override |