diff options
Diffstat (limited to 'src/server/game/Handlers/MiscHandler.cpp')
| -rw-r--r-- | src/server/game/Handlers/MiscHandler.cpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index c46656f7a53..866a99bcfb7 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -1213,6 +1213,12 @@ void WorldSession::HandleInspectOpcode(WorldPacket& recvData) return; } + if (!GetPlayer()->IsWithinDistInMap(player, INSPECT_DISTANCE, false)) + return; + + if (GetPlayer()->IsValidAttackTarget(player)) + return; + uint32 talent_points = 41; WorldPacket data(SMSG_INSPECT_TALENT, 8 + 4 + 1 + 1 + talent_points + 8 + 4 + 8 + 4); data << player->GetGUID(); @@ -1258,13 +1264,18 @@ void WorldSession::HandleInspectHonorStatsOpcode(WorldPacket& recvData) recvData.ReadByteSeq(guid[2]); recvData.ReadByteSeq(guid[3]); Player* player = ObjectAccessor::FindPlayer(guid); - if (!player) { TC_LOG_DEBUG("network", "CMSG_INSPECT_HONOR_STATS: No player found from GUID: " UI64FMTD, (uint64)guid); return; } + if (!GetPlayer()->IsWithinDistInMap(player, INSPECT_DISTANCE, false)) + return; + + if (GetPlayer()->IsValidAttackTarget(player)) + return; + ObjectGuid playerGuid = player->GetGUID(); WorldPacket data(SMSG_INSPECT_HONOR_STATS, 8+1+4+4); data.WriteBit(playerGuid[4]); @@ -1708,6 +1719,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); } |
