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

View File

@@ -136,31 +136,50 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket & recvData)
case CHAT_MSG_RAID:
case CHAT_MSG_GUILD:
case CHAT_MSG_BATTLEGROUND:
case CHAT_MSG_WHISPER:
// check if addon messages are disabled
if (!sWorld->getBoolConfig(CONFIG_ADDON_CHANNEL))
{
recvData.rfinish();
return;
}
// 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 (sWorld->getBoolConfig(CONFIG_CHATLOG_ADDON))
{
std::string msg;
recvData >> msg;
if (msg.empty())
return;
sScriptMgr->OnPlayerChat(sender, type, lang, msg, receiver);
sScriptMgr->OnPlayerChat(sender, type, lang, msg);
#ifdef ELUNA
if (!sEluna->OnChat(sender, type, lang, msg, receiver))
if (!sEluna->OnChat(sender, type, lang, msg))
return;
#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:
sLog->outError("Player %s (GUID: %u) sent a chatmessage with an invalid language/message type combination",
GetPlayer()->GetName().c_str(), GetPlayer()->GetGUIDLow());