aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Quests/QuestDef.h
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-08-02 13:25:41 +0200
committerShauren <shauren.trinity@gmail.com>2024-08-02 13:25:41 +0200
commite59eef5432c7b70679d33f4911c88d0f7d75fd39 (patch)
treefe9bce9c82496589facec3719b3f2943d8295e76 /src/server/game/Quests/QuestDef.h
parent7fb9168d57f378075b0f6692ea7ad822c1d8e43d (diff)
Core/PacketIO: Updated to 11.0.0
Diffstat (limited to 'src/server/game/Quests/QuestDef.h')
-rw-r--r--src/server/game/Quests/QuestDef.h97
1 files changed, 62 insertions, 35 deletions
diff --git a/src/server/game/Quests/QuestDef.h b/src/server/game/Quests/QuestDef.h
index 39fc4862638..3d34b4d2565 100644
--- a/src/server/game/Quests/QuestDef.h
+++ b/src/server/game/Quests/QuestDef.h
@@ -154,39 +154,53 @@ enum QuestStatus : uint8
enum class QuestGiverStatus : uint64
{
- None = 0x000000000,
- Future = 0x000000002,
- Trivial = 0x000000004,
- TrivialRepeatableTurnin = 0x000000008,
- TrivialDailyQuest = 0x000000010,
- Reward = 0x000000020,
- JourneyReward = 0x000000040,
- CovenantCallingReward = 0x000000080,
- RepeatableTurnin = 0x000000100,
- DailyQuest = 0x000000200,
- Quest = 0x000000400,
- RewardCompleteNoPOI = 0x000000800,
- RewardCompletePOI = 0x000001000,
- LegendaryQuest = 0x000002000,
- LegendaryRewardCompleteNoPOI = 0x000004000,
- LegendaryRewardCompletePOI = 0x000008000,
- JourneyQuest = 0x000010000,
- JourneyRewardCompleteNoPOI = 0x000020000,
- JourneyRewardCompletePOI = 0x000040000,
- CovenantCallingQuest = 0x000080000,
- CovenantCallingRewardCompleteNoPOI = 0x000100000,
- CovenantCallingRewardCompletePOI = 0x000200000,
- TrivialLegendaryQuest = 0x000400000,
- FutureLegendaryQuest = 0x000800000,
- LegendaryReward = 0x001000000,
- ImportantReward = 0x002000000,
- ImportantQuest = 0x004000000,
- TrivialImportantQuest = 0x008000000,
- FutureImportantQuest = 0x010000000,
- ImportantQuestRewardCompleteNoPOI = 0x020000000,
- ImportantQuestRewardCompletePOI = 0x040000000,
- TrivialJourneyQuest = 0x080000000,
- FutureJourneyQuest = 0x100000000,
+ None = 0x000000000000,
+ Future = 0x000000000002,
+ FutureJourneyQuest = 0x000000000004,
+ FutureLegendaryQuest = 0x000000000008,
+ FutureImportantQuest = 0x000000000010,
+ TrivialRepeatableTurnin = 0x000000000020,
+ Trivial = 0x000000000040,
+ TrivialDailyQuest = 0x000000000080,
+ TrivialRepeatableQuest = 0x000000000100,
+ TrivialMetaQuest = 0x000000000200,
+ TrivialJourneyQuest = 0x000000000400,
+ TrivialLegendaryQuest = 0x000000000800,
+ TrivialImportantQuest = 0x000000001000,
+ Reward = 0x000000002000,
+ RepeatableReward = 0x000000004000,
+ MetaReward = 0x000000008000,
+ JourneyReward = 0x000000010000,
+ CovenantCallingReward = 0x000000020000,
+ LegendaryReward = 0x000000040000,
+ ImportantReward = 0x000000080000,
+ RepeatableTurnin = 0x000000100000,
+ QuestAccountCompleted = 0x000000200000,
+ Quest = 0x000000400000,
+ DailyQuest = 0x000000800000,
+ RepeatableQuest = 0x000001000000,
+ MetaQuest = 0x000002000000,
+ CovenantCallingQuest = 0x000004000000,
+ JourneyQuestAccountCompleted = 0x000008000000,
+ JourneyQuest = 0x000010000000,
+ LegendaryQuestAccountCompleted = 0x000020000000,
+ LegendaryQuest = 0x000040000000,
+ ImportantQuestAccountCompleted = 0x000080000000,
+ ImportantQuest = 0x000100000000,
+ RewardCompleteNoPOI = 0x000200000000,
+ RewardCompletePOI = 0x000400000000,
+ RepeatableRewardCompleteNoPOI = 0x000800000000,
+ RepeatableRewardCompletePOI = 0x001000000000,
+ MetaQuestRewardCompleteNoPOI = 0x002000000000,
+ MetaQuestRewardCompletePOI = 0x004000000000,
+ CovenantCallingRewardCompleteNoPOI = 0x008000000000,
+ CovenantCallingRewardCompletePOI = 0x010000000000,
+ JourneyRewardCompleteNoPOI = 0x020000000000,
+ JourneyRewardCompletePOI = 0x040000000000,
+ LegendaryRewardCompleteNoPOI = 0x080000000000,
+ LegendaryRewardCompletePOI = 0x100000000000,
+ ImportantQuestRewardCompleteNoPOI = 0x200000000000,
+ ImportantQuestRewardCompletePOI = 0x400000000000,
};
DEFINE_ENUM_FLAG(QuestGiverStatus);
@@ -292,6 +306,8 @@ enum QuestFlagsEx2 : uint32
QUEST_FLAGS_EX2_IGNORE_SOULBOUND_ITEMS = 0x00200000,
QUEST_FLAGS_EX2_DONT_DEFER_START_EFFECTS = 0x00400000,
QUEST_FLAGS_EX2_HIDE_REQUIRED_ITEMS_PRE_TURN_IN = 0x00800000,
+
+ QUEST_FLAGS_EX2_ABANDON_ON_DISABLE = 0x04000000,
};
enum QuestSpecialFlags
@@ -390,6 +406,13 @@ enum class QuestCompleteSpellType : uint32
Max
};
+enum class QuestRewardContextFlags : int32
+{
+ None = 0x0,
+ FirstCompletionBonus = 0x1,
+ RepeatCompletionBonus = 0x2
+};
+
struct QuestGreeting
{
uint16 EmoteType;
@@ -560,6 +583,7 @@ class TC_GAME_API Quest
void LoadConditionalConditionalRequestItemsText(Field* fields);
void LoadConditionalConditionalOfferRewardText(Field* fields);
void LoadConditionalConditionalQuestCompletionLog(Field* fields);
+ void LoadTreasurePickers(Field* fields);
uint32 XPValue(Player const* player) const;
static uint32 XPValue(Player const* player, uint32 contentTuningId, uint32 xpDifficulty, float xpMultiplier = 1.0f, int32 expansion = -1);
@@ -568,6 +592,7 @@ class TC_GAME_API Quest
uint32 GetMaxMoneyReward() const;
Optional<QuestTagType> GetQuestTag() const;
bool IsImportant() const;
+ bool IsMeta() const;
bool HasFlag(QuestFlags flag) const { return (_flags & uint32(flag)) != 0; }
bool HasFlagEx(QuestFlagsEx flag) const { return (_flagsEx & uint32(flag)) != 0; }
@@ -666,7 +691,7 @@ class TC_GAME_API Quest
uint32 GetRewardSkillId() const { return _rewardSkillId; }
uint32 GetRewardSkillPoints() const { return _rewardSkillPoints; }
uint32 GetRewardReputationMask() const { return _rewardReputationMask; }
- int32 GetTreasurePickerId() const { return _treasurePickerID; }
+ std::vector<int32> const& GetTreasurePickerId() const { return _treasurePickerID; }
int32 GetExpansion() const { return _expansion; }
int32 GetManagedWorldStateId() const { return _managedWorldStateID; }
int32 GetQuestSessionBonus() const { return _questSessionBonus; }
@@ -685,6 +710,7 @@ class TC_GAME_API Quest
bool IsPushedToPartyOnAccept() const { return HasSpecialFlag(QUEST_SPECIAL_FLAGS_AUTO_PUSH_TO_PARTY); }
uint32 CalculateHonorGain(uint8 level) const;
bool CanIncreaseRewardedQuestCounters() const;
+ bool IsResetByScheduler() const { return _resetByScheduler; }
// multiple values
std::vector<QuestRewardDisplaySpell> RewardDisplaySpell;
@@ -777,7 +803,7 @@ class TC_GAME_API Quest
uint32 _areaGroupID = 0;
int64 _limitTime = 0;
Trinity::RaceMask<uint64> _allowableRaces;
- int32 _treasurePickerID = 0;
+ std::vector<int32> _treasurePickerID;
int32 _expansion = 0;
int32 _managedWorldStateID = 0;
int32 _questSessionBonus = 0;
@@ -790,6 +816,7 @@ class TC_GAME_API Quest
std::string _portraitTurnInText;
std::string _portraitTurnInName;
std::string _questCompletionLog;
+ bool _resetByScheduler;
// quest_description_conditional
std::vector<QuestConditionalText> _conditionalQuestDescription;