TrinityCore
Loading...
Searching...
No Matches
QuestDef.h File Reference
#include "Common.h"
#include "DatabaseEnvFwd.h"
#include "EnumFlag.h"
#include "LootItemType.h"
#include "Optional.h"
#include "RaceMask.h"
#include "SharedDefines.h"
#include "WorldPacket.h"
#include <bitset>
#include <vector>
+ Include dependency graph for QuestDef.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  QuestGreeting
 
struct  QuestGreetingLocale
 
struct  QuestTemplateLocale
 
struct  QuestRequestItemsLocale
 
struct  QuestObjectivesLocale
 
struct  QuestOfferRewardLocale
 
struct  QuestObjective
 
struct  QuestRewardDisplaySpell
 
struct  QuestConditionalText
 
class  Quest
 
struct  QuestStatusData
 

Namespaces

namespace  WorldPackets
 
namespace  WorldPackets::Quest
 

Macros

#define MAX_QUEST_LOG_SIZE   35
 
#define QUEST_ITEM_DROP_COUNT   4
 
#define QUEST_REWARD_CHOICES_COUNT   6
 
#define QUEST_REWARD_ITEM_COUNT   4
 
#define QUEST_DEPLINK_COUNT   10
 
#define QUEST_REWARD_REPUTATIONS_COUNT   5
 
#define QUEST_EMOTE_COUNT   4
 
#define QUEST_REWARD_CURRENCY_COUNT   4
 
#define QUEST_REWARD_DISPLAY_SPELL_COUNT   3
 

Typedefs

using QuestObjectives = std::vector< QuestObjective >
 

Enumerations

enum  QuestFailedReason : uint32 {
  QUEST_ERR_NONE = 0 , QUEST_ERR_FAILED_LOW_LEVEL = 1 , QUEST_ERR_FAILED_WRONG_RACE = 6 , QUEST_ERR_ALREADY_DONE = 7 ,
  QUEST_ERR_ONLY_ONE_TIMED = 12 , QUEST_ERR_ALREADY_ON1 = 13 , QUEST_ERR_FAILED_EXPANSION = 16 , QUEST_ERR_ALREADY_ON2 = 18 ,
  QUEST_ERR_FAILED_MISSING_ITEMS = 21 , QUEST_ERR_FAILED_NOT_ENOUGH_MONEY = 23 , QUEST_ERR_FAILED_CAIS = 24 , QUEST_ERR_ALREADY_DONE_DAILY = 26 ,
  QUEST_ERR_FAILED_SPELL = 28 , QUEST_ERR_HAS_IN_PROGRESS = 30
}
 
enum class  QuestPushReason : uint8 {
  Success = 0 , Invalid = 1 , InvalidToRecipient = 2 , Accepted = 3 ,
  Declined = 4 , Busy = 5 , Dead = 6 , DeadToRecipient = 7 ,
  LogFull = 8 , LogFullToRecipient = 9 , OnQuest = 10 , OnQuestToRecipient = 11 ,
  AlreadyDone = 12 , AlreadyDoneToRecipient = 13 , NotDaily = 14 , TimerExpired = 15 ,
  NotInParty = 16 , DifferentServerDaily = 17 , DifferentServerDailyToRecipient = 18 , NotAllowed = 19 ,
  Prerequisite = 20 , PrerequisiteToRecipient = 21 , LowLevel = 22 , LowLevelToRecipient = 23 ,
  HighLevel = 24 , HighLevelToRecipient = 25 , Class = 26 , ClassToRecipient = 27 ,
  Race = 28 , RaceToRecipient = 29 , LowFaction = 30 , LowFactionToRecipient = 31 ,
  Expansion = 32 , ExpansionToRecipient = 33 , NotGarrisonOwner = 34 , NotGarrisonOwnerToRecipient = 35 ,
  WrongCovenant = 36 , WrongCovenantToRecipient = 37 , NewPlayerExperience = 38 , NewPlayerExperienceToRecipient = 39 ,
  WrongFaction = 40 , WrongFactionToRecipient = 41
}
 
enum  QuestTradeSkill {
  QUEST_TRSKILL_NONE = 0 , QUEST_TRSKILL_ALCHEMY = 1 , QUEST_TRSKILL_BLACKSMITHING = 2 , QUEST_TRSKILL_COOKING = 3 ,
  QUEST_TRSKILL_ENCHANTING = 4 , QUEST_TRSKILL_ENGINEERING = 5 , QUEST_TRSKILL_FIRSTAID = 6 , QUEST_TRSKILL_HERBALISM = 7 ,
  QUEST_TRSKILL_LEATHERWORKING = 8 , QUEST_TRSKILL_POISONS = 9 , QUEST_TRSKILL_TAILORING = 10 , QUEST_TRSKILL_MINING = 11 ,
  QUEST_TRSKILL_FISHING = 12 , QUEST_TRSKILL_SKINNING = 13 , QUEST_TRSKILL_JEWELCRAFTING = 14
}
 
enum  QuestStatus : uint8 {
  QUEST_STATUS_NONE = 0 , QUEST_STATUS_COMPLETE = 1 , QUEST_STATUS_INCOMPLETE = 3 , QUEST_STATUS_FAILED = 5 ,
  QUEST_STATUS_REWARDED = 6 , MAX_QUEST_STATUS
}
 
enum class  QuestGiverStatus : uint32 {
  None = 0x000000 , Future = 0x000002 , Trivial = 0x000004 , TrivialRepeatableTurnin = 0x000008 ,
  TrivialDailyQuest = 0x000010 , Reward = 0x000020 , JourneyReward = 0x000040 , CovenantCallingReward = 0x000080 ,
  RepeatableTurnin = 0x000100 , DailyQuest = 0x000200 , Quest = 0x000400 , RewardCompleteNoPOI = 0x000800 ,
  RewardCompletePOI = 0x001000 , LegendaryQuest = 0x002000 , LegendaryRewardCompleteNoPOI = 0x004000 , LegendaryRewardCompletePOI = 0x008000 ,
  JourneyQuest = 0x010000 , JourneyRewardCompleteNoPOI = 0x020000 , JourneyRewardCompletePOI = 0x040000 , CovenantCallingQuest = 0x080000 ,
  CovenantCallingRewardCompleteNoPOI = 0x100000 , CovenantCallingRewardCompletePOI = 0x200000
}
 
enum  QuestFlags : uint32 {
  QUEST_FLAGS_NONE = 0x00000000 , QUEST_FLAGS_STAY_ALIVE = 0x00000001 , QUEST_FLAGS_PARTY_ACCEPT = 0x00000002 , QUEST_FLAGS_EXPLORATION = 0x00000004 ,
  QUEST_FLAGS_SHARABLE = 0x00000008 , QUEST_FLAGS_HAS_CONDITION = 0x00000010 , QUEST_FLAGS_HIDE_REWARD_POI = 0x00000020 , QUEST_FLAGS_RAID = 0x00000040 ,
  QUEST_FLAGS_WAR_MODE_REWARDS_OPT_IN = 0x00000080 , QUEST_FLAGS_NO_MONEY_FROM_XP = 0x00000100 , QUEST_FLAGS_HIDDEN_REWARDS = 0x00000200 , QUEST_FLAGS_TRACKING = 0x00000400 ,
  QUEST_FLAGS_DEPRECATE_REPUTATION = 0x00000800 , QUEST_FLAGS_DAILY = 0x00001000 , QUEST_FLAGS_FLAGS_PVP = 0x00002000 , QUEST_FLAGS_UNAVAILABLE = 0x00004000 ,
  QUEST_FLAGS_WEEKLY = 0x00008000 , QUEST_FLAGS_AUTOCOMPLETE = 0x00010000 , QUEST_FLAGS_DISPLAY_ITEM_IN_TRACKER = 0x00020000 , QUEST_FLAGS_OBJ_TEXT = 0x00040000 ,
  QUEST_FLAGS_AUTO_ACCEPT = 0x00080000 , QUEST_FLAGS_PLAYER_CAST_ON_ACCEPT = 0x00100000 , QUEST_FLAGS_PLAYER_CAST_ON_COMPLETE = 0x00200000 , QUEST_FLAGS_UPDATE_PHASE_SHIFT = 0x00400000 ,
  QUEST_FLAGS_SOR_WHITELIST = 0x00800000 , QUEST_FLAGS_LAUNCH_GOSSIP_COMPLETE = 0x01000000 , QUEST_FLAGS_REMOVE_EXTRA_GET_ITEMS = 0x02000000 , QUEST_FLAGS_HIDE_UNTIL_DISCOVERED = 0x04000000 ,
  QUEST_FLAGS_PORTRAIT_IN_QUEST_LOG = 0x08000000 , QUEST_FLAGS_SHOW_ITEM_WHEN_COMPLETED = 0x10000000 , QUEST_FLAGS_LAUNCH_GOSSIP_ACCEPT = 0x20000000 , QUEST_FLAGS_ITEMS_GLOW_WHEN_DONE = 0x40000000 ,
  QUEST_FLAGS_FAIL_ON_LOGOUT = 0x80000000
}
 
