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:
Aaron Traas 2017-07-04 09:55:02 -04:00
parent e1cca3b28a
commit 16a175bbab
3 changed files with 23 additions and 34 deletions

View file

@ -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;

View file

@ -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.

View file

@ -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