Skip to content

Commit aff8e10

Browse files
authored
Merge pull request #1 from Dippys/main
Extended Profile Start
2 parents 6f18954 + e179fa9 commit aff8e10

6 files changed

Lines changed: 61 additions & 4 deletions

File tree

TurboSamplePlugin/Revision/Revision20260112/Parsers/Users/GetExtendedProfileByNameMessageParser.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,9 @@ namespace TurboSamplePlugin.Revision.Revision20260112.Parsers.Users;
66

77
internal class GetExtendedProfileByNameMessageParser : IParser
88
{
9-
public IMessageEvent Parse(IClientPacket packet) => new GetExtendedProfileByNameMessage();
9+
public IMessageEvent Parse(IClientPacket packet) =>
10+
new GetExtendedProfileByNameMessage
11+
{
12+
UserName = packet.PopString()
13+
};
1014
}
Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
using Turbo.Primitives.Messages.Incoming.Users;
22
using Turbo.Primitives.Networking;
33
using Turbo.Primitives.Packets;
4+
using Turbo.Primitives.Players;
45

56
namespace TurboSamplePlugin.Revision.Revision20260112.Parsers.Users;
67

78
internal class GetExtendedProfileMessageParser : IParser
89
{
9-
public IMessageEvent Parse(IClientPacket packet) => new GetExtendedProfileMessage();
10+
public IMessageEvent Parse(IClientPacket packet) =>
11+
new GetExtendedProfileMessage
12+
{
13+
UserId = (PlayerId)packet.PopInt()
14+
};
1015
}

TurboSamplePlugin/Revision/Revision20260112/Revision20260112.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3120,6 +3120,12 @@ public class Revision20260112 : IRevision
31203120
MessageComposer.EmailStatusResultComposer
31213121
)
31223122
},
3123+
{
3124+
typeof(ExtendedProfileMessageComposer),
3125+
new ExtendedProfileMessageComposerSerializer(
3126+
MessageComposer.ExtendedProfileMessageComposer
3127+
)
3128+
},
31233129
{
31243130
typeof(ExtendedProfileChangedMessageComposer),
31253131
new ExtendedProfileChangedMessageComposerSerializer(
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
using Turbo.Primitives.Messages.Outgoing.Users;
2+
using Turbo.Primitives.Packets;
3+
4+
namespace TurboSamplePlugin.Revision.Revision20260112.Serializers.Users.Data;
5+
6+
internal class GuildInfoSerializer
7+
{
8+
public static void Serialize(IServerPacket packet, GuildInfo guild)
9+
{
10+
packet.WriteInteger(guild.GroupId);
11+
packet.WriteString(guild.GroupName);
12+
packet.WriteString(guild.BadgeCode);
13+
packet.WriteString(guild.PrimaryColor);
14+
packet.WriteString(guild.SecondaryColor);
15+
packet.WriteBoolean(guild.Favourite);
16+
packet.WriteInteger(guild.OwnerId);
17+
packet.WriteBoolean(guild.HasForum);
18+
}
19+
}

TurboSamplePlugin/Revision/Revision20260112/Serializers/Users/ExtendedProfileChangedMessageComposerSerializer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@ protected override void Serialize(
1111
ExtendedProfileChangedMessageComposer message
1212
)
1313
{
14-
//
14+
packet.WriteInteger(message.UserId);
1515
}
1616
}
Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using Turbo.Primitives.Messages.Outgoing.Users;
22
using Turbo.Primitives.Packets;
3+
using TurboSamplePlugin.Revision.Revision20260112.Serializers.Users.Data;
34

45
namespace TurboSamplePlugin.Revision.Revision20260112.Serializers.Users;
56

@@ -8,6 +9,28 @@ internal class ExtendedProfileMessageComposerSerializer(int header)
89
{
910
protected override void Serialize(IServerPacket packet, ExtendedProfileMessageComposer message)
1011
{
11-
//
12+
packet.WriteInteger(message.UserId);
13+
packet.WriteString(message.UserName);
14+
packet.WriteString(message.Figure);
15+
packet.WriteString(message.Motto);
16+
packet.WriteString(message.CreationDate);
17+
packet.WriteInteger(message.AchievementScore);
18+
packet.WriteInteger(message.FriendCount);
19+
packet.WriteBoolean(message.IsFriend);
20+
packet.WriteBoolean(message.IsFriendRequestSent);
21+
packet.WriteBoolean(message.IsOnline);
22+
23+
packet.WriteInteger(message.Guilds.Count);
24+
foreach (var guild in message.Guilds)
25+
GuildInfoSerializer.Serialize(packet, guild);
26+
27+
packet.WriteInteger(message.LastAccessSinceInSeconds);
28+
packet.WriteBoolean(message.OpenProfileWindow);
29+
packet.WriteBoolean(message.IsHidden);
30+
packet.WriteInteger(message.AccountLevel);
31+
packet.WriteInteger(message.IntegerField24);
32+
packet.WriteInteger(message.StarGemCount);
33+
packet.WriteBoolean(message.BooleanField26);
34+
packet.WriteBoolean(message.BooleanField27);
1235
}
1336
}

0 commit comments

Comments
 (0)