diff options
Diffstat (limited to 'packets/map_server/change_map_packet.gd')
-rw-r--r-- | packets/map_server/change_map_packet.gd | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/packets/map_server/change_map_packet.gd b/packets/map_server/change_map_packet.gd new file mode 100644 index 0000000..beee821 --- /dev/null +++ b/packets/map_server/change_map_packet.gd @@ -0,0 +1,35 @@ +## rAthena References: +## - ZC_NPCACK_MAPMOVE +class_name ChangeMapPacket +extends Packet + + +const HEADER := 0x0091 +const BYTE_LENGTH := 22 + + +## Byte Type: u8 +## Byte Length: 16 +var map_name: String + +## Byte Type: u16 +## Byte Length: 2 +var position_x: int + +## Byte Type: u16 +## Byte Length: 2 +var position_y: int + + +func get_position() -> Vector2: + return Vector2(position_x, position_y) + + +static func from_bytes(bytes: PackedByteArray): + var packet = ChangeMapPacket.new() + + packet.map_name = bytes.slice(2, 2 + 16).get_string_from_utf8() + packet.position_x = bytes.decode_u16(18) + packet.position_x = bytes.decode_u16(20) + + return packet |