AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
QuestDef.h File Reference
#include "DBCEnums.h"
#include "DatabaseEnv.h"
#include "Define.h"
#include "SharedDefines.h"
#include "WorldPacket.h"
#include <string>
#include <vector>

Go to the source code of this file.

Classes

struct  QuestLocale
 
struct  QuestRequestItemsLocale
 
struct  QuestOfferRewardLocale
 
class  Quest
 
struct  QuestStatusData
 

Macros

#define MAX_QUEST_LOG_SIZE   25
 
#define QUEST_OBJECTIVES_COUNT   4
 
#define QUEST_ITEM_OBJECTIVES_COUNT   6
 
#define QUEST_SOURCE_ITEM_IDS_COUNT   4
 
#define QUEST_REWARD_CHOICES_COUNT   6
 
#define QUEST_REWARDS_COUNT   4
 
#define QUEST_DEPLINK_COUNT   10
 
#define QUEST_REPUTATIONS_COUNT   5
 
#define QUEST_EMOTE_COUNT   4
 
#define QUEST_PVP_KILL_SLOT   0
 

Enumerations

enum  QuestFailedReason : uint32 {
  INVALIDREASON_DONT_HAVE_REQ = 0 ,
  INVALIDREASON_QUEST_FAILED_LOW_LEVEL = 1 ,
  INVALIDREASON_QUEST_FAILED_WRONG_RACE = 6 ,
  INVALIDREASON_QUEST_ALREADY_DONE = 7 ,
  INVALIDREASON_QUEST_ONLY_ONE_TIMED = 12 ,
  INVALIDREASON_QUEST_ALREADY_ON = 13 ,
  INVALIDREASON_QUEST_FAILED_EXPANSION = 16 ,
  INVALIDREASON_QUEST_ALREADY_ON2 = 18 ,
  INVALIDREASON_QUEST_FAILED_MISSING_ITEMS = 21 ,
  INVALIDREASON_QUEST_FAILED_NOT_ENOUGH_MONEY = 23 ,
  INVALIDREASON_DAILY_QUESTS_REMAINING = 26 ,
  INVALIDREASON_QUEST_FAILED_CAIS = 27 ,
  INVALIDREASON_DAILY_QUEST_COMPLETED_TODAY = 29
}
 
enum  QuestShareMessages : uint8 {
  QUEST_PARTY_MSG_SHARING_QUEST = 0 ,
  QUEST_PARTY_MSG_CANT_TAKE_QUEST = 1 ,
  QUEST_PARTY_MSG_ACCEPT_QUEST = 2 ,
  QUEST_PARTY_MSG_DECLINE_QUEST = 3 ,
  QUEST_PARTY_MSG_BUSY = 4 ,
  QUEST_PARTY_MSG_LOG_FULL = 5 ,
  QUEST_PARTY_MSG_HAVE_QUEST = 6 ,
  QUEST_PARTY_MSG_FINISH_QUEST = 7 ,
  QUEST_PARTY_MSG_CANT_BE_SHARED_TODAY = 8 ,
  QUEST_PARTY_MSG_SHARING_TIMER_EXPIRED = 9 ,
  QUEST_PARTY_MSG_NOT_IN_PARTY = 10
}
 
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  QuestGiverStatus : uint32 {
  DIALOG_STATUS_NONE = 0 ,
  DIALOG_STATUS_UNAVAILABLE = 1 ,
  DIALOG_STATUS_LOW_LEVEL_AVAILABLE = 2 ,
  DIALOG_STATUS_LOW_LEVEL_REWARD_REP = 3 ,
  DIALOG_STATUS_LOW_LEVEL_AVAILABLE_REP = 4 ,
  DIALOG_STATUS_INCOMPLETE = 5 ,
  DIALOG_STATUS_REWARD_REP = 6 ,
  DIALOG_STATUS_AVAILABLE_REP = 7 ,
  DIALOG_STATUS_AVAILABLE = 8 ,
  DIALOG_STATUS_REWARD2 = 9 ,
  DIALOG_STATUS_REWARD = 10 ,
  DIALOG_STATUS_SCRIPTED_NO_STATUS = 0x1000
}
 
enum  QuestFlags {
  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_TBC = 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
}
 
