wand of stasis when off level
Account for the time spent on other levels for wand of stasis Resolves #1608
This commit is contained in:
+1
-1
@@ -2755,7 +2755,7 @@ void restore_gamelog(NHFILE *);
|
|||||||
boolean restgamestate(NHFILE *);
|
boolean restgamestate(NHFILE *);
|
||||||
void restore_msghistory(NHFILE *);
|
void restore_msghistory(NHFILE *);
|
||||||
#endif
|
#endif
|
||||||
extern void rest_adjust_levelflags(void);
|
extern void rest_adjust_levelflags(long);
|
||||||
extern void moves_to_relative_time(long *);
|
extern void moves_to_relative_time(long *);
|
||||||
extern void relative_time_to_moves(long *);
|
extern void relative_time_to_moves(long *);
|
||||||
extern boolean revision_increment(int, int, uchar *);
|
extern boolean revision_increment(int, int, uchar *);
|
||||||
|
|||||||
+4
-2
@@ -1140,7 +1140,7 @@ getlev(NHFILE *nhfp, int pid, xint8 lev)
|
|||||||
Sfi_dest_area(nhfp, &svu.updest, "lev-updest");
|
Sfi_dest_area(nhfp, &svu.updest, "lev-updest");
|
||||||
Sfi_dest_area(nhfp, &svd.dndest, "lev-dndest");
|
Sfi_dest_area(nhfp, &svd.dndest, "lev-dndest");
|
||||||
Sfi_levelflags(nhfp, &svl.level.flags, "lev-level_flags");
|
Sfi_levelflags(nhfp, &svl.level.flags, "lev-level_flags");
|
||||||
rest_adjust_levelflags();
|
rest_adjust_levelflags(elapsed);
|
||||||
if (svd.doors) {
|
if (svd.doors) {
|
||||||
free(svd.doors);
|
free(svd.doors);
|
||||||
svd.doors = 0;
|
svd.doors = 0;
|
||||||
@@ -1348,11 +1348,13 @@ getlev(NHFILE *nhfp, int pid, xint8 lev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
rest_adjust_levelflags(void)
|
rest_adjust_levelflags(long elapsed)
|
||||||
{
|
{
|
||||||
/* adjust timestamps */
|
/* adjust timestamps */
|
||||||
relative_time_to_moves(&svl.level.flags.stasis_until);
|
relative_time_to_moves(&svl.level.flags.stasis_until);
|
||||||
|
svl.level.flags.stasis_until -= elapsed;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
moves_to_relative_time(long *timestamp)
|
moves_to_relative_time(long *timestamp)
|
||||||
{
|
{
|
||||||
|
|||||||
+1
-1
@@ -529,7 +529,7 @@ savelev_core(NHFILE *nhfp, xint8 lev)
|
|||||||
Sfo_dest_area(nhfp, &svd.dndest, "lev-dndest");
|
Sfo_dest_area(nhfp, &svd.dndest, "lev-dndest");
|
||||||
save_adjust_levelflags();
|
save_adjust_levelflags();
|
||||||
Sfo_levelflags(nhfp, &svl.level.flags, "lev-level_flags");
|
Sfo_levelflags(nhfp, &svl.level.flags, "lev-level_flags");
|
||||||
rest_adjust_levelflags();
|
rest_adjust_levelflags(0L);
|
||||||
|
|
||||||
Sfo_int(nhfp, &svd.doors_alloc, "lev-doors_alloc");
|
Sfo_int(nhfp, &svd.doors_alloc, "lev-doors_alloc");
|
||||||
/* don't rely on underlying write() behavior to write
|
/* don't rely on underlying write() behavior to write
|
||||||
|
|||||||
Reference in New Issue
Block a user