Datasheet

Base File Index equals to Start block 0x2c0 (BFI)

Headers format and structures

Note

Information about data type you can access with official python documentation

Offset (from the begging) Size/Type Explain Value
  File General Header
0x00 4 bytes c_char_p Probably file format container BND4
0x04 4 bytes c_uint32 could be a separator x00x00x00x00
0x08 4 bytes c_uint32 Unknown data  
0x0c 4 bytes c_uint32 Could be real block data stored in whole file hex: 0xB dec: 11
0x10 4 bytes c_uint32 Unknown data  
0x14 4 bytes c_uint32 could be a separator x00x00x00x00
0x18 8 bytes c_char_p
It seems a version of
document or application
string: 00000001
0x20 4 bytes c_uint32 Unknown data hex: 0x20 dec: 32
0x24 4 bytes c_uint32 could be a separator x00x00x00x00
0x28 4 bytes c_uint32 First data block offset from the of the file Start block hex: 0x2c0 dec: 704
0x2c 4 bytes c_uint32 could be a separator x00x00x00x00
0x30 4 bytes c_uint32 Unknown data (0x0120->8193)  
0x34, 0x38, 0x3c 4 bytes * 3 c_uint32 Unknown block of data: x00x00x00x00 3 times
  Start containers header metadata (11 blocks) (datasheet below represents only 1 of 11th data blocks)
0x40 4 bytes c_uint32 Container Header separator High hex: 0x50 dec: 80
0x44 4 bytes c_uint32 Container Header separator Low hex: 0xFFFF
  End of container header metadata
Containers data 1 block example represented
0x48 8 bytes c_ulong Block data size (in bytes)  
0x50 4 bytes c_uint32 data block start offset from the file beginning  
0x54 4 bytes c_uint32 Unknown data, could be an some sort of offsets  
0x58 4 bytes c_uint32 Skip the amount of bytes block (4h->4) hex: 0x04 dec: 04
0x5c 4 bytes c_uint32 could be a separator useless block or just 8 byte for 0x58 block x00x00x00x00
  End of Containers header data
  End of Containers
  0x1A0 => 0x2Bf USER_DATA xxx representation in following format
0x1A0 26 bytes c_char_p string sequence USER_DATA 000x00
0x1BA 26 bytes c_char_p string sequence USER_DATA 001x00
  And so on until USER_DATA 010\x00 sequence  
0x2bc 4 bytes c_uint32 separator x00x00x00x00
  End of File General Header

Slot block

Note

Slot block data contains very useful information, stats, items, deaths count and so on. Char data offset means offsets from character start block. 0x2c0 + offset for 1 slot character and so on.

