Sleep

From NetHackWiki
Jump to navigation Jump to search
For the trap that inflicts sleep via gas (not to be confused with the sleep gas breath weapon), see sleeping gas trap.

Sleep is a status condition that occurs in NetHack, and can affect both the hero and monsters, rendering them immobile and unconscious for several turns.

Description

Sleep can be inflicted by various items and attacks, and some monsters may even be generated asleep.

A hero that is asleep cannot move for the duration of the status, and their normal rate of nutrition burn (i.e. not counting ring hunger, voracious hunger, or extra hunger from conflict and regeneration) is decreased by 910.[1] A monster attacking the hero has a 110 chance per attack of waking them up.[2] While the hero is asleep, "You hear" in sound-related messages is replaced with "You dream that you hear":

You dream that you hear some noises in the distance.

A monster that is asleep cannot attack and will be rendered immobile for a maximum of 127 turns—[3][4]a monster that is put to sleep in the middle of their attack routine will have it aborted.[5] If a monster holding the hero in some manner is put to sleep, their grip will relax and let the hero free.[6] A hero attacking a sleeping monster will gain a +2 to-hit bonus, but attacking will wake the monster up if they were not put to sleep by magic or by an attack.[7][8] This also applies to the hero's blinding venom and cream pies that hit them, but not to active gaze attacks, which are completely ineffective if the monster cannot see.[9][10] A lawful Knight attacking a sleeping monster takes a -1 penalty to alignment record.[11] The flash of an expensive camera will awaken a sleeping monster with no other effects.[12]

If a sleeping monster is attacked by another monster, they have a 4-point penalty applied to their AC, but will also wake up unless the sleep was applied through magic or an attack.[13] Sleeping shades that are attacked under these conditions will wake up even if they were unaffected by the attack.[14] If a sleeping monster is displaced by another attacking monster, they will always be woken up regardless of how they fell asleep.[15]

Monster generation

More than a few monster types are created asleep, either at level creation or when generated independently, with the exception of bones:

Monsters that are generated asleep will remain so until they are attacked, are awakened by a source of noise, or else wake up with a chance that occurs each time the hero or one of their pets moves without stealth:[21][22] by default, the hero has a 17 chance of awakening a sleeping monster on each move if they are in the monster's direct line of sight, their position is within a 10-square radius of the monster, and the monster is not imitating furniture or an object (e.g. they are a cloaked mimic).[23][24] A hero that has aggravate monster, or else is walking near a sleeping canine, human or elf will wake that sleeping monster immediately unless they also have stealth.[25]

Nymphs, jabberwocks and leprechauns are not as easily disturbed, and have a 150 chance of waking up on each move if all other conditions apply, i.e. they have a 1350 chance of being awakened if the hero does not aggravate monsters[26]—conversely, an ettin ignores stealth 910 of the time.[27]

Sleep sources

Various items and obstacles can cause the hero or monsters to fall asleep:

Some monsters also have sleep-inducing attacks, which use the AD_SLEE damage type flag:

Note that though the breath weapon is described as a "blast of sleep gas", it is the same as the ray from a wand of sleep or the sleep spell and does not behave like the gas from a sleeping gas trap.

Resisting sleep

Sleep resistance is a property that prevents the hero or a monster from falling asleep by any means.

Free action protects the hero against sleep from potions of sleeping.[33][34]

Strategy

Sleep can be an overwhelmingly powerful tool to have access to in the early stages of the game, where it can trivialize combat against otherwise-overwhelming monsters as often as it can spell the hero's doom if they are put to sleep long enough.

History

Sleep as a status property first appears in Hack 1.21 and Hack for PDP-11, which are based on Jay Fenlason's Hack, and is also included in Hack 1.0.

The slowed nutrition drain while the hero is asleep is introduced in NetHack 3.6.1 via commit 43df8c01.

Messages

You are put to sleep <by the monster>!
A monster put you to sleep with its melee attack, with the monster's identity omitted if you are blind and cannot see them.

Variants

Variants of NetHack often add several other sources of sleep, including various attacks.

Encyclopedia entry

Sleep is a death; oh, make me try
By sleeping, what it is to die,
And as gently lay my head
On my grave, as now my bed.

[ Religio Medici, by Sir Thomas Browne ]

References

  1. Jump up src/eat.c in NetHack 3.6.7, line 2799
  2. Jump up src/mhitu.c in NetHack 3.6.7, line 801
  3. Jump up src/mhitm.c in NetHack 3.6.7, line 301
  4. Jump up src/mhitm.c in NetHack 3.6.7, line 1507: sleep_monst function
  5. Jump up src/mhitm.c in NetHack 3.6.7, line 526
  6. Jump up src/mhitm.c in NetHack 3.6.7, line 1530: slept_monst function
  7. Jump up src/uhitm.c in NetHack 3.6.7, line 281
  8. Jump up src/uhitm.c in NetHack 3.6.7, line 285
  9. Jump up src/uhitm.c in NetHack 3.6.7, line 1000
  10. Jump up src/mhitm.c in NetHack 3.6.7, line 661
  11. Jump up src/uhitm.c in NetHack 3.6.7, line 243
  12. Jump up src/uhitm.c in NetHack 3.6.7, line 301
  13. Jump up src/mhitm.c in NetHack 3.6.7, line 313
  14. Jump up src/uhitm.c in NetHack 3.6.7, line 1393: end of shade_miss function; youdef is used since shades are nopoly
  15. Jump up src/mhitm.c in NetHack 3.6.7, line 225
  16. Jump up src/makemon.c in NetHack 3.6.7, line 1259
  17. Jump up src/makemon.c in NetHack 3.6.7, line 1262
  18. Jump up src/makemon.c in NetHack 3.6.7, line 1262
  19. Jump up src/makemon.c in NetHack 3.6.7, line 255: throne room ruler is placed independently
  20. Jump up src/mkroom.c in NetHack 3.6.7, line 345: many special room mons are created asleep
  21. Jump up src/uhitm.c in NetHack 3.6.7, line 2343
  22. Jump up src/monmove.c in NetHack 3.6.7, line 209
  23. Jump up src/monmove.c in NetHack 3.6.7, line 224
  24. Jump up src/monmove.c in NetHack 3.6.7, line 234
  25. Jump up src/monmove.c in NetHack 3.6.7, line 232
  26. Jump up src/monmove.c in NetHack 3.6.7, line 226
  27. Jump up src/monmove.c in NetHack 3.6.7, line 225
  28. Jump up src/mhitu.c in NetHack 3.6.7, line 1104
  29. Jump up src/mhitm.c in NetHack 3.6.7, line 1177
  30. Jump up src/mhitm.c in NetHack 3.6.7, line 1967
  31. Jump up src/zap.c in NetHack 3.6.7, line 3811
  32. Jump up src/zap.c in NetHack 3.6.7, line 4199
  33. Jump up src/potion.c in NetHack 3.6.7, line 809
  34. Jump up src/potion.c in NetHack 3.6.7, line 1727