@@ -4,10 +4,10 @@ use super::*;
4
4
use globals:: * ;
5
5
6
6
unsafe fn dspecial_cancels ( boma : & mut BattleObjectModuleAccessor , situation_kind : i32 , frame : f32 ) {
7
- if frame < 12.0
8
- || boma . is_button_on ( Buttons :: SpecialAll )
9
- || StatusModule :: is_changing ( boma )
10
- || ! boma. is_status_one_of ( & [ * FIGHTER_MURABITO_STATUS_KIND_SPECIAL_LW_WATER_AIR ,
7
+ if StatusModule :: is_changing ( boma ) {
8
+ return ;
9
+ }
10
+ if boma. is_status_one_of ( & [ * FIGHTER_MURABITO_STATUS_KIND_SPECIAL_LW_WATER_AIR ,
11
11
* FIGHTER_MURABITO_STATUS_KIND_SPECIAL_LW_WATER_DASH_B ,
12
12
* FIGHTER_MURABITO_STATUS_KIND_SPECIAL_LW_WATER_DASH_F ,
13
13
* FIGHTER_MURABITO_STATUS_KIND_SPECIAL_LW_WATER_JUMP ,
@@ -17,13 +17,18 @@ unsafe fn dspecial_cancels(boma: &mut BattleObjectModuleAccessor, situation_kind
17
17
* FIGHTER_MURABITO_STATUS_KIND_SPECIAL_LW_WATER_WALK_B ,
18
18
* FIGHTER_MURABITO_STATUS_KIND_SPECIAL_LW_WATER_WALK_BRAKE_B ,
19
19
* FIGHTER_MURABITO_STATUS_KIND_SPECIAL_LW_WATER_WALK_BRAKE_F ,
20
- * FIGHTER_MURABITO_STATUS_KIND_SPECIAL_LW_WATER_WALK_F ] ) {
21
- return ;
20
+ * FIGHTER_MURABITO_STATUS_KIND_SPECIAL_LW_WATER_WALK_F ] )
21
+ && frame > 12.0
22
+ && boma. is_button_on ( Buttons :: Guard ) {
23
+ if situation_kind == * SITUATION_KIND_AIR {
24
+ WorkModule :: unable_transition_term_group ( boma, * FIGHTER_STATUS_TRANSITION_GROUP_CHK_AIR_ESCAPE ) ;
25
+ ControlModule :: clear_command_one ( boma, * FIGHTER_PAD_COMMAND_CATEGORY1 , * FIGHTER_PAD_CMD_CAT1_AIR_ESCAPE ) ;
26
+ StatusModule :: change_status_request_from_script ( boma, * FIGHTER_STATUS_KIND_FALL , false ) ;
27
+ }
28
+ if situation_kind == * SITUATION_KIND_GROUND {
29
+ StatusModule :: change_status_request_from_script ( boma, * FIGHTER_STATUS_KIND_WAIT , false ) ;
30
+ }
22
31
}
23
- WorkModule :: off_flag ( boma, * FIGHTER_MURABITO_INSTANCE_WORK_ID_FLAG_WATER ) ;
24
- EffectModule :: kill_kind ( boma, Hash40 :: new ( "murabito_water" ) , false , false ) ;
25
- SoundModule :: stop_se ( boma, Hash40 :: new ( "se_murabito_special_l02" ) , 0 ) ;
26
- CancelModule :: enable_cancel ( boma) ;
27
32
}
28
33
29
34
unsafe fn uspecial_cancels ( boma : & mut BattleObjectModuleAccessor , situation_kind : i32 , frame : f32 ) {
0 commit comments