Char data offset Size/Type Explain Value
0x6c 4 Bytes c_uint32 Health bar current Depends on stats 600
0x70 4 Bytes c_uint32 Health bar Depends on stats 600
0x74 4 Bytes c_uint32 Health bar Depends on stats 600
0x78 4 Bytes c_uint32 Unknown data 0x7d
0x7c 4 Bytes c_uint32 Unknown data 0x7d
0x80 4 Bytes c_uint32 Unknown data 0x7d
0x84 4 Bytes c_uint32 Unknown data 0x00000000
0x8c 4 Bytes c_uint32 Stamina 2 Depends on stats max: 160
0x90 8 Bytes c_long Stamina 3 Depends on stats max: 160
0x98 8 Bytes c_long Vitality Depends on level and so on (30)
0xa0 8 Bytes c_ulong Attunement Depends on level and so on (10)
0xa8 8 Bytes c_ulong Endurance Depends on level and so on (50)
0xb0 8 Bytes c_ulong Strength Depends on level and so on (50)
0xb8 8 Bytes c_ulong Dextirity Depends on level and so on (20)
0xc0 8 Bytes c_ulong Intelligence Depends on level and so on (10)
0xc8 8 Bytes c_ulong Faith Depends on level and so on (10)
0xd0 8 Bytes c_ulong Unknown data  
0xd8 8 Bytes c_ulong Humanity Depends on level and so on (00)
0xe0 8 Bytes c_long Resistance Depends on level and so on (11)
0xe8 4 Bytes c_uint32 Level Depends on level and so on (11)
0xec 4 Bytes c_uint32 Souls Depends on level and so on (9312)
0xf0 8 Bytes c_ulong Earned souls Depends on level and so on (9991)
0xf8 4 Bytes c_uint32 Unknown data Could be separator 0x00000000
0xfc 4 Bytes c_uint32 Soul statement: hollow, human (could be other state statuses) 0x00000000 - human 0x00000008 - hollow
0x100 28 Bytes c_char_p Character’s name Depends on your imagination (Nick)
0x122 1 Bytes c_bool Male Depends on your choice (1)
0x126 1 Bytes c_uint8 Class Depends on your choice (6)
0x127 1 Bytes c_uint8 Body Depends on your choice (0)
0x128 1 Bytes c_uint8 Gift Depends on your choice (1)
0x129 1 Bytes c_uint8 Unknown data  
0x12a 1 Bytes c_uint8 Unknown data  
0x12b 1 Bytes c_uint8 Unknown data  
0x12c 4 Bytes c_uint32 Unknown data 0x00000000
0x130 4 Bytes c_uint32 Unknown data 0x00000000
0x134 4 Bytes c_uint32 Unknown data 0x00000000
0x138 4 Bytes c_uint32 Unknown data 0x00000000
0x13с 4 Bytes c_uint32 Unknown data 0x00000000
0x140 4 Bytes c_uint32 Unknown data 0x00000000
0x144 4 Bytes c_uint32 Unknown data 0x00000000
0x148 4 Bytes c_uint32 Unknown data 0x00000000
0x14с 4 Bytes c_uint32 Unknown data 0x00000000
0x150 4 Bytes c_uint32 Unknown data 0x00000000
0x154 4 Bytes c_uint32 Unknown data 0x00000000
0x158 1 Bytes c_uint8 Poison resistance Depends on your items and armour
0x15c 1 Bytes c_uint8 Bleeding resistance Depends on your items and armour
0x160 1 Bytes c_uint8 Poison resistance (could be repeated or something) Depends on your items and armour
0x164 1 Bytes c_uint8 Damnation resistance Depends on your items and armour
0x168 1 Bytes c_uint8 Face Depends on your choice (6)
0x16c 1 Bytes c_uint8 Face Depends on your choice (6)
0x16d 1 Bytes c_uint8 Hairs Depends on your choice (6)
0x16e 1 Bytes c_uint8 Color Depends on your choice (6)
skip
0x228 4 Bytes c_uint32 Left arrows slot Unknown data type
0x22c 4 Bytes c_uint32 Left bolts slot Unknown data type
0x230 4 Bytes c_uint32 Right arrows slot Unknown data type
0x234 4 Bytes c_uint32 Right bolts slot Unknown data type
0x238 4 Bytes c_uint32 Unknown item slot? Unknown data type
0x23c 4 Bytes c_uint32 Unknown item slot? Unknown data type
0x240 4 Bytes c_uint32 Unknown item slot? Unknown data type
0x244 4 Bytes c_uint32 Unknown item slot? Unknown data type
0x248 4 Bytes c_uint32 Unknown item slot? Unknown data type
0x24c 4 Bytes c_uint32 Left ring slot Unknown data type
0x250 4 Bytes c_uint32 Right ring slot Unknown data type
0x254 4 Bytes c_uint32 First quick slot item type Unknown data
0x258 4 Bytes c_uint32 Second quick slot item type Unknown data
0x25c 4 Bytes c_uint32 Third quick slot item type Unknown data
0x260 4 Bytes c_uint32 Fourth quick slot item type Unknown data
0x264 4 Bytes c_uint32 Fifth quick slot item type Unknown data
0x268 4 Bytes c_uint32 One hand/Double hand switcher weapon use 0x00000001 - 1 hand 0x00000003 - doubled
0x26c 4 Bytes c_uint32 Left hand weapon/shield flag 0x00000001 or 0x00000000
0x270 4 Bytes c_uint32 Right hand weapon/sheild flag 0x00000001 or 0x00000000
0x274 4 Bytes c_uint32 Unknown flag, could possible switch something 0x00000001 or 0x00000000
0x278 4 Bytes c_uint32 Unknown flag, could possible switch something 0x00000001 or 0x00000000
0x27c 4 Bytes c_uint32 Unknown flag, could possible switch something 0x00000001 or 0x00000000
0x280 4 Bytes c_uint32 Unknown flag, could possible switch something 0x00000001 or 0x00000000
0x284 4 Bytes c_uint32 Left hand weapon/shield first slot Weapon/Armour type knife: 100015
0x288 4 Bytes c_uint32 Left hand weapon/shield second slot Weapon/Armour type knife: 100015
0x28c 4 Bytes c_uint32 Right hand weapon/shield first slot Weapon/Armour type knife: 100015
0x290 4 Bytes c_uint32 Right hand weapon/shield second slot Weapon/Armour type knife: 100015
0x294 4 Bytes c_uint32 Left arrows slot Item type or 0xffffffff
0x298 4 Bytes c_uint32 Left bolts slot Item type or 0xffffffff
0x29с 4 Bytes c_uint32 Right arrows slot Item type or 0xffffffff
0x2a0 4 Bytes c_uint32 Right bolts slot Item type or 0xffffffff
0x2a4 4 Bytes c_uint32 Head wearing slot Head (armour type)
0x2a8 4 Bytes c_uint32 Body wearing slot Body (armour type)
0x2ac 4 Bytes c_uint32 Hands wearing slot Hands (armour type)
0x2b0 4 Bytes c_uint32 Legs wearing slot Legs (armour type)
0x2b4 4 Bytes c_uint32 Something that points on some item in the inventory Rings (item type)
0x2b8 4 Bytes c_uint32 Left ring slot Rings (item type)
0x2bc 4 Bytes c_uint32 Right ring slot Rings (item type)
0x2c0 4 Bytes c_uint32 First quick slot item type Any accessible item type (203 for ex.)
0x2c4 4 Bytes c_uint32 Second quick slot item type Any accessible item type (203 for ex.)
0x2c8 4 Bytes c_uint32 Third quick slot item type Any accessible item type (203 for ex.)
0x2cc 4 Bytes c_uint32 Fourth quick slot item type Any accessible item type (203 for ex.)
0x2d0 4 Bytes c_uint32 Fifth quick slot item type Any accessible item type (203 for ex.)
0x2d4 4 Bytes c_uint32 Backpack items amount Depends 34
0x2d8 4 Bytes c_uint32 Unknown data  
0x2dc 4 Bytes c_uint32 Unknown data  
  End of stats block
