mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-15 01:59:09 +00:00
refactor(Core/Cache): move the GlobalPlayerCache to its own class (#9166)
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
|
||||
#include "CalendarMgr.h"
|
||||
#include "Chat.h"
|
||||
#include "CharacterCache.h"
|
||||
#include "Config.h"
|
||||
#include "DatabaseEnv.h"
|
||||
#include "Guild.h"
|
||||
@@ -1550,9 +1551,10 @@ void Guild::HandleInviteMember(WorldSession* session, std::string const& name)
|
||||
void Guild::HandleAcceptMember(WorldSession* session)
|
||||
{
|
||||
Player* player = session->GetPlayer();
|
||||
if (!sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_GUILD) &&
|
||||
player->GetTeamId() != sObjectMgr->GetPlayerTeamIdByGUID(GetLeaderGUID().GetCounter()))
|
||||
if (!sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_GUILD) && player->GetTeamId() != sCharacterCache->GetCharacterTeamByGuid(GetLeaderGUID()))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
AddMember(player->GetGUID());
|
||||
}
|
||||
@@ -1963,7 +1965,7 @@ bool Guild::LoadMemberFromDB(Field* fields)
|
||||
return false;
|
||||
}
|
||||
m_members[memberGUID] = member;
|
||||
sWorld->UpdateGlobalPlayerGuild(memberGUID.GetCounter(), GetId());
|
||||
sCharacterCache->UpdateCharacterGuildId(memberGUID, GetId());
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -2172,7 +2174,7 @@ void Guild::MassInviteToEvent(WorldSession* session, uint32 minLevel, uint32 max
|
||||
}
|
||||
|
||||
Member* member = itr->second;
|
||||
uint32 level = Player::GetLevelFromStorage(member->GetGUID().GetCounter());
|
||||
uint32 level = sCharacterCache->GetCharacterLevelByGuid(member->GetGUID());
|
||||
|
||||
if (member->GetGUID() != session->GetPlayer()->GetGUID() && level >= minLevel && level <= maxLevel && member->IsRankNotLower(minRank))
|
||||
{
|
||||
@@ -2197,7 +2199,7 @@ bool Guild::AddMember(ObjectGuid guid, uint8 rankId)
|
||||
if (player->GetGuildId() != 0)
|
||||
return false;
|
||||
}
|
||||
else if (Player::GetGuildIdFromStorage(guid.GetCounter()) != 0)
|
||||
else if (sCharacterCache->GetCharacterGuildIdByGuid(guid) != 0)
|
||||
return false;
|
||||
|
||||
// Remove all player signs from another petitions
|
||||
@@ -2249,7 +2251,7 @@ bool Guild::AddMember(ObjectGuid guid, uint8 rankId)
|
||||
return false;
|
||||
}
|
||||
m_members[guid] = member;
|
||||
sWorld->UpdateGlobalPlayerGuild(guid.GetCounter(), m_id);
|
||||
sCharacterCache->UpdateCharacterGuildId(guid, m_id);
|
||||
}
|
||||
|
||||
CharacterDatabaseTransaction trans(nullptr);
|
||||
@@ -2321,7 +2323,9 @@ void Guild::DeleteMember(ObjectGuid guid, bool isDisbanding, bool isKicked, bool
|
||||
player->SetRank(0);
|
||||
}
|
||||
else
|
||||
sWorld->UpdateGlobalPlayerGuild(guid.GetCounter(), 0);
|
||||
{
|
||||
sCharacterCache->UpdateCharacterGuildId(guid, 0);
|
||||
}
|
||||
|
||||
_DeleteMemberFromDB(guid.GetCounter());
|
||||
if (!isDisbanding)
|
||||
|
||||
Reference in New Issue
Block a user