enum  QuestSpecialFlags {
  QUEST_SPECIAL_FLAGS_NONE = 0x000 ,
  QUEST_SPECIAL_FLAGS_REPEATABLE = 0x0001 ,
  QUEST_SPECIAL_FLAGS_EXPLORATION_OR_EVENT = 0x0002 ,
  QUEST_SPECIAL_FLAGS_AUTO_ACCEPT = 0x0004 ,
  QUEST_SPECIAL_FLAGS_DF_QUEST = 0x0008 ,
  QUEST_SPECIAL_FLAGS_MONTHLY = 0x0010 ,
  QUEST_SPECIAL_FLAGS_CAST = 0x0020 ,
  QUEST_SPECIAL_FLAGS_NO_REP_SPILLOVER = 0x0040 ,
  QUEST_SPECIAL_FLAGS_CAN_FAIL_IN_ANY_STATE = 0x0080 ,
  QUEST_SPECIAL_FLAGS_NO_LOREMASTER_COUNT = 0x0100 ,
  QUEST_SPECIAL_FLAGS_DB_ALLOWED ,
  QUEST_SPECIAL_FLAGS_DELIVER = 0x0200 ,
  QUEST_SPECIAL_FLAGS_SPEAKTO = 0x0400 ,
  QUEST_SPECIAL_FLAGS_KILL = 0x0800 ,
  QUEST_SPECIAL_FLAGS_TIMED = 0x1000 ,
  QUEST_SPECIAL_FLAGS_PLAYER_KILL = 0x2000
}
 

Macro Definition Documentation

◆ MAX_QUEST_LOG_SIZE

#define MAX_QUEST_LOG_SIZE   25

◆ QUEST_DEPLINK_COUNT

#define QUEST_DEPLINK_COUNT   10

◆ QUEST_EMOTE_COUNT

#define QUEST_EMOTE_COUNT   4

◆ QUEST_ITEM_OBJECTIVES_COUNT

#define QUEST_ITEM_OBJECTIVES_COUNT   6

◆ QUEST_OBJECTIVES_COUNT

#define QUEST_OBJECTIVES_COUNT   4

◆ QUEST_PVP_KILL_SLOT

#define QUEST_PVP_KILL_SLOT   0

◆ QUEST_REPUTATIONS_COUNT

#define QUEST_REPUTATIONS_COUNT   5

◆ QUEST_REWARD_CHOICES_COUNT

#define QUEST_REWARD_CHOICES_COUNT   6

◆ QUEST_REWARDS_COUNT

#define QUEST_REWARDS_COUNT   4

◆ QUEST_SOURCE_ITEM_IDS_COUNT

#define QUEST_SOURCE_ITEM_IDS_COUNT   4

Enumeration Type Documentation

◆ QuestFailedReason

