aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-07-07 14:01:19 +0200
committerShauren <shauren.trinity@gmail.com>2023-07-07 14:01:19 +0200
commitb7f06c154c74549f2540a9f31aa37206d657e548 (patch)
treee0923bf2fb18c7da9be98c8dbbe36086acb87565
parent02da2ae270ceeb358de4fee820484f79ccc4acaf (diff)
Core/Scenarios: Move map from InstanceScenario to base class
-rw-r--r--src/server/game/Scenarios/InstanceScenario.cpp4
-rw-r--r--src/server/game/Scenarios/InstanceScenario.h4
-rw-r--r--src/server/game/Scenarios/Scenario.cpp9
-rw-r--r--src/server/game/Scenarios/Scenario.h4
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;