Clear bypasses at beginning of main loop
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.
This commit is contained in:
@@ -153,6 +153,9 @@ moveloop_core(void)
|
||||
do_positionbar();
|
||||
#endif
|
||||
|
||||
if (g.context.bypasses)
|
||||
clear_bypasses();
|
||||
|
||||
if (g.context.move) {
|
||||
/* actual time passed */
|
||||
g.youmonst.movement -= NORMAL_SPEED;
|
||||
@@ -359,8 +362,6 @@ moveloop_core(void)
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user