Enumerator
INVALIDREASON_DONT_HAVE_REQ 
INVALIDREASON_QUEST_FAILED_LOW_LEVEL 
INVALIDREASON_QUEST_FAILED_WRONG_RACE 
INVALIDREASON_QUEST_ALREADY_DONE 
INVALIDREASON_QUEST_ONLY_ONE_TIMED 
INVALIDREASON_QUEST_ALREADY_ON 
INVALIDREASON_QUEST_FAILED_EXPANSION 
INVALIDREASON_QUEST_ALREADY_ON2 
INVALIDREASON_QUEST_FAILED_MISSING_ITEMS 
INVALIDREASON_QUEST_FAILED_NOT_ENOUGH_MONEY 
INVALIDREASON_DAILY_QUESTS_REMAINING 
INVALIDREASON_QUEST_FAILED_CAIS 
INVALIDREASON_DAILY_QUEST_COMPLETED_TODAY 
47{
49 INVALIDREASON_QUEST_FAILED_LOW_LEVEL = 1, // DESCRIPTION You are not high enough level for that quest.
50 INVALIDREASON_QUEST_FAILED_WRONG_RACE = 6, // DESCRIPTION That quest is not available to your race.
51 INVALIDREASON_QUEST_ALREADY_DONE = 7, // DESCRIPTION You have completed that quest.
52 INVALIDREASON_QUEST_ONLY_ONE_TIMED = 12, // DESCRIPTION You can only be on one timed quest at a time.
53 INVALIDREASON_QUEST_ALREADY_ON = 13, // DESCRIPTION You are already on that quest.
54 INVALIDREASON_QUEST_FAILED_EXPANSION = 16, // DESCRIPTION This quest requires an expansion enabled account.
55 INVALIDREASON_QUEST_ALREADY_ON2 = 18, // DESCRIPTION You are already on that quest.
56 INVALIDREASON_QUEST_FAILED_MISSING_ITEMS = 21, // DESCRIPTION You don't have the required items with you. Check storage.
57 INVALIDREASON_QUEST_FAILED_NOT_ENOUGH_MONEY = 23, // DESCRIPTION You don't have enough money for that quest.
58 INVALIDREASON_DAILY_QUESTS_REMAINING = 26, // DESCRIPTION You have already completed 25 daily quests today.
59 INVALIDREASON_QUEST_FAILED_CAIS = 27, // DESCRIPTION You cannot complete quests once you have reached tired time.
60 INVALIDREASON_DAILY_QUEST_COMPLETED_TODAY = 29 // DESCRIPTION You have completed that daily quest today.
61};
@ INVALIDREASON_DONT_HAVE_REQ
Definition: QuestDef.h:48
@ INVALIDREASON_QUEST_FAILED_CAIS
Definition: QuestDef.h:59
@ INVALIDREASON_QUEST_ALREADY_ON2
Definition: QuestDef.h:55
@ INVALIDREASON_QUEST_ALREADY_ON
Definition: QuestDef.h:53
@ INVALIDREASON_QUEST_FAILED_MISSING_ITEMS
Definition: QuestDef.h:56
@ INVALIDREASON_QUEST_FAILED_WRONG_RACE
Definition: QuestDef.h:50
@ INVALIDREASON_DAILY_QUEST_COMPLETED_TODAY
Definition: QuestDef.h:60
@ INVALIDREASON_QUEST_ALREADY_DONE
Definition: QuestDef.h:51
@ INVALIDREASON_QUEST_ONLY_ONE_TIMED
Definition: QuestDef.h:52
@ INVALIDREASON_QUEST_FAILED_NOT_ENOUGH_MONEY
Definition: QuestDef.h:57
@ INVALIDREASON_QUEST_FAILED_LOW_LEVEL
Definition: QuestDef.h:49
@ INVALIDREASON_DAILY_QUESTS_REMAINING
Definition: QuestDef.h:58
@ INVALIDREASON_QUEST_FAILED_EXPANSION
Definition: QuestDef.h:54

◆ QuestFlags

enum 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_TBC 
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 
129{
130 // Flags used at server and sent to client
131 QUEST_FLAGS_NONE = 0x00000000,
132 QUEST_FLAGS_STAY_ALIVE = 0x00000001, // Not used currently
133 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
134 QUEST_FLAGS_EXPLORATION = 0x00000004, // Not used currently
135 QUEST_FLAGS_SHARABLE = 0x00000008, // Can be shared: Player::CanShareQuest()
136 QUEST_FLAGS_HAS_CONDITION = 0x00000010, // Not used currently
137 QUEST_FLAGS_HIDE_REWARD_POI = 0x00000020, // Not used currently: Unsure of content
138 QUEST_FLAGS_RAID = 0x00000040, // Not used currently
139 QUEST_FLAGS_TBC = 0x00000080, // Not used currently: Available if TBC expansion enabled only
140 QUEST_FLAGS_NO_MONEY_FROM_XP = 0x00000100, // Not used currently: Experience is not converted to gold at max level
141 QUEST_FLAGS_HIDDEN_REWARDS = 0x00000200, // Items and money rewarded only sent in SMSG_QUESTGIVER_OFFER_REWARD (not in SMSG_QUESTGIVER_QUEST_DETAILS or in client quest log(SMSG_QUEST_QUERY_RESPONSE))
142 QUEST_FLAGS_TRACKING = 0x00000400, // These quests are automatically rewarded on quest complete and they will never appear in quest log client side.
143 QUEST_FLAGS_DEPRECATE_REPUTATION = 0x00000800, // Not used currently
144 QUEST_FLAGS_DAILY = 0x00001000, // Used to know quest is Daily one
145 QUEST_FLAGS_FLAGS_PVP = 0x00002000, // Having this quest in log forces PvP flag
146 QUEST_FLAGS_UNAVAILABLE = 0x00004000, // Used on quests that are not generically available
147 QUEST_FLAGS_WEEKLY = 0x00008000,
148 QUEST_FLAGS_AUTOCOMPLETE = 0x00010000, // auto complete
149 QUEST_FLAGS_DISPLAY_ITEM_IN_TRACKER = 0x00020000, // Displays usable item in quest tracker
150 QUEST_FLAGS_OBJ_TEXT = 0x00040000, // use Objective text as Complete text
151 QUEST_FLAGS_AUTO_ACCEPT = 0x00080000, // The client recognizes this flag as auto-accept. However, NONE of the current quests (3.3.5a) have this flag. Maybe blizz used to use it, or will use it in the future.
152
153 // ... 4.x added flags up to 0x80000000 - all unknown for now
154};
@ QUEST_FLAGS_TRACKING
Definition: QuestDef.h:142
@ QUEST_FLAGS_PARTY_ACCEPT
Definition: QuestDef.h:133
@ QUEST_FLAGS_FLAGS_PVP
Definition: QuestDef.h:145
@ QUEST_FLAGS_DAILY
Definition: QuestDef.h:144
@ QUEST_FLAGS_NONE
Definition: QuestDef.h:131
@ QUEST_FLAGS_HIDE_REWARD_POI
Definition: QuestDef.h:137
@ QUEST_FLAGS_NO_MONEY_FROM_XP
Definition: QuestDef.h:140
@ QUEST_FLAGS_HIDDEN_REWARDS
Definition: QuestDef.h:141
@ QUEST_FLAGS_WEEKLY
Definition: QuestDef.h:147
@ QUEST_FLAGS_DISPLAY_ITEM_IN_TRACKER
Definition: QuestDef.h:149
@ QUEST_FLAGS_HAS_CONDITION
Definition: QuestDef.h:136
@ QUEST_FLAGS_AUTO_ACCEPT
Definition: QuestDef.h:151
@ QUEST_FLAGS_TBC
Definition: QuestDef.h:139
@ QUEST_FLAGS_STAY_ALIVE
Definition: QuestDef.h:132
@ QUEST_FLAGS_SHARABLE
Definition: QuestDef.h:135
@ QUEST_FLAGS_EXPLORATION
Definition: QuestDef.h:134
@ QUEST_FLAGS_DEPRECATE_REPUTATION
Definition: QuestDef.h:143
@ QUEST_FLAGS_UNAVAILABLE
Definition: QuestDef.h:146
@ QUEST_FLAGS_AUTOCOMPLETE
Definition: QuestDef.h:148
@ QUEST_FLAGS_RAID
Definition: QuestDef.h:138
@ QUEST_FLAGS_OBJ_TEXT
Definition: QuestDef.h:150

