Commit Graph
2058 Commits
Author SHA1 Message Date
Shauren ca881f7e3f Core/DBLayer: Implement async transaction completion callbacks 2020-04-15 21:41:14 +02:00
Shauren 40c3c785a2 Core/DBLayer: Prevent mixing databases with query holders
# Conflicts:
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Entities/Player/Player.h
#	src/server/game/Server/WorldSession.cpp
#	src/server/game/Server/WorldSession.h
2020-04-15 21:30:10 +02:00
Shauren 47acc59f49 Core/DBLayer: Prevent committing transactions started on a different database 2020-04-15 21:02:26 +02:00
Shauren d003ebd8e4 Core/DBLayer: Prevent using prepared statements on wrong database 2020-04-15 19:18:58 +02:00
Ovahlord a91424185b Core/Packets: convert SMSG_INIT_WORLD_STATES to packet class 2020-04-08 17:15:22 +02:00
Ovahlord d31f19265d Core/Objects:
* store liquid status lookups from UpdatePositionData in a member and draw liquid status information from it instead of doing extra vmap lookups. This also fixes collision height based liquid status states which was leading to false positive movement speed selection for creatures
* remove redundant IsUnderWater helper override from player class as our object based liquid status also considers collision height
2020-04-05 20:41:15 +02:00
Ovahlord 03f20765b8 Core/Players: fixed a typo in initial world state preparation 2020-04-04 20:27:28 +02:00
Ovahlord 77cf10ee5f Core/Misc: fixed gcc warnings 2020-04-04 20:20:41 +02:00
Ovahlord f1f00c3ec3 Core/Datastores: refactor DBC storage helpers to use a class and fixed no pch build 2020-03-18 15:24:25 +01:00
Ovahlord e47b9c8599 Core/Movement: converted SMSG_MOVE_SET_COLLISION_HEIGHT to packet class and handle reason bits to match sniff behaivior 2020-02-23 10:59:57 +01:00
Ovahlord d9b854ad59 Core/Datastores: backported hotfix system implementation 2020-02-21 23:13:38 +01:00
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