summaryrefslogtreecommitdiff
path: root/packets/character_server_login_success_packet.gd
blob: 800e218bb618edeb4634ae1a4286d89109e8d593 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
class_name CharacterServerLoginSuccessPacket
extends Packet


## Byte Length: 2
var unknown: int

## Byte Length: 1
var normal_slot_count: int

## Byte Length: 1
var vip_slot_count: int

## Byte Length: 1
var billing_slot_count: int

## Byte Length: 1
var producible_slot_count: int

## Byte Length: 1
var valid_slot: int

## Byte Length: 20
var unused: PackedByteArray


static func from_bytes(bytes: PackedByteArray):
	var packet = CharacterServerLoginSuccessPacket.new()
	
	packet.unknown = bytes.decode_u16(0)
	packet.normal_slot_count = bytes.decode_u8(2)
	packet.vip_slot_count = bytes.decode_u8(3)
	packet.billing_slot_count = bytes.decode_u8(4)
	packet.producible_slot_count = bytes.decode_u8(5)
	packet.valid_slot = bytes.decode_u8(6)
	packet.unused = bytes.slice(7, 7 + 20)
	
	return packet

static func from_bytes_via_peer(peer: StreamPeer):
	var _header = peer.get_data(6)
	var remaining_bytes = peer.get_data(peer.get_available_bytes())
	
	return from_bytes(remaining_bytes[1])