◆ QuestGiverStatus

Enumerator
DIALOG_STATUS_NONE 
DIALOG_STATUS_UNAVAILABLE 
DIALOG_STATUS_LOW_LEVEL_AVAILABLE 
DIALOG_STATUS_LOW_LEVEL_REWARD_REP 
DIALOG_STATUS_LOW_LEVEL_AVAILABLE_REP 
DIALOG_STATUS_INCOMPLETE 
DIALOG_STATUS_REWARD_REP 
DIALOG_STATUS_AVAILABLE_REP 
DIALOG_STATUS_AVAILABLE 
DIALOG_STATUS_REWARD2 
DIALOG_STATUS_REWARD 
DIALOG_STATUS_SCRIPTED_NO_STATUS 
111{
121 DIALOG_STATUS_REWARD2 = 9, // no yellow dot on minimap
122 DIALOG_STATUS_REWARD = 10, // yellow dot on minimap
123
124 // Custom value meaning that script call did not return any valid quest status
126};
@ DIALOG_STATUS_UNAVAILABLE
Definition: QuestDef.h:113
@ DIALOG_STATUS_NONE
Definition: QuestDef.h:112
@ DIALOG_STATUS_AVAILABLE
Definition: QuestDef.h:120
@ DIALOG_STATUS_SCRIPTED_NO_STATUS
Definition: QuestDef.h:125
@ DIALOG_STATUS_LOW_LEVEL_REWARD_REP
Definition: QuestDef.h:115
@ DIALOG_STATUS_REWARD
Definition: QuestDef.h:122
@ DIALOG_STATUS_LOW_LEVEL_AVAILABLE
Definition: QuestDef.h:114
@ DIALOG_STATUS_REWARD_REP
Definition: QuestDef.h:118
@ DIALOG_STATUS_REWARD2
Definition: QuestDef.h:121
@ DIALOG_STATUS_INCOMPLETE
Definition: QuestDef.h:117
@ DIALOG_STATUS_LOW_LEVEL_AVAILABLE_REP
Definition: QuestDef.h:116
@ DIALOG_STATUS_AVAILABLE_REP
Definition: QuestDef.h:119

◆ QuestShareMessages

