diff options
author | xinef1 <w.szyszko2@gmail.com> | 2017-02-05 23:14:19 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2019-07-21 21:06:54 +0200 |
commit | ad4e63bae145ae49b584ab2fc621660430cec0d3 (patch) | |
tree | 403c1e9348047f49b80fa719567259c388629318 /src/server/game/Battlegrounds/ArenaTeam.cpp | |
parent | 241e79f434bdd520fb11dbc12b93ab41a7b39dd2 (diff) |
Core/Misc: Moved CharacterInfo out of world to separate class
Closes #19030
(cherrypicked from 59ce3d6c9bd82d55cbfa505bb945b71cab21a12f)
Diffstat (limited to 'src/server/game/Battlegrounds/ArenaTeam.cpp')
-rw-r--r-- | src/server/game/Battlegrounds/ArenaTeam.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/server/game/Battlegrounds/ArenaTeam.cpp b/src/server/game/Battlegrounds/ArenaTeam.cpp index 61661093479..f23240c5cc4 100644 --- a/src/server/game/Battlegrounds/ArenaTeam.cpp +++ b/src/server/game/Battlegrounds/ArenaTeam.cpp @@ -18,6 +18,7 @@ #include "ArenaTeam.h" #include "ArenaTeamMgr.h" +#include "CharacterCache.h" #include "DatabaseEnv.h" #include "Group.h" #include "Log.h" @@ -98,14 +99,14 @@ bool ArenaTeam::AddMember(ObjectGuid playerGuid) if (GetMembersSize() >= GetType() * 2) return false; - // Get player name and class either from db or ObjectMgr + // Get player name and class either from db or character cache Player* player = ObjectAccessor::FindPlayer(playerGuid); if (player) { playerClass = player->getClass(); playerName = player->GetName(); } - else if (CharacterInfo const* characterInfo = sWorld->GetCharacterInfo(playerGuid)) + else if (CharacterCacheEntry const* characterInfo = sCharacterCache->GetCharacterCacheByGuid(playerGuid)) { playerName = characterInfo->Name; playerClass = characterInfo->Class; @@ -114,7 +115,7 @@ bool ArenaTeam::AddMember(ObjectGuid playerGuid) return false; // Check if player is already in a similar arena team - if ((player && player->GetArenaTeamId(GetSlot())) || Player::GetArenaTeamIdFromCharacterInfo(playerGuid, GetType()) != 0) + if ((player && player->GetArenaTeamId(GetSlot())) || sCharacterCache->GetCharacterArenaTeamIdByGuid(playerGuid, GetType()) != 0) { TC_LOG_DEBUG("bg.arena", "Arena: %s %s already has an arena team of type %u", playerGuid.ToString().c_str(), playerName.c_str(), GetType()); return false; @@ -157,7 +158,7 @@ bool ArenaTeam::AddMember(ObjectGuid playerGuid) newMember.MatchMakerRating = matchMakerRating; Members.push_back(newMember); - sWorld->UpdateCharacterArenaTeamId(playerGuid, GetSlot(), GetId()); + sCharacterCache->UpdateCharacterArenaTeamId(playerGuid, GetSlot(), GetId()); // Save player's arena team membership to db stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_ARENA_TEAM_MEMBER); @@ -253,7 +254,7 @@ bool ArenaTeam::LoadMembersFromDB(QueryResult result) // Put the player in the team Members.push_back(newMember); - sWorld->UpdateCharacterArenaTeamId(newMember.Guid, GetSlot(), GetId()); + sCharacterCache->UpdateCharacterArenaTeamId(newMember.Guid, GetSlot(), GetId()); } while (result->NextRow()); @@ -317,7 +318,7 @@ void ArenaTeam::DelMember(ObjectGuid guid, bool cleanDb) if (itr->Guid == guid) { Members.erase(itr); - sWorld->UpdateCharacterArenaTeamId(guid, GetSlot(), 0); + sCharacterCache->UpdateCharacterArenaTeamId(guid, GetSlot(), 0); break; } } @@ -367,7 +368,7 @@ void ArenaTeam::Disband(WorldSession* session) CharacterDatabase.CommitTransaction(trans); - // Remove arena team from ObjectMgr + // Remove arena team from ArenaTeamMgr sArenaTeamMgr->RemoveArenaTeam(TeamId); } @@ -390,7 +391,7 @@ void ArenaTeam::Disband() CharacterDatabase.CommitTransaction(trans); - // Remove arena team from ObjectMgr + // Remove arena team from ArenaTeamMgr sArenaTeamMgr->RemoveArenaTeam(TeamId); } |