probing vs Schroedinger's Cat (trunk only)
Someone in the newsgroup complained about zapping probing at a large box dropped by a quantum mechanic and being told that it was empty rather than that it held a corpse or live cat. This sidesteps the issue by reporting "the box seems empty" instead of "the box is empty", and not setting its contents-known flag. (That message is the main difference between probing and the assorted other methods of observation [telepathy and monster detection and possibly Warning for live cat, object detection and food detection for dead cat's corpse] which might be expected to trigger the cat's fate but don't.) This also makes probing of self and of monsters set the contents-known and locking-known flags for containers in inventory, same as is done for probing which hits objects. (Display of container contents still only occurs for loose objects, not in inventory.)
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* SCCS Id: @(#)obj.h 3.5 2006/12/14 */
|
||||
/* SCCS Id: @(#)obj.h 3.5 2007/02/17 */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -242,6 +242,7 @@ struct obj {
|
||||
#define Is_box(otmp) (otmp->otyp == LARGE_BOX || otmp->otyp == CHEST)
|
||||
#define Is_mbag(otmp) (otmp->otyp == BAG_OF_HOLDING || \
|
||||
otmp->otyp == BAG_OF_TRICKS)
|
||||
#define SchroedingersBox(o) ((o)->otyp == LARGE_BOX && (o)->spe == 1)
|
||||
|
||||
/* dragon gear */
|
||||
#define Is_dragon_scales(obj) ((obj)->otyp >= GRAY_DRAGON_SCALES && \
|
||||
|
||||
Reference in New Issue
Block a user