Core/Players: Use PlayerData::VirtualPlayerRealm instead of global GetVirtualRealmAddress() where possible

Port From (https://github.com/TrinityCore/TrinityCore/commit/88fea990ff1408b94076fb9dbd0c974908d6a731)
This commit is contained in:
Hondacrx
2024-09-08 15:23:43 -04:00
parent 92472c20aa
commit 8341244e4d
7 changed files with 23 additions and 13 deletions
@@ -370,7 +370,7 @@ namespace Game.Achievements
if (!achievement.Flags.HasAnyFlag(AchievementFlags.Account)) if (!achievement.Flags.HasAnyFlag(AchievementFlags.Account))
{ {
earned.Owner = _owner.GetGUID(); earned.Owner = _owner.GetGUID();
earned.VirtualRealmAddress = earned.NativeRealmAddress = Global.WorldMgr.GetVirtualRealmAddress(); earned.VirtualRealmAddress = earned.NativeRealmAddress = _owner.m_playerData.VirtualPlayerRealm;
} }
achievementData.Data.Earned.Add(earned); achievementData.Data.Earned.Add(earned);
@@ -430,7 +430,7 @@ namespace Game.Achievements
if (!achievement.Flags.HasAnyFlag(AchievementFlags.Account)) if (!achievement.Flags.HasAnyFlag(AchievementFlags.Account))
{ {
earned.Owner = _owner.GetGUID(); earned.Owner = _owner.GetGUID();
earned.VirtualRealmAddress = earned.NativeRealmAddress = Global.WorldMgr.GetVirtualRealmAddress(); earned.VirtualRealmAddress = earned.NativeRealmAddress = _owner.m_playerData.VirtualPlayerRealm;
} }
inspectedAchievements.Data.Earned.Add(earned); inspectedAchievements.Data.Earned.Add(earned);
@@ -665,7 +665,7 @@ namespace Game.Achievements
AchievementEarned achievementEarned = new(); AchievementEarned achievementEarned = new();
achievementEarned.Sender = _owner.GetGUID(); achievementEarned.Sender = _owner.GetGUID();
achievementEarned.Earner = _owner.GetGUID(); achievementEarned.Earner = _owner.GetGUID();
achievementEarned.EarnerNativeRealm = achievementEarned.EarnerVirtualRealm = Global.WorldMgr.GetVirtualRealmAddress(); achievementEarned.EarnerNativeRealm = achievementEarned.EarnerVirtualRealm = _owner.m_playerData.VirtualPlayerRealm;
achievementEarned.AchievementID = achievement.Id; achievementEarned.AchievementID = achievement.Id;
achievementEarned.Time = GameTime.GetUtcWowTime(); achievementEarned.Time = GameTime.GetUtcWowTime();
achievementEarned.Time += receiver.GetSession().GetTimezoneOffset(); achievementEarned.Time += receiver.GetSession().GetTimezoneOffset();
+1 -1
View File
@@ -409,7 +409,7 @@ namespace Game.BattlePets
{ {
BattlePetStruct.BattlePetOwnerInfo battlePetOwnerInfo = new(); BattlePetStruct.BattlePetOwnerInfo battlePetOwnerInfo = new();
battlePetOwnerInfo.Guid = player.GetGUID(); battlePetOwnerInfo.Guid = player.GetGUID();
battlePetOwnerInfo.PlayerVirtualRealm = Global.WorldMgr.GetVirtualRealmAddress(); battlePetOwnerInfo.PlayerVirtualRealm = _owner.m_playerData.VirtualPlayerRealm;
battlePetOwnerInfo.PlayerNativeRealm = Global.WorldMgr.GetVirtualRealmAddress(); battlePetOwnerInfo.PlayerNativeRealm = Global.WorldMgr.GetVirtualRealmAddress();
pet.PacketInfo.OwnerInfo = battlePetOwnerInfo; pet.PacketInfo.OwnerInfo = battlePetOwnerInfo;
} }
+1 -1
View File
@@ -536,7 +536,7 @@ namespace Game.Chat
member.GetSession().GetSecurity() <= (AccountTypes)gmLevelInWhoList) && member.GetSession().GetSecurity() <= (AccountTypes)gmLevelInWhoList) &&
member.IsVisibleGloballyFor(player)) member.IsVisibleGloballyFor(player))
{ {
list.Members.Add(new ChannelListResponse.ChannelPlayer(pair.Key, Global.WorldMgr.GetVirtualRealmAddress(), pair.Value.GetFlags())); list.Members.Add(new ChannelListResponse.ChannelPlayer(pair.Key, member.m_playerData.VirtualPlayerRealm, pair.Value.GetFlags()));
} }
} }
+4 -4
View File
@@ -438,10 +438,10 @@ namespace Game.Entities
if (type != DuelCompleteType.Interrupted) if (type != DuelCompleteType.Interrupted)
{ {
DuelWinner duelWinner = new(); DuelWinner duelWinner = new();
duelWinner.BeatenName = (type == DuelCompleteType.Won ? opponent.GetName() : GetName()); duelWinner.BeatenName = (type == DuelCompleteType.Won ? opponent : this).GetName();
duelWinner.WinnerName = (type == DuelCompleteType.Won ? GetName() : opponent.GetName()); duelWinner.WinnerName = (type == DuelCompleteType.Won ? this : opponent).GetName();
duelWinner.BeatenVirtualRealmAddress = Global.WorldMgr.GetVirtualRealmAddress(); duelWinner.BeatenVirtualRealmAddress = (type == DuelCompleteType.Won ? opponent : this).m_playerData.VirtualPlayerRealm;
duelWinner.WinnerVirtualRealmAddress = Global.WorldMgr.GetVirtualRealmAddress(); duelWinner.WinnerVirtualRealmAddress = (type == DuelCompleteType.Won ? this : opponent).m_playerData.VirtualPlayerRealm;
duelWinner.Fled = type != DuelCompleteType.Won; duelWinner.Fled = type != DuelCompleteType.Won;
SendMessageToSet(duelWinner, true); SendMessageToSet(duelWinner, true);
+6 -1
View File
@@ -2446,7 +2446,12 @@ namespace Game.Entities
SummonRequest summonRequest = new(); SummonRequest summonRequest = new();
summonRequest.SummonerGUID = summoner.GetGUID(); summonRequest.SummonerGUID = summoner.GetGUID();
summonRequest.SummonerVirtualRealmAddress = WorldMgr.GetVirtualRealmAddress(); Player playerSummoner = summoner.ToPlayer();
if (playerSummoner != null)
summonRequest.SummonerVirtualRealmAddress = playerSummoner.m_playerData.VirtualPlayerRealm;
else
summonRequest.SummonerVirtualRealmAddress = Global.WorldMgr.GetVirtualRealmAddress();
summonRequest.AreaID = (int)summoner.GetZoneId(); summonRequest.AreaID = (int)summoner.GetZoneId();
SendPacket(summonRequest); SendPacket(summonRequest);
+2 -2
View File
@@ -581,7 +581,7 @@ namespace Game.Guilds
GuildInvite invite = new(); GuildInvite invite = new();
invite.InviterVirtualRealmAddress = Global.WorldMgr.GetVirtualRealmAddress(); invite.InviterVirtualRealmAddress = player.m_playerData.VirtualPlayerRealm;
invite.GuildVirtualRealmAddress = Global.WorldMgr.GetVirtualRealmAddress(); invite.GuildVirtualRealmAddress = Global.WorldMgr.GetVirtualRealmAddress();
invite.GuildGUID = GetGUID(); invite.GuildGUID = GetGUID();
@@ -1237,7 +1237,7 @@ namespace Game.Guilds
GuildEventPresenceChange eventPacket = new(); GuildEventPresenceChange eventPacket = new();
eventPacket.Guid = player.GetGUID(); eventPacket.Guid = player.GetGUID();
eventPacket.Name = player.GetName(); eventPacket.Name = player.GetName();
eventPacket.VirtualRealmAddress = Global.WorldMgr.GetVirtualRealmAddress(); eventPacket.VirtualRealmAddress = player.m_playerData.VirtualPlayerRealm;
eventPacket.LoggedOn = loggedOn; eventPacket.LoggedOn = loggedOn;
if (broadcast) if (broadcast)
+6 -1
View File
@@ -4619,7 +4619,12 @@ namespace Game.Spells
ResurrectRequest resurrectRequest = new(); ResurrectRequest resurrectRequest = new();
resurrectRequest.ResurrectOffererGUID = m_caster.GetGUID(); resurrectRequest.ResurrectOffererGUID = m_caster.GetGUID();
resurrectRequest.ResurrectOffererVirtualRealmAddress = Global.WorldMgr.GetVirtualRealmAddress(); Player playerCaster = m_caster.ToPlayer();
if (playerCaster != null)
resurrectRequest.ResurrectOffererVirtualRealmAddress = playerCaster.m_playerData.VirtualPlayerRealm;
else
resurrectRequest.ResurrectOffererVirtualRealmAddress = Global.WorldMgr.GetVirtualRealmAddress();
resurrectRequest.Name = sentName; resurrectRequest.Name = sentName;
resurrectRequest.Sickness = m_caster.IsUnit() && !m_caster.IsTypeId(TypeId.Player); // "you'll be afflicted with resurrection sickness" resurrectRequest.Sickness = m_caster.IsUnit() && !m_caster.IsTypeId(TypeId.Player); // "you'll be afflicted with resurrection sickness"
resurrectRequest.UseTimer = !m_spellInfo.HasAttribute(SpellAttr3.NoResTimer); resurrectRequest.UseTimer = !m_spellInfo.HasAttribute(SpellAttr3.NoResTimer);