Item Prefix/Suffixes
| Unique Items
| Character Stats
| Base Items
| Spells and Skills
| Monsters
| Unique Monsters
| Shrines
| Quests
| Miscellanious
Prefix and Suffix Data
Beginning Offset in Diablo is 7AAF8 (79AA8). In Hellfire, it's 8A820.
Each prefix/suffix is 48 bytes in length, which is 3 lines in the
hex editor. Place your cursor on the starting point of a prefix/suffix
and drag it along until you see this at the very bottom... "Sel
0x30". Everything you have highlighted is the data for one
prefix/suffix.
**Note** The first byte in each string will be referenced as Byte
0, not Byte 1.
Bytes |
Effect |
0-3 |
Name Pointer
The pointers are written in reverse byte order, which means they are
read from right to left. For example, Tin's pointer is '400649' (Diablo).
In reverse order, this is '490640'. To find out where the pointer
points to, you must subtract a hex value to get the offset to go to.
In Diablo, this is '402200'. In Hellfire, it's '401600'. Subtracting
'402200' from '490640' will give you '8E440'. That's the location
of the name 'Tin'. Simple, eh? =) |
4-7 |
Effects
00 : +% ToHit
01 : -% ToHit
02 : +% damage done
03 : -% damage done
04 : +% ToHit, +% damage done
05 : -% ToHit, -% damage done
06 : +% armor class
07 : -% armor class
08 : +% resist fire
09 : +% resist lightning
0A : +% resist magic
0B : +% resist all
0E : +/- spell levels
0F : + charges
10 : + fire damage
11 : + lightning damage
13 : + strength
14 : - strength
15 : + magic
16 : - magic
17 : + dexterity
18 : - dexterity
19 : + vitality
1A : - vitality
1B : + all attributes
1C : + all attributes
1D : + damage taken
1E : - damage taken
1F : + life
20 : - life
21 : + mana
22 : - mana
23 +% durability (high durability)
24 -% durability (decreased durability)
25 indestructable
26 +% light
27 -% light
28 unknown or n/a
29 multiple arrows
2A + fire arrows damage
2B + lightning arrows damage
2C unique picture
2D attacker take 1-3 damage
2E -all mana
2F player can't heal
30 unknown or n/a
31 unknown or n/a
32 unknown or n/a
33 unknown or n/a
34 absorb half trap damage
35 knocks target back
36 monster can't heal
37 % steal mana
38 % steal life
39 damage/penetrate armor
3A attack speed (1=readiness, 4=haste)
3B hit recovery (1=balance, 3=harmony
3C fast block
3D + damage done
3E random speed arrows
3F x-y damage done (unusual item damage)
40 altered durability
41 no strength requirements
42 spell-
43 attack speed (1=readiness, 4=haste)
44 one handed
45 +200% damage versus demons
46 all resistances equal 0%
47 unknown or n/a
48 constantly lose life
49 0-12.5% steal life
4A infravision
4B specified armor class
4C armor class added to life
4D 10% of mana added to armor class
4E +30-clvl% resist fire
4F - armor class Hellfire Only Effects
50 -% resist fire
51 -% resist lightning
52 -% resist magic
53 -random% resist all
54 5% chance of doing *3 damage
55 +% damage done (decreases 5% each hit)
56 *2 damage to monster *1 damage to user
57 *0-6 damage, average is *2
58 +% damage, -% durability
59 +% ToHit, +% damage done, 5% duplicate
5A +40 armor class versus demons
5B +20 armor class versus undead
5C move mana to life
5D move life to mana |
8-11 |
Minimum effect value |
12-15 |
Maximum effect value |
16-19 |
Quality level |
20-22 |
Occurance probability (bit encoded)
Byte 20= Bows and jewelry
Byte 21= Weapons and staves
Byte 22= Armor and shields
For the prefix/suffix to appear on a specific item type, a value of
"1" must be given at the specific location. For
instance, you want a prefix/suffix to appear on weapons
only. You would give byte 21 a value of "10",
which gives the prefix/suffix to weapons, but not staves.
A value of "11" at byte 21 will give the prefix/suffix
to both weapons and staves. Same goes for the other 2 bytes.
A full row of ones (111111) will make that prefix/suffix available
to all item types. |
23 |
Always zero |
24-31 |
Excluded combinations indicator
Can have a value of "00000000", "00000001" or "00000010".
Values "00000001" and "00000010" cannot form a combination |
32-35 |
Cursed Flag
A value of "00000000" signifies the prefix/suffix as cursed.
"01000000" signifies it as not. If the item is cursed,
it will not be sold at the shops (my best guess) |
36-39 |
Minimum gold value |
40-43 |
Maximum gold value |
44-47 |
Multiplier
Deals with how the game calculates the prefix/suffix's item value. |
|