enum  QuestFlagsEx : uint32 {
  QUEST_FLAGS_EX_NONE = 0x00000000 , QUEST_FLAGS_EX_KEEP_ADDITIONAL_ITEMS = 0x00000001 , QUEST_FLAGS_EX_SUPPRESS_GOSSIP_COMPLETE = 0x00000002 , QUEST_FLAGS_EX_SUPPRESS_GOSSIP_ACCEPT = 0x00000004 ,
  QUEST_FLAGS_EX_DISALLOW_PLAYER_AS_QUESTGIVER = 0x00000008 , QUEST_FLAGS_EX_DISPLAY_CLASS_CHOICE_REWARDS = 0x00000010 , QUEST_FLAGS_EX_DISPLAY_SPEC_CHOICE_REWARDS = 0x00000020 , QUEST_FLAGS_EX_REMOVE_FROM_LOG_ON_PERIDOIC_RESET = 0x00000040 ,
  QUEST_FLAGS_EX_ACCOUNT_LEVEL_QUEST = 0x00000080 , QUEST_FLAGS_EX_LEGENDARY_QUEST = 0x00000100 , QUEST_FLAGS_EX_NO_GUILD_XP = 0x00000200 , QUEST_FLAGS_EX_RESET_CACHE_ON_ACCEPT = 0x00000400 ,
  QUEST_FLAGS_EX_NO_ABANDON_ONCE_ANY_OBJECTIVE_COMPLETE = 0x00000800 , QUEST_FLAGS_EX_RECAST_ACCEPT_SPELL_ON_LOGIN = 0x00001000 , QUEST_FLAGS_EX_UPDATE_ZONE_AURAS = 0x00002000 , QUEST_FLAGS_EX_NO_CREDIT_FOR_PROXY = 0x00004000 ,
  QUEST_FLAGS_EX_DISPLAY_AS_DAILY_QUEST = 0x00008000 , QUEST_FLAGS_EX_PART_OF_QUEST_LINE = 0x00010000 , QUEST_FLAGS_EX_QUEST_FOR_INTERNAL_BUILDS_ONLY = 0x00020000 , QUEST_FLAGS_EX_SUPPRESS_SPELL_LEARN_TEXT_LINE = 0x00040000 ,
  QUEST_FLAGS_EX_DISPLAY_HEADER_AS_OBJECTIVE_FOR_TASKS = 0x00080000 , QUEST_FLAGS_EX_GARRISON_NON_OWNERS_ALLOWED = 0x00100000 , QUEST_FLAGS_EX_REMOVE_QUEST_ON_WEEKLY_RESET = 0x00200000 , QUEST_FLAGS_EX_SUPPRESS_FAREWELL_AUDIO_AFTER_QUEST_ACCEPT = 0x00400000 ,
  QUEST_FLAGS_EX_REWARDS_BYPASS_WEEKLY_CAPS_AND_SEASON_TOTAL = 0x00800000 , QUEST_FLAGS_EX_IS_WORLD_QUEST = 0x01000000 , QUEST_FLAGS_EX_NOT_IGNORABLE = 0x02000000 , QUEST_FLAGS_EX_AUTO_PUSH = 0x04000000 ,
  QUEST_FLAGS_EX_NO_SPELL_COMPLETE_EFFECTS = 0x08000000 , QUEST_FLAGS_EX_DO_NOT_TOAST_HONOR_REWARD = 0x10000000 , QUEST_FLAGS_EX_KEEP_REPEATABLE_QUEST_ON_FACTION_CHANGE = 0x20000000 , QUEST_FLAGS_EX_KEEP_PROGRESS_ON_FACTION_CHANGE = 0x40000000 ,
  QUEST_FLAGS_EX_PUSH_TEAM_QUEST_USING_MAP_CONTROLLER = 0x80000000
}
 
enum  QuestFlagsEx2 : uint32 {
  QUEST_FLAGS_EX2_RESET_ON_GAME_MILESTONE = 0x00000001 , QUEST_FLAGS_EX2_NO_WAR_MODE_BONUS = 0x00000002 , QUEST_FLAGS_EX2_AWARD_HIGHEST_PROFESSION = 0x00000004 , QUEST_FLAGS_EX2_NOT_REPLAYABLE = 0x00000008 ,
  QUEST_FLAGS_EX2_NO_REPLAY_REWARDS = 0x00000010 , QUEST_FLAGS_EX2_DISABLE_WAYPOINT_PATHING = 0x00000020 , QUEST_FLAGS_EX2_RESET_ON_MYTHIC_PLUS_SEASON = 0x00000040 , QUEST_FLAGS_EX2_RESET_ON_PVP_SEASON = 0x00000080 ,
  QUEST_FLAGS_EX2_ENABLE_OVERRIDE_SORT_ORDER = 0x00000100 , QUEST_FLAGS_EX2_FORCE_STARTING_LOC_ON_ZONE_MAP = 0x00000200 , QUEST_FLAGS_EX2_BONUS_LOOT_NEVER = 0x00000400 , QUEST_FLAGS_EX2_BONUS_LOOT_ALWAYS = 0x00000800 ,
  QUEST_FLAGS_EX2_HIDE_TASK_ON_MAIN_MAP = 0x00001000 , QUEST_FLAGS_EX2_HIDE_TASK_IN_TRACKER = 0x00002000 , QUEST_FLAGS_EX2_SKIP_DISABLED_CHECK = 0x00004000 , QUEST_FLAGS_EX2_ENFORCE_MAXIMUM_QUEST_LEVEL = 0x00008000
}
 
enum  QuestSpecialFlags {
  QUEST_SPECIAL_FLAGS_NONE = 0x000 , QUEST_SPECIAL_FLAGS_REPEATABLE = 0x001 , QUEST_SPECIAL_FLAGS_EXPLORATION_OR_EVENT = 0x002 , QUEST_SPECIAL_FLAGS_AUTO_ACCEPT = 0x004 ,
  QUEST_SPECIAL_FLAGS_DF_QUEST = 0x008 , QUEST_SPECIAL_FLAGS_MONTHLY = 0x010 , QUEST_SPECIAL_FLAGS_DB_ALLOWED = QUEST_SPECIAL_FLAGS_REPEATABLE | QUEST_SPECIAL_FLAGS_EXPLORATION_OR_EVENT | QUEST_SPECIAL_FLAGS_AUTO_ACCEPT | QUEST_SPECIAL_FLAGS_DF_QUEST | QUEST_SPECIAL_FLAGS_MONTHLY , QUEST_SPECIAL_FLAGS_SEQUENCED_OBJECTIVES = 0x020
}
 
