From 229c78b5a38dc58e14f4912de49437b68341452b Mon Sep 17 00:00:00 2001 From: joschiwald Date: Sat, 13 May 2017 17:25:21 +0200 Subject: Core/Packets: Implemented CMSG_QUERY_REALM_NAME and SMSG_REALM_QUERY_RESPONSE --- src/server/game/Handlers/QueryHandler.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/server/game/Handlers/QueryHandler.cpp') diff --git a/src/server/game/Handlers/QueryHandler.cpp b/src/server/game/Handlers/QueryHandler.cpp index 47803e0cfbc..0a9d1c60380 100644 --- a/src/server/game/Handlers/QueryHandler.cpp +++ b/src/server/game/Handlers/QueryHandler.cpp @@ -410,3 +410,19 @@ void WorldSession::HandleItemTextQuery(WorldPackets::Query::ItemTextQuery& itemT SendPacket(queryItemTextResponse.Write()); } + +void WorldSession::HandleQueryRealmName(WorldPackets::Query::QueryRealmName& queryRealmName) +{ + WorldPackets::Query::RealmQueryResponse realmQueryResponse; + realmQueryResponse.VirtualRealmAddress = queryRealmName.VirtualRealmAddress; + + Battlenet::RealmHandle realmHandle(queryRealmName.VirtualRealmAddress); + if (sObjectMgr->GetRealmName(realmHandle.Realm, realmQueryResponse.NameInfo.RealmNameActual, realmQueryResponse.NameInfo.RealmNameNormalized)) + { + realmQueryResponse.LookupState = RESPONSE_SUCCESS; + realmQueryResponse.NameInfo.IsInternalRealm = false; + realmQueryResponse.NameInfo.IsLocal = queryRealmName.VirtualRealmAddress == realm.Id.GetAddress(); + } + else + realmQueryResponse.LookupState = RESPONSE_FAILURE; +} -- cgit v1.2.3