- 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#18913Closes#11187Closes#15279
- They should work as documented by wiki now.
- Add some consts to Player methods
- Fixed negative PrevQuestID to mean only active quest (ie not rewarded/complete, as those quests are required to complete another)
Closes#19300
- Made load/reload associated quest tables data-driven, so removed a bunch of similar looking code from ObjectMgr (yay!)
- Codestyle and encapsulation for ExclusiveQuestGroups
* Core/Packets: convert CMSG_ENUM_CHARACTERS and SMSG_ENUM_CHARACTERS_RESULT to packet class
* Cleanup some excessive large spaces
* These entire spaces must be purged
* Order members by type size and alphabetical
* Change TaggedPosition into Position
* the haste regeneration modifier will now act multiplicative on the base regeneration rate rather than modifying it directly
* renamed some functions for clarification
* fixed packet structure field order of MSG_MOVE_TIME_SKIPPED
* send move_update opcodes to players after the target player's client has confirmed the speed change via ack opcode
*todo: implement anti-cheat checks
* Nefarian will now enter phase three when the first Chromatic Prototype has died
* Onyxia can no longer die before Nefarian has landed in phase one
* inital work on the Shadowblaze Flame spreading
* implement achievement 'Keeping it in the Family