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); 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()) if (what.IsEmpty())
return; return;
@@ -681,7 +681,7 @@ namespace Game.Chat
return; 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) public void Invite(Player player, string newname)
@@ -151,10 +151,10 @@ namespace Game.Chat
ChatPkt packet = new ChatPkt(); ChatPkt packet = new ChatPkt();
Player player = Global.ObjAccessor.FindConnectedPlayer(_guid); Player player = Global.ObjAccessor.FindConnectedPlayer(_guid);
if (player) 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 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.SenderGUID = _guid;
packet.TargetGUID = _guid; packet.TargetGUID = _guid;
} }
+3 -3
View File
@@ -6391,15 +6391,15 @@ namespace Game.Entities
{ {
Talk(textId, ChatMsg.Emote, WorldConfig.GetFloatValue(WorldCfg.ListenRangeTextemote), target); 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)) if (!receiver.GetSession().IsAddonRegistered(prefix))
return; return;
ChatPkt data = new ChatPkt(); 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); receiver.SendPacket(data);
} }
public override void Whisper(string text, Language language, Player target = null, bool something = false) 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)) if (session != null && session.GetPlayer() != null && _HasRankRight(session.GetPlayer(), officerOnly ? GuildRankRights.OffChatSpeak : GuildRankRights.GChatSpeak))
{ {
ChatPkt data = new ChatPkt(); 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) foreach (var member in m_members.Values)
{ {
Player player = member.FindPlayer(); Player player = member.FindPlayer();
+7 -7
View File
@@ -383,16 +383,16 @@ namespace Game
[WorldPacketHandler(ClientOpcodes.ChatAddonMessageTargeted)] [WorldPacketHandler(ClientOpcodes.ChatAddonMessageTargeted)]
void HandleChatAddonMessage(ChatAddonMessage chatAddonMessage) 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)] [WorldPacketHandler(ClientOpcodes.ChatAddonMessageTargeted)]
void HandleChatAddonMessageTargeted(ChatAddonMessageTargeted 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(); Player sender = GetPlayer();
@@ -411,7 +411,7 @@ namespace Game
{ {
Guild guild = Global.GuildMgr.GetGuildById(sender.GetGuildId()); Guild guild = Global.GuildMgr.GetGuildById(sender.GetGuildId());
if (guild) if (guild)
guild.BroadcastAddonToGuild(this, type == ChatMsg.Officer, text, prefix); guild.BroadcastAddonToGuild(this, type == ChatMsg.Officer, text, prefix, isLogged);
} }
break; break;
case ChatMsg.Whisper: case ChatMsg.Whisper:
@@ -425,7 +425,7 @@ namespace Game
if (!receiver) if (!receiver)
break; break;
sender.WhisperAddon(text, prefix, receiver); sender.WhisperAddon(text, prefix, isLogged, receiver);
break; break;
// Messages sent to "RAID" while in a party will get delivered to "PARTY" // Messages sent to "RAID" while in a party will get delivered to "PARTY"
case ChatMsg.Party: case ChatMsg.Party:
@@ -448,14 +448,14 @@ namespace Game
} }
ChatPkt data = new ChatPkt(); 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()); group.BroadcastAddonMessagePacket(data, prefix, true, subGroup, sender.GetGUID());
break; break;
} }
case ChatMsg.Channel: case ChatMsg.Channel:
Channel chn = ChannelManager.GetChannelForPlayerByNamePart(target, sender); Channel chn = ChannelManager.GetChannelForPlayerByNamePart(target, sender);
if (chn != null) if (chn != null)
chn.AddonSay(sender.GetGUID(), prefix, text); chn.AddonSay(sender.GetGUID(), prefix, text, isLogged);
break; break;
default: default: