Teleportation comes from:
- ring of teleportation
- scroll of teleportation
- spellbook of teleport away
- wand of teleportation
- teleport trap
- quantum mechanic attack
- cursed spellbook, especially low-level ones
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.
You cannot teleport to a square that is already occupied by a monster, or to one that is considered unsafe for you to occupy. If you try to do so deliberately, with teleport control, you will receive the message Sorry..., and will be teleported randomly instead.
- You cannot teleport into water unless you're polymorphed into a flying, swimming or amphibious monster, or have water walking, magical breathing or intrinsic levitation. Due to what may be a bug, extrinsic levitation (from the boots or ring of levitation) does not count.
- You also cannot teleport onto lava, unless you have intrinsic levitation. 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.
- 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.) In particular, magic portals are considered traps, so you cannot teleport directly onto your quest portal.
- Only phasing monsters can teleport into solid rock, into walls, trees, iron bars or a raised drawbridge, or into a secret door or a secret corridor. Teleporting onto a closed door is only possible for phasing or amorphous monsters, and only giants and phasing monsters can teleport onto boulders.
- teleport.c, line 57
- teleok in teleport.c
- teleport.c, line 444
- 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.
- teleport.c, line 69
- teleport.c, line 67
- safe_teleds in teleport.c
- teleport.c, line 75; teleport.c, line 77; rm.h, line 32 to line 84
- teleport.c, line 81
- teleport.c, line 83
- tele_jump_ok in teleport.c
- teleport.c, line 225, in_out_region in region.c