From 78a24e8553852041fbd4fda79bb8e517c0ad7d3a Mon Sep 17 00:00:00 2001 From: "nethack.allison" Date: Fri, 17 Dec 2004 13:18:04 +0000 Subject: [PATCH] more follow-up for container flags Set cknown and lknown when identifying possessions at game end. Clear cknown and lknown when creating bones. --- src/bones.c | 4 +++- src/end.c | 14 +++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/bones.c b/src/bones.c index f64a383ce..fd8557b9f 100644 --- a/src/bones.c +++ b/src/bones.c @@ -1,4 +1,4 @@ -/* SCCS Id: @(#)bones.c 3.4 2003/11/29 */ +/* SCCS Id: @(#)bones.c 3.4 2004/12/17 */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985,1993. */ /* NetHack may be freely redistributed. See license for details. */ @@ -84,6 +84,8 @@ boolean restore; if(objects[otmp->otyp].oc_uses_known) otmp->known = 0; otmp->dknown = otmp->bknown = 0; otmp->rknown = 0; + otmp->lknown = 0; + otmp->cknown = 0; otmp->invlet = 0; otmp->no_charge = 0; diff --git a/src/end.c b/src/end.c index 4a3744a83..c88e14c72 100644 --- a/src/end.c +++ b/src/end.c @@ -1,4 +1,4 @@ -/* SCCS Id: @(#)end.c 3.4 2004/08/23 */ +/* SCCS Id: @(#)end.c 3.4 2004/12/17 */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ @@ -379,6 +379,8 @@ boolean taken; for (obj = invent; obj; obj = obj->nobj) { makeknown(obj->otyp); obj->known = obj->bknown = obj->dknown = obj->rknown = 1; + if (Is_container(obj)) + obj->cknown = obj->lknown = 1; } (void) display_inventory((char *)0, TRUE); container_contents(invent, TRUE, TRUE); @@ -975,6 +977,7 @@ boolean identified, all_containers; if (cat) Schroedingers_cat = TRUE; else deadcat = TRUE; box->spe = 0; + box->cknown = box->lknown = 1; } if (box->otyp == BAG_OF_TRICKS) { continue; /* wrong type of container */ @@ -988,6 +991,8 @@ boolean identified, all_containers; makeknown(obj->otyp); obj->known = obj->bknown = obj->dknown = obj->rknown = 1; + if (Is_container(obj)) + obj->cknown = obj->lknown = 1; } putstr(tmpwin, 0, doname(obj)); } @@ -998,14 +1003,13 @@ boolean identified, all_containers; if (all_containers) container_contents(box->cobj, identified, TRUE); } else { - if (cat || deadcat) + if (cat || deadcat) { pline("%s%s contains Schroedinger's %scat!", (box->quan > 1) ? "One of the " : "", (box->quan > 1) ? xname(box) : upstart(xname(box)), (deadcat) ? "dead " : ""); - else - pline("%s empty.", Tobjnam(box, "are")); - display_nhwindow(WIN_MESSAGE, FALSE); + display_nhwindow(WIN_MESSAGE, FALSE); + } } } if (!all_containers) -- 2.40.0