#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 */
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
{
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);
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
}
/* 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) {
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
(void) start_timer(tleft, TIMER_OBJECT, action, (genericptr_t)otmp);
}
-#undef ON_ICE
#undef ROT_ICE_ADJUSTMENT
void