From e54760e29d3b2a32733a8e0e1b8695997cc5b543 Mon Sep 17 00:00:00 2001 From: "nethack.allison" Date: Tue, 25 May 2004 02:16:22 +0000 Subject: [PATCH] attribute check timer (trunk only) Move the counter for the next attribute check to the context structure. This increments patchlevel so previous save and bones files are unuseable after applying. --- include/context.h | 1 + include/extern.h | 1 - include/patchlevel.h | 4 ++-- src/allmain.c | 1 + src/attrib.c | 17 ++++------------- src/restore.c | 1 - 6 files changed, 8 insertions(+), 17 deletions(-) diff --git a/include/context.h b/include/context.h index 7bd39978f..dc16cfe13 100644 --- a/include/context.h +++ b/include/context.h @@ -75,6 +75,7 @@ struct context_info { unsigned startingpet_mid; int warnlevel; int djinni_count, ghost_count; /* potion effect tuning */ + long next_attrib_check; /* next attribute check */ long stethoscope_move; short stethoscope_movement; boolean travel; /* find way automatically to u.tx,u.ty */ diff --git a/include/extern.h b/include/extern.h index 2639e73a3..2b4904c28 100644 --- a/include/extern.h +++ b/include/extern.h @@ -95,7 +95,6 @@ E void NDECL(set_moreluck); E void NDECL(restore_attrib); E void FDECL(exercise, (int,BOOLEAN_P)); E void NDECL(exerchk); -E void NDECL(reset_attribute_clock); E void FDECL(init_attr, (int)); E void NDECL(redist_attr); E void FDECL(adjabil, (int,int)); diff --git a/include/patchlevel.h b/include/patchlevel.h index 93222eda3..02d94a126 100644 --- a/include/patchlevel.h +++ b/include/patchlevel.h @@ -1,4 +1,4 @@ -/* SCCS Id: @(#)patchlevel.h 3.4 2004/01/10 */ +/* SCCS Id: @(#)patchlevel.h 3.4 2004/05/24 */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ @@ -13,7 +13,7 @@ * Incrementing EDITLEVEL can be used to force invalidation of old bones * and save files. */ -#define EDITLEVEL 9 +#define EDITLEVEL 10 #define COPYRIGHT_BANNER_A \ "NetHack, Copyright 1985-2004" diff --git a/src/allmain.c b/src/allmain.c index c0183612b..80591b557 100644 --- a/src/allmain.c +++ b/src/allmain.c @@ -489,6 +489,7 @@ newgame() context.ident = 1; context.stethoscope_move = -1L; context.warnlevel = 1; + context.next_attrib_check = 600L; /* arbitrary first setting */ for (i = 0; i < NUMMONS; i++) mvitals[i].mvflags = mons[i].geno & G_NOCORPSE; diff --git a/src/attrib.c b/src/attrib.c index e868edaf9..a2019840b 100644 --- a/src/attrib.c +++ b/src/attrib.c @@ -95,7 +95,6 @@ const struct innate { orc_abil[] = { { 1, &(HPoison_resistance), "", "" }, { 0, 0, 0, 0 } }; -static long next_check = 600L; /* arbitrary first setting */ STATIC_DCL void NDECL(exerper); STATIC_DCL void FDECL(postadjabil, (long *)); @@ -449,11 +448,11 @@ exerchk() exerper(); #ifdef DEBUG - if(moves >= next_check) + if(moves >= context.next_attrib_check) pline("exerchk: ready to test. multi = %d.", multi); #endif /* Are we ready for a test? */ - if(moves >= next_check && !multi) { + if(moves >= context.next_attrib_check && !multi) { #ifdef DEBUG pline("exerchk: testing."); #endif @@ -515,21 +514,13 @@ exerchk() } } } - next_check += rn1(200,800); + context.next_attrib_check += rn1(200,800); #ifdef DEBUG - pline("exerchk: next check at %ld.", next_check); + pline("exerchk: next check at %ld.", context.next_attrib_check); #endif } } -/* next_check will otherwise have its initial 600L after a game restore */ -void -reset_attribute_clock() -{ - if (moves > 600L) next_check = moves + rn1(50,800); -} - - void init_attr(np) register int np; diff --git a/src/restore.c b/src/restore.c index bebd01f7d..76fcbd3b2 100644 --- a/src/restore.c +++ b/src/restore.c @@ -678,7 +678,6 @@ register int fd; inven_inuse(FALSE); load_qtlist(); /* re-load the quest text info */ - reset_attribute_clock(); /* Set up the vision internals, after levl[] data is loaded */ /* but before docrt(). */ vision_reset(); -- 2.40.0