diff options
author | Shauren <shauren.trinity@gmail.com> | 2023-07-07 14:01:19 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2023-07-07 14:01:19 +0200 |
commit | b7f06c154c74549f2540a9f31aa37206d657e548 (patch) | |
tree | e0923bf2fb18c7da9be98c8dbbe36086acb87565 | |
parent | 02da2ae270ceeb358de4fee820484f79ccc4acaf (diff) |
Core/Scenarios: Move map from InstanceScenario to base class
-rw-r--r-- | src/server/game/Scenarios/InstanceScenario.cpp | 4 | ||||
-rw-r--r-- | src/server/game/Scenarios/InstanceScenario.h | 4 | ||||
-rw-r--r-- | src/server/game/Scenarios/Scenario.cpp | 9 | ||||
-rw-r--r-- | src/server/game/Scenarios/Scenario.h | 4 |
4 files changed, 11 insertions, 10 deletions
diff --git a/src/server/game/Scenarios/InstanceScenario.cpp b/src/server/game/Scenarios/InstanceScenario.cpp index c73a5edc136..09eaf707dcf 100644 --- a/src/server/game/Scenarios/InstanceScenario.cpp +++ b/src/server/game/Scenarios/InstanceScenario.cpp @@ -26,7 +26,7 @@ #include "ScenarioMgr.h" #include "StringFormat.h" -InstanceScenario::InstanceScenario(InstanceMap const* map, ScenarioData const* scenarioData) : Scenario(scenarioData), _map(map) +InstanceScenario::InstanceScenario(InstanceMap* map, ScenarioData const* scenarioData) : Scenario(map, scenarioData) { ASSERT(_map); LoadInstanceData(); @@ -39,7 +39,7 @@ InstanceScenario::InstanceScenario(InstanceMap const* map, ScenarioData const* s void InstanceScenario::LoadInstanceData() { - InstanceScript const* instanceScript = _map->GetInstanceScript(); + InstanceScript const* instanceScript = _map->ToInstanceMap()->GetInstanceScript(); if (!instanceScript) return; diff --git a/src/server/game/Scenarios/InstanceScenario.h b/src/server/game/Scenarios/InstanceScenario.h index 8bd9385ea61..edd4e1d05d4 100644 --- a/src/server/game/Scenarios/InstanceScenario.h +++ b/src/server/game/Scenarios/InstanceScenario.h @@ -25,15 +25,13 @@ class InstanceMap; class TC_GAME_API InstanceScenario : public Scenario { public: - InstanceScenario(InstanceMap const* map, ScenarioData const* scenarioData); + InstanceScenario(InstanceMap* map, ScenarioData const* scenarioData); void LoadInstanceData(); protected: std::string GetOwnerInfo() const override; void SendPacket(WorldPacket const* data) const override; - - InstanceMap const* _map; }; #endif // InstanceScenario_h__ diff --git a/src/server/game/Scenarios/Scenario.cpp b/src/server/game/Scenarios/Scenario.cpp index ddd519e27b2..db08c9a379d 100644 --- a/src/server/game/Scenarios/Scenario.cpp +++ b/src/server/game/Scenarios/Scenario.cpp @@ -23,7 +23,8 @@ #include "ScenarioMgr.h" #include "ScenarioPackets.h" -Scenario::Scenario(ScenarioData const* scenarioData) : _data(scenarioData), _currentstep(nullptr) +Scenario::Scenario(Map* map, ScenarioData const* scenarioData) : _map(map), _data(scenarioData), + _currentstep(nullptr) { ASSERT(_data); @@ -39,7 +40,7 @@ Scenario::Scenario(ScenarioData const* scenarioData) : _data(scenarioData), _cur Scenario::~Scenario() { for (ObjectGuid guid : _players) - if (Player* player = ObjectAccessor::FindPlayer(guid)) + if (Player* player = ObjectAccessor::GetPlayer(_map, guid)) SendBootPlayer(player); _players.clear(); @@ -55,7 +56,7 @@ void Scenario::CompleteStep(ScenarioStepEntry const* step) { if (Quest const* quest = sObjectMgr->GetQuestTemplate(step->RewardQuestID)) for (ObjectGuid guid : _players) - if (Player* player = ObjectAccessor::FindPlayer(guid)) + if (Player* player = ObjectAccessor::GetPlayer(_map, guid)) player->RewardQuest(quest, LootItemType::Item, 0, nullptr, false); if (step->IsBonusObjective()) @@ -215,7 +216,7 @@ bool Scenario::IsCompletedStep(ScenarioStepEntry const* step) void Scenario::SendPacket(WorldPacket const* data) const { for (ObjectGuid guid : _players) - if (Player* player = ObjectAccessor::FindPlayer(guid)) + if (Player* player = ObjectAccessor::GetPlayer(_map, guid)) player->SendDirectMessage(data); } diff --git a/src/server/game/Scenarios/Scenario.h b/src/server/game/Scenarios/Scenario.h index 65bd75c8362..51f1de55b95 100644 --- a/src/server/game/Scenarios/Scenario.h +++ b/src/server/game/Scenarios/Scenario.h @@ -21,6 +21,7 @@ #include "CriteriaHandler.h" #include <unordered_set> +class Map; struct ScenarioData; struct ScenarioEntry; struct ScenarioStepEntry; @@ -50,7 +51,7 @@ enum ScenarioStepState class TC_GAME_API Scenario : public CriteriaHandler { public: - Scenario(ScenarioData const* scenarioData); + Scenario(Map* map, ScenarioData const* scenarioData); ~Scenario(); void Reset() override; @@ -76,6 +77,7 @@ class TC_GAME_API Scenario : public CriteriaHandler void SendBootPlayer(Player* player); protected: + Map const* _map; GuidUnorderedSet _players; void SendCriteriaUpdate(Criteria const* criteria, CriteriaProgress const* progress, Seconds timeElapsed, bool timedCompleted) const override; |