return (discard(verb, obj, true));
} else if (obj == URN) {
spk = FULL_URN;
- if (game.prop[URN] != 0) {
+ if (game.prop[URN] != URN_EMPTY) {
rspeak(spk);
return GO_CLEAROBJ;
}
game.place[k] = LOC_NOWHERE;
game.prop[BOTTLE] = EMPTY_BOTTLE;
if (k == OIL)
- game.prop[URN] = 1;
+ game.prop[URN] = URN_DARK;
spk = WATER_URN + game.prop[URN];
rspeak(spk);
return GO_CLEAROBJ;
spk = BOTTLED_WATER;
if (LIQLOC(game.loc) == 0)
spk = NO_LIQUID;
- if (HERE(URN) && game.prop[URN] != 0)
+ if (HERE(URN) && game.prop[URN] != URN_EMPTY)
spk = URN_NOPOUR;
if (LIQUID() != 0)
spk = BOTTLE_FULL;
if (obj == URN && game.prop[URN] == URN_LIT) {
DESTROY(URN);
drop(AMBER, game.loc);
- game.prop[AMBER] = 1;
+ game.prop[AMBER] = AMBER_IN_ROCK;
--game.tally;
drop(CAVITY, game.loc);
spk = URN_GENIES;
b = command->wd2x;
command->wd1 = command->wd2;
}
- //int wd = vocab(command->wd1, -1);
char word1[6];
packed_to_token(command->wd1, word1);
int wd = (int) get_vocab_id(word1);
/* FIXME: magic numbers */
- if (wd == XYZZY || wd == PLUGH || wd == PLOVER || wd == ACTION_WORD(GIANTWORDS) || wd == ACTION_WORD(PART)) {
+ if (wd == MOTION_WORD(XYZZY) || wd == MOTION_WORD(PLUGH) || wd == MOTION_WORD(PLOVER) || wd == ACTION_WORD(GIANTWORDS) || wd == ACTION_WORD(PART)) {
/* FIXME: scribbles on the interpreter's command block */
wordclear(&command->wd2);
return GO_LOOKUP;
locations: LOC_NOWHERE
treasure: true
descriptions:
- - 'There is a rare amber gemstone here!'
- - 'There is an amber gemstone resting in a small cavity in the rock!'
+ - [AMBER_IN_URN, 'There is a rare amber gemstone here!']
+ - [AMBER_IN_ROCK, 'There is an amber gemstone resting in a small cavity in the rock!']
- SAPPH:
words: ['sapph']
inventory: 'Star sapphire'