From 00d7507d6a4ff6d6a9d34c2ec5761d9cc9c8e461 Mon Sep 17 00:00:00 2001 From: Henjuro <104998825+Henjuro@users.noreply.github.com> Date: Mon, 28 Nov 2022 09:14:37 +0100 Subject: [PATCH 1/2] added CharacterId in PKTInitPC (Korean one probably is not the right one) --- LostArkLogger/Packets/Base/PKTInitPC.cs | 2 +- LostArkLogger/Packets/Korea/PKTInitPC.cs | 2 +- LostArkLogger/Packets/Steam/PKTInitPC.cs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/LostArkLogger/Packets/Base/PKTInitPC.cs b/LostArkLogger/Packets/Base/PKTInitPC.cs index 45ae03a0..098117ed 100644 --- a/LostArkLogger/Packets/Base/PKTInitPC.cs +++ b/LostArkLogger/Packets/Base/PKTInitPC.cs @@ -28,7 +28,7 @@ public PKTInitPC(BitReader reader) public UInt64 u64_0; public UInt64 u64_1; public UInt64 u64_2; - public UInt64 u64_3; + public UInt64 CharacterId; public UInt64 u64_4; public UInt32 u32_0; public UInt32 u32_1; diff --git a/LostArkLogger/Packets/Korea/PKTInitPC.cs b/LostArkLogger/Packets/Korea/PKTInitPC.cs index c9936d9b..c1c1de20 100644 --- a/LostArkLogger/Packets/Korea/PKTInitPC.cs +++ b/LostArkLogger/Packets/Korea/PKTInitPC.cs @@ -48,7 +48,7 @@ public void KoreaDecode(BitReader reader) b_9 = reader.ReadByte(); u64_2 = reader.ReadUInt64(); b_10 = reader.ReadByte(); - u64_3 = reader.ReadUInt64(); + CharacterId = reader.ReadUInt64(); GearLevel = reader.ReadUInt32(); b_12 = reader.ReadByte(); if (b_12 == 1) diff --git a/LostArkLogger/Packets/Steam/PKTInitPC.cs b/LostArkLogger/Packets/Steam/PKTInitPC.cs index d56ee17d..ed323071 100644 --- a/LostArkLogger/Packets/Steam/PKTInitPC.cs +++ b/LostArkLogger/Packets/Steam/PKTInitPC.cs @@ -61,7 +61,7 @@ public void SteamDecode(BitReader reader) b_16 = reader.ReadByte(); u16_2 = reader.ReadUInt16(); b_18 = reader.ReadByte(); - u64_3 = reader.ReadUInt64(); + CharacterId = reader.ReadUInt64(); b_19 = reader.ReadByte(); u16_3 = reader.ReadUInt16(); bytearraylist_0 = reader.ReadList(30); From 2c421f71b943d91c247334dfc95d6ab45017ebf6 Mon Sep 17 00:00:00 2001 From: Henjuro <104998825+Henjuro@users.noreply.github.com> Date: Tue, 29 Nov 2022 15:44:45 +0100 Subject: [PATCH 2/2] Added Packet parsing information various party packets --- LostArkLogger/Packets/Base/PKTPartyInfo.cs | 47 +++++++++++++++++++ .../Packets/Base/PKTPartyLeaveResult.cs | 20 ++++++++ LostArkLogger/Packets/Base/PKTPartyUnknown.cs | 22 +++++++++ LostArkLogger/Packets/Base/PartyMemberData.cs | 33 +++++++++++++ LostArkLogger/Packets/OpCodes.cs | 1 + LostArkLogger/Packets/OpCodes_steam.cs | 3 ++ LostArkLogger/Packets/Steam/PKTPartyInfo.cs | 18 +++++++ .../Packets/Steam/PKTPartyLeaveResult.cs | 18 +++++++ .../Packets/Steam/PKTPartyUnknown.cs | 25 ++++++++++ .../Packets/Steam/PartyMemberData.cs | 31 ++++++++++++ 10 files changed, 218 insertions(+) create mode 100644 LostArkLogger/Packets/Base/PKTPartyInfo.cs create mode 100644 LostArkLogger/Packets/Base/PKTPartyLeaveResult.cs create mode 100644 LostArkLogger/Packets/Base/PKTPartyUnknown.cs create mode 100644 LostArkLogger/Packets/Base/PartyMemberData.cs create mode 100644 LostArkLogger/Packets/Steam/PKTPartyInfo.cs create mode 100644 LostArkLogger/Packets/Steam/PKTPartyLeaveResult.cs create mode 100644 LostArkLogger/Packets/Steam/PKTPartyUnknown.cs create mode 100644 LostArkLogger/Packets/Steam/PartyMemberData.cs diff --git a/LostArkLogger/Packets/Base/PKTPartyInfo.cs b/LostArkLogger/Packets/Base/PKTPartyInfo.cs new file mode 100644 index 00000000..5a4d76cd --- /dev/null +++ b/LostArkLogger/Packets/Base/PKTPartyInfo.cs @@ -0,0 +1,47 @@ +using System; +using System.Collections.Generic; +namespace LostArkLogger +{ + public partial class PKTPartyInfo + { + public PKTPartyInfo(BitReader reader) + { + if (Properties.Settings.Default.Region == Region.Steam) SteamDecode(reader); + } + public byte b_0; + public UInt32 PartyInstanceId; + public UInt32 RaidInstanceId; + public UInt32 u32_2; + public List MemberDatas; + public Byte b_1; + } + + enum PartyType + { + NORMAL = 0, + RAID = 1, + CHAOS = 2, + ARENA = 3, + COLOSSEUM = 4, + MOD = 5, + MATCHING = 6, + } + enum PartyLootType + { + FREE = 0, + ROUND_ROBIN = 1, + LEADER = 2, + RANDOM = 3, + } + enum PartyMemberAuth + { + ADMIM = 0, + LEADER = 1 + } + + enum PartyMemberState + { + NORMAL = 0, + DISCONNECTED = 1, + } +} diff --git a/LostArkLogger/Packets/Base/PKTPartyLeaveResult.cs b/LostArkLogger/Packets/Base/PKTPartyLeaveResult.cs new file mode 100644 index 00000000..16d02f80 --- /dev/null +++ b/LostArkLogger/Packets/Base/PKTPartyLeaveResult.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace LostArkLogger +{ + public partial class PKTPartyLeaveResult + { + public PKTPartyLeaveResult(BitReader reader) + { + if (Properties.Settings.Default.Region == Region.Steam) SteamDecode(reader); + } + public byte b_0; + public UInt32 PartyInstanceId; + public string Name; + + } +} diff --git a/LostArkLogger/Packets/Base/PKTPartyUnknown.cs b/LostArkLogger/Packets/Base/PKTPartyUnknown.cs new file mode 100644 index 00000000..6dc9824c --- /dev/null +++ b/LostArkLogger/Packets/Base/PKTPartyUnknown.cs @@ -0,0 +1,22 @@ +using System; + +namespace LostArkLogger +{ + public partial class PKTPartyUnknown + { + public PKTPartyUnknown(BitReader reader) + { + if (Properties.Settings.Default.Region == Region.Steam) SteamDecode(reader); + } + public UInt64 CharacterId; + public byte[] ba_0; + public UInt32 PartyInstanceId; + public UInt32 u32_0; + public UInt32 RaidInstanceId; + public byte b_0; + public UInt16 u16_0; + public byte b_1; + public UInt64 u64_0; + public byte[] ba_1; + } +} diff --git a/LostArkLogger/Packets/Base/PartyMemberData.cs b/LostArkLogger/Packets/Base/PartyMemberData.cs new file mode 100644 index 00000000..42d78a6a --- /dev/null +++ b/LostArkLogger/Packets/Base/PartyMemberData.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +namespace LostArkLogger +{ + public partial class PartyMemberData + { + public PartyMemberData(BitReader reader) + { + if (Properties.Settings.Default.Region == Region.Steam) SteamDecode(reader); + } + + public UInt16 RosterLevel; + public byte PartyMemberNumber; // this is 0 based 0-3 + public byte b_1; + public Int64 CurHP; //packedInt + public UInt32 u32_0; + public byte b_2; + public UInt64 u64_1; + public UInt32 u32_1; + public byte b_3; + public UInt64 CharacterId; + public byte b_4; + public UInt16 CharacterLevel; + public Int64 MaxHP; //packedInt + public UInt16 u16_3; + public byte b_5; + public byte b_6; + public string Name; + public UInt32 u32_2; + public UInt64 u64_4; + public byte b_7; + } +} diff --git a/LostArkLogger/Packets/OpCodes.cs b/LostArkLogger/Packets/OpCodes.cs index 9380d0cb..d5498ac9 100644 --- a/LostArkLogger/Packets/OpCodes.cs +++ b/LostArkLogger/Packets/OpCodes.cs @@ -1447,5 +1447,6 @@ public enum OpCodes : UInt16 PKTAdvRewardRequestResult = 59918, PKTFallDownPredictNotify = 59982, PKTInitAchievementActive = 59992, + PKTPartyUnknown = 55319, } } diff --git a/LostArkLogger/Packets/OpCodes_steam.cs b/LostArkLogger/Packets/OpCodes_steam.cs index 10d0297b..62350401 100644 --- a/LostArkLogger/Packets/OpCodes_steam.cs +++ b/LostArkLogger/Packets/OpCodes_steam.cs @@ -26,5 +26,8 @@ public enum OpCodes_Steam : UInt16 PKTStatusEffectRemoveNotify = 0xA8B3, PKTTriggerBossBattleStatus = 0xE5F7, PKTTriggerStartNotify = 0x7807, + PKTPartyInfo = 4508, + PKTPartyLeaveResult = 20450, + PKTPartyUnknown = 55319, } } diff --git a/LostArkLogger/Packets/Steam/PKTPartyInfo.cs b/LostArkLogger/Packets/Steam/PKTPartyInfo.cs new file mode 100644 index 00000000..563bcc7e --- /dev/null +++ b/LostArkLogger/Packets/Steam/PKTPartyInfo.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +namespace LostArkLogger +{ + public partial class PKTPartyInfo + { + public void SteamDecode(BitReader reader) + { + b_0 = reader.ReadByte(); + PartyInstanceId = reader.ReadUInt32(); + RaidInstanceId = reader.ReadUInt32(); + u32_2 = reader.ReadUInt32(); + MemberDatas = reader.ReadList(); + b_1 = reader.ReadByte(); + + } + } +} diff --git a/LostArkLogger/Packets/Steam/PKTPartyLeaveResult.cs b/LostArkLogger/Packets/Steam/PKTPartyLeaveResult.cs new file mode 100644 index 00000000..cfc909f8 --- /dev/null +++ b/LostArkLogger/Packets/Steam/PKTPartyLeaveResult.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace LostArkLogger +{ + public partial class PKTPartyLeaveResult + { + public void SteamDecode(BitReader reader) + { + b_0 = reader.ReadByte(); + PartyInstanceId = reader.ReadUInt32(); + Name = reader.ReadString(); + } + } +} diff --git a/LostArkLogger/Packets/Steam/PKTPartyUnknown.cs b/LostArkLogger/Packets/Steam/PKTPartyUnknown.cs new file mode 100644 index 00000000..b05a7055 --- /dev/null +++ b/LostArkLogger/Packets/Steam/PKTPartyUnknown.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace LostArkLogger +{ + public partial class PKTPartyUnknown + { + public void SteamDecode(BitReader reader) + { + CharacterId = reader.ReadUInt64(); + ba_0 = reader.ReadBytes(8); + PartyInstanceId = reader.ReadUInt32(); + u32_0 = reader.ReadUInt32(); + RaidInstanceId = reader.ReadUInt32(); + b_0 = reader.ReadByte(); + u16_0 = reader.ReadUInt16(); + b_1 = reader.ReadByte(); + u64_0 = reader.ReadUInt64(); + ba_1 = reader.ReadBytes(3); + } + } +} diff --git a/LostArkLogger/Packets/Steam/PartyMemberData.cs b/LostArkLogger/Packets/Steam/PartyMemberData.cs new file mode 100644 index 00000000..48c15d98 --- /dev/null +++ b/LostArkLogger/Packets/Steam/PartyMemberData.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +namespace LostArkLogger +{ + public partial class PartyMemberData + { + public void SteamDecode(BitReader reader) + { + RosterLevel = reader.ReadUInt16(); + PartyMemberNumber = reader.ReadByte(); + b_1 = reader.ReadByte(); + CurHP = reader.ReadPackedInt(); + u32_0 = reader.ReadUInt32(); + b_2 = reader.ReadByte(); + u64_1 = reader.ReadUInt64(); + u32_1 = reader.ReadUInt32(); + b_3 = reader.ReadByte(); + CharacterId = reader.ReadUInt64(); + b_4 = reader.ReadByte(); + CharacterLevel = reader.ReadUInt16(); + MaxHP = reader.ReadPackedInt(); + u16_3 = reader.ReadUInt16(); + b_5 = reader.ReadByte(); + b_6 = reader.ReadByte(); + Name = reader.ReadString(); + u32_2 = reader.ReadUInt32(); + u64_4 = reader.ReadUInt64(); + b_7 = reader.ReadByte(); + } + } +}