enum class  QuestTagType {
  Tag , Profession , Normal , Pvp ,
  PetBattle , Bounty , Dungeon , Invasion ,
  Raid , Contribution , RatedRreward , InvasionWrapper ,
  FactionAssault , Islands , Threat , CovenantCalling
}
 
enum  QuestObjectiveType {
  QUEST_OBJECTIVE_MONSTER = 0 , QUEST_OBJECTIVE_ITEM = 1 , QUEST_OBJECTIVE_GAMEOBJECT = 2 , QUEST_OBJECTIVE_TALKTO = 3 ,
  QUEST_OBJECTIVE_CURRENCY = 4 , QUEST_OBJECTIVE_LEARNSPELL = 5 , QUEST_OBJECTIVE_MIN_REPUTATION = 6 , QUEST_OBJECTIVE_MAX_REPUTATION = 7 ,
  QUEST_OBJECTIVE_MONEY = 8 , QUEST_OBJECTIVE_PLAYERKILLS = 9 , QUEST_OBJECTIVE_AREATRIGGER = 10 , QUEST_OBJECTIVE_WINPETBATTLEAGAINSTNPC = 11 ,
  QUEST_OBJECTIVE_DEFEATBATTLEPET = 12 , QUEST_OBJECTIVE_WINPVPPETBATTLES = 13 , QUEST_OBJECTIVE_CRITERIA_TREE = 14 , QUEST_OBJECTIVE_PROGRESS_BAR = 15 ,
  QUEST_OBJECTIVE_HAVE_CURRENCY = 16 , QUEST_OBJECTIVE_OBTAIN_CURRENCY = 17 , QUEST_OBJECTIVE_INCREASE_REPUTATION = 18 , QUEST_OBJECTIVE_AREA_TRIGGER_ENTER = 19 ,
  QUEST_OBJECTIVE_AREA_TRIGGER_EXIT = 20 , MAX_QUEST_OBJECTIVE_TYPE
}
 
enum  QuestObjectiveFlags {
  QUEST_OBJECTIVE_FLAG_TRACKED_ON_MINIMAP = 0x01 , QUEST_OBJECTIVE_FLAG_SEQUENCED = 0x02 , QUEST_OBJECTIVE_FLAG_OPTIONAL = 0x04 , QUEST_OBJECTIVE_FLAG_HIDDEN = 0x08 ,
  QUEST_OBJECTIVE_FLAG_HIDE_CREDIT_MSG = 0x10 , QUEST_OBJECTIVE_FLAG_PRESERVE_QUEST_ITEMS = 0x20 , QUEST_OBJECTIVE_FLAG_PART_OF_PROGRESS_BAR = 0x40 , QUEST_OBJECTIVE_FLAG_KILL_PLAYERS_SAME_FACTION = 0x80
}
 

Functions

 DEFINE_ENUM_FLAG (QuestGiverStatus)
 

Macro Definition Documentation

◆ MAX_QUEST_LOG_SIZE

#define MAX_QUEST_LOG_SIZE   35

◆ QUEST_DEPLINK_COUNT

#define QUEST_DEPLINK_COUNT   10

◆ QUEST_EMOTE_COUNT

#define QUEST_EMOTE_COUNT   4

◆ QUEST_ITEM_DROP_COUNT

#define QUEST_ITEM_DROP_COUNT   4

◆ QUEST_REWARD_CHOICES_COUNT

#define QUEST_REWARD_CHOICES_COUNT   6

◆ QUEST_REWARD_CURRENCY_COUNT

#define QUEST_REWARD_CURRENCY_COUNT   4

◆ QUEST_REWARD_DISPLAY_SPELL_COUNT

#define QUEST_REWARD_DISPLAY_SPELL_COUNT   3

◆ QUEST_REWARD_ITEM_COUNT

#define QUEST_REWARD_ITEM_COUNT   4

◆ QUEST_REWARD_REPUTATIONS_COUNT

#define QUEST_REWARD_REPUTATIONS_COUNT   5

Typedef Documentation

◆ QuestObjectives

using QuestObjectives = std::vector<QuestObjective>

Enumeration Type Documentation

◆ QuestFailedReason

Enumerator
QUEST_ERR_NONE 
QUEST_ERR_FAILED_LOW_LEVEL 
QUEST_ERR_FAILED_WRONG_RACE 
QUEST_ERR_ALREADY_DONE 
QUEST_ERR_ONLY_ONE_TIMED 
QUEST_ERR_ALREADY_ON1 
QUEST_ERR_FAILED_EXPANSION 
QUEST_ERR_ALREADY_ON2 
QUEST_ERR_FAILED_MISSING_ITEMS 
QUEST_ERR_FAILED_NOT_ENOUGH_MONEY 
QUEST_ERR_FAILED_CAIS 
QUEST_ERR_ALREADY_DONE_DAILY 
QUEST_ERR_FAILED_SPELL 
QUEST_ERR_HAS_IN_PROGRESS 
56{
58 QUEST_ERR_FAILED_LOW_LEVEL = 1, // DESCRIPTION "You are not high enough level for that quest.""
59 QUEST_ERR_FAILED_WRONG_RACE = 6, // DESCRIPTION "That quest is not available to your race."
60 QUEST_ERR_ALREADY_DONE = 7, // DESCRIPTION "You have completed that daily quest today."
61 QUEST_ERR_ONLY_ONE_TIMED = 12, // DESCRIPTION "You can only be on one timed quest at a time"
62 QUEST_ERR_ALREADY_ON1 = 13, // DESCRIPTION "You are already on that quest"
63 QUEST_ERR_FAILED_EXPANSION = 16, // DESCRIPTION "This quest requires an expansion enabled account."
64 QUEST_ERR_ALREADY_ON2 = 18, // DESCRIPTION "You are already on that quest"
65 QUEST_ERR_FAILED_MISSING_ITEMS = 21, // DESCRIPTION "You don't have the required items with you. Check storage."
66 QUEST_ERR_FAILED_NOT_ENOUGH_MONEY = 23, // DESCRIPTION "You don't have enough money for that quest"
67 QUEST_ERR_FAILED_CAIS = 24, // DESCRIPTION "You cannot complete quests once you have reached tired time"
68 QUEST_ERR_ALREADY_DONE_DAILY = 26, // DESCRIPTION "You have completed that daily quest today."
69 QUEST_ERR_FAILED_SPELL = 28, // DESCRIPTION "You haven't learned the required spell."
70 QUEST_ERR_HAS_IN_PROGRESS = 30 // DESCRIPTION "Progress Bar objective not completed"
71};
@ QUEST_ERR_ALREADY_DONE
Definition: QuestDef.h:60
@ QUEST_ERR_FAILED_EXPANSION
Definition: QuestDef.h:63
@ QUEST_ERR_FAILED_WRONG_RACE
Definition: QuestDef.h:59
@ QUEST_ERR_ALREADY_ON2
Definition: QuestDef.h:64
@ QUEST_ERR_ONLY_ONE_TIMED
Definition: QuestDef.h:61
@ QUEST_ERR_ALREADY_DONE_DAILY
Definition: QuestDef.h:68
@ QUEST_ERR_FAILED_LOW_LEVEL
Definition: QuestDef.h:58
@ QUEST_ERR_FAILED_NOT_ENOUGH_MONEY
Definition: QuestDef.h:66
@ QUEST_ERR_FAILED_MISSING_ITEMS
Definition: QuestDef.h:65
@ QUEST_ERR_NONE
Definition: QuestDef.h:57
@ QUEST_ERR_HAS_IN_PROGRESS
Definition: QuestDef.h:70
@ QUEST_ERR_FAILED_SPELL
Definition: QuestDef.h:69
@ QUEST_ERR_ALREADY_ON1
Definition: QuestDef.h:62
@ QUEST_ERR_FAILED_CAIS
Definition: QuestDef.h:67

