class_name CharacterSelectionSuccessPacket extends Packet const HEADER := 0x0ac5 const BYTE_LENGTH := 0 ## Byte Type: u32 ## Byte Length: 4 var character_id: int ## Byte Type: u8 ## Byte Length: 16 var map_name: String ## Byte Type: u32 ## Byte Length: 4 var map_server_ip: PackedByteArray ## Byte Type: u16 ## Byte Length: 2 var map_server_port: int ## Byte Type: u8 ## Byte Length: 128 var unknown: PackedByteArray func get_map_server_ip(): return "%s.%s.%s.%s" % [ map_server_ip.decode_u8(0), map_server_ip.decode_u8(1), map_server_ip.decode_u8(2), map_server_ip.decode_u8(3) ] static func from_bytes(bytes: PackedByteArray): var packet = CharacterSelectionSuccessPacket.new() packet.character_id = bytes.decode_u32(2) packet.map_name = bytes.slice(6, 6 + 16).get_string_from_utf8() packet.map_server_ip = bytes.slice(22, 22 + 4) packet.map_server_port = bytes.decode_u16(26) packet.unknown = bytes.slice(28) return packet