issue #1027 - sticky 'nofollowers' flag

Reported by copperwater:  entering the tutorial sets 'u.nofollowers',
changing to the tutorial level saves a copy of 'u', post-level change
from entering the tutorial level resets u.followers, but subsequently
changing levels to return to the original level 1 restores 'u' from
the saved copy with has 'u.nofollowers==True', overriding the reset.

Move the nofollowers flag from 'u' to 'iflags'.  Invalides save and
bones files.

Fixes #1027
This commit is contained in:
PatR
2023-05-25 17:08:53 -07:00
parent 202afc3b55
commit aa63aa8d98
6 changed files with 8 additions and 5 deletions

View File

@@ -519,12 +519,12 @@ maybe_do_tutorial(void)
if (ask_do_tutorial()) {
assign_level(&u.ucamefrom, &u.uz);
u.nofollowers = TRUE;
iflags.nofollowers = TRUE;
schedule_goto(&sp->dlevel, UTOTYPE_NONE, (char *) 0, (char *) 0);
deferred_goto();
vision_recalc(0);
docrt();
u.nofollowers = FALSE;
iflags.nofollowers = FALSE;
}
}