Player monster
A player monster is any type of monster in NetHack that represents one of the playable roles for the hero.
List of player monsters
The following player monsters correspond to each of the available roles, including different-gendered titles:
- @ archeologist
- @ barbarian
- @ caveman
- @ cavewoman
- @ healer
- @ knight
- @ monk
- @ priest
- @ priestess
- @ ranger
- @ rogue
- @ samurai
- @ tourist
- @ valkyrie
- @ wizard
The following information pertains to an upcoming version (3.7.0). If this version is now released, please verify that the information below is still accurate, then update the page to incorporate it.
Per commit 0c3b9642, the player monsters representing the Caveman and Priest roles are renamed to the "cave dweller" and "cleric" respectively, with different names given for different genders of player monster rather than having a separate entry in monst.c.Common characteristics
Player monsters are all part of the human or elf monster class: they are human by default and thus cannot be tamed, though they can be made peaceful, and each player monster has a chance of being created as peaceful towards a hero of the same alignment: this is generally not the case in practice outside of reverse genocides, since most live player monsters outside the Astral Plane are specifically generated as peaceful or hostile depending on their circumstances, and player monsters on the Astral Plane will always be hostile (which is explained in detail below).[1] All player monsters are referred to by the role's appropriate rank title for their current monster level.
Each player monster will have certain characteristics based on their corresponding role: for example, player monster valkyries will have cold resistance similar to a starting Valkyrie, archeologists will tunnel around if they obtain a digging tool, and monks are herbivores to reflect the Monk's intended vegetarian diet (while all other player monsters are omnivorous). All player monsters are strong and will pick up weapons, armor and other items they come across, and they can be seen via infravision. Player monsters usually have one or two weapon attacks, based on their role's ability to twoweapon (or lack thereof): monks are the only exception, with a "claw" attack and a kick attack that reflects the role's martial arts prowess. Cavepeople, monks, samurai, and valkyries have the strongest individual attacks of player monsters, while rangers have the weakest since they are a role designed to be proficient with ranged combat.
Generation rules
Live player monsters are subject to different generation rules dependent on whether or not they are being placed on the Astral Plane[2]—as indicated by the various references in the article, the creation of living player monsters is primarily handed in mplayer.c within the source code. A player monster is generated with a monster level from 1-16 and given an amount of HP equal to (ML)d10 + 30, with player monsters on the Astral Plane being given a monster level ranging from 15–30 and an additional +d30 HP.[3]
Locations
Player monsters are not randomly generated in the main dungeon, but are placed in various locations at level creation, including in the form of corpses and statues—many of these player monsters are encountered on the Quest branch for specific roles, and some quest guardians can grow up into player monsters.[4] Player monster corpses and statues behave like other corpses and statues, and many of them generally use the names of other players on the system or server, particularly those on the high score list.[5]
Player monsters cannot be directly targeted for genocide, and are only subject to genocide when a hero of that role reads a scroll of genocide. They are also invalid forms for polymorph with the exception of the doppelganger: doppelgangers are shapeshifters that will become a random player monster 4⁄7 of the time when they polymorph (either at random or by outside means while they are not subject to protection from shape changers).[6][7]
Below is a non-exhaustive list of instances where a hero can find one or more player monsters within the main dungeon:
- The bones of a player whose hero died from stoning by any means, or else was killed by HP damage from a cockatrice or a chickatrice, will leave behind a statue of a player monster with the hero's role and name instead of a named ghost and named corpse.
- As explained above, disguised doppelgangers account for at least a few of the player monsters encountered.
- A graveyard has a 1⁄5 chance of generating the corpse of a named player monster on each square.[5][8]
- A cockatrice nest has a 1⁄3 chance of generating a named player monster statue on each square, which can contain random items.[5][9][10]
- Several empty statues of named player monsters are generated on Medusa's Island[5][11]—a statue of a knight named Perseus is always generated in specific locations, with a chance of his statue containing special contents; see his article for more information.
- Several player monster corpses are generated in the Valley of the Dead during normal level creation with the exception of priests, priestesses and monks, although the graveyards can contain player monster corpses from all roles as normal.[12]
- A hero that reads a cursed scroll of genocide while confused will "reverse genocide" themselves, creating several player monsters of that hero's role.
Astral Plane
On the Astral Plane, a number of tough hostile player monsters are generated as part of the final challenge for any hero that reaches the level. These player monsters are special and considered distinct from the above instances: their names are randomly selected from a pool of first names that includes various members of the DevTeam, as well as those of other players on the high score list if playing on a server;[13][14] the player monsters are each given an ascension kit-like inventory as well, which is elaborated on in the sections below.[15] This inventory will always include a cheap plastic imitation of the Amulet of Yendor, implied to be the reason those player monsters are stuck on the Astral Plane.[16]
Inventory
A player monster's possible monster starting inventory is determined by whether or not they are created on the Astral Plane or elsewhere (e.g. on the various quests).[15]
Player monsters are always given 1-3 random offensive items, 1-3 random defensive items, and 1-3 random miscellaneous items, in addition to the normal chance for monsters of being given an item of each type.[17][18][19] If generated on the Astral Plane, they are also given the following items:[20]
- a cheap plastic imitation of the Amulet of Yendor[16]
- 0-999 gold pieces[21]
- 0-9 random items[22]
- a 1⁄15 chance of a luckstone and a 1⁄30 chance of a loadstone[23]
- valuable gems, with a 1⁄3 chance of 0-15 gems or 0-2 gems otherwise[24]
Weapons
Each player monster is given either a long sword or a random melee weapon, with an equal probability of each:[25] if generating a random weapon, the game selects one from a list of weapons in objects.c ranging from the spear to the bullwhip, using standard random generation probabilities;[26] for player monsters on the Astral Plane, the weapon then has a 1⁄2 chance of being converted into an artifact of any alignment that has not yet generated in that game, if it is a compatible base item.[27] If the player monster is given a stackable weapon that can be thrown and it is not made into an artifact, additional copies of that weapon are created, with spears created in stacks of up to 3 and other throwable weapons being created in stacks of up to 7.[28]
The weapon(s) will have an enchantment ranging from +4 to +8 if created for a player monster on the Astral Plane, and otherwise ranges from +0 to +3[29]—if a weapon is converted into Magicbane as a result of the above process, its enchantment will range from +0 to +4.[30] There is a 1⁄3 chance of the weapon(s) being erosion-proofed, and otherwise there is a 1⁄2 chance (effectively 1⁄3 total) of the weapon(s) being greased.[31][32]
Each type of player monster may then have their weapon replaced with one more appropriate for their role, with varying odds and replacements depending on the role:[33]
- Archeologist: bullwhip (50%), long sword (25%) or random melee weapon (25%)[34]
- Barbarian: two-handed sword (25%), battle axe (25%), long sword (25%), or random melee weapon (25%)[35]
- Caveman or cavewoman: mace (75%), club (12.5%), long sword (6.25%), or random melee weapon (6.25%)[36]
- Healer: quarterstaff (75%), unicorn horn (6.25%), scalpel (6.25%), long sword (6.25%), or random melee weapon (6.25%)[37]
- Knight: long sword (87.5%) or random melee weapon (12.5%)[38]
- Monk: 1⁄3 chance of up to 8 shuriken, otherwise no melee weapon[39]
- Priest or priestess: mace (50%), long sword (25%) or random melee weapon (25%)[40]
- Ranger: elven dagger (50%), long sword (25%) or random melee weapon (25%)[41]
- Rogue: short sword (25%), orcish dagger (25%), long sword (25%), or random melee weapon (25%)[42]
- Samurai: katana (50%), long sword (25%) or random melee weapon (25%)[43]
- Tourist: long sword (50%) or random melee weapon (50%)[44]
- Valkyrie: war hammer (50%), long sword (25%) or random melee weapon (25%)[45]
- Wizard: quarterstaff (37.5%), athame (37.5%), long sword (12.5%) or random melee weapon (12.5%)[46]
Armor
If a player monster is generated on the Astral Plane, they are also outfitted with armor which can occupy every slot available, except for the shirt slot:[47][20]
- At absolute minimum, they will always be given a suit of dragon scale mail, with an equal probability of each possible color.[48][49][50]
- For the cloak slot, they have a 7⁄8 chance of being given any cloak from the oilskin cloak to the cloak of displacement, using the standard random generation probabilities.[51][52][53]
- For the helm slot, they have a 7⁄8 chance of being given any helm from the elven leather helm to the helm of telepathy, using the standard random generation probabilities.[54][55][56]
- For the shield slot, they have a 7⁄8 chance of being given any shield from the elven shield to the shield of reflection, using the standard random generation probabilities.[57][58][59]
- For the gloves slot, a player monster generated with a war hammer will be given gauntlets of power, and otherwise has a 7⁄8 chance of being given any pair of gloves from leather gloves to gauntlets of dexterity, using the standard random generation probabilities.[60][61]
- For the boots slot, they have a 7⁄8 chance of being given any pair of boots from low boots to levitation boots, using the standard random generation probabilities.[62][63]
Each player monster may then have pieces of armor replaced with ones more appropriate for their role, with varying odds and replacements depending on the role:
- Cloaks
- Monk: always receives a robe[64]
- Priest(ess): robe (65.625%), random cloak (21.875%) or nothing (12.5%)[65]
- Wizard: cloak of magic resistance (50%), random cloak (37.5%) or nothing (12.5%)[66]
- Suits
- Barbarian: random suit ranging from plate mail to chain mail (50%), or random dragon scale mail (50%)[67][68]
- Knight: random suit ranging from plate mail to chain mail (50%), or random dragon scale mail (50%)[69][68]
- Monk: no body armor[70]
- Priest(ess): random suit ranging from plate mail to chain mail (50%), or random dragon scale mail (50%)[71][68]
- Valkyrie: random suit ranging from plate mail to chain mail (50%), or random dragon scale mail (50%)[72][68]
- Wizard: black dragon scale mail (25%), silver dragon scale mail (25%) or random dragon scale mail (50%)[66]
- Helms
- Barbarian: random helm (77.5)% or nothing (22.5%), since helm of brilliance is removed rather than replaced[73]
- Caveman or cavewoman: random helm (77.5)% or nothing (22.5%), since helm of brilliance is removed rather than replaced[74]
- Healer: helm of brilliance (37.5%), helm of telepathy (37.5%), random helm (21.875%), or nothing (3.125%)[75]
- Priest(ess): helm of brilliance (37.5%), helm of telepathy (37.5%), random helm (21.875%), or nothing (3.125%)[76]
- Wizard: helm of brilliance (75%), random helm (21.875%) or nothing (3.125%)[77]
- Shields
Armor generated this way has a 1⁄3 chance of being erosion-proofed, a separate 1⁄3 chance of being blessed, and a separate 1⁄3 chance of being cursed.[82] The armor's enchantment has a 3⁄5 chance of ranging from +0 to +4, a 3⁄10 chance of ranging +4 to +7, and will otherwise range from -1 to -3.[83]
Strategy
Player monsters on the Astral Plane are a fairly frequent source of splats, as they may be generated with Vorpal Blade if it has not appeared in a game, and can cause instadeath by beheading the hero. Be very wary of engaging one in melee until you are certain what they are wielding.
Extinctionists will have a hard time finding a complete set of player monsters to complete their run. Naturally, some of the more easily-employed options are reverse genocide and wishes for statues to cast stone to flesh on. Other possibilities and pointers for incrementing their kill counters are as follows:
- The statue of Perseus is a knight, who can be reanimated and stoned repeatedly.
- Some quest branches have player monsters of the hero's role, which is best saved for after the quest itself.
- Various player monster corpses are generated in the Valley of the Dead.
- Stoning and unstoning a doppelganger will make its morph stick.
History
Player monsters are first introduced in NetHack 3.0.0, with a player monster corresponding to each of the roles available in that version: each subsequent version of NetHack that adds or removes roles will also add or remove the appropriate player monsters.
Messages
Hostile player monsters will use the following messages if the hero chats to them:[84]
- "Talk? -- <...>"
- This is printed alongside any of the below messages as part of a single line when chatting to a player monster on the Astral Plane.[85]
- "I can't win, and neither will you!"
- "You don't deserve to win!"
- "Mine should be the honor, not yours!"
- You chatted to a player monster of your role.[86]
- "The low-life wants to talk, eh?"
- "Fight, scum!"
- "Here is what I have to say!"
- You chatted to a player monster of a different role from you.[87]
Peaceful player monsters respond like normal humanoid monsters (or, in the case of the archeologist and tourist, use their own specific messages) when chatting to them.[88]
Variants
SLASH'EM
SLASH'EM adds new player monsters corresponding to the five new roles:
- @ Flame mage
- @ Ice mage
- @ Necromancer
- @ Undead slayer
- @ Yeoman
Notably, flame mages, ice mages and necromancers are capable of casting mage monster spells. All of them are also generated hostile, except for the yeoman.
The Guild of Disgruntled Adventurers creates several hostile player monsters in the main room at level creation, with two player monsters representing each role: this includes one of each gender for roles with gendered titles, but excludes Rangers and Yeomen. Alongside the player monsters are a pair of doppelgangers, who often polymorph into player monsters, and a pair of elves, which represent the defunct Elf role (a precursor to the Ranger), and doppelgangers.
GruntHack
In GruntHack, player monsters can generate anywhere in the dungeon, although with a low probability. Player monsters generated in the dungeon have an inventory set based on where they generate, approximating the progress an equal player would have made at that point. For example, below Sokoban, they may get an amulet of reflection or a bag of holding.
Later on, player monsters can be quite dangerous as they can be kitted out with several ascension kit-class items such as a cloak of magic resistance or silver dragon scale mail. They will, however, not get any object properties on their armor (but will probably get it on their weapon) beyond random chance. Worse, they usually get these kind of items before players themselves has had a reasonable shot at getting them, so if you see a peaceful one early on, you probably don't want to bother it.
Player monsters will not get any special object materials beyond random chance -- you will have to look for your dragonhide cloaks or gauntlets elsewhere.
EvilHack
In EvilHack, player monsters can generate anywhere in the dungeon much like GruntHack, and are kitted out with gear befitting their role. There are two possible kits: one for level 10 player monsters, and another for level 20 player monsters.
Player monster abilities more closely match their roles (e.g. wizards and priests can cast spells, rogues can steal items), and they are also racial monsters that have the abilities of their race and leave behind corpses of that race if applicable. All hostile player monsters covet the Amulet of Yendor and will attempt to steal it with their attacks—a player monster on the Astral Plane that obtains the Amulet will attempt to reach their altar and sacrifice it to their god, ending the game if they succeed.
FIQHack
In FIQHack, bones which would normally have created ghosts have a 66% probability of replacing the ghost with a player monster instead. These retain all the stats of the late player (HP, Pw, intrinsics, spells, etc.) and retain the inventory without an 80% chance of each item being cursed. These coupled with FIQHack's AI improvements may pose a much bigger threat than bones generally do.
In addition, FIQHack random player monster kits has been significantly improved. They retain all of their vanilla items, have a shot at getting intrinsics like fire resistance, cold resistance or protection (like the kind bought from priests). In addition, they will now generally have a unicorn horn, may get several amulets of life saving if lacking reflection, generally have better armor, more HP, a bag, more random items (1d6 offensive/defensive/misc items instead of 1d3 if lategame), rings, and are likely to get object properties on their equipment. They now get an inventory similar to the ones generated in Astral if they generate in Gehennom, making them a valid source of lategame equipment.
SpliceHack
In SpliceHack, player monsters can be encountered in the Bar.
References
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 151
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 134: special boolean is false outside of the Planes
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 142
- Jump up ↑ src/mondata.c in NetHack 3.6.7, line 1009-L1013
- ↑ Jump up to: 5.0 5.1 5.2 5.3 src/mkobj.c in NetHack 3.6.7, line 1667: mk_tt_object function
- Jump up ↑ src/zap.c in NetHack 3.6.7, line 251: natural shapechangers aren't affected by system shock unless subject to PFSC
- Jump up ↑ src/mon.c in NetHack 3.6.7, line 3493: select_newcham_form function governs random polymorph for shapechangers
- Jump up ↑ src/mkroom.c in NetHack 3.6.7, line 366
- Jump up ↑ src/mkroom.c in NetHack 3.6.7, line 385
- Jump up ↑ src/mkroom.c in NetHack 3.6.7, line 388
- Jump up ↑ src/sp_lev.c in NetHack 3.6.7, line 1985: The code is very cryptic but fortunately has comments
- Jump up ↑ dat/gehennom.des in NetHack 3.6.7, line 75: Priest and monk corpses are excluded, with the comment implying Moloch has a special fate in store for servants of the other gods
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 17
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 71: may also include Adam, Eve, Janet, Maud
- ↑ Jump up to: 15.0 15.1 src/mplayer.c in NetHack 3.6.7, line 120: mk_mplayer function - most of the items are only generated if special boolean is true
- ↑ Jump up to: 16.0 16.1 src/mplayer.c in NetHack 3.6.7, line 149
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 309
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 312
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 315
- ↑ Jump up to: 20.0 20.1 src/mplayer.c in NetHack 3.6.7, line 282
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 304
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 305
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 283
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 299
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 155: Default weapons
- Jump up ↑ src/objects.c in NetHack 3.6.7, line 138-L292
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 270
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 273
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 265
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 277: "mplayers knew better than to overenchant Magicbane"
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 266
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 268
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 164: Role-based replacements start here
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 166
- ↑ Jump up to: 35.0 35.1 src/mplayer.c in NetHack 3.6.7, line 170
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 181
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 189
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 199
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 205
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 213
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 225
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 229
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 233
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 237: "Defaults are just fine"
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 240
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 246
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 96: mk_mplayer_armor function
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 156
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 285
- Jump up ↑ src/objects.c in NetHack 3.6.7, line 378-L389
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 157
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 286
- Jump up ↑ src/objects.c in NetHack 3.6.7, line 454-L474
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 159
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 287
- Jump up ↑ src/objects.c in NetHack 3.6.7, line 339-L363
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 161
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 288
- Jump up ↑ src/objects.c in NetHack 3.6.7, line 479-L490
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 289
- Jump up ↑ src/objects.c in NetHack 3.6.7, line 497-L504
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 294
- Jump up ↑ src/objects.c in NetHack 3.6.7, line 507-L528
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 207
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 217
- ↑ Jump up to: 66.0 66.1 src/mplayer.c in NetHack 3.6.7, line 248: cloak of MR is accompanied by either black or silver DSM
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 174
- ↑ Jump up to: 68.0 68.1 68.2 68.3 src/objects.c in NetHack 3.6.7, line 407-L422: uses standard random generation probabilities
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 201
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 206
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 215
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 242
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 176
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 185
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 193
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 219
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 253
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 195
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 208
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 221
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 255
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 105
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 115: enchantment is independent of beatitude; as the comment above in the code clarifies, cursed positively enchanted armor can occur from run ins with other monsters
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 362
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 380
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 366
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 371
- Jump up ↑ src/mplayer.c in NetHack 3.6.7, line 377