Deferred features

From NetHackWiki
Revision as of 08:57, 17 May 2013 by Bulwersator (talk | contribs) (Other features: additional monsters)
Jump to navigation Jump to search

The NetHack source contains code for several currently unimplemented features. Some of them are marked deferred, so they may or may not make it into the next version. Many of the following features are included in SLASH'EM.

Monsters

The beholder (e):[1] a type of floating eye (in fact many eyes on stalks coming out of an even bigger eye; derived from Dungeons & Dragons) with 5 gaze attacks: slowing, sleep, disintegration, stoning, and cancellation.

Depending on how the gaze attacks work (none of them are coded yet), the beholder could be an exceptionally nasty enemy.

The shimmering dragon (D):[2] This would leave shimmering dragon scales and let you create shimmering dragon scale mail, which would confer displacement. Monster displacement is not yet implemented, which may be why this dragon is not yet present. There would be corresponding baby shimmering dragons.

The vorpal jabberwock (J):[3] A tougher type of jabberwock (level 20 vs level 15), enabled in UnNetHack.

The vampire mage (V):[4] The next step up from a vampire lord, with spellcasting abilities.

Charon

Charon (@) and Cerberus are present in the source code[5][6] if CHARON is defined, but even if it is, they are both unique monsters which are not placed by any current map. Charon is a very high level peaceful human who, if true to his name's mythology, will ferry the player across the also-yet-to-be-implemented river Acheron/Styx for a fee.

Cerberus is a very high level dog who is tangentially related to Charon in Greek mythology, as the guardian of the gates to Hades. In the SLethe patch, he appears on the final level of the Lethe Gorge.

Objects

The spellbook of flame sphere[7] and spellbook of freeze sphere[8]: creates a tame flaming/freezing sphere which will eventually explode at hostile monsters. These spells are fully implemented into SLASH'EM and are starting objects for flame mages and ice mages respectively.

Reading a cursed spellbook could curse random inventory items [9] if it were of level 8 or higher. No such spellbooks currently exist.

There are comments in the source hinting at copper coins and silver coins.[10][11][12]

A special artifact attack of magic missiles (analogous to Fire Brand's fire, Frost Brand's cold, and Mjollnir's lightning), has been implemented.[13] The weapon's description, most likely a placeholder, is "imaginary widget".

Burying

There is code for "burying" both you and monsters ("The floor opens up and swallows <monster>!"). You can be buried, and stay alive for a while (eventually suffocating), and you have the opportunity to tunnel out.[14]

Other features

There is code that gives a 1 in 25 chance of applied bullwhips yanking a monster's weapon away from it, and it hitting you.[15]

There is code that lets monsters use scrolls of fire as a last-resort offense.[16]

There is code for creating force fields over an area of the map.[17]

There is a hint that randomising the order of the elemental planes is a possibility.[18] Some variants implement this, including UnNetHack and GruntHack.

There is code to give elves a luck penalty for wielding cold iron.[19]

There are hero attributes nv_range and xray_range which suggest intrinsic night vision and x-ray vision may be implemented one day.[20]

The code for snagging shop inventory from outside the shop (currently requires a grappling hook) has a comment mentioning the possibility of telekinesis.[21] This is partially coded in several functions to do with picking up items.[22] [23][24]

There is a very slight hint that deafness[25] (using the soundok flag[26]) may be implemented.

There is code regarding invisible objects.[27]

Drain energy attack is assigned to energy vortex but as there is no code to handle it in gulpmu and gulpum functions it have no effects.

According to definition in monst.c eating footrice and some other monsters should convey stoning resistance, but this is not implemented[28][29][30][31][32][33][34][35][36][37][38][39][40].

See also

  • Defunct features: Features that have been present in some previous version of NetHack but have since been removed.

References

  1. monst.c in NetHack 3.4.3, line 351
  2. monst.c in NetHack 3.4.3, line 1276
  3. monst.c in NetHack 3.4.3, line 1585
  4. monst.c in NetHack 3.4.3, line 2010
  5. monst.c in NetHack 3.4.3, line 2501
  6. monst.c in NetHack 3.4.3, line 302
  7. objects.c in NetHack 3.4.3, line 836
  8. objects.c in NetHack 3.4.3, line 837
  9. spell.c in NetHack 3.4.3, line 170
  10. makemon.c in NetHack 3.4.3, line 474
  11. shk.c in NetHack 3.4.3, line 81
  12. objnam.c in NetHack 3.4.3, line 2083
  13. artifact.c in NetHack 3.4.3, line 1000
  14. dig.c in NetHack 3.4.3, line 1456
  15. apply.c in NetHack 3.4.3, line 2288
  16. muse.c in NetHack 3.4.3, line 1083
  17. region.c in NetHack 3.4.3, line 803
  18. topten.c in NetHack 3.4.3, line 113
  19. wield.c in NetHack 3.4.3, line 183
  20. you.h in NetHack 3.4.3, line 178
  21. shk.c in NetHack 3.4.3, line 441
  22. pickup.c in NetHack 3.4.3, line 978
  23. pickup.c in NetHack 3.4.3, line 1142
  24. pickup.c in NetHack 3.4.3, line 1238
  25. apply.c in NetHack 3.4.3, line 215
  26. flag.h in NetHack 3.4.3, line 78
  27. obj.h in NetHack 3.4.3, line 83
  28. monst.c in NetHack 3.4.3, line 147
  29. monst.c in NetHack 3.4.3, line 184
  30. monst.c in NetHack 3.4.3, line 176
  31. monst.c in NetHack 3.4.3, line 426
  32. monst.c in NetHack 3.4.3, line 433
  33. monst.c in NetHack 3.4.3, line 1349
  34. monst.c in NetHack 3.4.3, line 1423
  35. monst.c in NetHack 3.4.3, line 1744
  36. monst.c in NetHack 3.4.3, line 1774
  37. monst.c in NetHack 3.4.3, line 2063
  38. monst.c in NetHack 3.4.3, line 2477
  39. monst.c in NetHack 3.4.3, line 2879
  40. monst.c in NetHack 3.4.3, line 3220