First nontrivial replacement of object state test by macro.

Test was game.objects[i].prop >= 0, but we know that state -1
(STATE_NOTFOUND) can't occiur here because the object is in
a lit room.
This commit is contained in:
Eric S. Raymond 2023-04-08 20:02:27 -04:00
parent 02987d0330
commit c82d1214fa

View file

@ -1099,7 +1099,7 @@ static phase_codes_t read(command_t command)
if (command.obj == INTRANSITIVE) {
command.obj = NO_OBJECT;
for (int i = 1; i <= NOBJECTS; i++) {
if (HERE(i) && objects[i].texts[0] != NULL && game.objects[i].prop >= 0)
if (HERE(i) && objects[i].texts[0] != NULL && !PROP_IS_STASHED(i))
command.obj = command.obj * NOBJECTS + i;
}
if (command.obj > NOBJECTS || command.obj == NO_OBJECT || DARK(game.loc))