By enabling the 'Advanced Item Display' configuration parameter, you can customize exactly how items are displayed. When this parameter is enabled, it will supersede these other parameters:
Diablo II BH Map Hack: Download or Mirror Download - An alternative to sting maphack, contains extra features and might provide more.
- Show Ethereal
- Show Sockets
- Show iLvl
- Show Rune Numbers
- Alt Item Style
- Color Mod
- Shorten Item Names
To use Advanced Item Display, you will configure one or more rules in BH.cfg. Each rule looks like this:
The CONDITIONS specify a set of conditions an item must satisfy, and ACTIONS specify the actions taken when a matching item is found. The most basic type of action is to simply enter the name you want to see when viewing that item. If you leave the CONDITIONS empty, the rule will match all items. If you leave the ACTIONS empty, the rule will blank out the names of any matching items.
You will normally have multiple rules in your configuration file. The first rule that matches a given item is the one that will be used to display that item (with one exception, the %CONTINUE% action, described below).
The simplest rule has no conditions and no actions:
This rule will match every item in the game, and will prevent the client from showing that item. (So when you hit the alt key, you will see nothing other than gold stacks.) Next is another simple rule that matches every item in the game, and gives them all the same name:
Rules with No Actions
In version 0.1.4, items matching rules with no actions were still visible on the ground, but their names were changed to a single space. As of version 0.1.5, this is no longer true; these items are actually filtered out by the game client. As far as your game is concerned, the items do not exist. This is useful for reducing ground clutter from small gold stacks, junk items, etc. But be careful when using rules like this, as they can cause unexpected effects. For example, if you have a rule with no actions that matches health potions, they will effectively be invisible to you and you will not be able to see the potions on your own belt.
Item Codes
The simplest condition consists of an item code. An item code is the unique 3-letter code assigned to each type of item. You can find a full list of item codes here: http://bhfiles.com/files/Diablo%20II/ItemCodes.html.
EDIT: the bhfiles.com list contains some incorrect codes (e.g. gnarled staff is actually cst). A more correct (though less readable) list can be found here: https://github.com/dkuwahara/OmegaBot/blob/master/data/item_data.txt (the item code is the second column).
The item code for a scroll of town portal is 'tsc'. So to shorten the names of all town portal scrolls in the game to just 'TP', you would put this line in BH.cfg:
To give all super healing potions (item code hp5) the name 'Pan-Galactic Gargle Blaster', you would put this in BH.cfg:
Changing Colors
You can change the color of item text. To make your super healing potions appear with red text, do this:
The %RED% color will apply to everything that comes after it, until another color is encountered. To display the word 'Blaster' in green text (with everything else still red), you would write:
These are the colors you can use:
- %WHITE%
- %RED%
- %GREEN%
- %BLUE%
- %GOLD%
- %GRAY%
- %BLACK%
- %TAN%
- %ORANGE%
- %YELLOW%
- %PURPLE%
If you ever had the 'Shorten Item Names' parameter enabled, you can use these rules to replicate exactly what it does:
Adding to Existing Names
Sometimes it's nice to add onto an existing item name. To leave a super healing potion with the same name, but write it in red text, do this:
To prepend 'Ninja' to every item name in the game, use this rule:
You can append every item's vendor value to its name using the %PRICE% action, as shown here:
To add item level to item names, do this:
To show an item's item code, use the following rule:
To add the number of sockets to item names, this would work:
Logical Operators
Often you will want to match multiple conditions. This rule will match any item that satisfies both CONDITION1 and CONDITION2 (since no logical operators are given, the conditions are implicitly ANDed together):
For more complicated conditions, you can use the following logical operators:
- AND
- OR
- ! (logical negation)
The previous rule is exactly equivalent to this one:
You can also use parentheses to group conditions. See below for examples of these logical operators.
Item Quality
Several conditions let you match items of certain quality:
- INF: matches inferior items
- SUP: matches superior items
- MAG: matches magic items
- RARE: matches rare items
- SET: matches rare items
- UNI: matches unique items
- NMAG: matches nonmagical (white/gray) items
- ETH: matches ethereal items
- RW: matches runewords
For example, to write all unique ethereal item names in purple, do this:
Item Groups
Normal, Exceptional, Elite
- NORM: matches normal items
- EXC: matches exceptional items
- ELT: matches elite items
Class Specific Items
There are conditions that refer to class specific items:
- CL1: druid pelts
- CL2: barbarian helms
- CL3: paladin shields
- CL4: necromancer heads
- CL5: assassin katars
- CL6: sorceress orbs
- CL7: amazon weapons
To display all ethereal paladin shields in purple, use this line:
Weapon Groups
- WP1: axes
- WP2: maces
- WP3: swords
- WP4: daggers
- WP5: throwing weapons
- WP6: javelins
- WP7: spears
- WP8: polearms
- WP9: bows
- WP10: crossbows
- WP11: staves
- WP12: wands
- WP13: scepters
- WEAPON: any weapon
Armor Groups
- EQ1: helms
- EQ2: body armor
- EQ3: shields
- EQ4: gloves
- EQ5: boots
- EQ6: belts
- EQ7: circlets
- ARMOR: any armor
To display ethereal elite polearms capable of 4+ sockets in purple, use this line in BH.cfg:
The exclamation point prevents matching item code 7o7 (ogre axe), which can only have 3 sockets.
Sockets
You can match items with a certain number of sockets. To display all items with more than 4 sockets in green:
For conditions like SOCK that compare with a number, you can use <, >, or =.
Runes, Gems, and Gold
The 'RUNE' condition can be used to match different types of runes based on the rune number. To display runes Lem and higher in purple '20 - Lem' format:
The 'GEM' condition will match based on gem quality (1=chipped, 5=perfect). To display all flawless and perfect gems in purple:
The 'GEMTYPE' condition will match on the type of the gem, based on this list: gem types. To match all perfect diamonds:
To block the game from showing any gold stacks smaller than 1000:
Unlike other conditions, GOLD can only be used to filter out small stacks. It cannot currently be used to change the color or show stacks of certain sizes on the map.
Skills
It is possible to match bonuses to all skills, bonuses to class skills, bonuses to particular skill trees, and bonuses to individual skills.
All Skills
To match all items with +2 or more to all skills:
Class Skills
Find the number of the class from this page: class list; next, append that number to 'CLSK'. This will match grand matron bows with +2/+3 to amazon skills (class number 0 from the list):
Skill Tabs
Find the number of the skill tab here: skill tabs; then append it to 'TABSK'. So to match all items with +1 or more to warcries (#34 from that list):
Individual Skills
Look up the number of the skill on this page: skills list. For example, Battle Orders is skill number 149. So to display barbarian helms capable of 3os with +3 to BO in purple:
Other Conditions
Other miscellaneous conditions:
- ILVL: matches against the item level
- ED: matches % effective defense/damage (depending on item type)
- RES: matches resist all
- ID: matches items that have been identified
- DEF: matches total defense
- LIFE: matches +HP items (added 2/25/15, only available in builds after this date)
- IAS: matches increased attack speed (added 2/25/15, only available in builds after this date)
Marking Items on the Map
You can mark any matching item on the map with a square by putting %MAP% anywhere in the action for the rule. This will put all mage plates on the map as a white square without changing the name:
This square will be white because a color was not specified; if a color is used before the %MAP% action, then that will be used as the square color. For example, this marks mage plates with blue squares:
Example Configuration
Here is a sample configuration file containing some basic rules that display certain items in purple. Ethereality, sockets, and item level are added to the item name. Inferior items are filtered out. Runes over lem are shown on the map.