mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-22 02:04:52 +01:00
[svn] * Added some player info cache to the core. Thanx to Rognar for patch, visaglis for testing and bugging me to add it.
--HG-- branch : trunk
This commit is contained in:
@@ -363,6 +363,21 @@ bool Guild::FillPlayerData(uint64 guid, MemberSlot* memslot)
|
||||
}
|
||||
else
|
||||
{
|
||||
PCachePlayerInfo pInfo = objmgr.GetPlayerInfoFromCache(GUID_LOPART(guid));
|
||||
if(pInfo)
|
||||
{
|
||||
plName = pInfo->sPlayerName;
|
||||
plClass = pInfo->unClass;
|
||||
if(plClass<CLASS_WARRIOR||plClass>=MAX_CLASSES) // can be at broken `class` field
|
||||
{
|
||||
sLog.outError("Player (GUID: %u) has a broken data in field `characters`.`class`.",GUID_LOPART(guid));
|
||||
return false;
|
||||
}
|
||||
plLevel = pInfo->unLevel;
|
||||
plZone = Player::GetZoneIdFromDB(guid);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(!objmgr.GetPlayerNameByGUID(guid, plName)) // player doesn't exist
|
||||
return false;
|
||||
|
||||
@@ -386,6 +401,7 @@ bool Guild::FillPlayerData(uint64 guid, MemberSlot* memslot)
|
||||
|
||||
delete result;
|
||||
}
|
||||
}
|
||||
|
||||
memslot->name = plName;
|
||||
memslot->level = plLevel;
|
||||
|
||||
Reference in New Issue
Block a user