From 90c03c2f0a8cb511ecb991232a6a5c7a5aa823f5 Mon Sep 17 00:00:00 2001 From: cohrs Date: Thu, 12 Jun 2003 04:49:09 +0000 Subject: [PATCH] corpses on ice use of obj recharged field A while back, I noticed that there was a custom use of the obj->recharged flag in mkobj.c for tracking corpses on ice. It's much more obvious for those of us that don't have the entire source base memorized to follow the usual convention of adding a #define to obj.h. That's what this change does. --- include/obj.h | 1 + src/mkobj.c | 10 ++++------ 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/include/obj.h b/include/obj.h index 6b3f5798f..265a6aafb 100644 --- a/include/obj.h +++ b/include/obj.h @@ -78,6 +78,7 @@ struct obj { #define opoisoned otrapped /* object (weapon) is coated with poison */ Bitfield(recharged,3); /* number of times it's been recharged */ +#define on_ice recharged /* corpse on ice */ Bitfield(lamplit,1); /* a light-source -- can be lit */ #ifdef INVISIBLE_OBJECTS Bitfield(oinvis,1); /* invisible */ diff --git a/src/mkobj.c b/src/mkobj.c index ad6a2ebe1..15b9380ba 100644 --- a/src/mkobj.c +++ b/src/mkobj.c @@ -1119,7 +1119,6 @@ int x, y; if (otmp->timed) obj_timer_checks(otmp, x, y, 0); } -#define ON_ICE(a) ((a)->recharged) #define ROT_ICE_ADJUSTMENT 2 /* rotting on ice takes 2 times as long */ /* If ice was affecting any objects correct that now @@ -1157,7 +1156,7 @@ struct obj *otmp; { long age, retval = otmp->age; - if (otmp->otyp == CORPSE && ON_ICE(otmp)) { + if (otmp->otyp == CORPSE && otmp->on_ice) { /* Adjust the age; must be same as obj_timer_checks() for off ice*/ age = monstermoves - otmp->age; retval = otmp->age + (age / ROT_ICE_ADJUSTMENT); @@ -1195,7 +1194,7 @@ int force; /* 0 = no force so do checks, <0 = force off, >0 force on */ tleft = tleft - monstermoves; /* mark the corpse as being on ice */ - ON_ICE(otmp) = 1; + otmp->on_ice = 1; #ifdef DEBUG_EFFECTS pline("%s is now on ice at %d,%d.", The(xname(otmp)),x,y); #endif @@ -1209,7 +1208,7 @@ int force; /* 0 = no force so do checks, <0 = force off, >0 force on */ } /* Check for corpses coming off ice */ else if ((force < 0) || - (otmp->otyp == CORPSE && ON_ICE(otmp) && + (otmp->otyp == CORPSE && otmp->on_ice && ((on_floor && !is_ice(x,y)) || !on_floor))) { tleft = stop_timer(action, (genericptr_t)otmp); if (tleft == 0L) { @@ -1220,7 +1219,7 @@ int force; /* 0 = no force so do checks, <0 = force off, >0 force on */ long age; tleft = tleft - monstermoves; - ON_ICE(otmp) = 0; + otmp->on_ice = 0; #ifdef DEBUG_EFFECTS pline("%s is no longer on ice at %d,%d.", The(xname(otmp)),x,y); #endif @@ -1237,7 +1236,6 @@ int force; /* 0 = no force so do checks, <0 = force off, >0 force on */ (void) start_timer(tleft, TIMER_OBJECT, action, (genericptr_t)otmp); } -#undef ON_ICE #undef ROT_ICE_ADJUSTMENT void -- 2.40.0