Core/Realms: Realmlist refactors

* Removed global realm variable from World and use RealmList everywhere
* Match auth build key with client version
* Restored allowedSecurityLevel checks for realmlist packet building
* Restored updating population field
Port From (https://github.com/TrinityCore/TrinityCore/commit/c4b710446d62c95eb8124175203fa5f394912594)
This commit is contained in:
Hondacrx
2024-09-26 12:53:15 -04:00
parent 8341244e4d
commit d70529bc19
36 changed files with 393 additions and 298 deletions
+8 -4
View File
@@ -207,7 +207,7 @@ namespace Game.Chat
{
ulong high = 0;
high |= (ulong)HighGuid.ChatChannel << 58;
high |= (ulong)Global.WorldMgr.GetRealmId().Index << 42;
high |= (ulong)Global.RealmMgr.GetCurrentRealmId().Index << 42;
high |= (ulong)(_team == Team.Alliance ? 3 : 5) << 4;
ObjectGuid channelGuid = new();
@@ -224,9 +224,13 @@ namespace Game.Chat
if (channelEntry.HasFlag(ChatChannelFlags.GlobalForTournament))
{
var category = CliDB.CfgCategoriesStorage.LookupByKey(Global.WorldMgr.GetRealm().Timezone);
if (category != null && category.HasFlag(CfgCategoriesFlags.Tournament))
zoneId = 0;
var currentRealm = Global.RealmMgr.GetCurrentRealm();
if (currentRealm != null)
{
var category = CliDB.CfgCategoriesStorage.LookupByKey(currentRealm.Timezone);
if (category != null && category.HasFlag(CfgCategoriesFlags.Tournament))
zoneId = 0;
}
}
return ObjectGuid.Create(HighGuid.ChatChannel, true, channelEntry.HasFlag(ChatChannelFlags.LinkedChannel), (ushort)zoneId, (byte)(_team == Team.Alliance ? 3 : 5), channelId);