Dragon attack code no longer edits the command struct.
authorJason S. Ninneman <jsn@mbar.us>
Wed, 12 Jul 2017 20:49:28 +0000 (13:49 -0700)
committerJason S. Ninneman <jsn@mbar.us>
Fri, 14 Jul 2017 16:18:55 +0000 (09:18 -0700)
This also fixes a minor bug where refusing to attack the dragon
costs the player two turns instead of one.

actions.c
tests/barehands.chk

index 46d09e1e8a84d7ee134c95aacf05bcd5485b7668..802c1f3303b6c233d8b648985b04d28fc7369b2c 100644 (file)
--- a/actions.c
+++ b/actions.c
@@ -101,14 +101,11 @@ static int attack(struct command_t *command)
          *  fixed), move rug there (not fixed), and move him there,
          *  too.  Then do a null motion to get new description. */
         rspeak(BARE_HANDS_QUERY);
-        if (silent_yes()) {
-            // FIXME: setting wd1 is a workaround for broken logic
-            command->wd1 = token_to_packed("Y");
-        } else {
-            // FIXME: setting wd1 is a workaround for broken logic
-            command->wd1 = token_to_packed("N");
-            return GO_CHECKFOO;
-        }
+       if (!silent_yes())
+         {
+           speak(arbitrary_messages[NASTY_DRAGON]);
+           return GO_MOVE;
+         }
         state_change(DRAGON, DRAGON_DEAD);
         game.prop[RUG] = RUG_FLOOR;
         /* Hardcoding LOC_SECRET5 as the dragon's death location is ugly.
index 1c94758952a21cba8017a8be02db9ecddb3134d1..dad89bc2175a288b5f356998d81cf291658b36ae 100644 (file)
@@ -307,7 +307,7 @@ The blood-specked body of a huge green dead dragon lies to one side.
 For crying out loud, the poor thing is already dead!
 
 
-You scored 77 out of a possible 430, using 50 turns.
+You scored 77 out of a possible 430, using 49 turns.
 
 Your score qualifies you as a novice class adventurer.