@@ -946,6 +946,12 @@ public void WriteChatEvent(ChatEvent chatEvent, GameState owner = null)
946946 continue ;
947947 }
948948
949+ if ( ChatEvent . EventIdIsChatMessage ( chatEvent . EventId ) && RenderChannelFlags ( owner , user ) . HasFlag ( Account . Flags . Squelched ) )
950+ {
951+ // "user" has decided to squelch messages from "owner"
952+ continue ;
953+ }
954+
949955 msg . Invoke ( new MessageContext ( user . Client , Protocols . MessageDirection . ServerToClient , args ) ) ;
950956 user . Client . Send ( msg . ToByteArray ( user . Client . ProtocolType ) ) ;
951957 }
@@ -972,9 +978,16 @@ public void WriteChatMessage(GameState owner, byte[] message, bool emote = false
972978 continue ;
973979 }
974980
975- var e = new ChatEvent ( emote ? ChatEvent . EventIds . EID_EMOTE : ChatEvent . EventIds . EID_TALK , RenderChannelFlags ( user , owner ) , owner . Ping , RenderOnlineName ( user , owner ) , message ) ;
981+ var flags = RenderChannelFlags ( user , owner ) ;
982+ if ( flags . HasFlag ( Account . Flags . Squelched ) )
983+ {
984+ // "user" has decided to squelch messages from "owner"
985+ continue ;
986+ }
987+
988+ var chatEvent = new ChatEvent ( emote ? ChatEvent . EventIds . EID_EMOTE : ChatEvent . EventIds . EID_TALK , flags , owner . Ping , RenderOnlineName ( user , owner ) , message ) ;
976989
977- msg . Invoke ( new MessageContext ( user . Client , Protocols . MessageDirection . ServerToClient , new Dictionary < string , dynamic > ( ) { { "chatEvent" , e } } ) ) ;
990+ msg . Invoke ( new MessageContext ( user . Client , Protocols . MessageDirection . ServerToClient , new Dictionary < string , dynamic > ( ) { { "chatEvent" , chatEvent } } ) ) ;
978991 user . Client . Send ( msg . ToByteArray ( user . Client . ProtocolType ) ) ;
979992 }
980993 }
0 commit comments