DiabloSight Version 1.07.00 for v1.07, v1.05 and v1.04
Instructions and Information Key, 10/09/98

Produced and Updated by
moe SAINT EverGreen, AlterNative LABs Games Archive
http://www.zerkworld.com/moesteg/diablo.htm
http://come.to/moesteg
Check often for the latest version.


DiabloSight's Purpose and Abilities :

1) View player attributes and equipped items
   Check for cheating players with hacks and dupes.
   DiabloSight shows the Unique Item Number of all equipped items.
   You don't have to ever use Save/Restore to do this.


Installing DiabloSight :

1) Extract DiabloSight.exe into any directory.
   I make a subfolder in my Diablo folder for this.

2) Run it at any time.

3) Load a Diablo Game to use DiabloSight.


Operating DiabloSight : 

1) View any characters in the current game :
   Alt-Tab to DiabloSight, 
   Hit Refresh to update the game data, 
   Choose View, and the character name.
   Alt-Tab to Return to Diablo.
   If you View your own character, all of your items will display.
  
2) Fixing Hacked Items
   Choose Utilities and Fix.
   This will fix those hacked items in inventory
   that have incorrect indestructability or too many spell charges.
   Uniques with a hacked item type will get deleted from Equipment
   or changed into mana potions when in the pack.
   This will also delete any invalid crash items hidden in inventory.


How DiabloSight Works :

DiabloSight for v1.07 reads Diablo's memory to read the character.

DiabloSight for v1.04 actually places a hack into Diablo code,
very similar to what Raymond's trainer does,
in order to temporarily freeze the Diablo Memory.


Checking for Dupes and Hacks with DiabloSight :

DiabloSight shows Equipped items only for other players.
It detects if any character
has two (or more) of exactly the same item (duped)
on their person as any character in the same game,
and will show those dupes.

DiabloSight shows '~' for any detected hacks,
  (Incorrect Indestructability, Too many Charges, or Invalid Uniques)

and '*' for any detected duplicates,
  (04 03 02 01 00 168 all match exactly)

and '?' for any possibly hacked duplicates
  (04 03 02 01 00 match, but 168 does not)

Where DiabloSight shows the items,
it also shows the internal Unique ID#
used by Diablo to determine Item attributes
and used to detect duplicates in the game.

You will never see this ID # in Diablo
(From a character's point of view, such a thing wouldn't exist.)
but it does affect game play (per the duplicate item destruction),
and per the commonality of exploiting duplicated items.

When using DiabloSight to check other characters
in games labeled Legit, you will see many people enter
that have Gnarled Root Helmets or Lightforge rings,
or they will have exactly the same obsidian zodiac ring on both hands.

In testing,
I have dared people with the same ID # on two obsidian zodiac rings
(who also claimed they found them legit)
to drop their rings on the ground and pick them back up.
Twice people have actually fallen for this
to prove their legitimacy,
only to see one of their rings destroyed,
"duplicate item detected."
(Some people will drop different rings to trick you.)

Note that Diablo can actually produce Duplicate Items
even in the same game (most often I have seen duplicated potions).
However, more than 2 trillion possible items exist,
and that means a trillion unique high level items.
I do not recommend equiping two rings that Diablo
created as duplicates, because they will destroy
each other when a monster kills you, anyway.


Checking for Cheated Attributes with DiabloSight :

DiabloSight has two values that help you check for cheats:
Shrines and Mods. 

Shrines tells you the number of shrines a character would
have had to visit to get their raise their stats.
(2 Elixers = 1 Shrine value). 
If a level 20 character shows 150 shrines,
they most likely cheated to raise their attributes.
After Shrines a number in parentheses ()
shows the total elixers needed to raise their stats.

Mods shows the difference of the expected
Life and Mana Total from the actual Base Total.
A small negative number may indicate loss of base life
due to Black Death Zombie. A higher negative number may 
indicate loss of mana due to a shrine. But a very high positive 
number will usually indicate a cheater who has raised their
life or mana attributes. Note that one shrine moves
a percentage of life to mana.


The Unique Item ID Number :
(These Numbers represent Hexadecimal Values).

05 : 04 03 02 01 00 : 168

Where the number represents the relative memory location
of the item data, as Diablo stores it in the character memory.

In Diablo, very few unique rings, amulets or helmets exist.
Most hacked Uniques have an ID similar to the ones below:
03 : xx 00 00 00 xx : xx  or  02 : xx 00 00 00 xx : xx 

You can see my ItemHex.txt .ITM and .CHA Reference
at the site listed in this file for more information.


DiabloSight's Key for Showing Item Attributes :

2H = 2 Handed Sword

For Weapons,
m<x_d(n) shows hits, m to x, durability, d, 
         and normal durability of item type (n).
m<x_I represents an Indestructable Item.
m<x_I(n) represents an Item with Hacked Indestructability.

For Armor,
a_d(n) shows armor class, a, durability, d, 
       and normal durability of item type (n).

For Staffs (Staves),
 Cm(X) = Magic Charges, m, and maximum charges (X) based on Spell.
         If m > X or m = 255, then the Staff has Hacked Charges

+/- %th = +/- % to hit (+25% to hit)
+/-  %h = +/- % hits (damage) (+25% damage)
+/-   h = +/- hits (damage) (+6 damage)
+/- %ac = +/- % armor class (+10% AC)

    +ac = Non-Armor that Adds to Armor (Engagement Ring)
  +#<#h = Additional Range of Hits (damage) (thorns)
+200%hD = + 200% Hits (Damage) to Demons  
  #<#Lh = Additional Lightning Hits (damage)
  #<#Fh = Additional Fire Hits (damage)
    +Fh = Burning Item
 -/+ eh = -/+ enemy hits (-6eh = absorbs 6 hits)

   -L = Constricting