0x2e0 Start block for your backpack
  skip (each storage item allocates 4 * 7 bytes of space) see item storage block description below
0xe2e0 End block of your backpack last item storage points on 0xe2c4
skip
0xe344 4 Bytes c_uint32 Active spell slot Depends on your sorcery slots amount and spells bind
0xe35c 4 Bytes c_uint32 Active slot of something Unknown type of data
skip
0x1f128 4 Bytes c_uint32 Deaths Depends on your skill :D (155)
0x1f138 4 Bytes c_uint32 Something really tasty, could be boss deaths (may be)  

Start block

Note

0x2c starts with first character data. Character data is under heavily process of reverse engineering, so there is only some simple bunch of data represented withing different blocks/structures such like as Stats, Items.

Stats

Note

All character statistics depending on items/primary stats (vitality->resistance) are dynamicly-calculated type of data. So there’s no reason to store it or modify it via runtime. Therefore only two of this type of data present in the table below. it’s Capacity and Physical defence.

Note

General stats such like as Vitality, Attunement, Strength and so on stored in RAM with given offsets listed in 3rd table column. But their real address slightly different from save file one, be warned. For example if Vitality has 0x7C563C00 address then Attunement is certainly with 0x08 offset further and stored into 0x7C563C08

Parameter Amount of memory entries (ingame) Amount of store entries (save file)
Stamina 3 slots, 4 byte BFI + 0x88 (and 0x8c, 0x90)
Vitality 1 slot, 4 byte BFI + 0x98
Attunement 1 slot, 4 byte BFI + 0xa0
Endurance 1 slot, 4 byte BFI + 0xa8
Strength 1 slot, 4 byte BFI + 0xb0
Dexterity 1 slot, 4 byte BFI + 0xb8
Intel. 1 slot, 4 byte BFI + 0xc0
Faith 1 slot, 4 byte BFI + 0xc8
Unknown 1 slot, 4 byte (unsigned) BFI + 0xd0
Humanity 1 slot, 4 byte BFI + 0xd8
Resistance 1 slot, 4 byte BFI + 0xe0
Level 1 slot, 4 byte BFI + 0xe8
Souls 1 slot, 4 byte BFI + 0xec
Collected Souls 1 slot, 4 byte BFI + 0xf0
Name 1 slot, 28 byte 13*2 = name, 1 = 0x00 BFI + 0x100
Gender (male) 1 slot, 1 byte 0 - female, 1 - male BFI + 0x122
Class 1 slot, 1 byte BFI + 0x126
Body 1 slot, 1 byte BFI + 0x127
Gift 1 slot, 1 byte BFI + 0x128
Face 1 slot, 1 byte BFI + 0x16c
Haris 1 slot, 1 byte BFI + 0x16d
Color 1 slot, 1 byte BFI + 0x16e
Deaths 1 slot, 1 byte BFI + 0x1f128
Dynamicly-calculated data
Capacity 2 slots 4 byte float (evaluateable) Offsets don’t concure with memory ones
Physical defence 6 slots 4 byte (evaluateable) Offsets do not concure with memory offsets

