aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDDuarte <dnpd.dd@gmail.com>2016-03-28 22:34:46 +0100
committerDDuarte <dnpd.dd@gmail.com>2016-03-28 23:10:44 +0100
commit7f8cd123c43b3cc7f50c1084e8450aa31173b395 (patch)
tree00588938e9b419232ea29f27adb3add55357ff25 /src
parentadc7b5e1f15d351df891cbc7a51aa277455f2f28 (diff)
Core/PacketIO: Properly send normalized realm names
Ref #14949
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp7
-rw-r--r--src/server/game/Globals/ObjectMgr.h1
-rw-r--r--src/server/game/Handlers/AuthHandler.cpp5
-rw-r--r--src/server/game/Server/Packets/PartyPackets.cpp6
4 files changed, 12 insertions, 7 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 85adc2764ab..9801c38514c 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -9340,6 +9340,13 @@ std::string ObjectMgr::GetRealmName(uint32 realmId) const
return iter != _realmNameStore.end() ? iter->second : "";
}
+std::string ObjectMgr::GetNormalizedRealmName(uint32 realmId) const
+{
+ std::string name = GetRealmName(realmId);
+ name.erase(std::remove_if(name.begin(), name.end(), ::isspace), name.end());
+ return name;
+}
+
void ObjectMgr::LoadGameObjectQuestItems()
{
uint32 oldMSTime = getMSTime();
diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h
index f67d753cf7c..40e8429087d 100644
--- a/src/server/game/Globals/ObjectMgr.h
+++ b/src/server/game/Globals/ObjectMgr.h
@@ -1369,6 +1369,7 @@ class TC_GAME_API ObjectMgr
void LoadRealmNames();
std::string GetRealmName(uint32 realm) const;
+ std::string GetNormalizedRealmName(uint32 realm) const;
ExpansionRequirementContainer const& GetRaceExpansionRequirements() const { return _raceExpansionRequirementStore; }
uint8 GetRaceExpansionRequirement(uint8 race) const
diff --git a/src/server/game/Handlers/AuthHandler.cpp b/src/server/game/Handlers/AuthHandler.cpp
index 7367d823e68..92f59d598a9 100644
--- a/src/server/game/Handlers/AuthHandler.cpp
+++ b/src/server/game/Handlers/AuthHandler.cpp
@@ -40,10 +40,9 @@ void WorldSession::SendAuthResponse(uint32 code, bool queued, uint32 queuePos)
response.SuccessInfo->ActiveExpansionLevel = GetExpansion();
response.SuccessInfo->VirtualRealmAddress = GetVirtualRealmAddress();
- std::string realmName = sObjectMgr->GetRealmName(realm.Id.Realm);
-
// Send current home realm. Also there is no need to send it later in realm queries.
- response.SuccessInfo->VirtualRealms.emplace_back(GetVirtualRealmAddress(), true, false, realmName, realmName);
+ response.SuccessInfo->VirtualRealms.emplace_back(GetVirtualRealmAddress(), true, false,
+ sObjectMgr->GetRealmName(realm.Id.Realm), sObjectMgr->GetNormalizedRealmName(realm.Id.Realm));
if (HasPermission(rbac::RBAC_PERM_USE_CHARACTER_TEMPLATES))
for (auto& templ : sObjectMgr->GetCharacterTemplates())
diff --git a/src/server/game/Server/Packets/PartyPackets.cpp b/src/server/game/Server/Packets/PartyPackets.cpp
index 2d5a85d4fd0..c4803ba7c6d 100644
--- a/src/server/game/Server/Packets/PartyPackets.cpp
+++ b/src/server/game/Server/Packets/PartyPackets.cpp
@@ -103,11 +103,9 @@ void WorldPackets::Party::PartyInvite::Initialize(Player* const inviter, int32 p
ProposedRoles = proposedRoles;
- std::string realmName = sObjectMgr->GetRealmName(realm.Id.Realm);
-
InviterVirtualRealmAddress = GetVirtualRealmAddress();
- InviterRealmNameActual = realmName;
- InviterRealmNameNormalized = realmName;
+ InviterRealmNameActual = sObjectMgr->GetRealmName(realm.Id.Realm);
+ InviterRealmNameNormalized = sObjectMgr->GetNormalizedRealmName(realm.Id.Realm);
}
void WorldPackets::Party::PartyInviteResponse::Read()