baseline: OpenMU upstream b5a0961 (fresh source)
This commit is contained in:
154
docs/Packets/Appearance.md
Normal file
154
docs/Packets/Appearance.md
Normal file
@@ -0,0 +1,154 @@
|
||||
# Appearance
|
||||
|
||||
The appearance of characters is serialized as follows.
|
||||
Webzen did a "good" job saving one bit here and there, so it's a bit complicated
|
||||
sometimes (e.g. wings and pets).
|
||||
It seems like the structure is historically grown.
|
||||
|
||||
## Structure
|
||||
|
||||
Please read this table like a stream of bits. E.g. if there are 8 bits of 1 byte
|
||||
are specified in a row, the highest bits come first.
|
||||
|
||||
| Byte index | Length | Data type | Description |
|
||||
|----------|---------|-------------|------------|
|
||||
| 0 | 4 | bit | Character class |
|
||||
| 0 | 4 | bit | Character pose, see below |
|
||||
| 1 | 1 | byte | Left hand item index. 0xFF if empty. |
|
||||
| 2 | 1 | byte | Right hand item index. 0xFF if empty. |
|
||||
| 3 | 4 | bit | Helm item index (lower 4 bits). See byte index 9 and 13 for the rest. |
|
||||
| 3 | 4 | bit | Armor item index (lower 4 bits). See byte index 9 and 14 for the rest. |
|
||||
| 4 | 4 | bit | Pants item index (lower 4 bits). See byte index 9 and 14 for the rest. |
|
||||
| 4 | 4 | bit | Gloves item index (lower 4 bits). See byte index 9 and 15 for the rest. |
|
||||
| 5 | 4 | bit | Boots item index (lower 4 bits). See byte index 9 and 15 for the rest. |
|
||||
| 5 | 4 | bit | Pets and wings flags, see below |
|
||||
| 6 | 3 | bit | Left hand item level |
|
||||
| 6 | 3 | bit | Right hand item level |
|
||||
| 6~7 | 3 | bit | Helm item level |
|
||||
| 7 | 3 | bit | Armor item level |
|
||||
| 7 | 3 | bit | Pants item level |
|
||||
| 7~8 | 3 | bit | Gloves item level |
|
||||
| 8 | 3 | bit | Boots item level |
|
||||
| 8 | 3 | bit | unused |
|
||||
| 9 | 1 | bit | Helm item index (5th bit) |
|
||||
| 9 | 1 | bit | Armor item index (5th bit) |
|
||||
| 9 | 1 | bit | Pants item index (5th bit) |
|
||||
| 9 | 1 | bit | Gloves item index (5th bit) |
|
||||
| 9 | 1 | bit | Boots item index (5th bit) |
|
||||
| 9 | 3 | bit | Wing item index (see table below) |
|
||||
| 10 | 1 | bit | Helm excellent option flag |
|
||||
| 10 | 1 | bit | Armor excellent option flag |
|
||||
| 10 | 1 | bit | Pants excellent option flag |
|
||||
| 10 | 1 | bit | Gloves excellent option flag |
|
||||
| 10 | 1 | bit | Boots excellent option flag |
|
||||
| 10 | 1 | bit | Left hand item excellent option flag |
|
||||
| 10 | 1 | bit | Right hand item excellent option flag |
|
||||
| 10 | 1 | bit | Dinorant flag |
|
||||
| 11 | 1 | bit | Helm ancient option flag |
|
||||
| 11 | 1 | bit | Armor ancient option flag |
|
||||
| 11 | 1 | bit | Pants ancient option flag |
|
||||
| 11 | 1 | bit | Gloves ancient option flag |
|
||||
| 11 | 1 | bit | Boots ancient option flag |
|
||||
| 11 | 1 | bit | Left hand item ancient option flag |
|
||||
| 11 | 1 | bit | Right hand item ancient option flag |
|
||||
| 11 | 1 | bit | Full ancient set flag |
|
||||
| 12 | 3 | bit | Left hand item group. 111 = empty |
|
||||
| 12 | 1 | bit | unused or empty flag? |
|
||||
| 12 | 1 | bit | unused |
|
||||
| 12 | 1 | bit | Fenrir flag |
|
||||
| 12 | 1 | bit | unused |
|
||||
| 12 | 1 | bit | Dark horse flag |
|
||||
| 13 | 3 | bit | Right hand item group. 111 = empty |
|
||||
| 13 | 1 | bit | unused or empty flag? |
|
||||
| 13 | 4 | bit | Helm item index (6-9th bit). 0xF = empty |
|
||||
| 14 | 4 | bit | Armor item index (6-9th bit). 0xF = empty |
|
||||
| 14 | 4 | bit | Pants item index (6-9th bit). 0xF = empty |
|
||||
| 15 | 4 | bit | Gloves item index (6-9th bit). 0xF = empty |
|
||||
| 15 | 4 | bit | Boots item index (6-9th bit). 0xF = empty |
|
||||
| 16 | 6 | bit | Pet item index, see below |
|
||||
| 16 | 1 | bit | Blue fenrir flag |
|
||||
| 16 | 1 | bit | Black fenrir flag |
|
||||
| 17 | 4 | bit | Small Wing item index, see below |
|
||||
| 17 | 3 | bit | unused |
|
||||
| 17 | 1 | bit | Gold fenrir flag |
|
||||
|
||||
### Character pose
|
||||
|
||||
| Value | Meaning |
|
||||
|-------|---------|
|
||||
| 0 | Standing (default) |
|
||||
| 1 | unused |
|
||||
| 2 | Sitting (e.g. on a trunk) |
|
||||
| 3 | Leaning (e.g. against a wall) |
|
||||
| 4 | Hanging (at these strange things in Noria) |
|
||||
|
||||
Note: At Season 10 and above, the values are different.
|
||||
Sitting is at 1, Leaning 2, Hanging 3. So, they removed the unused value.
|
||||
|
||||
### Item level calculation
|
||||
|
||||
The item levels are calculated with the following formula: ([Item Level] - 1) / 2.
|
||||
|
||||
This works until item level of 15, because it fits into 4 bits.
|
||||
|
||||
### Item indexes
|
||||
|
||||
The bytes are represented in binary format. X means the bit is used by something
|
||||
else (see table above).
|
||||
|
||||
#### Pet items
|
||||
|
||||
| Item | 5th byte | 10th byte | 12th byte |
|
||||
|-----------------------|----------|-----------|-----------|
|
||||
| Guardian Angel | xxxxxx00 |
|
||||
| Imp | xxxxxx01 |
|
||||
| Unicorn | xxxxxx10 |
|
||||
| Dinorant | xxxxxx11 | xxxxxxx1 ||
|
||||
| Fenrir | xxxxxx11 | | xxxxxx1x |
|
||||
| None | xxxxxx11 | xxxxxxx0 |
|
||||
|
||||
And some other pets:
|
||||
|
||||
| Item | 16th byte |
|
||||
|-----------------------|-----------|
|
||||
| Pet Panda | 111000xx |
|
||||
| Pet Unicorn | 101000xx |
|
||||
| Skeleton | 011000xx |
|
||||
| Rudolph | 100000xx |
|
||||
| Spirit of Guardian | 010000xx |
|
||||
| Demon | 001000xx |
|
||||
|
||||
#### Wings
|
||||
|
||||
| Item | Character Class | 5th byte | 9th byte |
|
||||
|-----------------------|-----------------|----------|----------|
|
||||
| Wings of Elf | Fairy Elf | xxxx01xx | xxxxx001 |
|
||||
| Wings of Heaven | Dark Wizard | xxxx01xx | xxxxx010 |
|
||||
| Wings of Satan | Dark Knight | xxxx01xx | xxxxx011 |
|
||||
| Wings of Mistery | Summoner | xxxx01xx | xxxxx100 |
|
||||
| Wings of Spirit | Muse Elf | xxxx10xx | xxxxx001 |
|
||||
| Wings of Soul | Soul Master | xxxx10xx | xxxxx010 |
|
||||
| Wings of Dragon | Blade Knight | xxxx10xx | xxxxx011 |
|
||||
| Wings of Darkness | Magic Gladiator | xxxx10xx | xxxxx100 |
|
||||
| Cape of Lord | Dark Lord | xxxx10xx | xxxxx101 |
|
||||
| Wings of Despair | Bloody Summoner | xxxx10xx | xxxxx110 |
|
||||
| Cape of Fighter | Rage Fighter | xxxx10xx | xxxxx111 |
|
||||
| Wing of Storm | Blade Master | xxxx11xx | xxxxx001 |
|
||||
| Wing of Eternal | Grand Master | xxxx11xx | xxxxx010 |
|
||||
| Wing of Illusion | High Elf | xxxx11xx | xxxxx011 |
|
||||
| Wing of Ruin | Duel Master | xxxx11xx | xxxxx100 |
|
||||
| Cape of Emperor | Lord Emperor | xxxx11xx | xxxxx101 |
|
||||
| Wing of Dimension | Dimension Master| xxxx11xx | xxxxx110 |
|
||||
| Cape of Overrule | Fist Master | xxxx11xx | xxxxx111 |
|
||||
| None | | xxxx00xx | xxxxx000 |
|
||||
|
||||
#### Small Wings
|
||||
|
||||
| Wing Item | 5th byte | 17th byte |
|
||||
|-----------------------|----------|-------|
|
||||
| Small Cape of Lord | xxxx11xx | 0x20 |
|
||||
| Small Wings of Mistery| xxxx11xx | 0x40 |
|
||||
| Small Wings of Elf | xxxx11xx | 0x60 |
|
||||
| Small Wings of Heaven | xxxx11xx | 0x80 |
|
||||
| Small Wings of Satan | xxxx11xx | 0xA0 |
|
||||
| Small Cloak of Warrior| xxxx11xx | 0xC0 |
|
||||
18
docs/Packets/C1-00-01-Hello_by-server.md
Normal file
18
docs/Packets/C1-00-01-Hello_by-server.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# C1 00 01 - Hello (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
This packet is sent by the server after the client connected to the server.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
A game client will request the server list. The launcher would request the patch state.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 4 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x00 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | 0x01 | Packet header - sub packet type identifier |
|
||||
19
docs/Packets/C1-00-Authenticate_by-client.md
Normal file
19
docs/Packets/C1-00-Authenticate_by-client.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# C1 00 - Authenticate (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
This packet is sent by the client after it connected to the server, to authenticate itself.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
The server will check the token. If it's correct, the client gets added to the requested chat room.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 16 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x00 | Packet header - packet type identifier |
|
||||
| 4 | 2 | ShortLittleEndian | | RoomId |
|
||||
| 6 | 10 | Binary | | Token; A token (integer number), formatted as string and "encrypted" with the 3-byte XOR key (FC CF AB). |
|
||||
29
docs/Packets/C1-00-ChatMessage_by-server.md
Normal file
29
docs/Packets/C1-00-ChatMessage_by-server.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# C1 00 - ChatMessage (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A player sends a chat message.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The message is shown in the chat box and above the character of the sender.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x00 | Packet header - packet type identifier |
|
||||
| 2 | 1 | ChatMessageType | | Type |
|
||||
| 3 | 10 | String | | Sender |
|
||||
| 13 | | String | | Message |
|
||||
|
||||
### ChatMessageType Enum
|
||||
|
||||
Defines the type of a chat message.
|
||||
|
||||
| Value | Name | Description |
|
||||
|-------|------|-------------|
|
||||
| 0 | Normal | The message is a normal chat message, e.g. public, within a party or guild. |
|
||||
| 2 | Whisper | The message is sent privately to the receiving player. |
|
||||
19
docs/Packets/C1-00-PublicChatMessage_by-client.md
Normal file
19
docs/Packets/C1-00-PublicChatMessage_by-client.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# C1 00 - PublicChatMessage (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A player sends a public chat message.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
The message is forwarded to all surrounding players, including the sender.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x00 | Packet header - packet type identifier |
|
||||
| 3 | 10 | String | | Character |
|
||||
| 13 | | String | | Message |
|
||||
20
docs/Packets/C1-01-00-ChatRoomClientJoined_by-server.md
Normal file
20
docs/Packets/C1-01-00-ChatRoomClientJoined_by-server.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# C1 01 00 - ChatRoomClientJoined (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
This packet is sent by the server after another chat client joined the chat room.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The client will add the client in its list (if over 2 clients are connected to the same room), or show its name in the title bar.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 15 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x01 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | 0x00 | Packet header - sub packet type identifier |
|
||||
| 4 | 1 | Byte | | ClientIndex |
|
||||
| 5 | 10 | String | | Name |
|
||||
20
docs/Packets/C1-01-01-ChatRoomClientLeft_by-server.md
Normal file
20
docs/Packets/C1-01-01-ChatRoomClientLeft_by-server.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# C1 01 01 - ChatRoomClientLeft (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
This packet is sent by the server after a chat client left the chat room.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The client will remove the client from its list, or mark its name in the title bar as offline.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 15 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x01 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | 0x01 | Packet header - sub packet type identifier |
|
||||
| 4 | 1 | Byte | | ClientIndex |
|
||||
| 5 | 10 | String | | Name |
|
||||
17
docs/Packets/C1-01-LeaveChatRoom_by-client.md
Normal file
17
docs/Packets/C1-01-LeaveChatRoom_by-client.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# C1 01 - LeaveChatRoom (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
This packet is sent by the client when it leaves the chat room, before the connection closes.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
The server will remove the client from the chat room, notifying the remaining clients.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 3 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x01 | Packet header - packet type identifier |
|
||||
19
docs/Packets/C1-01-ObjectMessage_by-server.md
Normal file
19
docs/Packets/C1-01-ObjectMessage_by-server.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# C1 01 - ObjectMessage (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
The server wants to show a message above any kind of character, even NPCs.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The message is shown above the character.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x01 | Packet header - packet type identifier |
|
||||
| 3 | 2 | ShortBigEndian | | ObjectId |
|
||||
| 5 | | String | | Message |
|
||||
20
docs/Packets/C1-02-PatchCheckRequest_by-client.md
Normal file
20
docs/Packets/C1-02-PatchCheckRequest_by-client.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# C1 02 - PatchCheckRequest (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
This packet is sent by the client (launcher) to check if the patch version is high enough to be able to connect to the server.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
The connect server will check the version and sends a 'PatchVersionOkay' or a 'ClientNeedsPatch' message.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 6 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x02 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | | MajorVersion |
|
||||
| 4 | 1 | Byte | | MinorVersion |
|
||||
| 5 | 1 | Byte | | PatchVersion |
|
||||
17
docs/Packets/C1-02-PatchVersionOkay_by-server.md
Normal file
17
docs/Packets/C1-02-PatchVersionOkay_by-server.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# C1 02 - PatchVersionOkay (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
This packet is sent by the server after the client (launcher) requested the to check the patch version and it was high enough.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The launcher will activate its start button.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 4 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x02 | Packet header - packet type identifier |
|
||||
19
docs/Packets/C1-02-WhisperMessage_by-client.md
Normal file
19
docs/Packets/C1-02-WhisperMessage_by-client.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# C1 02 - WhisperMessage (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A player sends a private chat message to a specific target player.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
The message is forwarded to the target player.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x02 | Packet header - packet type identifier |
|
||||
| 3 | 10 | String | | ReceiverName |
|
||||
| 13 | | String | | Message |
|
||||
20
docs/Packets/C1-04-ChatMessage.md
Normal file
20
docs/Packets/C1-04-ChatMessage.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# C1 04 - ChatMessage
|
||||
|
||||
## Is sent when
|
||||
|
||||
This packet is sent by the server after another chat client sent a message to the current chat room.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The client will show the message.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x04 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | | SenderIndex |
|
||||
| 4 | 1 | Byte | | MessageLength |
|
||||
| 5 | | Binary | | Message; The message. It's "encrypted" with the 3-byte XOR key (FC CF AB). |
|
||||
20
docs/Packets/C1-05-1-ClientNeedsPatch_by-server.md
Normal file
20
docs/Packets/C1-05-1-ClientNeedsPatch_by-server.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# C1 05 1 - ClientNeedsPatch (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
This packet is sent by the server after the client (launcher) requested to check the patch version and it requires an update.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The launcher will download the required patches and then activate the start button.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 138 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x05 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | 0x1 | Packet header - sub packet type identifier |
|
||||
| 4 | 1 | Byte | | PatchVersion |
|
||||
| 6 | | String | | PatchAddress; The patch address, usually to a ftp server. The address is usually "encrypted" with the 3-byte XOR key (FC CF AB). |
|
||||
17
docs/Packets/C1-05-KeepAlive_by-client.md
Normal file
17
docs/Packets/C1-05-KeepAlive_by-client.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# C1 05 - KeepAlive (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
This packet is sent by the client in a fixed interval.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
The server will keep the connection and chat room intact as long as the clients sends a message in a certain period of time.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 3 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x05 | Packet header - packet type identifier |
|
||||
20
docs/Packets/C1-07-MagicEffectStatus_by-server.md
Normal file
20
docs/Packets/C1-07-MagicEffectStatus_by-server.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# C1 07 - MagicEffectStatus (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A magic effect was added or removed to the own or another player.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The user interface updates itself. If it's the effect of the own player, it's shown as icon at the top of the interface.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 7 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x07 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Boolean | | IsActive |
|
||||
| 4 | 2 | ShortBigEndian | | PlayerId |
|
||||
| 6 | 1 | Byte | | EffectId |
|
||||
28
docs/Packets/C1-0B-MapEventState_by-server.md
Normal file
28
docs/Packets/C1-0B-MapEventState_by-server.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# C1 0B - MapEventState (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
The state of event is about to change.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The event's effect is shown.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 5 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x0B | Packet header - packet type identifier |
|
||||
| 3 | 1 | Boolean | | Enable |
|
||||
| 4 | 1 | Events | | Event |
|
||||
|
||||
### Events Enum
|
||||
|
||||
Defines all events.
|
||||
|
||||
| Value | Name | Description |
|
||||
|-------|------|-------------|
|
||||
| 1 | RedDragon | Red dragon invasion. |
|
||||
| 3 | GoldenDragon | Golden dragon invasion. |
|
||||
29
docs/Packets/C1-0D-ServerMessage_by-server.md
Normal file
29
docs/Packets/C1-0D-ServerMessage_by-server.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# C1 0D - ServerMessage (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x0D | Packet header - packet type identifier |
|
||||
| 3 | 1 | MessageType | | Type |
|
||||
| 4 | | String | | Message |
|
||||
|
||||
### MessageType Enum
|
||||
|
||||
Defines a type of a server message.
|
||||
|
||||
| Value | Name | Description |
|
||||
|-------|------|-------------|
|
||||
| 0 | GoldenCenter | The message is shown as centered golden message in the client. |
|
||||
| 1 | BlueNormal | The message is shown as a blue system message. |
|
||||
| 2 | GuildNotice | The message is a guild notice, centered in green. |
|
||||
19
docs/Packets/C1-0F-WeatherStatusUpdate_by-server.md
Normal file
19
docs/Packets/C1-0F-WeatherStatusUpdate_by-server.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# C1 0F - WeatherStatusUpdate (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
The weather on the current map has been changed or the player entered the map.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The game client updates the weather effects.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 4 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x0F | Packet header - packet type identifier |
|
||||
| 3 | 4 bit | Byte | | Weather; A random value between 0 and 2 (inclusive). |
|
||||
| 3 | 4 bit | Byte | | Variation; A random value between 0 and 9 (inclusive). |
|
||||
21
docs/Packets/C1-10-ObjectWalked075_by-server.md
Normal file
21
docs/Packets/C1-10-ObjectWalked075_by-server.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# C1 10 - ObjectWalked075 (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
An object in the observed scope (including the own player) walked to another position.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The object is animated to walk to the new position.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 8 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x10 | Packet header - packet type identifier |
|
||||
| 3 | 2 | ShortBigEndian | | ObjectId |
|
||||
| 5 | 1 | Byte | | TargetX |
|
||||
| 6 | 1 | Byte | | TargetY |
|
||||
| 7 | 4 bit | Byte | | TargetRotation |
|
||||
22
docs/Packets/C1-10-WalkRequest075_by-client.md
Normal file
22
docs/Packets/C1-10-WalkRequest075_by-client.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# C1 10 - WalkRequest075 (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A player wants to walk on the game map.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
The player gets moved on the map, visible for other surrounding players.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x10 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | | SourceX |
|
||||
| 4 | 1 | Byte | | SourceY |
|
||||
| 5 | 4 bit | Byte | | StepCount |
|
||||
| 5 | 4 bit | Byte | | TargetRotation |
|
||||
| 6 | | Binary | | Directions; The directions of the walking path. The target is calculated by taking the source coordinates and applying the directions to it. |
|
||||
20
docs/Packets/C1-11-HitRequest_by-client.md
Normal file
20
docs/Packets/C1-11-HitRequest_by-client.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# C1 11 - HitRequest (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A player attacks a target without using a skill.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
Damage is calculated and the target is hit, if the attack was successful. A response is sent back with the caused damage, and all surrounding players get an animation message.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 7 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x11 | Packet header - packet type identifier |
|
||||
| 3 | 2 | ShortBigEndian | | TargetId |
|
||||
| 5 | 1 | Byte | | AttackAnimation |
|
||||
| 6 | 1 | Byte | | LookingDirection |
|
||||
42
docs/Packets/C1-11-ObjectHitExtended_by-server.md
Normal file
42
docs/Packets/C1-11-ObjectHitExtended_by-server.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# C1 11 - ObjectHitExtended (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
An object got hit in two cases: 1. When the own player is hit; 2. When the own player attacked some other object which got hit.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The damage is shown at the object which received the hit.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 16 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x11 | Packet header - packet type identifier |
|
||||
| 3 << 0 | 4 bit | DamageKind | | Kind |
|
||||
| 3 << 4 | 1 bit | Boolean | | IsRageFighterStreakHit |
|
||||
| 3 << 5 | 1 bit | Boolean | | IsRageFighterStreakFinalHit |
|
||||
| 3 << 6 | 1 bit | Boolean | | IsDoubleDamage |
|
||||
| 3 << 7 | 1 bit | Boolean | | IsTripleDamage |
|
||||
| 4 | 2 | ShortLittleEndian | | ObjectId |
|
||||
| 6 | 1 | Byte | | HealthStatus; Gets or sets the status of the remaining health in fractions of 1/250. |
|
||||
| 7 | 1 | Byte | | ShieldStatus; Gets or sets the status of the remaining shield in fractions of 1/250. |
|
||||
| 8 | 4 | IntegerLittleEndian | | HealthDamage |
|
||||
| 12 | 4 | IntegerLittleEndian | | ShieldDamage |
|
||||
|
||||
### DamageKind Enum
|
||||
|
||||
Defines the kind of the damage.
|
||||
|
||||
| Value | Name | Description |
|
||||
|-------|------|-------------|
|
||||
| 0 | NormalRed | Red color, used by normal damage. |
|
||||
| 1 | IgnoreDefenseCyan | Cyan color, usually used by ignore defense damage. |
|
||||
| 2 | ExcellentLightGreen | Light green color, usually used by excellent damage. |
|
||||
| 3 | CriticalBlue | Blue color, usually used by critical damage. |
|
||||
| 4 | ReflectedLightPink | Light pink color, usually used by reflected damage. |
|
||||
| 5 | PoisonDarkGreen | Dark green color, usually used by poison damage. |
|
||||
| 6 | DarkPink | Dark pink color. |
|
||||
| 7 | White | White color. |
|
||||
41
docs/Packets/C1-11-ObjectHit_by-server.md
Normal file
41
docs/Packets/C1-11-ObjectHit_by-server.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# C1 11 - ObjectHit (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
An object got hit in two cases: 1. When the own player is hit; 2. When the own player attacked some other object which got hit.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The damage is shown at the object which received the hit.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 10 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x11 | Packet header - packet type identifier |
|
||||
| 2 | 1 | Byte | | HeaderCode |
|
||||
| 3 | 2 | ShortBigEndian | | ObjectId |
|
||||
| 5 | 2 | ShortBigEndian | | HealthDamage |
|
||||
| 7 << 0 | 4 bit | DamageKind | | Kind |
|
||||
| 7 << 4 | 1 bit | Boolean | | IsRageFighterStreakHit |
|
||||
| 7 << 5 | 1 bit | Boolean | | IsRageFighterStreakFinalHit |
|
||||
| 7 << 6 | 1 bit | Boolean | | IsDoubleDamage |
|
||||
| 7 << 7 | 1 bit | Boolean | | IsTripleDamage |
|
||||
| 8 | 2 | ShortBigEndian | | ShieldDamage |
|
||||
|
||||
### DamageKind Enum
|
||||
|
||||
Defines the kind of the damage.
|
||||
|
||||
| Value | Name | Description |
|
||||
|-------|------|-------------|
|
||||
| 0 | NormalRed | Red color, used by normal damage. |
|
||||
| 1 | IgnoreDefenseCyan | Cyan color, usually used by ignore defense damage. |
|
||||
| 2 | ExcellentLightGreen | Light green color, usually used by excellent damage. |
|
||||
| 3 | CriticalBlue | Blue color, usually used by critical damage. |
|
||||
| 4 | ReflectedLightPink | Light pink color, usually used by reflected damage. |
|
||||
| 5 | PoisonDarkGreen | Dark green color, usually used by poison damage. |
|
||||
| 6 | DarkPink | Dark pink color. |
|
||||
| 7 | White | White color. |
|
||||
29
docs/Packets/C1-14-MapObjectOutOfScope_by-server.md
Normal file
29
docs/Packets/C1-14-MapObjectOutOfScope_by-server.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# C1 14 - MapObjectOutOfScope (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
One or more objects (player, npc, etc.) on the map got out of scope, e.g. when the own player moved away from it/them or the object itself moved.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The game client removes the objects from the game map.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x14 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | | ObjectCount |
|
||||
| 4 | ObjectId.Length * ObjectCount | Array of ObjectId | | Objects |
|
||||
|
||||
### ObjectId Structure
|
||||
|
||||
Contains the id of a object.
|
||||
|
||||
Length: 2 Bytes
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 2 | ShortBigEndian | | Id |
|
||||
19
docs/Packets/C1-15-InstantMoveRequest_by-client.md
Normal file
19
docs/Packets/C1-15-InstantMoveRequest_by-client.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# C1 15 - InstantMoveRequest (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
It's sent when the player performs specific skills.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
Usually, the player is moved instantly to the specified coordinates on the current map. In OpenMU, this request is not handled, because it allows hackers to "teleport" to any coordinates.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 5 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x15 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | | TargetX |
|
||||
| 4 | 1 | Byte | | TargetY |
|
||||
21
docs/Packets/C1-15-ObjectMoved_by-server.md
Normal file
21
docs/Packets/C1-15-ObjectMoved_by-server.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# C1 15 - ObjectMoved (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
An object in the observed scope (including the own player) moved instantly.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The position of the object is updated on client side.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 8 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x15 | Packet header - packet type identifier |
|
||||
| 2 | 1 | Byte | | HeaderCode |
|
||||
| 3 | 2 | ShortBigEndian | | ObjectId |
|
||||
| 5 | 1 | Byte | | PositionX |
|
||||
| 6 | 1 | Byte | | PositionY |
|
||||
20
docs/Packets/C1-17-ObjectGotKilled_by-server.md
Normal file
20
docs/Packets/C1-17-ObjectGotKilled_by-server.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# C1 17 - ObjectGotKilled (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
An observed object was killed.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The object is shown as dead.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 9 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x17 | Packet header - packet type identifier |
|
||||
| 3 | 2 | ShortBigEndian | | KilledId |
|
||||
| 5 | 2 | ShortBigEndian | | SkillId |
|
||||
| 7 | 2 | ShortBigEndian | | KillerId |
|
||||
19
docs/Packets/C1-18-AnimationRequest_by-client.md
Normal file
19
docs/Packets/C1-18-AnimationRequest_by-client.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# C1 18 - AnimationRequest (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A player does any kind of animation.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
The animation number and rotation is forwarded to all surrounding players.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 5 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x18 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | | Rotation |
|
||||
| 4 | 1 | Byte | | AnimationNumber |
|
||||
21
docs/Packets/C1-18-ObjectAnimation_by-server.md
Normal file
21
docs/Packets/C1-18-ObjectAnimation_by-server.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# C1 18 - ObjectAnimation (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
An object performs an animation.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The animation is shown for the specified object.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 9 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x18 | Packet header - packet type identifier |
|
||||
| 3 | 2 | ShortBigEndian | | ObjectId |
|
||||
| 5 | 1 | Byte | | Direction |
|
||||
| 6 | 1 | Byte | | Animation |
|
||||
| 7 | 2 | ShortBigEndian | | TargetId |
|
||||
21
docs/Packets/C1-19-SkillAnimation075_by-server.md
Normal file
21
docs/Packets/C1-19-SkillAnimation075_by-server.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# C1 19 - SkillAnimation075 (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
An object performs a skill which is directly targeted to another object.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The animation is shown on the user interface.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 8 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x19 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | | SkillId |
|
||||
| 4 | 2 | ShortBigEndian | | PlayerId |
|
||||
| 6 | 2 | ShortBigEndian | | TargetId |
|
||||
| 6 << 7 | 1 bit | Boolean | | EffectApplied |
|
||||
19
docs/Packets/C1-19-TargetedSkill075_by-client.md
Normal file
19
docs/Packets/C1-19-TargetedSkill075_by-client.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# C1 19 - TargetedSkill075 (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A player performs a skill with a target, e.g. attacking or buffing.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
Damage is calculated and the target is hit, if the attack was successful. A response is sent back with the caused damage, and all surrounding players get an animation message.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 6 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x19 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | | SkillIndex; The index of the skill in the skill list. |
|
||||
| 4 | 2 | ShortBigEndian | | TargetId |
|
||||
19
docs/Packets/C1-1B-MagicEffectCancelRequest_by-client.md
Normal file
19
docs/Packets/C1-1B-MagicEffectCancelRequest_by-client.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# C1 1B - MagicEffectCancelRequest (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A player cancels a specific magic effect of a skill, usually 'Infinity Arrow' and 'Wizardy Enhance'.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
The effect is cancelled and an update is sent to the player and all surrounding players.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 7 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x1B | Packet header - packet type identifier |
|
||||
| 3 | 2 | ShortBigEndian | | SkillId |
|
||||
| 5 | 2 | ShortBigEndian | | PlayerId |
|
||||
19
docs/Packets/C1-1B-MagicEffectCancelled075_by-server.md
Normal file
19
docs/Packets/C1-1B-MagicEffectCancelled075_by-server.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# C1 1B - MagicEffectCancelled075 (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A player cancelled a specific magic effect of a skill (Infinity Arrow, Wizardry Enhance), or an effect was removed due a timeout (Ice, Poison) or antidote.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The effect is removed from the target object.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 6 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x1B | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | | SkillId |
|
||||
| 4 | 2 | ShortBigEndian | | TargetId |
|
||||
19
docs/Packets/C1-1B-MagicEffectCancelled_by-server.md
Normal file
19
docs/Packets/C1-1B-MagicEffectCancelled_by-server.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# C1 1B - MagicEffectCancelled (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A player cancelled a specific magic effect of a skill (Infinity Arrow, Wizardry Enhance), or an effect was removed due a timeout (Ice, Poison) or antidote.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The effect is removed from the target object.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 7 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x1B | Packet header - packet type identifier |
|
||||
| 3 | 2 | ShortBigEndian | | SkillId |
|
||||
| 5 | 2 | ShortBigEndian | | TargetId |
|
||||
32
docs/Packets/C1-1D-AreaSkillHit075_by-client.md
Normal file
32
docs/Packets/C1-1D-AreaSkillHit075_by-client.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# C1 1D - AreaSkillHit075 (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
An area skill was performed and the client decided to hit one or more targets.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
The server is calculating the damage and applying it to the targets. The attacker gets a response back with the caused damage.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x1D | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | | SkillIndex; The index of the skill in the skill list. |
|
||||
| 4 | 1 | Byte | | TargetX |
|
||||
| 5 | 1 | Byte | | TargetY |
|
||||
| 6 | 1 | Byte | | TargetCount; The number of targets which are hit. |
|
||||
| 7 | TargetData.Length * TargetCount | Array of TargetData | | Targets |
|
||||
|
||||
### TargetData Structure
|
||||
|
||||
Contains the data of the target
|
||||
|
||||
Length: 2 Bytes
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 2 | ShortBigEndian | | TargetId |
|
||||
21
docs/Packets/C1-1E-AreaSkill075_by-client.md
Normal file
21
docs/Packets/C1-1E-AreaSkill075_by-client.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# C1 1E - AreaSkill075 (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A player is performing an skill which affects an area of the map.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
It's forwarded to all surrounding players, so that the animation is visible. In the original server implementation, no damage is done yet for attack skills - there are separate hit packets.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 7 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x1E | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | | SkillIndex; The index of the skill in the skill list. |
|
||||
| 4 | 1 | Byte | | TargetX |
|
||||
| 5 | 1 | Byte | | TargetY |
|
||||
| 6 | 1 | Byte | | Rotation |
|
||||
22
docs/Packets/C1-1E-AreaSkillAnimation075_by-server.md
Normal file
22
docs/Packets/C1-1E-AreaSkillAnimation075_by-server.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# C1 1E - AreaSkillAnimation075 (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
An object performs a skill which has effect on an area.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The animation is shown on the user interface.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 9 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x1E | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | | SkillId |
|
||||
| 4 | 2 | ShortBigEndian | | PlayerId |
|
||||
| 6 | 1 | Byte | | PointX |
|
||||
| 7 | 1 | Byte | | PointY |
|
||||
| 8 | 1 | Byte | | Rotation |
|
||||
18
docs/Packets/C1-22-PickupItemRequest075_by-client.md
Normal file
18
docs/Packets/C1-22-PickupItemRequest075_by-client.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# C1 22 - PickupItemRequest075 (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A player requests to pick up an item which is laying on the ground in the near of the players character.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
If the player is allowed to pick the item up, and is the first player which tried that, it tries to add the item to the inventory. The server sends a response about the result of the request.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 5 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x22 | Packet header - packet type identifier |
|
||||
| 3 | 2 | ShortBigEndian | | ItemId |
|
||||
19
docs/Packets/C1-23-ItemDropResponse_by-server.md
Normal file
19
docs/Packets/C1-23-ItemDropResponse_by-server.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# C1 23 - ItemDropResponse (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
The player requested to drop an item of his inventory. This message is the response about the success of the request.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
If successful, the client removes the item from the inventory user interface.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 5 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x23 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Boolean | | Success |
|
||||
| 4 | 1 | Byte | | InventorySlot |
|
||||
25
docs/Packets/C1-25-AppearanceChangedExtended_by-server.md
Normal file
25
docs/Packets/C1-25-AppearanceChangedExtended_by-server.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# C1 25 - AppearanceChangedExtended (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
The appearance of a player changed, all surrounding players are informed about it.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The appearance of the player is updated.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 14 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x25 | Packet header - packet type identifier |
|
||||
| 4 | 2 | ShortLittleEndian | | ChangedPlayerId |
|
||||
| 6 | 1 | Byte | | ItemSlot |
|
||||
| 7 | 1 | Byte | | ItemGroup |
|
||||
| 8 | 2 | ShortLittleEndian | | ItemNumber |
|
||||
| 10 | 1 | Byte | | ItemLevel |
|
||||
| 11 | 1 | Byte | | ExcellentFlags |
|
||||
| 12 | 1 | Byte | | AncientDiscriminator |
|
||||
| 13 | 1 | Boolean | | IsAncientSetComplete |
|
||||
19
docs/Packets/C1-25-AppearanceChanged_by-server.md
Normal file
19
docs/Packets/C1-25-AppearanceChanged_by-server.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# C1 25 - AppearanceChanged (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
The appearance of a player changed, all surrounding players are informed about it.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The appearance of the player is updated.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x25 | Packet header - packet type identifier |
|
||||
| 3 | 2 | ShortBigEndian | | ChangedPlayerId |
|
||||
| 5 | | Binary | | ItemData |
|
||||
19
docs/Packets/C1-26-ConsumeItemRequest075_by-client.md
Normal file
19
docs/Packets/C1-26-ConsumeItemRequest075_by-client.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# C1 26 - ConsumeItemRequest075 (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A player requests to 'consume' an item. This can be a potion which recovers some kind of attribute, or a jewel to upgrade a target item.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
The server tries to 'consume' the specified item and responses accordingly.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 5 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x26 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | | ItemSlot; The inventory slot index of the item which should be consumed. |
|
||||
| 4 | 1 | Byte | | TargetSlot; If the item has an effect on another item, e.g. upgrading it, this field contains the inventory slot index of the target item. |
|
||||
@@ -0,0 +1,20 @@
|
||||
# C1 26 FD - ItemConsumptionFailedExtended (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
When the consumption of an item failed.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The game client gets a feedback about a failed consumption, and allows for do further consumption requests.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 12 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x26 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | 0xFD | Packet header - sub packet type identifier |
|
||||
| 4 | 4 | IntegerLittleEndian | | Health |
|
||||
| 8 | 4 | IntegerLittleEndian | | Shield |
|
||||
20
docs/Packets/C1-26-FD-ItemConsumptionFailed_by-server.md
Normal file
20
docs/Packets/C1-26-FD-ItemConsumptionFailed_by-server.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# C1 26 FD - ItemConsumptionFailed (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
When the consumption of an item failed.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The game client gets a feedback about a failed consumption, and allows for do further consumption requests.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 9 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x26 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | 0xFD | Packet header - sub packet type identifier |
|
||||
| 4 | 2 | ShortBigEndian | | Health |
|
||||
| 7 | 2 | ShortBigEndian | | Shield |
|
||||
20
docs/Packets/C1-26-FE-MaximumHealthAndShield_by-server.md
Normal file
20
docs/Packets/C1-26-FE-MaximumHealthAndShield_by-server.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# C1 26 FE - MaximumHealthAndShield (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
When the maximum health changed, e.g. by adding stat points or changed items.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The health and shield bar is updated on the game client user interface.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 9 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x26 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | 0xFE | Packet header - sub packet type identifier |
|
||||
| 4 | 2 | ShortBigEndian | | Health |
|
||||
| 7 | 2 | ShortBigEndian | | Shield |
|
||||
22
docs/Packets/C1-26-FE-MaximumStatsExtended_by-server.md
Normal file
22
docs/Packets/C1-26-FE-MaximumStatsExtended_by-server.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# C1 26 FE - MaximumStatsExtended (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
When the maximum stats, like health, shield, mana or attack speed changed on the server side, e.g. by adding stat points or changed items.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The values are updated on the game client user interface.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 20 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x26 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | 0xFE | Packet header - sub packet type identifier |
|
||||
| 4 | 4 | IntegerLittleEndian | | Health |
|
||||
| 8 | 4 | IntegerLittleEndian | | Shield |
|
||||
| 12 | 4 | IntegerLittleEndian | | Mana |
|
||||
| 16 | 4 | IntegerLittleEndian | | Ability |
|
||||
20
docs/Packets/C1-26-FF-CurrentHealthAndShield_by-server.md
Normal file
20
docs/Packets/C1-26-FF-CurrentHealthAndShield_by-server.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# C1 26 FF - CurrentHealthAndShield (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
Periodically, or if the current health or shield changed on the server side, e.g. by hits.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The health and shield bar is updated on the game client user interface.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 9 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x26 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | 0xFF | Packet header - sub packet type identifier |
|
||||
| 4 | 2 | ShortBigEndian | | Health |
|
||||
| 7 | 2 | ShortBigEndian | | Shield |
|
||||
24
docs/Packets/C1-26-FF-CurrentStatsExtended_by-server.md
Normal file
24
docs/Packets/C1-26-FF-CurrentStatsExtended_by-server.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# C1 26 FF - CurrentStatsExtended (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
Periodically, or if the current stats, like health, shield, mana or attack speed changed on the server side, e.g. by hits.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The values are updated on the game client user interface.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 24 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x26 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | 0xFF | Packet header - sub packet type identifier |
|
||||
| 4 | 4 | IntegerLittleEndian | | Health |
|
||||
| 8 | 4 | IntegerLittleEndian | | Shield |
|
||||
| 12 | 4 | IntegerLittleEndian | | Mana |
|
||||
| 16 | 4 | IntegerLittleEndian | | Ability |
|
||||
| 20 | 2 | ShortLittleEndian | | AttackSpeed |
|
||||
| 22 | 2 | ShortLittleEndian | | MagicSpeed |
|
||||
20
docs/Packets/C1-27-FE-MaximumManaAndAbility_by-server.md
Normal file
20
docs/Packets/C1-27-FE-MaximumManaAndAbility_by-server.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# C1 27 FE - MaximumManaAndAbility (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
The maximum available mana or ability has changed, e.g. by adding stat points.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The mana and ability bar is updated on the game client user interface.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 8 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x27 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | 0xFE | Packet header - sub packet type identifier |
|
||||
| 4 | 2 | ShortBigEndian | | Mana |
|
||||
| 6 | 2 | ShortBigEndian | | Ability |
|
||||
20
docs/Packets/C1-27-FF-CurrentManaAndAbility_by-server.md
Normal file
20
docs/Packets/C1-27-FF-CurrentManaAndAbility_by-server.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# C1 27 FF - CurrentManaAndAbility (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
The currently available mana or ability has changed, e.g. by using a skill.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The mana and ability bar is updated on the game client user interface.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 8 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x27 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | 0xFF | Packet header - sub packet type identifier |
|
||||
| 4 | 2 | ShortBigEndian | | Mana |
|
||||
| 6 | 2 | ShortBigEndian | | Ability |
|
||||
19
docs/Packets/C1-28-ItemRemoved_by-server.md
Normal file
19
docs/Packets/C1-28-ItemRemoved_by-server.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# C1 28 - ItemRemoved (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
The item has been removed from the inventory of the player.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The client removes the item in the inventory user interface.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 5 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x28 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | | InventorySlot; The affected slot of the item in the inventory. |
|
||||
| 4 | 1 | Byte | 1 | TrueFlag |
|
||||
20
docs/Packets/C1-2A-ItemDurabilityChanged_by-server.md
Normal file
20
docs/Packets/C1-2A-ItemDurabilityChanged_by-server.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# C1 2A - ItemDurabilityChanged (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
The durability of an item in the inventory of the player has been changed.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The client updates the item in the inventory user interface.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 6 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x2A | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | | InventorySlot |
|
||||
| 4 | 1 | Byte | | Durability |
|
||||
| 5 | 1 | Boolean | | ByConsumption; true, if the change resulted from an item consumption; otherwise, false |
|
||||
50
docs/Packets/C1-2C-FruitConsumptionResponse_by-server.md
Normal file
50
docs/Packets/C1-2C-FruitConsumptionResponse_by-server.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# C1 2C - FruitConsumptionResponse (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
The player requested to consume a fruit.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The client updates the user interface, by changing the added stat points and used fruit points.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 7 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x2C | Packet header - packet type identifier |
|
||||
| 3 | 1 | FruitConsumptionResult | | Result |
|
||||
| 4 | 2 | ShortLittleEndian | | StatPoints |
|
||||
| 6 | 1 | FruitStatType | | StatType |
|
||||
|
||||
### FruitConsumptionResult Enum
|
||||
|
||||
Defines the result of the fruit consumption request.
|
||||
|
||||
| Value | Name | Description |
|
||||
|-------|------|-------------|
|
||||
| 0 | PlusSuccess | Consumption to add points was successful. |
|
||||
| 1 | PlusFailed | Consumption to add points failed. |
|
||||
| 2 | PlusPrevented | Consumption to add points was prevented because some conditions were not correct. |
|
||||
| 3 | MinusSuccess | Consumption to remove points was successful. |
|
||||
| 4 | MinusFailed | Consumption to remove points failed. |
|
||||
| 5 | MinusPrevented | Consumption to remove points was prevented because some conditions were not correct. |
|
||||
| 6 | MinusSuccessCashShopFruit | Consumption to remove points was successful, removed by a fruit acquired through the cash shop. |
|
||||
| 16 | PreventedByEquippedItems | Consumption was prevented because an item was equipped. |
|
||||
| 33 | PlusPreventedByMaximum | Consumption to add points was prevented because the maximum amount of points have been added. |
|
||||
| 37 | MinusPreventedByMaximum | Consumption to remove points was prevented because the maximum amount of points have been removed. |
|
||||
| 38 | MinusPreventedByDefault | Consumption to remove points was prevented because the base amount of stat points of the character class cannot be undercut. |
|
||||
|
||||
### FruitStatType Enum
|
||||
|
||||
Defines the type of stat which the fruit modifies.
|
||||
|
||||
| Value | Name | Description |
|
||||
|-------|------|-------------|
|
||||
| 0 | Energy | Fruit which modifies the energy stat. |
|
||||
| 1 | Vitality | Fruit which modifies the vitality stat. |
|
||||
| 2 | Agility | Fruit which modifies the agility stat. |
|
||||
| 3 | Strength | Fruit which modifies the strength stat. |
|
||||
| 4 | Leadership | Fruit which modifies the leadership stat. |
|
||||
65
docs/Packets/C1-2D-EffectItemConsumption_by-server.md
Normal file
65
docs/Packets/C1-2D-EffectItemConsumption_by-server.md
Normal file
@@ -0,0 +1,65 @@
|
||||
# C1 2D - EffectItemConsumption (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
The player requested to consume an item which gives a magic effect.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The client updates the user interface, it shows the remaining time at the effect icon.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 17 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x2D | Packet header - packet type identifier |
|
||||
| 4 | 1 | EffectOrigin | | Origin |
|
||||
| 6 | 1 | EffectType | | Type |
|
||||
| 8 | 1 | EffectAction | | Action |
|
||||
| 12 | 4 | IntegerLittleEndian | | RemainingSeconds |
|
||||
| 16 | 1 | Byte | | MagicEffectNumber |
|
||||
|
||||
### EffectOrigin Enum
|
||||
|
||||
Defines the origin of the effect.
|
||||
|
||||
| Value | Name | Description |
|
||||
|-------|------|-------------|
|
||||
| 0 | Undefined | Not defined. |
|
||||
| 1 | HalloweenAndCherryBlossomEvent | Options of Halloween and Cherry Blossom Event items. |
|
||||
| 2 | CashShopItem | Options of cash shop items, like Seals. |
|
||||
|
||||
### EffectAction Enum
|
||||
|
||||
Defines the effect option.
|
||||
|
||||
| Value | Name | Description |
|
||||
|-------|------|-------------|
|
||||
| 0 | Add | Effect is added. |
|
||||
| 1 | Remove | Effect is removed. |
|
||||
| 2 | Replace | Effect is removed, because its getting replaced. |
|
||||
|
||||
### EffectType Enum
|
||||
|
||||
Defines the kind of effect which was applied.
|
||||
|
||||
| Value | Name | Description |
|
||||
|-------|------|-------------|
|
||||
| 1 | AttackSpeed | Attack speed increase. |
|
||||
| 2 | Damage | Damage increase. |
|
||||
| 3 | Defense | Defense increase. |
|
||||
| 4 | MaximumHealth | Maximum Health increase. |
|
||||
| 5 | MaximumMana | Maximum Mana increase. |
|
||||
| 6 | ExperienceRate | Experience rate increase. |
|
||||
| 7 | DropRate | Drop rate increase. |
|
||||
| 8 | Sustenance | Sustenance effect, means no experience is gained during this effect. |
|
||||
| 9 | Strength | Strength stat increase. |
|
||||
| 10 | Agility | Agility stat increase. |
|
||||
| 11 | Vitality | Vitality stat increase. |
|
||||
| 12 | Energy | Energy stat increase. |
|
||||
| 13 | Leadership | Leadership stat increase. |
|
||||
| 14 | PhysicalDamage | Physical damage increase. |
|
||||
| 15 | WizardryDamage | Wizardry damage increase. |
|
||||
| 16 | Mobility | Mobility increase. |
|
||||
22
docs/Packets/C1-2F-MoneyDroppedExtended_by-server.md
Normal file
22
docs/Packets/C1-2F-MoneyDroppedExtended_by-server.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# C1 2F - MoneyDroppedExtended (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
Money dropped on the ground.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The client adds the money to the ground.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 12 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x2F | Packet header - packet type identifier |
|
||||
| 3 | 1 | Boolean | | IsFreshDrop; If this flag is set, the money is added to the map with an animation and sound. Otherwise, it's just added like it was already on the ground before. |
|
||||
| 4 | 2 | ShortLittleEndian | | Id |
|
||||
| 6 | 1 | Byte | | PositionX |
|
||||
| 7 | 1 | Byte | | PositionY |
|
||||
| 8 | 4 | IntegerLittleEndian | | Amount |
|
||||
17
docs/Packets/C1-31-CloseNpcRequest_by-client.md
Normal file
17
docs/Packets/C1-31-CloseNpcRequest_by-client.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# C1 31 - CloseNpcRequest (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A player closes the dialog which was opened by an interaction with a NPC.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
The server updates the state of the player accordingly.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 3 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x31 | Packet header - packet type identifier |
|
||||
18
docs/Packets/C1-32-FF-NpcItemBuyFailed_by-server.md
Normal file
18
docs/Packets/C1-32-FF-NpcItemBuyFailed_by-server.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# C1 32 FF - NpcItemBuyFailed (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
The request of buying an item from a NPC failed.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The client is responsive again. Without this message, it may stuck.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 4 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x32 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | 0xFF | Packet header - sub packet type identifier |
|
||||
19
docs/Packets/C1-32-ItemBought_by-server.md
Normal file
19
docs/Packets/C1-32-ItemBought_by-server.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# C1 32 - ItemBought (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
The request of buying an item from a player or npc was successful.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The bought item is added to the inventory.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x32 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | | InventorySlot |
|
||||
| 4 | | Binary | | ItemData |
|
||||
19
docs/Packets/C1-34-RepairItemRequest_by-client.md
Normal file
19
docs/Packets/C1-34-RepairItemRequest_by-client.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# C1 34 - RepairItemRequest (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A player wants to repair an item of his inventory.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
The item is repaired if the player has enough money in its inventory. A corresponding response is sent.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 5 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x34 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | | ItemSlot; Inventory item slot of the target item. If it's 0xFF, the player wants to repair all items - this is only possible with some opened NPC dialogs. Repairing the pet item slot (8) is only possible when the pet trainer npc is opened. |
|
||||
| 4 | 1 | Boolean | | IsSelfRepair; If the player repairs it over his inventory, it's true. However, a server should never rely on this flag and do his own checks. |
|
||||
21
docs/Packets/C1-37-TradeRequestAnswer_by-server.md
Normal file
21
docs/Packets/C1-37-TradeRequestAnswer_by-server.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# C1 37 - TradeRequestAnswer (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
The player which receives this message, sent a trade request to another player. This message is sent when the other player responded to this request.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
If the trade was accepted, a trade dialog is opened. Otherwise, a message is shown.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 20 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x37 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Boolean | | Accepted |
|
||||
| 4 | 10 | String | | Name |
|
||||
| 14 | 2 | ShortBigEndian | | TradePartnerLevel |
|
||||
| 16 | 4 | IntegerLittleEndian | | GuildId |
|
||||
18
docs/Packets/C1-37-TradeRequestResponse_by-client.md
Normal file
18
docs/Packets/C1-37-TradeRequestResponse_by-client.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# C1 37 - TradeRequestResponse (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A requested player responded to a trade request of another player.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
When the trade request was accepted, the server tries to open a new trade and sends corresponding responses to both players.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 4 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x37 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Boolean | | TradeAccepted |
|
||||
18
docs/Packets/C1-38-TradeItemRemoved_by-server.md
Normal file
18
docs/Packets/C1-38-TradeItemRemoved_by-server.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# C1 38 - TradeItemRemoved (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
The trading partner removed an item from the trade.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The item is removed from the trade dialog.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 4 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x38 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | | Slot |
|
||||
19
docs/Packets/C1-39-TradeItemAdded_by-server.md
Normal file
19
docs/Packets/C1-39-TradeItemAdded_by-server.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# C1 39 - TradeItemAdded (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
The trading partner added an item to the trade.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The item is added in the trade dialog.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x39 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | | ToSlot |
|
||||
| 4 | | Binary | | ItemData |
|
||||
18
docs/Packets/C1-3A-01-TradeMoneySetResponse_by-server.md
Normal file
18
docs/Packets/C1-3A-01-TradeMoneySetResponse_by-server.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# C1 3A 01 - TradeMoneySetResponse (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
The trade money has been set by a previous request of the player.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The money which was set into the trade by the player is updated on the UI.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 4 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x3A | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | 0x01 | Packet header - sub packet type identifier |
|
||||
18
docs/Packets/C1-3A-SetTradeMoney_by-client.md
Normal file
18
docs/Packets/C1-3A-SetTradeMoney_by-client.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# C1 3A - SetTradeMoney (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A player requests to set an amount of money in the trade.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
It's taken from the available money of the inventory. If the new money amount is lower than the amount which was set before, it's added back to the inventory. The trade partner is informed about any change.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 8 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x3A | Packet header - packet type identifier |
|
||||
| 4 | 4 | IntegerLittleEndian | | Amount |
|
||||
18
docs/Packets/C1-3B-TradeMoneyUpdate_by-server.md
Normal file
18
docs/Packets/C1-3B-TradeMoneyUpdate_by-server.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# C1 3B - TradeMoneyUpdate (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
This message is sent when the trading partner put a certain amount of money (also 0) into the trade.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
It overrides all previous sent money values.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 8 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x3B | Packet header - packet type identifier |
|
||||
| 4 | 4 | IntegerLittleEndian | | MoneyAmount |
|
||||
28
docs/Packets/C1-3C-TradeButtonStateChange_by-client.md
Normal file
28
docs/Packets/C1-3C-TradeButtonStateChange_by-client.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# C1 3C - TradeButtonStateChange (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
The player presses the trade button.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
The state change is forwarded to the trade partner. If both players press the trade button at the same time, the server will try to complete the trade by exchanging the items and money.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 4 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x3C | Packet header - packet type identifier |
|
||||
| 3 | 1 | TradeButtonState | | NewState |
|
||||
|
||||
### TradeButtonState Enum
|
||||
|
||||
The state of the trade button.
|
||||
|
||||
| Value | Name | Description |
|
||||
|-------|------|-------------|
|
||||
| 0 | Unchecked | Trade button is not pressed. It means that the trade is not yet accepted by the trader. |
|
||||
| 1 | Checked | Trade Button is pressed. It means that the trade is accepted by the trader. |
|
||||
| 2 | Red | This state is only sent to the client. After some seconds the client is changing back to normal Unchecked. |
|
||||
28
docs/Packets/C1-3C-TradeButtonStateChanged_by-server.md
Normal file
28
docs/Packets/C1-3C-TradeButtonStateChanged_by-server.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# C1 3C - TradeButtonStateChanged (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
After the trading partner checked or unchecked the trade accept button.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The game client updates the trade button state accordingly.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 4 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x3C | Packet header - packet type identifier |
|
||||
| 3 | 1 | TradeButtonState | | State |
|
||||
|
||||
### TradeButtonState Enum
|
||||
|
||||
Defines the state of the trade button.
|
||||
|
||||
| Value | Name | Description |
|
||||
|-------|------|-------------|
|
||||
| 0 | Unchecked | Trade button is not pressed. It means that the trade is not yet accepted by the trader. |
|
||||
| 1 | Checked | Trade Button is pressed. It means that the trade is accepted by the trader. |
|
||||
| 2 | Red | This state is only sent to the client. After some seconds the client is changing back to normal Unchecked. |
|
||||
17
docs/Packets/C1-3D-TradeCancel_by-client.md
Normal file
17
docs/Packets/C1-3D-TradeCancel_by-client.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# C1 3D - TradeCancel (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
The player wants to cancel the trade.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
The trade is cancelled and the previous inventory state is restored.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 3 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x3D | Packet header - packet type identifier |
|
||||
30
docs/Packets/C1-3D-TradeFinished_by-server.md
Normal file
30
docs/Packets/C1-3D-TradeFinished_by-server.md
Normal file
@@ -0,0 +1,30 @@
|
||||
# C1 3D - TradeFinished (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A trade was finished.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The trade dialog is closed. Depending on the result, a message is shown.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 4 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x3D | Packet header - packet type identifier |
|
||||
| 3 | 1 | TradeResult | | Result |
|
||||
|
||||
### TradeResult Enum
|
||||
|
||||
Defines the result of a finished trade.
|
||||
|
||||
| Value | Name | Description |
|
||||
|-------|------|-------------|
|
||||
| 0 | Cancelled | The trade was cancelled. |
|
||||
| 1 | Success | The trade was successful. |
|
||||
| 2 | FailedByFullInventory | The trade failed because of a full inventory. |
|
||||
| 3 | TimedOut | The trade failed because the request timed out. |
|
||||
| 4 | FailedByItemsNotAllowedToTrade | The trade failed because one or more items were not allowed to trade. |
|
||||
@@ -0,0 +1,39 @@
|
||||
# C1 3F 06 - PlayerShopBuyResultExtended (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
After the player requested to buy an item of a shop of another player.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The result is shown to the player. If successful, the item is added to the inventory.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x3F | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | 0x06 | Packet header - sub packet type identifier |
|
||||
| 4 | 2 | ShortLittleEndian | | SellerId |
|
||||
| 6 | 1 | ResultKind | | Result |
|
||||
| 7 | 1 | Byte | | ItemSlot |
|
||||
| 8 | | Binary | | ItemData |
|
||||
|
||||
### ResultKind Enum
|
||||
|
||||
The kind of result.
|
||||
|
||||
| Value | Name | Description |
|
||||
|-------|------|-------------|
|
||||
| 0 | Undefined | Undefined result. |
|
||||
| 1 | Success | The item has been bought successfully. |
|
||||
| 2 | NotAvailable | The seller is not available. |
|
||||
| 3 | ShopNotOpened | The requested player has no open shop. |
|
||||
| 4 | InTransaction | The requested player is already in a transaction with another player. |
|
||||
| 5 | InvalidShopSlot | The requested item slot is invalid. |
|
||||
| 6 | NameMismatchOrPriceMissing | The requested player with the specified id has a different name or price is missing. |
|
||||
| 7 | LackOfMoney | The player has not enough money to buy the item from the seller. |
|
||||
| 8 | MoneyOverflowOrNotEnoughSpace | The selling player cannot sell the item, because the sale would overflow his money amount in the inventory. Another possibility is that the inventory of the buyer cannot take the item. |
|
||||
| 9 | ItemBlock | The requested player has item block active. |
|
||||
39
docs/Packets/C1-3F-06-PlayerShopBuyResult_by-server.md
Normal file
39
docs/Packets/C1-3F-06-PlayerShopBuyResult_by-server.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# C1 3F 06 - PlayerShopBuyResult (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
After the player requested to buy an item of a shop of another player.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The result is shown to the player. If successful, the item is added to the inventory.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 21 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x3F | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | 0x06 | Packet header - sub packet type identifier |
|
||||
| 4 | 1 | ResultKind | | Result |
|
||||
| 5 | 2 | ShortBigEndian | | SellerId |
|
||||
| 7 | 13 | Binary | | ItemData |
|
||||
| 20 | 1 | Byte | | ItemSlot |
|
||||
|
||||
### ResultKind Enum
|
||||
|
||||
The kind of result.
|
||||
|
||||
| Value | Name | Description |
|
||||
|-------|------|-------------|
|
||||
| 0 | Undefined | Undefined result. |
|
||||
| 1 | Success | The item has been bought successfully. |
|
||||
| 2 | NotAvailable | The seller is not available. |
|
||||
| 3 | ShopNotOpened | The requested player has no open shop. |
|
||||
| 4 | InTransaction | The requested player is already in a transaction with another player. |
|
||||
| 5 | InvalidShopSlot | The requested item slot is invalid. |
|
||||
| 6 | NameMismatchOrPriceMissing | The requested player with the specified id has a different name or price is missing. |
|
||||
| 7 | LackOfMoney | The player has not enough money to buy the item from the seller. |
|
||||
| 8 | MoneyOverflowOrNotEnoughSpace | The selling player cannot sell the item, because the sale would overflow his money amount in the inventory. Another possibility is that the inventory of the buyer cannot take the item. |
|
||||
| 9 | ItemBlock | The requested player has item block active. |
|
||||
@@ -0,0 +1,20 @@
|
||||
# C1 3F 08 - PlayerShopItemSoldToPlayer (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
An item of the players shop was sold to another player.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The item is removed from the players inventory and a blue system message appears.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 15 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x3F | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | 0x08 | Packet header - sub packet type identifier |
|
||||
| 4 | 1 | Byte | | InventorySlot |
|
||||
| 5 | 10 | String | | BuyerName |
|
||||
19
docs/Packets/C1-3F-12-ClosePlayerShopDialog_by-server.md
Normal file
19
docs/Packets/C1-3F-12-ClosePlayerShopDialog_by-server.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# C1 3F 12 - ClosePlayerShopDialog (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
After the player requested to close his shop or after all items has been sold.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The player shop dialog is closed for the shop of the specified player.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 6 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x3F | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | 0x12 | Packet header - sub packet type identifier |
|
||||
| 4 | 2 | ShortBigEndian | | PlayerId |
|
||||
19
docs/Packets/C1-3F-2-PlayerShopOpenSuccessful_by-server.md
Normal file
19
docs/Packets/C1-3F-2-PlayerShopOpenSuccessful_by-server.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# C1 3F 2 - PlayerShopOpenSuccessful (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
After the player requested to open his shop and this request was successful.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The own player shop is shown as open.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 5 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x3F | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | 0x2 | Packet header - sub packet type identifier |
|
||||
| 4 | 1 | Boolean | true | Success |
|
||||
20
docs/Packets/C1-3F-3-PlayerShopClosed_by-server.md
Normal file
20
docs/Packets/C1-3F-3-PlayerShopClosed_by-server.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# C1 3F 3 - PlayerShopClosed (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
After a player in scope requested to close his shop or after all items has been sold.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The player shop not shown as open anymore.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 7 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x3F | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | 0x3 | Packet header - sub packet type identifier |
|
||||
| 4 | 1 | Boolean | true | Success |
|
||||
| 5 | 2 | ShortBigEndian | | PlayerId |
|
||||
18
docs/Packets/C1-40-PartyInviteRequest_by-client.md
Normal file
18
docs/Packets/C1-40-PartyInviteRequest_by-client.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# C1 40 - PartyInviteRequest (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A party master wants to invite another player to his party.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
If the requesting player has no party, or is the party master, a request is sent to the target player.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 5 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x40 | Packet header - packet type identifier |
|
||||
| 3 | 2 | ShortBigEndian | | TargetPlayerId |
|
||||
18
docs/Packets/C1-40-PartyRequest_by-server.md
Normal file
18
docs/Packets/C1-40-PartyRequest_by-server.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# C1 40 - PartyRequest (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
Another player requests party from the receiver of this message.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The party request is shown.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 5 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x40 | Packet header - packet type identifier |
|
||||
| 3 | 2 | ShortBigEndian | | RequesterId |
|
||||
19
docs/Packets/C1-41-PartyInviteResponse_by-client.md
Normal file
19
docs/Packets/C1-41-PartyInviteResponse_by-client.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# C1 41 - PartyInviteResponse (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A player was invited by another player to join a party and this player sent the response back.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
If the sender accepts the request, it's added to the party.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 6 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x41 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Boolean | | Accepted |
|
||||
| 4 | 2 | ShortBigEndian | | RequesterId |
|
||||
34
docs/Packets/C1-42-01-PartyList075_by-server.md
Normal file
34
docs/Packets/C1-42-01-PartyList075_by-server.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# C1 42 01 - PartyList075 (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A player joined a party or requested the current party list by opening the party dialog.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The party list is updated.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x42 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | 0x01 | Packet header - sub packet type identifier |
|
||||
| 4 | 1 | Byte | | Count |
|
||||
| 5 | PartyMember.Length * Count | Array of PartyMember | | Members |
|
||||
|
||||
### PartyMember Structure
|
||||
|
||||
Data about a party member.
|
||||
|
||||
Length: 14 Bytes
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 10 | String | | Name |
|
||||
| 10 | 1 | Byte | | Index |
|
||||
| 11 | 1 | Byte | | MapId |
|
||||
| 12 | 1 | Byte | | PositionX |
|
||||
| 13 | 1 | Byte | | PositionY |
|
||||
36
docs/Packets/C1-42-01-PartyList_by-server.md
Normal file
36
docs/Packets/C1-42-01-PartyList_by-server.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# C1 42 01 - PartyList (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A player joined a party or requested the current party list by opening the party dialog.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The party list is updated.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x42 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | 0x01 | Packet header - sub packet type identifier |
|
||||
| 4 | 1 | Byte | | Count |
|
||||
| 5 | PartyMember.Length * Count | Array of PartyMember | | Members |
|
||||
|
||||
### PartyMember Structure
|
||||
|
||||
Data about a party member.
|
||||
|
||||
Length: 24 Bytes
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 10 | String | | Name |
|
||||
| 10 | 1 | Byte | | Index |
|
||||
| 11 | 1 | Byte | | MapId |
|
||||
| 12 | 1 | Byte | | PositionX |
|
||||
| 13 | 1 | Byte | | PositionY |
|
||||
| 16 | 4 | IntegerLittleEndian | | CurrentHealth |
|
||||
| 20 | 4 | IntegerLittleEndian | | MaximumHealth |
|
||||
17
docs/Packets/C1-42-PartyListRequest_by-client.md
Normal file
17
docs/Packets/C1-42-PartyListRequest_by-client.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# C1 42 - PartyListRequest (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
When the player opens the party menu in the game client.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
If the player is in a party, the server sends back a list with information about all players of the party.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 3 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x42 | Packet header - packet type identifier |
|
||||
18
docs/Packets/C1-43-PartyPlayerKickRequest_by-client.md
Normal file
18
docs/Packets/C1-43-PartyPlayerKickRequest_by-client.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# C1 43 - PartyPlayerKickRequest (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A party master wants to kick another player from his party, or when a player wants to kick himself from his party.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
If the sending player is the party master, or the player wants to kick himself, the target player is removed from the party.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 4 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x43 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | | PlayerIndex |
|
||||
18
docs/Packets/C1-43-RemovePartyMember_by-server.md
Normal file
18
docs/Packets/C1-43-RemovePartyMember_by-server.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# C1 43 - RemovePartyMember (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A party member got removed from a party in which the player is in.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The party member with the specified index is removed from the party list on the user interface.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 4 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x43 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | | Index |
|
||||
30
docs/Packets/C1-44-PartyHealthUpdate_by-server.md
Normal file
30
docs/Packets/C1-44-PartyHealthUpdate_by-server.md
Normal file
@@ -0,0 +1,30 @@
|
||||
# C1 44 - PartyHealthUpdate (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
Periodically, when the health state of the party changed.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The party health list is updated.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x44 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | | Count |
|
||||
| 4 | PartyMemberHealth.Length * Count | Array of PartyMemberHealth | | Members |
|
||||
|
||||
### PartyMemberHealth Structure
|
||||
|
||||
Health of a party member
|
||||
|
||||
Length: 1 Bytes
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 4 bit | Byte | | Index |
|
||||
| 0 | 4 bit | Byte | | Value; A value from 0 to 10 about the health of a player. 10 means the current health is 100% of the maximum health. |
|
||||
47
docs/Packets/C1-46-ChangeTerrainAttributes_by-server.md
Normal file
47
docs/Packets/C1-46-ChangeTerrainAttributes_by-server.md
Normal file
@@ -0,0 +1,47 @@
|
||||
# C1 46 - ChangeTerrainAttributes (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
The server wants to alter the terrain attributes of a map at runtime.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The client updates the terrain attributes on its side.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x46 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Boolean | false | Type |
|
||||
| 4 | 1 | TerrainAttributeType | | Attribute |
|
||||
| 5 | 1 | Boolean | | RemoveAttribute; When this is true, the attribute is removed on the client side. If it's false, then the attribute is added. |
|
||||
| 6 | 1 | Byte | | AreaCount |
|
||||
| 7 | TerrainArea.Length * AreaCount | Array of TerrainArea | | Areas |
|
||||
|
||||
### TerrainArea Structure
|
||||
|
||||
Defines the area which should be changed.
|
||||
|
||||
Length: 4 Bytes
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | | StartX |
|
||||
| 1 | 1 | Byte | | StartY |
|
||||
| 2 | 1 | Byte | | EndX |
|
||||
| 3 | 1 | Byte | | EndY |
|
||||
|
||||
### TerrainAttributeType Enum
|
||||
|
||||
Defines the attribute which should be set/unset. It's a Flags enumeration.
|
||||
|
||||
| Value | Name | Description |
|
||||
|-------|------|-------------|
|
||||
| 1 | Safezone | The coordinate is a safezone. |
|
||||
| 2 | Character | The coordinate is occupied by a character. |
|
||||
| 4 | Blocked | The coordinate is blocked and can't be passed by a character. |
|
||||
| 8 | NoGround | The coordinate is blocked, because there is no ground and can't be passed by a character. |
|
||||
| 16 | Water | The coordinate is blocked by water and can't be passed by a character. |
|
||||
29
docs/Packets/C1-48-ShowEffect_by-server.md
Normal file
29
docs/Packets/C1-48-ShowEffect_by-server.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# C1 48 - ShowEffect (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
After a player achieved or lost something.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
An effect is shown for the affected player.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 6 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x48 | Packet header - packet type identifier |
|
||||
| 3 | 2 | ShortBigEndian | | PlayerId |
|
||||
| 5 | 1 | EffectType | | Effect |
|
||||
|
||||
### EffectType Enum
|
||||
|
||||
Defines the effect which is shown for the player.
|
||||
|
||||
| Value | Name | Description |
|
||||
|-------|------|-------------|
|
||||
| 3 | ShieldPotion | The player gained shield by drinking a potion. |
|
||||
| 16 | LevelUp | A level up effect is shown for the player. |
|
||||
| 17 | ShieldLost | The players shield depleted. |
|
||||
19
docs/Packets/C1-4B-RageAttackRangeRequest_by-client.md
Normal file
19
docs/Packets/C1-4B-RageAttackRangeRequest_by-client.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# C1 4B - RageAttackRangeRequest (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A player (rage fighter) performs the dark side skill on a target.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
The targets (up to 5) are determined and sent back to the player with the RageAttackRangeResponse.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 7 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x4B | Packet header - packet type identifier |
|
||||
| 3 | 2 | ShortBigEndian | | SkillId |
|
||||
| 5 | 2 | ShortBigEndian | | TargetId |
|
||||
29
docs/Packets/C1-4B-RageAttackRangeResponse_by-server.md
Normal file
29
docs/Packets/C1-4B-RageAttackRangeResponse_by-server.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# C1 4B - RageAttackRangeResponse (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A player (rage fighter) performs the dark side skill on a target and sent a RageAttackRangeRequest.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The targets are attacked with visual effects.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 16 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x4B | Packet header - packet type identifier |
|
||||
| 4 | 2 | ShortLittleEndian | | SkillId |
|
||||
| 6 | RageTarget.Length * | Array of RageTarget | | Targets |
|
||||
|
||||
### RageTarget Structure
|
||||
|
||||
Contains the target identifier.
|
||||
|
||||
Length: 2 Bytes
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 2 | ShortLittleEndian | 10000 | TargetId |
|
||||
18
docs/Packets/C1-50-GuildJoinRequest_by-client.md
Normal file
18
docs/Packets/C1-50-GuildJoinRequest_by-client.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# C1 50 - GuildJoinRequest (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A player (non-guild member) requests to join a guild.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
The request is forwarded to the guild master. There can only be one request at a time. If the guild master already has an open request, a corresponding response is directly sent back to the requesting player.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 5 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x50 | Packet header - packet type identifier |
|
||||
| 3 | 2 | ShortBigEndian | | GuildMasterPlayerId |
|
||||
18
docs/Packets/C1-50-GuildJoinRequest_by-server.md
Normal file
18
docs/Packets/C1-50-GuildJoinRequest_by-server.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# C1 50 - GuildJoinRequest (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A player requested to join a guild. This message is sent then to the guild master.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The guild master gets a message box with the request popping up.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 5 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x50 | Packet header - packet type identifier |
|
||||
| 3 | 2 | ShortBigEndian | | RequesterId |
|
||||
19
docs/Packets/C1-51-GuildJoinResponse_by-client.md
Normal file
19
docs/Packets/C1-51-GuildJoinResponse_by-client.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# C1 51 - GuildJoinResponse (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A guild master responded to a previously sent request.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
If the request was accepted by the guild master, the previously requesting player is added to the guild.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 6 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x51 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Boolean | | Accepted |
|
||||
| 4 | 2 | ShortBigEndian | | RequesterId |
|
||||
33
docs/Packets/C1-51-GuildJoinResponse_by-server.md
Normal file
33
docs/Packets/C1-51-GuildJoinResponse_by-server.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# C1 51 - GuildJoinResponse (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
After a guild master responded to a request of a player to join his guild. This message is sent back to the requesting player.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The requester gets a corresponding message showing.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 4 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x51 | Packet header - packet type identifier |
|
||||
| 3 | 1 | GuildJoinRequestResult | | Result |
|
||||
|
||||
### GuildJoinRequestResult Enum
|
||||
|
||||
The result of the guild join request.
|
||||
|
||||
| Value | Name | Description |
|
||||
|-------|------|-------------|
|
||||
| 0 | Refused | Refused by the guild master. |
|
||||
| 1 | Accepted | Accepted by the guild master. |
|
||||
| 2 | GuildFull | The guild is full. |
|
||||
| 3 | Disconnected | The guild master is disconnected. |
|
||||
| 4 | NotTheGuildMaster | The requested player is not the guild master of its guild. |
|
||||
| 5 | AlreadyHaveGuild | The player already has a guild. |
|
||||
| 6 | GuildMasterOrRequesterIsBusy | he guild master or the requesting player is busy, e.g. by another request or by an ongoing guild war. |
|
||||
| 7 | MinimumLevel6 | The requesting player needs a minimum level of 6. |
|
||||
17
docs/Packets/C1-52-GuildListRequest_by-client.md
Normal file
17
docs/Packets/C1-52-GuildListRequest_by-client.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# C1 52 - GuildListRequest (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A guild player opens its guild menu in the game client.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
A list of all guild members and their state is sent back as response.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 3 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x52 | Packet header - packet type identifier |
|
||||
19
docs/Packets/C1-53-GuildKickPlayerRequest_by-client.md
Normal file
19
docs/Packets/C1-53-GuildKickPlayerRequest_by-client.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# C1 53 - GuildKickPlayerRequest (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
A guild member wants to kick himself or a guild master wants to kick another player from its guild.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
If the player is allowed to kick the player, it's removed from the guild. If the guild master kicks himself, the guild is disbanded. Corresponding responses are sent to all involved players.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x53 | Packet header - packet type identifier |
|
||||
| 3 | 10 | String | | PlayerName |
|
||||
| 13 | | String | | SecurityCode |
|
||||
31
docs/Packets/C1-53-GuildKickResponse_by-server.md
Normal file
31
docs/Packets/C1-53-GuildKickResponse_by-server.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# C1 53 - GuildKickResponse (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
After a guild master sent a request to kick a player from its guild and the server processed this request.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The client shows a message depending on the result.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 4 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x53 | Packet header - packet type identifier |
|
||||
| 3 | 1 | GuildKickSuccess | | Result |
|
||||
|
||||
### GuildKickSuccess Enum
|
||||
|
||||
The result of the guild kick request.
|
||||
|
||||
| Value | Name | Description |
|
||||
|-------|------|-------------|
|
||||
| 0 | FailedPasswordIncorrect | The kick request failed because of an incorrect password. |
|
||||
| 1 | KickSucceeded | The kick request was successful. |
|
||||
| 2 | KickFailedBecausePlayerIsNotGuildMaster | The kick failed because player is not guild master. |
|
||||
| 3 | Failed | The kick request failed. |
|
||||
| 4 | GuildDisband | The guild has been disbanded. |
|
||||
| 5 | GuildMemberWithdrawn | The guild member has been withdrawn. |
|
||||
18
docs/Packets/C1-54-GuildMasterAnswer_by-client.md
Normal file
18
docs/Packets/C1-54-GuildMasterAnswer_by-client.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# C1 54 - GuildMasterAnswer (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
The player has the dialog of the guild master NPC opened and decided about its next step.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
It either cancels the guild creation or proceeds with the guild creation dialog where the player can enter the guild name and symbol.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 4 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x54 | Packet header - packet type identifier |
|
||||
| 3 | 1 | Boolean | | ShowCreationDialog; A value whether the guild creation dialog should be shown. Otherwise, the guild creation is cancelled and the dialog was closed. |
|
||||
17
docs/Packets/C1-54-ShowGuildMasterDialog_by-server.md
Normal file
17
docs/Packets/C1-54-ShowGuildMasterDialog_by-server.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# C1 54 - ShowGuildMasterDialog (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
After a player started talking to the guild master NPC and the player is allowed to create a guild.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The client shows the guild master dialog.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 3 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x54 | Packet header - packet type identifier |
|
||||
19
docs/Packets/C1-55-GuildCreateRequest075_by-client.md
Normal file
19
docs/Packets/C1-55-GuildCreateRequest075_by-client.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# C1 55 - GuildCreateRequest075 (by client)
|
||||
|
||||
## Is sent when
|
||||
|
||||
When a player wants to create a guild.
|
||||
|
||||
## Causes the following actions on the server side
|
||||
|
||||
The guild is created and the player is set as the new guild master of the guild.
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 43 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0x55 | Packet header - packet type identifier |
|
||||
| 3 | 8 | String | | GuildName |
|
||||
| 11 | 32 | Binary | | GuildEmblem; The guild emblem in a custom bitmap format. It supports 16 colors (one transparent) per pixel and has a size of 8 * 8 pixel. |
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user