aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Battlegrounds/ArenaTeam.cpp
diff options
context:
space:
mode:
authorxinef1 <w.szyszko2@gmail.com>2017-02-05 23:14:19 +0100
committerShauren <shauren.trinity@gmail.com>2019-07-21 21:06:54 +0200
commitad4e63bae145ae49b584ab2fc621660430cec0d3 (patch)
tree403c1e9348047f49b80fa719567259c388629318 /src/server/game/Battlegrounds/ArenaTeam.cpp
parent241e79f434bdd520fb11dbc12b93ab41a7b39dd2 (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.cpp17
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);
}