mirror of
https://github.com/jugeeya/UltimateTrainingModpack.git
synced 2025-01-20 01:10:13 +00:00
add choosable ledge options
This commit is contained in:
parent
8ccd0a0a5b
commit
00f1381788
3 changed files with 56 additions and 34 deletions
|
@ -82,21 +82,34 @@ u64 appeal_s_replace(L2CAgent* l2c_agent, void* variadic) {
|
|||
acmd.frame(1);
|
||||
if (acmd.is_excute()) {
|
||||
if (is_training_mode()) {
|
||||
DI_STATE = (DI_STATE + 1) % NUM_DI_STATES;
|
||||
const char* DI_strings[NUM_DI_STATES] = {
|
||||
"NONE",
|
||||
"AWAY",
|
||||
"DOWN AWAY",
|
||||
"DOWN",
|
||||
"DOWN IN",
|
||||
"IN",
|
||||
"UP IN",
|
||||
"UP",
|
||||
"UP AWAY",
|
||||
"RANDOM\nIN AWAY"
|
||||
};
|
||||
if (TOGGLE_STATE == LEDGE_OPTION) {
|
||||
LEDGE_STATE = (LEDGE_STATE + 1) % NUM_LEDGE_STATES;
|
||||
const char* LEDGE_strings[NUM_LEDGE_STATES] = {
|
||||
"RANDOM",
|
||||
"NORMAL",
|
||||
"ROLL",
|
||||
"JUMP",
|
||||
"ATTACK"
|
||||
};
|
||||
|
||||
print_string(acmd.module_accessor, DI_strings[DI_STATE]);
|
||||
print_string(acmd.module_accessor, LEDGE_strings[LEDGE_STATE]);
|
||||
} else {
|
||||
DI_STATE = (DI_STATE + 1) % NUM_DI_STATES;
|
||||
const char* DI_strings[NUM_DI_STATES] = {
|
||||
"NONE",
|
||||
"AWAY",
|
||||
"DOWN AWAY",
|
||||
"DOWN",
|
||||
"DOWN IN",
|
||||
"IN",
|
||||
"UP IN",
|
||||
"UP",
|
||||
"UP AWAY",
|
||||
"RANDOM\nIN AWAY"
|
||||
};
|
||||
|
||||
print_string(acmd.module_accessor, DI_strings[DI_STATE]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -3,17 +3,29 @@
|
|||
|
||||
#define NONE 0
|
||||
|
||||
// Up Taunt
|
||||
/* Up Taunt */
|
||||
bool HITBOX_VIS = 1;
|
||||
|
||||
// Side Taunt
|
||||
// 0, 0.785398, 1.570796, 2.356194, -3.14159, -2.356194, -1.570796, -0.785398
|
||||
// 0, pi/4, pi/2, 3pi/4, pi, 5pi/4, 3pi/2, 7pi/4
|
||||
/* Side Taunt
|
||||
0, 0.785398, 1.570796, 2.356194, -3.14159, -2.356194, -1.570796, -0.785398
|
||||
0, pi/4, pi/2, 3pi/4, pi, 5pi/4, 3pi/2, 7pi/4
|
||||
*/
|
||||
|
||||
int DI_STATE = 0;
|
||||
/* DI */
|
||||
int DI_STATE = NONE;
|
||||
#define DI_RANDOM_IN_AWAY 9
|
||||
#define NUM_DI_STATES 10
|
||||
|
||||
/* Ledge Option */
|
||||
#define RANDOM_LEDGE 0
|
||||
#define NEUTRAL_LEDGE 1
|
||||
#define ROLL_LEDGE 2
|
||||
#define JUMP_LEDGE 3
|
||||
#define ATTACK_LEDGE 4
|
||||
|
||||
int LEDGE_STATE = RANDOM_LEDGE;
|
||||
#define NUM_LEDGE_STATES 5
|
||||
|
||||
// Down Taunt
|
||||
#define MASH_AIRDODGE 1
|
||||
#define MASH_JUMP 2
|
||||
|
@ -21,7 +33,7 @@ int DI_STATE = 0;
|
|||
#define HOLD_SHIELD 4
|
||||
#define LEDGE_OPTION 5
|
||||
|
||||
int TOGGLE_STATE = 0;
|
||||
int TOGGLE_STATE = NONE;
|
||||
#define NUM_TOGGLE_STATES 6
|
||||
|
||||
#endif // TAUNT_TOGGLES_H
|
||||
|
|
|
@ -89,22 +89,26 @@ namespace app::lua_bind {
|
|||
return get_param_float(work_module, param_type, param_hash);
|
||||
}
|
||||
|
||||
// Force option out of hitstun
|
||||
// Force ledge option
|
||||
u64 enable_transition_term_replace(u64 module_accessor, int transition_id) {
|
||||
if (TOGGLE_STATE == LEDGE_OPTION && is_training_mode() && is_operation_cpu(module_accessor)) {
|
||||
if (StatusModule::status_kind(module_accessor) == FIGHTER_STATUS_KIND_CLIFF_WAIT) {
|
||||
if (transition_id == FIGHTER_STATUS_TRANSITION_TERM_ID_CONT_CLIFF_CLIMB) {
|
||||
int status = 0;
|
||||
int ledge_case = LEDGE_OPTION;
|
||||
|
||||
switch (app::sv_math::rand(hash40("fighter"), 4)) {
|
||||
case 0:
|
||||
if (LEDGE_OPTION == RANDOM_LEDGE)
|
||||
ledge_case = app::sv_math::rand(hash40("fighter"), 4) + 1;
|
||||
|
||||
switch (ledge_case) {
|
||||
case NEUTRAL_LEDGE:
|
||||
status = FIGHTER_STATUS_KIND_CLIFF_CLIMB; break;
|
||||
case 1:
|
||||
status = FIGHTER_STATUS_KIND_CLIFF_ATTACK; break;
|
||||
case 2:
|
||||
case ROLL_LEDGE:
|
||||
status = FIGHTER_STATUS_KIND_CLIFF_ESCAPE; break;
|
||||
case 3:
|
||||
case JUMP_LEDGE:
|
||||
status = FIGHTER_STATUS_KIND_CLIFF_JUMP1; break;
|
||||
case ATTACK_LEDGE:
|
||||
status = FIGHTER_STATUS_KIND_CLIFF_ATTACK; break;
|
||||
}
|
||||
|
||||
StatusModule::change_status_request_from_script(module_accessor, status, 1);
|
||||
|
@ -139,13 +143,6 @@ namespace app::lua_bind {
|
|||
if (category == FIGHTER_PAD_COMMAND_CATEGORY1)
|
||||
flag |= FIGHTER_PAD_CMD_CAT1_FLAG_JUMP_BUTTON;
|
||||
}
|
||||
|
||||
if (StatusModule::status_kind(module_accessor) == FIGHTER_STATUS_KIND_CLIFF_WAIT) {
|
||||
if (TOGGLE_STATE == LEDGE_OPTION) {
|
||||
if (category == FIGHTER_PAD_COMMAND_CATEGORY1)
|
||||
flag |= FIGHTER_PAD_CMD_CAT1_FLAG_WALK;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return flag;
|
||||
|
|
Loading…
Reference in a new issue