diff --git a/source/training_mods.hpp b/source/training_mods.hpp
index fb4f6da..825d619 100644
--- a/source/training_mods.hpp
+++ b/source/training_mods.hpp
@@ -203,25 +203,53 @@ int get_command_flag_cat_replace(u64 module_accessor, int category) {
 
             if (TOGGLE_STATE == MASH_RANDOM)
                 if (category == FIGHTER_PAD_COMMAND_CATEGORY1) {
-                    int random_commands[] = {
-                        FIGHTER_PAD_CMD_CAT1_FLAG_AIR_ESCAPE,
-                        FIGHTER_PAD_CMD_CAT1_FLAG_JUMP_BUTTON,
-                        // one for each aerial
-                        FIGHTER_PAD_CMD_CAT1_FLAG_ATTACK_N,
-                        FIGHTER_PAD_CMD_CAT1_FLAG_ATTACK_N,
-                        FIGHTER_PAD_CMD_CAT1_FLAG_ATTACK_N,
-                        FIGHTER_PAD_CMD_CAT1_FLAG_ATTACK_N,
-                        FIGHTER_PAD_CMD_CAT1_FLAG_ATTACK_N,
-                        FIGHTER_PAD_CMD_CAT1_FLAG_SPECIAL_N,
-                        FIGHTER_PAD_CMD_CAT1_FLAG_SPECIAL_S,
-                        FIGHTER_PAD_CMD_CAT1_FLAG_SPECIAL_HI,
-                        FIGHTER_PAD_CMD_CAT1_FLAG_SPECIAL_LW,
-                    };
+					int situation_kind = StatusModule::situation_kind(module_accessor);
 
-                    int random_cmd_index =
-                        app::sv_math::rand(hash40("fighter"), 11);
+					if (situation_kind == SITUATION_KIND_AIR) {
+						const int NUM_AIR_COMMANDS = 11;
+						int random_commands[NUM_AIR_COMMANDS] = {
+							FIGHTER_PAD_CMD_CAT1_FLAG_AIR_ESCAPE,
+							FIGHTER_PAD_CMD_CAT1_FLAG_JUMP_BUTTON,
+							// one for each aerial
+							FIGHTER_PAD_CMD_CAT1_FLAG_ATTACK_N,
+							FIGHTER_PAD_CMD_CAT1_FLAG_ATTACK_N,
+							FIGHTER_PAD_CMD_CAT1_FLAG_ATTACK_N,
+							FIGHTER_PAD_CMD_CAT1_FLAG_ATTACK_N,
+							FIGHTER_PAD_CMD_CAT1_FLAG_ATTACK_N,
+							FIGHTER_PAD_CMD_CAT1_FLAG_SPECIAL_N,
+							FIGHTER_PAD_CMD_CAT1_FLAG_SPECIAL_S,
+							FIGHTER_PAD_CMD_CAT1_FLAG_SPECIAL_HI,
+							FIGHTER_PAD_CMD_CAT1_FLAG_SPECIAL_LW,
+						};
 
-                    flag |= random_commands[random_cmd_index];
+						int random_cmd_index = app::sv_math::rand(hash40("fighter"), NUM_AIR_COMMANDS);
+
+						flag |= random_commands[random_cmd_index];
+					} else if (situation_kind == SITUATION_KIND_GROUND) {
+						const int NUM_GROUND_COMMANDS = 16;
+						int random_commands[NUM_GROUND_COMMANDS] = {
+							FIGHTER_PAD_CMD_CAT1_FLAG_JUMP_BUTTON,
+							FIGHTER_PAD_CMD_CAT1_FLAG_ATTACK_N,
+							FIGHTER_PAD_CMD_CAT1_FLAG_ATTACK_S3,
+							FIGHTER_PAD_CMD_CAT1_FLAG_ATTACK_HI3,
+							FIGHTER_PAD_CMD_CAT1_FLAG_ATTACK_LW3,
+							FIGHTER_PAD_CMD_CAT1_FLAG_ATTACK_S4,
+							FIGHTER_PAD_CMD_CAT1_FLAG_ATTACK_HI4,
+							FIGHTER_PAD_CMD_CAT1_FLAG_ATTACK_LW4,
+							FIGHTER_PAD_CMD_CAT1_FLAG_SPECIAL_HI,
+							FIGHTER_PAD_CMD_CAT1_FLAG_SPECIAL_S,
+							FIGHTER_PAD_CMD_CAT1_FLAG_SPECIAL_HI,
+							FIGHTER_PAD_CMD_CAT1_FLAG_SPECIAL_LW,
+							FIGHTER_PAD_CMD_CAT1_FLAG_CATCH,
+							FIGHTER_PAD_CMD_CAT1_FLAG_ESCAPE,
+							FIGHTER_PAD_CMD_CAT1_FLAG_ESCAPE_F,
+							FIGHTER_PAD_CMD_CAT1_FLAG_ESCAPE_B,
+						};
+
+						int random_cmd_index = app::sv_math::rand(hash40("fighter"), NUM_GROUND_COMMANDS);
+
+						flag |= random_commands[random_cmd_index];
+					}
                 }
         }
     }