Core/ChatHandler: Update Addon message read fix (#811)

This commit is contained in:
ladiszlai
2019-02-26 18:24:41 +01:00
committed by Kargatum
parent e071847255
commit 15e4d2e21f
+34 -15
View File
@@ -136,31 +136,50 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket & recvData)
case CHAT_MSG_RAID: case CHAT_MSG_RAID:
case CHAT_MSG_GUILD: case CHAT_MSG_GUILD:
case CHAT_MSG_BATTLEGROUND: case CHAT_MSG_BATTLEGROUND:
case CHAT_MSG_WHISPER: // check if addon messages are disabled
// check if addon messages are disabled if (!sWorld->getBoolConfig(CONFIG_ADDON_CHANNEL))
if (!sWorld->getBoolConfig(CONFIG_ADDON_CHANNEL)) {
{ recvData.rfinish();
recvData.rfinish(); return;
return; }
}
if (sWorld->getBoolConfig(CONFIG_CHATLOG_ADDON)) if (sWorld->getBoolConfig(CONFIG_CHATLOG_ADDON))
{ {
std::string to, msg; std::string msg;
recvData >> to >> msg; recvData >> msg;
Player* receiver = ObjectAccessor::FindPlayerByName(to, false);
if (msg.empty()) if (msg.empty())
return; return;
sScriptMgr->OnPlayerChat(sender, type, lang, msg, receiver); sScriptMgr->OnPlayerChat(sender, type, lang, msg);
#ifdef ELUNA #ifdef ELUNA
if (!sEluna->OnChat(sender, type, lang, msg, receiver)) if (!sEluna->OnChat(sender, type, lang, msg))
return; return;
#endif #endif
} }
break; break;
case CHAT_MSG_WHISPER:
// check if addon messages are disabled
if (!sWorld->getBoolConfig(CONFIG_ADDON_CHANNEL))
{
recvData.rfinish();
return;
}
if (sWorld->getBoolConfig(CONFIG_CHATLOG_ADDON))
{
std::string to, msg;
recvData >> to >> msg;
Player* receiver = ObjectAccessor::FindPlayerByName(to, false);
if (msg.empty())
return;
sScriptMgr->OnPlayerChat(sender, type, lang, msg, receiver);
}
break;
default: default:
sLog->outError("Player %s (GUID: %u) sent a chatmessage with an invalid language/message type combination", sLog->outError("Player %s (GUID: %u) sent a chatmessage with an invalid language/message type combination",
GetPlayer()->GetName().c_str(), GetPlayer()->GetGUIDLow()); GetPlayer()->GetName().c_str(), GetPlayer()->GetGUIDLow());