digested; when back in 'V' form, they're vulnerable to such damage
when poly'd into an engulfer which does digestion damage, a kill resulting in
a level gain gave "welcome to level N+1" before "you digest <victim>"
+any corpse eaten by omnivorous hero always tasted "terrible"
+eating the corpse of a unique non-named monster (Wizard of Yendor, Oracle,
+ Chromatic Dragon, others) gave "The the <monster corpse> tastes ..."
Fixes to Post-3.6.0 Problems that Were Exposed Via git Repository
-/* NetHack 3.6 eat.c $NHDT-Date: 1467028559 2016/06/27 11:55:59 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.171 $ */
+/* NetHack 3.6 eat.c $NHDT-Date: 1470272344 2016/08/04 00:59:04 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.172 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
} else if (mnum == PM_FLOATING_EYE && u.umonnum == PM_RAVEN) {
You("peck the eyeball with delight.");
} else {
- /* [is this right? omnivores end up always disliking the taste] */
- boolean yummy = vegan(&mons[mnum])
- ? (!carnivorous(youmonst.data)
- && herbivorous(youmonst.data))
- : (carnivorous(youmonst.data)
- && !herbivorous(youmonst.data));
-
+ /* yummy is always False for omnivores, palatable always True */
+ boolean yummy = (vegan(&mons[mnum])
+ ? (!carnivorous(youmonst.data)
+ && herbivorous(youmonst.data))
+ : (carnivorous(youmonst.data)
+ && !herbivorous(youmonst.data))),
+ palatable = (vegetarian(&mons[mnum])
+ ? herbivorous(youmonst.data)
+ : carnivorous(youmonst.data));
+ const char *pmxnam = food_xname(otmp, FALSE);
+
+ if (!strncmpi(pmxnam, "the ", 4))
+ pmxnam += 4;
pline("%s%s %s!",
type_is_pname(&mons[mnum])
- ? "" : the_unique_pm(&mons[mnum]) ? "The " : "This ",
- food_xname(otmp, FALSE),
+ ? "" : the_unique_pm(&mons[mnum]) ? "The " : "This ",
+ pmxnam,
+ /* tiger reference is to TV ads for "Frosted Flakes",
+ breakfast cereal targeted at kids by "Tony the tiger" */
Hallucination
? (yummy ? ((u.umonnum == PM_TIGER) ? "is gr-r-reat"
: "is gnarly")
- : "is grody")
- : (yummy ? "is delicious" : "tastes terrible"));
+ : palatable ? "is copacetic"
+ : "is grody")
+ : (yummy ? "tastes delicious"
+ : palatable ? "tastes okay"
+ : "tastes terrible"));
}
return retcode;
-/* NetHack 3.6 objnam.c $NHDT-Date: 1462067746 2016/05/01 01:55:46 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.169 $ */
+/* NetHack 3.6 objnam.c $NHDT-Date: 1470272345 2016/08/04 00:59:05 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.177 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
otmp->spe = 0; /* No spinach */
if (dead_species(mntmp, FALSE)) {
otmp->corpsenm = NON_PM; /* it's empty */
- } else if (!(mons[mntmp].geno & G_UNIQ)
+ } else if ((!(mons[mntmp].geno & G_UNIQ) || wizard)
&& !(mvitals[mntmp].mvflags & G_NOCORPSE)
&& mons[mntmp].cnutrit != 0) {
otmp->corpsenm = mntmp;
}
break;
case CORPSE:
- if (!(mons[mntmp].geno & G_UNIQ)
+ if ((!(mons[mntmp].geno & G_UNIQ) || wizard)
&& !(mvitals[mntmp].mvflags & G_NOCORPSE)) {
if (mons[mntmp].msound == MS_GUARDIAN)
mntmp = genus(mntmp, 1);