Object bypass flag is used to check if an object was already
handled in an iteration loop, in cases where the linked list order
may change during iteration. The flags should never stay set
past a turn, if any were used.
Reset the bypass flags at the beginning of the main loop, without
checking g.context.move -flag; that flag gets reset if hero lifesaved.
do_positionbar();
#endif
+ if (g.context.bypasses)
+ clear_bypasses();
+
if (g.context.move) {
/* actual time passed */
g.youmonst.movement -= NORMAL_SPEED;
if (iflags.hilite_delta)
status_eval_next_unhilite();
#endif
- if (g.context.bypasses)
- clear_bypasses();
if (g.moves >= g.context.seer_turn) {
if ((u.uhave.amulet || Clairvoyant) && !In_endgame(&u.uz)
&& !BClairvoyant)