Games Modding

Search the Modding Encyclopedia:
or browse it.

Making new SetsUniques



This tutorial will teach you how to add sets and unique items for Diablo 2.

You will need these tools:


  • An MPQ extracting program

  • AFJ's Sheet Edit or similar

  • Darkstorm's TBL editor or similar


You will need these files:

  • Sets.txt

  • Setitems.txt

  • Uniqueitems.txt


Lets start with the hardest of two- Making a set. Open Sets.txt and scroll down to the bottom row.

Fill in these fields:

  • index: My Set

  • name: My Set

  • version: 100

  • level: 1


Index is the String ID we will be using in patchstring.tbl. Lets move on to the other rows:

  • PCode2a: fire-resist

  • PMin2a: 10

  • PMax2a: 15


PCode is an exta stat that is added when the set is partially complete. If I recall correctly, its the stats in the tan. Now, on to the next rows:

  • FCode1: cold-resist

  • FMin1: 10

  • FMax2: 15


FCode is a stat to add when the set is fully complete.

Put a 0 in the *eol column, and save/close sets.txt.

Open setitems.txt. This set is going to have three items, so add three rows.

Fill in these columns for the first blank row:

  • index: My Armor

  • set: My Set

  • item: qui

  • *item: Quilted Armor

  • rarity: 3

  • level: 1

  • levelreq: 2

  • chrtransform: blac

  • invtransform: blac


Listen carefully, we have 2 new columns that you haven't seen before, chrtransform and invtransform. invtransform is the color to make the item when it is in the inventory, when identified. It has to have either a 4 letter color code or nothing at all, or else the item will give issues. Likewise, chrtransform is the color when the item is equipped.

Lets move on.

  • cost mult: 5

  • cost add: 2500


Two more new columns. Cost mult seems to multiple the price when it is owned by a vendor only. Cost add adds an amount to the item's price, regardless of whether the item is owned by a merchant. Now onto the item's properties:

  • prop1: ac

  • min1: 10

  • max1: 20

  • prop2: sock

  • min2: 1

  • max2: 2


The property 'sock' may sound kind of odd, but it actually adds sockets to an item. Neat, eh? Onto the last bit of information about making set items:

  • aprop1a: thorns

  • amin1a: 1

  • amax1a: 2

  • aprop1b: ama

  • amin1b: 1

  • amax1a: 1

  • *eol: 0


aprop*a/aprop*b is a neat column. It adds a property to an item when the set is complete (The green text at the bottom?? not sure). Why the a and b suffix? Well, it means an item can spawn with either "Attacker Takes Damage of 1-2" or "+1 to Amazon Skills" when the set is complete.

Make two other items for your set below, with the given info I have given you. (Hint: Try making a Short Sword (ssd) or a Ring (rin).)

Once you have completed that, add strings.

  • 1. String ID: My Set

  • 1. String Text: My Set



  • 2. String ID: My Armor

  • 2. String Text: My Armor


Creating Unique Items

This is not nearly as long as making a set, but it is still easy to do. Open uniqueitems.txt and create a new row at the end.

Fill in these fields:

  • index: Heart of the Nile

  • version: 100

  • enabled: 1

  • rarity: 1

  • nolimit: 1

  • lvl: 1

  • lvl req: 2

  • code: hax

  • *type: Hand Axe


Again, a new field. The nolimit field means you can carry more than one at once.  *NOTE*: To enable Azurewrath in Singleplayer, remove the contents of the ladder column.

Press on modders -

  • cost mult: 5

  • cost add: 2500

  • chrtransform: blac

  • invtransform: blac

  • prop1: dmg%

  • min1: 25

  • max1: 55

  • prop2: dmg-fire

  • min2: 3

  • max2: 5

  • *eol: 0


One last step: Adding a string.

  • String ID: Heart of the Nile

  • String Text: Heart of the Nile


Congratulations! You are done!