Commit Graph
2047 Commits
Author SHA1 Message Date
Ovahlord 59120fbd38 Core/Quests: ported breadcrumb quest handlings and cleaned up quest template loading handlings 2020-02-20 05:08:09 +01:00
ariel- 0fcc0ebca2 Core/Player: don't check quest requirements against RewardNextQuest
- This field is only used to propose a new quest to player after completion, shouldn't be used to condition current quest

Closes #19515
2020-02-20 02:20:08 +01:00
xinef1 c72ee80eb7 Core/Quests: Display quest objective explore completion message
- Game client should show an on-screen message for explored quest objectives
  (AreaExploredOrEventHappens) when the objective has been completed.
2020-02-20 02:15:00 +01:00
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- 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 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 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 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
Ghaster a246b5a342 Core/Item: cleanup some enums (#28) 2020-01-30 17:06:37 +01:00
Ovahlord d4faba7897 Core/Players: restore enchantment update handling if a skill is being reduced by game masters 2020-01-28 21:27:51 +01:00
Ovahlord a11fb57342 Core/Players: re-organize SetSkill logic to cover all possible save state cases with the new skill initialization 2020-01-28 17:36:32 +01:00
Ovahlord 37fae4e57a Core/Player: fixed a warning 2020-01-27 11:26:36 +01:00
Ovahlord a72411241d Core/Players: simplified mount capability update checks and removed a unneeded call uppon changing liquid status 2020-01-27 09:49:26 +01:00
Ovahlord 65145b375a Core/Players: fixed an ancient typo in 34b3617184
thx to Artamedes for noticing
2020-01-26 16:34:56 +01:00
Ovahlord 28b3ae6946 Core/Items: 603b71d2a7 followup. Simplified checks 2020-01-26 08:49:13 +01:00
Ovahlord 603b71d2a7 Core/Items: fixed handling of Heirloom item stat distribution 2020-01-26 07:41:51 +01:00
Ghaster 97a727749a Core/PacketIO: convert all authentication related packets to packet class (#26) 2020-01-25 15:44:56 +01:00
Ovahlord fcb79fee07 Core/Datastores: updated DBC structure names to generated member format 2020-01-25 12:36:32 +01:00
Ovahlord 744ac00469 Core/Spells: converted SMSG_SPELL_START and SMSG_SPELL_GO to packet class 2020-01-21 06:03:02 +01:00
Ghaster 2587802100 Core/Packets: convert CMSG_ENUM_CHARACTERS and SMSG_ENUM_CHARACTERS_R… (#24)
* 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
2020-01-19 23:17:26 +01:00
Ovahlord 09ebb0ed45 Core/Creatures: removed a unused argument from CanResetTalents 2020-01-13 14:50:37 +01:00
Ovahlord 5ce44296d0 Core/Creature: fixed trainers not sending their gossips 2020-01-13 02:35:13 +01:00
Ovahlord 622ddff704 Core/Players: initialize skill fields uppon character creation as well to prevent creating naked characters 2020-01-13 00:38:53 +01:00
Ovahlord 7760d95962 Core/Creatures: backported trainer update and skill initialization 2020-01-12 23:53:35 +01:00
funjoker 590ad14856 Core/Spells: Allow skipping automatic removal of auras from spell_area when condition is no longer met (mostly used for cosmetic cutscenes after quest completion) 2020-01-11 03:38:28 +01:00
jackpoz 131986d1c2 Core/Misc: Replace time(nullptr) with GameTime::GetGameTime() 2020-01-11 03:30:41 +01:00
Ovahlord c8f4376a90 Core/Packets: convert SMSG_REQUEST_PVP_REWARDS_RESPONSE to packet class 2020-01-06 10:42:40 +01:00
Ovahlord 2715301823 Core/Players: convert SMSG_SETUP_CURRENCY to packet class and backportet currency handling from master branch 2020-01-05 23:32:23 +01:00
Aokromes d6d3f06f06 New year 2020-01-04 18:32:38 +01:00
funjoker 6c56916b29 Misc: Update copyright information
Happy new year
2020-01-01 18:47:28 +01:00
Ovahlord 852f52ed37 Core/Players: fixed players not being able to open profession trainer gossips 2019-12-22 21:34:31 +01:00
Artamedes 40f24909be Core/Player: the stack number of vendor items should not multiply the buy price 2019-12-14 00:35:13 +01:00
Ovahlord 108316ba28 Core/Creatures: added helper to check if a class trainer can train a player and use it in various places to get rid of multiple checks 2019-12-13 17:49:16 +01:00
Ovahlord c834008927 Core/Spells: removed a unneeded class check in 0cdddca210 2019-12-10 15:29:35 +01:00
Ovahlord 0cdddca210 Core/Spells: corrected haste rune cooldown reduction behaivior
* the haste regeneration modifier will now act multiplicative on the base regeneration rate rather than modifying it directly
* renamed some functions for clarification
2019-12-10 15:23:43 +01:00
Warpten 3b7e135f52 Core/Items: reworked item weapon damage and armor calculations based on what client does internally 2019-12-08 01:44:54 +01:00
Ovahlord 5cedd2dcc3 Core/Stats: disabled armor penetration handlings and removed related functions as they are deprecated since Cataclysm 2019-12-08 01:04:15 +01:00
Ovahlord 11ce5f6bc9 Core/Players: fixed warnings reported by travis in a4cac0f8f5 2019-12-03 23:12:13 +01:00
Warpten a4cac0f8f5 Core/Players: updated Player::GetAverageItemLevel to reflect what client does internally 2019-12-03 22:48:42 +01:00
Ovahlord a7ebacfe7b Core/Movement:
* 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
2019-11-13 10:25:58 +01:00
Ovahlord acd4639709 Scripts/BWD: more work on Nefarian's End encounter
* 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
2019-11-12 01:58:12 +01:00