Items

General items and weapons/armour structure

from ctypes import
weapon_proto_structure = {
    'stored': c_uint32,           # see table below
    'type': c_uint32,             # item type
    'amount', c_uint32,           # have amount
    'position': c_uint32,         # position?
    'have': c_uint32,             # have
    'durability': c_uint32,       # item durability
    'durability_hits': c_uint32,  # 0->9
}
Field Possible values Explanation
stored
  • 0xFFFFFFFF
  • 0x10000000
  • 0x20000000
  • 0x30000000
  • 0x40000000
  • clean slot
  • weapons stored
  • armour stored
  • unknown data
  • items/bolts stored
type see Items type and so on item/weapon/armour type
amount 0x00000000 to 0xFFFFFFFF probably how much do you have it?
position some big numbers (didn’t parsed for till moment) could be some pointer or address for backpack navigation
have 0x00000001 or 0x00000000 yes or no do you have it?
durability Depends on weapon or armour Depends on item if it has dur. statement
durability_hits 0x00000000 to 0x00000009 Stack counter from 0 to 9 each circle weapon or armour losts its durability point

Items type

Item Type Ingame Item title
  General items
0x65 (100) White chalk
0x66 (101) Red chalk
0x67 (102) Red eye
0x68 (103) Black Separation Crystal
0x6a (106) Orange chalk
0x6c (108) Book of the Guilty
0x6d (109) Death eye
0x6f (111) Cracked red eye orb
0x70 (112) Servant Roster
0x71 (113) Blue eye orb
0x72 (114) Dragon eye orb
0x73 (115) Black eye orb
0x74 (116) Black eye orb #2
0x75 (117) Mark of the darkness
0x76 (118) Violet coward crystal
0x90 (144) Darkness sign
0xС8 (200) Estus Flask (empty)
0xC9 (201) Estus Flask (active)
0xCA (202) Estus Flask (empty)
0xCB (203) Estus Flask +1
0xCC (204) Estus Flask +1 (empty)
0xCD (205) Estus Flask +2
0xCE (206) Estus Flask +3 (empty)
0xCF (207) Estus Flask +3
0xD0 (208) Estus Flask +4 (empty)
0xD1 (209) Estus Flask +4
0xD2 (210) Estus Flask +5 (empty)
0xD3 (211) Estus Flask +5
0xD4 (212) Estus Flask +6 (empty)
0xD5 (213) Estus Flask +6
0xD6 (214) Estus Flask +7 (empty)
0xD7 (215) Estus Flask +7
  General Items #2
