From: nethack.allison Date: Tue, 28 Oct 2003 04:14:01 +0000 (+0000) Subject: tin variety followup (trunk only) X-Git-Tag: MOVE2GIT~1624 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4c0d380e68914e5b78c1d8ca439774279def217d;p=nethack tin variety followup (trunk only) --- diff --git a/include/hack.h b/include/hack.h index 784568a80..5d7f91d47 100644 --- a/include/hack.h +++ b/include/hack.h @@ -257,6 +257,7 @@ NEARDATA extern coord bhitpos; /* place where throw or zap hits or stops */ #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 ") diff --git a/include/obj.h b/include/obj.h index bc4e63675..477fa8b1c 100644 --- a/include/obj.h +++ b/include/obj.h @@ -30,7 +30,7 @@ struct obj { 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 diff --git a/src/eat.c b/src/eat.c index 7bfa30d7d..3588b6b1a 100644 --- a/src/eat.c +++ b/src/eat.c @@ -1008,13 +1008,13 @@ int forcetype; 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 @@ -1027,7 +1027,7 @@ struct obj *obj; 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); diff --git a/src/mkobj.c b/src/mkobj.c index b24582829..f34c8e3da 100644 --- a/src/mkobj.c +++ b/src/mkobj.c @@ -431,7 +431,7 @@ boolean artif; if (mons[mndx].cnutrit && !(mvitals[mndx].mvflags & G_NOCORPSE)) { otmp->corpsenm = mndx; - set_tin_variety(otmp, 0); + set_tin_variety(otmp, RANDOM_TIN); break; } } diff --git a/src/objnam.c b/src/objnam.c index 3f5cf20a0..36d964b5c 100644 --- a/src/objnam.c +++ b/src/objnam.c @@ -1802,7 +1802,7 @@ boolean from_user; #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