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

(cherry picked from commit 88fea990ff)
This commit is contained in:
Shauren
2024-08-18 10:58:34 +02:00
committed by Ovahlord
parent a42b6f67c1
commit 0c98004896
6 changed files with 21 additions and 13 deletions

View File

@@ -377,7 +377,7 @@ void PlayerAchievementMgr::SendAllData(Player const* /*receiver*/) const
if (!(achievement->Flags & ACHIEVEMENT_FLAG_ACCOUNT))
{
earned.Owner = _owner->GetGUID();
earned.VirtualRealmAddress = earned.NativeRealmAddress = GetVirtualRealmAddress();
earned.VirtualRealmAddress = earned.NativeRealmAddress = _owner->m_playerData->VirtualPlayerRealm;
}
}
@@ -436,7 +436,7 @@ void PlayerAchievementMgr::SendAchievementInfo(Player* receiver, uint32 /*achiev
if (!(achievement->Flags & ACHIEVEMENT_FLAG_ACCOUNT))
{
earned.Owner = _owner->GetGUID();
earned.VirtualRealmAddress = earned.NativeRealmAddress = GetVirtualRealmAddress();
earned.VirtualRealmAddress = earned.NativeRealmAddress = _owner->m_playerData->VirtualPlayerRealm;
}
}
@@ -657,7 +657,7 @@ void PlayerAchievementMgr::SendAchievementEarned(AchievementEntry const* achieve
WorldPackets::Achievement::AchievementEarned achievementEarned;
achievementEarned.Sender = _owner->GetGUID();
achievementEarned.Earner = _owner->GetGUID();
achievementEarned.EarnerNativeRealm = achievementEarned.EarnerVirtualRealm = GetVirtualRealmAddress();
achievementEarned.EarnerNativeRealm = achievementEarned.EarnerVirtualRealm = _owner->m_playerData->VirtualPlayerRealm;
achievementEarned.AchievementID = achievement->ID;
achievementEarned.Time = *GameTime::GetUtcWowTime();
achievementEarned.Time += receiver->GetSession()->GetTimezoneOffset();

View File

@@ -474,7 +474,7 @@ void BattlePetMgr::AddPet(uint32 species, uint32 display, uint16 breed, BattlePe
{
pet.PacketInfo.OwnerInfo.emplace();
pet.PacketInfo.OwnerInfo->Guid = player->GetGUID();
pet.PacketInfo.OwnerInfo->PlayerVirtualRealm = pet.PacketInfo.OwnerInfo->PlayerNativeRealm = GetVirtualRealmAddress();
pet.PacketInfo.OwnerInfo->PlayerVirtualRealm = pet.PacketInfo.OwnerInfo->PlayerNativeRealm = player->m_playerData->VirtualPlayerRealm;
}
pet.SaveInfo = BATTLE_PET_NEW;

View File

@@ -629,7 +629,7 @@ void Channel::List(Player const* player)
member->GetSession()->GetSecurity() <= AccountTypes(gmLevelInWhoList)) &&
member->IsVisibleGloballyFor(player))
{
list._Members.emplace_back(i.first, GetVirtualRealmAddress(), i.second.GetFlags());
list._Members.emplace_back(i.first, *member->m_playerData->VirtualPlayerRealm, i.second.GetFlags());
}
}

View File

@@ -7359,10 +7359,10 @@ void Player::DuelComplete(DuelCompleteType type)
if (type != DUEL_INTERRUPTED)
{
WorldPackets::Duel::DuelWinner duelWinner;
duelWinner.BeatenName = (type == DUEL_WON ? opponent->GetName() : GetName());
duelWinner.WinnerName = (type == DUEL_WON ? GetName() : opponent->GetName());
duelWinner.BeatenVirtualRealmAddress = GetVirtualRealmAddress();
duelWinner.WinnerVirtualRealmAddress = GetVirtualRealmAddress();
duelWinner.BeatenName = (type == DUEL_WON ? opponent : this)->GetName();
duelWinner.WinnerName = (type == DUEL_WON ? this : opponent)->GetName();
duelWinner.BeatenVirtualRealmAddress = (type == DUEL_WON ? opponent : this)->m_playerData->VirtualPlayerRealm;
duelWinner.WinnerVirtualRealmAddress = (type == DUEL_WON ? this : opponent)->m_playerData->VirtualPlayerRealm;
duelWinner.Fled = type != DUEL_WON;
SendMessageToSet(duelWinner.Write(), true);
@@ -24323,7 +24323,11 @@ void Player::SendSummonRequestFrom(Unit* summoner)
WorldPackets::Movement::SummonRequest summonRequest;
summonRequest.SummonerGUID = summoner->GetGUID();
summonRequest.SummonerVirtualRealmAddress = GetVirtualRealmAddress();
if (Player const* playerSummoner = summoner->ToPlayer())
summonRequest.SummonerVirtualRealmAddress = playerSummoner->m_playerData->VirtualPlayerRealm;
else
summonRequest.SummonerVirtualRealmAddress = GetVirtualRealmAddress();
summonRequest.AreaID = summoner->GetZoneId();
SendDirectMessage(summonRequest.Write());

View File

@@ -1722,7 +1722,7 @@ void Guild::HandleInviteMember(WorldSession* session, std::string_view name)
WorldPackets::Guild::GuildInvite invite;
invite.InviterVirtualRealmAddress = GetVirtualRealmAddress();
invite.InviterVirtualRealmAddress = player->m_playerData->VirtualPlayerRealm;
invite.GuildVirtualRealmAddress = GetVirtualRealmAddress();
invite.GuildGUID = GetGUID();
@@ -2477,7 +2477,7 @@ void Guild::SendEventPresenceChanged(WorldSession* session, bool loggedOn, bool
WorldPackets::Guild::GuildEventPresenceChange eventPacket;
eventPacket.Guid = player->GetGUID();
eventPacket.Name = player->GetName();
eventPacket.VirtualRealmAddress = GetVirtualRealmAddress();
eventPacket.VirtualRealmAddress = player->m_playerData->VirtualPlayerRealm;
eventPacket.LoggedOn = loggedOn;
eventPacket.Mobile = false;

View File

@@ -5334,7 +5334,11 @@ void Spell::SendResurrectRequest(Player* target)
WorldPackets::Spells::ResurrectRequest resurrectRequest;
resurrectRequest.ResurrectOffererGUID = m_caster->GetGUID();
resurrectRequest.ResurrectOffererVirtualRealmAddress = GetVirtualRealmAddress();
if (Player const* playerCaster = m_caster->ToPlayer())
resurrectRequest.ResurrectOffererVirtualRealmAddress = playerCaster->m_playerData->VirtualPlayerRealm;
else
resurrectRequest.ResurrectOffererVirtualRealmAddress = GetVirtualRealmAddress();
resurrectRequest.Name = sentName;
resurrectRequest.Sickness = m_caster->IsUnit() && m_caster->ToUnit()->IsSpiritHealer(); // "you'll be afflicted with resurrection sickness"
resurrectRequest.UseTimer = !m_spellInfo->HasAttribute(SPELL_ATTR3_NO_RES_TIMER);