Whenever a unit in DotA dies, all nearby heroes that are allied with the unit that killed it gain an amount of experience dependent on the killed unit's level. The experience is equally shared among all allies of the killing unit, the killing unit itself does not gain more experience than any other unit.
A few important things about experience:
- Experience range in DotA is 1300, all allied heroes in that area gain experience from the kill.
- Any hero kill done outside of this 1300 area grants experience to the killer.
- Killing a unit that you are allied with does not grant you experience.
- Heroes continue to take a portion of the experience even when they are level 25.
- Even building kills give experience.
Whenever a unit owned by the Sentinel or Scourge is killed by an allied player, it counts as a deny, and normal experience is not granted to nearby enemy heroes.
Instead, denied units give 36 exp divided between enemy heroes in a 1300 AoE. As of 6.79, melee and ranged heroes now get the same experience for denied units.
Non-ancient Neutral creeps grant experience to all heroes in range, not just those on the team that killed them. Experience is divided normally, so if there is one Sentinel hero and one Scourge hero near a dying neutral, both will get half that neutral's XP bounty. Ancient creeps, including Roshan, still give experience only to heroes of the team that killed them.
Summons, Easy Mode, and extra hero experience
There are 3 factors that can cause units to give a different experience value than normal.
Units considered by Warcraft 3 to be summoned only give 50% (rounded down) of their normal experience when killed. Most units created by spells and items are considered as summoned.
The Unit Statistics guide lists which units are summons and which are not.
When Easy Mode (-EM) is active, all units give 150% (rounded up) of their normal experience when killed.
Extra hero experience
Heroes that are in a 1300 area of a dying enemy hero will be granted a certain amount of XP, depending on the total number of allied heroes in that area.
- 1 Hero: 120+20*LevelOfDyingHero
- 2 Heroes: 90+15*LevelOfDyingHero
- 3 Heroes: 30+7*LevelOfDyingHero
- 4 Heroes: 20+5*LevelOfDyingHero
- 5 Heroes: 15+4*LevelOfDyingHero
Hero Experience Table
The table below shows experience required for heroes to be at a certain level, as well as experience gained from killing heroes and units. Below is an explanation of each of the columns.
Level: This indicates what level unit is being referred to by the other columns.
Experience Required: This is the minimum total experience a hero must have to be at the indicated level.
Hero Kill Experience: This is the base amount of experience given by killing a hero, it is split amongst all allied heroes of the killing unit within 1300 range. This value does not include the bonus experience that hero kills also give. This value will be 50% greater if Easy Mode is enabled.
Unit Kill Experience: This is the base amount of experience given by killing a unit, it is split amongst all allied heroes of the killing unit within 1300 range. This value will be 50% greater if Easy Mode is enabled, and 50% less if the killed unit counts as a summoned unit.
|Level||Experience Required||Hero Kill Experience||Unit Kill Experience|
Experience Formulae (advanced)
This section probably won't be understood unless you know how functions work in algebra.
The experience gained by killing units and heroes, and the experience required for a hero to level up are determined by the formulae below.
Experience required to level up
The total experience required to reach level x for most levels can be expressed as a function f(x):
- f(x) = f(x-1) + 100x
- f(x) = 50x2 + 50x - 100
Experience gained from killing a hero
The total experience gained by killing a hero of level x < 6 is expressed as a function f(x):
- f(x) = f(x-1) + 20(x-1)
- f(x) = 10x2 - 10x + 100
The total experience gained by killing a hero of level x > 5 is expressed as a function f(x):
- f(x) = f(x-1) + 100
- f(x) = 100x - 200
Combined into a single function using the Heaviside (step) function, we obtain the general formula:
- f(x) = (10x2 - 10x + 90) H(5.5 - x) + (100x - 200) H(x - 5.5)
Experience gained from killing a unit
The total experience gained by killing a unit of level x is expressed as a function f(x):
- f(x) = f(x-1) + 5x + 6
- f(x) = 2.5x2 + 8.5x + 14
- * Attack Speed
- * Cleave
- * Damage and Armor
- * Hitpoints and Manapoints
- * Invisibility
- * Lifesteal
- * Neutral Creeps
- * Targeting
- * Unit Statistics