diff xrogue/command.c @ 152:0c775afe0072

arogue7, xrogue: fix command repetition. In both games, command() loops and calls the action function twice for each command: once to schedule it by setting player.t_action and player.t_no_move, and again, to actually do it, once player.t_no_move has been reduced to 0. Each loop decremented count, so repeated commands were only repeated half the number of times the player typed. count is now decremented only when ch has been set to the repeated command.
author John "Elwin" Edwards
date Thu, 28 May 2015 11:08:03 -0400
parents 9aa9b9a2e159
children 23fff8f7b303
line wrap: on
line diff
--- a/xrogue/command.c	Thu May 28 10:21:43 2015 -0400
+++ b/xrogue/command.c	Thu May 28 11:08:03 2015 -0400
@@ -185,7 +185,7 @@
                 /*
                  * execute a command
                  */
-                if (count && !running)
+                if (count && !running && player.t_action == A_NIL)
                     count--;
 
                 switch (ch) {