aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Quests/QuestDef.h
diff options
context:
space:
mode:
authorxinef1 <w.szyszko2@gmail.com>2017-04-24 05:46:06 +0200
committerariel- <ariel-@users.noreply.github.com>2017-04-24 00:46:06 -0300
commitcbbb74524623ea22fc5375697d6ec2ec16a1755f (patch)
tree534ee5d53e523dd193e9f06f63a6cbaf5d1e6611 /src/server/game/Quests/QuestDef.h
parent522f537048189b40a12d68583485d1de7fcbf1d2 (diff)
Various quest system fixes (seasonal quests, timed quests and more) (#18940)
- Unify quest status checking function, use dedicated function instead of direct map checks - Fixed seasonal quest chains and ability to complete the same quests rewarded in past - Update area dependent auras on quest status change (they often requires specific quest status) - Send all not stored quest rewards by mail - When casting quest reward spell, check if it is not self casted, if so - use player to cast this spell - Perform full db save on quest reward to prevent data desynchronization - Don't allow to fail completed timed quests, except for quests which are completed right from the start - Don't allow to share pooled quests, if they are not available in the current pool (eg sharing easy dalaran weeklies, stored at alt character) - Remove seasonal quest if rewarded quest is removed - Don't complete whole quest on AreaExplore event, check if there are no more requirements that should be fulfilled - Quests with flag QUEST_SPECIAL_FLAGS_PLAYER_KILL can be only credited in quest zone Closes #18913 Closes #11187 Closes #15279
Diffstat (limited to 'src/server/game/Quests/QuestDef.h')
-rw-r--r--src/server/game/Quests/QuestDef.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/server/game/Quests/QuestDef.h b/src/server/game/Quests/QuestDef.h
index 24925b064c3..c92b548f7b4 100644
--- a/src/server/game/Quests/QuestDef.h
+++ b/src/server/game/Quests/QuestDef.h
@@ -171,7 +171,8 @@ enum QuestSpecialFlags
QUEST_SPECIAL_FLAGS_SPEAKTO = 0x100, // Internal flag computed only
QUEST_SPECIAL_FLAGS_KILL = 0x200, // Internal flag computed only
QUEST_SPECIAL_FLAGS_TIMED = 0x400, // Internal flag computed only
- QUEST_SPECIAL_FLAGS_PLAYER_KILL = 0x800 // Internal flag computed only
+ QUEST_SPECIAL_FLAGS_PLAYER_KILL = 0x800, // Internal flag computed only
+ QUEST_SPECIAL_FLAGS_COMPLETED_AT_START = 0x1000 // Internal flag computed only
};
struct QuestLocale