154 lines
6.4 KiB
Markdown
154 lines
6.4 KiB
Markdown
# 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 | |