some quest text corrections
use a much tighter upper bound when summoning nasties; old method could
theoretically create 200 critters at a time
+if a long worm inherited inventory from a previous shape, and if an egg or
+ figurine in that inventory hatched or auto-activated, messages were
+ given when hero could see any tail segment even if head was unseen,
+ making it seem as if worm's inventory was kept in the visible segment
Platform- and/or Interface-Specific Fixes
-/* NetHack 3.6 apply.c $NHDT-Date: 1455140802 2016/02/10 21:46:42 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.220 $ */
+/* NetHack 3.6 apply.c $NHDT-Date: 1456526104 2016/02/26 22:35:04 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.221 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
if (mtmp) {
char and_vanish[BUFSZ];
struct obj *mshelter = level.objects[mtmp->mx][mtmp->my];
- Sprintf(monnambuf, "%s", an(m_monnam(mtmp)));
+ Sprintf(monnambuf, "%s", an(m_monnam(mtmp)));
and_vanish[0] = '\0';
if ((mtmp->minvis && !See_invisible)
|| (mtmp->data->mlet == S_MIMIC
case OBJ_MINVENT:
if (cansee_spot && !silent && !suppress_see) {
struct monst *mon;
+
mon = figurine->ocarry;
/* figurine carrying monster might be invisible */
- if (canseemon(figurine->ocarry)) {
+ if (canseemon(figurine->ocarry)
+ && (!mon->wormno || cansee(mon->mx, mon->my)))
Sprintf(carriedby, "%s pack", s_suffix(a_monnam(mon)));
- } else if (is_pool(mon->mx, mon->my))
+ else if (is_pool(mon->mx, mon->my))
Strcpy(carriedby, "empty water");
else
Strcpy(carriedby, "thin air");
-/* NetHack 3.6 timeout.c $NHDT-Date: 1452660198 2016/01/13 04:43:18 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.64 $ */
+/* NetHack 3.6 timeout.c $NHDT-Date: 1456526165 2016/02/26 22:36:05 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.65 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
case OBJ_MINVENT:
if (cansee_hatchspot) {
/* egg carrying monster might be invisible */
- if (canseemon(egg->ocarry)) {
+ mon2 = egg->ocarry;
+ if (canseemon(mon2)
+ && (!mon2->wormno || cansee(mon2->mx, mon2->my))) {
Sprintf(carriedby, "%s pack",
- s_suffix(a_monnam(egg->ocarry)));
+ s_suffix(a_monnam(mon2)));
knows_egg = TRUE;
- } else if (is_pool(mon->mx, mon->my))
+ } else if (is_pool(mon->mx, mon->my)) {
Strcpy(carriedby, "empty water");
- else
+ } else {
Strcpy(carriedby, "thin air");
+ }
You_see("%s %s out of %s!", monnambuf,
locomotion(mon->data, "drop"), carriedby);
}