summaryrefslogtreecommitdiff
path: root/packets/map_server/broadcast_formatted_message_packet.gd
diff options
context:
space:
mode:
Diffstat (limited to 'packets/map_server/broadcast_formatted_message_packet.gd')
-rw-r--r--packets/map_server/broadcast_formatted_message_packet.gd74
1 files changed, 74 insertions, 0 deletions
diff --git a/packets/map_server/broadcast_formatted_message_packet.gd b/packets/map_server/broadcast_formatted_message_packet.gd
new file mode 100644
index 0000000..c66c4f1
--- /dev/null
+++ b/packets/map_server/broadcast_formatted_message_packet.gd
@@ -0,0 +1,74 @@
+## rAthena References:
+## - clif_broadcast2
+class_name BroadcastFormattedMessagePacket
+extends Packet
+
+
+const HEADER := 0x01c3
+const BYTE_LENGTH := 0
+
+
+## Byte Type: u16
+## Byte Length: 2
+var packet_length: int
+
+## Byte Type: u8
+## Byte Length: 1
+var font_color_r: int
+
+## Byte Type: u8
+## Byte Length: 1
+var font_color_g: int
+
+## Byte Type: u8
+## Byte Length: 1
+var font_color_b: int
+
+## Byte Type: u8
+## Byte Length: 1
+var font_color_a: int
+
+## Byte Type: u16
+## Byte Length: 2
+var font_type: int
+
+## Byte Type: u16
+## Byte Length: 2
+var font_size: int
+
+## Byte Type: u16
+## Byte Length: 2
+var font_alignment: int
+
+## Byte Type: u16
+## Byte Length: 2
+var font_y: int
+
+## Byte Length: variable
+var message: String
+
+
+func get_font_color() -> Color:
+ return Color8(
+ font_color_r,
+ font_color_g,
+ font_color_b,
+ 255
+ )
+
+
+static func from_bytes(bytes: PackedByteArray) -> BroadcastFormattedMessagePacket:
+ var packet = BroadcastFormattedMessagePacket.new()
+
+ packet.packet_length = bytes.decode_u16(2)
+ packet.font_color_r = bytes.decode_u8(4)
+ packet.font_color_g = bytes.decode_u8(5)
+ packet.font_color_b = bytes.decode_u8(6)
+ packet.font_color_a = bytes.decode_u8(7)
+ packet.font_type = bytes.decode_u16(8)
+ packet.font_size = bytes.decode_u16(10)
+ packet.font_alignment = bytes.decode_u16(12)
+ packet.font_y = bytes.decode_u16(14)
+ packet.message = bytes.slice(16, packet.packet_length).get_string_from_utf8()
+
+ return packet