diff options
author | Shauren <shauren.trinity@gmail.com> | 2024-08-18 10:58:34 +0200 |
---|---|---|
committer | Ovahlord <dreadkiller@gmx.de> | 2024-08-18 20:30:26 +0200 |
commit | 0c98004896cb91ef2d22baa5569ff0e0d6cd15ee (patch) | |
tree | 60e286d5eba11ebed86997df60b7ab5c52016e82 /src | |
parent | a42b6f67c1351317197b947860ffde5d0b8a65e5 (diff) |
Core/Players: Use PlayerData::VirtualPlayerRealm instead of global GetVirtualRealmAddress() where possible
(cherry picked from commit 88fea990ff1408b94076fb9dbd0c974908d6a731)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Achievements/AchievementMgr.cpp | 6 | ||||
-rw-r--r-- | src/server/game/BattlePets/BattlePetMgr.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Chat/Channels/Channel.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 14 | ||||
-rw-r--r-- | src/server/game/Guilds/Guild.cpp | 4 | ||||
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 6 |
6 files changed, 21 insertions, 13 deletions
diff --git a/src/server/game/Achievements/AchievementMgr.cpp b/src/server/game/Achievements/AchievementMgr.cpp index 622bf990b1c..c272c97dbcc 100644 --- a/src/server/game/Achievements/AchievementMgr.cpp +++ b/src/server/game/Achievements/AchievementMgr.cpp @@ -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(); diff --git a/src/server/game/BattlePets/BattlePetMgr.cpp b/src/server/game/BattlePets/BattlePetMgr.cpp index d485c097609..f153f7d4138 100644 --- a/src/server/game/BattlePets/BattlePetMgr.cpp +++ b/src/server/game/BattlePets/BattlePetMgr.cpp @@ -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; diff --git a/src/server/game/Chat/Channels/Channel.cpp b/src/server/game/Chat/Channels/Channel.cpp index 8be2cd1ec15..f8a5340402f 100644 --- a/src/server/game/Chat/Channels/Channel.cpp +++ b/src/server/game/Chat/Channels/Channel.cpp @@ -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()); } } diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 7449359de28..cb5dc78020b 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -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()); diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp index ca7025a7779..236c7f72277 100644 --- a/src/server/game/Guilds/Guild.cpp +++ b/src/server/game/Guilds/Guild.cpp @@ -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; diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 1ce7b3ce3e0..591e66695a9 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -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); |