0xDC (220) Silver neckle
0xE6 (230) Elisabeth Mushroom
0xF0 (240) Heaven’s blessing
0x104 (260) Green flower
0x10e (270) Red moss
0x10f (271) Purple moss
0x110 (272) Purple blooming moss
0x110 (274) Stone of repel
0x113 (275) Eggs medicine
0x118 (280) Fixment powder
0x122 (290) Throwing knife
0x123 (291) Poisoned throwing knife
0x124 (292) Fire bomb
0x125 (293) Manure pie
0x126 (294) Nice skull
0x10e (296) LLoyd’s charm
0x129 (297) Black bomb
0x136 (310) Black gum (resin)
0x137 (311) Golden gum (resin)
0x138 (312) Short duration damnation
0x139 (313) Rotten gum (resin)
0x14a (330) Bone of return
0x15e (350) Humanity
0x172 (370) Shiny stone
0x172 (371) Field glasses
0x175 (373) List of charge
0x176 (374) Mark (sign) of retribution
0x177 (375) Medal of the light
0x178 (376) Neckle
0x179 (377) Stone with gragon head
0x17a (378) Stone with dragon body
0x17c (380) Trash
0x17d (381) Copper coin
0x17e (382) Silver coin
0x17f (383) Golden coin
0x180 (384) Strange doll
0x181 (385) Dried finger
0x186 (390) Keeper of fire soul
0x187 (391) Keeper of fire soul (no mistake there’s one more)
0x188 (392) Keeper of fire soul (no mistake there’s one more)
0x189 (393) Keeper of fire soul (no mistake there’s one more)
0x18a (394) Keeper of fire soul (no mistake there’s one more)
0x18b (395) Keeper of fire soul (no mistake there’s one more)
0x18c (396) Keeper of fire soul (no mistake there’s one more)
0x190 (400) Soul of the lost undead
0x18e (401) Big soul of the lost undead
0x18f (402) Soul of nameless soldier
0x190 (403) Big soul of nameless soldier
0x191 (404) Soul of a Proud Knight
0x192 (405) Big soul of a Proud Knight
0x193 (406) Soul of a Brave Warrior
0x194 (407) Big soul of a Brave Warrior
0x195 (408) Soul of a Hero
0x196 (409) Soul of a Great Hero
0x1f4 (500) Humanity
0x1f5 (501) Double humanity
0x1fe (510) Sign “hello”
0x1ff (511) Sign “thanks”
0x200 (512) Sign “perfect” (gj, gd, whatever)
0x201 (513) Sign “sorry”
0x2BC (700) Soul of Sif
0x2BD (701) Soul of Quelaag
0x2BE (702) Soul of Gwynn
0x2BF (703) Soul of Iron Golem
0x2C0 (704) Soul of Ornstein
0x2C1 (705) Soul of Moonlight butterfly
0x2C2 (706) Soul of Smough
0x2C3 (707) Soul of Priscilla
0x2C4 (708) Soul of Gwyndolin
0x2C5 (709) Soul of Sentinel
0x2C6 (710) Soul of Artorias
0x2C7 (710) Soul of Manus
0x320 (800) Big coal
0x321 (801) Very big coal
0x322 (802) Crystal coal
0x326 (806) Big magic coal
0x327 (807) Charmed coal
0x328 (808) Heaven’s coal
0x329 (809) Big heaven’s coal
0x32a (810) Coal of darkness
0x32c (812) Big coal of fire
  Forge items #2
