From: nethack.allison Date: Tue, 25 May 2004 02:16:22 +0000 (+0000) Subject: attribute check timer (trunk only) X-Git-Tag: MOVE2GIT~1465 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e54760e29d3b2a32733a8e0e1b8695997cc5b543;p=nethack 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. --- 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();