Commit Graph
12086 Commits
Author SHA1 Message Date
ariel- d28be94e4a Core/Quests: implemented MSG_QUEST_PUSH_RESULT notifications
- Allow to share already completed (but not rewarded) quests, restriction was unblizzlike

thanks Cannix for the heads up
2020-02-20 01:55:48 +01:00
xinef1 d6e7cc52a8 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
2020-02-20 01:51:14 +01:00
ariel- 08e174549e Core/Quest: fix RewardNextQuest being used to condition previous quests in chain 2020-02-20 01:42:01 +01:00
ariel- a7484837a8 Core/Quests: fixed exclusivegroup interaction with prevquestId and nextQuestId.
- 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
2020-02-20 01:39:08 +01:00
ariel- d78ad034d0 Core/Quests: changed quest_template_addon.NextQuestID to unsigned
- No reason to keep this anymore after 4349adf0f25210e5b26201523a09bc26b4a83394, this is a broken functionality.
2020-02-20 01:33:53 +01:00
ariel- 330f399de3 Core/Globals: some changes in quest loading
- Made load/reload associated quest tables data-driven, so removed a bunch of similar looking code from ObjectMgr (yay!)
- Codestyle and encapsulation for ExclusiveQuestGroups
2020-02-20 01:31:29 +01:00
ariel- ef6f5abf75 Core/Globals: Fix Quest codestyle and member variable initialization 2020-02-20 01:24:47 +01:00
Ovahlord 6e6c9b2787 Core/Movement: use GameTimeMS at a missing spot 2020-02-19 07:00:02 +01:00
Ghaster df173c7e1c Core/Bnet: Cleanup/Improve Battle.net account commands (#33) 2020-02-19 02:52:11 +01:00
Ovahlord ae657b2c31 Core/AI: fixed smartAI validation 2020-02-18 22:39:40 +01:00
Ovahlord 6dce62f0fd Core/AI: replaced SMART_ACTION_STOP_MOTION with new functionality called SMART_ACTION_PAUSE_MOVEMENT 2020-02-18 22:13:33 +01:00
Ovahlord ea32427608 Core/Movement: fixed some db layout issues when loading creature movements 2020-02-18 20:54:28 +01:00
Ovahlord 1793f39fcc Core/Movement: Allow using run when moving randomly 2020-02-18 06:32:25 +01:00
Ovahlord 4aff2dd524 Core/Packets: fixed structure of SMSG_NEW_WORLD 2020-02-17 21:15:46 +01:00
Ovahlord 87955a487e Core/Packets: corrected packet structure of SMSG_SUSPEND_TOKEN 2020-02-17 19:51:22 +01:00
Ovahlord 22ed3f306d Core/Movement: implement SMSG_SUSPEND_TOKEN and CMSG_SUSPEND_TOKEN_RESPONSE packets and converted SMSG_TRANSFER_PENDING and SMSG_NEW_WORLD to packet class 2020-02-17 18:40:21 +01:00
Ovahlord a5e56171af Core/Units: added pointer check in SetMinion to protect the core against old/bad coding and improved codestyle in function 2020-02-17 00:18:32 +01:00
Ovahlord e0d610e79b Scripts/BWD: reworked handlings for riding and damage phase of Magmaw
* cleaned up unneeded members and move initialization to a more fitting place
* minor corrections to timer layouts
* fixed passengers not getting ejected from Magmaw's Pincers when Magmaw is about to impale himself
* handle missing whisper message for players that have been mangled
2020-02-10 14:57:25 +01:00
Ovahlord 1192d02373 Core/Vehicles: disable passenger gravity also for vehicles that can fly by default 2020-02-09 19:22:13 +01:00
Ovahlord 9a220efa3a Core/Vehicles: apply disable gravity movement flag alongside the packet when entering a vehicle seat with disable gravity flag 2020-02-09 18:42:59 +01:00
Ovahlord 6210564445 Core/Spells: summoned vehicles will no longer automatically inherit their summoner's faction 2020-02-09 17:55:47 +01:00
Ovahlord 48e13b6fdc Core/Movement: movements triggered by MoveCyclicPath will now be placed in the idle motion slot instead of the active one 2020-02-09 16:19:04 +01:00
Ovahlord e0a1c5fa1a Core/Objects: use detour raycasts for unit based MovePositionToFirstCollision calls 2020-02-08 23:33:02 +01:00
jackpoz c3d2b2c6d5 Core/PathFinding: Return raycast hitpoint when specifying straightLine 2020-02-08 23:32:09 +01:00
Ovahlord 274877ab67 Core/Player: fixed a typo that was causing area trigger geometric checks to return false positive results 2020-02-08 18:45:28 +01:00
Ovahlord b7f7e99d63 Core/Packets: converted SMSG_TRIGGER_CINEMATIC, SMSG_TRIGGER_MOVIE, CMSG_COMPLETE_CINEMATIC, CMSG_NEXT_CINEMATIC_CAMERA, CMSG_COMPLETE_MOVIE and SMSG_STREAMING_MOVIES to packet class 2020-02-08 15:11:32 +01:00
Ovahlord a5adc77f04 Core/Auras: moved SPELL_AURA_MOD_MELEE_DAMAGE_FROM_CASTER handling to MeleeDamageBonusDone 2020-02-05 08:42:29 +01:00
Ovahlord b95d367f8d Core/Auras: define and implement SPELL_AURA_MOD_MELEE_DAMAGE_FROM_CASTER 2020-02-04 22:34:44 +01:00
Ovahlord 318e58aa42 Core/Spells:
* fixed Combat Potency talent
* fixed Restless Blades talent
* corrected Blade Twisting spell range
* fixed Bandit's Guile
* fixed startup errors
2020-02-04 22:17:55 +01:00
Ovahlord 2ad22015ad Core/Spells: another followup for the summon number logic 2020-02-03 08:37:38 +01:00
Ovahlord c0ff73467f Core/Spells: corrected logic in 494404a549 2020-02-02 15:54:40 +01:00
Ovahlord 494404a549 Core/Spells: added another attribute for summon number restrictions 2020-02-02 15:48:58 +01:00
Ovahlord 6c74be5dfa Core/Spells: added another summon number restriction based on spell attribute research 2020-02-02 15:45:12 +01:00
Ovahlord 756dd936be Core/Creature: restored a slot check for summons with a fixed summon slot number 2020-02-02 15:29:30 +01:00
Ovahlord 5b8e441b40 Core/Spells: f04a20d717 followup 2020-02-02 12:38:15 +01:00
Ovahlord f04a20d717 Core/Spells: set ownerGUID only under certain circumstances instead of setting it always
* The number of summons is now entirely determined by the effect value of the summon spell and only skipped for totems
2020-02-02 12:23:59 +01:00
Killyana 3d1205ea5f Core/Misc: rename npc_text emote related fields to reflect broadcast text column names and updates emote data to the correct format 2020-02-02 10:56:03 +01:00
Ovahlord 633cfee22b Core/Packets: convert SMSG_QUEST_GIVER_OFFER_REWARD_MESSAGE to packet class and fix emote field order in QuestGiverQuestDetails
* fixed quest packet header naming typos
2020-02-01 19:55:54 +01:00
Ovahlord 99935970a6 Core/Player: make travis happy
* fixed spacing in msg opcode enum
2020-02-01 16:07:19 +01:00
Ovahlord 3c378d7b0d Core/Packets: converted SMSG_QUEST_UPDATE_COMPLETE, SMSG_QUEST_UPDATE_FAILED_TIMER, SMSG_QUEST_GIVER_INVALID_QUEST, SMSG_QUEST_GIVER_QUEST_FAILED, MSG_QUEST_PUSH_RESULT, SMSG_QUEST_GIVER_STATUS_MULTIPLE and SMSG_QUEST_LOG_FULL to packet class 2020-02-01 15:47:58 +01:00
Ovahlord 9c0755a343 Core/Packets: converted SMSG_QUEST_CONFIRM_ACCEPT, SMSG_QUEST_UPDATE_ADD_CREDIT and SMSG_QUEST_UPDATE_ADD_PVP_CREDIT to packet class 2020-02-01 11:41:24 +01:00
Ovahlord 1c784a7fd7 Core/Packets: convert SMSG_QUEST_GIVER_QUEST_COMPLETE to packet class 2020-02-01 11:01:45 +01:00
jackpoz 183789053e Core/Misc: Fix GCC 8 warnings 2020-01-31 21:19:25 +01:00
Treeston 72a6bc7d10 This is not the critical chat system bug fix you were looking for. No sir. (Oops.) 2020-01-31 20:32:06 +01:00
Treeston eed78a603e Core/Misc: Rewrite some old name handling functions that use raw buffers to no longer be old name handling functions that use raw buffers. 2020-01-31 20:31:14 +01:00
Ovahlord 638d368130 Core/Creatures: re-organized default summoning behaivior to make sure that all fields are set before the summon gets sent out to clients 2020-01-31 11:29:58 +01:00
Ovahlord f2713834c7 Core/AI: cleaned up SAI initialization in order to fix some unexpected behaivior when summoning creatures with sai assigned 2020-01-31 11:27:58 +01:00
Ovahlord 66a4a9617c Core/Spells: restore player caster check when trying to hit personal summons with spells 2020-01-31 08:00:45 +01:00
Ovahlord fe5044aac3 Core/AI: summons that are considered as "guides" will no longer follow players on spawn 2020-01-31 07:59:44 +01:00
Ovahlord 86d479a087 Core/Spells: expand personal spawn handling for summons to all kind of summons
* personal summon target checks for spells will now always happen instead of only if a player is the caster
2020-01-31 07:46:43 +01:00