Commit Graph
361 Commits
Author SHA1 Message Date
xinef1 ad4e63bae1 Core/Misc: Moved CharacterInfo out of world to separate class
Closes #19030

(cherrypicked from 59ce3d6c9bd82d55cbfa505bb945b71cab21a12f)
2019-07-21 21:06:54 +02:00
xinef1 b485f3e673 Few small optimizations here and there (#18684)
Changes list:
- Added CharacterGuidByNameContainer which contains name -> guid unordered map (updated along CharacterInfo)
- Extended CharacterInfo structure with GuildId
- Extended CharacterInfo structure with ArenaTeamId[3], for all possible teams (2v2, 3v3, 5v5)
- Removed CHAR_SEL_GUID_BY_NAME and CHAR_SEL_CHAR_GUID_BY_NAME synchronous queries, name -> guid can be now retrieved in World::GetCharacterGuidByName
- Removed CHAR_SEL_GUID_RACE_ACC_BY_NAME synchronous query, guid can be retrieved by name and rest of the data can be retrieved by guid
- Removed CHAR_SEL_CHAR_LEVEL synchronous query, level can be retrieved by guid
- Changed CHAR_SEL_CHARACTER_ACTIONS_SPEC to asynchronous query, action bars are now loaded asynchronously
- Removed CHAR_SEL_CHARACTER_NAME_CLASS synchronous query, guid can be retrieved by name and rest of the data can be retrieved by guid
- Removed CHAR_SEL_PLAYER_ARENA_TEAMS and CHAR_SEL_ARENA_TEAM_ID_BY_PLAYER_GUID synchronous queries, arena teams are now stored in CharacterInfo
- Replaced synchronous db calls with CharacterInfo lookups
- Removed ObjectMgr::GetPlayerGUIDByName, as it used db query
- Replaced some unnecessary UpdateObjectVisibility() calls because they were either duplicated (called few lines above in other function) or it is enough to call DestroyForNearbyPlayers because object is being removed or should be invisible and DestroyForNearbyPlayers is faster
- Corrected typo in Player::DestroyForPlayer, only items in slots 0 to EQUIPMENT_SLOT_END are sent to other players
- Renamed Player::GetGuildIdFromDB to Player::GetGuildIdFromCharacterInfo and changed the function to use CharacterInfo structure
- Renamed Player::GetArenaTeamIdFromDB to Player::GetArenaTeamIdFromCharacterInfo and changed the function to use CharacterInfo structure
- Renamed Player::GetLevelFromDB to Player::GetLevelFromCharacterInfo and changed the function to use CharacterInfo structure
- Removed GameEventMgr::_questToEventLinks and associated functions, eventId is now stored in Quest class under _eventIdForQuest variable
- Changed some functions checking quest status to use other functions for quest status check instead of duplicating code
- Removed callback from add friend, because we can get the guid from appropriate storage, no need to make db query
- Removed callback from add ignore, because we can get the guid from appropriate storage, no need to make db query
- Added callback to unwrap wrapped items asynchronously
- Removed synchronous select in tutorials to check if we have any entries in db, if any entry exists in db, m_TutorialsChanged variable will have TUTORIALS_FLAG_LOADED_FROM_DB flag added and it is no longer necessary to query database

(cherrypicked from b955456008191e60b6bda1f22e3486a3792b08db)
2019-07-21 21:06:54 +02:00
Shauren 455959c606 Core/PacketIO: Rewrite updatefield handling 2019-06-08 17:06:57 +02:00
vincent-michael 5620eb9463 Update copyright note for 2019
auto happy = new year(2019);
2019-01-01 10:14:33 +01:00
Shauren 0a779bd791 Core/PacketIO: Updated packet structures to 8.0.1 2018-11-05 00:00:34 +01:00
Shauren 7512ffb058 Core/Entities: Update updatefields to 8.0.1.27980 2018-10-10 22:11:41 +02:00
Shauren ee682544d0 Core/PacketIO: Updated opcode enum to 8.0 2018-10-01 21:01:10 +02:00
Shauren dd356ea04c Core/Misc: Extended racemasks in db to uint64 2018-09-26 23:08:23 +02:00
Palabola 1675212a2c Core/Misc: Updated race enum 2018-09-16 16:57:47 +02:00
Truthlight d520854912 Core/Player: Fixed crash when race or faction changing to an allied race. (#22221) 2018-08-03 10:01:55 +02:00
Traesh 55a0a2d3f6 Core/Artifact Handle Artifact tiers + Artifact unlock (3rd relic bonus) (#21593) 2018-07-31 23:31:44 +02:00
joschiwald 05134b0a66 Core/Guild: Handle changing the leader in one db transaction 2018-04-22 14:53:01 +02:00
Shauren d64c3393db Core/Items: Fixed saving and equipping sets with empty slots 2018-04-11 21:07:39 +02:00
Shauren 007b5a68c5 Core/DataStores: Fixed db2 structures after 7.3.5 2018-03-12 23:11:49 +01:00
Jeremy f411b7a90e Core/Player: Implement PvP Talents (#19962)
* SPELL_AURA_119 -> SPELL_AURA_PVP_TALENTS
* Learn Honorable Medallion when pvp rules are enabled
2018-03-04 22:32:08 +01:00
Shauren 75603fe1a0 Core/DataStores: Updated db2 structures to 7.3.5.25996 2018-02-18 16:33:50 +01:00
Shauren 4af15915bc Core/PacketIO: Updated opcodes and packet structures to 7.3.5 2018-02-18 16:33:49 +01:00
ariel- ad8d47b137 Core/Guild: avoid data integrity problems wrapping delete+insert statements in a transaction
(cherry picked from commit 25281ecb3198a543ddb18aab41b8a206512bdd0c)
2018-01-21 22:01:15 +01:00
vincent-michael 7d00ae4045 Update copyright note for 2018
auto happy = new year(2018);
2018-01-01 00:40:17 +01:00
joschiwald eee5a4f248 Core/Misc: Removed Death knight creation restrictions
Closes #20987
2017-12-10 12:40:13 +01:00
Roger Stebler 4bc9ed0fde Core/Quests: Implemented criteria tree quest objective type
Closes #20161
2017-08-20 17:24:41 +02:00
Shauren b453e12423 Core/Game: Include cleanup part 5
* ObjectMgr.h
* Player.h
* Unit.h
* G3D should no longer propagate everywhere from Spline/MotionMaster
2017-06-04 01:00:45 +02:00
Shauren 3d7c2ef88f Core/Game: Include cleanup, part 4 - packets and largest headers (after preprocessing, except player/objectmgr) 2017-05-21 23:18:43 +02:00
Shauren c5d3dd90be Core/Game: Include cleanup
* Mostly aimed at removing Log/DatabaseEnv includes from other headers
* Fix most packet headers including other packet headers - moved common structures such as ItemInstance to their own files
* Moved SAI function definitions to source files (massive or requiring many different dependencies)
2017-05-18 23:53:25 +02:00
Shauren 7e538980a2 Core/Database: Include cleanup 2017-05-12 18:50:27 +02:00
Shauren 3e060fc95d Core/Players: Fixed setting a few updatefields to make client addons relying on player names/realn names behave properly
Ref #19490
2017-04-27 00:03:18 +02:00
Shauren adbdb64301 Core/PacketIO: Updated server packet structures to 7.2.0 2017-04-15 12:32:36 +02:00
Shauren 0998eca105 Core/PacketIO: Delete opcodes removed in 7.2 2017-04-11 00:27:52 +02:00
Chazy Chaz c7ea1b97c2 Core/Config: Add option CharDelete.DemonHunter.MinLevel
Closes #19285
2017-03-17 19:08:38 +01:00
Chazy Chaz c31de25627 Core/Players: Rename "heroic character" to "death knight"
Closes #19286
2017-03-17 19:00:56 +01:00
treeston 78748bff93 Entities/Player: Fixed an edge case bug that could cause a character to get stuck in forced recustomization indefinitely if two or more appearance properties were out of bounds.
(cherry picked from commit d08efca201888e988f95e5761f31e9a890948091)

# Conflicts:
#	src/server/game/Entities/Player/Player.cpp
2017-02-12 14:47:27 +01:00
Aokromes d2dd5f9f02 Core/Logs: Fine tune more logs
And move others to more logical appenders
(cherry picked from commit 1ad24352acebbc4d7c8829cd111a2f3ba010891a)

# Conflicts:
#	src/server/authserver/Server/AuthSession.cpp
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Handlers/AuctionHouseHandler.cpp
#	src/server/game/Handlers/CharacterHandler.cpp
#	src/server/game/Handlers/GuildHandler.cpp
#	src/server/game/Handlers/LootHandler.cpp
#	src/server/game/Handlers/PetitionsHandler.cpp
#	src/server/game/Handlers/QuestHandler.cpp
#	src/server/game/Handlers/SpellHandler.cpp
#	src/server/game/Spells/SpellEffects.cpp
2017-02-11 23:15:24 +01:00
ariel- 5d36f29843 Core/Misc: remove two synch queries and replace them with CharacterInfo cache
(cherry picked from commit 1a52c1cd36b567fc595afa4a5373cc9e6b461a37)
2017-02-05 21:07:32 +01:00
psayafan d1e9bb6f26 Core/Player: Add option to prevent rename during character customization
Closes #17420

(cherry picked from commit fe2aed6047baa5871ab0840353a26cdd08d62f49)
2017-02-01 22:53:24 +01:00
joschiwald a6d238b833 Core/Player: Moved character_template from character to world db 2017-01-29 16:09:46 +01:00
joschiwald bc0d82a81e Core/DBLayer: Fixed copy paste mistake in 8e2634b2b4 2017-01-16 15:09:14 +01:00
Shauren 8e2634b2b4 Core/DBLayer: Convert async queries to new query callbacks and remove old callback handling 2017-01-13 21:38:03 +01:00
vincent-michael 86b98686a9 Update copyright note for 2017
Happy new year
2017-01-01 16:23:13 +01:00
Shauren ac1dc758b9 Core/Units: Cleanup hardcoded magic numbers for byte field offsets 2016-12-13 20:58:22 +01:00
Vincent-Michael 1e323a10df Core/Characters: Implemented demon hunter cinematic at player login 2016-08-28 19:49:35 +02:00
Vincent-Michael 9f7c26273b Core/Characters:
- Added missing set PLAYER_BYTES_2_OFFSET_CUSTOM_DISPLAY_OPTION for barbershop
- Fixed crash
2016-08-27 19:58:17 +02:00
joschiwald b0c8a9411e Core/Logging: removed useless log message 2016-08-27 12:30:46 +02:00
Shauren a727a99e34 Core/Players: Implemented new glyph system 2016-08-25 19:12:00 +02:00
Shauren fea0cb16f2 Core/Items: Implemented artifacts 2016-08-15 00:03:38 +02:00
DJScias bc467bb261 Core/Players: Fix logic regarding HandleCharEnum and DHs (#17660)
* If CONFIG_CHARACTER_CREATING_MIN_LEVEL_FOR_DEMON_HUNTER was set to 0 (disable in the config), it would still not allow you to create a DH in case there were no prior characters.
* If RBAC_PERM_SKIP_CHECK_CHARACTER_CREATION_DEMON_HUNTER was true (AKA allow DH creation always) it would not allow DH creation regardless of existing characters or not considering canAlwaysCreateDemonHunter was not checked for validity on charEnum.IsDemonHunterCreationAllowed.
2016-07-25 08:57:10 +02:00
Ovalord 79aafd5865 Core/Players: Initial work on demon hunters
* Added starting level and required level config options as well as rbac permission to ignore the requirements
* Updated max power values for both demon hunter specs
* Fixed a crash during DK and DH creation
* Added playercreateinfo data for demon hunters

Closes #17651
2016-07-23 18:39:56 +02:00
Shauren 6c1c8e7581 Core/PacketIO: Send spec id in char enum 2016-07-19 17:44:00 +02:00
Shauren 0d9136f764 Merge branch '6.x' of https://github.com/TrinityCore/TrinityCore into legion 2016-07-10 00:37:33 +02:00
Shauren a78aa3cf4e Core/PacketIO: Refactored building SMSG_UPDATE_OBJECT to append directly to final buffer and removed UpdateMask class 2016-07-10 00:11:19 +02:00
Shauren f7883bd525 Core/Transmog: Implemented transmog collection and updated transmog handling 2016-07-05 22:07:35 +02:00