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.
This commit is contained in:
@@ -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 */
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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;
|
||||
|
||||
17
src/attrib.c
17
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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user