0x3e8 (1000) Titanite Shard
0x3f2 (1010) Large Titanite Shard
0x3fc (1020) Green Titanite Shard
0x406 (1030) Titanite chunk
0x410 (1040) Blue Titanite chunk
0x41a (1050) White Titanite chunk
0x424 (1060) Red Titanite chunk
0x42e (1070) Titanite slab
0x438 (1080) Blue Titanite slab
0x442 (1090) White Titanite slab
0x44c (1100) Red Titanite slab
0x456 (1110) Dragon scales
0x460 (1120) Demonic titanite
0x46a (1130) Twinkling titanite
0x7d1 (2001) Cellar Key
0x7d2 (2002) Artorias symbol
0x7d3 (2003) Cage Key
0x7d4 (2004) Archive’s prison key
  Stuff
0x7d5 (2005) –The– Key
0x7d6 (2006) –The– Key
0x7d7 (2007) –The– Key
0x7d8 (2008) –The– Key
0x7d9 (2009) –The– Key
0x7da (2010) –The– Key
0x7db (2011) –The– Key
0x7dc (2012) –The– Key
0x7dd (2013) –The– Key
0x7de (2014) –The– Key
0x7df (2015) –The– Key
0x7e0 (2016) –The– Key
0x7e1 (2017) –The– Key
0x7e2 (2018) –The– Key
0x7e3 (2019) –The– Key
0x7e4 (2020) –The– Key
0x7e5 (2021) –The– Key
0x7e6 (2022) –The– Key
0x9c4 (2500) The Great Soul
0x9c5 (2501) The Great Soul #2
0x9c6 (2502) Shard of great soul
0x9c7 (2503) Shard of great soul #2
0x9ce (2510) Lordvessel
0x9d8 (2520) Broken neckle
0xa28 (2600) Blacksmith’s box
0xa29 (2601) Blacksmith’s armour box
0xa2a (2602) Repair’s box
0xa2b (2603) Unknown Receipt #1
0xa2c (2604) Unknown key #1
0xa2d (2605) Unknown key #2
0xa2e (2606) Unknown key #3
0xa2f (2607) Rite of Kindling
0xa30 (2608) Limitless box
0xa2f (2609) Unknown key #4
  Sorcery
0xbb8 (3000) Sorcery: soul arrow
0xbc2 (3010) Sorcery: big soul arrow
0xbcc (3020) Sorcery: heavy soul arrow
0xbd6 (3030) Sorcery: huge soul arrow
0xbe0 (3040) Sorcery: Homing Soulmass
0xbea (3050) Sorcery: Crystal Soulmass
0xbf4 (3060) Sorcery: Soul spear
0xbfe (3070) Sorcery: Crystal soul spear
0xc1c (3100) Magic weapon
0xc26 (3110) Sorcery: big magic weapon
0xc30 (3120) Sorcery: crystal magic weapon
0xce4 (3300) Sorcery: magic shield
0xcee (3310) Sorcery: strong magic shield
0xd48 (3400) Sorcery: hidden weapon
0xd52 (3410) Sorcery: hidden body
0xd52 (3500) Sorcery: cast light
0xdb6 (3510) Sorcery: hush
0xdсa (3530) Sorcery: repair
0xdd4 (3540) Sorcery: fall control
0xdde (3550) Sorcery: chameleon
0xe10 (3600) Sorcery: resist Curse
0xe1a (3610) Sorcery: cure
0xe74 (3700) Sorcery: breath of the white dragon
0xe7e (3710) Sorcery: dark orb
0xe88 (3720) Sorcery: dark bead
0xe92 (3730) Sorcery: fog of darkness
0xe9с (3740) Sorcery: Pursuers
  Pyromancy
