mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-24 19:06:49 +01:00
Core/Chat: Fixed addon chat messages using C_ChatInfo.SendAddonMessageLogged
Closes #22926
This commit is contained in:
@@ -413,15 +413,16 @@ void WorldSession::HandleChatMessage(ChatMsg type, uint32 lang, std::string msg,
|
||||
|
||||
void WorldSession::HandleChatAddonMessageOpcode(WorldPackets::Chat::ChatAddonMessage& chatAddonMessage)
|
||||
{
|
||||
HandleChatAddonMessage(chatAddonMessage.Params.Type, chatAddonMessage.Params.Prefix, chatAddonMessage.Params.Text);
|
||||
HandleChatAddonMessage(chatAddonMessage.Params.Type, chatAddonMessage.Params.Prefix, chatAddonMessage.Params.Text, chatAddonMessage.Params.IsLogged);
|
||||
}
|
||||
|
||||
void WorldSession::HandleChatAddonMessageTargetedOpcode(WorldPackets::Chat::ChatAddonMessageTargeted& chatAddonMessageTargeted)
|
||||
{
|
||||
HandleChatAddonMessage(chatAddonMessageTargeted.Params.Type, chatAddonMessageTargeted.Params.Prefix, chatAddonMessageTargeted.Params.Text, chatAddonMessageTargeted.Target);
|
||||
HandleChatAddonMessage(chatAddonMessageTargeted.Params.Type, chatAddonMessageTargeted.Params.Prefix, chatAddonMessageTargeted.Params.Text,
|
||||
chatAddonMessageTargeted.Params.IsLogged, chatAddonMessageTargeted.Target);
|
||||
}
|
||||
|
||||
void WorldSession::HandleChatAddonMessage(ChatMsg type, std::string prefix, std::string text, std::string target /*= ""*/)
|
||||
void WorldSession::HandleChatAddonMessage(ChatMsg type, std::string prefix, std::string text, bool isLogged, std::string target /*= ""*/)
|
||||
{
|
||||
Player* sender = GetPlayer();
|
||||
|
||||
@@ -439,7 +440,7 @@ void WorldSession::HandleChatAddonMessage(ChatMsg type, std::string prefix, std:
|
||||
{
|
||||
if (sender->GetGuildId())
|
||||
if (Guild* guild = sGuildMgr->GetGuildById(sender->GetGuildId()))
|
||||
guild->BroadcastAddonToGuild(this, type == CHAT_MSG_OFFICER, text, prefix);
|
||||
guild->BroadcastAddonToGuild(this, type == CHAT_MSG_OFFICER, text, prefix, isLogged);
|
||||
break;
|
||||
}
|
||||
case CHAT_MSG_WHISPER:
|
||||
@@ -454,7 +455,7 @@ void WorldSession::HandleChatAddonMessage(ChatMsg type, std::string prefix, std:
|
||||
if (!receiver)
|
||||
break;
|
||||
|
||||
sender->WhisperAddon(text, prefix, receiver);
|
||||
sender->WhisperAddon(text, prefix, isLogged, receiver);
|
||||
break;
|
||||
}
|
||||
// Messages sent to "RAID" while in a party will get delivered to "PARTY"
|
||||
@@ -478,14 +479,14 @@ void WorldSession::HandleChatAddonMessage(ChatMsg type, std::string prefix, std:
|
||||
}
|
||||
|
||||
WorldPackets::Chat::Chat packet;
|
||||
packet.Initialize(type, LANG_ADDON, sender, nullptr, text, 0, "", DEFAULT_LOCALE, prefix);
|
||||
packet.Initialize(type, isLogged ? LANG_ADDON_LOGGED : LANG_ADDON, sender, nullptr, text, 0, "", DEFAULT_LOCALE, prefix);
|
||||
group->BroadcastAddonMessagePacket(packet.Write(), prefix, true, subGroup, sender->GetGUID());
|
||||
break;
|
||||
}
|
||||
case CHAT_MSG_CHANNEL:
|
||||
{
|
||||
if (Channel* chn = ChannelMgr::GetChannelForPlayerByNamePart(target, sender))
|
||||
chn->AddonSay(sender->GetGUID(), prefix, text.c_str());
|
||||
chn->AddonSay(sender->GetGUID(), prefix, text.c_str(), isLogged);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user