Fix GitLab issue #69: repeated knive caveat message

This commit is contained in:
Eric S. Raymond 2024-06-25 13:23:21 -04:00
parent ae6eced72d
commit bd499dc532
4 changed files with 15 additions and 6 deletions

View file

@ -2,6 +2,9 @@
// SPDX-FileCopyrightText: (C) Eric S. Raymond <esr@thyrsus.com>
// 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.

10
main.c
View file

@ -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;
}

View file

@ -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:

View file

@ -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