From 65b324848b02c87af8e47654ecb5d112f16c9a7f Mon Sep 17 00:00:00 2001 From: jugeeya <jugeeya@live.com> Date: Wed, 19 Jun 2019 14:02:27 -0700 Subject: [PATCH] add mash random option --- source/script_replacement.hpp | 1 + source/taunt_toggles.h | 9 +++++---- source/training_mods.hpp | 21 +++++++++++++++++++++ 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/source/script_replacement.hpp b/source/script_replacement.hpp index a331a34..4f5f6c8 100644 --- a/source/script_replacement.hpp +++ b/source/script_replacement.hpp @@ -48,6 +48,7 @@ u64 appeal_lw_replace(L2CAgent* l2c_agent, void* variadic) { "MASH\nAIRDODGE", "MASH\nJUMP", "MASH\nATTACK", + "MASH\nRANDOM", "INFINITE\nSHIELD", "HOLD\nSHIELD", "LEDGE\nOPTION" diff --git a/source/taunt_toggles.h b/source/taunt_toggles.h index 3fac09e..75a8647 100644 --- a/source/taunt_toggles.h +++ b/source/taunt_toggles.h @@ -44,11 +44,12 @@ int LEDGE_STATE = RANDOM_LEDGE; #define MASH_AIRDODGE 1 #define MASH_JUMP 2 #define MASH_ATTACK 3 -#define INFINITE_SHIELD 4 -#define HOLD_SHIELD 5 -#define LEDGE_OPTION 6 +#define MASH_RANDOM 4 +#define INFINITE_SHIELD 5 +#define HOLD_SHIELD 6 +#define LEDGE_OPTION 7 int TOGGLE_STATE = NONE; -#define NUM_TOGGLE_STATES 7 +#define NUM_TOGGLE_STATES 8 #endif // TAUNT_TOGGLES_H diff --git a/source/training_mods.hpp b/source/training_mods.hpp index 25ed054..622833b 100644 --- a/source/training_mods.hpp +++ b/source/training_mods.hpp @@ -166,6 +166,27 @@ namespace app::lua_bind { flag |= FIGHTER_PAD_CMD_CAT1_FLAG_SPECIAL_LW; break; } } + + 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, + 0x80, // FIGHTER_PAD_CMD_CAT1_FLAG_ATTACK_AIR_N + 0x100, // FIGHTER_PAD_CMD_CAT1_FLAG_ATTACK_AIR_F + 0x200, // FIGHTER_PAD_CMD_CAT1_FLAG_ATTACK_AIR_B + 0x400, // FIGHTER_PAD_CMD_CAT1_FLAG_ATTACK_AIR_HI + 0x800, // FIGHTER_PAD_CMD_CAT1_FLAG_ATTACK_AIR_LW + 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 random_cmd_index = app::sv_math::rand(hash40("fighter"), 11); + + flag |= random_commands[random_cmd_index]; + } } }