## rAthena References: ## - ZC_ALL_ACH_LIST class_name AchievementListPacket extends Packet const HEADER := 0x0a23 const BYTE_LENGTH := 0 ## Byte Type: u16 ## Byte Length: 2 var packet_length: int ## Byte Type: u32 ## Byte Length: 4 var achievement_count: int ## Byte Type: u32 ## Byte Length: 4 var total_score: int ## Byte Type: u16 ## Byte Length: 2 var level: int ## Byte Type: u32 ## Byte Length: 4 var achievement_experience: int ## Byte Type: u32 ## Byte Length: 4 var achievement_experience_to_next_level: int var achievement_data: Array[AchievementData] static func from_bytes(bytes: PackedByteArray) -> AchievementListPacket: var packet = AchievementListPacket.new() packet.achievement_count = bytes.decode_u32(4) packet.total_score = bytes.decode_u32(8) packet.level = bytes.decode_u16(12) packet.achievement_experience = bytes.decode_u32(14) packet.achievement_experience_to_next_level = bytes.decode_u32(18) packet.achievement_data = AchievementData.array_from_bytes(bytes.slice(22)) return packet