◆ QuestFlags

Enumerator
QUEST_FLAGS_NONE 
QUEST_FLAGS_STAY_ALIVE 
QUEST_FLAGS_PARTY_ACCEPT 
QUEST_FLAGS_EXPLORATION 
QUEST_FLAGS_SHARABLE 
QUEST_FLAGS_HAS_CONDITION 
QUEST_FLAGS_HIDE_REWARD_POI 
QUEST_FLAGS_RAID 
QUEST_FLAGS_WAR_MODE_REWARDS_OPT_IN 
QUEST_FLAGS_NO_MONEY_FROM_XP 
QUEST_FLAGS_HIDDEN_REWARDS 
QUEST_FLAGS_TRACKING 
QUEST_FLAGS_DEPRECATE_REPUTATION 
QUEST_FLAGS_DAILY 
QUEST_FLAGS_FLAGS_PVP 
QUEST_FLAGS_UNAVAILABLE 
QUEST_FLAGS_WEEKLY 
QUEST_FLAGS_AUTOCOMPLETE 
QUEST_FLAGS_DISPLAY_ITEM_IN_TRACKER 
QUEST_FLAGS_OBJ_TEXT 
QUEST_FLAGS_AUTO_ACCEPT 
QUEST_FLAGS_PLAYER_CAST_ON_ACCEPT 
QUEST_FLAGS_PLAYER_CAST_ON_COMPLETE 
QUEST_FLAGS_UPDATE_PHASE_SHIFT 
QUEST_FLAGS_SOR_WHITELIST 
QUEST_FLAGS_LAUNCH_GOSSIP_COMPLETE 
QUEST_FLAGS_REMOVE_EXTRA_GET_ITEMS 
QUEST_FLAGS_HIDE_UNTIL_DISCOVERED 
QUEST_FLAGS_PORTRAIT_IN_QUEST_LOG 
QUEST_FLAGS_SHOW_ITEM_WHEN_COMPLETED 
QUEST_FLAGS_LAUNCH_GOSSIP_ACCEPT 
QUEST_FLAGS_ITEMS_GLOW_WHEN_DONE 
QUEST_FLAGS_FAIL_ON_LOGOUT 
180{
181 QUEST_FLAGS_NONE = 0x00000000,
182 QUEST_FLAGS_STAY_ALIVE = 0x00000001, // Not used currently
183 QUEST_FLAGS_PARTY_ACCEPT = 0x00000002, // Not used currently. If player in party, all players that can accept this quest will receive confirmation box to accept quest CMSG_QUEST_CONFIRM_ACCEPT/SMSG_QUEST_CONFIRM_ACCEPT
184 QUEST_FLAGS_EXPLORATION = 0x00000004, // Not used currently
185 QUEST_FLAGS_SHARABLE = 0x00000008, // Can be shared: Player::CanShareQuest()
186 QUEST_FLAGS_HAS_CONDITION = 0x00000010, // Not used currently
187 QUEST_FLAGS_HIDE_REWARD_POI = 0x00000020, // Not used currently: Unsure of content
188 QUEST_FLAGS_RAID = 0x00000040, // Can be completed while in raid
189 QUEST_FLAGS_WAR_MODE_REWARDS_OPT_IN = 0x00000080, // Not used currently
190 QUEST_FLAGS_NO_MONEY_FROM_XP = 0x00000100, // Not used currently: Experience is not converted to gold at max level
191 QUEST_FLAGS_HIDDEN_REWARDS = 0x00000200, // Items and money rewarded only sent in SMSG_QUESTGIVER_OFFER_REWARD (not in SMSG_QUEST_GIVER_QUEST_DETAILS or in client quest log(SMSG_QUEST_QUERY_RESPONSE))
192 QUEST_FLAGS_TRACKING = 0x00000400, // These quests are automatically rewarded on quest complete and they will never appear in quest log client side.
193 QUEST_FLAGS_DEPRECATE_REPUTATION = 0x00000800, // Not used currently
194 QUEST_FLAGS_DAILY = 0x00001000, // Used to know quest is Daily one
195 QUEST_FLAGS_FLAGS_PVP = 0x00002000, // Having this quest in log forces PvP flag
196 QUEST_FLAGS_UNAVAILABLE = 0x00004000, // Used on quests that are not generically available
197 QUEST_FLAGS_WEEKLY = 0x00008000,
198 QUEST_FLAGS_AUTOCOMPLETE = 0x00010000, // Quests with this flag player submit automatically by special button in player gui
199 QUEST_FLAGS_DISPLAY_ITEM_IN_TRACKER = 0x00020000, // Displays usable item in quest tracker
200 QUEST_FLAGS_OBJ_TEXT = 0x00040000, // use Objective text as Complete text
201 QUEST_FLAGS_AUTO_ACCEPT = 0x00080000, // The client recognizes this flag as auto-accept.
205 QUEST_FLAGS_SOR_WHITELIST = 0x00800000,
213 QUEST_FLAGS_FAIL_ON_LOGOUT = 0x80000000
214};
@ QUEST_FLAGS_TRACKING
Definition: QuestDef.h:192
@ QUEST_FLAGS_PARTY_ACCEPT
Definition: QuestDef.h:183
@ QUEST_FLAGS_FLAGS_PVP
Definition: QuestDef.h:195
@ QUEST_FLAGS_DAILY
Definition: QuestDef.h:194
@ QUEST_FLAGS_UPDATE_PHASE_SHIFT
Definition: QuestDef.h:204
@ QUEST_FLAGS_NONE
Definition: QuestDef.h:181
@ QUEST_FLAGS_HIDE_REWARD_POI
Definition: QuestDef.h:187
@ QUEST_FLAGS_NO_MONEY_FROM_XP
Definition: QuestDef.h:190
@ QUEST_FLAGS_ITEMS_GLOW_WHEN_DONE
Definition: QuestDef.h:212
@ QUEST_FLAGS_HIDDEN_REWARDS
Definition: QuestDef.h:191
@ QUEST_FLAGS_LAUNCH_GOSSIP_ACCEPT
Definition: QuestDef.h:211
@ QUEST_FLAGS_WEEKLY
Definition: QuestDef.h:197
@ QUEST_FLAGS_DISPLAY_ITEM_IN_TRACKER
Definition: QuestDef.h:199
@ QUEST_FLAGS_HAS_CONDITION
Definition: QuestDef.h:186
@ QUEST_FLAGS_AUTO_ACCEPT
Definition: QuestDef.h:201
@ QUEST_FLAGS_SOR_WHITELIST
Definition: QuestDef.h:205
@ QUEST_FLAGS_HIDE_UNTIL_DISCOVERED
Definition: QuestDef.h:208
@ QUEST_FLAGS_WAR_MODE_REWARDS_OPT_IN
Definition: QuestDef.h:189
@ QUEST_FLAGS_SHOW_ITEM_WHEN_COMPLETED
Definition: QuestDef.h:210
@ QUEST_FLAGS_PLAYER_CAST_ON_ACCEPT
Definition: QuestDef.h:202
@ QUEST_FLAGS_PORTRAIT_IN_QUEST_LOG
Definition: QuestDef.h:209
@ QUEST_FLAGS_STAY_ALIVE
Definition: QuestDef.h:182
@ QUEST_FLAGS_SHARABLE
Definition: QuestDef.h:185
@ QUEST_FLAGS_EXPLORATION
Definition: QuestDef.h:184
@ QUEST_FLAGS_DEPRECATE_REPUTATION
Definition: QuestDef.h:193
@ QUEST_FLAGS_REMOVE_EXTRA_GET_ITEMS
Definition: QuestDef.h:207
@ QUEST_FLAGS_UNAVAILABLE
Definition: QuestDef.h:196
@ QUEST_FLAGS_LAUNCH_GOSSIP_COMPLETE
Definition: QuestDef.h:206
@ QUEST_FLAGS_AUTOCOMPLETE
Definition: QuestDef.h:198
@ QUEST_FLAGS_RAID
Definition: QuestDef.h:188
@ QUEST_FLAGS_FAIL_ON_LOGOUT
Definition: QuestDef.h:213
@ QUEST_FLAGS_OBJ_TEXT
Definition: QuestDef.h:200
@ QUEST_FLAGS_PLAYER_CAST_ON_COMPLETE
Definition: QuestDef.h:203

