projects
/
open-adventure.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Unfalsify coverage check
[open-adventure.git]
/
actions.c
diff --git
a/actions.c
b/actions.c
index 0a5b8edb30ba09bcbb50c55ded35b0eec4a5a464..480b0f56a321fd871671db186c10e9f8b5e67b69 100644
(file)
--- a/
actions.c
+++ b/
actions.c
@@
-166,10
+166,9
@@
static int attack(struct command_t *command)
static int bigwords(token_t foo)
/* FEE FIE FOE FOO (AND FUM). Advance to next state if given in proper order.
static int bigwords(token_t foo)
/* FEE FIE FOE FOO (AND FUM). Advance to next state if given in proper order.
- * Look up foo in s
ection 3 of vocab to determine which word we've got. Last
- * word zips the eggs back to the giant room (unless already there). */
+ * Look up foo in s
pecial section of vocab to determine which word we've got.
+ *
Last
word zips the eggs back to the giant room (unless already there). */
{
{
- //int k = vocab(foo, 3);
char word[6];
packed_to_token(foo, word);
int k = (int) get_special_vocab_id(word);
char word[6];
packed_to_token(foo, word);
int k = (int) get_special_vocab_id(word);
@@
-362,7
+361,7
@@
static int vcarry(token_t verb, token_t obj)
if (obj == BOTTLE && LIQUID() != 0)
game.place[LIQUID()] = CARRIED;
if (GSTONE(obj) && game.prop[obj] != 0) {
if (obj == BOTTLE && LIQUID() != 0)
game.place[LIQUID()] = CARRIED;
if (GSTONE(obj) && game.prop[obj] != 0) {
- game.prop[obj] =
0
;
+ game.prop[obj] =
STATE_GROUND
;
game.prop[CAVITY] = CAVITY_EMPTY;
}
rspeak(OK_MAN);
game.prop[CAVITY] = CAVITY_EMPTY;
}
rspeak(OK_MAN);
@@
-560,7
+559,7
@@
static int extinguish(token_t verb, int obj)
if (game.prop[URN] != URN_EMPTY) {
state_change(URN, URN_DARK);
} else {
if (game.prop[URN] != URN_EMPTY) {
state_change(URN, URN_DARK);
} else {
- pspeak(URN, change, URN_DARK, true);
+
pspeak(URN, change, URN_DARK, true);
}
} else if (obj == LAMP) {
}
} else if (obj == LAMP) {
@@
-640,7
+639,7
@@
int fill(token_t verb, token_t obj)
return (discard(verb, obj, true));
} else if (obj == URN) {
spk = FULL_URN;
return (discard(verb, obj, true));
} else if (obj == URN) {
spk = FULL_URN;
- if (game.prop[URN] !=
0
) {
+ if (game.prop[URN] !=
URN_EMPTY
) {
rspeak(spk);
return GO_CLEAROBJ;
}
rspeak(spk);
return GO_CLEAROBJ;
}
@@
-653,7
+652,7
@@
int fill(token_t verb, token_t obj)
game.place[k] = LOC_NOWHERE;
game.prop[BOTTLE] = EMPTY_BOTTLE;
if (k == OIL)
game.place[k] = LOC_NOWHERE;
game.prop[BOTTLE] = EMPTY_BOTTLE;
if (k == OIL)
- game.prop[URN] =
1
;
+ game.prop[URN] =
URN_DARK
;
spk = WATER_URN + game.prop[URN];
rspeak(spk);
return GO_CLEAROBJ;
spk = WATER_URN + game.prop[URN];
rspeak(spk);
return GO_CLEAROBJ;
@@
-665,7
+664,7
@@
int fill(token_t verb, token_t obj)
spk = BOTTLED_WATER;
if (LIQLOC(game.loc) == 0)
spk = NO_LIQUID;
spk = BOTTLED_WATER;
if (LIQLOC(game.loc) == 0)
spk = NO_LIQUID;
- if (HERE(URN) && game.prop[URN] !=
0
)
+ if (HERE(URN) && game.prop[URN] !=
URN_EMPTY
)
spk = URN_NOPOUR;
if (LIQUID() != 0)
spk = BOTTLE_FULL;
spk = URN_NOPOUR;
if (LIQUID() != 0)
spk = BOTTLE_FULL;
@@
-942,7
+941,7
@@
static int read(struct command_t command)
} else if (objects[command.obj].texts[0] == NULL || game.prop[command.obj] < 0) {
rspeak(actions[command.verb].message);
} else
} else if (objects[command.obj].texts[0] == NULL || game.prop[command.obj] < 0) {
rspeak(actions[command.verb].message);
} else
- pspeak(command.obj, study, game.prop[command.obj], true);
+
pspeak(command.obj, study, game.prop[command.obj], true);
return GO_CLEAROBJ;
}
return GO_CLEAROBJ;
}
@@
-953,7
+952,7
@@
static int reservoir(void)
rspeak(NOTHING_HAPPENS);
return GO_CLEAROBJ;
} else {
rspeak(NOTHING_HAPPENS);
return GO_CLEAROBJ;
} else {
- pspeak(RESER, look, game.prop[RESER] + 1, true);
+
pspeak(RESER, look, game.prop[RESER] + 1, true);
game.prop[RESER] = 1 - game.prop[RESER];
if (AT(RESER))
return GO_CLEAROBJ;
game.prop[RESER] = 1 - game.prop[RESER];
if (AT(RESER))
return GO_CLEAROBJ;
@@
-969,18
+968,18
@@
static int reservoir(void)
static int rub(token_t verb, token_t obj)
/* Rub. Yields various snide remarks except for lit urn. */
{
static int rub(token_t verb, token_t obj)
/* Rub. Yields various snide remarks except for lit urn. */
{
- int spk = actions[verb].message;
- if (obj != LAMP)
- spk = PECULIAR_NOTHING;
if (obj == URN && game.prop[URN] == URN_LIT) {
DESTROY(URN);
drop(AMBER, game.loc);
if (obj == URN && game.prop[URN] == URN_LIT) {
DESTROY(URN);
drop(AMBER, game.loc);
- game.prop[AMBER] =
1
;
+ game.prop[AMBER] =
AMBER_IN_ROCK
;
--game.tally;
drop(CAVITY, game.loc);
--game.tally;
drop(CAVITY, game.loc);
- spk = URN_GENIES;
+ rspeak(URN_GENIES);
+ } else if (obj != LAMP) {
+ rspeak(PECULIAR_NOTHING);
+ } else {
+ rspeak(actions[verb].message);
}
}
- rspeak(spk);
return GO_CLEAROBJ;
}
return GO_CLEAROBJ;
}
@@
-993,12
+992,11
@@
static int say(struct command_t *command)
b = command->wd2x;
command->wd1 = command->wd2;
}
b = command->wd2x;
command->wd1 = command->wd2;
}
- //int wd = vocab(command->wd1, -1);
char word1[6];
packed_to_token(command->wd1, word1);
int wd = (int) get_vocab_id(word1);
/* FIXME: magic numbers */
char word1[6];
packed_to_token(command->wd1, word1);
int wd = (int) get_vocab_id(word1);
/* FIXME: magic numbers */
- if (wd ==
XYZZY || wd == PLUGH || wd == PLOVER
|| wd == ACTION_WORD(GIANTWORDS) || wd == ACTION_WORD(PART)) {
+ if (wd ==
MOTION_WORD(XYZZY) || wd == MOTION_WORD(PLUGH) || wd == MOTION_WORD(PLOVER)
|| wd == ACTION_WORD(GIANTWORDS) || wd == ACTION_WORD(PART)) {
/* FIXME: scribbles on the interpreter's command block */
wordclear(&command->wd2);
return GO_LOOKUP;
/* FIXME: scribbles on the interpreter's command block */
wordclear(&command->wd2);
return GO_LOOKUP;