Core/Chat: Fixed addon chat messages using C_ChatInfo.SendAddonMessageLogged

This commit is contained in:
hondacrx
2019-01-11 18:01:10 -05:00
parent 4cad206647
commit b7a6caf342
5 changed files with 16 additions and 16 deletions
+2 -2
View File
@@ -659,7 +659,7 @@ namespace Game.Chat
SendToAll(new ChannelSayBuilder(this, lang, what, guid), !playerInfo.IsModerator() ? guid : ObjectGuid.Empty);
}
public void AddonSay(ObjectGuid guid, string prefix, string what)
public void AddonSay(ObjectGuid guid, string prefix, string what, bool isLogged)
{
if (what.IsEmpty())
return;
@@ -681,7 +681,7 @@ namespace Game.Chat
return;
}
SendToAllWithAddon(new ChannelWhisperBuilder(this, Language.Addon, what, prefix, guid), prefix, !playerInfo.IsModerator() ? guid : ObjectGuid.Empty);
SendToAllWithAddon(new ChannelWhisperBuilder(this, isLogged ? Language.AddonLogged : Language.Addon, what, prefix, guid), prefix, !playerInfo.IsModerator() ? guid : ObjectGuid.Empty);
}
public void Invite(Player player, string newname)
@@ -151,10 +151,10 @@ namespace Game.Chat
ChatPkt packet = new ChatPkt();
Player player = Global.ObjAccessor.FindConnectedPlayer(_guid);
if (player)
packet.Initialize(ChatMsg.Channel, Language.Addon, player, player, _what, 0, _source.GetName(localeIdx), LocaleConstant.enUS, _prefix);
packet.Initialize(ChatMsg.Channel, _lang, player, player, _what, 0, _source.GetName(localeIdx), LocaleConstant.enUS, _prefix);
else
{
packet.Initialize(ChatMsg.Channel, Language.Addon, null, null, _what, 0, _source.GetName(localeIdx), LocaleConstant.enUS, _prefix);
packet.Initialize(ChatMsg.Channel, _lang, null, null, _what, 0, _source.GetName(localeIdx), LocaleConstant.enUS, _prefix);
packet.SenderGUID = _guid;
packet.TargetGUID = _guid;
}
+3 -3
View File
@@ -6391,15 +6391,15 @@ namespace Game.Entities
{
Talk(textId, ChatMsg.Emote, WorldConfig.GetFloatValue(WorldCfg.ListenRangeTextemote), target);
}
public void WhisperAddon(string text, string prefix, Player receiver)
public void WhisperAddon(string text, string prefix, bool isLogged, Player receiver)
{
Global.ScriptMgr.OnPlayerChat(this, ChatMsg.Whisper, Language.Universal, text, receiver);
Global.ScriptMgr.OnPlayerChat(this, ChatMsg.Whisper, isLogged ? Language.AddonLogged : Language.Addon, text, receiver);
if (!receiver.GetSession().IsAddonRegistered(prefix))
return;
ChatPkt data = new ChatPkt();
data.Initialize(ChatMsg.Whisper, Language.Addon, this, this, text, 0, "", LocaleConstant.enUS, prefix);
data.Initialize(ChatMsg.Whisper, isLogged ? Language.AddonLogged : Language.Addon, this, this, text, 0, "", LocaleConstant.enUS, prefix);
receiver.SendPacket(data);
}
public override void Whisper(string text, Language language, Player target = null, bool something = false)
+2 -2
View File
@@ -1406,12 +1406,12 @@ namespace Game.Guilds
}
}
public void BroadcastAddonToGuild(WorldSession session, bool officerOnly, string msg, string prefix)
public void BroadcastAddonToGuild(WorldSession session, bool officerOnly, string msg, string prefix, bool isLogged)
{
if (session != null && session.GetPlayer() != null && _HasRankRight(session.GetPlayer(), officerOnly ? GuildRankRights.OffChatSpeak : GuildRankRights.GChatSpeak))
{
ChatPkt data = new ChatPkt();
data.Initialize(officerOnly ? ChatMsg.Officer : ChatMsg.Guild, Language.Addon, session.GetPlayer(), null, msg, 0, "", LocaleConstant.enUS, prefix);
data.Initialize(officerOnly ? ChatMsg.Officer : ChatMsg.Guild, isLogged ? Language.AddonLogged : Language.Addon, session.GetPlayer(), null, msg, 0, "", LocaleConstant.enUS, prefix);
foreach (var member in m_members.Values)
{
Player player = member.FindPlayer();
+7 -7
View File
@@ -383,16 +383,16 @@ namespace Game
[WorldPacketHandler(ClientOpcodes.ChatAddonMessageTargeted)]
void HandleChatAddonMessage(ChatAddonMessage chatAddonMessage)
{
HandleChatAddon(chatAddonMessage.Params.Type, chatAddonMessage.Params.Prefix, chatAddonMessage.Params.Text);
HandleChatAddon(chatAddonMessage.Params.Type, chatAddonMessage.Params.Prefix, chatAddonMessage.Params.Text, chatAddonMessage.Params.IsLogged);
}
[WorldPacketHandler(ClientOpcodes.ChatAddonMessageTargeted)]
void HandleChatAddonMessageTargeted(ChatAddonMessageTargeted chatAddonMessageTargeted)
{
HandleChatAddon(chatAddonMessageTargeted.Params.Type, chatAddonMessageTargeted.Params.Prefix, chatAddonMessageTargeted.Params.Text, chatAddonMessageTargeted.Target);
HandleChatAddon(chatAddonMessageTargeted.Params.Type, chatAddonMessageTargeted.Params.Prefix, chatAddonMessageTargeted.Params.Text, chatAddonMessageTargeted.Params.IsLogged, chatAddonMessageTargeted.Target);
}
void HandleChatAddon(ChatMsg type, string prefix, string text, string target = "")
void HandleChatAddon(ChatMsg type, string prefix, string text, bool isLogged, string target = "")
{
Player sender = GetPlayer();
@@ -411,7 +411,7 @@ namespace Game
{
Guild guild = Global.GuildMgr.GetGuildById(sender.GetGuildId());
if (guild)
guild.BroadcastAddonToGuild(this, type == ChatMsg.Officer, text, prefix);
guild.BroadcastAddonToGuild(this, type == ChatMsg.Officer, text, prefix, isLogged);
}
break;
case ChatMsg.Whisper:
@@ -425,7 +425,7 @@ namespace Game
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"
case ChatMsg.Party:
@@ -448,14 +448,14 @@ namespace Game
}
ChatPkt data = new ChatPkt();
data.Initialize(type, Language.Addon, sender, null, text, 0, "", LocaleConstant.enUS, prefix);
data.Initialize(type, isLogged ? Language.AddonLogged : Language.Addon, sender, null, text, 0, "", LocaleConstant.enUS, prefix);
group.BroadcastAddonMessagePacket(data, prefix, true, subGroup, sender.GetGUID());
break;
}
case ChatMsg.Channel:
Channel chn = ChannelManager.GetChannelForPlayerByNamePart(target, sender);
if (chn != null)
chn.AddonSay(sender.GetGUID(), prefix, text);
chn.AddonSay(sender.GetGUID(), prefix, text, isLogged);
break;
default: