Address Gitlanb issue #54: listen command not showing all sounds

This commit is contained in:
Eric S. Raymond 2022-04-06 07:49:42 -04:00
parent e0b9aeda6e
commit 46e1595cb0
2 changed files with 7 additions and 3 deletions

View file

@ -925,12 +925,13 @@ static phase_codes_t light(verb_t verb, obj_t obj)
static phase_codes_t listen(void)
/* Listen. Intransitive only. Print stuff based on object sound proprties. */
{
bool soundlatch = false;
vocab_t sound = locations[game.loc].sound;
if (sound != SILENT) {
rspeak(sound);
if (!locations[game.loc].loud)
rspeak(NO_MESSAGE);
return GO_CLEAROBJ;
soundlatch = true;
}
for (obj_t i = 1; i <= NOBJECTS; i++) {
if (!HERE(i) ||
@ -949,9 +950,10 @@ static phase_codes_t listen(void)
rspeak(NO_MESSAGE);
if (i == BIRD && mi == BIRD_ENDSTATE)
DESTROY(BIRD);
return GO_CLEAROBJ;
soundlatch = true;
}
rspeak(ALL_SILENT);
if (!soundlatch)
rspeak(ALL_SILENT);
return GO_CLEAROBJ;
}

View file

@ -3014,6 +3014,8 @@ There is an enormous oyster here with its shell tightly closed.
You can hear the murmuring of the beanstalks and the snoring of the
dwarves.
Even though it's an oyster, the critter's as tight-mouthed as a clam.
> blast rod
There is a loud explosion, and a twenty-foot hole appears in the far