◆ QuestFlagsEx

Enumerator
QUEST_FLAGS_EX_NONE 
QUEST_FLAGS_EX_KEEP_ADDITIONAL_ITEMS 
QUEST_FLAGS_EX_SUPPRESS_GOSSIP_COMPLETE 
QUEST_FLAGS_EX_SUPPRESS_GOSSIP_ACCEPT 
QUEST_FLAGS_EX_DISALLOW_PLAYER_AS_QUESTGIVER 
QUEST_FLAGS_EX_DISPLAY_CLASS_CHOICE_REWARDS 
QUEST_FLAGS_EX_DISPLAY_SPEC_CHOICE_REWARDS 
QUEST_FLAGS_EX_REMOVE_FROM_LOG_ON_PERIDOIC_RESET 
QUEST_FLAGS_EX_ACCOUNT_LEVEL_QUEST 
QUEST_FLAGS_EX_LEGENDARY_QUEST 
QUEST_FLAGS_EX_NO_GUILD_XP 
QUEST_FLAGS_EX_RESET_CACHE_ON_ACCEPT 
QUEST_FLAGS_EX_NO_ABANDON_ONCE_ANY_OBJECTIVE_COMPLETE 
QUEST_FLAGS_EX_RECAST_ACCEPT_SPELL_ON_LOGIN 
QUEST_FLAGS_EX_UPDATE_ZONE_AURAS 
QUEST_FLAGS_EX_NO_CREDIT_FOR_PROXY 
QUEST_FLAGS_EX_DISPLAY_AS_DAILY_QUEST 
QUEST_FLAGS_EX_PART_OF_QUEST_LINE 
QUEST_FLAGS_EX_QUEST_FOR_INTERNAL_BUILDS_ONLY 
QUEST_FLAGS_EX_SUPPRESS_SPELL_LEARN_TEXT_LINE 
QUEST_FLAGS_EX_DISPLAY_HEADER_AS_OBJECTIVE_FOR_TASKS 
QUEST_FLAGS_EX_GARRISON_NON_OWNERS_ALLOWED 
QUEST_FLAGS_EX_REMOVE_QUEST_ON_WEEKLY_RESET 
QUEST_FLAGS_EX_SUPPRESS_FAREWELL_AUDIO_AFTER_QUEST_ACCEPT 
QUEST_FLAGS_EX_REWARDS_BYPASS_WEEKLY_CAPS_AND_SEASON_TOTAL 
QUEST_FLAGS_EX_IS_WORLD_QUEST 
QUEST_FLAGS_EX_NOT_IGNORABLE 
QUEST_FLAGS_EX_AUTO_PUSH 
QUEST_FLAGS_EX_NO_SPELL_COMPLETE_EFFECTS 
QUEST_FLAGS_EX_DO_NOT_TOAST_HONOR_REWARD 
QUEST_FLAGS_EX_KEEP_REPEATABLE_QUEST_ON_FACTION_CHANGE 
QUEST_FLAGS_EX_KEEP_PROGRESS_ON_FACTION_CHANGE 
QUEST_FLAGS_EX_PUSH_TEAM_QUEST_USING_MAP_CONTROLLER 
218{
219 QUEST_FLAGS_EX_NONE = 0x00000000,
229 QUEST_FLAGS_EX_NO_GUILD_XP = 0x00000200,
245 QUEST_FLAGS_EX_NOT_IGNORABLE = 0x02000000,
246 QUEST_FLAGS_EX_AUTO_PUSH = 0x04000000,
252};
@ QUEST_FLAGS_EX_KEEP_ADDITIONAL_ITEMS
Definition: QuestDef.h:220
@ QUEST_FLAGS_EX_LEGENDARY_QUEST
Definition: QuestDef.h:228
@ QUEST_FLAGS_EX_NO_SPELL_COMPLETE_EFFECTS
Definition: QuestDef.h:247
@ QUEST_FLAGS_EX_ACCOUNT_LEVEL_QUEST
Definition: QuestDef.h:227
@ QUEST_FLAGS_EX_KEEP_PROGRESS_ON_FACTION_CHANGE
Definition: QuestDef.h:250
@ QUEST_FLAGS_EX_SUPPRESS_FAREWELL_AUDIO_AFTER_QUEST_ACCEPT
Definition: QuestDef.h:242
@ QUEST_FLAGS_EX_SUPPRESS_SPELL_LEARN_TEXT_LINE
Definition: QuestDef.h:238
@ QUEST_FLAGS_EX_NO_ABANDON_ONCE_ANY_OBJECTIVE_COMPLETE
Definition: QuestDef.h:231
@ QUEST_FLAGS_EX_AUTO_PUSH
Definition: QuestDef.h:246
@ QUEST_FLAGS_EX_DO_NOT_TOAST_HONOR_REWARD
Definition: QuestDef.h:248
@ QUEST_FLAGS_EX_SUPPRESS_GOSSIP_ACCEPT
Definition: QuestDef.h:222
@ QUEST_FLAGS_EX_REWARDS_BYPASS_WEEKLY_CAPS_AND_SEASON_TOTAL
Definition: QuestDef.h:243
@ QUEST_FLAGS_EX_DISPLAY_AS_DAILY_QUEST
Definition: QuestDef.h:235
@ QUEST_FLAGS_EX_GARRISON_NON_OWNERS_ALLOWED
Definition: QuestDef.h:240
@ QUEST_FLAGS_EX_PUSH_TEAM_QUEST_USING_MAP_CONTROLLER
Definition: QuestDef.h:251
@ QUEST_FLAGS_EX_NO_CREDIT_FOR_PROXY
Definition: QuestDef.h:234
@ QUEST_FLAGS_EX_UPDATE_ZONE_AURAS
Definition: QuestDef.h:233
@ QUEST_FLAGS_EX_IS_WORLD_QUEST
Definition: QuestDef.h:244
@ QUEST_FLAGS_EX_REMOVE_QUEST_ON_WEEKLY_RESET
Definition: QuestDef.h:241
@ QUEST_FLAGS_EX_DISALLOW_PLAYER_AS_QUESTGIVER
Definition: QuestDef.h:223
@ QUEST_FLAGS_EX_NONE
Definition: QuestDef.h:219
@ QUEST_FLAGS_EX_QUEST_FOR_INTERNAL_BUILDS_ONLY
Definition: QuestDef.h:237
@ QUEST_FLAGS_EX_DISPLAY_CLASS_CHOICE_REWARDS
Definition: QuestDef.h:224
@ QUEST_FLAGS_EX_DISPLAY_SPEC_CHOICE_REWARDS
Definition: QuestDef.h:225
@ QUEST_FLAGS_EX_DISPLAY_HEADER_AS_OBJECTIVE_FOR_TASKS
Definition: QuestDef.h:239
@ QUEST_FLAGS_EX_PART_OF_QUEST_LINE
Definition: QuestDef.h:236
@ QUEST_FLAGS_EX_REMOVE_FROM_LOG_ON_PERIDOIC_RESET
Definition: QuestDef.h:226
@ QUEST_FLAGS_EX_SUPPRESS_GOSSIP_COMPLETE
Definition: QuestDef.h:221
@ QUEST_FLAGS_EX_NO_GUILD_XP
Definition: QuestDef.h:229
@ QUEST_FLAGS_EX_RECAST_ACCEPT_SPELL_ON_LOGIN
Definition: QuestDef.h:232
@ QUEST_FLAGS_EX_NOT_IGNORABLE
Definition: QuestDef.h:245
@ QUEST_FLAGS_EX_RESET_CACHE_ON_ACCEPT
Definition: QuestDef.h:230
@ QUEST_FLAGS_EX_KEEP_REPEATABLE_QUEST_ON_FACTION_CHANGE
Definition: QuestDef.h:249

