18#ifndef TRINITYCORE_QUEST_H
19#define TRINITYCORE_QUEST_H
36#define MAX_QUEST_LOG_SIZE 25
38#define QUEST_OBJECTIVES_COUNT 4
39#define QUEST_ITEM_OBJECTIVES_COUNT 6
40#define QUEST_SOURCE_ITEM_IDS_COUNT 4
41#define QUEST_REWARD_CHOICES_COUNT 6
42#define QUEST_REWARDS_COUNT 4
43#define QUEST_DEPLINK_COUNT 10
44#define QUEST_REPUTATIONS_COUNT 5
45#define QUEST_EMOTE_COUNT 4
46#define QUEST_PVP_KILL_SLOT 0
211 void LoadQuestDetails(
Field* fields);
212 void LoadQuestRequestItems(
Field* fields);
213 void LoadQuestOfferReward(
Field* fields);
214 void LoadQuestTemplateAddon(
Field* fields);
215 void LoadQuestMailSender(
Field* fields);
226 static bool IsTakingQuestEnabled(
uint32 questId);
263 std::string
const&
GetTitle()
const {
return _title; }
270 int32 GetRewOrReqMoney(
Player const* player =
nullptr)
const;
273 uint32 GetRewMoneyMaxLevel()
const;
286 bool IsAutoAccept()
const;
287 bool IsAutoComplete()
const;
294 bool IsRaidQuest(
Difficulty difficulty)
const;
295 bool IsAllowedInRaid(
Difficulty difficulty)
const;
298 bool CanIncreaseRewardedQuestCounters()
const;
330 static void AddQuestLevelToTitle(std::string& title,
int32 level);
331 void InitializeQueryData();
380 float _rewardKillHonor = 0.f;
#define QUEST_REWARDS_COUNT
@ INVALIDREASON_DONT_HAVE_REQ
@ INVALIDREASON_QUEST_FAILED_CAIS
@ INVALIDREASON_QUEST_ALREADY_ON2
@ INVALIDREASON_QUEST_ALREADY_ON
@ INVALIDREASON_QUEST_FAILED_MISSING_ITEMS
@ INVALIDREASON_QUEST_FAILED_WRONG_RACE
@ INVALIDREASON_DAILY_QUEST_COMPLETED_TODAY
@ INVALIDREASON_QUEST_ALREADY_DONE
@ INVALIDREASON_QUEST_ONLY_ONE_TIMED
@ INVALIDREASON_QUEST_FAILED_NOT_ENOUGH_MONEY
@ INVALIDREASON_QUEST_FAILED_LOW_LEVEL
@ INVALIDREASON_DAILY_QUESTS_REMAINING
@ INVALIDREASON_QUEST_FAILED_EXPANSION
@ QUEST_TRSKILL_BLACKSMITHING
@ QUEST_TRSKILL_TAILORING
@ QUEST_TRSKILL_HERBALISM
@ QUEST_TRSKILL_JEWELCRAFTING
@ QUEST_TRSKILL_ENGINEERING
@ QUEST_TRSKILL_ENCHANTING
@ QUEST_TRSKILL_LEATHERWORKING
#define QUEST_ITEM_OBJECTIVES_COUNT
#define QUEST_EMOTE_COUNT
#define QUEST_OBJECTIVES_COUNT
@ QUEST_FLAGS_PARTY_ACCEPT
@ QUEST_FLAGS_HIDE_REWARD_POI
@ QUEST_FLAGS_NO_MONEY_FROM_XP
@ QUEST_FLAGS_HIDDEN_REWARDS
@ QUEST_FLAGS_DISPLAY_ITEM_IN_TRACKER
@ QUEST_FLAGS_HAS_CONDITION
@ QUEST_FLAGS_AUTO_ACCEPT
@ QUEST_FLAGS_EXPLORATION
@ QUEST_FLAGS_DEPRECATE_REPUTATION
@ QUEST_FLAGS_UNAVAILABLE
@ QUEST_FLAGS_AUTOCOMPLETE
@ QUEST_STATUS_INCOMPLETE
@ QUEST_PARTY_MSG_FINISH_QUEST
@ QUEST_PARTY_MSG_CANT_TAKE_QUEST
@ QUEST_PARTY_MSG_NOT_ELIGIBLE_TODAY
@ QUEST_PARTY_MSG_ACCEPT_QUEST
@ QUEST_PARTY_MSG_HAVE_QUEST
@ QUEST_PARTY_MSG_SHARING_TIMER_EXPIRED
@ QUEST_PARTY_MSG_CANT_BE_SHARED_TODAY
@ QUEST_PARTY_MSG_SHARING_QUEST
@ QUEST_PARTY_MSG_LOG_FULL
@ QUEST_PARTY_MSG_NOT_IN_PARTY
@ QUEST_PARTY_MSG_DECLINE_QUEST
#define QUEST_REPUTATIONS_COUNT
#define QUEST_SOURCE_ITEM_IDS_COUNT
#define QUEST_REWARD_CHOICES_COUNT
@ DIALOG_STATUS_UNAVAILABLE
@ DIALOG_STATUS_AVAILABLE
@ DIALOG_STATUS_LOW_LEVEL_REWARD_REP
@ DIALOG_STATUS_LOW_LEVEL_AVAILABLE
@ DIALOG_STATUS_REWARD_REP
@ DIALOG_STATUS_INCOMPLETE
@ DIALOG_STATUS_LOW_LEVEL_AVAILABLE_REP
@ DIALOG_STATUS_AVAILABLE_REP
@ QUEST_SPECIAL_FLAGS_COMPLETED_AT_START
@ QUEST_SPECIAL_FLAGS_CAST
@ QUEST_SPECIAL_FLAGS_AUTO_ACCEPT
@ QUEST_SPECIAL_FLAGS_TIMED
@ QUEST_SPECIAL_FLAGS_DELIVER
@ QUEST_SPECIAL_FLAGS_REPEATABLE
@ QUEST_SPECIAL_FLAGS_KILL
@ QUEST_SPECIAL_FLAGS_DB_ALLOWED
@ QUEST_SPECIAL_FLAGS_EXPLORATION_OR_EVENT
@ QUEST_SPECIAL_FLAGS_DF_QUEST
@ QUEST_SPECIAL_FLAGS_NONE
@ QUEST_SPECIAL_FLAGS_SPEAKTO
@ QUEST_SPECIAL_FLAGS_MONTHLY
@ QUEST_SPECIAL_FLAGS_PLAYER_KILL
@ QUEST_SORT_LOVE_IS_IN_THE_AIR
@ QUEST_SORT_LUNAR_FESTIVAL
Class used to access individual fields of database query result.
int32 GetRewArenaPoints() const
std::string _areaDescription
bool HasSpecialFlag(uint32 flag) const
int32 GetRepObjectiveValue() const
bool HasFlag(uint32 flag) const
uint32 GetRewSpell() const
uint16 GetEventIdForQuest() const
Trinity::unique_weak_ptr< Quest > _weakRef
uint32 GetRewMailSenderEntry() const
int32 GetRepObjectiveValue2() const
std::vector< uint32 > DependentBreadcrumbQuests
uint32 GetRepObjectiveFaction() const
uint32 GetReqItemsCount() const
uint32 GetRewMailTemplateId() const
void SetSpecialFlag(uint32 flag)
uint32 GetRepObjectiveFaction2() const
uint32 GetCharTitleId() const
uint32 GetMaxLevel() const
std::string const & GetRequestItemsText() const
int32 GetRequiredMaxRepValue() const
int32 GetRequiredMinRepValue() const
uint32 GetMinLevel() const
std::string const & GetObjectives() const
uint32 GetPOIContinent() const
uint32 GetSrcItemCount() const
uint32 GetRequiredClasses() const
std::string _requestItemsText
std::string const & GetDetails() const
uint32 GetAllowableRaces() const
uint32 GetSrcSpell() const
bool IsRepeatable() const
int32 GetZoneOrSort() const
int32 GetQuestLevel() const
float GetRewHonorMultiplier() const
uint32 GetRewHonorAddition() const
uint32 GetRequiredMinRepFaction() const
int32 GetPrevQuestId() const
uint32 GetPlayersSlain() const
std::string const & GetCompletedText() const
std::vector< uint32 > DependentPreviousQuests
uint32 GetQuestId() const
uint32 GetRequiredSkillValue() const
uint32 GetRewMailDelaySecs() const
int32 GetExclusiveGroup() const
uint32 GetPointOpt() const
int32 GetBreadcrumbForQuestId() const
std::string const & GetOfferRewardText() const
void SetEventIdForQuest(uint16 eventId)
Trinity::unique_weak_ptr< Quest > GetWeakPtr() const
uint32 GetRewItemsCount() const
std::string const & GetAreaDescription() const
uint32 GetRequiredSkill() const
uint32 GetRewChoiceItemsCount() const
uint32 GetIncompleteEmote() const
uint32 GetSrcItemId() const
uint32 GetNextQuestId() const
bool IsDailyOrWeekly() const
std::string const & GetTitle() const
uint32 GetReqCreatureOrGOcount() const
uint32 GetCompleteEmote() const
void SetFlag(uint32 flag)
int32 GetRewSpellCast() const
std::string _completedText
uint32 GetBonusTalents() const
std::string _offerRewardText
uint32 GetQuestMethod() const
uint32 GetTimeAllowed() const
uint32 GetRequiredMaxRepFaction() const
uint32 GetNextQuestInChain() const
uint32 GetSuggestedPlayers() const
Trinity::unique_trackable_ptr companion class, replicating what std::weak_ptr is to std::shared_ptr.
std::vector< std::string > AreaDescription
std::vector< std::string > RequestItemsText
std::vector< std::string > OfferRewardText
std::vector< std::string > CompletedText
std::vector< std::string > Title
std::vector< std::string > Objectives
std::vector< std::vector< std::string > > ObjectiveText
std::vector< std::string > Details
std::vector< std::string > RewardText
std::vector< std::string > CompletionText
uint16 ItemCount[QUEST_ITEM_OBJECTIVES_COUNT]
uint16 CreatureOrGOCount[QUEST_OBJECTIVES_COUNT]