Latest Diablo 3 News
Support the site! Become a Diablo: IncGamers PAL - Remove ads and more!

Item Generation Tutorial for Patch 1.11 (v1.0)

Discussion in 'Theorycrafting and Statistics' started by Warrior of Light, Oct 5, 2005.

  1. Warrior of Light

    Warrior of Light Diabloii.Net Member

    Joined:
    May 14, 2005
    Messages:
    459
    Likes Received:
    0
    Trophy Points:
    144
    Item Generation Tutorial for Patch 1.11 (v1.0)

    Item Generation Tutorial for Patch 1.11
    v1.0​

    The Table of Contents

    1. Basics
    2. Terminology
    3. Short Explanation of Drop Process
    4. Game data files
    4.1. TreasureClassEx.txt
    4.2. Monstats.txt
    4.3. MagicPrefix.txt and MagicSuffix.txt
    4.4. Weapons.txt
    4.5. Armor.txt
    4.6. Misc.txt
    4.7. ItemTypes.txt
    4.8. Itemratio.txt
    5. Area, monster and item levels
    6. TC selection and number of dropped items
    7. Item type selection
    8. Item quality selection
    9. Set and unique item selection
    10. Sockets' number selection
    11. Affix selection
    12. Item generation at shops
    13. Gambling
    14. Ethereal items
    15. Rune and charm generation
    16. Quest drop and Andariel bug
    17. Object drops
    18. Countess
    19. Crafting
    20. Imbue
    21. Cubing
    22. Circlets and Magic Level
    23. Runes in Hell Forge
    24. Magic Find
    25. 1.11 Drop Changes
    26. Thanks

    1. Basics

    The goal of most players in Diablo II is to kill enemies while staying alive. This trivial concept is based on three things that determine your effectiveness: 1) your tactics, 2) the build of your character, 3) the items, that you use. All this things have great impact on gameplay, you'll quickly die at hell difficulty if you play without any tactics, you'll be killing slowly without wise skill distribution, but many people find, that the most important aspect of Diablo II is its unique item system. Almost any character reckon on its items, for example a Mage becomes very powerful after doubling his skill levels, using items, and a Warrior almost completely cannot be separated from his weapon. Many peoples spend a lot of hours, trying to find certain items, and most dedicated players makes item hunting the goal of their playing.
    This guide is trying to answer most popular question about item generation, most aspects of item creation in the game.
    If you have any other questions, feel free to post them in Single Player Forum or Statistics Forum.

    2. Terminology

    Item Type — it is a kind of item, e.c. a cap, a gem, a short sword, a ring.
    Item Quality — it is a kind of item properties: low quality, normal, superior, magic, rare, set, unique.
    Affixes — it is item magic properties: prefixes and suffixes. Note, that not all item properties are affixes. For example: stuffmods, pre—defined properties of crafted items and some special mods of set and unique items. E.c. "+60 to Mana" on magic ring is affix, "+20% crushing blow" isn't affix.
    Qlvl — Quality level. 1) A level of item type. All this levels are stored in weapons.txt, armor.txt and misc.txt data files. 2) A level of set or unique item. All this levels are stored in UniqueItems.txt and SetItems.txt data files.
    Ilvl — Item Level. All items in the game have levels, that is generated when it is created. For some strange reason Blizzard decided to hide it from players. Don't confuse Item Level with Required Level, — it is different things.
    Mlvl — Monster Level. All monsters in the game have levels as well as players.
    Area Level — Area Level. All areas in the game also have levels.
    Alvl — Affix Level. It is a level of prefix or suffix. They are stored in MagicPrefix.txt and MagicSuffix.txt in "Level" column. The name "Affix Level" is used to differ them from other "Levels".
    TC — Treasure Class. All item type in the game is organised in the game into treasure classes. They are recursive. This means, that one treasure class may include another treasure class. E.c. Hell Baal drop all his items from "Baal (H)" treasure class, which consists of "Act 5 (H) Equip B", "Act 5 (H) Junk" and "Act 5 (H) Good" treasure classes. Each of them consists of several other treasure classes.
    Clvl— Character Level. It is one of few levels, that you can actually see in the game. :)
    Rarity — it is value, assigned to every set and unique item in the game. Higher the rarity of an item, more common it is in the game. So you may see that "Rarity" is quite bad name. E.c. Stone of Jordan has Rarity=1, Manald Heal has Rarity=15.
    SP — Single Player mode.

    3. Short Explanation of Drop Process

    When you kill a monster or open a chest the game may generate items to reward you. Their properties are also generates at the same moment. The item may be unidentified, however if it is dropped it already has certain properties, that isn't depends on who will identify it or when.
    The game creates dropped items with algorithm of such kind:

    1) At the beginning it finds treasure class (TC), that describes all drops of the monster you killed or a chest, you opened, rock, you touched, etc. All drop sources have treasure classes.
    2) Then it makes one or several iterations, that are called "Picks", when it selects one chose from several possibilities.
    2.1) One of this possibilities often is so called "NoDrop", when it simply no drop items at all. However, note, that the game may do several picks, so one of them may select NoDrop, but all other selects some items. Most normal monsters have only one pick, though.
    2.2) If it selects to pick from another TC, than it starts another cycle of picks from the selected TC, which may again contain several picks from different TCs and may also have NoDrop chance.
    3) At some iteration the game may eventually select certain item type. If this item may have several qualities, the game starts algorithm of quality determination. E.c. Keys, runes, potions may only be normal quality, but rings, short swords, helms, bucklers may have different qualities like magic or unique. Note that Magic Finding works only here.
    4) For every selected item it calculates item level.
    5) If it selects unique or set quality, the game creates the list of all such items according to item level. Then it selects one of item from the list randomly according to rarity. If there are no any items in the list, then it will create double durability magic or triple durability rare item.
    6) After it selects item type and item quality, it generates item affixes if needed. Also it generates all other properties of an item, that may vary. E.c. El runes, mana potions, identify scrolls doesn't have variable properties, but magic rings, rare kite shields, cracked sashes needs property generation.

    You may find this algorithm a bit complicated, but it is actually quite simple. I'll show you it in the next chapters, when I'll explain every step in details.
    If you want, I'll simplify it even more. When, say you kill Mephisto, the game:
    • calculates the number of items to drop;
    • selects item types;
    • selects item qualities;
    • selects certain unique or set items if needed;
    • selects item properties.

    4.Game data files

    At this chapter I'll explain several data files, that are used in item generation process.
    Many parameters of drops are stored in txt files, that are packed to MPQ files in your Diablo II directory. If you have installed ATMA you may find that files unpacked in its data folder.
    This files is stored in CSV format, it is plain text tables, you may open them in Excel or OpenOffice.org.
    You don't need to know everything about them to be effective in item hunting, that files are a bit complicated. However it would be better to know their structure.
    If you are crazy dedicated item hunter like me, I suggest you to look at Diablo II 1.10 file guides, that are published at Phrozen Keep.
    Note, that I will not explain the fields, that are not needed for item generation.
     
  2. Warrior of Light

    Warrior of Light Diabloii.Net Member

    Joined:
    May 14, 2005
    Messages:
    459
    Likes Received:
    0
    Trophy Points:
    144
    4.1. TreasureClassEx.txt

    This is the most important file, that organizes all items, that drop, into a system of Treasure Classes (TC).
    Each sources of items in the game, except NPCs drop items from Treasure Classes, so pay attention.
    We'll start with description of all fields of TreasureClassEx.txt table.

    Treasure Class — a name of a TC, the game usually refers to it.
    group — an identification number of similar TCs, that is used in TC upgrade process according to Mlvl.
    level — a level of TC. It is also used in TC upgrade process.
    Picks — a quantity of iterations of selection process.
    Unique — a modification number for chance to drop unique item from given TC (more is better).
    Set — a modification number for set chance.
    Rare — a modification number for rare chance.
    Magic — a modification number for magic chance.
    NoDrop — a rate of skipping drops from the TC (the higher NoDrop, the less items the TC will generate).
    Item1-Item10 — a code of item to drop or a name of TC to drop from (item codes are stored in weapons.txt, armor.txt and misc.txt data files).
    Prob1-Prob10 — a rate of selecting respective Item1-Item10 (more is better).
    SumItems, TotalProb, DropChance, Term — unimportant fields for item drop routine.

    TreasureClassEx.txt file doesn't contains all treasure classes. At run time the game adds quite a few additional TCs. Their names are ArmoXX and WeapXX, where XX is two digit number. The game creates them from armor.txt and wepons.txt files, looking at quality levels. The first TC of armors, Armo03, contains all armor items with levels from 1 to 3: Cap, Quilted Armor, Leather Armor, Buckler, Gloves, Boots and Sash. The next armor TC, Armo06 contains all armor items with levels from 4 to 6, and so on. The last armor TC, Armo87, contains all armor items with levels from 85 to 87.
    Weapons are organized in their TCs, Weap03-Weap87 by the same manner.
    In this TCs Prob1-Prob10 values are equal to 3 for all normal items, 1 for all class specific items, 2 for assassin claws, and 1 for wands, staves and sceptres. These probabilities may be found in ItemTypes.txt file.

    Well, now you know what all this columns means, but how all this works?
    Lets look at process of item selection from given TC.

    All monsters have treasure classes, written in monstats.txt file. When you kill a monster in normal difficulty the game simply uses his TC to drop items. However in Nightmare and Hell difficulty the given TC may be upgraded. Determining TC for monster the game selects the highest level TC in the group, that is equal or lower than Mlvl. If there is no group for TC of this monster, than it doesn't upgrade TC. Treasure classes, that are included in selected TC isn't upgraded.

    Selecting from a TC the game makes one or several attempts of dropping according to Picks field. Each pick choses from several possibilities, that include NoDrop, if it is not empty, and each non-empty entry from Item1-Item10 fields. The chance of every choice is equal to X/Sum, where X is respective value from Prob1-Prob10 fields for Item1-Item10, or NoDrop value for NoDrop choice, and Sum is the sum of all that values (NoDrop+Prob1+Prob2+...+Prob10).

    If the game selects another TC during this process it will initiates the same cycle for it, then another cycle for newly selected TC, then another and another until it selects an item or NoDrop.

    In multilayer game NoDrop value is reduced.
    NewNoDrop=int( ProbSum/(1/((NoDrop/(NoDrop+ProbSum))^N)-1) ),
    where N=int(1+AdditionalPlayers/2+ClosePartiedPlayers/2),
    AdditionalPlayers — the number of all additional players in the game, where the monster is killed,
    ClosePartiedPlayers — the number of players in your party near you (not far than two screens away),
    ProbSum=Prob1+Prob2+Prob3+...+Prob10,
    int — operation of truncating fractional part of a number.

    In SP /playersX command sets the number of NON-partied players, e.c. /players8 command sets N=4.

    Lets take an example. Say you kill non-boss Devilkin in The Pit level 1 in Hell in /players8 mode (or in the full game in Battle.net). It has Mlvl=85. In monstats.txt file Devilkin is figured under "fallen3" name. Non-unique fallen3 drop items from "Act 1 (H) H2H B" TC in Hell difficulty.
    In TreasureClassEx.txt file "Act 1 (H) H2H B" TC has group=7 and level=66. Because Mlvl=85 the TC is upgraded to "Act 5 (H) H2H C" TC, which has level=85 (less or equal to mlvl).
    So Devilkins in The Pit drop items from "Act 5 (H) H2H C" TC.
    It has 1 pick from fallowing possibilities:
    * NoDrop (100);
    * gld (21);
    * Act 5 (H) Equip C (16);
    * Act 1 (H) Junk (21);
    * Act 5 (H) Good (2).
    The numbers in parances are probabilities.
    Lets calculate NewNoDrop:
    ProbSum=21+16+21+2=60.
    NoDrop=100.
    N=4.
    NewNoDrop=int( 60/(1/((100/(100+60))^4)-1) )=11.

    So The Pit Devilkin has fallowing chances:
    * 11/71 for no dropping at all;
    * 21/71 for dropping gold;
    * 16/71 for dropping from Act 5 (H) Equip C;
    * 21/71 for dropping from Act 1 (H) Junk;
    * 2/71 for dropping from Act 5 (H) Good.

    Lets assume, that the game decided to drop from "Act 5 (H) Equip C" TC. Here it is: Picks=1, NoDrop=0, Item1="weap81", Prob1=2, Item2="armo81", Prob2=1, Item3="weap84", Prob3=6, Item4="armo84", Prob4=3, Item5="weap87", Prob5=14, Item6="armo87", Prob6=7, Item7="weap87", Prob7=1, Item8="armo87", Prob8=1, Item9="Act 5 (H) Equip B", Prob9=1530. Note, that weap87 and armo87 TCs are mentioned twice, it is not a error.

    So this TC has fallowing chances:
    * 2/1565 for dropping from weap81;
    * 1/1565 for dropping from armo81;
    * 6/1565 for dropping from weap84;
    * 3/1565 for dropping from armo84;
    * 15/1565 for dropping from weap87;
    * 8/1565 for dropping from armo87;
    * 1530/1565 for dropping from "Act 5 (H) Equip B".

    Lets assume, that the game decided to drop from armo87. This TC has picks=1, NoDrop=0, Item1="Diadem", Prob1=3, Item2="Corona", Prob2=3, Item3="Sacred Armor", Prob3=3, Item4="Ogre Gauntlets", Prob4=3, Item5="Myrmidon Greaves", Prob5=3, Item6="Colossus Girdle", Prob6=3, Item7="Dream Spirit", Prob7=1, Item8="Guardian Crown", Prob8=1, Item9="Vortex Shield", Prob9=1, Item10="Bloodlord Skull", Prob10=1.
    So armo87 has fallowing chances:
    * 3/22 for Diadem;
    * 3/22 for Corona;
    * 3/22 for Sacred Armor;
    * 3/22 for Ogre Gauntlets;
    * 3/22 for Myrmidon Greaves;
    * 3/22 for Colossus Girdle;
    * 1/22 for Dream Spirit;
    * 1/22 for Guardian Crown;
    * 1/22 for Vortex Shield;
    * 1/22 for Bloodlord Skull.
     
  3. Warrior of Light

    Warrior of Light Diabloii.Net Member

    Joined:
    May 14, 2005
    Messages:
    459
    Likes Received:
    0
    Trophy Points:
    144
    4.2 Monstats.txt

    This file holds a lot of information about monsters. I will describe fields, that you need to know for better understanding of item generation.

    Id — internal name of a monster type, the game refer to a monster using this field.
    NameStr — it is either the actual name of the monster or a reference to name table for names with spaces.
    rangedtype — 1 for monsters with ranged attack, blank for others.
    minion1 and minion2 — type of minions for the monster, e.c. normal fallen shamans usually have normal fallens as minions.
    PartyMin-PartyMax — the range for quantity of minions.
    MinGrp-MaxGrp — the range for quantity of normal monsters in one grope.
    Velocity — walk speed.
    Run — run speed.
    Level — monster level in Normal difficulty.
    Level (N) — Only for bosses. Monster level in Nightmare difficulty
    Level (H) — Only for bosses. Monster level in Hell difficulty.
    lUndead — 1 for melee undeads.
    hUndead — 1 for ranged undeads.
    demon — 1 for demons.
    boss — 1 for bosses. They save their mlvl in Nightmare and Hell difficulties.
    Drain, Drain(N), Drain(H) — life and mana leech effectiveness in Normal, Nightmare and Hell difficulties (percents).
    coldeffect, coldeffect(N), coldeffect(H) — chill and freeze effectiveness in Normal, Nightmare and Hell difficulties (percents).
    ResDm, ResDm(N), ResDm(H) — damage resistance in Normal, Nightmare and Hell difficulties (percents).
    ResMa, ResMa(N), ResMa(H) — magic resistance.
    ResFi, ResFi(N), ResFi(H) — fire resistance.
    ResLi, ResLi(N), ResLi(H) — lightning resistance.
    ResCo, ResCo(N), ResCo(H) — cold resistance.
    ResPo, ResPo(N), ResPo(H) — poison resistance.
    ToBlock, ToBlock(N), ToBlock(H) — chance to block.
    Crit — critical hit chance (5% for everyone ATM).
    TreasureClass1 — TC of normal monster in Normal difficulty.
    TreasureClass2 — TC of champion monster in Normal difficulty.
    TreasureClass3 — TC of unique monster in Normal difficulty (non-quest drop).
    TreasureClass4 — TC of unique monster in Normal difficulty (quest drop).
    TreasureClass1(N) — TC of normal monster in Nightmare difficulty.
    TreasureClass2(N) — TC of champion monster in Nightmare difficulty.
    TreasureClass3(N) — TC of unique monster in Nightmare difficulty (non-quest drop).
    TreasureClass4(N) — TC of unique monster in Nightmare difficulty (quest drop).
    TreasureClass1(H) — TC of normal monster in Hell difficulty.
    TreasureClass2(H) — TC of champion monster in Hell difficulty.
    TreasureClass3(H) — TC of unique monster in Hell difficulty (non-quest drop).
    TreasureClass4(H) — TC of unique monster in Hell difficulty (quest drop).
    TCQuestId and TCQuestCP — values for special quest drops like Mephisto's Solestone.

    The most important part for item drops is Treasure Classes of the monster and his level. I also included some other interesting fields.

    4.3 Magicprefix.txt and Magicsuffix.txt

    This two files contains all affixes, available in the game. They have almost the same field, that is why I put them at the same chapter.

    Name — the name of affix as it appear in the game.
    version — 0 for Classic, 100 for LoD.
    spawnable — 1 for available affixes, 0 for affixes, that cannot appear in the game.
    rare — 1 for affixes, that can appear on rare items, 0 for magic only affixes.
    level — minimum Affix Level of item, that may have this affix.
    maxlevel — maximum Affix Level of item, that may have this affix.
    levelreq — minimum required character level for using item with this affix.
    classspecific — the class, for which this affix will work, — ama, sor, nec, pal, bar, dru or ***. E.c. "Arch-Angel's" prefix will only add skills for sorceress.
    classlevelreq — minimum required character level for using item with this affix. Although it usually is overkilled by levelreq.
    frequency — the rate of appearance in the game of this affix (0 for items, that cannot be selected at all).
    group — group Id for selecting affixes for rare and crafted items. They cannot have more than one affix per group.
    mod1code, mod2code, mod3code — the codes of effects of this affix. This codes refer to internal game functions, however all of them are quite self-explanation, e.c. "ac%" is Armor Class increase, "dmg%" is Damage increase, "res-all" is resist all.
    mod1param, mod2param, mod3param — parameters for the affix function. E.c. poison duration in frames, skill index, cold duration in frames.
    mod1min, mod2min, mod3min — min parameters for affix function. E.c. minim of life range, given by +life affix.
    mod1max, mod2max, mod3max — max parameters for affix function. E.c. maximum of life range, given by +life affix.
    transform — 1 for affixes that do color shift on base item.
    transformcolor — color code for affixes that do color shift on base item. E.c. "dgld" is dark gold, "lpur" is light purple.
    itype1, itype2, itype3, itype4, itype5, itype6, itype7 — Include Type, item type codes of items, on which this affix may occur. These codes are stored in armor.txt, weapon.txt, misc.txt and ItemTypes.txt files.
    etype1, etype2, etype3, etype4, etype5, etype6, etype7 — Exclude Type, item type codes of items, on which this affix may NOT occur.
    divide, multiply, add — values for modifying item price.

    I'll explain usage of this file in details later, when I'll talk about affix generation, in chapter 11.
     
  4. Warrior of Light

    Warrior of Light Diabloii.Net Member

    Joined:
    May 14, 2005
    Messages:
    459
    Likes Received:
    0
    Trophy Points:
    144
    4.4 Weapons.txt

    This file is used to store information about weapon item types.

    name — the name of the weapon as it appear in the game.
    type, type2 — item type code, the index of respective raw in itemtypes.txt file.
    code — internal item name.
    alternateGfx — item code for choosing animation. Unimportant for item generation.
    namestr — reference to the table, contained correct name of the item.
    version — 0 for Classic, 100 for Lod.
    compactsave — empty. Unimportant for item generation.
    rarity — the rate of dropping the weapon from weapon racks.
    spawnable — 0 for items, that cannot be generated (except special cases like quests), 1 for others.
    mindam-maxdam — one-handed damage.
    1or2handed — 1 for two-handed weapons, that may be held in one hand by Barbarian.
    2handed — 1 for two-handed weapons.
    2handmindam-2handmaxdam — two-handed damage.
    minmisdam-maxmisdam — ranged damage.
    rangeadder — weapon range adder. Weapon range=1+rangeadder.
    speed — base weapon attack speed.
    StrBonus — strange bonus for weapon damage. Enhanced damage percent=Strength*StrBonus/100.
    DexBonus — dexterity bonus for weapon damage. Enhanced damage percent=Dexterity*DexBonus/100.
    reqstr — strength required.
    reqdex — dexterity required.
    durability — base durability.
    nodurability — 1 for indestructible weapons.
    level — Quality Level.
    levelreq — character level required.
    cost — base weapon cost.
    gamble cost — gambling cost.
    magic lvl — Magic Level (see chapter 11 and chapter 22).
    auto prefix — the code number of prefix, that always occurs on the weapon (like +mana on orbs).
    OpenBetaGfx — Unimportant for item generation.
    normcode — code of normal version of the weapon.
    ubercode — code of exceptional version of the weapon.
    ultracode — code of elite version of the weapon.
    wclass, 2handedwclass — weapon class for animation. Unimportant for item generation.
    component — Unimportant for item generation.
    hit class — Unimportant for item generation.
    invwidth — width of the item in the inventory.
    invheight — height of the item in the inventory.
    stackable — 1 for stackable weapons (throwing).
    minstack-maxstack — the range of quantity of items of this type in on stack.
    spawnstack — quantity of items of this type in on stack upon founding.
    flippyfile, invfile, uniqueinvfile, setinvfile — graphics files for the weapon.
    hasinv — 1 for socketable weapons.
    gemsockets — maximum possible number of sockets in the weapon.
    gemapplytype — item class for gems and runes. 0 for all weapons.
    special — Unimportant for item generation.
    useable — 1 for items, that you may use (e.c. town portal scroll). 0 for all weapons.
    dropsound, dropsfxframe, usesound — sound-related information. Unimportant for item generation.
    unique — 1 for special quest items.
    transparent, transtbl — not used.
    quivered — 1 for weapons, that need ammo.
    lightradius, belt, quest, questdiffcheck, missiletype — Unimportant for item generation.
    durwarning — Id of low durability warning icon.
    qntwarning — Id of low quantity warning icon.
    gemoffset — Unimportant for item generation.
    bitfield1 — weapon material code (is used in golem creation and rack drop checks).
    CharsiMin (and all other *Min fields) — should be minimal quantity of the item in vendor's price list, but isn't used (see chapter 12).
    CharsiMax (and all other *Max fields) — if CharsiMax>0 then she can sell this item (see chapter 12).
    CharsiMagicMin (and all other *MagicMin fields) — should be minimal quantity of the item in vendor's price list, but isn't used (see chapter 12).
    CharsiMagicMax (and all other *MagicMax fields) — if CharsiMagicMax>0 then she can sell this item (see chapter 12).
    CharsiMagicLvl (and all other *MagicLvl fields) — if ilvl>=CharsiMagicLvl then she can sell this item (see chapter 12).
    Source Art, Game Art, Transform, InvTrans, SkipName — Unimportant for item generation.
    NightmareUpgrade — item code for selling by Nightmare difficulty vendors, "xxx" for items, that don't get upgrade (see Chapter 12).
    HellUpgrade — item code for selling by Hell difficulty vendors, "xxx" for items, that don't get upgrade (see Chapter 12).
    Nameable — 1 for items that may be personalized.
    PermStoreItem — Unimportant for item generation.

    4.5 armor.txt

    This is similar file with weapons.txt.

    name — the name of the weapon as it appear in the game.
    version — 0 for Classic, 100 for Lod.
    compactsave — Unimportant for item generation.
    rarity — the rate of dropping the armor from weapon racks.
    spawnable — 0 for items, that cannot be generated (except special cases like quests), 1 for others.
    minac-maxac — defence range.
    absorbs — not used. Unimportant for item generation.
    speed — run/walk speed penalty.
    reqstr — strength required.
    block — base chance to block.
    durability — base durability.
    nodurability — 1 for indestructible armors.
    level — Quality Level.
    levelreq — character level required.
    cost — base weapon cost.
    gamble cost — gambling cost.
    code — internal item name.
    namestr — reference to the table, contained correct name of the item.
    magic lvl — Magic Level (see chapter 11 and chapter 22).
    auto prefix — the code number of prefix, that always occurs on the armor (like poison damage on heads).
    alternategfx, OpenBetaGfx — Unimportant for item generation.
    normcode — code of normal version of the armor.
    ubercode — code of exceptional version of the armor.
    ultracode — code of elite version of the armor.
    spelloffset, component — Unimportant for item generation.
    invwidth — width of the item in the inventory.
    invheight — height of the item in the inventory.
    hasinv — 1 for socketable armors.
    gemsockets — maximum possible number of sockets in the armor.
    gemapplytype — item class for gems and runes. 1 for headgear and body armor, 2 for shields.
    flippyfile, invfile, uniqueinvfile, setinvfile — graphics files for the armor.
    rArm, lArm, Torso, Legs, rSPad, lSPad — types of used graphics files.
    useable — 1 for items, that you may use (e.c. Town portal scroll). 0 for all armors.
    throwable — not used.
    stackable — 1 for stackable items (not used for armors).
    minstack-maxstack — the range of quantity of items of this type in on stack (not used for armors).
    type, type2 — item type code, the index of respective raw in itemtypes.txt file.
    dropsound, dropsfxframe, usesound — sound-related information. Unimportant for item generation.
    unique — 1 for special quest items.
    transparent, transtbl — not used.
    quivered — 1 for weapons, that need ammo (not used for armors).
    lightradius, belt, quest, questdiffcheck, missiletype — Unimportant for item generation.
    durwarning — Id of low durability warning icon.
    qntwarning — Id of low quantity warning icon (not used for armors).
    mindam-maxdam — damage range for smite or kick.
    StrBonus — strange bonus for kick damage. Enhanced damage percent=Strength*StrBonus/100.
    DexBonus — dexterity bonus for kick damage. Enhanced damage percent=Dexterity*DexBonus/100.
    gemoffset — Unimportant for item generation.
    bitfield1 — armor material code (is used in golem creation and rack drop checks).
    CharsiMin (and all other *Min fields) — should be minimal quantity of the item in vendor's price list, but isn't used (see chapter 12).
    CharsiMax (and all other *Max fields) — if CharsiMax>0 then she can sell this item (see chapter 12).
    CharsiMagicMin (and all other *MagicMin fields) — should be minimal quantity of the item in vendor's price list, but isn't used (see chapter 12).
    CharsiMagicMax (and all other *MagicMax fields) — if CharsiMagicMax>0 then she can sell this item (see chapter 12).
    CharsiMagicLvl (and all other *MagicLvl fields) — if ilvl>=CharsiMagicLvl then she can sell this item (see chapter 12).
    Source Art, Game Art, Transform, InvTrans, SkipName — Unimportant for item generation.
    NightmareUpgrade — item code for selling by Nightmare difficulty vendors, "xxx" for items, that don't get upgrade (see Chapter 12).
    HellUpgrade — item code for selling by Hell difficulty vendors, "xxx" for items, that don't get upgrade (see Chapter 12).
    mindam, maxdam — not used.
    Nameable — 1 for items that may be personalized.

    4.6 Misc.txt

    This file is similar to weapons.txt and armor.txt, but contains information about all items, that are neither weapon nor armor.

    name, *name — the name of the item as it appear in the game.
    szFlavorText, compactsave — Unimportant for item generation.
    version — 0 for Classic, 100 for Lod.
    level — Quality Level.
    levelreq — character level required.
    rarity — the rate of dropping the item from different objects (e.c. book shelves).
    spawnable — 0 for items, that cannot be generated (except special cases like quests), 1 for others.
    speed — not used for misc items.
    nodurability — 1 for indestructible items.
    cost — base item cost.
    gamble cost — gambling cost.
    code — internal item name.
    alternategfx — Unimportant for item generation.
    namestr — reference to the table, contained correct name of the item.
    component — Unimportant for item generation.
    invwidth — width of the item in the inventory.
    invheight — height of the item in the inventory.
    hasinv — 1 for socketable items.
    gemsockets — maximum possible number of sockets in the item (not used for misc items).
    gemapplytype — item class for gems and runes (not used for misc items).
    flippyfile, invfile, uniqueinvfile — grephics files for the item.
    special — not used.
    Transmogrify, TMogType, TMogMin, TMogMax — Unimportant for item generation.
    useable — 1 for items, that you may use (e.c. Town portal scroll). 0 for all others.
    throwable — not used.
    type, type2 — item type code, the index of respective raw in itemtypes.txt file.
    dropsound, dropsfxframe, usesound — sound-related information. Unimportant for item generation.
    unique — 1 for special quest items.
    transparent, transtbl — not used.
    lightradius, belt — Unimportant for item generation.
    autobelt — 1 for items that automatically get placed on the belt.
    stackable — 1 for stackable items.
    minstack-maxstack — the range of quantity of items of this type in on stack.
    spawnstack — quantity of items of this type in on stack upon founding.
    quest — >0 for quest items. Unimportant for item generation.
    questdiffcheck — Unimportant for item generation.
    missiletype, spellicon — not used.
    pSpell, state, cstate1, cstate2, len — Unimportant for item generation.
    stat1, stat2, stat3 — effect of usable item. E.c. life restore for life potion.
    calc1, calc2, calc3 — the value for effect of usable item. E.e. 100% life and mana for full rejuvenation potion.
    spelldesc, spelldescstr, spelldesccalc — used to refer to description of item effect.
    durwarning — Id of low durability warning icon.
    qntwarning — Id of low quantity warning icon.
    gemoffset — Unimportant for item generation.
    BetterGem — the code of gem for upgrade with cube or shrine.
    bitfield1 — item material code (is used in golem creation and rack drop checks).
    CharsiMin (and all other *Min fields) — should be minimal quantity of the item in vendor's price list, but isn't used (see chapter 12).
    CharsiMax (and all other *Max fields) — if CharsiMax>0 then she can sell this item (see chapter 12).
    CharsiMagicMin (and all other *MagicMin fields) — should be minimal quantity of the item in vendor's price list, but isn't used (see chapter 12).
    CharsiMagicMax (and all other *MagicMax fields) — if CharsiMagicMax>0 then she can sell this item (see chapter 12).
    CharsiMagicLvl (and all other *MagicLvl fields) — if ilvl>=CharsiMagicLvl then she can sell this item (see chapter 12).
    Source Art, Game Art, Transform, InvTrans, SkipName — Unimportant for item generation.
    NightmareUpgrade — item code for selling by Nightmare difficulty vendors, "xxx" for items, that don't get upgrade (see Chapter 12).
    HellUpgrade — item code for selling by Hell difficulty vendors, "xxx" for items, that don't get upgrade (see Chapter 12).
    mindam, maxdam — not used.
    PermStoreItem — 1 for items, that always available in stores.
    multibuy — 1 for items, that may be bought with Shift+Click (Multiple Buy function).
    Nameable — 1 for items that may be personalized.
    *eol — not used (however "eol" is usually End Of Line in programming).
     
  5. Warrior of Light

    Warrior of Light Diabloii.Net Member

    Joined:
    May 14, 2005
    Messages:
    459
    Likes Received:
    0
    Trophy Points:
    144
    4.7. ItemTypes.txt

    This file describes basic item types, like a ring, a melee weapon, a bow.

    ItemType — the name of the item type for users.
    Code — the name of the item type for references from other files.
    Equiv1, Equiv2 — equivalent item types, i.e. codes of types, that include this item type. E.c. Throwing Knife is included in Knife item type.
    Repair — 1 for types, whose items may be repaired.
    Body, BodyLoc1, BodyLoc2 — Location on player body. Unimportant.
    Shoots — ammo type for weapons, that need them.
    Quiver — type of ammo for item types, that are ammo.
    Throwable — 1 for throwable item types.
    Reload — 1 for item types, that reloads ammo from inventory (like crossbows and bows).
    ReEquip — 1 for item types, that are automatically equipped from inventory after running out (like throwing potions).
    AutoStack — 1 for stackable items that are automatically organized in stacks when you pick them (like keys).
    Magic — 1 for items that can be magic.
    Rare — 1 for items that can be rare.
    Normal — 1 for items that can be normal quality.
    Charm — 1 for charms.
    Gem — 1 for gems.
    Beltable — 1 for items, that you may put on your belt.
    MaxSock1 — maximum socket number for Ilvl<=25.
    MaxSock25 — maximum socket number for Ilvl<=40.
    MaxSock40 — maximum socket number for Ilvl>40.
    TreasureClass — 1 for item types, that gets automatic Treasure Classes. E.e. Weap87, Armo03.
    Rarity — item drop probability. It is used for automatic Treasure Classes (see TreasureClassEx.txt description in chapter 4.1).
    StaffMods — the type of sfaffmods, that are generated on the item type (see chapter 11 for description of stuffmods).
    CostFormula — Unimportant.
    Class — class requirement.
    VarInvGfx, InvGfx1, InvGfx2, InvGfx3, InvGfx4, InvGfx5, InvGfx6 — some unimportant graphics information.
    StorePage — the type of page in stores for selling this item type.
    *eol — not used (however "eol" is usually End Of Line).

    4.8. itemratio.txt

    This is the most important file for determining quality of item. At first I'll shortly explain it's fields, then I'll explain quality calculation mechanics.

    Function — the description of the line.
    Version — 0 for Classic, 1 for Lod.
    Uber — 1 for exceptional and elite items, 0 for normal items.
    Class Specific — 1 for class specific items, 0 for all others.
    Unique — basic chance for unique items (1:Unique).
    UniqueDivisor — the value for modifying basic chance for unique items (see description below).
    UniqueMin — minimum value in calculating unique chance.
    Rare — basic chance for rare items.
    RareDivisor — the value for modifying basic chance for rare items.
    RareMin — minimum value in calculating rare chance.
    Set — basic chance for set items.
    SetDivisor — the value for modifying basic chance for set items.
    SetMin — minimum value in calculating set chance.
    Magic — basic chance for magic items.
    MagicDivisor — the value for modifying basic chance for magic items.
    MagicMin — minimum value in calculating magic chance.
    HiQuality — basic chance for high quality items.
    HiQualityDivisor — the value for modifying basic chance for high quality items.
    Normal — basic chance for normal quality items.
    NormalDivisor — the value for modifying basic chance for normal quality items.

    As you see the itemratio.txt file contains two rows for Classic mode and four rows for LoD mode in this order. The two rows for Classic mode include the raw for normal and the raw for exceptional items in this order. Four rows for LoD mode includes: 1) the raw for non-class specific normal items, 2) the raw for non-class specific exceptional and elite items, 3) the raw for class specific normal items and 4) he raw for class specific exceptional and elite items in this order.
    The game selects correct raw using Version, Uber and Class Specific fields before starting the calculations.

    The game selects quality for an item only when it already knows its item level and item type. It does the check for unique quality first. If it is successful it stops the algorithm and generates unique item or triple durability rare (or magic/normal item if this item type cannot be rare). If unique check is failed, the game makes set check by the same manner, then rare check, then magic check, then normal check, until some check will show success. If all checks fall it will generate low quality item.

    Here is quality check algorithm:

    1) Find proper line in itemratio.txt.
    2) Chance = (BaseChance - ((ilvl-qlvl)/Divisor)) * 128
    3) if (we check for unique, set or rare quality) EffectiveMF=MF*Factor/(MF+Factor)
    else EffectiveMF=MF
    4) Chance= Chance* 100/(100+ EffectiveMF).
    5) if (Chance<MinChance) Chance=MinChance
    6) FinalChance=Chance-(Chance*QualityFactor/1024)
    7) If (RND[ FinalChance ]<128) return Success
    else return Fail

    BaseChance — The value from Unique, Rare, Set, Magic, HiQuality and Normal fields of itemratio.txt.
    ilvl — Item Level, usually ilvl=mlvl.
    qlvl — quality level of item type.
    Divisor — The value from UniqueDivisor, RareDivisor, SetDivisor, MagicDivisor, HiQualityDivisor and NormalDivisor fields of itemratio.txt.
    MinChance — The value from UniqueMin, RareMin, SetMin, MagicMin fields of itemratio.txt. For high quality and Normal items MinChance=0.
    QualityFactor — The value from Unique, Set, Rare, Magic fields of TreasureClassEx.txt file for TC of the monster, that dropped this item.

    I'll discuss quality selection mechanics more in the chapter 8.
     
  6. Warrior of Light

    Warrior of Light Diabloii.Net Member

    Joined:
    May 14, 2005
    Messages:
    459
    Likes Received:
    0
    Trophy Points:
    144
    5. Area, monster and item levels

    I'm sorry if you find above information a bit hard and huge, — it is needed for you if you want to know everything about item drop process. Now we will learn something more interesting.

    How the game calculates levels of monsters when it creates the map?
    In normal difficulty all normal monsters have fixed levels, that may be found in monstats.txt file. In Nightmare and Hell difficulties all normal monsters have levels equal to area levels, where they are placed.
    Area levels can be found in Levels.txt file. Facts & Formulae Archive also has area levels list.
    Champions get +2 bonus to their levels. Unique monsters and their minions get +3 bonus to their levels.
    There are a few exceptions from this rule, though. Bosses, monsters that have boss=1 in monstats.txt file, have fixed level, stated in monstats.txt file, and don't get level upgrades.
    Here is their full list:

    Code:
    Id               NameStr           Level   Level(N)   Level(H)
    
    andariel         Andariel             12      49         75
    duriel           Duriel               22      55         **
    radament         Radament             16      49         83
    mephisto         Mephisto             26      59         87
    diablo           Diablo               40      62         94
    summoner         Summoner             18      55         80
    izual            Izual                29      60         86
    bloodraven       Bloodraven           10      43         **
    griswold         Griswold              5      39         84
    nihlathakboss    Nihlathak            65      70         92
    baalcrab         Baal                 60      75         99
    putriddefiler1   Putrid Defiler       35      61         80
    putriddefiler2   Wretched Defiler     37      62         81
    putriddefiler3   Fetid Defiler        38      63         82
    putriddefiler4   Rancid Defiler       39      64         83
    putriddefiler5   Rank Defiler         40      65         84
    All Uber Bosses are level 110.

    Items, that are dropped by monsters have Item Levels equal to Monster Levels.

    6. TC selection and number of dropped items

    I explained everything about this question in chapter 4.1, TreasureClassEx.txt. However Thrugg have posted much simpler description of it:

     
  7. Warrior of Light

    Warrior of Light Diabloii.Net Member

    Joined:
    May 14, 2005
    Messages:
    459
    Likes Received:
    0
    Trophy Points:
    144
    7. Item type selection

    Again I refer you to Chapter 4.1 where I described this process in all details. Here I will include another Thrugg's explanation, because he did it perfectly.

    8. Item quality selection

    The explanation here is given for monster drops. Most chests and other objects use the same algorithm of quality determination, however special chests have also fixed chances for unique, set, rare and magic items, see chapter 17.

    The exact mechanics of quality determination can be found in the chapter 4.8, itemratio.txt. Here I will describe it even more and will give an example.

    After the game has calculated item level and selected an item type to drop, it selects item quality. It is done by performing a row of test for unique, set, rare, magic, high and normal quality. If some test return success it will cancel all other tests, if all tests return fail it will generate low quality item.

    The test is calculating a Value and generates random number in 0-(Value-1) range. If this random number is less than 128 then the test will return success. So we have 128/Value chance to get that quality.

    Here is quality check algorithm:

    1) Find proper line in itemratio.txt.
    2) Chance = (BaseChance - ((ilvl-qlvl)/Divisor)) * 128
    3) if (we check for unique, set or rare quality) EffectiveMF=MF*Factor/(MF+Factor)
    else EffectiveMF=MF
    4) Chance= Chance* 100/(100+ EffectiveMF).
    5) if (Chance<MinChance) Chance=MinChance
    6) FinalChance=Chance-(Chance*QualityFactor/1024)
    7) If (RND[ FinalChance ])<128 return Success
    else return Fail

    BaseChance — The value from Unique, Rare, Set, Magic, HiQuality and Normal fields of itemratio.txt.
    ilvl — Item Level, usually ilvl=mlvl.
    qlvl — quality level of item type.
    Divisor — The value from UniqueDivisor, RareDivisor, SetDivisor, MagicDivisor, HiQualityDivisor and NormalDivisor fields of itemratio.txt.
    MinChance — The value from UniqueMin, RareMin, SetMin, MagicMin fields of itemratio.txt. For high quality and Normal items MinChance=0.
    QualityFactor — The value from Unique, Set, Rare, Magic fields of TreasureClassEx.txt file for TC of the monster, that dropped this item.

    Lets look at it more attentively.

    At the first step the game finds suitable line in itemratio.txt. As you know, there are separate lines for Classic/LoD games, class specific/non-class specific items and normal/exceptional and elite items.
    After finding proper line it has all values, that it needs for calculations: item level, quality level, base quality chance, quality divisor, minimum quality chance, MF%, MF diminishing returns factor and monster quality factor.
    Lets repeat again where the game takes them.
    Item level is just equal to monster level. Quality level is the level of item type. MF% are taken from players equipment. MF diminishing returns factor is 250 for unique, 500 for set and 600 for rare qualities. All other values are taken from itemratio.txt file, except monster quality factor. The last is maximum value from Unique, Set, Rare, Magic fields of TreasureClassEx.txt file for all TCs, that the game have scanned, searching for this item type.
    At the last step we just have 128/FinalChance chance to get Success.

    Lets take an example.

    Say Hell Baal is dropping Unearthed Wand with 200% MF.
    The check for unique:
    1) Use line #5, "Uber".
    2) ilvl=99 (from monstats.txt), qlvl=86 (from weapons.txt), BaseChance=400 (for unique from itemratio.txt), Divisor=1.
    Chance = (BaseChance - ((ilvl-qlvl)/Divisor)) * 128=49536.
    3) Factor=250 for unique quality.
    EffectiveMF=MF*Factor/(MF+Factor)=111.
    4) Chance= Chance* 100/(100+ EffectiveMF)=23476
    5) Chance< MinChance (false, because 23476>6400).
    6) QualityFactor=983 for Hell Baal (from TreasureClassEx.txt).
    FinalChance=Chance-(Chance*QualityFactor/1024)=939.

    If the game generates random number in 0-(FinalChance-1) range (rnd[FinalChance] function), that will be less then 128, it will generate unique Unearthed Wand. So you have 128:939 chance per Unearthed Wand pick to get unique.
    If the game failed to generate unique Unearthed Wand it will try to generate set, then rare and so on.

    For some item types and if the monster level is less than quality level of unique or set item, the game will generate high durability item.

    So if you find Bramble Mitts, the game will check to see if they are Unique (whether or not there is a Unique of a given item type doesn't matter at this point), if that fails then Set, if that fails then Rare, and so on. If the roll for Unique or Set succeeds and there is not one of that base item (which happens quite often with Elite Uniques, and can happen with Elite, Excep, or normal sets) a lower quality item with bonus durability will be generated. Details:

    * If you roll a Unique when one of that type does not exist or from a monster not high enough to drop it, you'll get a Rare of that type item with 3x the normal durability.
    * If you roll a Set when one of that type does not exist or from a monster not high enough to drop it, you'll get a Magical of that type item with 2x the normal durability.
    * Both of these can also happen when monsters aren't high enough to drop the given set or unique.
    * This also happens with Uniques, if the same one is selected to drop more than once in a game. Since it can only drop once, the 2nd, 3rd, etc times it will drop to a 3x durability Rare.

    9. Set and unique items selection

    Lets assume that after at previous steps the game have selected certain item type and unique or set item quality. After that it completes the list of all possible items with this type and quality, that has quality level less or equal to Ilvl of the item. After that it has several possibilities:
    1) If there is no any item in that list the game generate high durability item.
    2) If there is only one item of that type it just selects it for dropping.
    3) If there are several items in the list, it selects one of them randomly according to their rarity. The chance for an item to be dropped in this case is ItemRarity/TotalRarity, where TotalRarity is the sum of rarities of all items in the list.

    I will give three examples, — one for every case.

    Example #1. Hell Pindleskin decides to drop Spiderweb Sash. Then he rolls for unique item quality. The game creates the list of all unique Spiderweb Sashes, that has Qlvl less or equal to Ilvl (Qlvl<=86). The resulted list will be empty, because there is no such items is game files, only unique Spiderweb Sash, Arachnid Mesh, has Qlvl=87, so it cannot be dropped by Mlvl=86 monster. So the list is empty, the game drops 3x durability rare Spiderweb Sash, and poor player starts pulling hair from his back, blaming Pindleskin, The Game and Blizzard entirely. :)

    Example #2. Hell Pindleskin decides to drop Sacred Armor. Then he rolls for unique item quality. The game creates the list of all unique Sacred Armors, that has Qlvl<=86. The result list will contain just one item, that meets all that restrictions. It is Templar's Might, another unique Sacred Armor, Tyrael's Might, cannot be dropped because it has higher Qlvl (87). So the list contain just one item, the game drops Templar's Might just to confuse player a bit before he realises that he is running Pindle, not Baal. :)

    Example #3. Hell Pindleskin decides to drop a Ring. Then he rolls for unique item quality. The game creates the list of all unique Rings, that have Qlvl<=86. The result list will contain nine items, all unique rings have Qlvl<=86. So he needs to select one of them. He summarises rarities of all items in the list: 15+15+1+1+10+10+3+1+3=59 and generates random number to select one of them. So Nature's Peace has 3/59 chance to drop, and SoJ has only 1/59. Our poor player more likely will get another Nagel, Manald's, Raven's or Dwarf's ring (they are 50/59 of all Pindle's unique rings). :)

    10. Sockets' number selection

    If the game creates socketed item it must generate number of sockets. You may find all information about sockets in armor.txt, weapons.txt and ItemTypes.txt data files. Misc items cannot have sockets. I will cover details later, but let me start with some basic information.

    First of all you need to know what items may have sockets at all.
    This items can have sockets:
    * Any weapon except throwing
    * Any body armor
    * Any shields
    * Any headgear
    Other items cannot have sockets.

    The most interesting information about socketed items is how many sockets they can have.
    In the beginning I will discuss items, that you find in battlefields or buy at shops.

    Most Unique and Set items typically don't have sockets at all (originally). The number of sockets in unique or set items, that still have them, ether is fixed or randomly selected from fixed range with equal probability. The information about their sockets are stored in UniqueItems.txt and SetItems.txt data files. For example Griswold's Heart (Set Ornate Plate) always have three sockets, Crown of Ages (Unique Corona) has one or two sockets with 1/2 chance of each.

    Original Rare items have one or two sockets with 1/2 chance of each when they have Mechanist's affix. See chapter 11 about affix selection mechanics if you want to know how frequently this affix may appear. Note that not all rare items may have two sockets. If maximum sockets cap for its base item is one, that Mechanist's rare item will always have one socket. The example of such item is rare buckler.

    Original Magic items have sockets only if they have one of the following prefixes: Mechanist's (1 or 2 sockets with 1/2 chance of each), Artisan's (3 sockets) and Jeweler's (4 sockets). Socketed magic items cannot have more sockets than is allowed by its base item type.

    1/3 of all normal and superior items are socketed. The number of sockets is generated randomly from the range, that is effected only by item type and item level. Minimum possible sockets number are always 1. Maximum sockets number can be found in armor.txt, weapon.txt and ItemTypes.txt data files for every item type. For example let me take Long Battle Bow. You can find "6" in "gemsockets" column and "bow" in "type" column of weapon.txt in its line. For "bow" type ItemTypes.txt has "3", "4" and "6" in "MaxSock1", "MaxSock25" and "MaxSock40" columns. That means that Long Battle Bow has maximum 3 sockets before Ilvl<=25, 4 sockets before Ilvl<=40 and 6 sockets after Ilvl=40.

    Low quality items cannot originally have sockets.

    If you are not happy with the number of sockets in your item you have several possibilities to change it. I will give the word on this question to Uzziah.

    You may socket originally unsocketed unique and set items using Socketing Quests. It always adds just one socket.
     
  8. Warrior of Light

    Warrior of Light Diabloii.Net Member

    Joined:
    May 14, 2005
    Messages:
    459
    Likes Received:
    0
    Trophy Points:
    144
    11. Affix selection

    Magic, rare and crafted items have randomly generated affixes.

    At the beginning of affix generation process the game must decide how many affixes will have the given item.

    When Magic Items are created the chances are:
    Both Prefix and Suffix: 25%
    Only a Prefix: 25%
    Only a Suffix: 50%.

    Rare Items are really just Magic Items with more than two Magical Prefix/Suffix with a special name.
    The names of Rare Items are not connected to their stats, so their name is not helpful in describing what stats might be on a Rare Item. The names are randomly generated, however, some names will not appear with some prefixes and suffixes.
    Rare Items have 3 to 6 magical properties or Magic Prefixes or Magic Suffixes. There is 1/4 chance for every affix number to be generated.
    Each magical property picked will have a 1/2 chance of being a Prefix or a Suffix, but there will never be more than 3 Prefixes or 3 Suffixes on the same Rare Item.
    A Prefix or Suffix will never be picked more than once.
    Only one Prefix or Suffix will be picked per Prefix or Suffix group. This means for example, if the Prefix Wyrm (+41-60 Mana) is chosen, Dragon's (+31-40 Mana) will not also be chosen since it belongs to the same Prefix +Mana group. Prefixes and Suffixes of the same types (such as Magic Find, Light Radius, Attack Rating) can be chosen. Only members of the same group cannot be chosen.

    Crafted Items have 1-4 Random Magical Prefixes/Suffixes
    On top of those fixed properties, a Crafted Item can have from 1-4 standard Rare and Magic Prefix and Suffixes. These are generated pretty much the same way as a Rare item.

    At ilvls 1-30, there's a 40% chance of 1 affix and a 20% chance each of 2, 3 or 4 affixes.
    At ilvls 31-50, there's a 60% chance of 2 affixes and a 20% chance each of 3 or 4 affixes.
    At ilvls 51-70, there's an 80% chance of 3 affixes and a 20% chance of 4 affixes.
    At ilvls 71+, there's a 100% chance of 4 affixes.

    Let me show you one example. Imagine that Normal difficulty Pindleskin has dropped Small Charm with a suffix only. What probabilities of what suffixes you have?

    Set Ilvl=45 /* (Normal Pindleskin) */
    Set Qlvl=28 /* (Small Charm) */
    /*
    Ilvl>Qlvl
    Ilvl<99-Qlvl/2 (45<85)
    */
    Alvl=Ilvl-Qlvl/2 /* Alvl=31 */
    Select * from MagicSuffix.txt where itype1=scha, spawnable=1, level<=31

    Here is the query result list (number in brackets is frequency):
    of Dexterity (4),
    of Dexterity (4),
    of Greed (4),
    of Fortune (3),
    of Life (4),
    of Substinence (4),
    of Strength (4),
    of Strength (4),
    of Blight (2),
    of Venom (1),
    of Frost (2),
    of the Icicle (1),
    of Flame (2),
    of Fire (1),
    of Shock (2),
    of Lightning (1).

    There is two entries "of Dexterity" because they are different suffixes with the same name. One of them is "+1 dexterity", another -- "+2 dexterity". "of Strength" suffixes have the same particularity.

    Total frequency is 43. It means that our charm has 4/43 chance to have "of Dexterity +1" suffix and 1/43 -- "of Venom".

    Now, let me describe here another interesting properties of items, that gives you bonuses to a skill or even to a skill tree. They are often called "Staffmods". They are nigher prefixes no suffixes. They are basic item properties like durability.

    The best explanation of Staffmods was made by Uzziah with help of Ruvanal. Here it is:

    12. Items generation at shops

    Here I will talk about normal shops, where you can see item properties. Gambling will be described in the next chapter.
    Almost all trading information are stored in weapons.txt and armor.txt files. Remember the long chapter 4 in the beginning of the guide? It is there for a reason!

    All items at shops have ilvl=clvl+5. In normal difficulty there is ilvl caps for every Act: 12 for act 1, 20 for act 2, 28 for act 3, 36 for act 4 and 45 for act 5. In Nightmare and Hell item levels are not capped.

    After the game has calculated ilvl it selects item types to spawn using fallowing algorithm. All ilvl>=25 items will spawn with magic quality.

    Normal difficulty:
    1) Create item type list with all normal items, that have positive number in *Max field or in *MagicMax field of respective vendor in wepons.txt, armor.txt and misc.txt files (e.c. CharsiMax, GheedMax, CharsiMagicMax), except items, that have qlvl higher than ilvl.
    2) Exclude all magic items, that have ilvl<*MagicLvl (e.c. CharsiMagicLvl).

    Nightmare difficulty:
    1) Create item type list with all normal items, that have positive number in *Max field or in *MagicMax field of respective vendor and NightmareUpgrade="xxx", except items, that have qlvl higher than ilvl.
    2) For all items, that have positive number in *Max field or in *MagicMax field and NightmareUpgrade="xxx", there is (ilvl*64+4000)/100000 chance to be upgraded to exceptional and be added to the list.
    3) For all normal items, that have positive number in *Max field or in *MagicMax field of respective vendor, add to the list items, whose codes are in NightmareUpgrade field, except those with NightmareUpgrade="xxx".
    4) Exclude all magic items, that have ilvl<*MagicLvl (e.c. CharsiMagicLvl).

    Hell difficulty:
    1) Create item type list with all normal items, that have positive number in *Max field or in *MagicMax field of respective vendor and HellUpgrade="xxx", except items, that have qlvl higher than ilvl.
    2) For all items, that have positive number in *Max field or in *MagicMax field and HellUpgrade="xxx", there is (ilvl*128+5000)/100000 chance to be upgraded to exceptional and be added to the list.
    3) For all items, that have positive number in *Max field or in *MagicMax field and HellUpgrade="xxx", there is (ilvl*16+1000)/100000 chance to be upgraded to elite and be added to the list.
    4) For all normal items, that have positive number in *Max field or in *MagicMax field of respective vendor, add to the list items, whose codes are in HellUpgrade field, except those with HellUpgrade="xxx".
    5) Exclude all magic items, that have ilvl<*MagicLvl (e.c. CharsiMagicLvl).

    The game will not spawn exceptional or elite items if clvl<25.

    Note 1. In nightmare and hell you will not see items, that have item type code in NightmareUpgrade and HellUpgrade fields, e.c. Large Axe, Club, Wand.
    Note 2. After clvl>=20 all items will spawn with with magic quality. However most vendors have MagicLvl=255 for many items. So that items will not be spawned.

    Here is nice algorithm of game's mechanic, posted by St0rmie.

    The calculation of magic affixes in shops is the same as when an item is dropped by monster. Look at previous chapter.

    Now it's time for a casino! :)
     
  9. Warrior of Light

    Warrior of Light Diabloii.Net Member

    Joined:
    May 14, 2005
    Messages:
    459
    Likes Received:
    0
    Trophy Points:
    144
    13. Gambling

    Item types, that are available for gambling, directly determined by your clvl. You can find the list of available items at The Arreat Summit: http://www.battle.net/diablo2exp/basics/gambling.shtml.

    Item levels are determined by an equation:
    ilvl = clvl + rnd[10] - 5
    (i.e. from clvl-5 to clvl+4)

    The chances for every quality are:
    Unique: 1/2000
    Set: 1/1000
    Rare: 1/10
    Magical: 1797/2000

    Here are the equations used to determine whether or not the item will become exceptional or elite:
    exceptional = 1 + (ilvl - excep qlvl) * 90 / 100
    elite = 1 + (ilvl - elite qlvl) * 33 / 100

    Magic Find in no way affects gambling.

    Affixes are generated as always. See chapter 11 for details.

    14. Ethereal items

    This is quite simple. Armor or weapons have 5% chance to be ethereal. Indestructible items cannot be ethereal, except items, socketed by Zod rune and unique items, that are always ethereal and indestructible.
    Set items cannot be ethereal.
    Shopped and cubed items cannot be ethereal too.
    Imbued items will maintain their original ethereal or non-ethereal state.

    15. Runes and charms generation

    I created separate chapter about this question, because it is very interesting for many people, however runes, charms and gems are not special items, — they are generated as others. All information about their odds are stored in our favorite TreasureClassEx.txt file.

    The reason of the fact that jewelry, runes and gems are a bit "special" is that all that items usually combined together into one treasure class, for example Hell Baal drops all his rings, amulets, jewels, runes, charms and gems from "Act 5 (H) Good" TC.

    This chapter is organized into several examples about rune, charm and gem generation.

    Example 1. Hell Mephisto.

    Les me show you how he is good at jewelry, rune and gem drops, or why he drop them quite rarely.
    As we see in TreasureClassEx.txt Hell Mephisto makes 7 picks from "Mephisto (H)" TC. For every pick he has 3/80 chance (~3.75%) to drop from "Act 4 (H) Good" TC, that contains all runes, charms and gems, that he can drop.
    "Act 4 (H) Good" TC has 1 pick from following TCs:

    60/130 chance to drop from "Jewelry C" TC,
    4/130 - from "Chipped Gem" TC,
    10/130 - "Flawed Gem",
    14/130 - "Normal Gem",
    28/130 - "Flawless Gem",
    14/130 - "Runes 16".

    "Runes 16" TC has 2/47274 chance to drop r32 item (Cham Rune), 3/47274 chance to drop r31 item (Jah Rune) and 47269/47274 chance to drop from "Runes 15" TC (other runes).

    Got it? I'll summarize the chances for better understanding.

    The chance that Mephisto will drop at least one Cham in p1 game is
    1-(1-((3/80)*(14/130)*(2/47274)))^7= ~0.0001196%
    (Well, actually this calculation is a bit simplified and a bit incorrect, because Mephisto may have 6 picks, last seventh pick will be skipped if he will generate 6 items for 6 picks.)

    Example 2. Hell Cow

    Normal Hell Bovine has Mlvl=81 at Hell difficulty and drops from "Cow (H)" TC.
    "Cow (H)" TC contains 1 pick from "Act 5 (H) Good" TC with 3/160 chance in players1 mode (~1.**%).
    I'll not show here chances for players8 mode to keep example simpler.
    "Act 5 (H) Good" TC has 1 pick from following TCs with following chances:

    60/130 - "Jewelry C" TC,
    4/130 - "Chipped Gem" TC,
    10/130 - "Flawed Gem",
    14/130 - "Normal Gem",
    28/130 - "Flawless Gem",
    14/130 - "Runes 17".

    Accordingly, Hell Cow has around 0.87% (it is (3/160)*(60/130)) chance to drop Jewelry (a ring, an amulet, a jewel or a charm), 0.4% to drop flawless gem and 0.2% to drop a rune.

    Example 3. Specter in Hell Worldstone Keep Level 3

    Wraith type monster drop more jewelry, gems and runes then any other monster.
    Specter in Hell Worldstone Keep Level 3 has Mlvl=85 and drops from "Act 1 (H) Wraith B", which is upgraded to "Act 5 (H) Wraith C" TC.
    "Act 5 (H) Wraith C" TC has 1 pick from "Act 5 (H) Good" TC with 4/104 chance (~3.85%).
    The contents of this TC you may see in previous example.

    Example 4. Death Lord in Hell Worldstone Keep Level 3.

    Death Lord aren't good at runes. I included him just to compare his drops with Cow's and Wraith's ones.
    Death Lord in Hell Worldstone Keep Level 3 (bloodlord5) has Mlvl=85 and drops from "Act 5 (H) H2H C" TC. It has 1 pick from the same TC as in previous examples, "Act 5 (H) Good", but only with 2/160 chance (~1.25%). As you see, it is much lower.

    I could include here description of other popular sources of runes, gems and miscellaneous jewelry, but the goal of this guide is not to describe all of them, but to show how you may calculate the drop chances by yourself.

    16. Quest drops and Andariel bug

    If you'll look into monstats.txt file attentively, you'll find that for every monster there are four TC columns for every difficulty of the game. For Hell they are TreasureClass1(H), TreasureClass2(H), TreasureClass3(H) and TreasureClass4(H). It is so because normal monsters, champions, uniques and Act Bosses drop from different TC. For example Dark Stalkers in The Pit level 1 at Hell difficulty have "Act 1 (H) H2H C" base TC when they are normal, "Act 1 (H) Champ C" when they are champions and "Act 1 (H) Unique C" when they are unique (don't forget that the TCs are upgraded according to their Mlvl).

    TreasureClass4(*) column are filled only for Act Bosses. When you kill them, completing their quest, it means at very first time at this difficulty, they drop from TreasureClass4(*) TC. After that they drop from TreasureClass3(*) TC, that usually has slightly worse chances of good items.

    In patch 1.10 there is interesting bug. After you kill Andariel and talk to any NPC (as everyone usually do), she begins to drop items from her quest TC after every following kill. The bug was fixed at Realms, though.

    17. Object drops

    We start from simple things and will go to more complicated.

    From what TC do objects drop items? In TreasureClassEx.txt file there is a group 6, that stores all information about object drops. The name of that TCs is like "Act 5 (H) Chest C".

    The TC of the objects, presented in given area, is calculated using Area Id. Please don't confuse this number with Alvl, - it is different value. Area Id is also stored in Levels.txt file, though.

    Chest drops don't get TC upgrades.

    UPDATE: Hrus did some testing and determined that the previous info by Hammerman isn't entirely accurate. Apparently a different formula is used. Link: http://diablo.incgamers.com/forums/showthread.php?t=724317

    For example, The Pit level 2 has AreaId=16, value=(37-2+1)/3=12, AreaId is not < lowest+value (16<2+12 isn't true), AreaId is < lowest+(value*2) (16<2+24). Pit's chest at level 2 drops from "Act 1 (H) Chest B" TC.

    Each chest has (monlvl1/2 + 8)/100 chance to have a lock. It is important, because locked chests usually drop more items (monlvl1 is a field from levels.txt file).

    Chests drop items exactly like monsters, except they don't have 6 items cap and they drop from their own TCs.
    Items quality calculation is also the same with monster's one, except special chests, that have fixed bonuses for dropping unique, set, rare and magic items.

    Sparkling chests have most complicated drops. What is "sparkling" chest? It is chests that have "sparkling" drop mechanics. You may recognize them in the game by quite a loge quantity of items, that they drop. Some sparkling chests are sparkling, like the chest in The Pit Level 2, but some sparkling chests are normal looking.

    As Jarulf found, sparkling chests have six options with the fallowing chances:

    * 2% chance of option #1
    * 4% chance of option #2
    * 6% chance of option #3
    * 20% chance of option #4
    * 30% chance of option #5
    * 38% chance of option #6

    At option #1 it will do a drop from the respective chest TC trying to generate unique item. However many items, like keys, arrows, gems, runes may only be normal quality. If the game didn't generate at least magic quality item, it will make second drop from the respective chest TC trying to generate unique item. If it didn't generate at least magic item it will go to option #6 process.

    At option #2 it will do a drop from the respective chest TC trying to generate set item. If the game didn't generate at least magic quality item, it will make second drop from the respective chest TC trying to generate set item. If it will not generate at least magic item it will go to option #6 process.

    At option #3 it will do a drop from the respective chest TC trying to generate rare item. If the game didn't generate at least magic quality item, it will make second drop from the respective chest TC trying to generate rare item. If it will not generate at least magic item it will go to option #6 process.

    At option #4 it will do a drop from the respective chest TC trying to generate magic item. It will repeat chest TC drop until 3 magic items will be generated or it will have 10 drop tries.

    At option #5 it will do a drop from the respective chest TC trying to generate magic item. It will repeat chest TC drop until 2 magic items will be generated or it will have 10 drop tries.

    At option #6 it will do a drop from the respective chest TC trying to generate magic item. It will repeat chest TC drop until 1 magic item will be generated or it will have 10 drop tries. Then it will make up to 4 drops from chest TC with no desired quality, so using normal quality selection algorithm (it means that it uses MF).

    That is how sparkling chests generate items. As you see your MF almost not working at all.

    Now we will look at other chests, those that are normal. If a chest is locked it will drop two times, if not — just one time. Note, that a chest TC has 4 picks and 100/142 chance for NoDrop.
    For normal chests the game uses normal quality selection method.
    Before NoDrop test the game will test the chest for dropping from its TC at all. There is 25% chance for every chest to drop from its TC. Locked chest always drop from their TC (although they still have NoDrop, so they still may don't drop any item).
    After that tests it will make two drops from chest TC for locked chests or one for non-locked. If it did't generate at least magic item it will repeat the drops up to 10 times until it will generate at least magic item.

    Crates, corpses, jugs, logs, boulders, stashes, cocoons, goo piles, dead guards, caskets, beds and sarcophaguses always drop from chest TC.

    Urns, rock piles, baskets, jars, barrels have 21% chance to drop from chest TC.

    Also in the game there is one more type of chests, special chests. They looks like normal, but usually drop more items. For example the special chests are located at the ends of Arcane Sanctuary. Such objects have fixed qualities. 95% of special chests drop magic items only, 5% of them drop only rare items. Of cause this is applied only to items with variable quality, not potions and scrolls.

    18. The Countess

    There is no need to explain her drops in separate chapter, she isn't special. However people usually accent their attention on her, because she is excellent source of middle level runes.
    That is why I decided to give her special chapter. (I hope she will give me a Lo rune in return ;-) )

    I'll give the word to Dr. Thrugg at beginning.

    Let me look at her drops more closer. She drops from her own TC, "Countess" in Normal, "Countess (N)" in Nightmare and "Countess (H)" in Hell.
    I'll look at most interesting TC, "Countess (H)", others are just similar.
    "Countess (H)" ALWAYS do one drop from "Countess Item (H)" TC and another drop from "Countess Rune (H)" TC.
    "Countess Item (H)" TC may do 5 picks from "Act 2 (H) Good" TC with 3/67 chance of each in /players1 mode.
    "Act 2 (H) Good" TC may do one pick from "Runes 14" TC with 14/130 chance.
    "Countess Rune (H)" TC may do 3 picks from "Runes 12" TC with 15/20 chance of each in /players1 mode.
    "Runes 14" TC contains all runes up to Lo.
    "Runes 12" TC contains all runes up to Ist.

    So, Hell Countess has 1-(1-(3/67)*(14/130))^5=2.39% chance to drop at least one rune from El-Lo range, and (1-(5/20)^3)=98% to drop at least one rune from El-Ist range. That is why she is so popular.
     
  10. Warrior of Light

    Warrior of Light Diabloii.Net Member

    Joined:
    May 14, 2005
    Messages:
    459
    Likes Received:
    0
    Trophy Points:
    144
    19. Crafting

    Crafted items are always creates it the cube using Rune+Jewel+Gem+Item recepe.

    I'll directly quote Uzziah here.

    Again, see chapter 11 for algorithm of affix selection.

    20. Imbuing

    Written by Uzziah.

    21. Cubing

    Cubing is a process of creating items by player in The Horadric Cube.

    Written by Uzziah.

    22. Circlets and Magic Level

    In chapter 11 you may found the following algorithm of affix selection.

    When an item is generated that has prefixes the alvl is calculated* from ilvl and qlvl as follows

    If (ilvl>99) then {ilvl=99}
    if (qlvl>ilvl) then {ilvl=qlvl} ;** see note below
    if (magic_lvl>0) then {alvl=ilvl+magic_lvl}
    else
    {
    if (ilvl<(99-qlvl/2))
    then {alvl=ilvl-qlvl/2}
    else {alvl=2*ilvl-99}
    }
    If (alvl>99) then {alvl=99}

    *all calculations use integers so there are no fractions at any step.
    ** this new ilvl value is only used for the duration of this calculation. The ilvl value that is stored in the items data file will remain unchanged.

    Let me attract your attention to lines number 2 and 3. They means that 1) Ilvl for affixes cannot be lower than qlvl of given item, 2) if the item has magic lvl, than it receives much higher alvl.

    What is magic_lvl? It is Magic level, special bonus for special items. It could be found in weapon.txt and armor.txt files. All Wands, Staffs and Orbs have magic_lvl=1. Circlets have magic_lvl=3, Coronets have magic_lvl=8, Tiaras have magic_lvl=13, Diadems have magic_lvl=18. Other items don't have it.

    Look at Diadems. They have Qlvl=85 and magic_lvl=18. This means that they ALWAYS have Alvl=99. Refer to above algorithm for details.

    Look at Tiaras too. They have Qlvl=70 and magic_lvl=13. So Tiaras always have Alvl=83+.

    23. Rune making in Hell Forge

    The Hellforge is the second quest in Act IV. In Normal difficulty this quest rewards you with a rune from El-Amn range, in Nightmare - Sol-Um, in Hell - Hel-Gul. The chance for every rune to be dropped is 1/11.

    Hellforge runs is popular in multiplayer games, where fast teleporting character can level new character to Hell Hellforge in very shot period of time.

    24. Magic Finding

    Magic Finding (MF) deserves special chapter, because all you can do to increase your chances to find good items from certain monster in players1 mode is only to increase your MF.

    What is MF? It is "+% Better Chance of Getting Magic Item" property, that can be found on many items in the game, topazes are most popular of them.

    What MF do? It increases your chances at magic, rare, set and unique items. 100% MF doesn't means that all items, that you find will be magic. It means, that the chance of item to be magic will be doubled. MF have diminishing returns for finding rare, set and unique items.

    What is MF diminishing returns?
    Effective MF=(MF*Factor)/(MF+Factor),
    where Factor=250 for unique items, 500 for set items and 600 for rare items.

    Is there a cap on MF? Yes, implicitly. When you stack up your MF your increase your chance to find unique, set, rare and magic items. There is a cap on this chances. For example the cap in unique item chances for Act bosses is 50% (calculates from itemratio.txt as 128/(6400-(6400*983/1024))). Practically you'll never reach this cap, so don't afraid to increase your MF.

    Will MF work on Runes? No. MF works only when item type is already selected. So with more MF you will NOT get more weapons and armors and less runes.

    Will MF help getting better Items from Gambling? No.

    Will MF work with Minions and Hirelings? Yes. When you make a kill, you get the MF% of yourself only. When a Hireling gets a kill, it uses the combined MF of the Hireling and you.

    Does number of players in the game increase the chances for an item to be unique? No, it just increases number of dropped items and thus the number of unique items found. Only MF increases the chances for an item to be unique.

    Does MF work on chests? Yes, MF DOES work on every objects: chests, rocks, dead bodies, urns, etc. See chapter 17 for exact description of object drops. Special chest have fixed quality chances, though.

    How exactly MF works? It increases the chances for item to be unique/set/rare/magic by EffectiveMF/100 times. For example, Baal dropping an Unearthed Wand has 128/1984 chance to generate unique when you have 0% MF and 128/992 chance, when you have 167% MF.

    25. 1.11 Drop Changes

    As you know this patch didn’t change much. Most updated was dedicated to new Uber bosses.
    So the only thins that changed in the game is:
    — Fangskin no more drop items in Hell
    — Countess, Summoner and Nihlathak drop keys, that slightly reduce there other drop chances.

    26. Thanks

    I'd like to name here all, who helped me to write this guide, in acknowledgement to their deeds, however their list is too long. :(
    However I tried to name those, whose materials was used, in every chapter. I'm really sorry if I used someone's discovery and not figured his name, I didn't want to do so.

    The BIGGEST thanks goes to Blizzard, that has created the games, that gave us countless hours of fun and joy, Diablo and Diablo II!

    Oh! Thank you for reading it!
    Have fun,
    Sincerely yours, Warrior of Light.
     
  11. RTB

    RTB Diabloii.Net Member

    Joined:
    Jun 21, 2003
    Messages:
    5,108
    Likes Received:
    2
    Trophy Points:
    120
    Good stuff. You might want to add some more info on the drop rate of the new Keys, but the rest seems ok. Minor nit at section 22: Elite wands do not have magic_lvl.

    I uploaded the .txt files you explain here.
     
  12. yhenon9

    yhenon9 Diabloii.Net Member

    Joined:
    Aug 27, 2004
    Messages:
    35
    Likes Received:
    0
    Trophy Points:
    5
    Wow, this is crazy. Just read through it and learnt a ton. Great job ! thanks !
     
  13. Atticus

    Atticus Diabloii.Net Member

    Joined:
    Jul 4, 2003
    Messages:
    704
    Likes Received:
    0
    Trophy Points:
    120
    If you didnt mention it (other than at the end), i didnt read -too- thoroughly through this, but if you didnt say: the reason fangskin no longer drops anything was because they inexplicably changed him to TC95, where there are no items...so he just doesnt drop anything.
     
  14. RTB

    RTB Diabloii.Net Member

    Joined:
    Jun 21, 2003
    Messages:
    5,108
    Likes Received:
    2
    Trophy Points:
    120
    The reason he doesn't drop anything anymore is because his TC entry was changed to a non-existant one. TC95 does not exist.
     
  15. RanDomino

    RanDomino Diabloii.Net Member

    Joined:
    Oct 8, 2005
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    1
    So, I'm looking for Item X. Where's the best place to look?
     
  16. Jerkazoid

    Jerkazoid Diabloii.Net Member

    Joined:
    Jun 24, 2003
    Messages:
    401
    Likes Received:
    0
    Trophy Points:
    98
    if u want X's

    u have to kill alot of X's
    with plenty of +X% find gear

    :D

    this is a cool write up

    hmm i thought andy bug still worked on my andy runners.. perhaps this was fixed only if u try to make a new runner.

    edit yep still works for my old runners.(3 runs so far).. rare - failed set -set and unqies always.. no potions/gold/scrolls on any run
     
  17. Flamearrows

    Flamearrows Diabloii.Net Member

    Joined:
    Jul 27, 2003
    Messages:
    310
    Likes Received:
    0
    Trophy Points:
    77
    Damn, Warrior. That is a seriously comprehensive tutorial. There's quite a few spelling/grammar/clarity quibbles, but I can't fault your statistics (not that I know much about statistics...). Very impressive!

    flamearrows
     
  18. Warrior of Light

    Warrior of Light Diabloii.Net Member

    Joined:
    May 14, 2005
    Messages:
    459
    Likes Received:
    0
    Trophy Points:
    144
    Thanks All! Big thanks to Elly for sticking.
    In SuperUniques.txt file stated that Fangskin drops from “Act 2 Super B†TC in Normal, from “Act 2 (N) Super B†TC in Nightmare, and from “Fangskin (H)†TC in Hell. The first two treasure classes present in TreasureClassEx.txt, the last is not.
    Calculate a chance to drop “Item X†for every monster. Find time you need to kill every monster in the game. Run the monster with the highest chance/time ratio until you will find “teh itam xâ€. ;)
    Thanks! Note that English is a foreign language to me. I never speak English (verbally :) ).
    Please forgive me everyone. My grammar is bad not because I don’t respect readers. I do my best to fix it with everything I know and MSWord spell check.
     
  19. Freezing Rain

    Freezing Rain Diabloii.Net Member

    Joined:
    May 25, 2005
    Messages:
    1,613
    Likes Received:
    0
    Trophy Points:
    346
    Your english seems fine to me.

    Excellent write up, i learned lots.
     
  20. Dadaravager

    Dadaravager Diabloii.Net Member

    Joined:
    Jan 29, 2005
    Messages:
    46
    Likes Received:
    0
    Trophy Points:
    20
    Jarulf wasn;t a native English writer either.

    I especially like the explanation that qualifies the diminishing returns pessimism for Magic-Find.
     

Share This Page