From 49edca485d31556f1aeec231ce78c4d5df3b565e Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Thu, 15 Jun 2017 11:15:45 -0400 Subject: [PATCH] More use of manifeat constants. --- actions.c | 5 +++-- adventure.yaml | 2 +- main.c | 28 +++++++++++++++------------- 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/actions.c b/actions.c index 4d07762..d3d671a 100644 --- a/actions.c +++ b/actions.c @@ -65,7 +65,7 @@ static int attack(FILE *input, long verb, token_t obj) if (obj == DWARF && game.closed) return GO_DWARFWAKE; if (obj == DRAGON)spk=ALREADY_DEAD; if (obj == TROLL)spk=ROCKY_TROLL; - if (obj == OGRE)spk=OGRE_DOFGE; + if (obj == OGRE)spk=OGRE_DODGE; if (obj == OGRE && d > 0) { RSPEAK(spk); RSPEAK(KNIFE_THROWN); @@ -860,6 +860,7 @@ static int say(void) if (WD2 > 0) WD1=WD2; int wd=VOCAB(WD1,-1); + /* FIXME: Magic numbers */ if (wd == 62 || wd == 65 || wd == 71 || wd == 2025 || wd == 2034) { WD2=0; return GO_LOOKUP; @@ -918,7 +919,7 @@ static int throw(FILE *cmdin, long verb, token_t obj) return throw_support(spk); } if (AT(OGRE)) { - spk=OGRE_DOFGE; + spk=OGRE_DODGE; return throw_support(spk); } if (HERE(BEAR) && game.prop[BEAR] == 0) { diff --git a/adventure.yaml b/adventure.yaml index e1aeb5c..badc7f1 100644 --- a/adventure.yaml +++ b/adventure.yaml @@ -948,7 +948,7 @@ arbitrary_messages: !!omap - THIS_ACCEPTABLE: 'Is this acceptable?' - ALREADY_OVER: 'This adventure is already over. To start a new adventure, or to\nresume an earlier adventure, please run a fresh copy of the program.' - OGRE_FULL: 'The ogre doesn''t appear to be hungry.' -- OGRE_DOFGE: 'The ogre, who despite his bulk is quite agile, easily dodges your\nattack. He seems almost amused by your puny effort.' +- OGRE_DODGE: 'The ogre, who despite his bulk is quite agile, easily dodges your\nattack. He seems almost amused by your puny effort.' - OGRE_PANIC1: 'The ogre, distracted by your rush, is struck by the knife. With a\nblood-curdling yell he turns and bounds after the dwarves, who flee\nin panic. You are left alone in the room.' - OGRE_PANIC2: 'The ogre, distracted by your rush, is struck by the knife. With a\nblood-curdling yell he turns and bounds after the dwarf, who flees\nin panic. You are left alone in the room.' - FREE_FLY: 'The bird flies about agitatedly for a moment.' diff --git a/main.c b/main.c index 66c5caf..1c1b299 100644 --- a/main.c +++ b/main.c @@ -499,7 +499,7 @@ static void croak(FILE *cmdin) } /* Given the current location in "game.loc", and a motion verb number in - * "K", put the new location in "game.newloc". The current loc is saved + * "motion", put the new location in "game.newloc". The current loc is saved * in "game.oldloc" in case he wants to retreat. The current * game.oldloc is saved in game.oldlc2, in case he dies. (if he * does, game.newloc will be limbo, and game.oldloc will be what killed @@ -556,7 +556,7 @@ static bool playermove(FILE *cmdin, token_t verb, int motion) } else if (motion == LOOK) { /* Look. Can't give more detail. Pretend it wasn't dark - * (though it may "now" be dark) so he won't fall into a + * (though it may now be dark) so he won't fall into a * pit while staring into the gloom. */ if (game.detail < 3) RSPEAK(NO_MORE_DETAIL); @@ -567,7 +567,7 @@ static bool playermove(FILE *cmdin, token_t verb, int motion) } else if (motion == CAVE) { /* Cave. Different messages depending on whether above ground. */ - RSPEAK((OUTSID(game.loc) && game.loc != 8) ? FOLLOW_STREAM : NEED_DETAIL); + RSPEAK((OUTSID(game.loc) && game.loc != LOC_GRATE) ? FOLLOW_STREAM : NEED_DETAIL); return true; } else { @@ -582,6 +582,7 @@ static bool playermove(FILE *cmdin, token_t verb, int motion) if (MOD(scratchloc,1000) == 1 || MOD(scratchloc,1000) == motion) break; if (TRAVEL[kk] < 0) { + /* FIXME: Magic numbers! */ /* Non-applicable motion. Various messages depending on * word given. */ int spk=CANT_APPLY; @@ -697,7 +698,8 @@ static bool playermove(FILE *cmdin, token_t verb, int motion) BUG(20); } } while - (false); + (false); + /* FIXME: Arithmetic on location number, becoming a message number */ RSPEAK(game.newloc-500); game.newloc=game.loc; return true; @@ -903,8 +905,8 @@ static void listobjects(void) static bool do_command(FILE *cmdin) /* Get and execute a command */ { - long KQ, verb, V1, V2; - long i, k, KMOD; + long kq, verb, V1, V2; + long i, k, kmod; static long igo = 0; static long obj = 0; enum speechpart part; @@ -1062,18 +1064,18 @@ static bool do_command(FILE *cmdin) RSPEAK(DONT_KNOW); goto L2600; } - KMOD=MOD(i,1000); - KQ=i/1000+1; - switch (KQ-1) + kmod=MOD(i,1000); + kq=i/1000+1; + switch (kq-1) { case 0: - if (playermove(cmdin, verb, KMOD)) + if (playermove(cmdin, verb, kmod)) return true; else continue; /* back to top of main interpreter loop */ - case 1: part=unknown; obj = KMOD; break; - case 2: part=intransitive; verb = KMOD; break; - case 3: RSPEAK(KMOD); goto L2012; + case 1: part=unknown; obj = kmod; break; + case 2: part=intransitive; verb = kmod; break; + case 3: RSPEAK(kmod); goto L2012; default: BUG(22); } -- 2.31.1