From: Eric S. Raymond Date: Tue, 25 Jun 2024 17:23:21 +0000 (-0400) Subject: Fix GitLab issue #69: repeated knive caveat message X-Git-Tag: 1.19~3 X-Git-Url: https://jxself.org/git/?a=commitdiff_plain;h=bd499dc53276f28994b7ffc833fb8499fb05c5eb;p=open-adventure.git Fix GitLab issue #69: repeated knive caveat message --- diff --git a/NEWS.adoc b/NEWS.adoc index 624f6ce..28dd018 100644 --- a/NEWS.adoc +++ b/NEWS.adoc @@ -2,6 +2,9 @@ // SPDX-FileCopyrightText: (C) Eric S. Raymond // SPDX-License-Identifier: CC-BY-4.0 +Repository head:: + Ensore that the KNIVES_VANISH message can't issue twice. + 1.18: 2024-02-15:: Bring the manual page fully up to date. diff --git a/main.c b/main.c index 7f5d8a1..6d904f2 100644 --- a/main.c +++ b/main.c @@ -1280,11 +1280,13 @@ static bool do_command(void) { } } - /* Check to see if the room is dark. If the knife is - * here, and it's dark, the knife permanently disappears - */ + /* Check to see if the room is dark. */ game.wzdark = DARK(game.loc); - if (game.knfloc != LOC_NOWHERE && + + /* If the knife is not here it permanently disappears. + * 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; } diff --git a/notes.adoc b/notes.adoc index b970e7c..833682c 100644 --- a/notes.adoc +++ b/notes.adoc @@ -78,7 +78,11 @@ Bug fixes: "eying" for "eyeing", "thresholds" for "threshholds". * Under odd circumstances (dropping rug or vase outdoors) the game could - formerly say "floor" when it should say "ground" (or "dirt", or something). + formerly say "floor" when it should say "ground" (or "dirt", or + something). + +* The "knives vanish" message could formerly be emitted when "I see no + knife here." would be appropriate. Enhancements: diff --git a/tests/knife.chk b/tests/knife.chk index 0c150ec..76a3b6b 100644 --- a/tests/knife.chk +++ b/tests/knife.chk @@ -369,7 +369,7 @@ A crystal bridge spans the fissure. > get knife -The dwarves' knives vanish as they strike the walls of the cave. +I see no knife here. > quit