Cleared up lock/unlock logic
This commit is contained in:
parent
de2b1894f2
commit
7be2c233ed
1 changed files with 14 additions and 15 deletions
25
actions.c
25
actions.c
|
@ -932,29 +932,29 @@ static int lock(token_t verb, obj_t obj)
|
||||||
|
|
||||||
/* Lock, unlock object. Special stuff for opening clam/oyster
|
/* Lock, unlock object. Special stuff for opening clam/oyster
|
||||||
* and for chain. */
|
* and for chain. */
|
||||||
if (obj == GRATE ||
|
|
||||||
obj == CHAIN) {
|
switch (obj) {
|
||||||
|
case CHAIN:
|
||||||
if (HERE(KEYS)) {
|
if (HERE(KEYS)) {
|
||||||
if (obj == CHAIN)
|
|
||||||
return chain(verb);
|
return chain(verb);
|
||||||
|
} else
|
||||||
|
rspeak(NO_KEYS);
|
||||||
|
break;
|
||||||
|
case GRATE:
|
||||||
|
if (HERE(KEYS)) {
|
||||||
if (game.closng) {
|
if (game.closng) {
|
||||||
rspeak(EXIT_CLOSED);
|
rspeak(EXIT_CLOSED);
|
||||||
if (!game.panic)
|
if (!game.panic)
|
||||||
game.clock2 = PANICTIME;
|
game.clock2 = PANICTIME;
|
||||||
game.panic = true;
|
game.panic = true;
|
||||||
return GO_CLEAROBJ ;
|
|
||||||
} else {
|
} else {
|
||||||
state_change(GRATE, (verb == LOCK) ?
|
state_change(GRATE, (verb == LOCK) ?
|
||||||
GRATE_CLOSED :
|
GRATE_CLOSED :
|
||||||
GRATE_OPEN);
|
GRATE_OPEN);
|
||||||
return GO_CLEAROBJ;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
} else
|
||||||
rspeak(NO_KEYS);
|
rspeak(NO_KEYS);
|
||||||
return GO_CLEAROBJ;
|
break;
|
||||||
}
|
|
||||||
|
|
||||||
switch (obj) {
|
|
||||||
case CLAM:
|
case CLAM:
|
||||||
if (verb == LOCK)
|
if (verb == LOCK)
|
||||||
rspeak(HUH_MAN);
|
rspeak(HUH_MAN);
|
||||||
|
@ -966,14 +966,13 @@ static int lock(token_t verb, obj_t obj)
|
||||||
drop(PEARL, LOC_CULDESAC);
|
drop(PEARL, LOC_CULDESAC);
|
||||||
rspeak(PEARL_FALLS);
|
rspeak(PEARL_FALLS);
|
||||||
}
|
}
|
||||||
return GO_CLEAROBJ;
|
break;
|
||||||
case OYSTER:
|
case OYSTER:
|
||||||
if (verb == LOCK)
|
if (verb == LOCK)
|
||||||
rspeak(HUH_MAN);
|
rspeak(HUH_MAN);
|
||||||
else
|
else
|
||||||
rspeak(OYSTER_OPENER);
|
rspeak(OYSTER_OPENER);
|
||||||
|
break;
|
||||||
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;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue