From aaaa1c34410c160c7b0382f5ecdb39fa01ba007c Mon Sep 17 00:00:00 2001 From: Shauren Date: Mon, 5 Oct 2015 15:06:27 +0200 Subject: Core/World: Store account id in CharacterInfo to reduce the amount of database queries --- src/server/game/Globals/ObjectMgr.cpp | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) (limited to 'src/server/game/Globals/ObjectMgr.cpp') diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 61e84c6aabe..5e5ec3be6eb 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -2254,9 +2254,6 @@ bool ObjectMgr::GetPlayerNameAndClassByGUID(ObjectGuid const& guid, std::string& uint32 ObjectMgr::GetPlayerTeamByGUID(ObjectGuid const& guid) { - if (Player* player = ObjectAccessor::FindConnectedPlayer(guid)) - return player->GetTeam(); - if (CharacterInfo const* characterInfo = sWorld->GetCharacterInfo(guid)) return Player::TeamForRace(characterInfo->Race); @@ -2265,15 +2262,8 @@ uint32 ObjectMgr::GetPlayerTeamByGUID(ObjectGuid const& guid) uint32 ObjectMgr::GetPlayerAccountIdByGUID(ObjectGuid const& guid) { - // prevent DB access for online player - if (Player* player = ObjectAccessor::FindConnectedPlayer(guid)) - return player->GetSession()->GetAccountId(); - - PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_ACCOUNT_BY_GUID); - stmt->setUInt64(0, guid.GetCounter()); - - if (PreparedQueryResult result = CharacterDatabase.Query(stmt)) - return (*result)[0].GetUInt32(); + if (CharacterInfo const* characterInfo = sWorld->GetCharacterInfo(guid)) + return characterInfo->AccountId; return 0; } -- cgit v1.2.3