aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
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 d3f3e194d77..406483da438 100644
--- a/src/server/game/Achievements/AchievementMgr.cpp
+++ b/src/server/game/Achievements/AchievementMgr.cpp
@@ -384,7 +384,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;
}
}
@@ -443,7 +443,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;
}
}
@@ -664,7 +664,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 a6260eb36a8..9e90a468883 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 38e4b62507b..c35cdcf8be3 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -7808,10 +7808,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);
@@ -25485,7 +25485,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 ca914c06eb0..4f21a11b296 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;
if (broadcast)
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index a0752dac0ed..40c604c9c71 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -5457,7 +5457,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);