tin identification

Tin handling code used tin->cknown to indicate that the variety
(soup, deep fried, pureed, &c) was known, but neither object
identification nor end of game disclosure was setting cknown for
that type of object.

^I behaves as if cknown is set, so the problem was hidden during
times when anyone was likely to be paying attention.
This commit is contained in:
PatR
2020-07-31 13:14:09 -07:00
parent 3388fd5887
commit 97cc689553
5 changed files with 26 additions and 10 deletions

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 end.c $NHDT-Date: 1583190253 2020/03/02 23:04:13 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.208 $ */
/* NetHack 3.6 end.c $NHDT-Date: 1596226442 2020/07/31 20:14:02 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.210 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2012. */
/* NetHack may be freely redistributed. See license for details. */
@@ -1315,8 +1315,7 @@ int how;
for (obj = g.invent; obj; obj = obj->nobj) {
discover_object(obj->otyp, TRUE, FALSE);
obj->known = obj->bknown = obj->dknown = obj->rknown = 1;
if (Is_container(obj) || obj->otyp == STATUE)
obj->cknown = obj->lknown = 1;
set_cknown_lknown(obj); /* set flags when applicable */
/* we resolve Schroedinger's cat now in case of both
disclosure and dumplog, where the 50:50 chance for
live cat has to be the same both times */