From ad4e63bae145ae49b584ab2fc621660430cec0d3 Mon Sep 17 00:00:00 2001 From: xinef1 Date: Sun, 5 Feb 2017 23:14:19 +0100 Subject: Core/Misc: Moved CharacterInfo out of world to separate class Closes #19030 (cherrypicked from 59ce3d6c9bd82d55cbfa505bb945b71cab21a12f) --- src/server/game/Guilds/Guild.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'src/server/game/Guilds/Guild.cpp') diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp index 96618d225d3..033a8aa06cd 100644 --- a/src/server/game/Guilds/Guild.cpp +++ b/src/server/game/Guilds/Guild.cpp @@ -21,6 +21,7 @@ #include "Bag.h" #include "CalendarMgr.h" #include "CalendarPackets.h" +#include "CharacterCache.h" #include "Chat.h" #include "ChatPackets.h" #include "Config.h" @@ -1734,7 +1735,7 @@ void Guild::HandleAcceptMember(WorldSession* session) { Player* player = session->GetPlayer(); if (!sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_GUILD) && - player->GetTeam() != ObjectMgr::GetPlayerTeamByGUID(GetLeaderGUID())) + player->GetTeam() != sCharacterCache->GetCharacterTeamByGuid(GetLeaderGUID())) return; SQLTransaction trans(nullptr); @@ -2374,7 +2375,7 @@ bool Guild::LoadMemberFromDB(Field* fields) return false; } - sWorld->UpdateCharacterGuildId(playerGuid, GetId()); + sCharacterCache->UpdateCharacterGuildId(playerGuid, GetId()); m_members[member->GetGUID()] = member; return true; } @@ -2623,7 +2624,7 @@ void Guild::MassInviteToEvent(WorldSession* session, uint32 minLevel, uint32 max } Member* member = itr->second; - uint32 level = Player::GetLevelFromCharacterInfo(member->GetGUID()); + uint32 level = sCharacterCache->GetCharacterLevelByGuid(member->GetGUID()); if (member->GetGUID() != session->GetPlayer()->GetGUID() && level >= minLevel && level <= maxLevel && member->IsRankNotLower(minRank)) packet.Invites.emplace_back(member->GetGUID(), level); @@ -2642,7 +2643,7 @@ bool Guild::AddMember(SQLTransaction& trans, ObjectGuid guid, uint8 rankId) if (player->GetGuildId()) return false; } - else if (Player::GetGuildIdFromCharacterInfo(guid)) + else if (sCharacterCache->GetCharacterGuildIdByGuid(guid)) return false; // Remove all player signs from another petitions @@ -2697,7 +2698,7 @@ bool Guild::AddMember(SQLTransaction& trans, ObjectGuid guid, uint8 rankId) return false; } m_members[guid] = member; - sWorld->UpdateCharacterGuildId(guid, GetId()); + sCharacterCache->UpdateCharacterGuildId(guid, GetId()); } member->SaveToDB(trans); @@ -2771,7 +2772,7 @@ void Guild::DeleteMember(SQLTransaction& trans, ObjectGuid guid, bool isDisbandi player->RemoveSpell(entry->SpellID, false, false); } else - sWorld->UpdateCharacterGuildId(guid, 0); + sCharacterCache->UpdateCharacterGuildId(guid, 0); Guild::_DeleteMemberFromDB(trans, guid.GetCounter()); if (!isDisbanding) -- cgit v1.2.3