Dota 2 Wiki
Register
Advertisement

Randomness is sometimes rejected from competitive gaming since it can decide over loss and defeat without reflecting the actual skill level. However, coping with the unexpected is an aspect of skill. Nonetheless there are a couple of random events within Dota 2, that keep the game less predictable and static. To limit the influence of huge streaks, pseudo-random distribution replaces the true random distribution where it made sense for the developers.

Definition[]

AttacksUntilNextProc25

The effects of PRD on the number of attacks until the next proc.

PRD proc chance

Proc chance of PRD effects

The geometric distribution[1] or true random distribution describes the probability of the number of events that occur before a successful event. This memoryless property is means that every "coin flip" in a sequence operates independently.

The pseudo-random distribution[2] (often shortened to PRD) in Dota 2 refers to a statistical mechanic of how certain probability-based items and abilities work. Under a conditional distribution[3], the event's chance increases every time the event does not occur, but is lower in the first place as compensation. This results in the effects occurring with a lower variance[4], meaning the proc chance occurs in a narrow band, and operating under a concave distribution[5], meaning the proc chance has a highest point.

The probability of an effect to occur (or proc) on the N-th test since the last successful proc is given by . For each instance which could trigger the effect but does not, the PRD augments the probability of the effect happening for the next instance by a constant C. This constant, which is also the initial probability, is lower than the listed probability of the effect it is shadowing. Once the effect occurs, the counter is reset.

Technically, if corresponds to the event occurring on trial and is the inverse of that event, pseudo-random distribution enforces that for all . Also, when , which occurs on the first trial where , the event is guaranteed if it has not already happened. This results in a distribution where .

Example[]

On melee heroes, Skull Basher icon Skull Basher's Bash has a 25% chance to stun the target. On the first attack, however, it only has an ~8.5% probability to bash. Each subsequent attack without a bash increases the probability by ~8.5%. So on the second attack, the chance is ~17%, on the third it is ~25.5%, etc. After a bash occurs, the probability resets to ~8.5% for the next attack. These probabilities average out so that, over a moderate period of time, Bash effect procs nearly 25% of the time.

Effects based on PRD rarely proc many times in a row, or go a long time without happening. This makes the game less luck based and adds a great deal of consistency to many probability-based abilities in Dota 2. Gameplay wise, PRD is difficult to exploit. It is theoretically possible to increase your chance to bash or critical strike on the next attack by attacking creeps several times without the effect happening, but in practice this is nearly impossible to do. Note that for instances that would not trigger the effect, the probability counter does not increase. So a hero with critical strike attacking buildings does not increase its chance to critical strike on its next attack, since critical strike does not work against buildings. The chance is not reset/increased as long as the ability is on cooldown as well (e.g. Bash).

C Values[]

The values of C as a function of nominal chance are given below[6]:

C Nominal Chance Approximate C
0.003801658303553139101756466 5% 0.38%
0.014745844781072675877050816 10% 1.5%
0.032220914373087674975117359 15% 3.2%
0.055704042949781851858398652 20% 5.6%
0.084744091852316990275274806 25% 8.5%
0.118949192725403987583755553 30% 12%
0.157983098125747077557540462 35% 16%
0.201547413607754017070679639 40% 20%
0.249306998440163189714677100 45% 25%
0.302103025348741965169160432 50% 30%
0.360397850933168697104686803 55% 36%
0.422649730810374235490851220 60% 42%
0.481125478337229174401911323 65% 48%
0.571428571428571428571428572 70% 57%
0.666666666666666666666666667 75% 67%
0.750000000000000000000000000 80% 75%
0.823529411764705882352941177 85% 82%
0.888888888888888888888888889 90% 89%
0.947368421052631578947368421 95% 95%

True random events[]

Flat distribution[]

Some mechanics roll a random value between 0 and 1 and scale it along the minimum / maximum gradient. This includes

  • Attack damage of units, if they have a minimum and maximum attack damage range.
  • Last hit gold bounty, if a minimum and maximum range is given.
  • Roshan icon Roshan's respawn timer.
  • Chaos Bolt icon
    Min Damage: 90/110/130/150
    Max Damage: 180/220/260/300
    Min Stun Duration: 1.25/1.5/1.75/2 (Talent 2.25/2.5/2.75/3)
    Max Stun Duration: 2.2/2.8/3.4/4 (Talent 3.2/3.8/4.4/5)
    Damage and stun duration are correlated inversely.
  • Doppelganger icon
    Reappear Radius: 325
    Random positions within the target area. Calculation might be in polar coordinates with 0-360° angle and 0-325 distance units as min/max gradients.
  • Freezing Field icon
    Minimum Explosion Distance: 195
    Maximum Explosion Distance: 785
    Angle within the four 90° sectors (0°–90°, 90°–180°, 180°–270°, 270°–360°) may be random.

