From 44c0f51e65aed3b00e57c469ce55bd82509d6634 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 15 Feb 2026 19:19:16 +0100 Subject: [PATCH] Core/Scripts: Modernize InstanceScript::Load*Some*Data arrays to use std::span instead of requiring a dummy end markers inside the arrays --- src/server/game/Instances/InstanceScript.cpp | 56 +++++++++---------- src/server/game/Instances/InstanceScript.h | 18 +++--- .../instance_antorus_the_burning_throne.cpp | 11 ++-- .../instance_black_rook_hold.cpp | 11 ++-- .../EyeOfAzshara/instance_eye_of_azshara.cpp | 10 ++-- .../MawOfSouls/instance_maw_of_souls.cpp | 14 ++--- .../instance_neltharions_lair.cpp | 10 ++-- .../TrialOfValor/instance_trial_of_valor.cpp | 10 ++-- .../Auchindoun/instance_auchindoun.cpp | 8 +-- ...instance_aberrus_the_shadowed_crucible.cpp | 11 ++-- .../AzureVault/instance_azure_vault.cpp | 4 +- .../instance_ruby_life_pools.cpp | 10 ++-- .../BaradinHold/instance_baradin_hold.cpp | 10 ++-- .../instance_bastion_of_twilight.cpp | 10 ++-- .../instance_blackrock_caverns.cpp | 7 +-- .../instance_blackrock_spire.cpp | 3 +- .../instance_blackwing_descent.cpp | 10 ++-- .../BlackwingLair/instance_blackwing_lair.cpp | 34 ++++++----- .../Deadmines/instance_deadmines.cpp | 10 ++-- .../GrimBatol/instance_grim_batol.cpp | 7 +-- .../instance_magisters_terrace.cpp | 15 ++--- .../instance_return_to_karazhan.cpp | 10 ++-- .../ScarletHalls/scarlet_halls.cpp | 10 ++-- .../instance_scarlet_monastery.cpp | 6 +- .../instance_shadowfang_keep.cpp | 8 +-- .../instance_sunwell_plateau.cpp | 10 ++-- .../instance_throne_of_the_tides.cpp | 7 +-- .../ZulGurub/instance_zulgurub.cpp | 5 +- .../instance_darkmaul_citadel.cpp | 14 ++--- .../BattleForMountHyjal/instance_hyjal.cpp | 7 +-- .../instance_culling_of_stratholme.cpp | 15 +++-- .../EndTime/instance_end_time.cpp | 7 +-- .../instance_well_of_eternity.cpp | 7 +-- .../instance_halls_of_origination.cpp | 11 ++-- .../instance_lost_city_of_the_tolvir.cpp | 7 +-- .../RagefireChasm/instance_ragefire_chasm.cpp | 7 +-- .../instance_temple_of_ahnqiraj.cpp | 10 ++-- .../instance_throne_of_the_four_winds.cpp | 7 +-- .../instance_vortex_pinnacle.cpp | 11 ++-- .../instance_city_of_threads.cpp | 3 +- .../NerubarPalace/instance_nerubar_palace.cpp | 3 - .../TheStoneVault/instance_the_stonevault.cpp | 10 ++-- .../instance_shrine_of_the_storm.cpp | 7 +-- .../WaycrestManor/instance_waycrest_manor.cpp | 10 ++-- .../Stonecore/instance_stonecore.cpp | 7 +-- .../AzjolNerub/Ahnkahet/instance_ahnkahet.cpp | 12 ++-- .../AzjolNerub/instance_azjol_nerub.cpp | 11 ++-- .../RubySanctum/instance_ruby_sanctum.cpp | 15 ++--- .../instance_trial_of_the_crusader.cpp | 14 ++--- .../PitOfSaron/instance_pit_of_saron.cpp | 9 ++- .../Northrend/Gundrak/instance_gundrak.cpp | 13 ++--- .../instance_icecrown_citadel.cpp | 13 ++--- .../Naxxramas/instance_naxxramas.cpp | 10 ++-- .../Nexus/Oculus/instance_oculus.cpp | 11 ++-- .../instance_halls_of_lightning.cpp | 12 ++-- .../HallsOfStone/instance_halls_of_stone.cpp | 13 ++--- .../Ulduar/Ulduar/instance_ulduar.cpp | 14 ++--- .../UtgardeKeep/instance_utgarde_keep.cpp | 8 +-- .../instance_utgarde_pinnacle.cpp | 11 ++-- .../instance_vault_of_archavon.cpp | 7 +-- .../VioletHold/instance_violet_hold.cpp | 32 +++++------ .../SethekkHalls/instance_sethekk_halls.cpp | 10 ++-- .../instance_shadow_labyrinth.cpp | 5 +- .../BlackTemple/instance_black_temple.cpp | 11 ++-- .../SteamVault/instance_steam_vault.cpp | 8 +-- .../TheSlavePens/instance_the_slave_pens.cpp | 7 +-- .../GruulsLair/instance_gruuls_lair.cpp | 8 +-- .../BloodFurnace/instance_blood_furnace.cpp | 11 ++-- .../instance_magtheridons_lair.cpp | 13 ++--- .../instance_shattered_halls.cpp | 6 +- .../TempestKeep/Eye/instance_the_eye.cpp | 12 ++-- .../Mechanar/instance_mechanar.cpp | 5 +- .../arcatraz/instance_arcatraz.cpp | 5 +- .../instance_sanctum_of_domination.cpp | 8 +-- .../instance_sepulcher_of_the_first_ones.cpp | 11 ++-- .../AtalDazar/instance_atal_dazar.cpp | 10 ++-- .../KingsRest/instance_kings_rest.cpp | 11 ++-- .../Zandalar/Underrot/instance_underrot.cpp | 10 ++-- 78 files changed, 330 insertions(+), 504 deletions(-) diff --git a/src/server/game/Instances/InstanceScript.cpp b/src/server/game/Instances/InstanceScript.cpp index a4e608c171..eb5cb73e9f 100644 --- a/src/server/game/Instances/InstanceScript.cpp +++ b/src/server/game/Instances/InstanceScript.cpp @@ -152,7 +152,7 @@ GameObject* InstanceScript::GetGameObject(uint32 type) return instance->GetGameObject(GetObjectGuid(type)); } -void InstanceScript::SetHeaders(std::string const& dataHeaders) +void InstanceScript::SetHeaders(std::string_view dataHeaders) { headers = dataHeaders; } @@ -169,48 +169,44 @@ void InstanceScript::LoadBossBoundaries(BossBoundaryData const& data) bosses[entry.BossId].boundary.push_back(entry.Boundary); } -void InstanceScript::LoadMinionData(MinionData const* data) +void InstanceScript::LoadDoorData(std::span data) { - while (data->entry) - { - if (data->bossId < bosses.size()) - minions.try_emplace(data->entry, &bosses[data->bossId]); + for (DoorData const& door : data) + if (door.bossId < bosses.size()) + doors.emplace(std::piecewise_construct, std::forward_as_tuple(door.entry), std::forward_as_tuple(&bosses[door.bossId], door.Behavior)); - ++data; - } - TC_LOG_DEBUG("scripts", "InstanceScript::LoadMinionData: {} minions loaded.", uint64(minions.size())); -} - -void InstanceScript::LoadDoorData(DoorData const* data) -{ - while (data->entry) - { - if (data->bossId < bosses.size()) - doors.insert(std::make_pair(data->entry, DoorInfo(&bosses[data->bossId], data->Behavior))); - - ++data; - } TC_LOG_DEBUG("scripts", "InstanceScript::LoadDoorData: {} doors loaded.", uint64(doors.size())); } -void InstanceScript::LoadObjectData(ObjectData const* creatureData, ObjectData const* gameObjectData) +void InstanceScript::LoadObjectData(std::span creatureData, std::span gameObjectData) { - if (creatureData) - LoadObjectData(creatureData, _creatureInfo); - - if (gameObjectData) - LoadObjectData(gameObjectData, _gameObjectInfo); + LoadObjectData(creatureData, _creatureInfo); + LoadObjectData(gameObjectData, _gameObjectInfo); TC_LOG_DEBUG("scripts", "InstanceScript::LoadObjectData: {} objects loaded.", _creatureInfo.size() + _gameObjectInfo.size()); } -void InstanceScript::LoadObjectData(ObjectData const* data, ObjectInfoMap& objectInfo) +void InstanceScript::LoadDungeonEncounterData(std::span encounters) { - while (data->entry) + for (DungeonEncounterData const& encounter : encounters) + LoadDungeonEncounterData(encounter.BossId, encounter.DungeonEncounterId); +} + +void InstanceScript::LoadMinionData(std::span data) +{ + for (MinionData const& minion : data) + if (minion.bossId < bosses.size()) + minions.emplace(minion.entry, &bosses[minion.bossId]); + + TC_LOG_DEBUG("scripts", "InstanceScript::LoadMinionData: {} minions loaded.", uint64(minions.size())); +} + +void InstanceScript::LoadObjectData(std::span data, ObjectInfoMap& objectInfo) +{ + for (ObjectData const& object : data) { - bool inserted = objectInfo.try_emplace(data->entry, data->type).second; + bool inserted = objectInfo.emplace(object.entry, object.type).second; ASSERT(inserted); - ++data; } } diff --git a/src/server/game/Instances/InstanceScript.h b/src/server/game/Instances/InstanceScript.h index 9024bdce5e..04d937495f 100644 --- a/src/server/game/Instances/InstanceScript.h +++ b/src/server/game/Instances/InstanceScript.h @@ -25,6 +25,7 @@ #include #include #include +#include #include #ifdef TRINITY_API_USE_DYNAMIC_LINKING @@ -319,18 +320,13 @@ class TC_GAME_API InstanceScript : public ZoneScript std::vector& GetPersistentScriptValues() { return _persistentScriptValues; } protected: - void SetHeaders(std::string const& dataHeaders); + void SetHeaders(std::string_view dataHeaders); void SetBossNumber(uint32 number); void LoadBossBoundaries(BossBoundaryData const& data); - void LoadDoorData(DoorData const* data); - void LoadMinionData(MinionData const* data); - void LoadObjectData(ObjectData const* creatureData, ObjectData const* gameObjectData); - template - void LoadDungeonEncounterData(T const& encounters) - { - for (DungeonEncounterData const& encounter : encounters) - LoadDungeonEncounterData(encounter.BossId, encounter.DungeonEncounterId); - } + void LoadDoorData(std::span data); + void LoadObjectData(std::span creatureData, std::span gameObjectData); + void LoadDungeonEncounterData(std::span encounters); + void LoadMinionData(std::span data); void AddObject(Creature* obj, bool add); void AddObject(GameObject* obj, bool add); @@ -354,7 +350,7 @@ class TC_GAME_API InstanceScript : public ZoneScript bool _SkipCheckRequiredBosses(Player const* player = nullptr) const; private: - static void LoadObjectData(ObjectData const* creatureData, ObjectInfoMap& objectInfo); + static void LoadObjectData(std::span creatureData, ObjectInfoMap& objectInfo); void LoadDungeonEncounterData(uint32 bossId, std::array const& dungeonEncounterIds); void UpdateLfgEncounterState(BossInfo const* bossInfo); 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 d9a3d5aba5..eb6eb6ccf2 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 @@ -20,24 +20,21 @@ #include "Creature.h" #include "CreatureAI.h" #include "InstanceScript.h" -#include "Map.h" -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { BOSS_GAROTHI_WORLDBREAKER, DATA_GAROTHI_WORLDBREAKER }, { NPC_DECIMATOR, DATA_DECIMATOR }, { NPC_ANNIHILATOR, DATA_ANNIHILATOR }, - { 0, 0 } // END }; -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_COLLISION, DATA_GAROTHI_WORLDBREAKER, EncounterDoorBehavior::OpenWhenDone }, { GO_ROCK, DATA_GAROTHI_WORLDBREAKER, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_GAROTHI_WORLDBREAKER, {{ 2076 }} }, { DATA_FELHOUNDS_OF_SAGERAS, {{ 2074 }} }, @@ -63,7 +60,7 @@ class instance_antorus_the_burning_throne : public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDoorData(doorData); LoadDungeonEncounterData(encounters); } diff --git a/src/server/scripts/BrokenIsles/BlackRookHold/instance_black_rook_hold.cpp b/src/server/scripts/BrokenIsles/BlackRookHold/instance_black_rook_hold.cpp index 24f6d42754..832ff8771c 100644 --- a/src/server/scripts/BrokenIsles/BlackRookHold/instance_black_rook_hold.cpp +++ b/src/server/scripts/BrokenIsles/BlackRookHold/instance_black_rook_hold.cpp @@ -25,31 +25,28 @@ BossBoundaryData const boundaries = { DATA_AMALGAM_OF_SOULS, new CircleBoundary(Position(3251.350098f, 7582.790039f), 40.0f) } }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { BOSS_AMALGAM_OF_SOULS, DATA_AMALGAM_OF_SOULS }, { BOSS_ILLYSANNA_RAVENCREST, DATA_ILLYSANNA_RAVENCREST }, { BOSS_SMASHPITE_THE_HATEFUL, DATA_SMASHPITE_THE_HATEFUL }, { BOSS_LORD_KURTALOS_RAVENCREST, DATA_LORD_KURTALOS_RAVENCREST }, - { 0, 0 } // END }; -ObjectData const gameobjectData[] = +static constexpr ObjectData gameobjectData[] = { { GO_BOSS_1_POST_BOSS_DOOR, DATA_BOSS_1_POST_BOSS_DOOR }, - { 0, 0 } // END }; -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_BOSS_1_DOOR_1, DATA_AMALGAM_OF_SOULS, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_BOSS_1_DOOR_2, DATA_AMALGAM_OF_SOULS, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_BOSS_1_DOOR_3, DATA_AMALGAM_OF_SOULS, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_BOSS_1_DOOR_4, DATA_AMALGAM_OF_SOULS, EncounterDoorBehavior::OpenWhenNotInProgress }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_AMALGAM_OF_SOULS, {{ 1832 }} }, { DATA_ILLYSANNA_RAVENCREST, {{ 1833 }} }, diff --git a/src/server/scripts/BrokenIsles/EyeOfAzshara/instance_eye_of_azshara.cpp b/src/server/scripts/BrokenIsles/EyeOfAzshara/instance_eye_of_azshara.cpp index 26fb853459..4a71fb3267 100644 --- a/src/server/scripts/BrokenIsles/EyeOfAzshara/instance_eye_of_azshara.cpp +++ b/src/server/scripts/BrokenIsles/EyeOfAzshara/instance_eye_of_azshara.cpp @@ -25,24 +25,22 @@ BossBoundaryData const boundaries = { DATA_KING_DEEPBEARD, new CircleBoundary(Position(-3448.65f, 4161.68f, 29.18f), 68.0f) } }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { BOSS_WARLORD_PARJESH, DATA_WARLORD_PARJESH }, { BOSS_LADY_HATECOIL, DATA_LADY_HATECOIL }, { BOSS_KING_DEEPBEARD, DATA_KING_DEEPBEARD }, { BOSS_SERPENTRIX, DATA_SERPENTRIX }, { BOSS_WRATH_OF_AZSHARA, DATA_WRATH_OF_AZSHARA }, - { 0, 0 } // END }; -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_WATER_DOOR_1, DATA_KING_DEEPBEARD, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_WATER_DOOR_2, DATA_KING_DEEPBEARD, EncounterDoorBehavior::OpenWhenNotInProgress }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_WARLORD_PARJESH, {{ 1810 }} }, { DATA_LADY_HATECOIL, {{ 1811 }} }, @@ -62,7 +60,7 @@ public: { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDoorData(doorData); LoadDungeonEncounterData(encounters); LoadBossBoundaries(boundaries); diff --git a/src/server/scripts/BrokenIsles/MawOfSouls/instance_maw_of_souls.cpp b/src/server/scripts/BrokenIsles/MawOfSouls/instance_maw_of_souls.cpp index 136d929850..a3e0b96464 100644 --- a/src/server/scripts/BrokenIsles/MawOfSouls/instance_maw_of_souls.cpp +++ b/src/server/scripts/BrokenIsles/MawOfSouls/instance_maw_of_souls.cpp @@ -25,20 +25,14 @@ BossBoundaryData const boundaries = { DATA_YMIRON, new CircleBoundary({ 7382.8168f, 7300.5527f }, 55.0f)} }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { BOSS_YMIRON, DATA_YMIRON }, { BOSS_HARBARON, DATA_HARBARON }, { BOSS_HELYA, DATA_HELYA }, - { 0, 0 } // END }; -DoorData const doorData[] = -{ - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END -}; - -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_YMIRON, {{ 1822 }} }, { DATA_HARBARON, {{ 1823 }} }, @@ -56,8 +50,8 @@ public: { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); - LoadDoorData(doorData); + LoadObjectData(creatureData, {}); + //LoadDoorData(doorData); LoadBossBoundaries(boundaries); LoadDungeonEncounterData(encounters); } diff --git a/src/server/scripts/BrokenIsles/NeltharionsLair/instance_neltharions_lair.cpp b/src/server/scripts/BrokenIsles/NeltharionsLair/instance_neltharions_lair.cpp index 52f0388fa3..dd06bca027 100644 --- a/src/server/scripts/BrokenIsles/NeltharionsLair/instance_neltharions_lair.cpp +++ b/src/server/scripts/BrokenIsles/NeltharionsLair/instance_neltharions_lair.cpp @@ -25,16 +25,15 @@ BossBoundaryData const boundaries = { DATA_ROKMORA, new RectangleBoundary(2855.4377f, 2953.1074f, 1360.5552f, 1438.9974f) } }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { BOSS_ROKMORA, DATA_ROKMORA }, { BOSS_ULAROGG_CRAGSHAPER, DATA_ULAROGG_CRAGSHAPER }, { BOSS_NARAXAS, DATA_NARAXAS }, { BOSS_DARGRUL_THE_UNDERKING, DATA_DARGRUL_THE_UNDERKING }, - { 0, 0 } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_ROKMORA, {{ 1790 }} }, { DATA_ULAROGG_CRAGSHAPER, {{ 1791 }} }, @@ -42,10 +41,9 @@ DungeonEncounterData const encounters[] = { DATA_DARGRUL_THE_UNDERKING, {{ 1793 }} }, }; -static DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_MYSTIC_BARRIER, DATA_ROKMORA, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } }; class instance_neltharions_lair : public InstanceMapScript @@ -59,7 +57,7 @@ class instance_neltharions_lair : public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDoorData(doorData); LoadBossBoundaries(boundaries); LoadDungeonEncounterData(encounters); diff --git a/src/server/scripts/BrokenIsles/TrialOfValor/instance_trial_of_valor.cpp b/src/server/scripts/BrokenIsles/TrialOfValor/instance_trial_of_valor.cpp index 9a9552b3dc..e1bcf9f6ca 100644 --- a/src/server/scripts/BrokenIsles/TrialOfValor/instance_trial_of_valor.cpp +++ b/src/server/scripts/BrokenIsles/TrialOfValor/instance_trial_of_valor.cpp @@ -25,22 +25,20 @@ BossBoundaryData const boundaries = { DATA_GUARM, new RectangleBoundary(443.320f, 492.354f, 430.713f, 561.020f) } }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { BOSS_ODYN, DATA_ODYN }, { BOSS_GUARM, DATA_GUARM }, { BOSS_HELYA, DATA_HELYA }, - { 0, 0 } // END }; -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_GUARM_BOSS_DOOR_ENTRANCE, DATA_GUARM, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_GUARM_BOSS_DOOR_EXIT, DATA_GUARM, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_ODYN, {{ 1958 }} }, { DATA_GUARM, {{ 1962 }} }, @@ -58,7 +56,7 @@ class instance_trial_of_valor : public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDoorData(doorData); LoadBossBoundaries(boundaries); LoadDungeonEncounterData(encounters); diff --git a/src/server/scripts/Draenor/Auchindoun/instance_auchindoun.cpp b/src/server/scripts/Draenor/Auchindoun/instance_auchindoun.cpp index 8f5fc172a4..44408f6166 100644 --- a/src/server/scripts/Draenor/Auchindoun/instance_auchindoun.cpp +++ b/src/server/scripts/Draenor/Auchindoun/instance_auchindoun.cpp @@ -19,23 +19,21 @@ #include "ScriptMgr.h" #include "auchindoun.h" -constexpr ObjectData creatureData[] = +static constexpr ObjectData creatureData[] = { { BOSS_VIGILANT_KAATHAR, DATA_VIGILANT_KAATHAR }, { BOSS_SOULBINDER_NYAMI, DATA_SOULBINDER_NYAMI }, { BOSS_AZZAKEL, DATA_AZZAKEL }, { BOSS_TERONGOR, DATA_TERONGOR }, { NPC_SOULBINDER_TUULANI, DATA_SOULBINDER_TUULANI }, - { 0, 0 } // END }; -constexpr ObjectData objectData[] = +static constexpr ObjectData objectData[] = { { GO_HOLY_BARRIER, DATA_HOLY_BARRIER }, - { 0, 0 } // END }; -constexpr DungeonEncounterData encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_VIGILANT_KAATHAR, {{ 1678 }} }, { DATA_SOULBINDER_NYAMI, {{ 1685 }} }, diff --git a/src/server/scripts/DragonIsles/AberrusTheShadowedCrucible/instance_aberrus_the_shadowed_crucible.cpp b/src/server/scripts/DragonIsles/AberrusTheShadowedCrucible/instance_aberrus_the_shadowed_crucible.cpp index 7f8b83bce1..7a98567ba5 100644 --- a/src/server/scripts/DragonIsles/AberrusTheShadowedCrucible/instance_aberrus_the_shadowed_crucible.cpp +++ b/src/server/scripts/DragonIsles/AberrusTheShadowedCrucible/instance_aberrus_the_shadowed_crucible.cpp @@ -20,7 +20,7 @@ #include "ScriptMgr.h" #include "aberrus_the_shadowed_crucible.h" -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { BOSS_KAZZARA_THE_HELLFORGED, DATA_KAZZARA_THE_HELLFORGED }, { BOSS_SHADOWFLAME_AMALGAMATION, DATA_THE_AMALGAMATION_CHAMBER }, @@ -32,22 +32,19 @@ ObjectData const creatureData[] = { BOSS_ECHO_OF_NELTHARION, DATA_ECHO_OF_NELTHARION }, { BOSS_SCALECOMMANDER_SARKARETH, DATA_SCALECOMMANDER_SARKARETH }, { NPC_SCALECOMMANDER_SARKARETH_AT_KAZZARA, DATA_SARKARETH_AT_KAZZARA }, - { 0, 0 } // END }; -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_KAZZARA_DOOR, DATA_KAZZARA_THE_HELLFORGED, EncounterDoorBehavior::OpenWhenNotInProgress }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -ObjectData const objectData[] = +static constexpr ObjectData objectData[] = { { GO_KAZZARA_GATE, DATA_KAZZARA_GATE }, - { 0, 0 } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_KAZZARA_THE_HELLFORGED, {{ 2688 }} }, { DATA_THE_AMALGAMATION_CHAMBER, {{ 2687 }} }, diff --git a/src/server/scripts/DragonIsles/AzureVault/instance_azure_vault.cpp b/src/server/scripts/DragonIsles/AzureVault/instance_azure_vault.cpp index bb772053ce..c20bfc4f09 100644 --- a/src/server/scripts/DragonIsles/AzureVault/instance_azure_vault.cpp +++ b/src/server/scripts/DragonIsles/AzureVault/instance_azure_vault.cpp @@ -34,14 +34,12 @@ static constexpr ObjectData creatureData[] = { BOSS_AZUREBLADE, DATA_AZUREBLADE }, { BOSS_TELASH_GREYWING, DATA_TELASH_GREYWING }, { BOSS_UMBRELSKUL, DATA_UMBRELSKUL }, - { 0, 0 } // END }; static constexpr DoorData doorData[] = { { GO_ARCANE_VAULTS_DOOR_LEYMOR_ENTRANCE, DATA_LEYMOR, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_ARCANE_VAULTS_DOOR_LEYMOR_EXIT, DATA_LEYMOR, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; static constexpr DungeonEncounterData encounters[] = @@ -63,7 +61,7 @@ class instance_azure_vault : public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDoorData(doorData); LoadBossBoundaries(boundaries); LoadDungeonEncounterData(encounters); diff --git a/src/server/scripts/DragonIsles/RubyLifePools/instance_ruby_life_pools.cpp b/src/server/scripts/DragonIsles/RubyLifePools/instance_ruby_life_pools.cpp index 3db0dd199b..1ca575ab2d 100644 --- a/src/server/scripts/DragonIsles/RubyLifePools/instance_ruby_life_pools.cpp +++ b/src/server/scripts/DragonIsles/RubyLifePools/instance_ruby_life_pools.cpp @@ -19,21 +19,19 @@ #include "ScriptMgr.h" #include "ruby_life_pools.h" -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { BOSS_MELIDRUSSA_CHILLWORN, DATA_MELIDRUSSA_CHILLWORN }, { BOSS_KOKIA_BLAZEHOOF, DATA_KOKIA_BLAZEHOOF }, { BOSS_KYRAKKA, DATA_KYRAKKA_AND_ERKHART_STORMVEIN }, - { 0, 0 } // END }; -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_FIRE_WALL, DATA_KOKIA_BLAZEHOOF, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_MELIDRUSSA_CHILLWORN, {{ 2609 }} }, { DATA_KOKIA_BLAZEHOOF, {{ 2606 }} }, @@ -51,7 +49,7 @@ class instance_ruby_life_pools : public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDoorData(doorData); LoadDungeonEncounterData(encounters); } diff --git a/src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp b/src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp index f1645fef56..5c7ff2029b 100644 --- a/src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp +++ b/src/server/scripts/EasternKingdoms/BaradinHold/instance_baradin_hold.cpp @@ -21,23 +21,21 @@ #include "InstanceScript.h" #include "Map.h" -DoorData const doorData[] = +static constexpr DoorData const doorData[] = { { GO_ARGALOTH_DOOR, BOSS_ARGALOTH, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_OCCUTHAR_DOOR, BOSS_OCCUTHAR, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_ALIZABAL_DOOR, BOSS_ALIZABAL, EncounterDoorBehavior::OpenWhenNotInProgress }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -ObjectData const creatureData[] = +static constexpr ObjectData const creatureData[] = { { NPC_ARGALOTH, BOSS_ARGALOTH }, { NPC_OCCUTHAR, BOSS_OCCUTHAR }, { NPC_ALIZABAL, BOSS_ALIZABAL }, - { 0, 0 } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData const encounters[] = { { BOSS_ARGALOTH, {{ 1033 }} }, { BOSS_OCCUTHAR, {{ 1250 }} }, @@ -55,7 +53,7 @@ class instance_baradin_hold: public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDoorData(doorData); LoadDungeonEncounterData(encounters); } diff --git a/src/server/scripts/EasternKingdoms/BastionOfTwlight/instance_bastion_of_twilight.cpp b/src/server/scripts/EasternKingdoms/BastionOfTwlight/instance_bastion_of_twilight.cpp index fcdafb5d19..139b51bb23 100644 --- a/src/server/scripts/EasternKingdoms/BastionOfTwlight/instance_bastion_of_twilight.cpp +++ b/src/server/scripts/EasternKingdoms/BastionOfTwlight/instance_bastion_of_twilight.cpp @@ -19,15 +19,14 @@ #include "bastion_of_twilight.h" #include "InstanceScript.h" -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_HALFUS_WYRMBREAKER, BOSS_HALFUS_WYRMBREAKER }, { NPC_CHOGALL, BOSS_CHOGALL }, { NPC_SINESTRA, BOSS_SINESTRA }, - { 0, 0 } // END }; -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_HALFUS_ENTRANCE, BOSS_HALFUS_WYRMBREAKER, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_HALFUS_EXIT, BOSS_HALFUS_WYRMBREAKER, EncounterDoorBehavior::OpenWhenDone }, @@ -36,10 +35,9 @@ DoorData const doorData[] = { GO_ASCENDANT_COUNCIL_ENTRANCE, BOSS_ASCENDANT_COUNCIL, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_ASCENDANT_COUNCIL_EXIT, BOSS_ASCENDANT_COUNCIL, EncounterDoorBehavior::OpenWhenDone }, { GO_CHOGALL_ENTRANCE, BOSS_CHOGALL, EncounterDoorBehavior::OpenWhenNotInProgress }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { BOSS_HALFUS_WYRMBREAKER, {{ 1030 }} }, { BOSS_THERALION_AND_VALIONA, {{ 1032 }} }, @@ -59,7 +57,7 @@ public: { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDoorData(doorData); LoadDungeonEncounterData(encounters); } 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 86d89b216d..6b23fe23bd 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/instance_blackrock_caverns.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/instance_blackrock_caverns.cpp @@ -19,13 +19,12 @@ #include "blackrock_caverns.h" #include "InstanceScript.h" -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_RAZ_THE_CRAZED, DATA_RAZ_THE_CRAZED }, - { 0, 0 } }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_ROMOGG_BONECRUSHER, {{ 1040 }} }, { DATA_CORLA, {{ 1038 }} }, @@ -45,7 +44,7 @@ class instance_blackrock_caverns : public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDungeonEncounterData(encounters); } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp index bcd5b350d4..6834fe0ede 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp @@ -28,7 +28,7 @@ uint32 const DragonspireMobs[3] = { NPC_BLACKHAND_DREADWEAVER, NPC_BLACKHAND_SUMMONER, NPC_BLACKHAND_VETERAN }; -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_DOORS, DATA_PYROGAURD_EMBERSEER, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_EMBERSEER_OUT, DATA_PYROGAURD_EMBERSEER, EncounterDoorBehavior::OpenWhenDone }, @@ -36,7 +36,6 @@ DoorData const doorData[] = { GO_DRAKKISATH_DOOR_2, DATA_GENERAL_DRAKKISATH, EncounterDoorBehavior::OpenWhenDone }, { GO_PORTCULLIS_ACTIVE, DATA_WARCHIEF_REND_BLACKHAND, EncounterDoorBehavior::OpenWhenDone }, { GO_PORTCULLIS_TOBOSSROOMS, DATA_WARCHIEF_REND_BLACKHAND, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } }; static constexpr DungeonEncounterData Encounters[] = diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/instance_blackwing_descent.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/instance_blackwing_descent.cpp index 9c4e009a56..a5ba10f9d8 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/instance_blackwing_descent.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/instance_blackwing_descent.cpp @@ -19,25 +19,23 @@ #include "blackwing_descent.h" #include "InstanceScript.h" -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_MAGMAW, BOSS_MAGMAW }, { NPC_CHIMAERON, BOSS_CHIMAERON }, { NPC_ATRAMEDES, BOSS_ATRAMEDES }, { NPC_MALORIAK, BOSS_MAGMAW }, { NPC_NEFARIAN, BOSS_NEFARIANS_END }, - { 0, 0 } // END }; -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_INNER_CHAMBER_DOOR, BOSS_MAGMAW, EncounterDoorBehavior::OpenWhenDone }, { GO_INNER_CHAMBER_DOOR, BOSS_OMNOTRON_DEFENSE_SYSTEM, EncounterDoorBehavior::OpenWhenDone }, { GO_ATHENAEUM_DOOR, BOSS_ATRAMEDES, EncounterDoorBehavior::OpenWhenInProgress }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { BOSS_MAGMAW, {{ 1024 }} }, { BOSS_OMNOTRON_DEFENSE_SYSTEM, {{ 1027 }} }, @@ -58,7 +56,7 @@ public: { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDoorData(doorData); LoadDungeonEncounterData(encounters); } 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 d715e69008..4f81dd4f64 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/instance_blackwing_lair.cpp @@ -17,6 +17,7 @@ #include "ScriptMgr.h" #include "blackwing_lair.h" +#include "Containers.h" #include "GameObject.h" #include "InstanceScript.h" #include "Map.h" @@ -25,7 +26,7 @@ #include "ScriptedCreature.h" #include "TemporarySummon.h" -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_PORTCULLIS_RAZORGORE, DATA_RAZORGORE_THE_UNTAMED, EncounterDoorBehavior::OpenWhenDone }, { GO_PORTCULLIS_VAELASTRASZ, DATA_VAELASTRAZ_THE_CORRUPT, EncounterDoorBehavior::OpenWhenDone }, @@ -35,10 +36,9 @@ DoorData const doorData[] = { GO_PORTCULLIS_THREEDRAGONS, DATA_FLAMEGOR, EncounterDoorBehavior::OpenWhenDone }, { GO_PORTCULLIS_CHROMAGGUS, DATA_CHROMAGGUS, EncounterDoorBehavior::OpenWhenDone }, { GO_PORTCULLIS_NEFARIAN, DATA_NEFARIAN, EncounterDoorBehavior::OpenWhenNotInProgress }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_RAZORGORE, DATA_RAZORGORE_THE_UNTAMED }, { NPC_VAELASTRAZ, DATA_VAELASTRAZ_THE_CORRUPT }, @@ -49,16 +49,14 @@ ObjectData const creatureData[] = { NPC_CHROMAGGUS, DATA_CHROMAGGUS }, { NPC_NEFARIAN, DATA_NEFARIAN }, { NPC_VICTOR_NEFARIUS, DATA_LORD_VICTOR_NEFARIUS }, - { 0, 0 } // END }; -ObjectData const gameObjectData[] = +static constexpr ObjectData gameObjectData[] = { { GO_CHROMAGGUS_DOOR, DATA_GO_CHROMAGGUS_DOOR }, - { 0, 0 } //END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_RAZORGORE_THE_UNTAMED, {{ 610 }} }, { DATA_VAELASTRAZ_THE_CORRUPT, {{ 611 }} }, @@ -70,19 +68,19 @@ DungeonEncounterData const encounters[] = { DATA_NEFARIAN, {{ 617 }} } }; -Position const SummonPosition[8] = +static constexpr Position SummonPosition[8] = { - {-7661.207520f, -1043.268188f, 407.199554f, 6.280452f}, - {-7644.145020f, -1065.628052f, 407.204956f, 0.501492f}, - {-7624.260742f, -1095.196899f, 407.205017f, 0.544694f}, - {-7608.501953f, -1116.077271f, 407.199921f, 0.816443f}, - {-7531.841797f, -1063.765381f, 407.199615f, 2.874187f}, - {-7547.319336f, -1040.971924f, 407.205078f, 3.789175f}, - {-7568.547852f, -1013.112488f, 407.204926f, 3.773467f}, - {-7584.175781f, -989.6691289f, 407.199585f, 4.527447f}, + { -7661.207520f, -1043.268188f, 407.199554f, 6.280452f }, + { -7644.145020f, -1065.628052f, 407.204956f, 0.501492f }, + { -7624.260742f, -1095.196899f, 407.205017f, 0.544694f }, + { -7608.501953f, -1116.077271f, 407.199921f, 0.816443f }, + { -7531.841797f, -1063.765381f, 407.199615f, 2.874187f }, + { -7547.319336f, -1040.971924f, 407.205078f, 3.789175f }, + { -7568.547852f, -1013.112488f, 407.204926f, 3.773467f }, + { -7584.175781f, -989.6691289f, 407.199585f, 4.527447f }, }; -uint32 const Entry[5] = {12422, 12458, 12416, 12420, 12459}; +static constexpr uint32 Entry[5] = {12422, 12458, 12416, 12420, 12459}; class instance_blackwing_lair : public InstanceMapScript { @@ -272,7 +270,7 @@ public: { case EVENT_RAZOR_SPAWN: for (uint8 i = urand(2, 5); i > 0; --i) - if (Creature* summon = instance->SummonCreature(Entry[urand(0, 4)], SummonPosition[urand(0, 7)])) + if (Creature* summon = instance->SummonCreature(Trinity::Containers::SelectRandomContainerElement(Entry), Trinity::Containers::SelectRandomContainerElement(SummonPosition))) summon->AI()->DoZoneInCombat(); _events.ScheduleEvent(EVENT_RAZOR_SPAWN, 12s, 17s); break; diff --git a/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp b/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp index 8eef765a5b..91576a11e1 100644 --- a/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp +++ b/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp @@ -19,7 +19,7 @@ #include "deadmines.h" #include "InstanceScript.h" -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_GLUBTOK, BOSS_GLUBTOK }, { NPC_HELIX_GEARBREAKER, BOSS_HELIX_GEARBREAKER }, @@ -27,19 +27,17 @@ ObjectData const creatureData[] = { NPC_ADMIRAL_RIPSNARL, BOSS_ADMIRAL_RIPSNARL }, { NPC_CAPTAIN_COOKIE, BOSS_CAPTAIN_COOKIE }, { NPC_VANESSA_VAN_CLEEF, BOSS_VANESSA_VANCLEEF }, - { 0, 0 } // END }; -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_FACTORY_DOOR, BOSS_GLUBTOK, EncounterDoorBehavior::OpenWhenDone }, { GO_MAST_ROOM_DOOR, BOSS_HELIX_GEARBREAKER, EncounterDoorBehavior::OpenWhenDone }, { GO_HEAVY_DOOR, BOSS_HELIX_GEARBREAKER, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_FOUNDRY_DOOR, BOSS_FOE_REAPER_5000, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenDone } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { BOSS_GLUBTOK, {{ 2976, 2981 }} }, { BOSS_HELIX_GEARBREAKER, {{ 2977, 2982 }} }, @@ -60,7 +58,7 @@ public: { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDoorData(doorData); LoadDungeonEncounterData(encounters); } diff --git a/src/server/scripts/EasternKingdoms/GrimBatol/instance_grim_batol.cpp b/src/server/scripts/EasternKingdoms/GrimBatol/instance_grim_batol.cpp index 97f37527c1..6e98ba8f88 100644 --- a/src/server/scripts/EasternKingdoms/GrimBatol/instance_grim_batol.cpp +++ b/src/server/scripts/EasternKingdoms/GrimBatol/instance_grim_batol.cpp @@ -19,16 +19,15 @@ #include "grim_batol.h" #include "InstanceScript.h" -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_GENERAL_UMBRISS, BOSS_GENERAL_UMBRISS }, { NPC_FORGEMASTER_THRONGUS, BOSS_FORGEMASTER_THRONGUS }, { NPC_DRAHGA_SHADOWBURNER, BOSS_DRAHGA_SHADOWBURNER }, { NPC_ERUDAX, BOSS_ERUDAX }, - { 0, 0 } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { BOSS_GENERAL_UMBRISS, {{ 1051 }} }, { BOSS_FORGEMASTER_THRONGUS, {{ 1050 }} }, @@ -47,7 +46,7 @@ public: { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDungeonEncounterData(encounters); } }; diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp index 2dcb56ae4e..bb5bbfc61a 100644 --- a/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp +++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/instance_magisters_terrace.cpp @@ -32,7 +32,7 @@ 3 - Kael'thas Sunstrider */ -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { BOSS_SELIN_FIREHEART, DATA_SELIN_FIREHEART }, { BOSS_VEXALLUS, DATA_VEXALLUS }, @@ -40,26 +40,23 @@ ObjectData const creatureData[] = { BOSS_KAELTHAS_SUNSTRIDER, DATA_KAELTHAS_SUNSTRIDER }, { NPC_KALECGOS, DATA_KALECGOS }, { NPC_HUMAN_KALECGOS, DATA_KALECGOS }, - { 0, 0 } // END }; -ObjectData const gameObjectData[] = +static constexpr ObjectData gameObjectData[] = { { GO_ESCAPE_ORB, DATA_ESCAPE_ORB }, - { 0, 0 } // END }; -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_SUNWELL_RAID_GATE_2 , DATA_SELIN_FIREHEART, EncounterDoorBehavior::OpenWhenDone }, { GO_ASSEMBLY_CHAMBER_DOOR, DATA_SELIN_FIREHEART, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_SUNWELL_RAID_GATE_5, DATA_VEXALLUS, EncounterDoorBehavior::OpenWhenDone }, { GO_SUNWELL_RAID_GATE_4, DATA_PRIESTESS_DELRISSA, EncounterDoorBehavior::OpenWhenDone }, { GO_ASYLUM_DOOR, DATA_KAELTHAS_SUNSTRIDER, EncounterDoorBehavior::OpenWhenNotInProgress }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_SELIN_FIREHEART, {{ 1897 }} }, { DATA_VEXALLUS, {{ 1898 }} }, @@ -67,8 +64,8 @@ DungeonEncounterData const encounters[] = { DATA_KAELTHAS_SUNSTRIDER, {{ 1894 }} } }; -Position const KalecgosSpawnPos = { 164.3747f, -397.1197f, 2.151798f, 1.66219f }; -Position const KaelthasTrashGroupDistanceComparisonPos = { 150.0f, 141.0f, -14.4f }; +static constexpr Position KalecgosSpawnPos = { 164.3747f, -397.1197f, 2.151798f, 1.66219f }; +static constexpr Position KaelthasTrashGroupDistanceComparisonPos = { 150.0f, 141.0f, -14.4f }; class instance_magisters_terrace : public InstanceMapScript { diff --git a/src/server/scripts/EasternKingdoms/ReturnToKarazhan/instance_return_to_karazhan.cpp b/src/server/scripts/EasternKingdoms/ReturnToKarazhan/instance_return_to_karazhan.cpp index 23a17ec2f9..1d7573bc81 100644 --- a/src/server/scripts/EasternKingdoms/ReturnToKarazhan/instance_return_to_karazhan.cpp +++ b/src/server/scripts/EasternKingdoms/ReturnToKarazhan/instance_return_to_karazhan.cpp @@ -26,23 +26,21 @@ BossBoundaryData const boundaries = { DATA_SHADE_OF_MEDIVH, new CircleBoundary(Position(-4599.149902f, -2517.947266f, 2876.506836f), 35.0f) }, }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { BOSS_MAIDEN_OF_VIRTUE_RTK, DATA_MAIDEN_OF_VIRTUE_RTK }, { BOSS_THE_CURATOR_RTK, DATA_THE_CURATOR_RTK }, { BOSS_MANA_DEVOURER, DATA_MANA_DEVOURER }, - { 0, 0 } // END }; -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_STRANGE_WALL, DATA_THE_CURATOR_RTK, EncounterDoorBehavior::OpenWhenDone }, { GO_SUSPICIOUS_BOOKCASE, DATA_SHADE_OF_MEDIVH, EncounterDoorBehavior::OpenWhenDone }, { GO_MEDIVH_DOOR, DATA_SHADE_OF_MEDIVH, EncounterDoorBehavior::OpenWhenNotInProgress }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_OPERA_HALL, {{ 1957 }} }, { DATA_MAIDEN_OF_VIRTUE_RTK, {{ 1954 }} }, @@ -66,7 +64,7 @@ class instance_return_to_karazhan : public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadBossBoundaries(boundaries); LoadDoorData(doorData); LoadDungeonEncounterData(encounters); diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/ScarletHalls/scarlet_halls.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/ScarletHalls/scarlet_halls.cpp index c3acef9db4..300c4cf3fc 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/ScarletHalls/scarlet_halls.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/ScarletHalls/scarlet_halls.cpp @@ -19,21 +19,19 @@ #include "ScriptMgr.h" #include "scarlet_halls.h" -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { BOSS_HOUNDMASTER_BRAUN, DATA_HOUNDMASTER_BRAUN }, { BOSS_ARMSMASTER_HARLAN, DATA_ARMSMASTER_HARLAN }, { BOSS_FLAMEWEAVER_KOEGLER, DATA_FLAMEWEAVER_KOEGLER }, - { 0, 0 } // END }; -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_HERODS_DOOR_HARLAN_ENCOUNTER_ENTRANCE, DATA_ARMSMASTER_HARLAN, EncounterDoorBehavior::OpenWhenNotInProgress }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } //End }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_HOUNDMASTER_BRAUN, {{ 1422 }} }, { DATA_ARMSMASTER_HARLAN, {{ 1421 }} }, @@ -51,7 +49,7 @@ public: { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDoorData(doorData); LoadDungeonEncounterData(encounters); } diff --git a/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp b/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp index 3afc5c4868..06f03ee3ef 100644 --- a/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp +++ b/src/server/scripts/EasternKingdoms/ScarletMonastery/instance_scarlet_monastery.cpp @@ -30,7 +30,7 @@ Position const EarthBunnySpawnPosition = { 1765.28f, 1347.46f, 18.55f, 6.17f }; Position const HeadlessHorsemanSpawnPosition = { 1765.00f, 1347.00f, 15.00f }; Position const HeadlessHorsemanHeadSpawnPosition = { 1788.54f, 1348.05f, 18.88f }; // Guessed -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_HEADLESS_HORSEMAN_HEAD, DATA_HORSEMAN_HEAD }, { NPC_HEADLESS_HORSEMAN, DATA_HEADLESS_HORSEMAN }, @@ -40,15 +40,13 @@ ObjectData const creatureData[] = { NPC_MOGRAINE, DATA_MOGRAINE }, { NPC_VORREL, DATA_VORREL }, { NPC_WHITEMANE, DATA_WHITEMANE }, - { 0, 0 } // END }; -ObjectData const gameObjectData[] = +static constexpr ObjectData gameObjectData[] = { { GO_PUMPKIN_SHRINE, DATA_PUMPKIN_SHRINE }, { GO_HIGH_INQUISITORS_DOOR, DATA_HIGH_INQUISITORS_DOOR }, { GO_LOOSELY_TURNED_SOIL, DATA_LOOSELY_TURNED_SOIL }, - { 0, 0 } // END }; static constexpr DungeonEncounterData Encounters[] = diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp index 8eedc48377..ad9984f197 100644 --- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp +++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/instance_shadowfang_keep.cpp @@ -19,25 +19,23 @@ #include "shadowfang_keep.h" #include "InstanceScript.h" -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_BARON_ASHBURY, BOSS_BARON_ASHBURY }, { NPC_BARON_SILVERLAINE, BOSS_BARON_SILVERLAINE }, { NPC_COMMANDER_SPRINGVALE, BOSS_COMMANDER_SPRINGVALE }, { NPC_LORD_WALDEN, BOSS_LORD_WALDEN }, { NPC_LORD_GODFREY, BOSS_LORD_GODFREY }, - { 0, 0 } // END }; -ObjectData const gameobjectData[] = +static constexpr ObjectData gameobjectData[] = { { GO_COURTYARD_DOOR, DATA_COURTYARD_DOOR }, { GO_SORCERERS_DOOR, DATA_SORCERER_GATE }, { GO_ARUGALS_LAIR, DATA_ARUGAL_DOOR }, - { 0, 0 } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { BOSS_BARON_ASHBURY, {{ 1069 }} }, { BOSS_BARON_SILVERLAINE, {{ 1070 }} }, diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp index f4d5a8a0e0..3a2ce424a9 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/instance_sunwell_plateau.cpp @@ -32,7 +32,7 @@ 5 - Kil'Jaeden */ -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_FIRE_BARRIER, DATA_FELMYST, EncounterDoorBehavior::OpenWhenDone }, { GO_MURUS_GATE_1, DATA_MURU, EncounterDoorBehavior::OpenWhenNotInProgress }, @@ -40,10 +40,9 @@ DoorData const doorData[] = { GO_BOSS_COLLISION_1, DATA_KALECGOS, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_BOSS_COLLISION_2, DATA_KALECGOS, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_FORCE_FIELD, DATA_KALECGOS, EncounterDoorBehavior::OpenWhenNotInProgress }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_KALECGOS, DATA_KALECGOS_DRAGON }, { NPC_KALECGOS_HUMAN, DATA_KALECGOS_HUMAN }, @@ -58,7 +57,6 @@ ObjectData const creatureData[] = { NPC_KILJAEDEN_CONTROLLER, DATA_KILJAEDEN_CONTROLLER }, { NPC_ANVEENA, DATA_ANVEENA }, { NPC_KALECGOS_KJ, DATA_KALECGOS_KJ }, - { 0, 0 } // END }; BossBoundaryData const boundaries = @@ -66,7 +64,7 @@ BossBoundaryData const boundaries = { DATA_KALECGOS, new BoundaryUnionBoundary(new CircleBoundary(Position(1704.9f, 928.4f), 34.0f), new RectangleBoundary(1689.2f, 1713.3f, 762.2f, 1074.8f)) } }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_KALECGOS, {{ 724 }} }, { DATA_BRUTALLUS, {{ 725 }} }, @@ -88,7 +86,7 @@ class instance_sunwell_plateau : public InstanceMapScript SetHeaders(DataHeader); SetBossNumber(EncounterCount); LoadDoorData(doorData); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadBossBoundaries(boundaries); LoadDungeonEncounterData(encounters); } diff --git a/src/server/scripts/EasternKingdoms/ThroneOfTheTides/instance_throne_of_the_tides.cpp b/src/server/scripts/EasternKingdoms/ThroneOfTheTides/instance_throne_of_the_tides.cpp index 052299dbb3..042446a868 100644 --- a/src/server/scripts/EasternKingdoms/ThroneOfTheTides/instance_throne_of_the_tides.cpp +++ b/src/server/scripts/EasternKingdoms/ThroneOfTheTides/instance_throne_of_the_tides.cpp @@ -19,16 +19,15 @@ #include "throne_of_the_tides.h" #include "InstanceScript.h" -ObjectData const creatureData[] = +static constexpr ObjectData const creatureData[] = { { NPC_LADY_NAZJAR, BOSS_LADY_NAZJAR }, { NPC_COMMANDER_ULTHOK, BOSS_COMMANDER_ULTHOK }, { NPC_MINDBENDER_GURSHA, BOSS_MINDBENDER_GURSHA }, { NPC_OZUMAT, DATA_OZUMAT }, - { 0, 0 } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData const encounters[] = { { BOSS_LADY_NAZJAR, {{ 1045 }} }, { BOSS_COMMANDER_ULTHOK, {{ 1044 }} }, @@ -47,7 +46,7 @@ public: { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDungeonEncounterData(encounters); } }; diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp index 53088f64ac..7211064595 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp @@ -20,17 +20,16 @@ #include "InstanceScript.h" #include "ScriptMgr.h" -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_VENOXIS_COIL, DATA_VENOXIS, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_ARENA_DOOR_1, DATA_MANDOKIR, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_FORCEFIELD, DATA_KILNARA, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_ZANZIL_DOOR, DATA_ZANZIL, EncounterDoorBehavior::OpenWhenNotInProgress }, //{ GO_THE_CACHE_OF_MADNESS_DOOR, DATA_xxxxxxx, EncounterStateForOpenDoor::NotInProgress }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_VENOXIS, {{ 1178 }} }, { DATA_MANDOKIR, {{ 1179 }} }, diff --git a/src/server/scripts/ExilesReach/DarkmaulCitadel/instance_darkmaul_citadel.cpp b/src/server/scripts/ExilesReach/DarkmaulCitadel/instance_darkmaul_citadel.cpp index a4c3a3bb13..4693ef5407 100644 --- a/src/server/scripts/ExilesReach/DarkmaulCitadel/instance_darkmaul_citadel.cpp +++ b/src/server/scripts/ExilesReach/DarkmaulCitadel/instance_darkmaul_citadel.cpp @@ -15,27 +15,23 @@ * with this program. If not, see . */ -#include "Creature.h" -#include "CreatureAI.h" -#include "InstanceScript.h" #include "ScriptMgr.h" +#include "InstanceScript.h" #include "darkmaul_citadel.h" -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { BOSS_TUNK, DATA_TUNK }, { BOSS_GORGROTH, DATA_GORGROTH }, { BOSS_RAVNYR, DATA_RAVNYR }, - { 0, 0 } // END }; -static DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_TEMP_DOOR, DATA_TUNK, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_TUNK, {{ 2325 }} }, { DATA_RAVNYR, {{ 2326 }} } @@ -52,7 +48,7 @@ public: { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDoorData(doorData); LoadDungeonEncounterData(encounters); } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp index fc3036fd94..99a26bde20 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp @@ -44,7 +44,7 @@ enum Yells YELL_ARCHIMONDE_INTRO = 8 }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { RAGE_WINTERCHILL, DATA_RAGEWINTERCHILL }, { ANETHERON, DATA_ANETHERON }, @@ -55,10 +55,9 @@ ObjectData const creatureData[] = { THRALL, DATA_THRALL }, { TYRANDE, DATA_TYRANDEWHISPERWIND }, { NPC_CHANNEL_TARGET, DATA_CHANNEL_TARGET }, - { 0, 0 } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_RAGEWINTERCHILL, {{ 618 }} }, { DATA_ANETHERON, {{ 619 }} }, @@ -83,7 +82,7 @@ public: { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDungeonEncounterData(encounters); RaidDamage = 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 86e241375c..2ccf5686aa 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 @@ -120,14 +120,13 @@ enum COSMisc WAVE_SALRAMM = 10 }; -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_MALGANIS_GATE_2, DATA_MAL_GANIS, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_EXIT_GATE, DATA_MAL_GANIS, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_MEATHOOK, {{ 2002 }} }, { DATA_SALRAMM, {{ 2004 }} }, @@ -168,11 +167,11 @@ COSProgressStates GetStableStateFor(COSProgressStates const state) } } -static Position const CorruptorPos = { 2331.642f, 1273.273f, 132.9524f, 3.717551f }; -static Position const GuardianPos = { 2321.489f, 1268.383f, 132.8507f, 0.418879f }; -static Position const CorruptorRiftPos = { 2443.626f, 1280.450f, 133.0066f, 1.727876f }; +static constexpr Position CorruptorPos = { 2331.642f, 1273.273f, 132.9524f, 3.717551f }; +static constexpr Position GuardianPos = { 2321.489f, 1268.383f, 132.8507f, 0.418879f }; +static constexpr Position CorruptorRiftPos = { 2443.626f, 1280.450f, 133.0066f, 1.727876f }; -static std::array, NUM_SCOURGE_WAVES> const HeroicWaves = +static constexpr std::array, NUM_SCOURGE_WAVES> HeroicWaves = { { { { NPC_DEVOURING_GHOUL, NPC_DEVOURING_GHOUL, NPC_DEVOURING_GHOUL } }, // wave 1 @@ -194,7 +193,7 @@ struct WaveLocation std::array SpawnPoints; }; -static const std::array WaveLocations = +static constexpr std::array WaveLocations = { { { // King's Square diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EndTime/instance_end_time.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EndTime/instance_end_time.cpp index 60bb904339..6bcc1b29f2 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EndTime/instance_end_time.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EndTime/instance_end_time.cpp @@ -19,13 +19,12 @@ #include "end_time.h" #include "InstanceScript.h" -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_MUROZOND, BOSS_MUROZOND }, - { 0, 0 } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { BOSS_ECHO_OF_BAINE, {{ 1881 }} }, { BOSS_ECHO_OF_SYLVANAS, {{ 1882 }} }, @@ -45,7 +44,7 @@ public: { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDungeonEncounterData(encounters); } }; diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/WellOfEternity/instance_well_of_eternity.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/WellOfEternity/instance_well_of_eternity.cpp index 825815c326..5fbc2c63df 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/WellOfEternity/instance_well_of_eternity.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/WellOfEternity/instance_well_of_eternity.cpp @@ -19,13 +19,12 @@ #include "well_of_eternity.h" #include "InstanceScript.h" -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_PEROTHARN, BOSS_PEROTHARN }, - { 0, 0 } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { BOSS_PEROTHARN, {{ 1272 }} }, { BOSS_QUEEN_AZSHARA, {{ 1273 }} }, @@ -43,7 +42,7 @@ public: { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDungeonEncounterData(encounters); } }; 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 744fdc11ea..e9e17c5267 100644 --- a/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp +++ b/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp @@ -23,7 +23,7 @@ #include "InstanceScript.h" #include "Map.h" -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_ANHUURS_DOOR, BOSS_TEMPLE_GUARDIAN_ANHUUR, EncounterDoorBehavior::OpenWhenDone }, { GO_ANHUURS_BRIDGE, BOSS_TEMPLE_GUARDIAN_ANHUUR, EncounterDoorBehavior::OpenWhenDone }, @@ -37,25 +37,22 @@ DoorData const doorData[] = { GO_DOODAD_ULDUM_LASERBEAMS_03, BOSS_WATER_WARDEN, EncounterDoorBehavior::OpenWhenDone }, { GO_DOODAD_ULDUM_LIGHTMACHINE_04, BOSS_AIR_WARDEN, EncounterDoorBehavior::OpenWhenDone }, { GO_DOODAD_ULDUM_LASERBEAMS_02, BOSS_AIR_WARDEN, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_TEMPLE_GUARDIAN_ANHUUR, BOSS_TEMPLE_GUARDIAN_ANHUUR }, { NPC_ANRAPHET, BOSS_ANRAPHET }, { NPC_EARTHRAGER_PTAH, BOSS_EARTHRAGER_PTAH }, { NPC_BRANN_BRONZEBEARD_0, DATA_BRANN_BRONZEBEARD }, - { 0, 0 } //END }; -ObjectData const gameObjectData[] = +static constexpr ObjectData gameObjectData[] = { { GO_LIFT_OF_THE_MAKERS, DATA_LIFT_OF_THE_MAKERS }, - { 0, 0 } //END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { BOSS_TEMPLE_GUARDIAN_ANHUUR, {{ 1080 }} }, { BOSS_EARTHRAGER_PTAH, {{ 1076 }} }, diff --git a/src/server/scripts/Kalimdor/LostCityOfTheTolvir/instance_lost_city_of_the_tolvir.cpp b/src/server/scripts/Kalimdor/LostCityOfTheTolvir/instance_lost_city_of_the_tolvir.cpp index 88aba2b866..759b970cf5 100644 --- a/src/server/scripts/Kalimdor/LostCityOfTheTolvir/instance_lost_city_of_the_tolvir.cpp +++ b/src/server/scripts/Kalimdor/LostCityOfTheTolvir/instance_lost_city_of_the_tolvir.cpp @@ -24,17 +24,16 @@ #include "lost_city_of_the_tolvir.h" #include "Map.h" -static constexpr ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_GENERAL_HUSAM, BOSS_GENERAL_HUSAM }, { NPC_LOCKMAW, BOSS_LOCKMAW }, { NPC_HIGH_PROPHET_BARIM, BOSS_HIGH_PROPHET_BARIM }, { NPC_SIAMAT, BOSS_SIAMAT }, { NPC_DUST_FLAIL, DATA_DUST_FLAIL }, - { 0, 0 } // End }; -static constexpr DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { BOSS_GENERAL_HUSAM, {{ 1052 }} }, { BOSS_LOCKMAW, {{ 1054 }} }, @@ -65,7 +64,7 @@ public: SetHeaders(DataHeader); SetBossNumber(EncounterCount); LoadDungeonEncounterData(encounters); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); } void OnCreatureCreate(Creature* creature) override diff --git a/src/server/scripts/Kalimdor/RagefireChasm/instance_ragefire_chasm.cpp b/src/server/scripts/Kalimdor/RagefireChasm/instance_ragefire_chasm.cpp index 9c5dc1fcd2..0755281aa8 100644 --- a/src/server/scripts/Kalimdor/RagefireChasm/instance_ragefire_chasm.cpp +++ b/src/server/scripts/Kalimdor/RagefireChasm/instance_ragefire_chasm.cpp @@ -19,16 +19,15 @@ #include "InstanceScript.h" #include "ragefire_chasm.h" -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_ADAROGG, BOSS_ADAROGG }, { NPC_DARK_SHAMAN_KORANTHAL, BOSS_DARK_SHAMAN_KORANTHAL }, { NPC_SLAGMAW, BOSS_SLAGMAW }, { NPC_LAVA_GUARD_GORDOTH, BOSS_LAVA_GUARD_GORDOTH }, - { 0, 0 } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { BOSS_ADAROGG, {{ 1443 }} }, { BOSS_DARK_SHAMAN_KORANTHAL, {{ 1444 }} }, @@ -47,7 +46,7 @@ public: { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDungeonEncounterData(encounters); } }; 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 4235794e81..6982359e54 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp @@ -26,7 +26,7 @@ EndScriptData */ #include "InstanceScript.h" #include "temple_of_ahnqiraj.h" -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_VEM, DATA_VEM }, { NPC_KRI, DATA_KRI }, @@ -34,19 +34,17 @@ ObjectData const creatureData[] = { NPC_VEKNILASH, DATA_VEKNILASH }, { NPC_VISCIDUS, DATA_VISCIDUS }, { NPC_SARTURA, DATA_SARTURA }, - { 0, 0 } // END }; -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { AQ40_DOOR_1, DATA_SARTURA, EncounterDoorBehavior::OpenWhenDone }, { AQ40_DOOR_1, DATA_HUHURAN, EncounterDoorBehavior::OpenWhenDone }, { AQ40_DOOR_2, DATA_TWIN_EMPERORS, EncounterDoorBehavior::OpenWhenDone }, { AQ40_DOOR_3, DATA_SKERAM, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_SKERAM, {{ 709 }} }, { DATA_SARTURA, {{ 711 }} }, @@ -74,7 +72,7 @@ class instance_temple_of_ahnqiraj : public InstanceMapScript instance_temple_of_ahnqiraj_InstanceMapScript(InstanceMap* map) : InstanceScript(map) { SetHeaders(DataHeader); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); SetBossNumber(EncounterCount); LoadDoorData(doorData); LoadDungeonEncounterData(encounters); diff --git a/src/server/scripts/Kalimdor/ThroneOfTheFourWinds/instance_throne_of_the_four_winds.cpp b/src/server/scripts/Kalimdor/ThroneOfTheFourWinds/instance_throne_of_the_four_winds.cpp index 01b5a8afc7..270753e1bd 100644 --- a/src/server/scripts/Kalimdor/ThroneOfTheFourWinds/instance_throne_of_the_four_winds.cpp +++ b/src/server/scripts/Kalimdor/ThroneOfTheFourWinds/instance_throne_of_the_four_winds.cpp @@ -19,13 +19,12 @@ #include "throne_of_the_four_winds.h" #include "InstanceScript.h" -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_ALAKIR, BOSS_ALAKIR }, - { 0, 0 } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { BOSS_CONCLAVE_OF_WIND, {{ 1035 }} }, { BOSS_ALAKIR, {{ 1034 }} } @@ -42,7 +41,7 @@ public: { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDungeonEncounterData(encounters); } }; diff --git a/src/server/scripts/Kalimdor/VortexPinnacle/instance_vortex_pinnacle.cpp b/src/server/scripts/Kalimdor/VortexPinnacle/instance_vortex_pinnacle.cpp index 0f62b30aac..a947cff0ac 100644 --- a/src/server/scripts/Kalimdor/VortexPinnacle/instance_vortex_pinnacle.cpp +++ b/src/server/scripts/Kalimdor/VortexPinnacle/instance_vortex_pinnacle.cpp @@ -20,15 +20,14 @@ #include "Creature.h" #include "InstanceScript.h" -ObjectData const creatureData[] = +static constexpr ObjectData const creatureData[] = { { NPC_GRAND_VIZIER_ERTAN, BOSS_GRAND_VIZIER_ERTAN }, { NPC_ALTAIRUS, BOSS_ALTAIRUS }, { NPC_ASAAD, BOSS_ASAAD }, - { 0, 0 } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData const encounters[] = { { BOSS_GRAND_VIZIER_ERTAN, {{ 1043 }} }, { BOSS_ALTAIRUS, {{ 1041 }} }, @@ -36,8 +35,8 @@ DungeonEncounterData const encounters[] = }; // These StringIds must be set in DB to properly identify the first and second landing zone for the entrance shortcut teleporters -constexpr std::string_view SlipStreamLandingZoneStringId1 = "vp_slipstream_landing_zone_1"; -constexpr std::string_view SlipStreamLandingZoneStringId2 = "vp_slipstream_landing_zone_2"; +static constexpr std::string_view SlipStreamLandingZoneStringId1 = "vp_slipstream_landing_zone_1"; +static constexpr std::string_view SlipStreamLandingZoneStringId2 = "vp_slipstream_landing_zone_2"; class instance_vortex_pinnacle : public InstanceMapScript { @@ -50,7 +49,7 @@ public: { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDungeonEncounterData(encounters); } diff --git a/src/server/scripts/KhazAlgar/CityOfThreads/instance_city_of_threads.cpp b/src/server/scripts/KhazAlgar/CityOfThreads/instance_city_of_threads.cpp index 38e8d2905d..10f9f7d4f0 100644 --- a/src/server/scripts/KhazAlgar/CityOfThreads/instance_city_of_threads.cpp +++ b/src/server/scripts/KhazAlgar/CityOfThreads/instance_city_of_threads.cpp @@ -27,7 +27,6 @@ static constexpr ObjectData creatureData[] = { BOSS_THE_COAGLAMATION, DATA_THE_COAGLAMATION }, { BOSS_IZO_THE_GRAND_SPLICER, DATA_IZO_THE_GRAND_SPLICER }, { NPC_ORATOR_KRIX_VIZK_CONVO, DATA_ORATOR_CONVO }, - { 0, 0 } // END }; static constexpr DungeonEncounterData const encounters[] = @@ -49,7 +48,7 @@ public: { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDungeonEncounterData(encounters); } }; diff --git a/src/server/scripts/KhazAlgar/NerubarPalace/instance_nerubar_palace.cpp b/src/server/scripts/KhazAlgar/NerubarPalace/instance_nerubar_palace.cpp index 5eb404571b..0f05af0a51 100644 --- a/src/server/scripts/KhazAlgar/NerubarPalace/instance_nerubar_palace.cpp +++ b/src/server/scripts/KhazAlgar/NerubarPalace/instance_nerubar_palace.cpp @@ -33,20 +33,17 @@ static constexpr ObjectData creatureData[] = { BOSS_NEXUS_PRINCESS_KYVEZA, DATA_NEXUS_PRINCESS_KYVEZA }, { BOSS_ANUBARASH, DATA_THE_SILKEN_COURT }, { BOSS_QUEEN_ANSUREK, DATA_QUEEN_ANSUREK }, - { 0, 0 } // END }; static constexpr DoorData doorData[] = { { GO_WEB_BRIDGE_ULGRAX_INTRO, DATA_WEB_BRIDGE_ULGRAX_INTRO, EncounterDoorBehavior::OpenWhenNotInProgress }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; static constexpr ObjectData objectData[] = { { GO_NERUBAR_PALACE_DOOR_INTRO, DATA_NERUBAR_PALACE_DOOR_INTRO }, { GO_WEB_BRIDGE_ULGRAX_INTRO, DATA_WEB_BRIDGE_ULGRAX_INTRO }, - { 0, 0 } // END }; static BossBoundaryData const boundaries = diff --git a/src/server/scripts/KhazAlgar/TheStoneVault/instance_the_stonevault.cpp b/src/server/scripts/KhazAlgar/TheStoneVault/instance_the_stonevault.cpp index b573adb113..ca9a6e5208 100644 --- a/src/server/scripts/KhazAlgar/TheStoneVault/instance_the_stonevault.cpp +++ b/src/server/scripts/KhazAlgar/TheStoneVault/instance_the_stonevault.cpp @@ -27,25 +27,23 @@ BossBoundaryData const boundaries = { DATA_EDNA, new CircleBoundary({ 0.0f, 0.0f }, 58.0f)} }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { BOSS_EDNA, DATA_EDNA }, { BOSS_SKARMORAX, DATA_SKARMORAK }, { BOSS_SPEAKER_DORLITA, DATA_SPEAKER_DORLITA }, { BOSS_SPEAKER_BROKK, DATA_SPEAKER_BROKK }, { BOSS_VOID_SPEAKER_EIRICH, DATA_VOID_SPEAKER_EIRICH }, - { 0, 0 } // END }; -static DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_FOUNDRY_DOOR_ENTRANCE, DATA_EDNA, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_FOUNDRY_DOOR_TOWARDS_SKARMORAK, DATA_EDNA, EncounterDoorBehavior::OpenWhenDone }, { GO_FOUNDRY_DOOR_TOWARDS_MACHINISTS, DATA_EDNA, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_EDNA, {{ 2854 }} }, { DATA_SKARMORAK, {{ 2880 }} }, @@ -66,7 +64,7 @@ public: { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDoorData(doorData); LoadBossBoundaries(boundaries); LoadDungeonEncounterData(encounters); diff --git a/src/server/scripts/KulTiras/ShrineOfTheStorm/instance_shrine_of_the_storm.cpp b/src/server/scripts/KulTiras/ShrineOfTheStorm/instance_shrine_of_the_storm.cpp index 57c6ceba65..a3ac9e4df6 100644 --- a/src/server/scripts/KulTiras/ShrineOfTheStorm/instance_shrine_of_the_storm.cpp +++ b/src/server/scripts/KulTiras/ShrineOfTheStorm/instance_shrine_of_the_storm.cpp @@ -27,7 +27,7 @@ static BossBoundaryData const boundaries = { DATA_LORD_STORMSONG, new ZRangeBoundary(146.85f, 157.03f) } }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { BOSS_AQUSIRR, DATA_AQUSIRR }, { BOSS_BROTHER_IRONHULL, DATA_BROTHER_IRONHULL }, @@ -36,10 +36,9 @@ ObjectData const creatureData[] = { BOSS_VOLZITH_THE_WHISPERER, DATA_VOLZITH_THE_WHISPERER }, { NPC_LORD_STORMSONG_BROTHER_PIKE, DATA_LORD_STORMSONG_BROTHER_PIKE }, { NPC_LORD_STORMSONG_REXXAR, DATA_LORD_STORMSONG_REXXAR }, - { 0, 0 } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_AQUSIRR, {{ 2130 }} }, { DATA_TIDESAGE_COUNCIL, {{ 2131 }} }, @@ -59,7 +58,7 @@ public: SetHeaders(DataHeader); SetBossNumber(EncounterCount); LoadBossBoundaries(boundaries); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDungeonEncounterData(encounters); _lordStormsongIntroState = NOT_STARTED; diff --git a/src/server/scripts/KulTiras/WaycrestManor/instance_waycrest_manor.cpp b/src/server/scripts/KulTiras/WaycrestManor/instance_waycrest_manor.cpp index 68d8408a03..dff6ad108a 100644 --- a/src/server/scripts/KulTiras/WaycrestManor/instance_waycrest_manor.cpp +++ b/src/server/scripts/KulTiras/WaycrestManor/instance_waycrest_manor.cpp @@ -27,7 +27,7 @@ static BossBoundaryData const boundaries = { DATA_LORD_AND_LADY_WAYCREST, new ZRangeBoundary(182.5f, 192.2f) } }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { BOSS_SISTER_BRIAR, DATA_SISTER_BRIAR }, { BOSS_SISTER_MALADY, DATA_SISTER_MALADY }, @@ -35,17 +35,15 @@ ObjectData const creatureData[] = { BOSS_SOULBOUND_GOLIATH, DATA_SOULBOUND_GOLIATH }, { BOSS_LADY_WAYCREST, DATA_LADY_WAYCREST }, { BOSS_LORD_WAYCREST, DATA_LORD_WAYCREST }, - { 0, 0 } // END }; -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_HEARTSBANE_TRIAD_DOOR, DATA_HEARTSBANE_TRIAD, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_WAYCREST_ORGAN_BARRIER, DATA_LORD_AND_LADY_WAYCREST, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_HEARTSBANE_TRIAD, {{ 2113 }} }, { DATA_SOULBOUND_GOLIATH, {{ 2114 }} }, @@ -65,7 +63,7 @@ public: { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDoorData(doorData); LoadBossBoundaries(boundaries); LoadDungeonEncounterData(encounters); diff --git a/src/server/scripts/Maelstrom/Stonecore/instance_stonecore.cpp b/src/server/scripts/Maelstrom/Stonecore/instance_stonecore.cpp index f443f9d1ac..a89672de75 100644 --- a/src/server/scripts/Maelstrom/Stonecore/instance_stonecore.cpp +++ b/src/server/scripts/Maelstrom/Stonecore/instance_stonecore.cpp @@ -35,7 +35,7 @@ // TO-DO: // - Find out spell IDs for both Stonecore Teleporters (spellclick). -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_MILLHOUSE_MANASTORM, DATA_MILLHOUSE_MANASTORM }, { NPC_CORBORUS, DATA_CORBORUS }, @@ -43,10 +43,9 @@ ObjectData const creatureData[] = { NPC_HIGH_PRIESTESS_AZIL, DATA_HIGH_PRIESTESS_AZIL }, { NPC_STONECORE_TELEPORTER, DATA_STONECORE_TELEPORTER }, { NPC_STONECORE_TELEPORTER_2, DATA_STONECORE_TELEPORTER_2 }, - { 0, 0 } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_CORBORUS, {{ 1056 }} }, { DATA_SLABHIDE, {{ 1059 }} }, @@ -65,7 +64,7 @@ class instance_stonecore : public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(MAX_ENCOUNTER); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDungeonEncounterData(encounters); } diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp index ab1d0bd819..8e27a2af8d 100644 --- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/instance_ahnkahet.cpp @@ -19,29 +19,25 @@ #include "AreaBoundary.h" #include "GameObject.h" #include "InstanceScript.h" -#include "Map.h" #include "ScriptMgr.h" -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_PRINCE_TALDARAM_GATE, DATA_PRINCE_TALDARAM, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_ELDER_NADOX, DATA_ELDER_NADOX }, { NPC_PRINCE_TALDARAM, DATA_PRINCE_TALDARAM }, { NPC_JEDOGA_SHADOWSEEKER, DATA_JEDOGA_SHADOWSEEKER }, { NPC_AMANITAR, DATA_AMANITAR }, { NPC_HERALD_VOLAZJ, DATA_HERALD_VOLAZJ }, - { 0, 0 } }; -ObjectData const gameObjectData[] = +static constexpr ObjectData gameObjectData[] = { { GO_PRINCE_TALDARAM_PLATFORM, DATA_PRINCE_TALDARAM_PLATFORM }, - { 0, 0 } //END }; BossBoundaryData const boundaries = @@ -49,7 +45,7 @@ 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[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_ELDER_NADOX, {{ 1969 }} }, { DATA_PRINCE_TALDARAM, {{ 1966 }} }, 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 60412d56e5..ac73f400bf 100644 --- a/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp +++ b/src/server/scripts/Northrend/AzjolNerub/AzjolNerub/instance_azjol_nerub.cpp @@ -22,16 +22,15 @@ #include "CreatureAI.h" #include "InstanceScript.h" -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_KRIKTHIR_DOOR, DATA_KRIKTHIR, EncounterDoorBehavior::OpenWhenDone }, { GO_ANUBARAK_DOOR_1, DATA_ANUBARAK, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_ANUBARAK_DOOR_2, DATA_ANUBARAK, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_ANUBARAK_DOOR_3, DATA_ANUBARAK, EncounterDoorBehavior::OpenWhenNotInProgress }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_KRIKTHIR, DATA_KRIKTHIR }, { NPC_HADRONOX, DATA_HADRONOX }, @@ -39,14 +38,12 @@ ObjectData const creatureData[] = { NPC_WATCHER_NARJIL, DATA_WATCHER_GASHRA }, { NPC_WATCHER_GASHRA, DATA_WATCHER_SILTHIK }, { NPC_WATCHER_SILTHIK, DATA_WATCHER_NARJIL }, - { 0, 0 } // END }; -ObjectData const gameobjectData[] = +static constexpr ObjectData gameobjectData[] = { { GO_ANUBARAK_DOOR_1, DATA_ANUBARAK_WALL }, { GO_ANUBARAK_DOOR_3, DATA_ANUBARAK_WALL_2 }, - { 0, 0 } // END }; BossBoundaryData const boundaries = @@ -56,7 +53,7 @@ BossBoundaryData const boundaries = { DATA_ANUBARAK, new CircleBoundary(Position(550.6178f, 253.5917f), 26.0f) } }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_KRIKTHIR, {{ 1971 }} }, { DATA_HADRONOX, {{ 1972 }} }, 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 c66263c81d..d793c40c12 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/instance_ruby_sanctum.cpp @@ -17,14 +17,14 @@ #include "ruby_sanctum.h" #include "AreaBoundary.h" +#include "Creature.h" #include "CreatureAI.h" #include "GameObject.h" #include "InstanceScript.h" #include "Map.h" #include "ScriptMgr.h" -#include "TemporarySummon.h" -Position const HalionControllerSpawnPos = { 3156.037f, 533.2656f, 72.97205f, 0.0f }; +static constexpr Position HalionControllerSpawnPos = { 3156.037f, 533.2656f, 72.97205f, 0.0f }; BossBoundaryData const boundaries = { @@ -32,7 +32,7 @@ BossBoundaryData const boundaries = { DATA_HALION, new CircleBoundary(Position(3156.037f, 533.2656f), 52.5f) } }; -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_FIRE_FIELD, DATA_BALTHARUS_THE_WARBORN, EncounterDoorBehavior::OpenWhenDone }, { GO_FLAME_WALLS, DATA_BALTHARUS_THE_WARBORN, EncounterDoorBehavior::OpenWhenDone }, @@ -40,10 +40,9 @@ DoorData const doorData[] = { GO_FLAME_WALLS, DATA_GENERAL_ZARITHRIAN, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_FLAME_RING, DATA_HALION, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_TWILIGHT_FLAME_RING, DATA_HALION, EncounterDoorBehavior::OpenWhenNotInProgress }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_BALTHARUS_THE_WARBORN, DATA_BALTHARUS_THE_WARBORN }, { NPC_BALTHARUS_THE_WARBORN_CLONE, DATA_BALTHARUS_CLONE }, @@ -56,10 +55,9 @@ ObjectData const creatureData[] = { NPC_ORB_CARRIER, DATA_ORB_CARRIER }, { NPC_ORB_ROTATION_FOCUS, DATA_ORB_ROTATION_FOCUS }, { NPC_XERESTRASZA, DATA_XERESTRASZA }, - { 0, 0 } // END }; -ObjectData const gameObjectData[] = +static constexpr ObjectData gameObjectData[] = { { GO_FLAME_WALLS, DATA_FLAME_WALLS }, { GO_BURNING_TREE_1, DATA_BURNING_TREE_1 }, @@ -68,10 +66,9 @@ ObjectData const gameObjectData[] = { GO_BURNING_TREE_4, DATA_BURNING_TREE_4 }, { GO_FLAME_RING, DATA_FLAME_RING }, { GO_TWILIGHT_FLAME_RING, DATA_TWILIGHT_FLAME_RING }, - { 0, 0 } //END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_BALTHARUS_THE_WARBORN, {{ 1147 }} }, { DATA_SAVIANA_RAGEFIRE, {{ 1149 }} }, 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 8bae4443f9..4a79d79f2a 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 @@ -23,12 +23,11 @@ #include "Map.h" #include "Player.h" #include "ScriptedCreature.h" -#include "TemporarySummon.h" #include "trial_of_the_crusader.h" // ToDo: Remove magic numbers of events -BossBoundaryData const boundaries = +static BossBoundaryData const boundaries = { { DATA_NORTHREND_BEASTS, new CircleBoundary(Position(563.26f, 139.6f), 75.0f) }, { DATA_JARAXXUS, new CircleBoundary(Position(563.26f, 139.6f), 75.0f) }, @@ -37,7 +36,7 @@ BossBoundaryData const boundaries = { DATA_ANUBARAK, new EllipseBoundary(Position(746.0f, 135.0f), 100.0f, 75.0f) } }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_GORMOK, DATA_GORMOK_THE_IMPALER }, { NPC_ACIDMAW, DATA_ACIDMAW }, @@ -57,10 +56,9 @@ ObjectData const creatureData[] = { NPC_GARROSH, DATA_GARROSH }, { NPC_FIZZLEBANG, DATA_FIZZLEBANG }, { NPC_LICH_KING_VOICE, DATA_LICH_KING_VOICE }, - { 0, 0 } // END }; -ObjectData const gameObjectData[] = +static constexpr ObjectData gameObjectData[] = { { GO_CRUSADERS_CACHE_10, DATA_CRUSADERS_CHEST }, { GO_CRUSADERS_CACHE_25, DATA_CRUSADERS_CHEST }, @@ -78,10 +76,9 @@ ObjectData const gameObjectData[] = { GO_TRIBUTE_CHEST_25H_45, DATA_TRIBUTE_CHEST }, { GO_TRIBUTE_CHEST_25H_50, DATA_TRIBUTE_CHEST }, { GO_TRIBUTE_CHEST_25H_99, DATA_TRIBUTE_CHEST }, - { 0, 0 } // END }; -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_EAST_PORTCULLIS, DATA_NORTHREND_BEASTS, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_EAST_PORTCULLIS, DATA_JARAXXUS, EncounterDoorBehavior::OpenWhenNotInProgress }, @@ -89,10 +86,9 @@ DoorData const doorData[] = { GO_EAST_PORTCULLIS, DATA_TWIN_VALKIRIES, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_EAST_PORTCULLIS, DATA_LICH_KING, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_WEB_DOOR, DATA_ANUBARAK, EncounterDoorBehavior::OpenWhenNotInProgress }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_NORTHREND_BEASTS, {{ 1088 }} }, { DATA_JARAXXUS, {{ 1087 }} }, 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 e167d3beeb..06095ee885 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 @@ -23,19 +23,18 @@ #include "TemporarySummon.h" // positions for Martin Victus (37591) and Gorkun Ironskull (37592) -Position const SlaveLeaderPos = {689.7158f, -104.8736f, 513.7360f, 0.0f}; +static constexpr Position SlaveLeaderPos = {689.7158f, -104.8736f, 513.7360f, 0.0f}; // position for Jaina and Sylvanas -Position const EventLeaderPos2 = {1054.368f, 107.14620f, 628.4467f, 0.0f}; +static constexpr Position EventLeaderPos2 = {1054.368f, 107.14620f, 628.4467f, 0.0f}; -DoorData const Doors[] = +static constexpr DoorData Doors[] = { { GO_ICE_WALL, DATA_GARFROST, EncounterDoorBehavior::OpenWhenDone }, { GO_ICE_WALL, DATA_ICK, EncounterDoorBehavior::OpenWhenDone }, { GO_HALLS_OF_REFLECTION_PORTCULLIS, DATA_TYRANNUS, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_GARFROST, {{ 1999 }} }, { DATA_ICK, {{ 2001 }} }, diff --git a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp index 62de55abb1..1a3fc5635d 100644 --- a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp +++ b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp @@ -24,23 +24,21 @@ #include "Map.h" #include "ScriptMgr.h" -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_GAL_DARAH_DOOR_1, DATA_GAL_DARAH, EncounterDoorBehavior::OpenWhenDone }, { GO_GAL_DARAH_DOOR_2, DATA_GAL_DARAH, EncounterDoorBehavior::OpenWhenDone }, { GO_GAL_DARAH_DOOR_3, DATA_GAL_DARAH, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_ECK_THE_FEROCIOUS_DOOR, DATA_MOORABI, EncounterDoorBehavior::OpenWhenDone }, { GO_ECK_THE_FEROCIOUS_DOOR_BEHIND, DATA_ECK_THE_FEROCIOUS, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_DRAKKARI_COLOSSUS, DATA_DRAKKARI_COLOSSUS }, - { 0, 0 } // END }; -ObjectData const gameObjectData[] = +static constexpr ObjectData gameObjectData[] = { { GO_SLAD_RAN_ALTAR, DATA_SLAD_RAN_ALTAR }, { GO_MOORABI_ALTAR, DATA_MOORABI_ALTAR }, @@ -51,10 +49,9 @@ ObjectData const gameObjectData[] = { GO_GAL_DARAH_STATUE, DATA_GAL_DARAH_STATUE }, { GO_TRAPDOOR, DATA_TRAPDOOR }, { GO_COLLISION, DATA_COLLISION }, - { 0, 0 } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_SLAD_RAN, {{ 1978 }} }, { DATA_DRAKKARI_COLOSSUS, {{ 1983 }} }, @@ -63,7 +60,7 @@ DungeonEncounterData const encounters[] = { DATA_ECK_THE_FEROCIOUS, {{ 1988 }} } }; -Position const EckSpawnPoint = { 1643.877930f, 936.278015f, 107.204948f, 0.668432f }; +static constexpr Position EckSpawnPoint = { 1643.877930f, 936.278015f, 107.204948f, 0.668432f }; class instance_gundrak : public InstanceMapScript { diff --git a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp index 5ea4c256ab..1757b444dd 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp @@ -74,7 +74,7 @@ BossBoundaryData const boundaries = { DATA_SINDRAGOSA, new EllipseBoundary(Position(4408.6f, 2484.0f), 100.0f, 75.0f) } }; -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_LORD_MARROWGAR_S_ENTRANCE, DATA_LORD_MARROWGAR, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_ICEWALL, DATA_LORD_MARROWGAR, EncounterDoorBehavior::OpenWhenDone }, @@ -101,10 +101,9 @@ DoorData const doorData[] = { GO_SINDRAGOSA_SHORTCUT_EXIT_DOOR, DATA_SINDRAGOSA, EncounterDoorBehavior::OpenWhenDone }, { GO_ICE_WALL, DATA_SINDRAGOSA, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_ICE_WALL, DATA_SINDRAGOSA, EncounterDoorBehavior::OpenWhenNotInProgress }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_LORD_MARROWGAR, {{ 1101 }} }, { DATA_LADY_DEATHWHISPER, {{ 1100 }} }, @@ -121,10 +120,10 @@ DungeonEncounterData const encounters[] = }; // NPCs spawned at Light's Hammer on Lich King dead -Position const JainaSpawnPos = { -48.65278f, 2211.026f, 27.98586f, 3.124139f }; -Position const MuradinSpawnPos = { -47.34549f, 2208.087f, 27.98586f, 3.106686f }; -Position const UtherSpawnPos = { -26.58507f, 2211.524f, 30.19898f, 3.124139f }; -Position const SylvanasSpawnPos = { -41.45833f, 2222.891f, 27.98586f, 3.647738f }; +static constexpr Position JainaSpawnPos = { -48.65278f, 2211.026f, 27.98586f, 3.124139f }; +static constexpr Position MuradinSpawnPos = { -47.34549f, 2208.087f, 27.98586f, 3.106686f }; +static constexpr Position UtherSpawnPos = { -26.58507f, 2211.524f, 30.19898f, 3.124139f }; +static constexpr Position SylvanasSpawnPos = { -41.45833f, 2222.891f, 27.98586f, 3.647738f }; class instance_icecrown_citadel : public InstanceMapScript { diff --git a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp index 9409f8e21c..4d3d0831f4 100644 --- a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp +++ b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp @@ -58,7 +58,7 @@ BossBoundaryData const boundaries = { BOSS_KELTHUZAD, new CircleBoundary(Position(3716.0f, -5107.0f), 85.0f) } }; -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_ROOM_ANUBREKHAN, BOSS_ANUBREKHAN, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_PASSAGE_ANUBREKHAN, BOSS_ANUBREKHAN, EncounterDoorBehavior::OpenWhenDone }, @@ -93,20 +93,18 @@ DoorData const doorData[] = { GO_MILI_EYE_RAMP_BOSS, BOSS_HORSEMEN, EncounterDoorBehavior::OpenWhenDone }, { GO_CONS_EYE_RAMP, BOSS_THADDIUS, EncounterDoorBehavior::OpenWhenDone }, { GO_CONS_EYE_RAMP_BOSS, BOSS_THADDIUS, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } }; -ObjectData const objectData[] = +static constexpr ObjectData objectData[] = { { GO_NAXX_PORTAL_ARACHNID, DATA_NAXX_PORTAL_ARACHNID }, { GO_NAXX_PORTAL_CONSTRUCT, DATA_NAXX_PORTAL_CONSTRUCT }, { GO_NAXX_PORTAL_PLAGUE, DATA_NAXX_PORTAL_PLAGUE }, { GO_NAXX_PORTAL_MILITARY, DATA_NAXX_PORTAL_MILITARY }, { GO_KELTHUZAD_THRONE, DATA_KELTHUZAD_THRONE }, - { 0, 0, } }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { BOSS_ANUBREKHAN, {{ 1107 }} }, { BOSS_FAERLINA, {{ 1110 }} }, @@ -138,7 +136,7 @@ class instance_naxxramas : public InstanceMapScript SetBossNumber(EncounterCount); LoadBossBoundaries(boundaries); LoadDoorData(doorData); - LoadObjectData(nullptr, objectData); + LoadObjectData({}, objectData); LoadDungeonEncounterData(encounters); hadSapphironBirth = false; diff --git a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp index be5ee3aef6..e6998cb85b 100644 --- a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp +++ b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp @@ -27,13 +27,12 @@ #include "PhasingHandler.h" #include "TemporarySummon.h" -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_DRAGON_CAGE_DOOR, DATA_DRAKOS, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_DRAKOS, {{ 528, 529, 2016 }} }, { DATA_VAROS, {{ 530, 531, 2015 }} }, @@ -41,9 +40,9 @@ DungeonEncounterData const encounters[] = { 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 }; +static constexpr Position VerdisaMove = { 949.188f, 1032.91f, 359.967f, 1.093027f }; +static constexpr Position BelgaristraszMove = { 941.453f, 1044.1f, 359.967f, 0.1984709f }; +static constexpr Position EternosMove = { 943.202f, 1059.35f, 359.967f, 5.757278f }; class instance_oculus : public InstanceMapScript { 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 9e2f637cea..59c1040933 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 @@ -21,17 +21,15 @@ #include "GameObject.h" #include "halls_of_lightning.h" #include "InstanceScript.h" -#include "Map.h" -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_VOLKHAN_DOOR, DATA_VOLKHAN, EncounterDoorBehavior::OpenWhenDone }, { GO_IONAR_DOOR, DATA_IONAR, EncounterDoorBehavior::OpenWhenDone }, { GO_LOKEN_DOOR, DATA_LOKEN, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_GENERAL_BJARNGRIM, DATA_GENERAL_BJARNGRIM }, { NPC_VOLKHAN, DATA_VOLKHAN }, @@ -39,17 +37,15 @@ ObjectData const creatureData[] = { NPC_LOKEN, DATA_LOKEN }, { NPC_INVISIBLE_STALKER, DATA_INVISIBLE_STALKER }, { NPC_VOLKHANS_ANVIL, DATA_VOLKHANS_ANVIL }, - { 0, 0 } // END }; -ObjectData const gameObjectData[] = +static constexpr ObjectData gameObjectData[] = { { GO_VOLKHAN_TEMPER_VISUAL, DATA_VOLKHAN_TEMPER_VISUAL }, { GO_LOKEN_THRONE, DATA_LOKEN_GLOBE }, - { 0, 0 } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_GENERAL_BJARNGRIM, {{ 1987 }} }, { DATA_VOLKHAN, {{ 1985 }} }, 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 580772a9fb..354d4b296d 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 @@ -16,19 +16,16 @@ */ #include "ScriptMgr.h" -#include "Creature.h" #include "GameObject.h" #include "halls_of_stone.h" #include "InstanceScript.h" -#include "Map.h" -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_SJONNIR_DOOR, DATA_TRIBUNAL_OF_AGES, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_KRYSTALLUS, DATA_KRYSTALLUS }, { NPC_MAIDEN_OF_GRIEF, DATA_MAIDEN_OF_GRIEF }, @@ -36,10 +33,9 @@ ObjectData const creatureData[] = { NPC_KADDRAK, DATA_KADDRAK }, { NPC_MARNAK, DATA_MARNAK }, { NPC_ABEDNEUM, DATA_ABEDNEUM }, - { 0, 0 } // END }; -ObjectData const gameObjectData[] = +static constexpr ObjectData gameObjectData[] = { { GO_KADDRAK, DATA_GO_KADDRAK }, { GO_MARNAK, DATA_GO_MARNAK }, @@ -48,10 +44,9 @@ ObjectData const gameObjectData[] = { GO_TRIBUNAL_SKY_FLOOR, DATA_GO_SKY_FLOOR }, { GO_TRIBUNAL_CHEST, DATA_GO_TRIBUNAL_CHEST }, { GO_TRIBUNAL_CHEST_HERO, DATA_GO_TRIBUNAL_CHEST }, - { 0, 0 } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_KRYSTALLUS, {{ 1994 }} }, { DATA_MAIDEN_OF_GRIEF, {{ 1996 }} }, diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp index a83aa8d473..3d60145173 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp @@ -45,7 +45,7 @@ static BossBoundaryData const boundaries = { DATA_YOGG_SARON, new CircleBoundary(Position(1980.42f, -27.68f), 105.0f) } }; -static DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_LEVIATHAN_DOOR, DATA_FLAME_LEVIATHAN, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_XT_002_DOOR, DATA_XT002, EncounterDoorBehavior::OpenWhenNotInProgress }, @@ -69,18 +69,16 @@ static DoorData const doorData[] = { GO_DOODAD_UL_UNIVERSEFLOOR_02, DATA_ALGALON, EncounterDoorBehavior::OpenWhenInProgress }, { GO_DOODAD_UL_UNIVERSEGLOBE01, DATA_ALGALON, EncounterDoorBehavior::OpenWhenInProgress }, { GO_DOODAD_UL_ULDUAR_TRAPDOOR_03, DATA_ALGALON, EncounterDoorBehavior::OpenWhenInProgress }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress }, }; -MinionData const minionData[] = +static constexpr MinionData minionData[] = { { NPC_STEELBREAKER, DATA_ASSEMBLY_OF_IRON }, { NPC_MOLGEIM, DATA_ASSEMBLY_OF_IRON }, { NPC_BRUNDIR, DATA_ASSEMBLY_OF_IRON }, - { 0, 0 } // END }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_FLAME_LEVIATHAN, DATA_FLAME_LEVIATHAN }, { NPC_IGNIS, DATA_IGNIS }, @@ -114,10 +112,9 @@ ObjectData const creatureData[] = { NPC_BRONZEBEARD_RADIO, DATA_BRONZEBEARD_RADIO }, { NPC_HEART_OF_DECONSTRUCTOR, DATA_XT002_HEART }, { NPC_AZEROTH, DATA_AZEROTH }, - { 0, 0, } }; -ObjectData const objectData[] = +static constexpr ObjectData objectData[] = { { GO_MIMIRON_ELEVATOR, DATA_MIMIRON_ELEVATOR }, { GO_MIMIRON_BUTTON, DATA_MIMIRON_BUTTON }, @@ -137,10 +134,9 @@ ObjectData const objectData[] = { GO_DOODAD_UL_UNIVERSEFLOOR_02, DATA_UNIVERSE_FLOOR_02 }, { GO_GIFT_OF_THE_OBSERVER_10, DATA_GIFT_OF_THE_OBSERVER }, { GO_GIFT_OF_THE_OBSERVER_25, DATA_GIFT_OF_THE_OBSERVER }, - { 0, 0 } }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_FLAME_LEVIATHAN, {{ 1132 }} }, { DATA_IGNIS, {{ 1136 }} }, 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 897d6af52c..bdb3dfe8c7 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardeKeep/instance_utgarde_keep.cpp @@ -21,21 +21,19 @@ #include "InstanceScript.h" #include "utgarde_keep.h" -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_GIANT_PORTCULLIS_1, DATA_INGVAR, EncounterDoorBehavior::OpenWhenDone }, { GO_GIANT_PORTCULLIS_2, DATA_INGVAR, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -MinionData const minionData[] = +static constexpr MinionData minionData[] = { { NPC_SKARVALD, DATA_SKARVALD_DALRONN }, { NPC_DALRONN, DATA_SKARVALD_DALRONN }, - { 0, 0 } }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_PRINCE_KELESETH, {{ 2026 }} }, { DATA_SKARVALD_DALRONN, {{ 2024 }} }, 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 4c585d5983..4c4e53197f 100644 --- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp +++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/instance_utgarde_pinnacle.cpp @@ -26,14 +26,13 @@ BossBoundaryData const boundaries = { DATA_KING_YMIRON, new RectangleBoundary(340.0f, 443.0f, -412.0f, -275.0f) } }; -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_SKADI_THE_RUTHLESS_DOOR, DATA_SKADI_THE_RUTHLESS, EncounterDoorBehavior::OpenWhenDone }, { GO_KING_YMIRON_DOOR, DATA_KING_YMIRON, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_SVALA_SORROWGRAVE, DATA_SVALA_SORROWGRAVE }, { NPC_GORTOK_PALEHOOF, DATA_GORTOK_PALEHOOF }, @@ -46,17 +45,15 @@ ObjectData const creatureData[] = { NPC_PALEHOOF_ORB, DATA_GORTOK_ORB }, { NPC_SVALA, DATA_SVALA }, { NPC_GRAUF, DATA_GRAUF }, - { 0, 0 } // END }; -ObjectData const gameObjectData[] = +static constexpr ObjectData gameObjectData[] = { { GO_UTGARDE_MIRROR, DATA_UTGARDE_MIRROR }, { GO_GORTOK_PALEHOOF_SPHERE, DATA_GORTOK_PALEHOOF_SPHERE }, - { 0, 0 } //END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_SVALA_SORROWGRAVE, {{ 2030 }} }, { DATA_GORTOK_PALEHOOF, {{ 2027 }} }, 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 b8ea5dfe62..845286cd72 100644 --- a/src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp +++ b/src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp @@ -27,16 +27,15 @@ 4 - Toravon the Ice Watcher event */ -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_ARCHAVON, DATA_ARCHAVON }, { NPC_EMALON, DATA_EMALON }, { NPC_KORALON, DATA_KORALON }, { NPC_TORAVON, DATA_TORAVON }, - { 0, 0, } }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { NPC_ARCHAVON, {{ 1126 }} }, { NPC_EMALON, {{ 1127 }} }, @@ -55,7 +54,7 @@ class instance_vault_of_archavon : public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDungeonEncounterData(encounters); ArchavonDeath = 0; diff --git a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp index 4751c0d6a6..9fff688255 100644 --- a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp +++ b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp @@ -35,13 +35,12 @@ Position const DefenseSystemLocation = { 1888.146f, 803.382f, 58.60389f, 3.071779f }; // sniff -Position const CyanigosaSpawnLocation = { 1922.109f, 804.4493f, 52.49254f, 3.176499f }; // sniff -Position const CyanigosaJumpLocation = { 1888.32f, 804.473f, 38.3578f, 0.0f }; // sniff +static constexpr Position CyanigosaSpawnLocation = { 1922.109f, 804.4493f, 52.49254f, 3.176499f }; // sniff +static constexpr Position CyanigosaJumpLocation = { 1888.32f, 804.473f, 38.3578f, 0.0f }; // sniff -Position const SaboteurSpawnLocation = { 1886.251f, 803.0743f, 38.42326f, 3.211406f }; // sniff +static constexpr Position SaboteurSpawnLocation = { 1886.251f, 803.0743f, 38.42326f, 3.211406f }; // sniff -uint32 const PortalPositionsSize = 5; -Position const PortalPositions[PortalPositionsSize] = // sniff +static constexpr Position PortalPositions[] = // sniff { { 1877.523f, 850.1788f, 45.36822f, 4.34587f }, // 0 { 1890.679f, 753.4202f, 48.771f, 1.675516f }, // 1 @@ -50,16 +49,14 @@ Position const PortalPositions[PortalPositionsSize] = // sniff { 1907.288f, 831.1111f, 40.22015f, 3.560472f } // 4 }; -uint32 const PortalElitePositionsSize = 3; -Position const PortalElitePositions[PortalElitePositionsSize] = // sniff +static constexpr Position PortalElitePositions[] = // sniff { { 1911.281f, 800.9722f, 39.91673f, 3.01942f }, // 5 { 1926.516f, 763.6616f, 52.35725f, 2.251475f }, // 6 { 1922.464f, 847.0699f, 48.50161f, 3.961897f } // 7 }; -uint32 const PortalIntroPositionsSize = 5; -Position const PortalIntroPositions[PortalIntroPositionsSize] = // sniff +Position const PortalIntroPositions[] = // sniff { { 1877.51f, 850.1042f, 44.65989f, 4.782202f }, // 0 - Intro { 1890.637f, 753.4705f, 48.72239f, 1.710423f }, // 1 - Intro @@ -68,7 +65,7 @@ Position const PortalIntroPositions[PortalIntroPositionsSize] = // sniff { 1924.096f, 804.3707f, 54.29256f, 3.228859f } // 4 - Boss 3 }; -uint32 const EncouterPortalsCount = PortalPositionsSize + PortalElitePositionsSize; +static constexpr uint32 EncouterPortalsCount = std::ranges::size(PortalPositions) + std::ranges::size(PortalElitePositions); WaypointPath const MoraggPath = // sniff { @@ -180,7 +177,7 @@ enum Spells SPELL_ZURAMAT_COSMETIC_CHANNEL_OMNI = 57552 }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_XEVOZZ, DATA_XEVOZZ }, { NPC_LAVANTHOR, DATA_LAVANTHOR }, @@ -191,10 +188,9 @@ ObjectData const creatureData[] = { NPC_CYANIGOSA, DATA_CYANIGOSA }, { NPC_SINCLARI, DATA_SINCLARI }, { NPC_SINCLARI_TRIGGER, DATA_SINCLARI_TRIGGER }, - { 0, 0 } // END }; -ObjectData const gameObjectData[] = +static constexpr ObjectData gameObjectData[] = { { GO_EREKEM_GUARD_1_DOOR, DATA_EREKEM_LEFT_GUARD_CELL }, { GO_EREKEM_GUARD_2_DOOR, DATA_EREKEM_RIGHT_GUARD_CELL }, @@ -205,16 +201,14 @@ ObjectData const gameObjectData[] = { GO_ICHORON_DOOR, DATA_ICHORON_CELL }, { GO_XEVOZZ_DOOR, DATA_XEVOZZ_CELL }, { GO_MAIN_DOOR, DATA_MAIN_DOOR }, - { 0, 0 } // END }; -MinionData const minionData[] = +static constexpr MinionData minionData[] = { { NPC_EREKEM_GUARD, DATA_EREKEM }, - { 0, 0 } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_1ST_BOSS, {{ 2019 }} }, { DATA_2ND_BOSS, {{ 2018 }} }, @@ -520,14 +514,14 @@ class instance_violet_hold : public InstanceMapScript LastPortalLocation = (LastPortalLocation + urand(1, EncouterPortalsCount - 1)) % (EncouterPortalsCount); if (Creature* sinclari = GetCreature(DATA_SINCLARI)) { - if (LastPortalLocation < PortalPositionsSize) + if (LastPortalLocation < std::ranges::size(PortalPositions)) { if (Creature* portal = sinclari->SummonCreature(NPC_TELEPORTATION_PORTAL, PortalPositions[LastPortalLocation], TEMPSUMMON_CORPSE_DESPAWN)) portal->AI()->SetData(DATA_PORTAL_LOCATION, LastPortalLocation); } else { - if (Creature* portal = sinclari->SummonCreature(NPC_TELEPORTATION_PORTAL_ELITE, PortalElitePositions[LastPortalLocation - PortalPositionsSize], TEMPSUMMON_CORPSE_DESPAWN)) + if (Creature* portal = sinclari->SummonCreature(NPC_TELEPORTATION_PORTAL_ELITE, PortalElitePositions[LastPortalLocation - std::ranges::size(PortalPositions)], TEMPSUMMON_CORPSE_DESPAWN)) portal->AI()->SetData(DATA_PORTAL_LOCATION, LastPortalLocation); } } 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 8a87122231..7cddee63dc 100644 --- a/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp +++ b/src/server/scripts/Outland/Auchindoun/SethekkHalls/instance_sethekk_halls.cpp @@ -21,19 +21,17 @@ #include "InstanceScript.h" #include "sethekk_halls.h" -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_IKISS_DOOR, DATA_TALON_KING_IKISS, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -ObjectData const gameObjectData[] = +static constexpr ObjectData gameObjectData[] = { { GO_TALON_KING_COFFER, DATA_TALON_KING_COFFER }, - { 0, 0 } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_DARKWEAVER_SYTH, {{ 1903 }} }, { DATA_TALON_KING_IKISS, {{ 1902 }} }, @@ -52,7 +50,7 @@ class instance_sethekk_halls : public InstanceMapScript SetHeaders(DataHeader); SetBossNumber(EncounterCount); LoadDoorData(doorData); - LoadObjectData(nullptr, gameObjectData); + LoadObjectData({}, gameObjectData); LoadDungeonEncounterData(encounters); } 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 1ce12776d4..84f24232b8 100644 --- a/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp +++ b/src/server/scripts/Outland/Auchindoun/ShadowLabyrinth/instance_shadow_labyrinth.cpp @@ -23,14 +23,13 @@ #include "Map.h" #include "shadow_labyrinth.h" -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_REFECTORY_DOOR, DATA_BLACKHEART_THE_INCITER, EncounterDoorBehavior::OpenWhenDone }, { GO_SCREAMING_HALL_DOOR, DATA_GRANDMASTER_VORPIL, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_AMBASSADOR_HELLMAW, {{ 1908 }} }, { DATA_BLACKHEART_THE_INCITER, {{ 1909 }} }, diff --git a/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp b/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp index 771f8c4f03..ae5465b790 100644 --- a/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp +++ b/src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp @@ -24,7 +24,7 @@ #include "InstanceScript.h" #include "Map.h" -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_NAJENTUS_GATE, DATA_HIGH_WARLORD_NAJENTUS, EncounterDoorBehavior::OpenWhenDone }, { GO_NAJENTUS_GATE, DATA_SUPREMUS, EncounterDoorBehavior::OpenWhenNotInProgress }, @@ -38,7 +38,6 @@ DoorData const doorData[] = { GO_COUNCIL_DOOR_2, DATA_ILLIDARI_COUNCIL, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_ILLIDAN_DOOR_R, DATA_ILLIDAN_STORMRAGE, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_ILLIDAN_DOOR_L, DATA_ILLIDAN_STORMRAGE, EncounterDoorBehavior::OpenWhenNotInProgress }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; BossBoundaryData const boundaries = @@ -56,7 +55,7 @@ BossBoundaryData const boundaries = { DATA_ILLIDAN_STORMRAGE, new EllipseBoundary(Position(694.8f, 309.0f), 80.0f , 95.0f) } }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_HIGH_WARLORD_NAJENTUS, DATA_HIGH_WARLORD_NAJENTUS }, { NPC_SUPREMUS, DATA_SUPREMUS }, @@ -77,18 +76,16 @@ ObjectData const creatureData[] = { NPC_BLACK_TEMPLE_TRIGGER, DATA_BLACK_TEMPLE_TRIGGER }, { NPC_MAIEV_SHADOWSONG, DATA_MAIEV }, { NPC_RELIQUARY_COMBAT_TRIGGER, DATA_RELIQUARY_COMBAT_TRIGGER }, - { 0, 0 } // END }; -ObjectData const gameObjectData[] = +static constexpr ObjectData gameObjectData[] = { { GO_ILLIDAN_GATE, DATA_GO_ILLIDAN_GATE }, { GO_DEN_OF_MORTAL_DOOR, DATA_GO_DEN_OF_MORTAL_DOOR }, { GO_ILLIDAN_MUSIC_CONTROLLER, DATA_ILLIDAN_MUSIC_CONTROLLER }, - { 0, 0 } //END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_HIGH_WARLORD_NAJENTUS, {{ 601 }} }, { DATA_SUPREMUS, {{ 602 }} }, 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 fc25677e2e..6cd57542aa 100644 --- a/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp +++ b/src/server/scripts/Outland/CoilfangReservoir/SteamVault/instance_steam_vault.cpp @@ -41,24 +41,22 @@ private: InstanceScript* _instance; }; -ObjectData const gameObjectData[] = +static constexpr ObjectData gameObjectData[] = { { GO_ACCESS_PANEL_HYDRO, DATA_ACCESS_PANEL_HYDRO }, { GO_ACCESS_PANEL_MEK, DATA_ACCESS_PANEL_MEK }, { GO_MAIN_CHAMBERS_DOOR, DATA_MAIN_DOOR }, - { 0, 0 } // END }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_HYDROMANCER_THESPIA, DATA_HYDROMANCER_THESPIA }, { NPC_MEKGINEER_STEAMRIGGER, DATA_MEKGINEER_STEAMRIGGER }, { NPC_WARLORD_KALITHRESH, DATA_WARLORD_KALITHRESH }, { NPC_COILFANG_DOOR_CONTROLLER, DATA_DOOR_CONTROLLER }, - { 0, 0 } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_HYDROMANCER_THESPIA, {{ 1942 }} }, { DATA_MEKGINEER_STEAMRIGGER, {{ 1943 }} }, 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 cd9aad5cb9..c97d3affe1 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 @@ -20,7 +20,7 @@ #include "InstanceScript.h" #include "the_slave_pens.h" -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_AHUNE, DATA_AHUNE }, { NPC_FROZEN_CORE, DATA_FROZEN_CORE }, @@ -32,10 +32,9 @@ ObjectData const creatureData[] = { NPC_SHAMAN_BEAM_BUNNY_001, DATA_BEAM_BUNNY_001 }, { NPC_SHAMAN_BEAM_BUNNY_002, DATA_BEAM_BUNNY_002 }, { NPC_LUMA_SKYMOTHER, DATA_LUMA_SKYMOTHER }, - { 0, 0, } }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_MENNU_THE_BETRAYER, {{ 1939 }} }, { DATA_ROKMAR_THE_CRACKLER, {{ 1941 }} }, @@ -53,7 +52,7 @@ public: { counter = DATA_FLAMECALLER_000; SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDungeonEncounterData(encounters); } diff --git a/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp b/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp index a49af27f8a..76fcfe826f 100644 --- a/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp +++ b/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp @@ -20,24 +20,22 @@ #include "gruuls_lair.h" #include "InstanceScript.h" -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_MAULGAR_DOOR, DATA_MAULGAR, EncounterDoorBehavior::OpenWhenDone }, { GO_GRUUL_DOOR, DATA_GRUUL, EncounterDoorBehavior::OpenWhenNotInProgress }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -MinionData const minionData[] = +static constexpr MinionData minionData[] = { { NPC_MAULGAR, DATA_MAULGAR }, { NPC_KROSH_FIREHAND, DATA_MAULGAR }, { NPC_OLM_THE_SUMMONER, DATA_MAULGAR }, { NPC_KIGGLER_THE_CRAZED, DATA_MAULGAR }, { NPC_BLINDEYE_THE_SEER, DATA_MAULGAR }, - { 0, 0 } }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_MAULGAR, {{ 649 }} }, { DATA_GRUUL, {{ 650 }} } 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 db2fe84bb7..459bd0010b 100644 --- a/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp @@ -22,7 +22,7 @@ #include "Map.h" #include "ScriptedCreature.h" -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_PRISON_DOOR_01, DATA_KELIDAN_THE_BREAKER, EncounterDoorBehavior::OpenWhenDone }, { GO_PRISON_DOOR_02, DATA_THE_MAKER, EncounterDoorBehavior::OpenWhenNotInProgress }, @@ -30,22 +30,19 @@ DoorData const doorData[] = { GO_PRISON_DOOR_04, DATA_BROGGOK, EncounterDoorBehavior::OpenWhenDone }, { GO_PRISON_DOOR_05, DATA_BROGGOK, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_SUMMON_DOOR, DATA_KELIDAN_THE_BREAKER, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_BROGGOK, DATA_BROGGOK }, - { 0, 0 } // END }; -ObjectData const gameObjectData[] = +static constexpr ObjectData gameObjectData[] = { { GO_BROGGOK_LEVER, DATA_BROGGOK_LEVER }, - { 0, 0 } //END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_THE_MAKER, {{ 1922 }} }, { DATA_BROGGOK, {{ 1924 }} }, 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 551a56014d..ce4758b50c 100644 --- a/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/MagtheridonsLair/instance_magtheridons_lair.cpp @@ -28,21 +28,19 @@ BossBoundaryData const boundaries = { DATA_MAGTHERIDON, new CircleBoundary(Position(-18.70f, 2.24f), 52.30f) } }; -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_MAGTHERIDON_DOOR, DATA_MAGTHERIDON, EncounterDoorBehavior::OpenWhenNotInProgress }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_MAGTHERIDON, DATA_MAGTHERIDON }, { NPC_WORLD_TRIGGER, DATA_WORLD_TRIGGER }, - { 0, 0 } // END }; -ObjectData const gameObjectData[] = +static constexpr ObjectData gameObjectData[] = { { GO_MAGTHERIDON_HALL, DATA_MAGTHERIDON_HALL }, { GO_MAGTHERIDON_COLUMN_0, DATA_MAGTHERIDON_COLUMN_0 }, @@ -51,10 +49,9 @@ ObjectData const gameObjectData[] = { GO_MAGTHERIDON_COLUMN_3, DATA_MAGTHERIDON_COLUMN_3 }, { GO_MAGTHERIDON_COLUMN_4, DATA_MAGTHERIDON_COLUMN_4 }, { GO_MAGTHERIDON_COLUMN_5, DATA_MAGTHERIDON_COLUMN_5 }, - { 0, 0 } //END }; -static MLDataTypes const collapseObjectDatas[] = +static constexpr MLDataTypes collapseObjectDatas[] = { DATA_MAGTHERIDON_COLUMN_0, DATA_MAGTHERIDON_COLUMN_1, @@ -64,7 +61,7 @@ static MLDataTypes const collapseObjectDatas[] = DATA_MAGTHERIDON_COLUMN_5, }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_MAGTHERIDON, {{ 651 }} } }; 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 179370727c..01e9f55f0c 100644 --- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp @@ -29,16 +29,14 @@ EndScriptData */ #include "ScriptedCreature.h" #include "shattered_halls.h" #include "SpellAuras.h" -#include "TemporarySummon.h" -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_GRAND_WARLOCK_CHAMBER_DOOR_1, DATA_NETHEKURSE, EncounterDoorBehavior::OpenWhenDone }, { GO_GRAND_WARLOCK_CHAMBER_DOOR_2, DATA_NETHEKURSE, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_NETHEKURSE, {{ 1936 }} }, { DATA_PORUNG, {{ 1935 }} }, 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 18c6ff9be4..ba2430012a 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/instance_the_eye.cpp @@ -16,7 +16,6 @@ */ #include "ScriptMgr.h" -#include "Creature.h" #include "InstanceScript.h" #include "the_eye.h" @@ -27,14 +26,13 @@ 3 - Kael'thas */ -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_ARCANE_DOOR_LEFT, DATA_KAELTHAS, EncounterDoorBehavior::OpenWhenNotInProgress/*, BOUNDARY_SW */ }, { GO_ARCANE_DOOR_RIGHT, DATA_KAELTHAS, EncounterDoorBehavior::OpenWhenNotInProgress/*, BOUNDARY_SE */ }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { NPC_ALAR, DATA_ALAR }, { NPC_VOID_REAVER, DATA_VOID_REAVER }, @@ -44,18 +42,16 @@ ObjectData const creatureData[] = { NPC_SANGUINAR, DATA_SANGUINAR }, { NPC_TELONICUS, DATA_TELONICUS }, { NPC_THALADRED, DATA_THALADRED }, - { 0, 0 } // END }; -ObjectData const gameObjectData[] = +static constexpr ObjectData gameObjectData[] = { { GO_KAEL_STATUE_RIGHT, DATA_KAEL_STATUE_RIGHT }, { GO_KAEL_STATUE_LEFT, DATA_KAEL_STATUE_LEFT }, { GO_TEMPEST_BRIDDGE_WINDOW, DATA_TEMPEST_BRIDGE_WINDOW }, - { 0, 0 } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_KAELTHAS, {{ 733 }} }, { DATA_ALAR, {{ 730 }} }, diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/instance_mechanar.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/instance_mechanar.cpp index 08ed65c9bb..48ae6556a6 100644 --- a/src/server/scripts/Outland/TempestKeep/Mechanar/instance_mechanar.cpp +++ b/src/server/scripts/Outland/TempestKeep/Mechanar/instance_mechanar.cpp @@ -19,15 +19,14 @@ #include "InstanceScript.h" #include "mechanar.h" -static DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_DOOR_MOARG_1, DATA_GATEWATCHER_IRON_HAND, EncounterDoorBehavior::OpenWhenDone }, { GO_DOOR_MOARG_2, DATA_GATEWATCHER_GYROKILL, EncounterDoorBehavior::OpenWhenDone }, { GO_DOOR_NETHERMANCER, DATA_NETHERMANCER_SEPRETHREA, EncounterDoorBehavior::OpenWhenNotInProgress }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_GATEWATCHER_GYROKILL, {{ 1933 }} }, { DATA_GATEWATCHER_IRON_HAND, {{ 1934 }} }, diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp index 753401e34e..cbc009dade 100644 --- a/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp +++ b/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp @@ -22,14 +22,13 @@ #include "InstanceScript.h" #include "Map.h" -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_CONTAINMENT_CORE_SECURITY_FIELD_ALPHA, DATA_SOCCOTHRATES, EncounterDoorBehavior::OpenWhenDone }, { GO_CONTAINMENT_CORE_SECURITY_FIELD_BETA, DATA_DALLIAH, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_ZEREKETH, {{ 1916 }} }, { DATA_DALLIAH, {{ 1913 }} }, diff --git a/src/server/scripts/Shadowlands/SanctumOfDomination/instance_sanctum_of_domination.cpp b/src/server/scripts/Shadowlands/SanctumOfDomination/instance_sanctum_of_domination.cpp index dfba70edc8..4eedbea84a 100644 --- a/src/server/scripts/Shadowlands/SanctumOfDomination/instance_sanctum_of_domination.cpp +++ b/src/server/scripts/Shadowlands/SanctumOfDomination/instance_sanctum_of_domination.cpp @@ -19,11 +19,10 @@ #include "GameObject.h" #include "InstanceScript.h" #include "Map.h" -#include "Player.h" #include "ScriptMgr.h" #include "sanctum_of_domination.h" -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { BOSS_SYLVANAS_WINDRUNNER, DATA_SYLVANAS_WINDRUNNER }, { NPC_SYLVANAS_SHADOWCOPY_RIDING, DATA_SYLVANAS_SHADOWCOPY_RIDING }, @@ -31,10 +30,9 @@ ObjectData const creatureData[] = { NPC_JAINA_PROUDMOORE_PINNACLE, DATA_JAINA_PROUDMOORE_PINNACLE }, { NPC_THRALL_PINNACLE, DATA_THRALL_PINNACLE }, { NPC_THRONE_OF_THE_DAMNED, DATA_THRONE_OF_THE_DAMNED }, - { 0, 0 } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_THE_TARRAGRUE, {{ 2423 }} }, { DATA_THE_EYE_OF_THE_JAILER, {{ 2433 }} }, @@ -60,7 +58,7 @@ public: SetHeaders(DataHeader); SetBossNumber(EncounterCount); LoadDungeonEncounterData(encounters); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); SylvanasIntroductionState = NOT_STARTED; } diff --git a/src/server/scripts/Shadowlands/SepulcherOfTheFirstOnes/instance_sepulcher_of_the_first_ones.cpp b/src/server/scripts/Shadowlands/SepulcherOfTheFirstOnes/instance_sepulcher_of_the_first_ones.cpp index 9f6f05989b..8b0352ebc6 100644 --- a/src/server/scripts/Shadowlands/SepulcherOfTheFirstOnes/instance_sepulcher_of_the_first_ones.cpp +++ b/src/server/scripts/Shadowlands/SepulcherOfTheFirstOnes/instance_sepulcher_of_the_first_ones.cpp @@ -19,11 +19,10 @@ #include "Creature.h" #include "CreatureAI.h" #include "InstanceScript.h" -#include "Map.h" #include "ScriptMgr.h" #include "sepulcher_of_the_first_ones.h" -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { // Anduin Wrynn { BOSS_ANDUIN_WRYNN, DATA_ANDUIN_WRYNN }, @@ -37,7 +36,6 @@ ObjectData const creatureData[] = { NPC_BEACON_OF_HOPE, DATA_BEACON_OF_HOPE }, { NPC_QUARTERMASTER_RAHM_ANDUIN, DATA_QUARTERMASTER_RAHM_ANDUIN }, { NPC_BOLVAR_FORDRAGON_ANDUIN, DATA_BOLVAR_FORDRAGON_ANDUIN }, - { 0, 0 } }; BossBoundaryData const boundaries = @@ -45,14 +43,13 @@ BossBoundaryData const boundaries = { DATA_ANDUIN_WRYNN, new CircleBoundary({ -3825.0601f, -2715.4600f }, 45.0f)}, }; -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GAMEOBJECT_BRIDGE_TO_ANDUIN, DATA_ANDUIN_WRYNN, EncounterDoorBehavior::OpenWhenInProgress }, { GAMEOBJECT_BRIDGE_AFTER_ANDUIN, DATA_ANDUIN_WRYNN, EncounterDoorBehavior::OpenWhenNotDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenInProgress } }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_ANDUIN_WRYNN, {{ 2546 }} }, }; @@ -70,7 +67,7 @@ public: SetBossNumber(EncounterCount); LoadDungeonEncounterData(encounters); LoadBossBoundaries(boundaries); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDoorData(doorData); AnduinIntroductionState = NOT_STARTED; diff --git a/src/server/scripts/Zandalar/AtalDazar/instance_atal_dazar.cpp b/src/server/scripts/Zandalar/AtalDazar/instance_atal_dazar.cpp index 3181993969..aaf1876062 100644 --- a/src/server/scripts/Zandalar/AtalDazar/instance_atal_dazar.cpp +++ b/src/server/scripts/Zandalar/AtalDazar/instance_atal_dazar.cpp @@ -51,25 +51,23 @@ BossBoundaryData const boundaries = )}, }; -constexpr ObjectData creatureData[] = +static constexpr ObjectData creatureData[] = { { BOSS_PRIESTESS_ALUNZA, DATA_PRIESTESS_ALUNZA }, { BOSS_VOLKAAL, DATA_VOLKAAL }, { BOSS_REZAN, DATA_REZAN }, { BOSS_YAZMA, DATA_YAZMA }, - { 0, 0 } // END }; -constexpr DoorData doorData[] = +static constexpr DoorData doorData[] = { { GO_VOLKAAL_DOOR_1, DATA_VOLKAAL, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_VOLKAAL_DOOR_2, DATA_VOLKAAL, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_VOLKAAL_DOOR_3, DATA_VOLKAAL, EncounterDoorBehavior::OpenWhenNotInProgress }, { GO_VOLKAAL_DOOR_4, DATA_VOLKAAL, EncounterDoorBehavior::OpenWhenNotInProgress }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -constexpr DungeonEncounterData encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_PRIESTESS_ALUNZA, {{ 2084 }} }, { DATA_VOLKAAL, {{ 2085 }} }, @@ -88,7 +86,7 @@ public: { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDoorData(doorData); LoadBossBoundaries(boundaries); LoadDungeonEncounterData(encounters); diff --git a/src/server/scripts/Zandalar/KingsRest/instance_kings_rest.cpp b/src/server/scripts/Zandalar/KingsRest/instance_kings_rest.cpp index 7e3d942edf..628ef943e9 100644 --- a/src/server/scripts/Zandalar/KingsRest/instance_kings_rest.cpp +++ b/src/server/scripts/Zandalar/KingsRest/instance_kings_rest.cpp @@ -21,7 +21,7 @@ #include "ScriptMgr.h" #include "kings_rest.h" -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { BOSS_GOLDEN_SERPENT, DATA_GOLDEN_SERPENT }, { BOSS_MCHIMBA_THE_EMBALMER, DATA_MCHIMBA_THE_EMBALMER }, @@ -29,23 +29,20 @@ ObjectData const creatureData[] = { BOSS_ZANAZAL_THE_WISE, DATA_ZANAZAL_THE_WISE }, { BOSS_KULA_THE_BUTCHER, DATA_KULA_THE_BUTCHER }, { BOSS_KING_DAZAR, DATA_KING_DAZAR }, - { 0, 0 } // END }; -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_KINGS_REST_SERPENT_POST_DOOR, DATA_GOLDEN_SERPENT, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -ObjectData const objectData[] = +static constexpr ObjectData objectData[] = { { GO_KINGS_REST_ENTRYWAY_DOOR, DATA_KINGS_REST_INTRO_DOOR }, { GO_KINGS_REST_LIQUID_GOLD_POOL, DATA_KINGS_REST_LIQUID_POOL }, - { 0, 0 } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_GOLDEN_SERPENT, {{ 2139 }} }, { DATA_COUNCIL_OF_TRIBES, {{ 2140 }} }, diff --git a/src/server/scripts/Zandalar/Underrot/instance_underrot.cpp b/src/server/scripts/Zandalar/Underrot/instance_underrot.cpp index 5aa6629d1d..21c9fbfdf3 100644 --- a/src/server/scripts/Zandalar/Underrot/instance_underrot.cpp +++ b/src/server/scripts/Zandalar/Underrot/instance_underrot.cpp @@ -27,22 +27,20 @@ BossBoundaryData const boundaries = { BOSS_SPORECALLER_ZANCHA, new ZRangeBoundary(35.240f, 26.790f) } }; -ObjectData const creatureData[] = +static constexpr ObjectData creatureData[] = { { BOSS_ELDER_LEAXA, DATA_ELDER_LEAXA }, { BOSS_SPORECALLER_ZANCHA, DATA_SPORECALLER_ZANCHA }, { BOSS_CRAGMAW_THE_INFESTED, DATA_CRAGMAW_THE_INFESTED }, { BOSS_UNBOUND_ABOMINATION, DATA_UNBOUND_ABOMINATION }, - { 0, 0 } // END }; -DoorData const doorData[] = +static constexpr DoorData doorData[] = { { GO_WALL_DOOR_SHORTCUT_ENTRANCE, DATA_SPORECALLER_ZANCHA, EncounterDoorBehavior::OpenWhenDone }, - { 0, 0, EncounterDoorBehavior::OpenWhenNotInProgress } // END }; -DungeonEncounterData const encounters[] = +static constexpr DungeonEncounterData encounters[] = { { DATA_ELDER_LEAXA, {{ 2111 }} }, { DATA_CRAGMAW_THE_INFESTED, {{ 2118 }} }, @@ -61,7 +59,7 @@ public: { SetHeaders(DataHeader); SetBossNumber(EncounterCount); - LoadObjectData(creatureData, nullptr); + LoadObjectData(creatureData, {}); LoadDoorData(doorData); LoadBossBoundaries(boundaries); LoadDungeonEncounterData(encounters);