From 917d85abd3bd244fd4f11bd9d84ca339a53dcf4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Boh=C3=A1=C4=8Dek?= Date: Sun, 15 Jan 2023 12:15:45 +0100 Subject: [PATCH] fix(packets): correctly parse family --- Core/NosSmooth.Game/Data/Social/Family.cs | 2 +- .../PacketHandlers/Characters/CharacterInitResponder.cs | 7 ++++--- Packets/NosSmooth.Packets/Server/Character/CInfoPacket.cs | 8 +++++--- .../NosSmooth.Packets/Server/Character/FamilySubPacket.cs | 2 +- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/Core/NosSmooth.Game/Data/Social/Family.cs b/Core/NosSmooth.Game/Data/Social/Family.cs index cf643c4dc6b8f203ae40b714f23ea832850f8abc..1189dab0ba3592a77870ba72f6179c656da362b9 100644 --- a/Core/NosSmooth.Game/Data/Social/Family.cs +++ b/Core/NosSmooth.Game/Data/Social/Family.cs @@ -16,7 +16,7 @@ namespace NosSmooth.Game.Data.Social; /// What icons the family has activated. public record Family ( - string? Id, + long? Id, short? Title, string? Name, byte? Level, diff --git a/Core/NosSmooth.Game/PacketHandlers/Characters/CharacterInitResponder.cs b/Core/NosSmooth.Game/PacketHandlers/Characters/CharacterInitResponder.cs index 3f63ad3017843ff4a9912b7e71b5e55f05427dd0..5caa2585b2257c768a7488d5d20b7a314133318d 100644 --- a/Core/NosSmooth.Game/PacketHandlers/Characters/CharacterInitResponder.cs +++ b/Core/NosSmooth.Game/PacketHandlers/Characters/CharacterInitResponder.cs @@ -93,15 +93,16 @@ public class CharacterInitResponder : IPacketResponder, IPacketResp ( () => new Family ( - packet.FamilyId, - null, + packet.FamilySubPacket.Value?.FamilyId, + packet.FamilySubPacket.Value?.Title, packet.FamilyName, packet.FamilyLevel, null ), f => f with { - Id = packet.FamilyId, + Id = packet.FamilySubPacket.Value?.FamilyId, + Title = packet.FamilySubPacket.Value?.Title, Name = packet.FamilyName, Level = packet.FamilyLevel }, diff --git a/Packets/NosSmooth.Packets/Server/Character/CInfoPacket.cs b/Packets/NosSmooth.Packets/Server/Character/CInfoPacket.cs index 63fa10cbb9e99f7dc76e7f51fae8db30e6788a64..ced2f505585c26c5cd2e2f96ccfa4fa41d7ed223 100644 --- a/Packets/NosSmooth.Packets/Server/Character/CInfoPacket.cs +++ b/Packets/NosSmooth.Packets/Server/Character/CInfoPacket.cs @@ -5,7 +5,9 @@ // Licensed under the MIT license. See LICENSE file in the project root for full license information. using NosSmooth.Packets.Enums.Players; +using NosSmooth.PacketSerializer.Abstractions; using NosSmooth.PacketSerializer.Abstractions.Attributes; +using NosSmooth.PacketSerializer.Abstractions.Common; namespace NosSmooth.Packets.Server.Character; @@ -43,10 +45,10 @@ public record CInfoPacket string? Unknown, [PacketIndex(2)] short? GroupId, - [PacketIndex(3)] - string? FamilyId, + [PacketIndex(3, InnerSeparator = '.')] + NullableWrapper FamilySubPacket, [PacketIndex(4)] - string? FamilyName, + NameString FamilyName, [PacketIndex(5)] long CharacterId, [PacketIndex(6)] diff --git a/Packets/NosSmooth.Packets/Server/Character/FamilySubPacket.cs b/Packets/NosSmooth.Packets/Server/Character/FamilySubPacket.cs index 8953556a0a24ad3d53f7e1da578a911580f7af9d..b988ca3c32b748daa3a5430d7e66b0f0806df2ed 100644 --- a/Packets/NosSmooth.Packets/Server/Character/FamilySubPacket.cs +++ b/Packets/NosSmooth.Packets/Server/Character/FamilySubPacket.cs @@ -18,7 +18,7 @@ namespace NosSmooth.Packets.Server.Character; public record FamilySubPacket ( [PacketIndex(0)] - string FamilyId, + long FamilyId, [PacketIndex(1)] short Title ) : IPacket; \ No newline at end of file