Table of Contents

The experience level of the monster. This influences a few
things. For one, the square of the experience level is directly
related to the monster experience. The higher level a monster is,
the more likely it is to be generated with an offensive item. Also,
the higher an experience level, the more likely that monster will
be able to hit you (one experience level negates one point of your
AC). The higher a level a monster is, the more spellcasting ability
it has as well as the more ability it has to resist magical
effects.

Difficulty

The relative difficulty of the monster. In general, so long as
monsters haven't been extincted, Nethack will create monsters of
difficulty at minimum one sixth of the dungeon level rounded down
and at maximum the average of the dungeon level and your experience
level rounded up. If all the monsters in that range are extinct or
genocided, then Nethack won't randomly create any monsters on that
given dungeon level.

Dungeon Level

The current level in the dungeon, so long as you don't have the
amulet or are in the end game. If you have the amulet then the
current level is considered to be the deepest level you have
reached (the sanctum). If you are in the end game, then the current
level is considered to be the depth of the sanctum level plus half
your experience level.

XP

The experience points you get for killing a monster, based on
the assumptions given below. Extra formulas are given to calculate
the more/fewer experience points if the assumptions are not
correct.

Since while playing the game, experience is somewhat dynamic
based on a few factors, there are a few assumptions made to
calculate "base" experience points for any given monster.

Monsters are naked.

If a monster is wearing armor, its AC will be lower and you will
get more experience: [not cumulative]

Final AC: Bonus experience
2: 5 more
1: 6 more
0: 7 more
-i: (7+i)*2 more

You are not amphibious.

If you are, you don't get the +1000 points for eels, kraken,
etc.

Dungeon level is not taken into account.

The dungeon depth is considered to be the dungeon level you are
on. See above for what an accurate calculate of dungeon level is.
If a monster has a level greater than the dungeon depth, then it is
generated with one less experience level. If it has fewer levels
than the depth, then it is generated with one more experience level
for every five its level is fewer. The change in experience points
for a monster of level n that is now a monster of level n+1 is 2n+1
more experience points. If it is a monster of level n-1, it loses
2n+1 experience points. If that level is now above 8, then it gets
an extra 50. If it is now less than or equal to 8, subtract 50.

Your level is not taken into account.

If a monster has a level less than yours, then increase its
level by 25% (rounded down) and follow the same rules as above to
find the change in experience.

Monster hasn't been drained or has drunk non-cursed potions of
gain level.

This was all created by severely hacking the relevant functions
in makemon.c and exper.c to get a meaningful experience value. I
wanted to write a general utility program that would use the
Nethack source and would work for any and all versions, but due to
the assumptions that had to be made, I didn't get one finished.
Maybe if I just re-defined all functions that I wanted to hard code
it would work. It'd be an ugly hack all the same.

Every time you kill the Wizard of Yendor, he comes back
stronger. In game terms, it means that the level he is created at
increases one for every time you have killed him up to a max of 49.
Since he starts at 30, on the 20th time you kill him and every time
after that he will "only" give you 3,153 experience.