+/- L = +/- Life (+20 hit point)
+/- a = +/- all attributes (+10 all)
+/- s = +/- strength
+/- m = +/- magic
+/- d = +/- dexterity
+/- v = +/- vitality

   0bm = 0 Base Mana (No Mana while equiped)
+/- bm = +/- Base Mana   

+/- %ra = +/- % resist all
+/- %rm = +/- % resist magic
+/- %rf = +/- % resist fire
+/- %rl = +/- % resist lightning

+/- sp = +/- spell level (archangel shows +2sp)
   
  +sh = Random Steal Hits (Steal Life Like Undead Crown)
+3%sh = Steal 3% Hits (Life)
+5%sh = Steal 5% Hits (Life)
  KT  = Knocks Target back
  QA  = Quick Attack
  FA  = Fast Attack
  FA2 = Faster Attack
  FA3 = Fastest Attack
  FB  = Fast Block
  AT  = Absorb Traps
+3%sm = Steal 3% Mana
+5%sm = Steal 5% Mana

+/- %Lr = +/- % Light Radiation

 R#m#d#s = Requirements, magic, dexterity, strength
 
 (#g) = Sale Value of Item (Identified) in Gold Pieces
 
Diablo appears to ignore Stability, Harmony, & Damage Target Armor.
 

More Information about the Unique Item Number :

As Extracted from ItemHex.txt.
Note that I subtracted the 20h ITM header length from these values.

Bytes 00 - 04 : Unique Item Number (Cazasombras: 'Item Generator Seed') 
XX XX XX XX XX
Diablo Uses this Number to Send to a Pseudo Random Item Generator.
The Same Code usually generates the same item and same stats,
But some exceptions exist, depending on locations 05 and 168.
If a non-unique item does not match codes with its originator,
and then it will get re-generated when it re-enters the game world.
Somebody could use this with a Non-Legit-Checking program 
to search in other player's inventories for hacks, duplicates,
and commonly duplicated items, such as the King's Sword of Haste.

Byte 04 : (CazaSombras: 'Control Code, 2nd Byte')
This byte appears to affect the Grade of Items Generated.
01 - 1E Level 1 to Level 30 Item Drops/Offers
1F - 32 Level 31 to 50 Offers from Wirt
     3F Unattainable godly items
C1 - DE Items dropped by Unique monsters

Byte 05 : Item Origin Code (CazaSombras: 'Control Code, 1st Byte')
00 Monster Treasure Items (Amulet, Ring, Gold).
     Note : Item Type Generated by 20-24 depends on Byte 168.
01 Chest Treasure Items (Amulet, Ring, Armor, Weapons).
     Note : Item Type Generated by 20-24 may depend on Byte 168.
02 Unique Dropped by Unique (Grandfather, Royal Circlet)
03 Unique Dropped by NonUnique or Quest (Optic Amulet, most Hacked Uniques)
04 Smith Shop Normal Items (Non Magical Sabre)
08 Smith Shop Item (Any Weapon/Armor, Not Amulets nor Rings)
10 Wirt Shop Item (Powerful Flail, Godly Shields)
20 Witch Shop Magic Item (Book, Staff, Scroll, Mana)
40 Healer Shop Magic Item (Rejuvenation, Elixer)

Byte 168 : Equipment Name Type
Some Normal Equipment
30  Cap                   48  Small Shield          84  Morning Star
31  Skull Cap             49  Large Shield          85  War Hammer
32  Helm                  4A  Kite Shield           86  Spiked Club
33  Full Helm             4B  Tower Shield          87  Club
34  Crown                 4C  Gothic Shield         88  Flail
35  Great Helm            71  Dagger                89  Maul
36  Cape                  72  Short Sword           8A  Short Bow
37  Rags                  73  Falchion              8B  Hunter's Bow
38  Cloak                 74  Scimitar              8C  Long Bow
39  Robe                  75  Claymore              8D  Composite Bow
3A  Quilted Armor         76  Blade                 8E  Short Battle Bow
3B  Leather Armor         77  Sabre                 8F  Long Battle Bow
3C  Hard Leather Armor    78  Long Sword            90  Short War Bow
3D  Studded Leather Armor 79  Broad Sword           91  Long War Bow
3E  Ring Mail             7A  Bastard Sword         92  Short Staff
3F  Chain Mail            7B  Two-Handed Sword      93  Long Staff
40  Scale Mail            7C  Great Sword           94  Composite Staff
41  Breast Plate          7D  Small Axe             95  Quarter Staff
42  Splint Mail           7E  Axe                   96  War Staff
43  Plate Mail            7F  Large Axe             97  Ring
44  Field Plate           80  Broad Axe             98  Ring
45  Gothic Plate          81  Battle Axe            99  Ring
46  Full Plate Mail       82  Great Axe             9A  Amulet
47  Buckler               83  Mace                  9B  Amulet

Some Unique Items
06  Cleaver               0B  Ring of Truth         1F  Griswold's Edge
07  The Undead Crown      0D  Harlequin Crest       20  Lightforge
08  Empyrean Band         0E  Veil of Steel
0A  Optic Amulet          1C  Arkaine's Valor

Some Novelty Items
09  Magic Rock            11  Black Mushroom        15  Blood Stone
0C  Tavern Sign           12  Brain                 16  Map of the Stars
0F  Golden Elixir         13  Fungal Tome           17  Heart / Ear
10  Anvil of Fury         14  Spectral Elixir       21  Staff of Lazarus
 

DiabloSight's Log Key (for DiabloSight.log) :
 i = indestructable
 * = indestrucable hack
 ~ = hack
 

