Core/Chat: Fixed addon chat messages using C_ChatInfo.SendAddonMessageLogged
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user