projects
/
open-adventure.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Improve test coverage.
[open-adventure.git]
/
actions.c
diff --git
a/actions.c
b/actions.c
index 4cfcbdcd4f2b709ba538ef8a36aa51dcc02b1c79..2b30de9ad8a0e4dfce11a6b1d2104242295c1e2d 100644
(file)
--- a/
actions.c
+++ b/
actions.c
@@
-410,7
+410,7
@@
static int drink(token_t verb, token_t obj)
} else {
DESTROY(BLOOD);
game.prop[DRAGON] = 2;
} else {
DESTROY(BLOOD);
game.prop[DRAGON] = 2;
-
OBJSND[BIRD] = OBJSND[BIRD] + 3
;
+
game.blooded = true
;
spk = HEAD_BUZZES;
}
rspeak(spk);
spk = HEAD_BUZZES;
}
rspeak(spk);
@@
-687,7
+687,10
@@
static int listen(void)
for (int i = 1; i <= NOBJECTS; i++) {
if (!HERE(i) || OBJSND[i] == 0 || game.prop[i] < 0)
continue;
for (int i = 1; i <= NOBJECTS; i++) {
if (!HERE(i) || OBJSND[i] == 0 || game.prop[i] < 0)
continue;
- pspeak(i, OBJSND[i] + game.prop[i], game.zzword);
+ int mi = OBJSND[i] + game.prop[i];
+ if (i == BIRD)
+ mi += 3 * game.blooded;
+ pspeak(i, mi, game.zzword);
spk = NO_MESSAGE;
if (i == BIRD && OBJSND[i] + game.prop[i] == 8)
DESTROY(BIRD);
spk = NO_MESSAGE;
if (i == BIRD && OBJSND[i] + game.prop[i] == 8)
DESTROY(BIRD);
@@
-808,10
+811,10
@@
static int read(struct command_t command)
if (DARK(game.loc)) {
rspeak(NO_SEE, command.wd1, command.wd1x);
if (DARK(game.loc)) {
rspeak(NO_SEE, command.wd1, command.wd1x);
+ } else if (command.obj == OYSTER && !game.clshnt && game.closed) {
+ game.clshnt = YES(arbitrary_messages[CLUE_QUERY], arbitrary_messages[WAYOUT_CLUE], arbitrary_messages[OK_MAN]);
} else if (OBJTXT[command.obj] == 0 || game.prop[command.obj] < 0) {
rspeak(ACTSPK[command.verb]);
} else if (OBJTXT[command.obj] == 0 || game.prop[command.obj] < 0) {
rspeak(ACTSPK[command.verb]);
- } else if (command.obj == OYSTER && !game.clshnt) {
- game.clshnt = YES(arbitrary_messages[CLUE_QUERY], arbitrary_messages[WAYOUT_CLUE], arbitrary_messages[OK_MAN]);
} else
pspeak(command.obj, OBJTXT[command.obj] + game.prop[command.obj]);
return GO_CLEAROBJ;
} else
pspeak(command.obj, OBJTXT[command.obj] + game.prop[command.obj]);
return GO_CLEAROBJ;