Teleportation

From NetHackWiki
Jump to: navigation, search

Teleportation provides a quick escape to a different (often random) location. Some escape items can teleport you away from monsters. Some monsters can also teleport themselves to flee from you.

Teleportation comes from:

There are three teleport-related properties: teleportitis, which teleports you horizontally at random; teleport control, which lets you choose where teleports land; and teleport at will, which lets you trigger teleportitis to happen whenever you want at a power cost.

Horizontal teleportation almost always move you away from your current position, but there is a very small chance of landing on the exact same square.[1]

Valid destinations

You cannot teleport to a square that is already occupied by a monster,[2] or to one that is considered unsafe for you to occupy.[3] If you try to do so deliberately, with teleport control, you will receive the message Sorry..., and will be teleported randomly instead.[4]

In particular:

  • You also cannot teleport onto lava, unless you have intrinsic levitation.[6] Again, extrinsic levitation isn't enough, and neither is being polymorphed into a fire elemental or a salamander (even though both can be generated in lava).
  • If you're polymorphed into a sea monster, you only have a 1 in 13 chance of successfully teleporting onto dry land.[7]
  • You cannot teleport onto a trap, unless there are no other valid locations to teleport to. (The game will try 200 times to pick a safe location for you before considering trapped locations[8].) In particular, magic portals are considered traps, so you cannot teleport directly onto your quest portal.
  • You cannot teleport into the Wizard's Tower from outside it, nor outside it from the inside.[12]

There is also some code that could prevent the player from teleporting in and out of force fields,[13] but those do not exist in vanilla NetHack 3.4.3.

See also

References

  1. http://groups.google.com/group/rec.games.roguelike.nethack/msg/fd6ff9fff482a512
  2. teleport.c, line 57
  3. teleok in teleport.c
  4. teleport.c, line 444
  5. teleport.c, line 61; for some reason, the code checks for HLevitation, which means intrinsic levitation only, rather than Levitation, which means levitation in general.
  6. teleport.c, line 69
  7. teleport.c, line 67
  8. safe_teleds in teleport.c
  9. teleport.c, line 75; teleport.c, line 77; rm.h, line 32 to line 84
  10. teleport.c, line 81
  11. teleport.c, line 83
  12. tele_jump_ok in teleport.c
  13. teleport.c, line 225, in_out_region in region.c

This page may need to be updated for NetHack 3.6.0.

It may contain text specific to NetHack 3.4.3. Information on this page may be out of date.

Editors: After reviewing this page and making necessary edits, please change the {{nethack-343}} tag to {{nethack-360}} or {{noversion}} as appropriate.