◆ QuestFlagsEx2

Enumerator
QUEST_FLAGS_EX2_RESET_ON_GAME_MILESTONE 
QUEST_FLAGS_EX2_NO_WAR_MODE_BONUS 
QUEST_FLAGS_EX2_AWARD_HIGHEST_PROFESSION 
QUEST_FLAGS_EX2_NOT_REPLAYABLE 
QUEST_FLAGS_EX2_NO_REPLAY_REWARDS 
QUEST_FLAGS_EX2_DISABLE_WAYPOINT_PATHING 
QUEST_FLAGS_EX2_RESET_ON_MYTHIC_PLUS_SEASON 
QUEST_FLAGS_EX2_RESET_ON_PVP_SEASON 
QUEST_FLAGS_EX2_ENABLE_OVERRIDE_SORT_ORDER 
QUEST_FLAGS_EX2_FORCE_STARTING_LOC_ON_ZONE_MAP 
QUEST_FLAGS_EX2_BONUS_LOOT_NEVER 
QUEST_FLAGS_EX2_BONUS_LOOT_ALWAYS 
QUEST_FLAGS_EX2_HIDE_TASK_ON_MAIN_MAP 
QUEST_FLAGS_EX2_HIDE_TASK_IN_TRACKER 
QUEST_FLAGS_EX2_SKIP_DISABLED_CHECK 
QUEST_FLAGS_EX2_ENFORCE_MAXIMUM_QUEST_LEVEL 
255{
272};
@ QUEST_FLAGS_EX2_NO_WAR_MODE_BONUS
Definition: QuestDef.h:257
@ QUEST_FLAGS_EX2_RESET_ON_GAME_MILESTONE
Definition: QuestDef.h:256
@ QUEST_FLAGS_EX2_NOT_REPLAYABLE
Definition: QuestDef.h:259
@ QUEST_FLAGS_EX2_AWARD_HIGHEST_PROFESSION
Definition: QuestDef.h:258
@ QUEST_FLAGS_EX2_SKIP_DISABLED_CHECK
Definition: QuestDef.h:270
@ QUEST_FLAGS_EX2_ENFORCE_MAXIMUM_QUEST_LEVEL
Definition: QuestDef.h:271
@ QUEST_FLAGS_EX2_HIDE_TASK_ON_MAIN_MAP
Definition: QuestDef.h:268
@ QUEST_FLAGS_EX2_NO_REPLAY_REWARDS
Definition: QuestDef.h:260
@ QUEST_FLAGS_EX2_DISABLE_WAYPOINT_PATHING
Definition: QuestDef.h:261
@ QUEST_FLAGS_EX2_BONUS_LOOT_ALWAYS
Definition: QuestDef.h:267
@ QUEST_FLAGS_EX2_RESET_ON_MYTHIC_PLUS_SEASON
Definition: QuestDef.h:262
@ QUEST_FLAGS_EX2_FORCE_STARTING_LOC_ON_ZONE_MAP
Definition: QuestDef.h:265
@ QUEST_FLAGS_EX2_RESET_ON_PVP_SEASON
Definition: QuestDef.h:263
@ QUEST_FLAGS_EX2_HIDE_TASK_IN_TRACKER
Definition: QuestDef.h:269
@ QUEST_FLAGS_EX2_ENABLE_OVERRIDE_SORT_ORDER
Definition: QuestDef.h:264
@ QUEST_FLAGS_EX2_BONUS_LOOT_NEVER
Definition: QuestDef.h:266

◆ QuestGiverStatus

enum class QuestGiverStatus : uint32
strong
Enumerator
None 
Future 
Trivial 
TrivialRepeatableTurnin 
TrivialDailyQuest 
Reward 
JourneyReward 
CovenantCallingReward 
RepeatableTurnin 
DailyQuest 
Quest 
RewardCompleteNoPOI 
RewardCompletePOI 
LegendaryQuest 
LegendaryRewardCompleteNoPOI 
LegendaryRewardCompletePOI 
JourneyQuest 
JourneyRewardCompleteNoPOI 
JourneyRewardCompletePOI 
CovenantCallingQuest 
CovenantCallingRewardCompleteNoPOI 
CovenantCallingRewardCompletePOI 
152{
153 None = 0x000000,
154 Future = 0x000002,
155 Trivial = 0x000004,
156 TrivialRepeatableTurnin = 0x000008,
157 TrivialDailyQuest = 0x000010,
158 Reward = 0x000020,
159 JourneyReward = 0x000040,
160 CovenantCallingReward = 0x000080,
161 RepeatableTurnin = 0x000100,
162 DailyQuest = 0x000200,
163 Quest = 0x000400,
164 RewardCompleteNoPOI = 0x000800,
165 RewardCompletePOI = 0x001000,
166 LegendaryQuest = 0x002000,
169 JourneyQuest = 0x010000,
171 JourneyRewardCompletePOI = 0x040000,
172 CovenantCallingQuest = 0x080000,
175};
@ CovenantCallingRewardCompletePOI
@ CovenantCallingRewardCompleteNoPOI
Definition: QuestDef.h:486

◆ QuestObjectiveFlags

Enumerator
QUEST_OBJECTIVE_FLAG_TRACKED_ON_MINIMAP 
QUEST_OBJECTIVE_FLAG_SEQUENCED 
QUEST_OBJECTIVE_FLAG_OPTIONAL 
QUEST_OBJECTIVE_FLAG_HIDDEN 
QUEST_OBJECTIVE_FLAG_HIDE_CREDIT_MSG 
QUEST_OBJECTIVE_FLAG_PRESERVE_QUEST_ITEMS 
QUEST_OBJECTIVE_FLAG_PART_OF_PROGRESS_BAR 
QUEST_OBJECTIVE_FLAG_KILL_PLAYERS_SAME_FACTION 
338{
339 QUEST_OBJECTIVE_FLAG_TRACKED_ON_MINIMAP = 0x01, // client displays large yellow blob on minimap for creature/gameobject
340 QUEST_OBJECTIVE_FLAG_SEQUENCED = 0x02, // client will not see the objective displayed until all previous objectives are completed
341 QUEST_OBJECTIVE_FLAG_OPTIONAL = 0x04, // not required to complete the quest
342 QUEST_OBJECTIVE_FLAG_HIDDEN = 0x08, // never displayed in quest log
343 QUEST_OBJECTIVE_FLAG_HIDE_CREDIT_MSG = 0x10, // skip showing item objective progress
345 QUEST_OBJECTIVE_FLAG_PART_OF_PROGRESS_BAR = 0x40, // hidden objective used to calculate progress bar percent (quests are limited to a single progress bar objective)
347};
@ QUEST_OBJECTIVE_FLAG_SEQUENCED
Definition: QuestDef.h:340
@ QUEST_OBJECTIVE_FLAG_KILL_PLAYERS_SAME_FACTION
Definition: QuestDef.h:346
@ QUEST_OBJECTIVE_FLAG_PRESERVE_QUEST_ITEMS
Definition: QuestDef.h:344
@ QUEST_OBJECTIVE_FLAG_HIDDEN
Definition: QuestDef.h:342
@ QUEST_OBJECTIVE_FLAG_PART_OF_PROGRESS_BAR
Definition: QuestDef.h:345
@ QUEST_OBJECTIVE_FLAG_TRACKED_ON_MINIMAP
Definition: QuestDef.h:339
@ QUEST_OBJECTIVE_FLAG_OPTIONAL
Definition: QuestDef.h:341
@ QUEST_OBJECTIVE_FLAG_HIDE_CREDIT_MSG
Definition: QuestDef.h:343