Discrete distribution[]

A couple of random events have discrete states that have similar probability.

  • Powerup Runes with a discrete clamping over the 6 types and 2 locations.
  • Neutral camps can spawn different creeps for each of the small, medium, hard and ancient camps.
  • Phantasm icon
    The position of the caster and the illusions within the formation is random.
  • Battery Assault icon
    Number of Shrapnels: 16 (Talent 24)
    Search Radius: 275
    Interval: 0.7 sec (Talent 0.45 sec)
  • Bedlam icon
    Attack Radius: 300
    Attack Interval: 0.25 sec
  • Shadow Wave icon
    Number of Bounces: 3/4/5/6
    Bounce Distance: 475
    Although prioritizing heroes over units, and injured allies over non-injured ones, if multiple units meet the criteria, it chooses between them randomly.
  • Exorcism icon
    Search Radius: 700
    Spirits choose their targets randomly. Once chosen, they stick with that target until they can't attack it anymore. The spirits prioritise units the caster attacks.
  • Marksmanship icon
    Number of Splinters: 0 (Upgradable by Aghanim's Scepter. 2)
    Search Radius: 375
    On each landing attack on an enemy, two projectiles are launched towards two random enemies within the area.
  • Searing Chains icon
    Max Targets: 2
    Search Radius: 400
  • Sleight of Fist icon
    Effect Radius: 250/350/450/550
    Attack Interval: 0.2 sec
    Targets are determined upon cast. The order of attacks is random.
  • Nature's Attendants icon
    Number of Wisps: 4/6/8/10 (Talent 12/14/16/18)
    Search Radius: 275
    Interval: 1 sec
    Duration: 10 sec
    Every second, each wisp chooses a random allied unit to heal. So it is possible to heal up to as many allies as the number of wisps at a time.
  • Rocket Barrage icon
    Rockets per Second: 10
    Search Radius: 400
    Interval: 0.1
    Duration: 3
  • Chain Lightning (Harpy Stormcrafter) icon
    Number of Bounces: 4
    Bounce Distance: 500
    Interval: 0.25 sec
  • Omnislash icon
    Attack Rate Divisor: 1.7
    Search Radius: 425
    Slashes enemies based on Juggernaut's attack rate.
  • Diabolic Edict icon
    Number of Explosions: 40 (Talent 80)
    Search Radius: 500
    Interval: 0.25 sec (Talent 0.13 sec)
  • Chain Frost icon
    Number of Bounces: 10 (Talent Infinite)
    Bounce Distance: 575
    Interval: 0.2 sec
  • Mana Drain icon
    Max Targets: 1 (Talent 3)
    Search Radius: 0 (Talent 400)
  • Eclipse icon
    Number of Beams: 6/9/12 (Upgradable by Aghanim's Scepter. 6/12/18)
    Search Radius: 675
    Interval: 0.6 sec (Upgradable by Aghanim's Scepter. 0.3 sec)
  • Manta Style icon
    The position of the caster and the illusions within the formation is random.
  • Adaptive Strike (Agility) icon
    Max Targets: 1 (Talent 4)
    Search Radius: 900/1000/1100/1200
    Requires a Talent talent. When upgraded, releases three extra projectiles, hitting a second, third and fourth random enemy within the search radius.
  • Adaptive Strike (Strength) icon
    Max Targets: 1 (Talent 4)
    Search Radius: 900/1000/1100/1200
    Requires a Talent talent. When upgraded, releases three extra projectiles, hitting a second, third and fourth random enemy within the search radius.
  • Mirror Image icon
    The position of the caster and the illusions within the formation is random.
  • Ignite icon
    Multicast Amount: 1/2/3
    Multicast Range: 1400
    Interval: 0.4 sec
  • Bloodlust icon
    Multicast Amount: 1/2/3
    Search Radius: 700
  • Stifling Dagger icon
    Max Targets: 1 (Talent 3)
    Search Radius: 825/1050/1275/1500
    Requires a Talent talent. When upgraded, releases two extra projectiles, hitting a second and third random enemy within the search radius.
  • Eye of the Storm icon
    Search Radius: 500
    When multiple enemies have the same amount of health, or if multiple heroes are linked with Static Link icon Static Link, chooses between them randomly.
  • Tricks of the Trade icon
    Search Radius: 450
    Attack Count: 4 (Upgradable by Aghanim's Scepter. 5)
    Max Channel Time: 2
  • Mass Serpent Ward icon
    Max Targets: 1 (Upgradable by Aghanim's Scepter. 2)
    Search Radius: 0 (Upgradable by Aghanim's Scepter. 875)
    Requires Aghanim's Scepter icon Aghanim's Scepter. When upgraded, releases a second attack on each attack, hitting a second random enemy within the search radius.
  • Arcane Bolt icon
    Max Targets: 1 (Talent 2) (Upgradable by Aghanim's Scepter. 2, Talent 3)
    Search Radius: 0 (Talent 700) (Upgradable by Aghanim's Scepter. 700)
    Requires a Talent talent or Aghanim's Scepter icon Aghanim's Scepter. When upgraded, releases a second/third projectile, hitting a second/third random enemy within the search radius.
  • Concussive Shot icon
    Max Targets: 1 (Upgradable by Aghanim's Scepter. 2)
    Search Radius: 0 (Upgradable by Aghanim's Scepter. 700, Talent Global)
    Requires Aghanim's Scepter icon Aghanim's Scepter. When upgraded, releases a second projectile, hitting a second random enemy within the search radius.
  • Ancient Seal icon
    Max Targets: 1 (Upgradable by Aghanim's Scepter. 2)
    Search Radius: 0 (Upgradable by Aghanim's Scepter. 700)
    Requires Aghanim's Scepter icon Aghanim's Scepter. When upgraded, targets a second random enemy within the search radius.
  • Mystic Flare icon
    Number of Flares: 1 (Upgradable by Aghanim's Scepter. 2)
    Search Radius: 0 (Upgradable by Aghanim's Scepter. 700)
    Requires Aghanim's Scepter icon Aghanim's Scepter. When upgraded, creates a second flare on a random enemy within the search radius.
  • Soul Assumption icon
    Max Targets: 1 (Talent 2)
    Search Radius: 1200 (Talent 1325)
    Requires a Talent talent. When upgraded, releases a second projectile, hitting a second random enemy within the search radius.
  • Paralyzing Cask icon
    Number of Bounces: 2/4/6/8 (Talent 4/6/8/10)
    Bounce Distance: 575
    Interval: 0.3 sec

Other[]

  • Multicast icon
    2x Multicast Chance: 75%/75%/75%
    3x Multicast Chance: 0%/30%/30%
    4x Multicast Chance: 0%/0%/15%

Pseudo random events[]

Along with the listed abilities, all Evasion sources and the drop chance of neutral items use pseudo-random distribution as well.

Evasion Sources[]

1 Requires Talent talent.
2a Requires Aghanim's Scepter icon Aghanim's Scepter.
2b Requires Aghanim's Shard icon Aghanim's Shard.

Hero and Unit Abilities[]

1 Requires Talent talent.
2a Requires Aghanim's Scepter icon Aghanim's Scepter.
2b Requires Aghanim's Shard icon Aghanim's Shard.

Legacy data[]

The following table shows legacy data cited from the website of the original WC3 DotA. P(T) is the theoretical probability, P(A) is the actual probability. C is the PRD constant. Max N is the minimum number of attacks that would result in becoming greater than 1 (i.e. guaranteed proc). Average N is the expected value of N: the sum of the products of N and probabilities. SD is the standard deviation of N, a measure of how spread the data is, using the population formula. The lower the deviation, the more consistent the procs are. For comparison, SDt is the standard deviation of N in true random distribution, using the sample formula from N = 1 to N = 264. These are higher than those of PRD, hence not as consistent.

P(T) P(A) C Max N Most Probable N Average N SD SDt
5% 5.0% 0.00380 264 16 20.00 10.30 19.53
10% 10.0% 0.01475 68 8 10.00 5.06 9.50
15% 15.0% 0.03221 32 6 6.67 3.31 6.16
20% 20.0% 0.05570 18 4 5.00 2.43 4.48
25% 24.9% 0.08475 12 3 4.02 1.90 3.49
30% 29.9% 0.11895 9 3 3.34 1.54 2.81
35% 33.6% 0.14628 7 3 2.98 1.35 2.43
40% 37.7% 0.18128 6 2 2.65 1.17 2.10
45% 41.8% 0.21867 5 2 2.39 1.03 1.83
50% 45.7% 0.25701 4 2 2.19 0.91 1.62
55% 49.3% 0.29509 4 2 2.03 0.83 1.45
60% 53.0% 0.33324 4 2 1.89 0.74 1.30
65% 56.6% 0.38109 3 2 1.77 0.69 1.17
70% 60.1% 0.42448 3 2 1.66 0.63 1.05
75% 63.2% 0.46134 3 2 1.58 0.57 0.96
80% 66.7% 0.50276 2 1 1.50 0.50 0.87

Version history[]

Version
Description
  • Walrus Punch icon Walrus PUNCH! passive trigger talent now uses pseudo-random distribution.

References[]


Advertisement