@@ -60,12 +60,15 @@ pub unsafe fn init_attack_air(fighter: &mut L2CFighterCommon) -> L2CValue {
60
60
61
61
fighter. sub_attack_air_kind ( ) ;
62
62
if motion_kind == smash:: hash40 ( "jump_aerial_f" ) || motion_kind == smash:: hash40 ( "jump_aerial_b" ) {
63
- if !WorkModule :: is_flag ( fighter. module_accessor , * FIGHTER_INSTANCE_WORK_ID_FLAG_IGNORE_2ND_MOTION )
64
- && ( ControlModule :: check_button_on ( fighter. module_accessor , * CONTROL_PAD_BUTTON_JUMP )
65
- || MotionModule :: frame_2nd ( fighter. module_accessor ) < 2.0 ) {
63
+ if !WorkModule :: is_flag ( fighter. module_accessor , * FIGHTER_INSTANCE_WORK_ID_FLAG_IGNORE_2ND_MOTION ) {
66
64
MotionModule :: add_motion_2nd ( fighter. module_accessor , Hash40 :: new_raw ( motion_kind) , frame, 1.0 , false , 1.0 ) ;
67
65
MotionModule :: set_weight ( fighter. module_accessor , 1.0 , true ) ;
68
- KineticModule :: change_kinetic ( fighter. module_accessor , * FIGHTER_KINETIC_TYPE_JUMP_AERIAL_MOTION_2ND ) ;
66
+ if ControlModule :: check_button_on ( fighter. module_accessor , * CONTROL_PAD_BUTTON_JUMP ) || frame < 2.0 {
67
+ KineticModule :: change_kinetic ( fighter. module_accessor , * FIGHTER_KINETIC_TYPE_JUMP_AERIAL_MOTION_2ND ) ;
68
+ } else {
69
+ WorkModule :: on_flag ( fighter. module_accessor , * FIGHTER_INSTANCE_WORK_ID_FLAG_JUMP_NO_LIMIT_ONCE ) ;
70
+ KineticModule :: change_kinetic ( fighter. module_accessor , * FIGHTER_KINETIC_TYPE_MOTION_FALL ) ;
71
+ }
69
72
} else {
70
73
WorkModule :: on_flag ( fighter. module_accessor , * FIGHTER_INSTANCE_WORK_ID_FLAG_JUMP_NO_LIMIT_ONCE ) ;
71
74
KineticModule :: change_kinetic ( fighter. module_accessor , * FIGHTER_KINETIC_TYPE_MOTION_FALL ) ;
@@ -135,12 +138,15 @@ unsafe extern "C" fn sub_attack_air_n(fighter: &mut L2CFighterCommon) {
135
138
return ;
136
139
}
137
140
}
138
- if !WorkModule :: is_flag ( fighter. module_accessor , * FIGHTER_INSTANCE_WORK_ID_FLAG_IGNORE_2ND_MOTION )
139
- && ( ControlModule :: check_button_on ( fighter. module_accessor , * CONTROL_PAD_BUTTON_JUMP )
140
- || MotionModule :: frame_2nd ( fighter. module_accessor ) < 2.0 ) {
141
+ if !WorkModule :: is_flag ( fighter. module_accessor , * FIGHTER_INSTANCE_WORK_ID_FLAG_IGNORE_2ND_MOTION ) {
141
142
MotionModule :: add_motion_2nd ( fighter. module_accessor , Hash40 :: new_raw ( motion_kind) , frame, 1.0 , false , 1.0 ) ;
142
143
MotionModule :: set_weight ( fighter. module_accessor , 1.0 , true ) ;
143
- KineticModule :: change_kinetic ( fighter. module_accessor , * FIGHTER_KINETIC_TYPE_JUMP_AERIAL_MOTION_2ND ) ;
144
+ if ControlModule :: check_button_on ( fighter. module_accessor , * CONTROL_PAD_BUTTON_JUMP ) || frame < 2.0 {
145
+ KineticModule :: change_kinetic ( fighter. module_accessor , * FIGHTER_KINETIC_TYPE_JUMP_AERIAL_MOTION_2ND ) ;
146
+ } else {
147
+ WorkModule :: on_flag ( fighter. module_accessor , * FIGHTER_INSTANCE_WORK_ID_FLAG_JUMP_NO_LIMIT_ONCE ) ;
148
+ KineticModule :: change_kinetic ( fighter. module_accessor , * FIGHTER_KINETIC_TYPE_MOTION_FALL ) ;
149
+ }
144
150
} else {
145
151
WorkModule :: on_flag ( fighter. module_accessor , * FIGHTER_INSTANCE_WORK_ID_FLAG_JUMP_NO_LIMIT_ONCE ) ;
146
152
KineticModule :: change_kinetic ( fighter. module_accessor , * FIGHTER_KINETIC_TYPE_MOTION_FALL ) ;
@@ -220,12 +226,15 @@ unsafe extern "C" fn sub_attack_air_f(fighter: &mut L2CFighterCommon) {
220
226
return ;
221
227
}
222
228
}
223
- if !WorkModule :: is_flag ( fighter. module_accessor , * FIGHTER_INSTANCE_WORK_ID_FLAG_IGNORE_2ND_MOTION )
224
- && ( ControlModule :: check_button_on ( fighter. module_accessor , * CONTROL_PAD_BUTTON_JUMP )
225
- || MotionModule :: frame_2nd ( fighter. module_accessor ) < 2.0 ) {
229
+ if !WorkModule :: is_flag ( fighter. module_accessor , * FIGHTER_INSTANCE_WORK_ID_FLAG_IGNORE_2ND_MOTION ) {
226
230
MotionModule :: add_motion_2nd ( fighter. module_accessor , Hash40 :: new_raw ( motion_kind) , frame, 1.0 , false , 1.0 ) ;
227
231
MotionModule :: set_weight ( fighter. module_accessor , 1.0 , true ) ;
228
- KineticModule :: change_kinetic ( fighter. module_accessor , * FIGHTER_KINETIC_TYPE_JUMP_AERIAL_MOTION_2ND ) ;
232
+ if ControlModule :: check_button_on ( fighter. module_accessor , * CONTROL_PAD_BUTTON_JUMP ) || frame < 2.0 {
233
+ KineticModule :: change_kinetic ( fighter. module_accessor , * FIGHTER_KINETIC_TYPE_JUMP_AERIAL_MOTION_2ND ) ;
234
+ } else {
235
+ WorkModule :: on_flag ( fighter. module_accessor , * FIGHTER_INSTANCE_WORK_ID_FLAG_JUMP_NO_LIMIT_ONCE ) ;
236
+ KineticModule :: change_kinetic ( fighter. module_accessor , * FIGHTER_KINETIC_TYPE_MOTION_FALL ) ;
237
+ }
229
238
} else {
230
239
WorkModule :: on_flag ( fighter. module_accessor , * FIGHTER_INSTANCE_WORK_ID_FLAG_JUMP_NO_LIMIT_ONCE ) ;
231
240
KineticModule :: change_kinetic ( fighter. module_accessor , * FIGHTER_KINETIC_TYPE_MOTION_FALL ) ;
0 commit comments