This document describes the format of proto\items\xxxxxxxx.pro ,which stores item data. xxxxxxxx is usually the Item Id, but some exceptions are:
xxxxxxxx | Item Id |
---|---|
00000001 | 2 |
00000002 | 9 |
00000003 | 1 |
00000004 | 8 |
00000005 | 6 |
00000006 | 12 |
00000007 | 13 |
00000008 | 14 |
00000009 | 5 |
00000010 | 11 |
00000011 | 10 |
00000012 | 4 |
00000013 | 7 |
00000014 | 3 |
Example: The item file for Item Id 397 is proto\items\00000397.pro, but the item file for Item Id 5 is proto\items\00000009.pro instead of proto\items\00000005.pro.
Unless specified, all values are in big-endian fashion.
Offset | Length (byte) | Description |
---|---|---|
00h - 03h | 4 | Item Id |
04h - 07h | 4 | Item Id multiplied by 100. Use this value to locate the description of the item in text\english\game\pro_item.msg |
08h - 0Bh | 4 | Frame of the item (when it was on the ground). Example: this value for Vindicator Minigun is 1Fh (31). Look at line #31 (line #0 means the 1st line, so actually it is the 32nd line) of art\items\items.lst, and you'll find "minigun.frm". ( art\items\minigun.frm) |
1Bh | 1 | Attack mode. This value is meaningful only for weapon items. This
single-byte value can be divided into two nibbles, and each nibble means:
0: None 1: Punch 3: Swing 4: Thrust 5: Throw 6: Shoot 7: Burst 8: FlameExample: this value for Spear is 54h, which means its attack mode 2 is Throw (5) and attack mode 1 is Thrust (4). |
23h | 1 | Item type: (refer to line #23 - 29 of
text\english\game\proto.msg) 0: Armor 1: Container 2: Drug 3: Weapon 4: Ammo 5: Misc 6: Key |
24h - 27h | 4 | Material type: refer to text\english\game\proto.msg 0: Glass 1: Metal 2: Plastic |
2Ch - 2Fh | 4 | Weight |
30h - 33h | 4 | Base price |
34h - 37h | 4 | Frame of the item (when it was in the inventory). Example: this value for Vindicator Minigun is 117h (279). Look at line #279 (line #0 means the 1st line, so actually it is the 280th line) of art\inven\inven.lst, and you'll find "vminigun.frm". (art\inven\vminigun.frm) |
38h - | indefinite | Bytes after offset 38h have different interpretations for different item types. See tables below. |
Offset | Length (byte) | Description |
---|---|---|
3Ch | 1 | Frame of the figure when he/she was holding the weapon. 0: None 1: Knife 2: Bat 3: Sledgehammer 4: Spear 5: Energy Gun 6: Small Gun 7: Sub-machinegun 8: Big Gun 9: Minigun 10: Rocket LauncherExample: this value for Vindicator Minigun is 9, which means when the figure is holding it, it looks like he/she is holding a minigun. |
3Dh - 40h | 4 | Minimum damage |
41h - 44h | 4 | Maximum damage |
48h | 1 | Damage type: (refer to line #44 - 50 of
text\english\game\proto.msg) 0: Normal 1: Laser 2: Fire 3: Plasma 4: Electrical 5: EMP 6: ExplosionNote: EMP (Electromagnetic Pulse) inflicts no damage on biological entities. |
49h - 4Ch | 4 | Range for mode 1 |
4Dh - 50h | 4 | Range for mode 2 |
51h | 1 | Where firing frame is taken form01: proto_crit 05: proto_misc |
52h - 54h | 3 | Firing frame00 or FF: None 01: Rocket 02: Plasma 03: ExplosionOther firing frames please refer to text\english\game\pro\misc.msg |
55h - 58h | 4 | Min ST to use weapon |
59h - 5Ch | 4 | Action points for attack mode 1. |
5Dh - 60h | 4 | Action points for attack mode 2. |
61h - 64h | 4 | Action points for reload. |
69h - 6Ch | 4 | Number of ammo fired per shot in burst mode. |
6Dh - 70h | 4 | Caliber types: 0: None 1: Rocket 2: Flamethrower Fuel 3: C Energy Cell 4: D Energy Cell 5: .223 6: 5mm 7: .40 calOther caliber types please refer to line #55 - 73 of text\english\game\proto.msg |
71h - 74h | 4 | Item Id of default ammo. Example: this value for Vindicator Minigun is 167h (359), which is the item id for "4.7mm Caseless". |
75h - 78h | 4 | Capacity |
79h | 1 | firing sound id |
Offset | Length (byte) | Description |
---|---|---|
39h - 3Ch | 4 | Caliber types: 0: None 1: Rocket 2: Flamethrower FuelOther caliber types please refer to line #55 - 73 of text\english\game\proto.msg |
3Dh - 40h | 4 | Number of ammo in a magazine |
41h - 44h | 4 | AC modifier |
45h - 48h | 4 | DR modifier |
49h - 4Ch | 4 | AC damage modifier |
4Dh - 50h | 4 | DR damage modifier |
Offset | Length (byte) | Description |
---|---|---|
39h - 3Ch | 4 | Armor class (AC) |
3Dh - 40h | 4 | Normal Damage Resistance (DR) |
41h - 44h | 4 | DR Laser |
45h - 48h | 4 | DR Fire |
49h - 4Ch | 4 | DR Plasma |
4Dh - 50h | 4 | DR Electrical |
51h - 54h | 4 | DR EMP |
55h - 58h | 4 | DR Explosion |
59h - 5Ch | 4 | Normal Damage Threshold (DT) |
5Dh - 60h | 4 | DT Laser |
61h - 64h | 4 | DT Fire |
65h - 68h | 4 | DT Plasma |
69h - 6Ch | 4 | DT Electrical |
6Dh - 70h | 4 | DT EMP |
71h - 74h | 4 | DT Explosion |
7Ah - 7Ch | 3 | What a male hero will look like in the armor |
7Eh - 80h | 3 | What a female hero will look like in the armor | refer to armor.htm to see what # refers to what armor
Offset | Length (byte) | Description |
---|---|---|
39h - 3Ch | 4 | Stat to be affected by taking the drug. We'll call this Stat Id 1.
Values can be 0: Strength 1:Perception 2:Endurance 3:Charisma 4: Intelligence 5:Agility 6:Luck 7:Max HP 8: Max APOther values please refer to line #7 - 44 of text\english\game\stat.msg |
3Dh - 40h | 4 | Stat Id 2, the same as above. |
41h - 44h | 4 | Stat Id 3, the same as above. |
45h - 48h | 4 | Modifier for Stat Id 1, immediate effect |
49h - 4Ch | 4 | Modifier for Stat Id 2, immediate effect |
4Dh - 50h | 4 | Modifier for Stat Id 3, immediate effect |
51h - 54h | 4 | Mid-term effect will take place after this value (unit: minute. In the game, use Pipboy to get current time.) |
55h - 58h | 4 | Modifier for Stat Id 1, mid-term effect |
59h - 5Ch | 4 | Modifier for Stat Id 2, mid-term effect |
5Dh - 60h | 4 | Modifier for Stat Id 3, mid-term effect |
61h - 64h | 4 | Long-term effect will take place after this value (unit: minute.) This value cannot be less than the mid-term value. |
65h - 68h | 4 | Modifier for Stat Id 1, long-term effect |
69h - 6Ch | 4 | Modifier for Stat Id 2, long-term effect |
6Dh - 70h | 4 | Modifier for Stat Id 3, long-term effect |
I'll take Psycho (Item Id: 110) as the example:
The stat ids for Psycho are 5h, 4h and 18h, which means taking a dose of Psycho will affect character's agility (AG), intelligence (IN), and damage resistance (DR). Its immediate effects are: increasing AG by 3h, IN by FFFFFFFDh (which is -3, so actually IN decreases), and DR by 32h (50).
After F0h (240) minutes, its mid-term effects are: increasing AG by FFFFFFFDh (-3), IN by 1h, and DR by FFFFFFE7h (-25).
After 1E0h (480) minutes , its long-term effects are: increasing AG by 0h, IN by 2h, and DR by FFFFFFE7h (-25).