aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-08-18 10:58:34 +0200
committerOvahlord <dreadkiller@gmx.de>2024-08-18 20:30:26 +0200
commit0c98004896cb91ef2d22baa5569ff0e0d6cd15ee (patch)
tree60e286d5eba11ebed86997df60b7ab5c52016e82 /src
parenta42b6f67c1351317197b947860ffde5d0b8a65e5 (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.cpp6
-rw-r--r--src/server/game/BattlePets/BattlePetMgr.cpp2
-rw-r--r--src/server/game/Chat/Channels/Channel.cpp2
-rw-r--r--src/server/game/Entities/Player/Player.cpp14
-rw-r--r--src/server/game/Guilds/Guild.cpp4
-rw-r--r--src/server/game/Spells/Spell.cpp6
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);