++changes;
}
}
- if (changes >= 2)
+ if (changes >= 2) {
return GO_UNKNOWN;
+ }
}
if (obj == BIRD) {
drop(BLOOD, LOC_SECRET5);
for (obj_t i = 1; i <= NOBJECTS; i++) {
if (game.objects[i].place == objects[DRAGON].plac ||
- game.objects[i].place == objects[DRAGON].fixd)
+ game.objects[i].place == objects[DRAGON].fixd) {
move(i, LOC_SECRET5);
+ }
}
game.loc = LOC_SECRET5;
return GO_MOVE;
* before crossing. */
if (game.objects[EGGS].place == LOC_NOWHERE &&
game.objects[TROLL].place == LOC_NOWHERE &&
- game.objects[TROLL].prop == TROLL_UNPAID)
+ game.objects[TROLL].prop == TROLL_UNPAID) {
game.objects[TROLL].prop = TROLL_PAIDONCE;
+ }
if (HERE(EGGS)) {
pspeak(EGGS, look, true, EGGS_VANISHED);
} else if (game.loc == objects[EGGS].plac) {
static void blast(void) {
/* Blast. No effect unless you've got dynamite, which is a neat trick!
*/
- if (PROP_IS_NOTFOUND(ROD2) || !game.closed)
+ if (OBJECT_IS_NOTFOUND(ROD2) || !game.closed) {
rspeak(REQUIRES_DYNAMITE);
- else {
+ } else {
if (HERE(ROD2)) {
game.bonus = splatter;
rspeak(SPLATTER_MESSAGE);
}
case VASE:
if (game.objects[VASE].prop == VASE_WHOLE) {
- if (TOTING(VASE))
+ if (TOTING(VASE)) {
drop(VASE, game.loc);
+ }
state_change(VASE, VASE_BROKEN);
game.objects[VASE].fixed = IS_FIXED;
break;
if (game.objects[obj].fixed != IS_FREE) {
switch (obj) {
case PLANT:
- /* Next guard tests whether plant is tiny or stashed */
- rspeak(game.objects[PLANT].prop <= PLANT_THIRSTY
+ rspeak((game.objects[PLANT].prop == PLANT_THIRSTY ||
+ OBJECT_IS_STASHED(PLANT))
? DEEP_ROOTS
: YOU_JOKING);
break;
}
if (obj == BIRD && game.objects[BIRD].prop != BIRD_CAGED &&
- !PROP_IS_STASHED(BIRD)) {
+ !OBJECT_IS_STASHED(BIRD)) {
if (game.objects[BIRD].prop == BIRD_FOREST_UNCAGED) {
DESTROY(BIRD);
rspeak(BIRD_CRAP);
game.objects[BIRD].prop = BIRD_CAGED;
}
if ((obj == BIRD || obj == CAGE) &&
- (game.objects[BIRD].prop == BIRD_CAGED ||
- PROP_STASHED(BIRD) == BIRD_CAGED)) {
+ OBJECT_STATE_EQUALS(BIRD, BIRD_CAGED)) {
/* expression maps BIRD to CAGE and CAGE to BIRD */
carry(BIRD + CAGE - obj, game.loc);
}
game.objects[LIQUID()].place = CARRIED;
}
- if (GSTONE(obj) && !PROP_IS_FOUND(obj)) {
- PROP_SET_FOUND(obj);
+ if (GSTONE(obj) && !OBJECT_IS_FOUND(obj)) {
+ OBJECT_SET_FOUND(obj);
game.objects[CAVITY].prop = CAVITY_EMPTY;
}
rspeak(OK_MAN);
}
game.objects[CHAIN].prop = CHAIN_HEAP;
game.objects[CHAIN].fixed = IS_FREE;
- if (game.objects[BEAR].prop != BEAR_DEAD)
+ if (game.objects[BEAR].prop != BEAR_DEAD) {
game.objects[BEAR].prop = CONTENTED_BEAR;
+ }
switch (game.objects[BEAR].prop) {
// LCOV_EXCL_START
game.objects[CHAIN].prop = CHAIN_FIXED;
- if (TOTING(CHAIN))
+ if (TOTING(CHAIN)) {
drop(CHAIN, game.loc);
+ }
game.objects[CHAIN].fixed = IS_FIXED;
rspeak(CHAIN_LOCKED);
*/
switch (obj) {
case INTRANSITIVE:
- if (!HERE(FOOD))
+ if (!HERE(FOOD)) {
return GO_UNKNOWN;
+ }
/* FALLTHRU */
case FOOD:
DESTROY(FOOD);
break;
case LAMP:
state_change(LAMP, LAMP_DARK);
- rspeak(DARK(game.loc) ? PITCH_DARK : NO_MESSAGE);
+ rspeak(IS_DARK_HERE() ? PITCH_DARK : NO_MESSAGE);
break;
case DRAGON:
case VOLCANO:
speak(actions[verb].message);
return GO_CLEAROBJ;
}
- if (obj == INTRANSITIVE && !HERE(BOTTLE))
+ if (obj == INTRANSITIVE && !HERE(BOTTLE)) {
return GO_UNKNOWN;
+ }
if (HERE(URN) && game.objects[URN].prop != URN_EMPTY) {
rspeak(URN_NOPOUR);
* burden. */
bool empty = true;
for (obj_t i = 1; i <= NOBJECTS; i++) {
- if (i == BEAR || !TOTING(i))
+ if (i == BEAR || !TOTING(i)) {
continue;
+ }
if (empty) {
rspeak(NOW_HOLDING);
empty = false;
}
pspeak(i, touch, false, -1);
}
- if (TOTING(BEAR))
+ if (TOTING(BEAR)) {
rspeak(TAME_BEAR);
- if (empty)
+ }
+ if (empty) {
rspeak(NO_CARRY);
+ }
return GO_CLEAROBJ;
}
obj = URN;
selects++;
}
- if (selects != 1)
+ if (selects != 1) {
return GO_UNKNOWN;
+ }
}
switch (obj) {
}
for (obj_t i = 1; i <= NOBJECTS; i++) {
if (!HERE(i) || objects[i].sounds[0] == NULL ||
- PROP_IS_STASHED_OR_UNSEEN(i)) {
+ OBJECT_IS_STASHED(i) || OBJECT_IS_NOTFOUND(i)) {
continue;
}
int mi = game.objects[i].prop;
command.obj = NO_OBJECT;
for (int i = 1; i <= NOBJECTS; i++) {
if (HERE(i) && objects[i].texts[0] != NULL &&
- !PROP_IS_STASHED(i)) {
+ !OBJECT_IS_STASHED(i)) {
command.obj = command.obj * NOBJECTS + i;
}
}
if (command.obj > NOBJECTS || command.obj == NO_OBJECT ||
- DARK(game.loc)) {
+ IS_DARK_HERE()) {
return GO_UNKNOWN;
}
}
- if (DARK(game.loc)) {
+ if (IS_DARK_HERE()) {
sspeak(NO_SEE, command.word[0].raw);
} else if (command.obj == OYSTER) {
if (!TOTING(OYSTER) || !game.closed) {
1); // Not really a sound, but oh well.
}
} else if (objects[command.obj].texts[0] == NULL ||
- PROP_IS_NOTFOUND(command.obj)) {
+ OBJECT_IS_NOTFOUND(command.obj)) {
speak(actions[command.verb].message);
} else {
pspeak(command.obj, study, true,
state_change(RESER, game.objects[RESER].prop == WATERS_PARTED
? WATERS_UNPARTED
: WATERS_PARTED);
- if (AT(RESER))
+ if (AT(RESER)) {
return GO_CLEAROBJ;
- else {
+ } else {
game.oldlc2 = game.loc;
game.newloc = LOC_NOWHERE;
rspeak(NOT_BRIGHT);
} else {
if (atdwrf(game.loc) <= 0) {
if (AT(DRAGON) &&
- game.objects[DRAGON].prop == DRAGON_BARS)
+ game.objects[DRAGON].prop == DRAGON_BARS) {
return throw_support(DRAGON_SCALES);
+ }
if (AT(TROLL)) {
return throw_support(TROLL_RETURNS);
}
}
if (game.objects[BIRD].prop == BIRD_UNCAGED &&
- game.loc == game.objects[STEPS].place && PROP_IS_NOTFOUND(JADE)) {
+ game.loc == game.objects[STEPS].place && OBJECT_IS_NOTFOUND(JADE)) {
drop(JADE, game.loc);
- PROP_SET_FOUND(JADE);
+ OBJECT_SET_FOUND(JADE);
--game.tally;
rspeak(NECKLACE_FLY);
return GO_CLEAROBJ;
: FREE_FLY);
return GO_CLEAROBJ;
}
- if (HERE(BIRD))
+ if (HERE(BIRD)) {
rspeak((game.objects[BIRD].prop == BIRD_CAGED)
? CAGE_FLY
: FREE_FLY);
+ }
state_change(FISSURE, game.objects[FISSURE].prop == BRIDGED
? UNBRIDGED