Skip to content

Commit e2178cd

Browse files
authored
Merge pull request #17 from BNETDocs/channeljoin-username
fix(chatevent): adding username to eid_channeljoin
2 parents 47cb2e9 + dc3d530 commit e2178cd

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

src/Atlasd/Battlenet/Channel.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)