Pruned out special case of discarding the vase
This commit is contained in:
parent
7be2c233ed
commit
acf303a57f
1 changed files with 61 additions and 62 deletions
11
actions.c
11
actions.c
|
@ -442,12 +442,11 @@ static int chain(token_t verb)
|
||||||
return GO_CLEAROBJ;
|
return GO_CLEAROBJ;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int discard(token_t verb, obj_t obj, bool just_do_it)
|
static int discard(token_t verb, obj_t obj)
|
||||||
/* Discard object. "Throw" also comes here for most objects. Special cases for
|
/* Discard object. "Throw" also comes here for most objects. Special cases for
|
||||||
* bird (might attack snake or dragon) and cage (might contain bird) and vase.
|
* bird (might attack snake or dragon) and cage (might contain bird) and vase.
|
||||||
* Drop coins at vending machine for extra batteries. */
|
* Drop coins at vending machine for extra batteries. */
|
||||||
{
|
{
|
||||||
if (!just_do_it) {
|
|
||||||
if (TOTING(ROD2) && obj == ROD && !TOTING(ROD))
|
if (TOTING(ROD2) && obj == ROD && !TOTING(ROD))
|
||||||
obj = ROD2;
|
obj = ROD2;
|
||||||
if (!TOTING(obj)) {
|
if (!TOTING(obj)) {
|
||||||
|
@ -508,7 +507,6 @@ static int discard(token_t verb, obj_t obj, bool just_do_it)
|
||||||
if (game.prop[VASE] != VASE_WHOLE)
|
if (game.prop[VASE] != VASE_WHOLE)
|
||||||
game.fixed[VASE] = IS_FIXED;
|
game.fixed[VASE] = IS_FIXED;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
int k = LIQUID();
|
int k = LIQUID();
|
||||||
if (k == obj)
|
if (k == obj)
|
||||||
obj = BOTTLE;
|
obj = BOTTLE;
|
||||||
|
@ -702,7 +700,8 @@ int fill(token_t verb, obj_t obj)
|
||||||
rspeak(SHATTER_VASE);
|
rspeak(SHATTER_VASE);
|
||||||
game.prop[VASE] = VASE_BROKEN;
|
game.prop[VASE] = VASE_BROKEN;
|
||||||
game.fixed[VASE] = IS_FIXED;
|
game.fixed[VASE] = IS_FIXED;
|
||||||
return (discard(verb, VASE, true));
|
drop(VASE, game.loc);
|
||||||
|
return GO_CLEAROBJ;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (obj == URN) {
|
if (obj == URN) {
|
||||||
|
@ -1168,7 +1167,7 @@ static int throw (struct command_t *command)
|
||||||
return (feed(command->verb, command->obj));
|
return (feed(command->verb, command->obj));
|
||||||
}
|
}
|
||||||
if (command->obj != AXE)
|
if (command->obj != AXE)
|
||||||
return (discard(command->verb, command->obj, false));
|
return (discard(command->verb, command->obj));
|
||||||
else {
|
else {
|
||||||
if (atdwrf(game.loc) <= 0) {
|
if (atdwrf(game.loc) <= 0) {
|
||||||
if (AT(DRAGON) && game.prop[DRAGON] == DRAGON_BARS)
|
if (AT(DRAGON) && game.prop[DRAGON] == DRAGON_BARS)
|
||||||
|
@ -1421,7 +1420,7 @@ int action(struct command_t *command)
|
||||||
case CARRY:
|
case CARRY:
|
||||||
return vcarry(command->verb, command->obj);
|
return vcarry(command->verb, command->obj);
|
||||||
case DROP:
|
case DROP:
|
||||||
return discard(command->verb, command->obj, false);
|
return discard(command->verb, command->obj);
|
||||||
case SAY:
|
case SAY:
|
||||||
return say(command);
|
return say(command);
|
||||||
case UNLOCK:
|
case UNLOCK:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue