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))
{
earned.Owner = _owner.GetGUID();
earned.VirtualRealmAddress = earned.NativeRealmAddress = Global.WorldMgr.GetVirtualRealmAddress();
earned.VirtualRealmAddress = earned.NativeRealmAddress = _owner.m_playerData.VirtualPlayerRealm;
}
achievementData.Data.Earned.Add(earned);
@@ -430,7 +430,7 @@ namespace Game.Achievements
if (!achievement.Flags.HasAnyFlag(AchievementFlags.Account))
{
earned.Owner = _owner.GetGUID();
earned.VirtualRealmAddress = earned.NativeRealmAddress = Global.WorldMgr.GetVirtualRealmAddress();
earned.VirtualRealmAddress = earned.NativeRealmAddress = _owner.m_playerData.VirtualPlayerRealm;
}
inspectedAchievements.Data.Earned.Add(earned);
@@ -665,7 +665,7 @@ namespace Game.Achievements
AchievementEarned achievementEarned = new();
achievementEarned.Sender = _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.Time = GameTime.GetUtcWowTime();
achievementEarned.Time += receiver.GetSession().GetTimezoneOffset();
+1 -1
View File
@@ -409,7 +409,7 @@ namespace Game.BattlePets
{
BattlePetStruct.BattlePetOwnerInfo battlePetOwnerInfo = new();
battlePetOwnerInfo.Guid = player.GetGUID();
battlePetOwnerInfo.PlayerVirtualRealm = Global.WorldMgr.GetVirtualRealmAddress();
battlePetOwnerInfo.PlayerVirtualRealm = _owner.m_playerData.VirtualPlayerRealm;
battlePetOwnerInfo.PlayerNativeRealm = Global.WorldMgr.GetVirtualRealmAddress();
pet.PacketInfo.OwnerInfo = battlePetOwnerInfo;
}
+1 -1
View File
@@ -536,7 +536,7 @@ namespace Game.Chat
member.GetSession().GetSecurity() <= (AccountTypes)gmLevelInWhoList) &&
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)
{
DuelWinner duelWinner = new();
duelWinner.BeatenName = (type == DuelCompleteType.Won ? opponent.GetName() : GetName());
duelWinner.WinnerName = (type == DuelCompleteType.Won ? GetName() : opponent.GetName());
duelWinner.BeatenVirtualRealmAddress = Global.WorldMgr.GetVirtualRealmAddress();
duelWinner.WinnerVirtualRealmAddress = Global.WorldMgr.GetVirtualRealmAddress();
duelWinner.BeatenName = (type == DuelCompleteType.Won ? opponent : this).GetName();
duelWinner.WinnerName = (type == DuelCompleteType.Won ? this : opponent).GetName();
duelWinner.BeatenVirtualRealmAddress = (type == DuelCompleteType.Won ? opponent : this).m_playerData.VirtualPlayerRealm;
duelWinner.WinnerVirtualRealmAddress = (type == DuelCompleteType.Won ? this : opponent).m_playerData.VirtualPlayerRealm;
duelWinner.Fled = type != DuelCompleteType.Won;
SendMessageToSet(duelWinner, true);
+6 -1
View File
@@ -2446,7 +2446,12 @@ namespace Game.Entities
SummonRequest summonRequest = new();
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();
SendPacket(summonRequest);
+2 -2
View File
@@ -581,7 +581,7 @@ namespace Game.Guilds
GuildInvite invite = new();
invite.InviterVirtualRealmAddress = Global.WorldMgr.GetVirtualRealmAddress();
invite.InviterVirtualRealmAddress = player.m_playerData.VirtualPlayerRealm;
invite.GuildVirtualRealmAddress = Global.WorldMgr.GetVirtualRealmAddress();
invite.GuildGUID = GetGUID();
@@ -1237,7 +1237,7 @@ namespace Game.Guilds
GuildEventPresenceChange eventPacket = new();
eventPacket.Guid = player.GetGUID();
eventPacket.Name = player.GetName();
eventPacket.VirtualRealmAddress = Global.WorldMgr.GetVirtualRealmAddress();
eventPacket.VirtualRealmAddress = player.m_playerData.VirtualPlayerRealm;
eventPacket.LoggedOn = loggedOn;
if (broadcast)
+6 -1
View File
@@ -4619,7 +4619,12 @@ namespace Game.Spells
ResurrectRequest resurrectRequest = new();
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.Sickness = m_caster.IsUnit() && !m_caster.IsTypeId(TypeId.Player); // "you'll be afflicted with resurrection sickness"
resurrectRequest.UseTimer = !m_spellInfo.HasAttribute(SpellAttr3.NoResTimer);