◆ QuestObjectiveType

Enumerator
QUEST_OBJECTIVE_MONSTER 
QUEST_OBJECTIVE_ITEM 
QUEST_OBJECTIVE_GAMEOBJECT 
QUEST_OBJECTIVE_TALKTO 
QUEST_OBJECTIVE_CURRENCY 
QUEST_OBJECTIVE_LEARNSPELL 
QUEST_OBJECTIVE_MIN_REPUTATION 
QUEST_OBJECTIVE_MAX_REPUTATION 
QUEST_OBJECTIVE_MONEY 
QUEST_OBJECTIVE_PLAYERKILLS 
QUEST_OBJECTIVE_AREATRIGGER 
QUEST_OBJECTIVE_WINPETBATTLEAGAINSTNPC 
QUEST_OBJECTIVE_DEFEATBATTLEPET 
QUEST_OBJECTIVE_WINPVPPETBATTLES 
QUEST_OBJECTIVE_CRITERIA_TREE 
QUEST_OBJECTIVE_PROGRESS_BAR 
QUEST_OBJECTIVE_HAVE_CURRENCY 
QUEST_OBJECTIVE_OBTAIN_CURRENCY 
QUEST_OBJECTIVE_INCREASE_REPUTATION 
QUEST_OBJECTIVE_AREA_TRIGGER_ENTER 
QUEST_OBJECTIVE_AREA_TRIGGER_EXIT 
MAX_QUEST_OBJECTIVE_TYPE 
311{
328 QUEST_OBJECTIVE_HAVE_CURRENCY = 16, // requires the player to have X currency when turning in but does not consume it
329 QUEST_OBJECTIVE_OBTAIN_CURRENCY = 17, // requires the player to gain X currency after starting the quest but not required to keep it until the end (does not consume)
330 QUEST_OBJECTIVE_INCREASE_REPUTATION = 18, // requires the player to gain X reputation with a faction
333
335};
@ QUEST_OBJECTIVE_DEFEATBATTLEPET
Definition: QuestDef.h:324
@ QUEST_OBJECTIVE_WINPVPPETBATTLES
Definition: QuestDef.h:325
@ QUEST_OBJECTIVE_INCREASE_REPUTATION
Definition: QuestDef.h:330
@ MAX_QUEST_OBJECTIVE_TYPE
Definition: QuestDef.h:334
@ QUEST_OBJECTIVE_HAVE_CURRENCY
Definition: QuestDef.h:328
@ QUEST_OBJECTIVE_WINPETBATTLEAGAINSTNPC
Definition: QuestDef.h:323
@ QUEST_OBJECTIVE_MONSTER
Definition: QuestDef.h:312
@ QUEST_OBJECTIVE_TALKTO
Definition: QuestDef.h:315
@ QUEST_OBJECTIVE_CRITERIA_TREE
Definition: QuestDef.h:326
@ QUEST_OBJECTIVE_OBTAIN_CURRENCY
Definition: QuestDef.h:329
@ QUEST_OBJECTIVE_PROGRESS_BAR
Definition: QuestDef.h:327
@ QUEST_OBJECTIVE_PLAYERKILLS
Definition: QuestDef.h:321
@ QUEST_OBJECTIVE_ITEM
Definition: QuestDef.h:313
@ QUEST_OBJECTIVE_MONEY
Definition: QuestDef.h:320
@ QUEST_OBJECTIVE_MAX_REPUTATION
Definition: QuestDef.h:319
@ QUEST_OBJECTIVE_AREA_TRIGGER_EXIT
Definition: QuestDef.h:332
@ QUEST_OBJECTIVE_AREATRIGGER
Definition: QuestDef.h:322
@ QUEST_OBJECTIVE_CURRENCY
Definition: QuestDef.h:316
@ QUEST_OBJECTIVE_LEARNSPELL
Definition: QuestDef.h:317
@ QUEST_OBJECTIVE_AREA_TRIGGER_ENTER
Definition: QuestDef.h:331
@ QUEST_OBJECTIVE_GAMEOBJECT
Definition: QuestDef.h:314
@ QUEST_OBJECTIVE_MIN_REPUTATION
Definition: QuestDef.h:318

◆ QuestPushReason

enum class QuestPushReason : uint8
strong
Enumerator
Success 
Invalid 
InvalidToRecipient 
Accepted 
Declined 
Busy 
Dead 
DeadToRecipient 
LogFull 
LogFullToRecipient 
OnQuest 
OnQuestToRecipient 
AlreadyDone 
AlreadyDoneToRecipient 
NotDaily 
TimerExpired 
NotInParty 
DifferentServerDaily 
DifferentServerDailyToRecipient 
NotAllowed 
Prerequisite 
PrerequisiteToRecipient 
LowLevel 
LowLevelToRecipient 
HighLevel 
HighLevelToRecipient 
Class 
ClassToRecipient 
Race 
RaceToRecipient 
LowFaction 
LowFactionToRecipient 
Expansion 
ExpansionToRecipient 
NotGarrisonOwner 
NotGarrisonOwnerToRecipient 
WrongCovenant 
WrongCovenantToRecipient 
NewPlayerExperience 
NewPlayerExperienceToRecipient 
WrongFaction 
WrongFactionToRecipient 
75{
76 Success = 0, // "Sharing quest with %s..."
77 Invalid = 1, // "%s is not eligible for that quest"
78 InvalidToRecipient = 2, // "%s's attempt to share quest "%s" failed. You are not eligible for that quest."
79 Accepted = 3, // "%s has accepted your quest"
80 Declined = 4, // "%s has declined your quest"
81 Busy = 5, // "%s is busy"
82 Dead = 6, // "%s is dead."
83 DeadToRecipient = 7, // "%s's attempt to share quest "%s" failed. You are dead."
84 LogFull = 8, // "%s's quest log is full"
85 LogFullToRecipient = 9, // "%s's attempt to share quest "%s" failed. Your quest log is full."
86 OnQuest = 10, // "%s is already on that quest"
87 OnQuestToRecipient = 11, // "%s's attempt to share quest "%s" failed. You are already on that quest."
88 AlreadyDone = 12, // "%s has completed that quest"
89 AlreadyDoneToRecipient = 13, // "%s's attempt to share quest "%s" failed. You have completed that quest."
90 NotDaily = 14, // "That quest cannot be shared today"
91 TimerExpired = 15, // "Quest sharing timer has expired"
92 NotInParty = 16, // "You are not in a party"
93 DifferentServerDaily = 17, // "%s is not eligible for that quest today"
94 DifferentServerDailyToRecipient = 18, // "%s's attempt to share quest "%s" failed. You are not eligible for that quest today."
95 NotAllowed = 19, // "That quest cannot be shared"
96 Prerequisite = 20, // "%s hasn't completed all of the prerequisite quests required for that quest."
97 PrerequisiteToRecipient = 21, // "%s's attempt to share quest "%s" failed. You must complete all of the prerequisite quests first."
98 LowLevel = 22, // "%s is too low level for that quest."
99 LowLevelToRecipient = 23, // "%s's attempt to share quest "%s" failed. You are too low level for that quest."
100 HighLevel = 24, // "%s is too high level for that quest."
101 HighLevelToRecipient = 25, // "%s's attempt to share quest "%s" failed. You are too high level for that quest."
102 Class = 26, // "%s is the wrong class for that quest."
103 ClassToRecipient = 27, // "%s's attempt to share quest "%s" failed. You are the wrong class for that quest."
104 Race = 28, // "%s is the wrong race for that quest."
105 RaceToRecipient = 29, // "%s's attempt to share quest "%s" failed. You are the wrong race for that quest."
106 LowFaction = 30, // "%s's reputation is too low for that quest."
107 LowFactionToRecipient = 31, // "%s's attempt to share quest "%s" failed. Your reputation is too low for that quest."
108 Expansion = 32, // "%s doesn't own the required expansion for that quest."
109 ExpansionToRecipient = 33, // "%s's attempt to share quest "%s" failed. You do not own the required expansion for that quest."
110 NotGarrisonOwner = 34, // "%s must own a garrison to accept that quest."
111 NotGarrisonOwnerToRecipient = 35, // "%s's attempt to share quest "%s" failed. You must own a garrison to accept that quest."
112 WrongCovenant = 36, // "%s is in the wrong covenant for that quest."
113 WrongCovenantToRecipient = 37, // "%s's attempt to share quest "%s" failed. You are in the wrong covenant for that quest."
114 NewPlayerExperience = 38, // "%s must complete Exile's Reach to accept that quest."
115 NewPlayerExperienceToRecipient = 39, // "%s's attempt to share quest "%s" failed. You must complete Exile's Reach to accept that quest."
116 WrongFaction = 40, // "%s is the wrong faction for that quest."
117 WrongFactionToRecipient = 41 // "%s's attempt to share quest "%s" failed. You are the wrong faction for that quest."
118};
@ NewPlayerExperienceToRecipient
@ DifferentServerDailyToRecipient

