Eliminated bivalve function.
Reason: only called in lock(), you can't be TOTING a clam, you can't have the trident at a carryable oyster, and the code IMHO is more readable this way.
This commit is contained in:
parent
e1cca3b28a
commit
16a175bbab
3 changed files with 23 additions and 34 deletions
50
actions.c
50
actions.c
|
@ -210,38 +210,6 @@ static int bigwords(token_t foo)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int bivalve(token_t verb, token_t obj)
|
|
||||||
/* Clam/oyster actions */
|
|
||||||
{
|
|
||||||
bool is_oyster = (obj == OYSTER);
|
|
||||||
if (verb == LOCK) {
|
|
||||||
rspeak(HUH_MAN);
|
|
||||||
return GO_CLEAROBJ;
|
|
||||||
}
|
|
||||||
if (!TOTING(TRIDENT)) {
|
|
||||||
rspeak(is_oyster ?
|
|
||||||
OYSTER_OPENER :
|
|
||||||
CLAM_OPENER);
|
|
||||||
return GO_CLEAROBJ;
|
|
||||||
}
|
|
||||||
if (TOTING(obj)) {
|
|
||||||
rspeak( is_oyster ?
|
|
||||||
DROP_OYSTER :
|
|
||||||
DROP_CLAM);
|
|
||||||
return GO_CLEAROBJ;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!is_oyster) {
|
|
||||||
DESTROY(CLAM);
|
|
||||||
drop(OYSTER, game.loc);
|
|
||||||
drop(PEARL, LOC_CULDESAC);
|
|
||||||
}
|
|
||||||
rspeak(is_oyster ?
|
|
||||||
OYSTER_OPENS :
|
|
||||||
PEARL_FALLS);
|
|
||||||
return GO_CLEAROBJ;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void blast(void)
|
static void blast(void)
|
||||||
/* Blast. No effect unless you've got dynamite, which is a neat trick! */
|
/* Blast. No effect unless you've got dynamite, which is a neat trick! */
|
||||||
{
|
{
|
||||||
|
@ -946,8 +914,24 @@ static int lock(token_t verb, token_t obj)
|
||||||
|
|
||||||
switch (obj) {
|
switch (obj) {
|
||||||
case CLAM:
|
case CLAM:
|
||||||
|
if (verb == LOCK)
|
||||||
|
rspeak(HUH_MAN);
|
||||||
|
else if (!TOTING(TRIDENT))
|
||||||
|
rspeak(OYSTER_OPENER);
|
||||||
|
else {
|
||||||
|
DESTROY(CLAM);
|
||||||
|
drop(OYSTER, game.loc);
|
||||||
|
drop(PEARL, LOC_CULDESAC);
|
||||||
|
rspeak(PEARL_FALLS);
|
||||||
|
}
|
||||||
|
return GO_CLEAROBJ;
|
||||||
case OYSTER:
|
case OYSTER:
|
||||||
return bivalve(verb, obj);
|
if (verb == LOCK)
|
||||||
|
rspeak(HUH_MAN);
|
||||||
|
else
|
||||||
|
rspeak(OYSTER_OPENER);
|
||||||
|
|
||||||
|
return GO_CLEAROBJ;
|
||||||
case DOOR:
|
case DOOR:
|
||||||
rspeak((game.prop[DOOR] == DOOR_UNRUSTED) ? OK_MAN : RUSTY_DOOR);
|
rspeak((game.prop[DOOR] == DOOR_UNRUSTED) ? OK_MAN : RUSTY_DOOR);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -2933,6 +2933,10 @@ Huh?
|
||||||
|
|
||||||
Huh?
|
Huh?
|
||||||
|
|
||||||
|
> unlock oyster
|
||||||
|
|
||||||
|
You don't have anything strong enough to open the oyster.
|
||||||
|
|
||||||
> drop oyster
|
> drop oyster
|
||||||
|
|
||||||
OK
|
OK
|
||||||
|
@ -2977,7 +2981,7 @@ The resulting ruckus has awakened the dwarves. There are now several
|
||||||
threatening little dwarves in the room with you! Most of them throw
|
threatening little dwarves in the room with you! Most of them throw
|
||||||
knives at you! All of them get you!
|
knives at you! All of them get you!
|
||||||
|
|
||||||
You scored 383 out of a possible 430, using 475 turns.
|
You scored 383 out of a possible 430, using 476 turns.
|
||||||
|
|
||||||
Your score puts you in Master Adventurer Class B.
|
Your score puts you in Master Adventurer Class B.
|
||||||
|
|
||||||
|
|
|
@ -473,6 +473,7 @@ take oyster
|
||||||
find oyster
|
find oyster
|
||||||
lock
|
lock
|
||||||
lock oyster
|
lock oyster
|
||||||
|
unlock oyster
|
||||||
drop oyster
|
drop oyster
|
||||||
take oyster
|
take oyster
|
||||||
read oyster
|
read oyster
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue