Skip to content

Commit e877f2b

Browse files
committed
Extended Profile Start
1 parent 41869d7 commit e877f2b

5 files changed

Lines changed: 51 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
@@ -3117,6 +3117,12 @@ public class Revision20260112 : IRevision
31173117
MessageComposer.EmailStatusResultComposer
31183118
)
31193119
},
3120+
{
3121+
typeof(ExtendedProfileMessageComposer),
3122+
new ExtendedProfileMessageComposerSerializer(
3123+
MessageComposer.ExtendedProfileMessageComposer
3124+
)
3125+
},
31203126
{
31213127
typeof(ExtendedProfileChangedMessageComposer),
31223128
new ExtendedProfileChangedMessageComposerSerializer(

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
}

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

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,38 @@ internal class ExtendedProfileMessageComposerSerializer(int header)
88
{
99
protected override void Serialize(IServerPacket packet, ExtendedProfileMessageComposer message)
1010
{
11-
//
11+
packet.WriteInteger(message.UserId);
12+
packet.WriteString(message.UserName);
13+
packet.WriteString(message.Figure);
14+
packet.WriteString(message.Motto);
15+
packet.WriteString(message.CreationDate);
16+
packet.WriteInteger(message.AchievementScore);
17+
packet.WriteInteger(message.FriendCount);
18+
packet.WriteBoolean(message.IsFriend);
19+
packet.WriteBoolean(message.IsFriendRequestSent);
20+
packet.WriteBoolean(message.IsOnline);
21+
22+
// Guild count and guild data
23+
packet.WriteInteger(message.Guilds.Count);
24+
foreach (var guild in message.Guilds)
25+
{
26+
packet.WriteInteger(guild.GroupId);
27+
packet.WriteString(guild.GroupName);
28+
packet.WriteString(guild.BadgeCode);
29+
packet.WriteString(guild.PrimaryColor);
30+
packet.WriteString(guild.SecondaryColor);
31+
packet.WriteBoolean(guild.Favourite);
32+
packet.WriteInteger(guild.OwnerId);
33+
packet.WriteBoolean(guild.HasForum);
34+
}
35+
36+
packet.WriteInteger(message.LastAccessSinceInSeconds);
37+
packet.WriteBoolean(message.OpenProfileWindow);
38+
packet.WriteBoolean(message.IsHidden);
39+
packet.WriteInteger(message.AccountLevel);
40+
packet.WriteInteger(message.IntegerField24);
41+
packet.WriteInteger(message.StarGemCount);
42+
packet.WriteBoolean(message.BooleanField26);
43+
packet.WriteBoolean(message.BooleanField27);
1244
}
1345
}

0 commit comments

Comments
 (0)