aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Quests
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-03-13 18:51:29 +0100
committerShauren <shauren.trinity@gmail.com>2024-03-13 18:51:29 +0100
commit4779fa5048642b57a0f69de7ab56b9d563c1cbc4 (patch)
tree9bd8f8daccb5d3e7f8e98c3556db8f3c9b204460 /src/server/game/Quests
parent18200e1b88596dbead10d0b8ecbd10557db43323 (diff)
Core/Misc: Use our new unique_trackable_ptr for various classes exposed to scripts (not actually used anywhere currently)
Diffstat (limited to 'src/server/game/Quests')
-rw-r--r--src/server/game/Quests/QuestDef.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/server/game/Quests/QuestDef.h b/src/server/game/Quests/QuestDef.h
index ba7a0470c4f..e91e0396913 100644
--- a/src/server/game/Quests/QuestDef.h
+++ b/src/server/game/Quests/QuestDef.h
@@ -25,6 +25,7 @@
#include "Optional.h"
#include "RaceMask.h"
#include "SharedDefines.h"
+#include "UniqueTrackablePtr.h"
#include "WorldPacket.h"
#include <bitset>
#include <vector>
@@ -719,6 +720,8 @@ class TC_GAME_API Quest
// Helpers
static uint32 RoundXPValue(uint32 xp);
+ Trinity::unique_weak_ptr<Quest> GetWeakPtr() const { return _weakRef; }
+
std::vector<uint32> DependentPreviousQuests;
std::vector<uint32> DependentBreadcrumbQuests;
std::array<WorldPacket, TOTAL_LOCALES> QueryData;
@@ -828,6 +831,8 @@ class TC_GAME_API Quest
uint32 _specialFlags = 0; // custom flags, not sniffed/WDB
std::bitset<MAX_QUEST_OBJECTIVE_TYPE> _usedQuestObjectiveTypes;
uint32 _scriptId = 0;
+
+ Trinity::unique_weak_ptr<Quest> _weakRef;
};
struct QuestStatusData