Enumerator
QUEST_PARTY_MSG_SHARING_QUEST 
QUEST_PARTY_MSG_CANT_TAKE_QUEST 
QUEST_PARTY_MSG_ACCEPT_QUEST 
QUEST_PARTY_MSG_DECLINE_QUEST 
QUEST_PARTY_MSG_BUSY 
QUEST_PARTY_MSG_LOG_FULL 
QUEST_PARTY_MSG_HAVE_QUEST 
QUEST_PARTY_MSG_FINISH_QUEST 
QUEST_PARTY_MSG_CANT_BE_SHARED_TODAY 
QUEST_PARTY_MSG_SHARING_TIMER_EXPIRED 
QUEST_PARTY_MSG_NOT_IN_PARTY 
65{
77};
@ QUEST_PARTY_MSG_FINISH_QUEST
Definition: QuestDef.h:73
@ QUEST_PARTY_MSG_CANT_TAKE_QUEST
Definition: QuestDef.h:67
@ QUEST_PARTY_MSG_BUSY
Definition: QuestDef.h:70
@ QUEST_PARTY_MSG_ACCEPT_QUEST
Definition: QuestDef.h:68
@ QUEST_PARTY_MSG_HAVE_QUEST
Definition: QuestDef.h:72
@ QUEST_PARTY_MSG_SHARING_TIMER_EXPIRED
Definition: QuestDef.h:75
@ QUEST_PARTY_MSG_CANT_BE_SHARED_TODAY
Definition: QuestDef.h:74
@ QUEST_PARTY_MSG_SHARING_QUEST
Definition: QuestDef.h:66
@ QUEST_PARTY_MSG_LOG_FULL
Definition: QuestDef.h:71
@ QUEST_PARTY_MSG_NOT_IN_PARTY
Definition: QuestDef.h:76
@ QUEST_PARTY_MSG_DECLINE_QUEST
Definition: QuestDef.h:69

◆ 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_CAST 
QUEST_SPECIAL_FLAGS_NO_REP_SPILLOVER 
QUEST_SPECIAL_FLAGS_CAN_FAIL_IN_ANY_STATE 
QUEST_SPECIAL_FLAGS_NO_LOREMASTER_COUNT 
QUEST_SPECIAL_FLAGS_DB_ALLOWED 
QUEST_SPECIAL_FLAGS_DELIVER 
QUEST_SPECIAL_FLAGS_SPEAKTO 
QUEST_SPECIAL_FLAGS_KILL 
QUEST_SPECIAL_FLAGS_TIMED 
QUEST_SPECIAL_FLAGS_PLAYER_KILL 
157{
159 // Trinity flags for set SpecialFlags in DB if required but used only at server
160 QUEST_SPECIAL_FLAGS_REPEATABLE = 0x0001, // Set by 1 in SpecialFlags from DB
161 QUEST_SPECIAL_FLAGS_EXPLORATION_OR_EVENT = 0x0002, // 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)
162 QUEST_SPECIAL_FLAGS_AUTO_ACCEPT = 0x0004, // Set by 4 in SpecialFlags in DB if the quest is to be auto-accepted.
163 QUEST_SPECIAL_FLAGS_DF_QUEST = 0x0008, // Set by 8 in SpecialFlags in DB if the quest is used by Dungeon Finder.
164 QUEST_SPECIAL_FLAGS_MONTHLY = 0x0010, // Set by 16 in SpecialFlags in DB if the quest is reset at the begining of the month
165 QUEST_SPECIAL_FLAGS_CAST = 0x0020, // Set by 32 in SpecialFlags in DB if the quest requires RequiredOrNpcGo killcredit but NOT kill (a spell cast)
166 QUEST_SPECIAL_FLAGS_NO_REP_SPILLOVER = 0x0040, // Set by 64 in SpecialFlags in DB if the quest does not share rewarded reputation with other allied factions
167 QUEST_SPECIAL_FLAGS_CAN_FAIL_IN_ANY_STATE = 0x0080, // Set by 128 in SpecialFlags in DB if the quest is allowed to fail in Player::FailQuest() independant of its current state
168 QUEST_SPECIAL_FLAGS_NO_LOREMASTER_COUNT = 0x0100, // Set by 256 in SpecialFlags in DB if the quest should not count towards Loremaster Achievement
169 // room for more custom flags
170
174
175 QUEST_SPECIAL_FLAGS_DELIVER = 0x0200, // Internal flag computed only
176 QUEST_SPECIAL_FLAGS_SPEAKTO = 0x0400, // Internal flag computed only
177 QUEST_SPECIAL_FLAGS_KILL = 0x0800, // Internal flag computed only
178 QUEST_SPECIAL_FLAGS_TIMED = 0x1000, // Internal flag computed only
179 QUEST_SPECIAL_FLAGS_PLAYER_KILL = 0x2000 // Internal flag computed only
180};
@ QUEST_SPECIAL_FLAGS_CAST
Definition: QuestDef.h:165
@ QUEST_SPECIAL_FLAGS_AUTO_ACCEPT
Definition: QuestDef.h:162
@ QUEST_SPECIAL_FLAGS_TIMED
Definition: QuestDef.h:178
@ QUEST_SPECIAL_FLAGS_DELIVER
Definition: QuestDef.h:175
@ QUEST_SPECIAL_FLAGS_NO_LOREMASTER_COUNT
Definition: QuestDef.h:168
@ QUEST_SPECIAL_FLAGS_REPEATABLE
Definition: QuestDef.h:160
@ QUEST_SPECIAL_FLAGS_CAN_FAIL_IN_ANY_STATE
Definition: QuestDef.h:167
@ QUEST_SPECIAL_FLAGS_KILL
Definition: QuestDef.h:177
@ QUEST_SPECIAL_FLAGS_DB_ALLOWED
Definition: QuestDef.h:171
@ QUEST_SPECIAL_FLAGS_EXPLORATION_OR_EVENT
Definition: QuestDef.h:161
@ QUEST_SPECIAL_FLAGS_DF_QUEST
Definition: QuestDef.h:163
@ QUEST_SPECIAL_FLAGS_NONE
Definition: QuestDef.h:158
@ QUEST_SPECIAL_FLAGS_NO_REP_SPILLOVER
Definition: QuestDef.h:166
@ QUEST_SPECIAL_FLAGS_SPEAKTO
Definition: QuestDef.h:176
@ QUEST_SPECIAL_FLAGS_MONTHLY
Definition: QuestDef.h:164
@ QUEST_SPECIAL_FLAGS_PLAYER_KILL
Definition: QuestDef.h:179

