linearized drink
This commit is contained in:
parent
3c636e27e2
commit
469a0e74ed
1 changed files with 19 additions and 13 deletions
32
actions.c
32
actions.c
|
@ -521,24 +521,30 @@ static int drink(token_t verb, token_t obj)
|
||||||
/* Drink. If no object, assume water and look for it here. If water is in
|
/* Drink. If no object, assume water and look for it here. If water is in
|
||||||
* the bottle, drink that, else must be at a water loc, so drink stream. */
|
* the bottle, drink that, else must be at a water loc, so drink stream. */
|
||||||
{
|
{
|
||||||
if (obj == NO_OBJECT && LIQLOC(game.loc) != WATER && (LIQUID() != WATER ||
|
if (obj == NO_OBJECT && LIQLOC(game.loc) != WATER &&
|
||||||
!HERE(BOTTLE)))
|
(LIQUID() != WATER || !HERE(BOTTLE))) {
|
||||||
return GO_UNKNOWN;
|
return GO_UNKNOWN;
|
||||||
if (obj != BLOOD) {
|
}
|
||||||
if (obj != NO_OBJECT && obj != WATER) {
|
|
||||||
rspeak(RIDICULOUS_ATTEMPT);
|
if (obj == BLOOD) {
|
||||||
} else if (LIQUID() == WATER && HERE(BOTTLE)) {
|
|
||||||
game.prop[BOTTLE] = EMPTY_BOTTLE;
|
|
||||||
game.place[WATER] = LOC_NOWHERE;
|
|
||||||
rspeak(BOTTLE_EMPTY);
|
|
||||||
} else {
|
|
||||||
rspeak(actions[verb].message);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
DESTROY(BLOOD);
|
DESTROY(BLOOD);
|
||||||
state_change(DRAGON, DRAGON_BLOODLESS);
|
state_change(DRAGON, DRAGON_BLOODLESS);
|
||||||
game.blooded = true;
|
game.blooded = true;
|
||||||
|
return GO_CLEAROBJ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (obj != NO_OBJECT && obj != WATER) {
|
||||||
|
rspeak(RIDICULOUS_ATTEMPT);
|
||||||
|
return GO_CLEAROBJ;
|
||||||
|
}
|
||||||
|
if (LIQUID() == WATER && HERE(BOTTLE)) {
|
||||||
|
game.prop[BOTTLE] = EMPTY_BOTTLE;
|
||||||
|
game.place[WATER] = LOC_NOWHERE;
|
||||||
|
rspeak(BOTTLE_EMPTY);
|
||||||
|
return GO_CLEAROBJ;
|
||||||
|
}
|
||||||
|
|
||||||
|
rspeak(actions[verb].message);
|
||||||
return GO_CLEAROBJ;
|
return GO_CLEAROBJ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue