Player monster

From NetHackWiki
(Redirected from Yeoman (player monster))
Jump to navigation Jump to search

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:

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 47 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 15 chance of generating the corpse of a named player monster on each square.[5][8]
  • A cockatrice nest has a 13 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]

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 12 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 13 chance of the weapon(s) being erosion-proofed, and otherwise there is a 12 chance (effectively 13 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: 13 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]

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
  • Suits
  • 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
    • Barbarian: random shield (43.75%) or nothing (56.25%)[35]
    • Healer: random shield (43.75%) or nothing (56.25%)[78]
    • Monk: random shield (43.75%) or nothing (56.25%)[79]
    • Priest(ess): random shield (43.75%) or nothing (56.25%)[80]
    • Wizard: no shield[81]

Armor generated this way has a 13 chance of being erosion-proofed, a separate 13 chance of being blessed, and a separate 13 chance of being cursed.[82] The armor's enchantment has a 35 chance of ranging from +0 to +4, a 310 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:

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

  1. Jump up src/mplayer.c in NetHack 3.6.7, line 151
  2. Jump up src/mplayer.c in NetHack 3.6.7, line 134: special boolean is false outside of the Planes
  3. Jump up src/mplayer.c in NetHack 3.6.7, line 142
  4. Jump up src/mondata.c in NetHack 3.6.7, line 1009-L1013
  5. 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
  6. Jump up src/zap.c in NetHack 3.6.7, line 251: natural shapechangers aren't affected by system shock unless subject to PFSC
  7. Jump up src/mon.c in NetHack 3.6.7, line 3493: select_newcham_form function governs random polymorph for shapechangers
  8. Jump up src/mkroom.c in NetHack 3.6.7, line 366
  9. Jump up src/mkroom.c in NetHack 3.6.7, line 385
  10. Jump up src/mkroom.c in NetHack 3.6.7, line 388
  11. Jump up src/sp_lev.c in NetHack 3.6.7, line 1985: The code is very cryptic but fortunately has comments
  12. 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
  13. Jump up src/mplayer.c in NetHack 3.6.7, line 17
  14. Jump up src/mplayer.c in NetHack 3.6.7, line 71: may also include Adam, Eve, Janet, Maud
  15. 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
  16. Jump up to: 16.0 16.1 src/mplayer.c in NetHack 3.6.7, line 149
  17. Jump up src/mplayer.c in NetHack 3.6.7, line 309
  18. Jump up src/mplayer.c in NetHack 3.6.7, line 312
  19. Jump up src/mplayer.c in NetHack 3.6.7, line 315
  20. Jump up to: 20.0 20.1 src/mplayer.c in NetHack 3.6.7, line 282
  21. Jump up src/mplayer.c in NetHack 3.6.7, line 304
  22. Jump up src/mplayer.c in NetHack 3.6.7, line 305
  23. Jump up src/mplayer.c in NetHack 3.6.7, line 283
  24. Jump up src/mplayer.c in NetHack 3.6.7, line 299
  25. Jump up src/mplayer.c in NetHack 3.6.7, line 155: Default weapons
  26. Jump up src/objects.c in NetHack 3.6.7, line 138-L292
  27. Jump up src/mplayer.c in NetHack 3.6.7, line 270
  28. Jump up src/mplayer.c in NetHack 3.6.7, line 273
  29. Jump up src/mplayer.c in NetHack 3.6.7, line 265
  30. Jump up src/mplayer.c in NetHack 3.6.7, line 277: "mplayers knew better than to overenchant Magicbane"
  31. Jump up src/mplayer.c in NetHack 3.6.7, line 266
  32. Jump up src/mplayer.c in NetHack 3.6.7, line 268
  33. Jump up src/mplayer.c in NetHack 3.6.7, line 164: Role-based replacements start here
  34. Jump up src/mplayer.c in NetHack 3.6.7, line 166
  35. Jump up to: 35.0 35.1 src/mplayer.c in NetHack 3.6.7, line 170
  36. Jump up src/mplayer.c in NetHack 3.6.7, line 181
  37. Jump up src/mplayer.c in NetHack 3.6.7, line 189
  38. Jump up src/mplayer.c in NetHack 3.6.7, line 199
  39. Jump up src/mplayer.c in NetHack 3.6.7, line 205
  40. Jump up src/mplayer.c in NetHack 3.6.7, line 213
  41. Jump up src/mplayer.c in NetHack 3.6.7, line 225
  42. Jump up src/mplayer.c in NetHack 3.6.7, line 229
  43. Jump up src/mplayer.c in NetHack 3.6.7, line 233
  44. Jump up src/mplayer.c in NetHack 3.6.7, line 237: "Defaults are just fine"
  45. Jump up src/mplayer.c in NetHack 3.6.7, line 240
  46. Jump up src/mplayer.c in NetHack 3.6.7, line 246
  47. Jump up src/mplayer.c in NetHack 3.6.7, line 96: mk_mplayer_armor function
  48. Jump up src/mplayer.c in NetHack 3.6.7, line 156
  49. Jump up src/mplayer.c in NetHack 3.6.7, line 285
  50. Jump up src/objects.c in NetHack 3.6.7, line 378-L389
  51. Jump up src/mplayer.c in NetHack 3.6.7, line 157
  52. Jump up src/mplayer.c in NetHack 3.6.7, line 286
  53. Jump up src/objects.c in NetHack 3.6.7, line 454-L474
  54. Jump up src/mplayer.c in NetHack 3.6.7, line 159
  55. Jump up src/mplayer.c in NetHack 3.6.7, line 287
  56. Jump up src/objects.c in NetHack 3.6.7, line 339-L363
  57. Jump up src/mplayer.c in NetHack 3.6.7, line 161
  58. Jump up src/mplayer.c in NetHack 3.6.7, line 288
  59. Jump up src/objects.c in NetHack 3.6.7, line 479-L490
  60. Jump up src/mplayer.c in NetHack 3.6.7, line 289
  61. Jump up src/objects.c in NetHack 3.6.7, line 497-L504
  62. Jump up src/mplayer.c in NetHack 3.6.7, line 294
  63. Jump up src/objects.c in NetHack 3.6.7, line 507-L528
  64. Jump up src/mplayer.c in NetHack 3.6.7, line 207
  65. Jump up src/mplayer.c in NetHack 3.6.7, line 217
  66. 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
  67. Jump up src/mplayer.c in NetHack 3.6.7, line 174
  68. 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
  69. Jump up src/mplayer.c in NetHack 3.6.7, line 201
  70. Jump up src/mplayer.c in NetHack 3.6.7, line 206
  71. Jump up src/mplayer.c in NetHack 3.6.7, line 215
  72. Jump up src/mplayer.c in NetHack 3.6.7, line 242
  73. Jump up src/mplayer.c in NetHack 3.6.7, line 176
  74. Jump up src/mplayer.c in NetHack 3.6.7, line 185
  75. Jump up src/mplayer.c in NetHack 3.6.7, line 193
  76. Jump up src/mplayer.c in NetHack 3.6.7, line 219
  77. Jump up src/mplayer.c in NetHack 3.6.7, line 253
  78. Jump up src/mplayer.c in NetHack 3.6.7, line 195
  79. Jump up src/mplayer.c in NetHack 3.6.7, line 208
  80. Jump up src/mplayer.c in NetHack 3.6.7, line 221
  81. Jump up src/mplayer.c in NetHack 3.6.7, line 255
  82. Jump up src/mplayer.c in NetHack 3.6.7, line 105
  83. 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
  84. Jump up src/mplayer.c in NetHack 3.6.7, line 362
  85. Jump up src/mplayer.c in NetHack 3.6.7, line 380
  86. Jump up src/mplayer.c in NetHack 3.6.7, line 366
  87. Jump up src/mplayer.c in NetHack 3.6.7, line 371
  88. Jump up src/mplayer.c in NetHack 3.6.7, line 377