minor trapped container changes

When probing a trapped container, report that it is trapped.
Done with a one-line message in the zap code and also in the title
of the contents display if it isn't empty.

For wizard mode wishing, if both "trapped" and "broken" are specified,
produce an untrapped container with a broken lock.

Also for wizard mode wishing, ignore "trapped" if player wishes for
"trapped secret door".
This commit is contained in:
PatR
2022-05-06 13:27:11 -07:00
parent 44d5be6eb4
commit a31dd26d8a
3 changed files with 81 additions and 13 deletions

View File

@@ -1,4 +1,4 @@
/* NetHack 3.7 zap.c $NHDT-Date: 1650838839 2022/04/24 22:20:39 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.408 $ */
/* NetHack 3.7 zap.c $NHDT-Date: 1651868824 2022/05/06 20:27:04 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.410 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2013. */
/* NetHack may be freely redistributed. See license for details. */
@@ -2066,6 +2066,11 @@ bhito(struct obj *obj, struct obj *otmp)
obj->dknown = 1;
if (Is_container(obj) || obj->otyp == STATUE) {
obj->cknown = obj->lknown = 1;
/* plural handling here is superfluous because containers
and statues don't stack */
if (obj->otrapped)
pline("%s trapped!", Tobjnam(obj, "are"));
if (!obj->cobj) {
pline("%s empty.", Tobjnam(obj, "are"));
} else if (SchroedingersBox(obj)) {