Core/Misc: Moved CharacterInfo out of world to separate class
Port From (https://github.com/TrinityCore/TrinityCore/commit/ad4e63bae145ae49b584ab2fc621660430cec0d3)
This commit is contained in:
@@ -19,6 +19,7 @@ using Framework.Constants;
|
||||
using Game.Entities;
|
||||
using Game.Network;
|
||||
using Game.Network.Packets;
|
||||
using Game.Cache;
|
||||
|
||||
namespace Game.Chat
|
||||
{
|
||||
@@ -399,9 +400,9 @@ namespace Game.Chat
|
||||
_ownerGuid = ownerGuid;
|
||||
_ownerName = "";
|
||||
|
||||
CharacterInfo characterInfo = Global.WorldMgr.GetCharacterInfo(_ownerGuid);
|
||||
if (characterInfo != null)
|
||||
_ownerName = characterInfo.Name;
|
||||
CharacterCacheEntry characterCacheEntry = Global.CharacterCacheStorage.GetCharacterCacheByGuid(_ownerGuid);
|
||||
if (characterCacheEntry != null)
|
||||
_ownerName = characterCacheEntry.Name;
|
||||
}
|
||||
|
||||
public ChatNotify GetNotificationType() => ChatNotify.ChannelOwnerNotice;
|
||||
|
||||
@@ -405,7 +405,7 @@ namespace Game.Chat
|
||||
}
|
||||
|
||||
player = Global.ObjAccessor.FindPlayerByName(name);
|
||||
ObjectGuid guid = player == null ? ObjectManager.GetPlayerGUIDByName(name) : ObjectGuid.Empty;
|
||||
ObjectGuid guid = player == null ? Global.CharacterCacheStorage.GetCharacterGuidByName(name) : ObjectGuid.Empty;
|
||||
|
||||
playerGuid = player != null ? player.GetGUID() : guid;
|
||||
playerName = player != null || !guid.IsEmpty() ? name : "";
|
||||
@@ -455,7 +455,7 @@ namespace Game.Chat
|
||||
if (player)
|
||||
return player.GetGUID().GetCounter();
|
||||
|
||||
ObjectGuid guid = ObjectManager.GetPlayerGUIDByName(idS);
|
||||
ObjectGuid guid = Global.CharacterCacheStorage.GetCharacterGuidByName(idS);
|
||||
if (guid.IsEmpty())
|
||||
return 0;
|
||||
|
||||
@@ -664,7 +664,7 @@ namespace Game.Chat
|
||||
if (target != null)
|
||||
target_session = target.GetSession();
|
||||
else if (!guid.IsEmpty())
|
||||
target_account = ObjectManager.GetPlayerAccountIdByGUID(guid);
|
||||
target_account = Global.CharacterCacheStorage.GetCharacterAccountIdByGuid(guid);
|
||||
|
||||
if (target_session == null && target_account == 0)
|
||||
{
|
||||
@@ -811,7 +811,7 @@ namespace Game.Chat
|
||||
|
||||
player = Global.ObjAccessor.FindPlayerByName(name);
|
||||
if (offline)
|
||||
guid = ObjectManager.GetPlayerGUIDByName(name);
|
||||
guid = Global.CharacterCacheStorage.GetCharacterGuidByName(name);
|
||||
}
|
||||
|
||||
if (player)
|
||||
|
||||
@@ -51,7 +51,7 @@ namespace Game.Chat
|
||||
|
||||
if (type == 2 || type == 3 || type == 5)
|
||||
{
|
||||
if (Player.GetArenaTeamIdFromDB(target.GetGUID(), type) != 0)
|
||||
if (Global.CharacterCacheStorage.GetCharacterArenaTeamIdByGuid(target.GetGUID(), type) != 0)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.ArenaErrorSize, target.GetName());
|
||||
return false;
|
||||
@@ -222,11 +222,11 @@ namespace Game.Chat
|
||||
|
||||
arena.SetCaptain(targetGuid);
|
||||
|
||||
CharacterInfo oldCaptainNameData = Global.WorldMgr.GetCharacterInfo(arena.GetCaptain());
|
||||
if (oldCaptainNameData == null)
|
||||
string oldCaptainName;
|
||||
if (!Global.CharacterCacheStorage.GetCharacterNameByGuid(arena.GetCaptain(), out oldCaptainName))
|
||||
return false;
|
||||
|
||||
handler.SendSysMessage(CypherStrings.ArenaCaptain, arena.GetName(), arena.GetId(), oldCaptainNameData.Name, target.GetName());
|
||||
handler.SendSysMessage(CypherStrings.ArenaCaptain, arena.GetName(), arena.GetId(), oldCaptainName, target.GetName());
|
||||
if (handler.GetSession() != null)
|
||||
Log.outDebug(LogFilter.Arena, "GameMaster: {0} [GUID: {1}] promoted player: {2} [GUID: {3}] to leader of arena team \"{4}\"[Id: {5}]",
|
||||
handler.GetSession().GetPlayer().GetName(), handler.GetSession().GetPlayer().GetGUID().ToString(), target.GetName(), target.GetGUID().ToString(), arena.GetName(), arena.GetId());
|
||||
|
||||
@@ -224,7 +224,7 @@ namespace Game.Chat.Commands
|
||||
|
||||
if (!target)
|
||||
{
|
||||
targetGuid = ObjectManager.GetPlayerGUIDByName(name);
|
||||
targetGuid = Global.CharacterCacheStorage.GetCharacterGuidByName(name);
|
||||
if (targetGuid.IsEmpty())
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.BaninfoNocharacter);
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
using Framework.Constants;
|
||||
using Framework.Database;
|
||||
using Framework.IO;
|
||||
using Game.Cache;
|
||||
using Game.DataStorage;
|
||||
using Game.Entities;
|
||||
using System;
|
||||
@@ -99,7 +100,7 @@ namespace Game.Chat
|
||||
if (handler.HasLowerSecurity(null, targetGuid))
|
||||
return false;
|
||||
|
||||
ObjectManager.GetPlayerNameByGUID(targetGuid, out playerOldName);
|
||||
Global.CharacterCacheStorage.GetCharacterNameByGuid(targetGuid, out playerOldName);
|
||||
}
|
||||
|
||||
if (!ObjectManager.NormalizePlayerName(ref newName))
|
||||
@@ -153,13 +154,13 @@ namespace Game.Chat
|
||||
DB.Characters.Execute(stmt);
|
||||
}
|
||||
|
||||
Global.WorldMgr.UpdateCharacterInfo(targetGuid, newName);
|
||||
Global.CharacterCacheStorage.UpdateCharacterData(targetGuid, newName);
|
||||
|
||||
handler.SendSysMessage(CypherStrings.RenamePlayerWithNewName, playerOldName, newName);
|
||||
|
||||
Player player = handler.GetPlayer();
|
||||
if (player)
|
||||
Log.outCommand(session.GetAccountId(), "GM {0} (Account: {1}) forced rename {2} to player {3} (Account: {4})", player.GetName(), session.GetAccountId(), newName, playerOldName, ObjectManager.GetPlayerAccountIdByGUID(targetGuid));
|
||||
Log.outCommand(session.GetAccountId(), "GM {0} (Account: {1}) forced rename {2} to player {3} (Account: {4})", player.GetName(), session.GetAccountId(), newName, playerOldName, Global.CharacterCacheStorage.GetCharacterAccountIdByGuid(targetGuid));
|
||||
else
|
||||
Log.outCommand(0, "CONSOLE forced rename '{0}' to '{1}' ({2})", playerOldName, newName, targetGuid.ToString());
|
||||
}
|
||||
@@ -215,7 +216,7 @@ namespace Game.Chat
|
||||
if (!handler.extractPlayerTarget(new StringArguments(nameStr), out target, out targetGuid, out targetName))
|
||||
return false;
|
||||
|
||||
int oldlevel = (int)(target ? target.getLevel() : Player.GetLevelFromDB(targetGuid));
|
||||
int oldlevel = (int)(target ? target.getLevel() : Global.CharacterCacheStorage.GetCharacterLevelByGuid(targetGuid));
|
||||
|
||||
if (!int.TryParse(levelStr, out int newlevel))
|
||||
newlevel = oldlevel;
|
||||
@@ -280,7 +281,7 @@ namespace Game.Chat
|
||||
if (!handler.extractPlayerTarget(new StringArguments(playerNameStr), out playerNotUsed, out targetGuid, out targetName))
|
||||
return false;
|
||||
|
||||
CharacterInfo characterInfo = Global.WorldMgr.GetCharacterInfo(targetGuid);
|
||||
CharacterCacheEntry characterInfo = Global.CharacterCacheStorage.GetCharacterCacheByGuid(targetGuid);
|
||||
if (characterInfo == null)
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.PlayerNotFound);
|
||||
@@ -323,7 +324,7 @@ namespace Game.Chat
|
||||
Global.WorldMgr.UpdateRealmCharCount(oldAccountId);
|
||||
Global.WorldMgr.UpdateRealmCharCount(newAccountId);
|
||||
|
||||
Global.WorldMgr.UpdateCharacterInfoAccount(targetGuid, newAccountId);
|
||||
Global.CharacterCacheStorage.UpdateCharacterAccountId(targetGuid, newAccountId);
|
||||
|
||||
handler.SendSysMessage(CypherStrings.ChangeAccountSuccess, targetName, accountName);
|
||||
|
||||
@@ -467,13 +468,13 @@ namespace Game.Chat
|
||||
}
|
||||
else
|
||||
{
|
||||
characterGuid = ObjectManager.GetPlayerGUIDByName(characterName);
|
||||
characterGuid = Global.CharacterCacheStorage.GetCharacterGuidByName(characterName);
|
||||
if (characterGuid.IsEmpty())
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.NoPlayer, characterName);
|
||||
return false;
|
||||
}
|
||||
accountId = ObjectManager.GetPlayerAccountIdByGUID(characterGuid);
|
||||
accountId = Global.CharacterCacheStorage.GetCharacterAccountIdByGuid(characterGuid);
|
||||
}
|
||||
|
||||
string accountName;
|
||||
@@ -704,7 +705,7 @@ namespace Game.Chat
|
||||
return;
|
||||
}
|
||||
|
||||
if (!ObjectManager.GetPlayerGUIDByName(delInfo.name).IsEmpty())
|
||||
if (!Global.CharacterCacheStorage.GetCharacterGuidByName(delInfo.name).IsEmpty())
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CharacterDeletedSkipName, delInfo.name, delInfo.guid.ToString(), delInfo.accountId);
|
||||
return;
|
||||
@@ -716,7 +717,7 @@ namespace Game.Chat
|
||||
stmt.AddValue(2, delInfo.guid.GetCounter());
|
||||
DB.Characters.Execute(stmt);
|
||||
|
||||
Global.WorldMgr.UpdateCharacterInfoDeleted(delInfo.guid, false, delInfo.name);
|
||||
Global.CharacterCacheStorage.UpdateCharacterInfoDeleted(delInfo.guid, false, delInfo.name);
|
||||
}
|
||||
|
||||
struct DeletedInfo
|
||||
@@ -749,7 +750,7 @@ namespace Game.Chat
|
||||
if (!handler.extractPlayerTarget(new StringArguments(nameStr), out target, out targetGuid, out targetName))
|
||||
return false;
|
||||
|
||||
int oldlevel = (int)(target ? target.getLevel() : Player.GetLevelFromDB(targetGuid));
|
||||
int oldlevel = (int)(target ? target.getLevel() : Global.CharacterCacheStorage.GetCharacterLevelByGuid(targetGuid));
|
||||
if (!int.TryParse(levelStr, out int addlevel))
|
||||
addlevel = 1;
|
||||
|
||||
|
||||
@@ -249,7 +249,7 @@ namespace Game.Chat
|
||||
ObjectGuid parseGUID = ObjectGuid.Create(HighGuid.Player, args.NextUInt64());
|
||||
|
||||
// ... and try to extract a player out of it.
|
||||
if (ObjectManager.GetPlayerNameByGUID(parseGUID, out nameTarget))
|
||||
if (Global.CharacterCacheStorage.GetCharacterNameByGuid(parseGUID, out nameTarget))
|
||||
{
|
||||
playerTarget = Global.ObjAccessor.FindPlayer(parseGUID);
|
||||
guidTarget = parseGUID;
|
||||
|
||||
@@ -103,7 +103,7 @@ namespace Game.Chat
|
||||
if (!handler.extractPlayerTarget(args, out target, out targetGuid))
|
||||
return false;
|
||||
|
||||
ulong guildId = target != null ? target.GetGuildId() : Player.GetGuildIdFromDB(targetGuid);
|
||||
ulong guildId = target != null ? target.GetGuildId() : Global.CharacterCacheStorage.GetCharacterGuildIdByGuid(targetGuid);
|
||||
if (guildId == 0)
|
||||
return false;
|
||||
|
||||
@@ -130,7 +130,7 @@ namespace Game.Chat
|
||||
if (!handler.extractPlayerTarget(new StringArguments(nameStr), out target, out targetGuid, out target_name))
|
||||
return false;
|
||||
|
||||
ulong guildId = target ? target.GetGuildId() : Player.GetGuildIdFromDB(targetGuid);
|
||||
ulong guildId = target ? target.GetGuildId() : Global.CharacterCacheStorage.GetCharacterGuildIdByGuid(targetGuid);
|
||||
if (guildId == 0)
|
||||
return false;
|
||||
|
||||
@@ -210,7 +210,7 @@ namespace Game.Chat
|
||||
handler.SendSysMessage(CypherStrings.GuildInfoName, guild.GetName(), guild.GetId()); // Guild Id + Name
|
||||
|
||||
string guildMasterName;
|
||||
if (ObjectManager.GetPlayerNameByGUID(guild.GetLeaderGUID(), out guildMasterName))
|
||||
if (Global.CharacterCacheStorage.GetCharacterNameByGuid(guild.GetLeaderGUID(), out guildMasterName))
|
||||
handler.SendSysMessage(CypherStrings.GuildInfoGuildMaster, guildMasterName, guild.GetLeaderGUID().ToString()); // Guild Master
|
||||
|
||||
// Format creation date
|
||||
|
||||
@@ -51,7 +51,7 @@ namespace Game.Chat
|
||||
string nameTarget;
|
||||
|
||||
ObjectGuid parseGUID = ObjectGuid.Create(HighGuid.Player, args.NextUInt64());
|
||||
if (ObjectManager.GetPlayerNameByGUID(parseGUID, out nameTarget))
|
||||
if (Global.CharacterCacheStorage.GetCharacterNameByGuid(parseGUID, out nameTarget))
|
||||
{
|
||||
playerTarget = Global.ObjAccessor.FindPlayer(parseGUID);
|
||||
guidTarget = parseGUID;
|
||||
|
||||
@@ -345,7 +345,7 @@ namespace Game.Chat.Commands
|
||||
PreparedStatement stmt = null;
|
||||
|
||||
ObjectGuid parseGUID = ObjectGuid.Create(HighGuid.Player, args.NextUInt64());
|
||||
if (ObjectManager.GetPlayerNameByGUID(parseGUID, out targetName))
|
||||
if (Global.CharacterCacheStorage.GetCharacterNameByGuid(parseGUID, out targetName))
|
||||
{
|
||||
target = Global.ObjAccessor.FindPlayer(parseGUID);
|
||||
targetGuid = parseGUID;
|
||||
|
||||
@@ -1291,7 +1291,7 @@ namespace Game.Chat
|
||||
ObjectGuid parseGUID = ObjectGuid.Create(HighGuid.Player, args.NextUInt64());
|
||||
|
||||
// ... and make sure we get a target, somehow.
|
||||
if (ObjectManager.GetPlayerNameByGUID(parseGUID, out targetName))
|
||||
if (Global.CharacterCacheStorage.GetCharacterNameByGuid(parseGUID, out targetName))
|
||||
{
|
||||
target = Global.ObjAccessor.FindPlayer(parseGUID);
|
||||
targetGuid = parseGUID;
|
||||
@@ -1673,7 +1673,7 @@ namespace Game.Chat
|
||||
if (!handler.extractPlayerTarget(new StringArguments(nameStr), out target, out targetGuid, out targetName))
|
||||
return false;
|
||||
|
||||
uint accountId = target ? target.GetSession().GetAccountId() : ObjectManager.GetPlayerAccountIdByGUID(targetGuid);
|
||||
uint accountId = target ? target.GetSession().GetAccountId() : Global.CharacterCacheStorage.GetCharacterAccountIdByGuid(targetGuid);
|
||||
|
||||
// find only player from same account if any
|
||||
if (!target)
|
||||
@@ -1745,7 +1745,7 @@ namespace Game.Chat
|
||||
if (!handler.extractPlayerTarget(args, out target, out targetGuid, out targetName))
|
||||
return false;
|
||||
|
||||
uint accountId = target ? target.GetSession().GetAccountId() : ObjectManager.GetPlayerAccountIdByGUID(targetGuid);
|
||||
uint accountId = target ? target.GetSession().GetAccountId() : Global.CharacterCacheStorage.GetCharacterAccountIdByGuid(targetGuid);
|
||||
|
||||
// find only player from same account if any
|
||||
if (!target)
|
||||
@@ -2259,7 +2259,7 @@ namespace Game.Chat
|
||||
if (!string.IsNullOrEmpty(targetName))
|
||||
{
|
||||
// Check for offline players
|
||||
ObjectGuid guid = ObjectManager.GetPlayerGUIDByName(name);
|
||||
ObjectGuid guid = Global.CharacterCacheStorage.GetCharacterGuidByName(name);
|
||||
if (guid.IsEmpty())
|
||||
{
|
||||
handler.SendSysMessage(CypherStrings.CommandFreezeWrong);
|
||||
|
||||
@@ -257,8 +257,8 @@ namespace Game.Chat.Commands
|
||||
return true;
|
||||
}
|
||||
|
||||
ObjectGuid targetGuid = ObjectManager.GetPlayerGUIDByName(target);
|
||||
uint accountId = ObjectManager.GetPlayerAccountIdByGUID(targetGuid);
|
||||
ObjectGuid targetGuid = Global.CharacterCacheStorage.GetCharacterGuidByName(target);
|
||||
uint accountId = Global.CharacterCacheStorage.GetCharacterAccountIdByGuid(targetGuid);
|
||||
// Target must exist and have administrative rights
|
||||
if (!Global.AccountMgr.HasPermission(accountId, RBACPermissions.CommandsBeAssignedTicket, Global.WorldMgr.GetRealm().Id.Realm))
|
||||
{
|
||||
@@ -447,7 +447,7 @@ namespace Game.Chat.Commands
|
||||
else
|
||||
{
|
||||
ObjectGuid guid = ticket.GetAssignedToGUID();
|
||||
uint accountId = ObjectManager.GetPlayerAccountIdByGUID(guid);
|
||||
uint accountId = Global.CharacterCacheStorage.GetCharacterAccountIdByGuid(guid);
|
||||
security = Global.AccountMgr.GetSecurity(accountId, (int)Global.WorldMgr.GetRealm().Id.Realm);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user