◆ QuestSpecialFlags

Enumerator
QUEST_SPECIAL_FLAGS_NONE 
QUEST_SPECIAL_FLAGS_REPEATABLE 
QUEST_SPECIAL_FLAGS_EXPLORATION_OR_EVENT 
QUEST_SPECIAL_FLAGS_AUTO_ACCEPT 
QUEST_SPECIAL_FLAGS_DF_QUEST 
QUEST_SPECIAL_FLAGS_MONTHLY 
QUEST_SPECIAL_FLAGS_DB_ALLOWED 
QUEST_SPECIAL_FLAGS_SEQUENCED_OBJECTIVES 
275{
277 // Trinity flags for set SpecialFlags in DB if required but used only at server
278 QUEST_SPECIAL_FLAGS_REPEATABLE = 0x001, // Set by 1 in SpecialFlags from DB
279 QUEST_SPECIAL_FLAGS_EXPLORATION_OR_EVENT = 0x002, // Set by 2 in SpecialFlags from DB (if required area explore, spell SPELL_EFFECT_QUEST_COMPLETE casting, table `FECT_QUEST_COMPLETE casting, table `*_script` command SCRIPT_COMMAND_QUEST_EXPLORED use, set from script)
280 QUEST_SPECIAL_FLAGS_AUTO_ACCEPT = 0x004, // Set by 4 in SpecialFlags in DB if the quest is to be auto-accepted.
281 QUEST_SPECIAL_FLAGS_DF_QUEST = 0x008, // Set by 8 in SpecialFlags in DB if the quest is used by Dungeon Finder.
282 QUEST_SPECIAL_FLAGS_MONTHLY = 0x010, // Set by 16 in SpecialFlags in DB if the quest is reset at the begining of the month
283 // room for more custom flags
284
286
287 QUEST_SPECIAL_FLAGS_SEQUENCED_OBJECTIVES = 0x020, // Internal flag computed only
288};
@ QUEST_SPECIAL_FLAGS_SEQUENCED_OBJECTIVES
Definition: QuestDef.h:287
@ QUEST_SPECIAL_FLAGS_AUTO_ACCEPT
Definition: QuestDef.h:280
@ QUEST_SPECIAL_FLAGS_REPEATABLE
Definition: QuestDef.h:278
@ QUEST_SPECIAL_FLAGS_DB_ALLOWED
Definition: QuestDef.h:285
@ QUEST_SPECIAL_FLAGS_EXPLORATION_OR_EVENT
Definition: QuestDef.h:279
@ QUEST_SPECIAL_FLAGS_DF_QUEST
Definition: QuestDef.h:281
@ QUEST_SPECIAL_FLAGS_NONE
Definition: QuestDef.h:276
@ QUEST_SPECIAL_FLAGS_MONTHLY
Definition: QuestDef.h:282

◆ QuestStatus

Enumerator
QUEST_STATUS_NONE 
QUEST_STATUS_COMPLETE 
QUEST_STATUS_INCOMPLETE 
QUEST_STATUS_FAILED 
QUEST_STATUS_REWARDED 
MAX_QUEST_STATUS 
140{
143 //QUEST_STATUS_UNAVAILABLE = 2,
145 //QUEST_STATUS_AVAILABLE = 4,
147 QUEST_STATUS_REWARDED = 6, // Not used in DB
149};
@ QUEST_STATUS_REWARDED
Definition: QuestDef.h:147
@ QUEST_STATUS_FAILED
Definition: QuestDef.h:146
@ QUEST_STATUS_INCOMPLETE
Definition: QuestDef.h:144
@ QUEST_STATUS_NONE
Definition: QuestDef.h:141
@ MAX_QUEST_STATUS
Definition: QuestDef.h:148
@ QUEST_STATUS_COMPLETE
Definition: QuestDef.h:142

◆ QuestTagType

enum class QuestTagType
strong
Enumerator
Tag 
Profession 
Normal 
Pvp 
PetBattle 
Bounty 
Dungeon 
Invasion 
Raid 
Contribution 
RatedRreward 
InvasionWrapper 
FactionAssault 
Islands 
Threat 
CovenantCalling 

◆ QuestTradeSkill

Enumerator
QUEST_TRSKILL_NONE 
QUEST_TRSKILL_ALCHEMY 
QUEST_TRSKILL_BLACKSMITHING 
QUEST_TRSKILL_COOKING 
QUEST_TRSKILL_ENCHANTING 
QUEST_TRSKILL_ENGINEERING 
QUEST_TRSKILL_FIRSTAID 
QUEST_TRSKILL_HERBALISM 
QUEST_TRSKILL_LEATHERWORKING 
QUEST_TRSKILL_POISONS 
QUEST_TRSKILL_TAILORING 
QUEST_TRSKILL_MINING 
QUEST_TRSKILL_FISHING 
QUEST_TRSKILL_SKINNING 
QUEST_TRSKILL_JEWELCRAFTING 
121{
137};
@ QUEST_TRSKILL_ALCHEMY
Definition: QuestDef.h:123
@ QUEST_TRSKILL_FISHING
Definition: QuestDef.h:134
@ QUEST_TRSKILL_BLACKSMITHING
Definition: QuestDef.h:124
@ QUEST_TRSKILL_TAILORING
Definition: QuestDef.h:132
@ QUEST_TRSKILL_MINING
Definition: QuestDef.h:133
@ QUEST_TRSKILL_HERBALISM
Definition: QuestDef.h:129
@ QUEST_TRSKILL_JEWELCRAFTING
Definition: QuestDef.h:136
@ QUEST_TRSKILL_SKINNING
Definition: QuestDef.h:135
@ QUEST_TRSKILL_COOKING
Definition: QuestDef.h:125
@ QUEST_TRSKILL_NONE
Definition: QuestDef.h:122
@ QUEST_TRSKILL_ENGINEERING
Definition: QuestDef.h:127
@ QUEST_TRSKILL_FIRSTAID
Definition: QuestDef.h:128
@ QUEST_TRSKILL_ENCHANTING
Definition: QuestDef.h:126
@ QUEST_TRSKILL_LEATHERWORKING
Definition: QuestDef.h:130
@ QUEST_TRSKILL_POISONS
Definition: QuestDef.h:131

Function Documentation

◆ DEFINE_ENUM_FLAG()

DEFINE_ENUM_FLAG ( QuestGiverStatus  )