tried to extinguish it as a light source
place_object() validated coordinates after using them to index level.objects
killed rope golem may drop leashes and bullwhips
-using magic portals and level teleporters stuns hero for a few turns
+using magic portals stuns hero for a few turns
+using level teleporters confuses hero without teleport control for a few turns
clear obj->bypass for buried objects [a giant on ice triggers a fire trap,
inventory is subjected to burning and surviving objects have their
bypass bit set, giant is killed by fire trap and drops a boulder and
You("are momentarily blinded by a flash of light.");
else
You("are momentarily disoriented.");
- make_stunned((HStun & TIMEOUT) + 3L, FALSE);
deltrap(trap);
newsym(u.ux, u.uy); /* get rid of trap symbol */
level_tele();
+ /* magic portal traversal causes brief Stun; for level teleport, use
+ confusion instead, and only when hero lacks control; do this after
+ processing the level teleportation attempt because being confused
+ can affect the outcome ("Oops" result) */
+ if (!Teleport_control)
+ make_confused((HConfusion & TIMEOUT) + 3L, FALSE);
}
/* check whether monster can arrive at location <x,y> via Tport (or fall) */
if (trap)
seetrap(trap);
}
- /*
- * Commit 6a65b412 stated "Using magic portals and level teleporters
- * stuns for a few turns. It's taxing to teleport long distances."
- *
- * In keeping with that stated intent, restrict the stunning effect.
- */
- if (is_xport(tt))
- mtmp->mstun = 1;
+ if (is_xport(tt) && !control_teleport(mtmp->data))
+ mtmp->mconf = 1;
migrate_to_level(mtmp, ledger_no(&tolevel), migrate_typ, (coord *) 0);
return Trap_Moved_Mon; /* no longer on this level */
}