more follow-up for container flags
Set cknown and lknown when identifying possessions at game end. Clear cknown and lknown when creating bones.
This commit is contained in:
@@ -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. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985,1993. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* 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;
|
if(objects[otmp->otyp].oc_uses_known) otmp->known = 0;
|
||||||
otmp->dknown = otmp->bknown = 0;
|
otmp->dknown = otmp->bknown = 0;
|
||||||
otmp->rknown = 0;
|
otmp->rknown = 0;
|
||||||
|
otmp->lknown = 0;
|
||||||
|
otmp->cknown = 0;
|
||||||
otmp->invlet = 0;
|
otmp->invlet = 0;
|
||||||
otmp->no_charge = 0;
|
otmp->no_charge = 0;
|
||||||
|
|
||||||
|
|||||||
14
src/end.c
14
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. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
|
|
||||||
@@ -379,6 +379,8 @@ boolean taken;
|
|||||||
for (obj = invent; obj; obj = obj->nobj) {
|
for (obj = invent; obj; obj = obj->nobj) {
|
||||||
makeknown(obj->otyp);
|
makeknown(obj->otyp);
|
||||||
obj->known = obj->bknown = obj->dknown = obj->rknown = 1;
|
obj->known = obj->bknown = obj->dknown = obj->rknown = 1;
|
||||||
|
if (Is_container(obj))
|
||||||
|
obj->cknown = obj->lknown = 1;
|
||||||
}
|
}
|
||||||
(void) display_inventory((char *)0, TRUE);
|
(void) display_inventory((char *)0, TRUE);
|
||||||
container_contents(invent, TRUE, TRUE);
|
container_contents(invent, TRUE, TRUE);
|
||||||
@@ -975,6 +977,7 @@ boolean identified, all_containers;
|
|||||||
if (cat) Schroedingers_cat = TRUE;
|
if (cat) Schroedingers_cat = TRUE;
|
||||||
else deadcat = TRUE;
|
else deadcat = TRUE;
|
||||||
box->spe = 0;
|
box->spe = 0;
|
||||||
|
box->cknown = box->lknown = 1;
|
||||||
}
|
}
|
||||||
if (box->otyp == BAG_OF_TRICKS) {
|
if (box->otyp == BAG_OF_TRICKS) {
|
||||||
continue; /* wrong type of container */
|
continue; /* wrong type of container */
|
||||||
@@ -988,6 +991,8 @@ boolean identified, all_containers;
|
|||||||
makeknown(obj->otyp);
|
makeknown(obj->otyp);
|
||||||
obj->known = obj->bknown =
|
obj->known = obj->bknown =
|
||||||
obj->dknown = obj->rknown = 1;
|
obj->dknown = obj->rknown = 1;
|
||||||
|
if (Is_container(obj))
|
||||||
|
obj->cknown = obj->lknown = 1;
|
||||||
}
|
}
|
||||||
putstr(tmpwin, 0, doname(obj));
|
putstr(tmpwin, 0, doname(obj));
|
||||||
}
|
}
|
||||||
@@ -998,14 +1003,13 @@ boolean identified, all_containers;
|
|||||||
if (all_containers)
|
if (all_containers)
|
||||||
container_contents(box->cobj, identified, TRUE);
|
container_contents(box->cobj, identified, TRUE);
|
||||||
} else {
|
} else {
|
||||||
if (cat || deadcat)
|
if (cat || deadcat) {
|
||||||
pline("%s%s contains Schroedinger's %scat!",
|
pline("%s%s contains Schroedinger's %scat!",
|
||||||
(box->quan > 1) ? "One of the " : "",
|
(box->quan > 1) ? "One of the " : "",
|
||||||
(box->quan > 1) ? xname(box) : upstart(xname(box)),
|
(box->quan > 1) ? xname(box) : upstart(xname(box)),
|
||||||
(deadcat) ? "dead " : "");
|
(deadcat) ? "dead " : "");
|
||||||
else
|
display_nhwindow(WIN_MESSAGE, FALSE);
|
||||||
pline("%s empty.", Tobjnam(box, "are"));
|
}
|
||||||
display_nhwindow(WIN_MESSAGE, FALSE);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!all_containers)
|
if (!all_containers)
|
||||||
|
|||||||
Reference in New Issue
Block a user