@@ -124,7 +124,7 @@ public bool AcceptUser(GameState user, bool ignoreLimits = false, bool extendedE
124124 Users . Add ( user ) ;
125125
126126 // Tell this user they entered the channel:
127- new ChatEvent ( ChatEvent . EventIds . EID_CHANNELJOIN , ActiveFlags , 0 , "" , Name ) . WriteTo ( user . Client ) ;
127+ new ChatEvent ( ChatEvent . EventIds . EID_CHANNELJOIN , ActiveFlags , 0 , RenderOnlineName ( user , user ) , Name ) . WriteTo ( user . Client ) ;
128128
129129 if ( ! ActiveFlags . HasFlag ( Flags . Silent ) )
130130 {
@@ -673,6 +673,12 @@ public static string RenderOnlineName(GameState context, GameState target)
673673 targetName = $ "{ Encoding . UTF8 . GetString ( target . CharacterName ) } *{ targetName } ";
674674 }
675675
676+ // Add Warcraft III internal identifier:
677+ if ( context == target && Product . IsWarcraftIII ( context . Product ) )
678+ {
679+ targetName = $ "w#{ targetName } ";
680+ }
681+
676682 // TODO: Suffix "#{gateway}" or "@{gateway}" name, such as: JoeUser#Azeroth
677683
678684 return targetName ;
@@ -707,7 +713,7 @@ public bool Resync()
707713 foreach ( var user in Users )
708714 {
709715 // Tell users they re-entered the channel:
710- args [ "chatEvent" ] = new ChatEvent ( ChatEvent . EventIds . EID_CHANNELJOIN , ActiveFlags , 0 , "" , Name ) ;
716+ args [ "chatEvent" ] = new ChatEvent ( ChatEvent . EventIds . EID_CHANNELJOIN , ActiveFlags , 0 , RenderOnlineName ( user , user ) , Name ) ;
711717 msg . Invoke ( new MessageContext ( user . Client , Protocols . MessageDirection . ServerToClient , args ) ) ;
712718 user . Client . Send ( msg . ToByteArray ( user . Client . ProtocolType ) ) ;
713719
0 commit comments