#define HOMEMADE_TIN 5
#define FRENCH_FRIED_TIN 11
#define SPINACH_TIN (-1)
+#define RANDOM_TIN (-2)
/* Flags to control menus */
#define MENUTYPELEN sizeof("traditional ")
schar spe; /* quality of weapon, armor or ring (+ or -)
number of charges for wand ( >= -1 )
- marks your eggs, spinach tins
+ marks your eggs, tin variety and spinach tins
royal coffers for a court ( == 2)
tells which fruit a fruit is
special for uball and amulet
return;
} else if (forcetype >= 0 && forcetype < TTSZ-1) {
r = forcetype;
- } else {
+ } else { /* RANDOM_TIN */
r = rn2(TTSZ-1); /* take your pick */
if (r == ROTTEN_TIN && (obj->corpsenm == PM_LIZARD ||
obj->corpsenm == PM_LICHEN))
r = HOMEMADE_TIN; /* lizards don't rot */
}
- obj->spe = -(r+1);
+ obj->spe = -(r+1); /* offset by 1 to allow index 0 */
}
STATIC_OVL int
r = ROTTEN_TIN; /* always rotten if cursed */
} else if (obj->spe < 0) {
r = -(obj->spe);
- --r;
+ --r; /* get rid of the offset */
} else
r = rn2(TTSZ-1);
if (mons[mndx].cnutrit &&
!(mvitals[mndx].mvflags & G_NOCORPSE)) {
otmp->corpsenm = mndx;
- set_tin_variety(otmp, 0);
+ set_tin_variety(otmp, RANDOM_TIN);
break;
}
}
#endif
ispoisoned = isgreased = eroded = eroded2 = erodeproof =
halfeaten = islit = unlabeled = ishistoric = isdiluted = 0;
- tvariety = -1;
+ tvariety = RANDOM_TIN;
mntmp = NON_PM;
#define UNDEFINED 0
#define EMPTY 1