diff options
author | joschiwald <joschiwald.trinity@gmail.com> | 2017-05-13 17:25:21 +0200 |
---|---|---|
committer | joschiwald <joschiwald.trinity@gmail.com> | 2017-05-13 17:25:21 +0200 |
commit | 229c78b5a38dc58e14f4912de49437b68341452b (patch) | |
tree | c7091cb6eb5044865cb35659646df9bf0e691009 /src/server/game/Handlers/QueryHandler.cpp | |
parent | bd456342e2e2e63264c1884e417b2779c9dab019 (diff) |
Core/Packets: Implemented CMSG_QUERY_REALM_NAME and SMSG_REALM_QUERY_RESPONSE
Diffstat (limited to 'src/server/game/Handlers/QueryHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/QueryHandler.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
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; +} |