From cfd1fd7bf38e6996ce54a6e145b31212819e07a7 Mon Sep 17 00:00:00 2001 From: Rutherther Date: Thu, 3 Feb 2022 18:45:21 +0100 Subject: [PATCH] feat(packets): add entities and maps packets --- Packets/NosSmooth.Packets/Enums/PortalType.cs | 31 +++++++++ .../Server/Battle/BsPacket.cs | 63 ++++++++++++++++++ .../Server/Battle/SuPacket.cs | 64 +++++++++++++++++++ .../Server/Entities/CondPacket.cs | 34 ++++++++++ .../Server/Entities/EqPacket.cs | 52 +++++++++++++++ .../Server/Entities/StPacket.cs | 4 +- .../NosSmooth.Packets/Server/Maps/AtPacket.cs | 30 +++++++++ .../Server/Maps/CMapPacket.cs | 2 +- .../Server/Maps/DropPacket.cs | 42 ++++++++++++ .../InEquipmentSubPacket.cs | 18 +++--- .../{Entities => Maps}/InItemSubPacket.cs | 4 +- .../InNonPlayerSubPacket.cs | 2 +- .../Server/{Entities => Maps}/InPacket.cs | 4 +- .../{Entities => Maps}/InPlayerSubPacket.cs | 4 +- .../Server/Maps/OutPacket.cs | 25 ++++++++ .../Server/Portals/GpPacket.cs | 28 ++++++++ .../Server/Skills/SkiPacket.cs | 4 +- .../Server/Skills/SkiSubPacket.cs | 2 +- .../Server/Skills/SrPacket.cs | 2 +- 19 files changed, 392 insertions(+), 23 deletions(-) create mode 100644 Packets/NosSmooth.Packets/Enums/PortalType.cs create mode 100644 Packets/NosSmooth.Packets/Server/Battle/BsPacket.cs create mode 100644 Packets/NosSmooth.Packets/Server/Battle/SuPacket.cs create mode 100644 Packets/NosSmooth.Packets/Server/Entities/CondPacket.cs create mode 100644 Packets/NosSmooth.Packets/Server/Entities/EqPacket.cs create mode 100644 Packets/NosSmooth.Packets/Server/Maps/AtPacket.cs create mode 100644 Packets/NosSmooth.Packets/Server/Maps/DropPacket.cs rename Packets/NosSmooth.Packets/Server/{Entities => Maps}/InEquipmentSubPacket.cs (86%) rename Packets/NosSmooth.Packets/Server/{Entities => Maps}/InItemSubPacket.cs (92%) rename Packets/NosSmooth.Packets/Server/{Entities => Maps}/InNonPlayerSubPacket.cs (98%) rename Packets/NosSmooth.Packets/Server/{Entities => Maps}/InPacket.cs (97%) rename Packets/NosSmooth.Packets/Server/{Entities => Maps}/InPlayerSubPacket.cs (98%) create mode 100644 Packets/NosSmooth.Packets/Server/Maps/OutPacket.cs create mode 100644 Packets/NosSmooth.Packets/Server/Portals/GpPacket.cs diff --git a/Packets/NosSmooth.Packets/Enums/PortalType.cs b/Packets/NosSmooth.Packets/Enums/PortalType.cs new file mode 100644 index 0000000..32bb02a --- /dev/null +++ b/Packets/NosSmooth.Packets/Enums/PortalType.cs @@ -0,0 +1,31 @@ +// +// PortalType.cs +// +// Copyright (c) František Boháček. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.Diagnostics.CodeAnalysis; + +#pragma warning disable CS1591 +namespace NosSmooth.Packets.Enums; + +[SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1600", MessageId = "Elements should be documented", Justification = "Should be self-explanatory.")] +[SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1602", MessageId = "Enumeration items should be documented", Justification = "Should be self-explanatory.")] +public enum PortalType +{ + MapPortal = -1, + TsNormal = 0, // same over >127 - sbyte + Closed = 1, + Open = 2, + Miniland = 3, + TsEnd = 4, + TsEndClosed = 5, + Exit = 6, + ExitClosed = 7, + Raid = 8, + Effect = 9, // same as 13 - 19 and 20 - 126 + BlueRaid = 10, + DarkRaid = 11, + TimeSpace = 12, + ShopTeleport = 20 +} \ No newline at end of file diff --git a/Packets/NosSmooth.Packets/Server/Battle/BsPacket.cs b/Packets/NosSmooth.Packets/Server/Battle/BsPacket.cs new file mode 100644 index 0000000..b550e34 --- /dev/null +++ b/Packets/NosSmooth.Packets/Server/Battle/BsPacket.cs @@ -0,0 +1,63 @@ +// +// BsPacket.cs +// +// Copyright (c) František Boháček. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using NosSmooth.Packets.Enums; +using NosSmooth.PacketSerializer.Abstractions.Attributes; + +namespace NosSmooth.Packets.Server.Battle; + +/// +/// An AoE skill used packet. +/// +/// The caster entity type. +/// The caster entity id. +/// The x coordinate of the skill. +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +[PacketHeader("bs", PacketSource.Server)] +[GenerateSerializer(true)] +public record BsPacket +( + [PacketIndex(0)] + EntityType CasterEntityType, + [PacketIndex(1)] + long CasterEntityId, + [PacketIndex(2)] + short X, + [PacketIndex(3)] + short Y, + [PacketIndex(4)] + int SkillVNum, + [PacketIndex(5)] + short Cooldown, + [PacketIndex(6)] + long AttackAnimationId, + [PacketIndex(7)] + long EffectId, + [PacketIndex(8)] + int Unknown1, + [PacketIndex(9)] + int Unknown2, + [PacketIndex(10)] + int Unknown3, + [PacketIndex(11)] + int Unknown4, + [PacketIndex(12)] + int Unknown5, + [PacketIndex(13)] + int Unknown6, + [PacketIndex(14)] + int Unknown7 +) : IPacket; \ No newline at end of file diff --git a/Packets/NosSmooth.Packets/Server/Battle/SuPacket.cs b/Packets/NosSmooth.Packets/Server/Battle/SuPacket.cs new file mode 100644 index 0000000..6cad3c7 --- /dev/null +++ b/Packets/NosSmooth.Packets/Server/Battle/SuPacket.cs @@ -0,0 +1,64 @@ +// +// SuPacket.cs +// +// Copyright (c) František Boháček. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using NosSmooth.Packets.Enums; +using NosSmooth.Packets.Enums.Battle; +using NosSmooth.PacketSerializer.Abstractions.Attributes; + +namespace NosSmooth.Packets.Server.Battle; + +/// +/// Represents skill used. +/// +/// The type of the caster entity. +/// The entity id of the caster. +/// The type of the target entity. +/// The entity id of the target. +/// The VNum of the used skill. +/// The cooldown of the skill. +/// The number of the attack animation. +/// The number of the skill effect. +/// The x position where the skill target is. +/// The y position where the skill target is. +/// Whether the target of the skill is alive. +/// The damage the entity has taken. +/// The hit mode. +/// The skill type of the skill. +[PacketHeader("su", PacketSource.Server)] +[GenerateSerializer(true)] +public record SuPacket +( + [PacketIndex(0)] + EntityType CasterEntityType, + [PacketIndex(1)] + long CasterEntityId, + [PacketIndex(2)] + EntityType TargetEntityType, + [PacketIndex(3)] + long TargetEntityId, + [PacketIndex(4)] + int SkillVNum, + [PacketIndex(5)] + long SkillCooldown, + [PacketIndex(6)] + long AttackAnimation, + [PacketIndex(7)] + long SkillEffect, + [PacketIndex(8)] + long PositionX, + [PacketIndex(9)] + long PositionY, + [PacketIndex(10)] + bool TargetIsAlive, + [PacketIndex(11)] + byte HpPercentage, + [PacketIndex(12)] + uint Damage, + [PacketIndex(13)] + HitMode? HitMode, + [PacketIndex(14)] + int SkillTypeMinusOne +) : IPacket; diff --git a/Packets/NosSmooth.Packets/Server/Entities/CondPacket.cs b/Packets/NosSmooth.Packets/Server/Entities/CondPacket.cs new file mode 100644 index 0000000..1b93dc9 --- /dev/null +++ b/Packets/NosSmooth.Packets/Server/Entities/CondPacket.cs @@ -0,0 +1,34 @@ +// +// CondPacket.cs +// +// Copyright (c) František Boháček. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using NosSmooth.Packets.Enums; +using NosSmooth.PacketSerializer.Abstractions.Attributes; + +namespace NosSmooth.Packets.Server.Entities; + +/// +/// Cond packet is sent when the player is moving or when attacking an entity. +/// +/// The type of the entity. +/// The id of the entity. +/// Whether the entity cant attack. +/// Whether the entity cant move. +/// The speed of the entity. +[PacketHeader("cond", PacketSource.Server)] +[GenerateSerializer(true)] +public record CondPacket +( + [PacketIndex(0)] + EntityType EntityType, + [PacketIndex(1)] + long EntityId, + [PacketIndex(2)] + bool CantAttack, + [PacketIndex(3)] + bool CantMove, + [PacketIndex(4)] + int Speed +) : IPacket; \ No newline at end of file diff --git a/Packets/NosSmooth.Packets/Server/Entities/EqPacket.cs b/Packets/NosSmooth.Packets/Server/Entities/EqPacket.cs new file mode 100644 index 0000000..d9ebaa5 --- /dev/null +++ b/Packets/NosSmooth.Packets/Server/Entities/EqPacket.cs @@ -0,0 +1,52 @@ +// +// EqPacket.cs +// +// Copyright (c) František Boháček. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using NosSmooth.Packets.Enums; +using NosSmooth.Packets.Enums.Players; +using NosSmooth.Packets.Server.Maps; +using NosSmooth.Packets.Server.Weapons; +using NosSmooth.PacketSerializer.Abstractions.Attributes; + +namespace NosSmooth.Packets.Server.Entities; + +/// +/// Player +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +/// +[PacketHeader("eq", PacketSource.Server)] +[GenerateSerializer(true)] +public record EqPacket +( + [PacketIndex(0)] + long CharacterId, + [PacketIndex(1)] + AuthorityType AuthorityType, + [PacketIndex(2)] + SexType Sex, + [PacketIndex(3)] + HairStyle HairStyle, + [PacketIndex(4)] + HairColor HairColor, + [PacketIndex(5)] + PlayerClass Class, + [PacketIndex(6)] + InEquipmentSubPacket EquipmentSubPacket, + [PacketIndex(7)] + UpgradeRareSubPacket? WeaponUpgradeRareSubPacket, + [PacketIndex(8)] + UpgradeRareSubPacket? ArmorUpgradeRareSubPacket, + [PacketIndex(9)] + byte Size +) : IPacket; \ No newline at end of file diff --git a/Packets/NosSmooth.Packets/Server/Entities/StPacket.cs b/Packets/NosSmooth.Packets/Server/Entities/StPacket.cs index 620cd7c..8ac2906 100644 --- a/Packets/NosSmooth.Packets/Server/Entities/StPacket.cs +++ b/Packets/NosSmooth.Packets/Server/Entities/StPacket.cs @@ -34,9 +34,9 @@ public record StPacket [PacketIndex(3)] byte HeroLevel, [PacketIndex(4)] - short HpPercentage, + byte HpPercentage, [PacketIndex(5)] - short MpPercentage, + byte MpPercentage, [PacketIndex(6)] long Hp, [PacketIndex(7)] diff --git a/Packets/NosSmooth.Packets/Server/Maps/AtPacket.cs b/Packets/NosSmooth.Packets/Server/Maps/AtPacket.cs new file mode 100644 index 0000000..4967bba --- /dev/null +++ b/Packets/NosSmooth.Packets/Server/Maps/AtPacket.cs @@ -0,0 +1,30 @@ +// +// AtPacket.cs +// +// Copyright (c) František Boháček. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using NosSmooth.PacketSerializer.Abstractions.Attributes; + +namespace NosSmooth.Packets.Server.Maps; + +/// +/// At packet. Sent when unknown TODO. +/// +/// The id of the character. +/// The map id. +/// The x coordinate of the character. +/// The y coordinate of the character. +[PacketHeader("at", PacketSource.Server)] +[GenerateSerializer(true)] +public record AtPacket +( + [PacketIndex(0)] + long CharacterId, + [PacketIndex(1)] + int MapId, + [PacketIndex(2)] + short X, + [PacketIndex(3)] + short Y +) : IPacket; \ No newline at end of file diff --git a/Packets/NosSmooth.Packets/Server/Maps/CMapPacket.cs b/Packets/NosSmooth.Packets/Server/Maps/CMapPacket.cs index 3913b06..9e28fa2 100644 --- a/Packets/NosSmooth.Packets/Server/Maps/CMapPacket.cs +++ b/Packets/NosSmooth.Packets/Server/Maps/CMapPacket.cs @@ -21,7 +21,7 @@ public record CMapPacket [PacketIndex(0)] byte Type, [PacketIndex(1)] - short Id, + int Id, [PacketIndex(2)] bool IsBaseType ) : IPacket; \ No newline at end of file diff --git a/Packets/NosSmooth.Packets/Server/Maps/DropPacket.cs b/Packets/NosSmooth.Packets/Server/Maps/DropPacket.cs new file mode 100644 index 0000000..9a144d9 --- /dev/null +++ b/Packets/NosSmooth.Packets/Server/Maps/DropPacket.cs @@ -0,0 +1,42 @@ +// +// DropPacket.cs +// +// Copyright (c) František Boháček. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using NosSmooth.PacketSerializer.Abstractions.Attributes; + +namespace NosSmooth.Packets.Server.Maps; + +/// +/// An item drop packet. +/// +/// The item vnum identifier. +/// The drop id. +/// The map x. +/// The map y. +/// The amount of the items on the ground. +/// Whether the item is a quest related item. +/// UNKNOWN. Seems to be always 0. +/// UNKNOWN. Seems to be always -1. +[PacketHeader("drop", PacketSource.Server)] +[GenerateSerializer(true)] +public record DropPacket +( + [PacketIndex(0)] + int ItemVNum, + [PacketIndex(1)] + long DropId, + [PacketIndex(2)] + short X, + [PacketIndex(3)] + short Y, + [PacketIndex(4)] + short Amount, + [PacketIndex(5)] + bool IsQuestRelated, + [PacketIndex(6)] + byte Mode, + [PacketIndex(7)] + byte Parameter +) : IPacket; \ No newline at end of file diff --git a/Packets/NosSmooth.Packets/Server/Entities/InEquipmentSubPacket.cs b/Packets/NosSmooth.Packets/Server/Maps/InEquipmentSubPacket.cs similarity index 86% rename from Packets/NosSmooth.Packets/Server/Entities/InEquipmentSubPacket.cs rename to Packets/NosSmooth.Packets/Server/Maps/InEquipmentSubPacket.cs index a5f3608..73f28e9 100644 --- a/Packets/NosSmooth.Packets/Server/Entities/InEquipmentSubPacket.cs +++ b/Packets/NosSmooth.Packets/Server/Maps/InEquipmentSubPacket.cs @@ -6,7 +6,7 @@ using NosSmooth.PacketSerializer.Abstractions.Attributes; -namespace NosSmooth.Packets.Server.Entities; +namespace NosSmooth.Packets.Server.Maps; /// /// Sub packet of present if the in packet @@ -28,21 +28,21 @@ namespace NosSmooth.Packets.Server.Entities; public record InEquipmentSubPacket ( [PacketIndex(0)] - long? HatVNum, + int? HatVNum, [PacketIndex(1)] - long? ArmorVNum, + int? ArmorVNum, [PacketIndex(2)] - long? MainWeaponVNum, + int? MainWeaponVNum, [PacketIndex(3)] - long? SecondaryWeaponVNum, + int? SecondaryWeaponVNum, [PacketIndex(4)] - long? MaskVNum, + int? MaskVNum, [PacketIndex(5)] - long? Fairy, + int? FairyVNum, [PacketIndex(6)] - long? CostumeSuitVNum, + int? CostumeSuitVNum, [PacketIndex(7)] - long? CostumeHatVNum, + int? CostumeHatVNum, [PacketIndex(8)] short? WeaponSkin, [PacketIndex(9)] diff --git a/Packets/NosSmooth.Packets/Server/Entities/InItemSubPacket.cs b/Packets/NosSmooth.Packets/Server/Maps/InItemSubPacket.cs similarity index 92% rename from Packets/NosSmooth.Packets/Server/Entities/InItemSubPacket.cs rename to Packets/NosSmooth.Packets/Server/Maps/InItemSubPacket.cs index 287c2df..be94eea 100644 --- a/Packets/NosSmooth.Packets/Server/Entities/InItemSubPacket.cs +++ b/Packets/NosSmooth.Packets/Server/Maps/InItemSubPacket.cs @@ -6,7 +6,7 @@ using NosSmooth.PacketSerializer.Abstractions.Attributes; -namespace NosSmooth.Packets.Server.Entities; +namespace NosSmooth.Packets.Server.Maps; /// /// Sub packet of present if the in packet @@ -20,7 +20,7 @@ namespace NosSmooth.Packets.Server.Entities; public record InItemSubPacket ( [PacketIndex(0)] - long Amount, + int Amount, [PacketIndex(1)] bool IsQuestRelative, [PacketIndex(2)] diff --git a/Packets/NosSmooth.Packets/Server/Entities/InNonPlayerSubPacket.cs b/Packets/NosSmooth.Packets/Server/Maps/InNonPlayerSubPacket.cs similarity index 98% rename from Packets/NosSmooth.Packets/Server/Entities/InNonPlayerSubPacket.cs rename to Packets/NosSmooth.Packets/Server/Maps/InNonPlayerSubPacket.cs index 16b73be..3c33b23 100644 --- a/Packets/NosSmooth.Packets/Server/Entities/InNonPlayerSubPacket.cs +++ b/Packets/NosSmooth.Packets/Server/Maps/InNonPlayerSubPacket.cs @@ -9,7 +9,7 @@ using NosSmooth.Packets.Enums.Entities; using NosSmooth.PacketSerializer.Abstractions.Attributes; using NosSmooth.PacketSerializer.Abstractions.Common; -namespace NosSmooth.Packets.Server.Entities; +namespace NosSmooth.Packets.Server.Maps; /// /// Sub packet of present if the in packet diff --git a/Packets/NosSmooth.Packets/Server/Entities/InPacket.cs b/Packets/NosSmooth.Packets/Server/Maps/InPacket.cs similarity index 97% rename from Packets/NosSmooth.Packets/Server/Entities/InPacket.cs rename to Packets/NosSmooth.Packets/Server/Maps/InPacket.cs index 87e6f9e..3855a5a 100644 --- a/Packets/NosSmooth.Packets/Server/Entities/InPacket.cs +++ b/Packets/NosSmooth.Packets/Server/Maps/InPacket.cs @@ -8,7 +8,7 @@ using NosSmooth.Packets.Enums; using NosSmooth.PacketSerializer.Abstractions.Attributes; using NosSmooth.PacketSerializer.Abstractions.Common; -namespace NosSmooth.Packets.Server.Entities; +namespace NosSmooth.Packets.Server.Maps; /// /// There is a new entity on the map present. @@ -33,7 +33,7 @@ public record InPacket [PacketConditionalIndex(1, "EntityType", false, EntityType.Player)] NameString? Name, [PacketConditionalIndex(2, "EntityType", true, EntityType.Player)] - long? VNum, + int? VNum, [PacketConditionalIndex(3, "EntityType", false, EntityType.Player)] string? Unknown, [PacketIndex(4)] diff --git a/Packets/NosSmooth.Packets/Server/Entities/InPlayerSubPacket.cs b/Packets/NosSmooth.Packets/Server/Maps/InPlayerSubPacket.cs similarity index 98% rename from Packets/NosSmooth.Packets/Server/Entities/InPlayerSubPacket.cs rename to Packets/NosSmooth.Packets/Server/Maps/InPlayerSubPacket.cs index 319b255..2bbd72b 100644 --- a/Packets/NosSmooth.Packets/Server/Entities/InPlayerSubPacket.cs +++ b/Packets/NosSmooth.Packets/Server/Maps/InPlayerSubPacket.cs @@ -10,7 +10,7 @@ using NosSmooth.Packets.Server.Players; using NosSmooth.Packets.Server.Weapons; using NosSmooth.PacketSerializer.Abstractions.Attributes; -namespace NosSmooth.Packets.Server.Entities; +namespace NosSmooth.Packets.Server.Maps; /// /// Sub packet for @@ -94,7 +94,7 @@ public record InPlayerSubPacket [PacketIndex(19)] string? FamilyName, [PacketIndex(20)] - string ReputationIcon, + byte ReputationIcon, [PacketIndex(21)] bool IsInvisible, [PacketIndex(22)] diff --git a/Packets/NosSmooth.Packets/Server/Maps/OutPacket.cs b/Packets/NosSmooth.Packets/Server/Maps/OutPacket.cs new file mode 100644 index 0000000..2d16043 --- /dev/null +++ b/Packets/NosSmooth.Packets/Server/Maps/OutPacket.cs @@ -0,0 +1,25 @@ +// +// OutPacket.cs +// +// Copyright (c) František Boháček. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using NosSmooth.Packets.Enums; +using NosSmooth.PacketSerializer.Abstractions.Attributes; + +namespace NosSmooth.Packets.Server.Maps; + +/// +/// An entity has left the map. +/// +/// The entity type. +/// The entity id. +[PacketHeader("c_map", PacketSource.Server)] +[GenerateSerializer(true)] +public record OutPacket +( + [PacketIndex(0)] + EntityType EntityType, + [PacketIndex(1)] + long EntityId +) : IPacket; \ No newline at end of file diff --git a/Packets/NosSmooth.Packets/Server/Portals/GpPacket.cs b/Packets/NosSmooth.Packets/Server/Portals/GpPacket.cs new file mode 100644 index 0000000..2dbba53 --- /dev/null +++ b/Packets/NosSmooth.Packets/Server/Portals/GpPacket.cs @@ -0,0 +1,28 @@ +// +// GpPacket.cs +// +// Copyright (c) František Boháček. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using NosSmooth.Packets.Enums; +using NosSmooth.PacketSerializer.Abstractions.Attributes; + +namespace NosSmooth.Packets.Server.Portals; + +[PacketHeader("gp", PacketSource.Server)] +[GenerateSerializer(true)] +public record GpPacket +( + [PacketIndex(0)] + short X, + [PacketIndex(1)] + short Y, + [PacketIndex(2)] + short TargetMapId, + [PacketIndex(3)] + PortalType? PortalType, + [PacketIndex(4)] + int PortalId, + [PacketIndex(5)] + bool IsDisabled +) : IPacket; \ No newline at end of file diff --git a/Packets/NosSmooth.Packets/Server/Skills/SkiPacket.cs b/Packets/NosSmooth.Packets/Server/Skills/SkiPacket.cs index 287cfea..999fcde 100644 --- a/Packets/NosSmooth.Packets/Server/Skills/SkiPacket.cs +++ b/Packets/NosSmooth.Packets/Server/Skills/SkiPacket.cs @@ -19,9 +19,9 @@ namespace NosSmooth.Packets.Server.Skills; public record SkiPacket ( [PacketIndex(0)] - long PrimarySkillVNum, + int PrimarySkillVNum, [PacketIndex(1)] - long SecondarySkillVNum, + int SecondarySkillVNum, [PacketListIndex(2, InnerSeparator = '|', ListSeparator = ' ')] IReadOnlyList SkillSubPackets ) : IPacket; \ No newline at end of file diff --git a/Packets/NosSmooth.Packets/Server/Skills/SkiSubPacket.cs b/Packets/NosSmooth.Packets/Server/Skills/SkiSubPacket.cs index 9395b54..4ccd4f6 100644 --- a/Packets/NosSmooth.Packets/Server/Skills/SkiSubPacket.cs +++ b/Packets/NosSmooth.Packets/Server/Skills/SkiSubPacket.cs @@ -18,7 +18,7 @@ namespace NosSmooth.Packets.Server.Skills; public record SkiSubPacket ( [PacketIndex(0)] - long SkillVNum, + int SkillVNum, [PacketIndex(1)] byte Rank ) : IPacket; \ No newline at end of file diff --git a/Packets/NosSmooth.Packets/Server/Skills/SrPacket.cs b/Packets/NosSmooth.Packets/Server/Skills/SrPacket.cs index 292fe5f..6483c2b 100644 --- a/Packets/NosSmooth.Packets/Server/Skills/SrPacket.cs +++ b/Packets/NosSmooth.Packets/Server/Skills/SrPacket.cs @@ -22,5 +22,5 @@ namespace NosSmooth.Packets.Server.Skills; public record SrPacket ( [PacketIndex(0)] - long SkillId + short SkillId ) : IPacket; \ No newline at end of file -- 2.49.0