X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=actions.c;h=4d6944f6d043125443cc12b59f8b2c60c745dc55;hb=8cc5ee54127423c75814a6b5cc61d48d4075331b;hp=5e2f5a349007fe8df9e678d549ef5d1524eec47e;hpb=0f15c9e0f35dbaeeebf74445ae641401fc631416;p=open-adventure.git diff --git a/actions.c b/actions.c index 5e2f5a3..4d6944f 100644 --- a/actions.c +++ b/actions.c @@ -92,10 +92,14 @@ static int attack(struct command_t *command) } } spk = (dwarves > 1) ? OGRE_PANIC1 : OGRE_PANIC2; - } else if (obj == BEAR) - /* FIXME: Arithmetic on message numbers */ - spk = BEAR_HANDS + (game.prop[BEAR] + 1) / 2; - else if (obj == DRAGON && game.prop[DRAGON] == 0) { + } else if (obj == BEAR) { + switch (game.prop[BEAR]) { + case UNTAMED_BEAR: spk = BEAR_HANDS; break; + case SITTING_BEAR: spk = BEAR_CONFUSED; break; + case CONTENTED_BEAR: spk = BEAR_CONFUSED; break; + case BEAR_DEAD: spk = ALREADY_DEAD; break; + } + } else if (obj == DRAGON && game.prop[DRAGON] == 0) { /* Fun stuff for dragon. If he insists on attacking it, win! * Set game.prop to dead, move dragon to central loc (still * fixed), move rug there (not fixed), and move him there, @@ -966,8 +970,8 @@ static int say(struct command_t *command) char word1[6]; packed_to_token(command->wd1, word1); int wd = (int) get_vocab_id(word1); - /* FIXME: Magic numbers */ - if (wd == 62 || wd == 65 || wd == 71 || wd == 2025 || wd == 2034) { + /* FIXME: magic numbers */ + if (wd == XYZZY || wd == PLUGH || wd == PLOVER || wd == ACTION_WORD(GIANTWORDS) || wd == ACTION_WORD(PART)) { /* FIXME: scribbles on the interpreter's command block */ wordclear(&command->wd2); return GO_LOOKUP;