summaryrefslogtreecommitdiff
path: root/net/protocol.py
blob: 14fb46230a770bb5b0f9b2c6676f800e54b33c95 (plain) (blame)
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
SMSG_UPDATE_HOST = 0x0063
SMSG_LOGIN_DATA = 0x0069
SMSG_LOGIN_ERROR = 0x006a
SMSG_CHAR_LOGIN = 0x006b
SMSG_CHAR_LOGIN_ERROR = 0x006c
SMSG_QUEST_PLAYER_VARS = 0x0215
SMSG_CHAR_MAP_INFO = 0x0071
SMSG_MAP_LOGIN_SUCCESS = 0x0073
CMSG_CHAR_SERVER_CONNECT = 0x0065
CMSG_CHAR_SELECT = 0x0066
CMSG_MAP_SERVER_CONNECT = 0x0072
CMSG_CHAT_WHISPER = 0x0096
CMSG_CHAT_MESSAGE = 0x008c
CMSG_MAP_LOADED = 0x007d
CMSG_CLIENT_QUIT = 0x018A

SMSG_WHISPER = 0x0097
SMSG_BEING_CHAT = 0x008d

SMSG_PLAYER_CHAT = 0x008e
CMSG_PLAYER_CHANGE_ACT = 0x0089
CMSG_PLAYER_RESPAWN = 0x00b2

SMSG_PLAYER_INVENTORY = 0x01ee
SMSG_PLAYER_INVENTORY_ADD = 0x00a0
SMSG_PLAYER_INVENTORY_REMOVE = 0x00af
SMSG_PLAYER_EQUIPMENT = 0x00a4
SMSG_PLAYER_STAT_UPDATE_1 = 0x00b0
SMSG_PLAYER_STAT_UPDATE_2 = 0x00b1

SMSG_BEING_VISIBLE = 0x0078
SMSG_BEING_MOVE = 0x007b
SMSG_BEING_REMOVE = 0x0080
SMSG_PLAYER_MOVE = 0x01da
SMSG_PLAYER_WARP = 0x0091
SMSG_PLAYER_UPDATE_1 = 0x01d8
SMSG_PLAYER_UPDATE_2 = 0x01d9
SMSG_BEING_NAME_RESPONSE = 0x0095  # Has to be requested
SMSG_BEING_ACTION = 0x008a

CMSG_ITEM_PICKUP = 0x009f
CMSG_PLAYER_ATTACK = 0x0089
CMSG_PLAYER_STOP_ATTACK = 0x0118
CMSG_PLAYER_CHANGE_DIR = 0x009b
CMSG_PLAYER_CHANGE_DEST = 0x0085
CMSG_PLAYER_EMOTE = 0x00bf
SMSG_WALK_RESPONSE = 0x0087

CMSG_PLAYER_INVENTORY_USE = 0x00a7
CMSG_PLAYER_INVENTORY_DROP = 0x00a2
CMSG_PLAYER_EQUIP = 0x00a9
CMSG_PLAYER_UNEQUIP = 0x00ab

CMSG_TRADE_REQUEST = 0x00e4
CMSG_TRADE_RESPONSE = 0x00e6
CMSG_TRADE_ITEM_ADD_REQUEST = 0x00e8
CMSG_TRADE_CANCEL_REQUEST = 0x00ed
CMSG_TRADE_ADD_COMPLETE = 0x00eb
CMSG_TRADE_OK = 0x00ef

SMSG_TRADE_REQUEST = 0x00e5  # Receiving a request to trade
SMSG_TRADE_RESPONSE = 0x00e7
SMSG_TRADE_ITEM_ADD = 0x00e9
SMSG_TRADE_ITEM_ADD_RESPONSE = 0x01b1  # Not standard eAthena!
SMSG_TRADE_OK = 0x00ec
SMSG_TRADE_CANCEL = 0x00ee
SMSG_TRADE_COMPLETE = 0x00f0

SMSG_ITEM_VISIBLE = 0x009d
SMSG_ITEM_DROPPED = 0x009e
SMSG_ITEM_REMOVE = 0x00a1

inventory_offset = 2
storage_offset = 1

CMSG_SERVER_VERSION_REQUEST = 0x7530
SMSG_SERVER_VERSION_RESPONSE = 0x7531
CMSG_LOGIN_REGISTER = 0x0064

CMSG_MAP_SERVER_PING = 0x007e
CMSG_NAME_REQUEST = 0x0094

# party
SMSG_PARTY_CHAT = 0x0109
CMSG_PARTY_MESSAGE = 0x0108

# NPC
CMSG_NPC_TALK = 0x0090
CMSG_NPC_NEXT_REQUEST = 0x00b9
CMSG_NPC_CLOSE = 0x0146
CMSG_NPC_LIST_CHOICE = 0x00b8
CMSG_NPC_INT_RESPONSE = 0x0143
CMSG_NPC_STR_RESPONSE = 0x01d5
CMSG_NPC_BUY_SELL_REQUEST = 0x00c5
CMSG_NPC_BUY_REQUEST = 0x00c8
CMSG_NPC_SELL_REQUEST = 0x00c9

# stats, skills
CMSG_STAT_UPDATE_REQUEST = 0x00bb
CMSG_SKILL_LEVELUP_REQUEST = 0x0112

# storage
CMSG_MOVE_TO_STORAGE = 0x00f3
CMSG_MOVE_FROM_STORAGE = 0x00f5
CMSG_CLOSE_STORAGE = 0x00f7