1
0
Fork 0
mirror of https://github.com/jugeeya/UltimateTrainingModpack.git synced 2025-01-31 22:47:25 +00:00

Add Roll Options (#80)

* Add Roll Options

Added forward/backwards roll options

* Update TrainingModpackOverlay

* Change Option Order

* Update TrainingModpackOverlay
This commit is contained in:
sidschingis 2020-06-09 20:46:18 +02:00 committed by GitHub
parent 9a1e572a4b
commit eb0e639122
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 43 additions and 4 deletions

@ -1 +1 @@
Subproject commit e6043301ef518e9d8fb2a663c1a5aa261b3a7f41
Subproject commit e9e48521ee22ba1d022cc639d366670aaea95b7d

View file

@ -149,7 +149,9 @@ pub enum Mash {
Jump = 2,
Attack = 3,
Spotdodge = 4,
Random = 5
RollForward = 5,
RollBack = 6,
Random = 7,
}
impl From<i32> for Mash {
@ -160,7 +162,9 @@ impl From<i32> for Mash {
2 => Mash::Jump,
3 => Mash::Attack,
4 => Mash::Spotdodge,
5 => Mash::Random,
5 => Mash::RollForward,
6 => Mash::RollBack,
7 => Mash::Random,
_ => panic!("Invalid mash state {}", x)
}
}

View file

@ -49,6 +49,16 @@ pub unsafe fn get_command_flag_cat(
*flag |= *FIGHTER_PAD_CMD_CAT1_FLAG_ESCAPE;
}
}
Mash::RollForward => {
if category == FIGHTER_PAD_COMMAND_CATEGORY1 {
*flag |= *FIGHTER_PAD_CMD_CAT1_FLAG_ESCAPE_F;
}
}
Mash::RollBack => {
if category == FIGHTER_PAD_COMMAND_CATEGORY1 {
*flag |= *FIGHTER_PAD_CMD_CAT1_FLAG_ESCAPE_B;
}
}
Mash::Attack => {
if category == FIGHTER_PAD_COMMAND_CATEGORY1 {
use Attack::*;

View file

@ -131,7 +131,32 @@ pub unsafe fn handle_sub_guard_cont(fighter: &mut L2CFighterCommon) -> L2CValue
}
}
}
if MENU.mash_state == Mash::RollForward {
if StatusModule::prev_status_kind(module_accessor, 0) == FIGHTER_STATUS_KIND_GUARD_DAMAGE {
if WorkModule::is_enable_transition_term(
module_accessor,
*FIGHTER_STATUS_TRANSITION_TERM_ID_CONT_ESCAPE,
) {
fighter.fighter_base.change_status(
L2CValue::new_int(*FIGHTER_STATUS_KIND_ESCAPE_F as u64),
L2CValue::new_bool(true),
);
}
}
}
if MENU.mash_state == Mash::RollBack {
if StatusModule::prev_status_kind(module_accessor, 0) == FIGHTER_STATUS_KIND_GUARD_DAMAGE {
if WorkModule::is_enable_transition_term(
module_accessor,
*FIGHTER_STATUS_TRANSITION_TERM_ID_CONT_ESCAPE,
) {
fighter.fighter_base.change_status(
L2CValue::new_int(*FIGHTER_STATUS_KIND_ESCAPE_B as u64),
L2CValue::new_bool(true),
);
}
}
}
if MENU.mash_state == Mash::Attack {
if MENU.mash_attack_state == Attack::UpB {
if StatusModule::prev_status_kind(module_accessor, 0) == FIGHTER_STATUS_KIND_GUARD_DAMAGE {