aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/ChatHandler.cpp
diff options
context:
space:
mode:
authorSpp <spp@jorge.gr>2013-03-11 10:52:43 +0100
committerSpp <spp@jorge.gr>2013-03-11 10:52:43 +0100
commit44ea9cbb2584abc85646285a631aacfa9ae71152 (patch)
tree191f3302877944711a83322aae50bf27ff98767f /src/server/game/Handlers/ChatHandler.cpp
parent0f5f560aade6564fc21452c91225c79248437a65 (diff)
Core/RBAC: Fix players not being able to reply GMs from the other faction (Partial revert of 377cfdb)
Diffstat (limited to 'src/server/game/Handlers/ChatHandler.cpp')
-rw-r--r--src/server/game/Handlers/ChatHandler.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp
index 9f942024851..81de643bcf5 100644
--- a/src/server/game/Handlers/ChatHandler.cpp
+++ b/src/server/game/Handlers/ChatHandler.cpp
@@ -271,14 +271,15 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recvData)
Player* receiver = sObjectAccessor->FindPlayerByName(to);
if (!receiver || (!HasPermission(RBAC_PERM_CAN_FILTER_WHISPERS) &&
- receiver->GetSession()->HasPermission(RBAC_PERM_CAN_FILTER_WHISPERS) &&
!receiver->isAcceptWhispers() && !receiver->IsInWhisperWhiteList(sender->GetGUID())))
{
SendPlayerNotFoundNotice(to);
return;
}
- if (GetPlayer()->GetTeam() != receiver->GetTeam() && !HasPermission(RBAC_PERM_TWO_SIDE_INTERACTION_CHAT))
+ // @todo: check only sender permission and add receiver to whiteList if receiver does not have the permission
+ if (GetPlayer()->GetTeam() != receiver->GetTeam() && !HasPermission(RBAC_PERM_TWO_SIDE_INTERACTION_CHAT) &&
+ !receiver->GetSession()->HasPermission(RBAC_PERM_TWO_SIDE_INTERACTION_CHAT))
{
SendWrongFactionNotice();
return;