6#ifndef SKYFIRESERVER_QUEST_H
7#define SKYFIRESERVER_QUEST_H
22#define MAX_QUEST_LOG_SIZE 25
24#define QUEST_SOURCE_ITEM_IDS_COUNT 4
25#define QUEST_REWARD_CHOICES_COUNT 6
26#define QUEST_REWARDS_COUNT 4
27#define QUEST_DEPLINK_COUNT 10
28#define QUEST_REPUTATIONS_COUNT 5
29#define QUEST_EMOTE_COUNT 4
30#define QUEST_REWARD_CURRENCY_COUNT 4
31#define QUEST_SOURCE_ITEM_COUNT 1
std::vector< std::string > StringVector
std::vector< uint32 > VisualEffectVec
std::set< QuestObjective * > QuestObjectiveSet
@ QUEST_PARTY_MSG_FINISH_QUEST
@ QUEST_PARTY_MSG_CANT_TAKE_QUEST
@ 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_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_FLAGS2_NO_GUILD_XP
@ QUEST_FLAGS2_SUPPRESS_GOSSIP_ACCEPT
@ QUEST_FLAGS2_LEGENDARY_QUEST
@ QUEST_FLAGS2_DISALLOW_PLAYER_AS_QUESTGIVER
@ QUEST_FLAGS2_KEEP_ADDITIONAL_ITEMS
@ QUEST_FLAGS2_DISPLAY_SPEC_CHOICE_REWARDS
@ QUEST_FLAGS2_REMOVE_FROM_LOG_ON_PERIDOIC_RESET
@ QUEST_FLAGS2_SUPPRESS_GOSSIP_COMPLETE
@ QUEST_FLAGS2_NO_CREDIT_FOR_PROXY
@ QUEST_FLAGS2_RECAST_ACCEPT_SPELL_ON_LOGIN
@ QUEST_FLAGS2_DISPLAY_AS_DAILY_QUEST
@ QUEST_FLAGS2_ACCOUNT_LEVEL_QUEST
@ QUEST_FLAGS2_UPDATE_ZONE_AURAS
@ QUEST_FLAGS2_NO_ABANDON_ON_ANY_OBJECTIVE_COMPLETE
@ QUEST_FLAGS2_RESET_CACHE_ON_ACCEPT
@ QUEST_FLAGS2_DISPLAY_CLASS_CHOICE_REWARDS
@ QUEST_TRSKILL_BLACKSMITHING
@ QUEST_TRSKILL_TAILORING
@ QUEST_TRSKILL_HERBALISM
@ QUEST_TRSKILL_JEWELCRAFTING
@ QUEST_TRSKILL_ENGINEERING
@ QUEST_TRSKILL_ENCHANTING
@ QUEST_TRSKILL_LEATHERWORKING
@ QUEST_OBJECTIVE_TYPE_FACTION_REP2
@ QUEST_OBJECTIVE_TYPE_PET_BATTLE_PVP
@ QUEST_OBJECTIVE_TYPE_CURRENCY
@ QUEST_OBJECTIVE_TYPE_ITEM
@ QUEST_OBJECTIVE_TYPE_NPC
@ QUEST_OBJECTIVE_TYPE_NPC_INTERACT
@ QUEST_OBJECTIVE_TYPE_PET_BATTLE_ELITE
@ QUEST_OBJECTIVE_TYPE_SPELL
@ QUEST_OBJECTIVE_TYPE_PET_BATTLE_TAMER
@ QUEST_OBJECTIVE_TYPE_END
@ QUEST_OBJECTIVE_TYPE_FACTION_REP
@ QUEST_OBJECTIVE_TYPE_DUMMY
@ QUEST_OBJECTIVE_TYPE_MONEY
@ QUEST_OBJECTIVE_TYPE_GO
@ QUEST_OBJECTIVE_TYPE_PLAYER
#define QUEST_EMOTE_COUNT
#define QUEST_REWARD_CURRENCY_COUNT
@ QUEST_FLAGS_PORTRAIT_FROM_LOG
@ QUEST_FLAGS_DISABLE_COMPLETION_TEXT
@ QUEST_FLAGS_UPDATE_PHASE_SHIFT
@ QUEST_FLAGS_ITEM_GLOW_ON_COMPLETE
@ QUEST_FLAGS_HIDE_REWARD_POI
@ QUEST_FLAGS_NO_MONEY_FROM_XP
@ QUEST_FLAGS_EXPANSION_ONLY
@ QUEST_FLAGS_LAUNCH_GOSSIP_ACCEPT
@ QUEST_FLAGS_DISPLAY_ITEM_IN_TRACKER
@ QUEST_FLAGS_HAS_CONDITION
@ QUEST_FLAGS_COMPLETION_AREA_TRIGGER
@ QUEST_FLAGS_AUTO_ACCEPT
@ QUEST_FLAGS_SOR_WHITELIST
@ QUEST_FLAGS_HIDE_UNTIL_DISCOVERED
@ QUEST_FLAGS_HIDE_REWARD
@ QUEST_FLAGS_SHOW_ITEM_WHEN_COMPLETE
@ QUEST_FLAGS_PLAYER_CAST_COMPLETE
@ QUEST_FLAGS_DEPRECATE_REPUTATION
@ QUEST_FLAGS_REMOVE_EXTRA_GET_ITEMS
@ QUEST_FLAGS_LAUNCH_GOSSIP_COMPLETE
@ QUEST_FLAGS_AUTOCOMPLETE
@ QUEST_FLAGS_FAIL_ON_LOGOUT
@ QUEST_FLAGS_PLAYER_CAST_ACCEPT
@ QUEST_FLAGS_START_EVENT_MUST_COMPLETE
@ QUEST_FLAGS_TRACKING_EVENT
@ QUEST_STATUS_INCOMPLETE
#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
std::vector< uint8 > ObjectiveTypeCountVec
@ QUEST_SPECIAL_FLAGS_CAST
@ QUEST_SPECIAL_FLAGS_AUTO_ACCEPT
@ QUEST_SPECIAL_FLAGS_TIMED
@ QUEST_SPECIAL_FLAGS_REPEATABLE
@ QUEST_SPECIAL_FLAGS_DB_ALLOWED
@ QUEST_SPECIAL_FLAGS_EXPLORATION_OR_EVENT
@ QUEST_SPECIAL_FLAGS_DF_QUEST
@ QUEST_SPECIAL_FLAGS_NONE
@ QUEST_SPECIAL_FLAGS_MONTHLY
@ QUEST_SORT_LOVE_IS_IN_THE_AIR
@ QUEST_SORT_LUNAR_FESTIVAL
int32 GetRewArenaPoints() const
bool HasSpecialFlag(uint32 flag) const
bool HasFlag(uint32 flag) const
uint32 DetailsEmote[QUEST_EMOTE_COUNT]
uint32 OfferRewardEmote[QUEST_EMOTE_COUNT]
uint32 GetRewSpell() const
uint32 GetRewMoneyMaxLevel() const
uint32 GetSpecialFlags() const
uint32 QuestGiverPortrait
uint32 RewardCurrencyCount[QUEST_REWARD_CURRENCY_COUNT]
uint32 RequiredMaxRepFaction
uint32 GetRewardSkillId() const
uint32 GetSoundAccept() const
std::string const & GetQuestGiverTargetName() const
uint32 RequiredMinRepFaction
std::string const & GetEndText() const
uint32 GetRequiredRaces() const
uint8 GetQuestObjectiveCount() const
uint32 GetRewMailTemplateId() const
std::string RequestItemsText
void SetSpecialFlag(uint32 flag)
uint32 RequiredSourceItemId[QUEST_SOURCE_ITEM_IDS_COUNT]
std::string QuestTurnTargetName
Quest(Field *questRecord)
uint32 GetCharTitleId() const
uint32 GetMaxLevel() const
std::string const & GetRequestItemsText() const
int32 GetRequiredMaxRepValue() const
uint32 XPValue(Player *player) const
uint8 GetQuestObjectiveCountType(uint8 type) const
uint32 RewardItemIdCount[QUEST_REWARDS_COUNT]
int32 GetRequiredMinRepValue() const
uint32 GetMinLevel() const
std::string QuestTurnTextWindow
uint32 RewardPackageItemId
QuestObjective const * GetQuestObjectiveXObjectId(uint32 objectId) const
std::string const & GetObjectives() const
uint32 GetPointMapId() const
uint32 GetRewardReputationMask() const
uint32 RewardChoiceItemId[QUEST_REWARD_CHOICES_COUNT]
uint32 _rewChoiceItemsCount
uint32 RewardReputationMask
uint32 RewardMailTemplateId
uint32 GetQuestGiverPortrait() const
uint32 GetRewChoiceItemCount(uint32 itemId) const
uint32 GetQuestTurnInPortrait() const
uint32 RewardMoneyMaxLevel
int32 GetNextQuestId() const
int32 RewardFactionValueIdOverride[QUEST_REPUTATIONS_COUNT]
std::string QuestGiverTargetName
uint32 GetRequiredClasses() const
uint32 DetailsEmoteDelay[QUEST_EMOTE_COUNT]
std::string const & GetDetails() const
uint32 GetLimitTime() const
uint32 GetSrcSpell() const
std::string QuestGiverTextWindow
bool IsRewChoiceItemValid(uint32 itemId) const
bool IsRepeatable() const
int32 GetZoneOrSort() const
ObjectiveTypeCountVec m_questObjecitveTypeCount
uint32 GetMinimapTargetMark() const
uint32 RequiredSkillPoints
int32 GetQuestLevel() const
float GetRewHonorMultiplier() const
bool IsAutoComplete() const
uint32 GetRewHonorAddition() const
uint32 RewardChoiceItemCount[QUEST_REWARD_CHOICES_COUNT]
uint32 GetRequiredMinRepFaction() const
uint32 RequiredPlayerKills
int32 GetPrevQuestId() const
std::string const & GetQuestTurnTargetName() const
std::string const & GetCompletedText() const
uint32 CalculateHonorGain(uint8 level) const
std::vector< uint32 > PrevChainQuests
std::string const & GetQuestTurnTextWindow() const
uint32 OfferRewardEmoteDelay[QUEST_EMOTE_COUNT]
uint32 GetQuestId() const
uint32 GetRequiredSkillValue() const
int32 RequiredMaxRepValue
bool IsRaidQuest(DifficultyID difficulty) const
uint32 RequiredSourceItemCount[QUEST_SOURCE_ITEM_IDS_COUNT]
void SetFlag2(uint32 flag)
std::string CompletedText
QuestObjectiveSet m_questObjectives
bool IsAutoAccept() const
int32 GetRewMoney() const
uint32 GetRewMailDelaySecs() const
int32 GetExclusiveGroup() const
bool HasFlag2(uint32 flag) const
uint32 GetPointOpt() const
uint32 QuestTurnInPortrait
std::string const & GetOfferRewardText() const
uint32 RewardCurrencyId[QUEST_REWARD_CURRENCY_COUNT]
uint32 GetSoundTurnIn() const
uint32 GetRewItemsCount() const
uint32 GetRequiredSkill() const
uint32 GetRewChoiceItemsCount() const
uint32 GetIncompleteEmote() const
QuestObjective const * GetQuestObjectiveXIndex(uint8 index) const
float RewardHonorMultiplier
uint32 GetSrcItemId() const
uint32 RewardFactionId[QUEST_REPUTATIONS_COUNT]
bool IsDailyOrWeekly() const
std::string const & GetTitle() const
std::string OfferRewardText
uint32 GetCompleteEmote() const
uint32 GetRewCurrencyCount() const
int32 RewardFactionValueId[QUEST_REPUTATIONS_COUNT]
bool IsAllowedInRaid(DifficultyID difficulty) const
void SetFlag(uint32 flag)
int32 GetRewSpellCast() const
std::string const & GetQuestGiverTextWindow() const
uint32 GetRewardPackageItemId() const
uint32 RewardItemId[QUEST_REWARDS_COUNT]
uint32 GetBonusTalents() const
uint32 GetQuestMethod() const
uint32 GetRewardSkillPoints() const
std::vector< int32 > PrevQuests
PrevChainQuests prevChainQuests
int32 RequiredMinRepValue
uint32 GetRequiredMaxRepFaction() const
uint32 GetNextQuestInChain() const
QuestObjective const * GetQuestObjective(uint32 objectiveId) const
uint32 GetSuggestedPlayers() const
StringVector QuestTurnTargetName
StringVector OfferRewardText
StringVector RequestItemsText
StringVector CompletedText
StringVector QuestTurnTextWindow
StringVector QuestGiverTextWindow
StringVector QuestGiverTargetName
QuestObjective(uint32 id, uint8 index, uint8 type, uint32 objectId, int32 amount, uint32 flags, std::string description)
VisualEffectVec VisualEffects