0xfa0 (4000) Pyromancy: Fire bead
0xfaa (4010) Pyromancy: Fire orb
0xfb4 (4020) Pyromancy: Big fire orb
0xfbe (4030) Pyromancy: Fire storm
0xfc8 (4040) Pyromancy: Fire tempest
0xfd2 (4050) Pyromancy: Fire surge
0xfdc (4060) Pyromancy: Fire whip
0x1004 (4100) Pyromancy: Combustion
0x100e (4110) Pyromancy: Great combustion
0x1068 (4200) Pyromancy: Poison mist
0x1072 (4210) Pyromancy: Toxic mist
0x107c (4220) Pyromancy: Acid surge
0x10cc (4300) Pyromancy: Iron flesh
0x10d6 (4310) Pyromancy: Flesh sweat
0x1130 (4400) Pyromancy: Power within
0x1194 (4500) Pyromancy: Big chaos orb
0x119e (4510) Pyromancy: Chaos storm
0x11a8 (4520) Pyromancy: Chaos fire whip
  Miracles (names of the spells not included yet)
0x1388 (5000) Miracles: Heal
0x1388 (5010) Miracles: Heal
0x1388 (5020) Miracles: Heal
0x1388 (5030) Miracles: Heal
0x1388 (5040) Miracles: Heal
0x1388 (5050) Miracles: Heal
0x1388 (5100) Miracles: Heal
0x1388 (5110) Miracles: Heal
0x1388 (5200) Miracles: Heal
0x1388 (5210) Miracles: Heal
0x1388 (5300) Miracles: Heal
0x1388 (5310) Miracles: Heal
0x1388 (5320) Miracles: Heal
0x1388 (5400) Miracles: Heal
0x1388 (5500) Miracles: Heal
0x1388 (5510) Miracles: Heal
0x1388 (5520) Miracles: Heal
0x1388 (5600) Miracles: Heal
0x1388 (5610) Miracles: Heal
0x1388 (5700) Miracles: Heal
0x1388 (5800) Miracles: Heal
0x1388 (5810) Miracles: Heal
0x1388 (5900) Miracles: Heal
0x1388 (5910) Miracles: Heal
  Emoticons (names are not included yet)
0x1388 (9000) Emotions: Bow
0x1388 (9001) Emotions: Bow
0x1388 (9002) Emotions: Bow
0x1388 (9003) Emotions: Bow
0x1388 (9004) Emotions: Bow
0x1388 (9005) Emotions: Bow
0x1388 (9006) Emotions: Bow
0x1388 (9007) Emotions: Bow
0x1388 (9008) Emotions: Bow
0x1388 (9009) Emotions: Bow
0x1388 (9010) Emotions: Bow
0x1388 (9011) Emotions: Bow
0x1388 (9012) Emotions: Bow
0x1388 (9013) Emotions: Bow
0x1388 (9014) Emotions: Bow
0x1388 (9015) Emotions: Bow

Weapons and armour type

Weapon Type Ingame Item title
  Weapons
900000 Bare hands/Nothing head
901000 Nothing weared body
902000 Nothing weared hands
903000 Nothing weared legs
100000-100015 Dagger (up to +15)
103000-100015 Bandit’s knife (up to +15)
852000-852005 Demonic Hummer (up to +5)

Multiplayer data

60 bytes each account entry

from ctypes import
weapon_proto_structure = {
    'marker1': c_uint32,      # (0x100) flag
    'marker2': c_uint32,      # (0x3400) flag
    'byte_1': c_byte,         # probably flag
    'name': c_char_p(16),     # char's name 14 + \x00 * 2
    'byte_2': c_byte,         # probably flag
    'byte_3': c_byte,         # probably flag
    'byte_4': c_byte,         # probably flag
    'statement_1': c_uint32,  # player's data
    'statement_2': c_uint32,  # player's data
    'statement_3': c_uint32,  # player's data
    'statement_4': c_uint32,  # player's data
    'statement_5': c_uint32,  # player's data
    'statement_6': c_uint32,  # player's data
    'statement_7': c_uint32,  # player's data
    'statement_8': c_uint32,  # player's data
}