This commit is contained in:
Eric S. Raymond 2024-09-22 13:08:31 -04:00
parent 20fd7c589f
commit 9c3f4b0c90
2 changed files with 9 additions and 8 deletions

View file

@ -87,11 +87,11 @@
#define PROP_IS_INVALID(val) (val < -MAX_STATE || val > MAX_STATE)
#define OBJECT_IS_STASHED(obj) (game.objects[obj].prop < 0)
#define OBJECT_IS_NOTFOUND(obj) (!game.objects[obj].found)
#define OBJECT_IS_FOUND(obj) \
#define OBJECT_IS_FOUND(obj) \
(game.objects[obj].found && game.objects[obj].prop == 0)
#define OBJECT_IS_STASHED_OR_UNSEEN(obj) \
#define OBJECT_IS_STASHED_OR_UNSEEN(obj) \
(!game.objects[obj].found || game.objects[obj].prop < 0)
#define OBJECT_SET_FOUND(obj) \
#define OBJECT_SET_FOUND(obj) \
do { \
game.objects[obj].found = true; \
game.objects[obj].prop = STATE_FOUND; \

11
main.c
View file

@ -1272,8 +1272,9 @@ static bool do_command(void) {
pspeak(OYSTER, look, true, 1);
}
for (size_t i = 1; i <= NOBJECTS; i++) {
if (TOTING(i) && (OBJECT_IS_NOTFOUND(i) ||
OBJECT_IS_STASHED(i))) {
if (TOTING(i) &&
(OBJECT_IS_NOTFOUND(i) ||
OBJECT_IS_STASHED(i))) {
game.objects[i].prop =
OBJECT_STASHED(i);
}
@ -1282,10 +1283,10 @@ static bool do_command(void) {
/* Check to see if the room is dark. */
game.wzdark = DARK(game.loc);
/* If the knife is not here it permanently disappears.
* Possibly this should fire if the knife is here but
* the room is dark? */
* Possibly this should fire if the knife is here but
* the room is dark? */
if (game.knfloc > LOC_NOWHERE &&
game.knfloc != game.loc) {
game.knfloc = LOC_NOWHERE;