Core/ChatHandler: Update Addon message read fix (#811)
This commit is contained in:
@@ -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());
|
||||||
|
|||||||
Reference in New Issue
Block a user