# Gameplay Constants - Hero Experience

Tutorial By AceHart

In menu: Advanced / Gameplay constants are a bunch of "Hero XP" entries.
They are used to find out how much experience you get from killing stuff.
And how long it takes to level up.

Nothing excitingly complicated, but it's always good to have some reference around, just in case.

Getting experience from killing enemy Heroes

Hero XP Gained - Hero, Constant factor: 100
Hero XP Gained - Hero, Level factor: 0
Hero XP Gained - Hero, Previous value factor: 1
Hero XP Gained - Hero, Table: 100, 120, 160, 220, 300

If you kill a level 1 Hero, you get 100 experience.
That's the first value in the table.
If you kill a level 2 Hero, you get 120 experience.
The second value in the table.
Until, finally, a level 5 Hero gives 300 experience.

After that, the game runs out of table and uses the other values to continue:

Experience gained = "Previous value" * "Previous value factor" + "Level" * "Level factor" + "Constant factor"

So, killing a level 6 Hero gives:
300 (previous value) * 1 (previous value factor) + 6 (level) * 0 (level factor) + 100 (constant factor)
= 300 * 1 + 6 * 0 + 100
= 300 + 0 + 100
= 400

A level 7 Hero gives
400 * 1 + 7 * 0 + 100
= 400 + 0 + 100
= 500

A level 8 Hero gives 500 * 1 + 8 * 0 + 100 = 600

And so on.

Getting experience from killing enemy units

Hero XP Gained - Normal, Constant factor: 5
Hero XP Gained - Normal, Level factor: 5
Hero XP Gained - Normal, Previous value factor: 1
Hero XP Gained - Normal, Table: 25

Looks familiar, and also works exactly the same.

A level 1 unit gives 25 experience.
That's the first value in the table.

As before, once the game runs out of table, it uses the other values to fill in the blanks:

Experience gained = "Previous value" * "Previous value factor" + "Level" * "Level factor" + "Constant factor"

Experience from killing a level 2 unit:
25 (previous value) * 1 (previous value factor) + 2 (level) * 5 (level factor) + 5 (constant factor)
= 25 * 1 + 2 * 5 + 5
= 25 + 10 + 5
= 40

A level 3 unit gives:
40 * 1 + 3 * 5 + 5
= 40 + 15 + 5
= 60

A level 4 unit gives 60 * 1 + 4 * 5 + 5 = 85

And so on.

Getting experience from killing Creeps

Hero XP Gained - Creep reduction table: 80, 70, 60, 50, 0

If the unit you killed was a Creep, you won't get the full experience from it.
Seems normal, what kind of experience do you expect a level 42 Hero to get from killing a Gnoll by looking at it?

Creep experience depends on the level of the Creep.
And uses the "normal" table and values from above.
After that, the reduction table is applied.
And means:

A level 1 Creep gives 25 experience (as per above).
From those 25, a level 1 Hero will get 80%.
If your Hero is level 2, he'll get 70% of 25.
If your Hero is level 3, he'll get 60% of 25.
If...

The last value in the table is used for all levels after that.

That's also why Creeps don't give experience anymore once you reach level 5.
The table says "0"...

Changing the last value to, for example, 40... and your Hero levels happily every after.
Alternatively, replace the entire table with 100 as only value.
Or 80.
Either way, don't have 0 as last value.

Experience needed to get a new level

Hero XP Required, Constant factor: 0
Hero XP Required, Level factor: 100
Hero XP Required, Previous value factor: 1
Hero XP Required, Table: 200

This set of values determines when your Heroes gain new levels.

As usual, it all starts with the table.
Your Hero gains a level at 200 experience.

After that, the usual formula applies:

Experience required = "Previous value" * "Previous value factor" + "Level" * "Level factor" + "Constant factor"

So, to reach level 3:
200 (previous value) * 1 (previous value factor) + 3 (level) * 100 (level factor) + 0 (constant)
= 200 * 1 + 3 * 100 + 0
= 200 + 300 + 0
= 500

To reach level 4, your Hero needs:
500 * 1 + 4 * 100 + 0
= 500 + 400 + 0
= 900

Level 5: 900 * 1 + 5 * 100 + 0 = 1400

And so on.

Messing around with these values may require a bit of experimentation.
But, at least, you should know how they work.

On a related note, nearby is also an entry called "Hero Maximum Level".
It does what it says, your Hero will never get any higher than that.

Yours,
AceHart