◆ QuestStatus

Enumerator
QUEST_STATUS_NONE 
QUEST_STATUS_COMPLETE 
QUEST_STATUS_INCOMPLETE 
QUEST_STATUS_FAILED 
QUEST_STATUS_REWARDED 
MAX_QUEST_STATUS 
99{
102 //QUEST_STATUS_UNAVAILABLE = 2,
104 //QUEST_STATUS_AVAILABLE = 4,
106 QUEST_STATUS_REWARDED = 6, // Not used in DB
108};
@ QUEST_STATUS_REWARDED
Definition: QuestDef.h:106
@ QUEST_STATUS_FAILED
Definition: QuestDef.h:105
@ QUEST_STATUS_INCOMPLETE
Definition: QuestDef.h:103
@ QUEST_STATUS_NONE
Definition: QuestDef.h:100
@ MAX_QUEST_STATUS
Definition: QuestDef.h:107
@ QUEST_STATUS_COMPLETE
Definition: QuestDef.h:101

◆ 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 
80{
96};
@ QUEST_TRSKILL_ALCHEMY
Definition: QuestDef.h:82
@ QUEST_TRSKILL_FISHING
Definition: QuestDef.h:93
@ QUEST_TRSKILL_BLACKSMITHING
Definition: QuestDef.h:83
@ QUEST_TRSKILL_TAILORING
Definition: QuestDef.h:91
@ QUEST_TRSKILL_MINING
Definition: QuestDef.h:92
@ QUEST_TRSKILL_HERBALISM
Definition: QuestDef.h:88
@ QUEST_TRSKILL_JEWELCRAFTING
Definition: QuestDef.h:95
@ QUEST_TRSKILL_SKINNING
Definition: QuestDef.h:94
@ QUEST_TRSKILL_COOKING
Definition: QuestDef.h:84
@ QUEST_TRSKILL_NONE
Definition: QuestDef.h:81
@ QUEST_TRSKILL_ENGINEERING
Definition: QuestDef.h:86
@ QUEST_TRSKILL_FIRSTAID
Definition: QuestDef.h:87
@ QUEST_TRSKILL_ENCHANTING
Definition: QuestDef.h:85
@ QUEST_TRSKILL_LEATHERWORKING
Definition: QuestDef.h:89
@ QUEST_TRSKILL_POISONS
Definition: QuestDef.h:90