From abb97bac18d4d38feacad37a3f60e79dd3b9606c Mon Sep 17 00:00:00 2001 From: Dehravor Date: Thu, 24 Apr 2014 14:34:19 +0200 Subject: Core/Handlers: Add inspect distance and target checks --- src/server/game/Handlers/MiscHandler.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/server/game/Handlers/MiscHandler.cpp') diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index 4fd1d516d31..1b04c89b338 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -1184,6 +1184,12 @@ void WorldSession::HandleInspectOpcode(WorldPacket& recvData) return; } + if (!GetPlayer()->IsWithinDistInMap(player, INSPECT_DISTANCE, false)) + return; + + if (GetPlayer()->IsValidAttackTarget(player)) + return; + uint32 talent_points = 0x47; uint32 guid_size = player->GetPackGUID().wpos(); WorldPacket data(SMSG_INSPECT_TALENT, guid_size+4+talent_points); @@ -1215,6 +1221,12 @@ void WorldSession::HandleInspectHonorStatsOpcode(WorldPacket& recvData) return; } + if (!GetPlayer()->IsWithinDistInMap(player, INSPECT_DISTANCE, false)) + return; + + if (GetPlayer()->IsValidAttackTarget(player)) + return; + WorldPacket data(MSG_INSPECT_HONOR_STATS, 8+1+4*4); data << uint64(player->GetGUID()); data << uint8(player->GetHonorPoints()); @@ -1641,6 +1653,12 @@ void WorldSession::HandleQueryInspectAchievements(WorldPacket& recvData) if (!player) return; + if (!GetPlayer()->IsWithinDistInMap(player, INSPECT_DISTANCE, false)) + return; + + if (GetPlayer()->IsValidAttackTarget(player)) + return; + player->SendRespondInspectAchievements(_player); } -- cgit v1.2.3