Dota 2 Auto Chess Hero Pool and Item Drop Mechanics Guide

by jradthebad

I’ve been doing some research over the past few hours and thought I’d share with the community what I’ve learned so far diving into the source code for the game:

Item Drops are determined in part by the level of the unit killed.

These drops are determined by tier first, then drop randomly from a pool there after.

The RNG part of this is determined by rolling a die from 1 to 100 and then determining which tier it falls into.

These table values are NOT cumulative. Because of how the game is coded, the 60% for a T1 item drop at level 4 doesn’t stack with the T2 item drop chance. Essentially, a T1 item has a chance of being a T2 item, but a T2 item doesn’t have a chance of being T1 instead.

Unit LevelTier 1 Item Drop %Tier 2 Item Drop %Tier 3 Item Drop %Tier 4 Item Drop %

The following are possible item drops:

Tier 1Tier 2Tier 3Tier 4
Blades of AttackBroad SwordDemon EdgeMystic Staff
Blight StoneJavelinHyperstoneReaver
Chain MailMithril HammerUltimate OrbSacred Relic
CloakPlate Mail
CrownStaff of Wizardry
Morbid MaskVitality Booster
Quarter Staff
Ring of Health
Ring of Regen
Robe of the Magi
Stout Shield
Void Stone

Chess pieces are first chosen by tier, then chosen from a pool of available pieces of that tier.

The pool of available chess pieces appears to be the following (There’s evidence that these rules used to be adjusted for druids, but those rules appear to have been rolled back to normal values again):

TierTotal # of each in poolMaximum Possible # of 3 Star Units
Tier 1455
Tier 2303
Tier 3252
Tier 4151
Tier 5101

Any time you refresh your hero store, it pulls units from the pool. This means that units in your store can’t show up in other people’s stores. It also means that if you sell a unit, it returns to the available pool of units.

This DOES NOT mean is that you are more likely to see higher tier chess pieces if lots of people are invested in low tier units.

Because the game FIRST picks tier, THEN picks the unit for that tier, this means that you cannot influence your store picks by removing heroes from the pool. (By dumping to your board, for example).

What this DOES mean is that you can increase your chances of seeing a specific hero of a certain tier, by removing competing units of the same tier from the pool temporarily.

Example: I have 2 Gyros. I want a 3rd. I can refresh my store and buy every $5 unit and dump it to the board. This removes that unit from the pool, increasing my chances of finding a Gyro on every reroll. I can then sell the unwanted $5 units before the start of combat.

The RNG for rolling unit tiers works similarly to items. Essentially, every unit is always a T1 unit, but then has a chance to be a higher tier.

The odds of getting certain tiers of units, (according to the code), is as follows:

Hero LevelT1 Hero %T2 Hero %T3 Hero %T4 Hero %T5 Hero %

These odds are on a PER UNIT basis. So these odds are rolled 5 times every time you reroll the shop.

I’ll continue my investigation, but I thought I’d share my findings with the community so far.

Tata for now!


There are two heroes in the game that can potentially be granted when you roll the shop. They are referred to in the code as:

nec_ssr with a Reaper's Scythe Ability - Costs 10 Gold
ck_ssr with an Illusion Ability - Costs 15 Gold

The odds of dropping either one of these is SUPPOSED to be 1 in 100,000,000 but it seems as though there’s a problem with floating point rounding errors and you can’t actually drop the units. (According to a Chinese forum that’s also been trying to unlock the secrets of drop tables for DAC)

Hopefully that isn’t the case though and we’ll see evidence of these units soon. :)

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *