# HG changeset patch # User John "Elwin" Edwards # Date 1432825683 14400 # Node ID 0c775afe007239c22c76f90fea69ddee1d637435 # Parent cadff8f047a103a81f9cab12929cb840166d594c 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. diff -r cadff8f047a1 -r 0c775afe0072 arogue7/command.c --- a/arogue7/command.c Thu May 28 10:21:43 2015 -0400 +++ b/arogue7/command.c Thu May 28 11:08:03 2015 -0400 @@ -192,7 +192,7 @@ /* * execute a command */ - if (count && !running) + if (count && !running && player.t_action == A_NIL) count--; switch (ch) { case '!' : shell(); diff -r cadff8f047a1 -r 0c775afe0072 xrogue/command.c --- 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) {