@@ -234,11 +234,9 @@ unsafe fn gaogaen_special_s_start_game(fighter: &mut L2CAgentBase) {
234
234
if is_excute ( fighter) {
235
235
if VarModule :: is_flag ( boma. object ( ) , vars:: gaogaen:: instance:: IS_SPECIAL_S_ALTERNATE_GRAB ) {
236
236
// Spawn the air grab/OTG grab box if we've detected we hit the windbox
237
- if VarModule :: is_flag ( boma. object ( ) , vars:: gaogaen:: instance:: IS_SPECIAL_S_GROUND_GRAB ) {
238
- if AttackModule :: is_infliction_status ( boma, * COLLISION_KIND_MASK_HIT ) {
239
- AttackModule :: clear_all ( boma) ;
240
- CATCH ( fighter, 0 , Hash40 :: new ( "top" ) , 7.0 , 0.0 , 5.0 , 2.0 , Some ( 0.0 ) , Some ( 5.0 ) , Some ( 7.0 ) , * FIGHTER_STATUS_KIND_SWING_GAOGAEN_CATCHED , * COLLISION_SITUATION_MASK_GA ) ;
241
- }
237
+ if VarModule :: is_flag ( boma. object ( ) , vars:: gaogaen:: instance:: IS_SPECIAL_S_GROUND_GRAB ) {
238
+ AttackModule :: clear_all ( boma) ;
239
+ CATCH ( fighter, 0 , Hash40 :: new ( "top" ) , 4.0 , 0.0 , 4.0 , 2.0 , Some ( 0.0 ) , Some ( 4.0 ) , Some ( 8.0 ) , * FIGHTER_STATUS_KIND_SWING_GAOGAEN_CATCHED , * COLLISION_SITUATION_MASK_GA ) ;
242
240
}
243
241
else if VarModule :: is_flag ( boma. object ( ) , vars:: gaogaen:: instance:: IS_SPECIAL_S_AIR_GRAB ) {
244
242
// Clear windbox and spawn the grab
@@ -253,33 +251,12 @@ unsafe fn gaogaen_special_s_start_game(fighter: &mut L2CAgentBase) {
253
251
CATCH ( fighter, 0 , Hash40 :: new ( "top" ) , 4.0 , 0.0 , 8.0 , 2.0 , Some ( 0.0 ) , Some ( 8.0 ) , Some ( 8.0 ) , * FIGHTER_STATUS_KIND_SWING_GAOGAEN_CATCHED , * COLLISION_SITUATION_MASK_GA ) ;
254
252
}
255
253
}
256
- wait ( lua_state, 1.0 ) ;
257
- for _ in 0 ..15 {
258
- // Loop the logic on frame 18 while the grabs should be able to proc...
259
- if is_excute ( fighter) {
260
- if VarModule :: is_flag ( boma. object ( ) , vars:: gaogaen:: instance:: IS_SPECIAL_S_ALTERNATE_GRAB ) {
261
- if AttackModule :: is_infliction_status ( boma, * COLLISION_KIND_MASK_HIT ) {
262
- if VarModule :: is_flag ( boma. object ( ) , vars:: gaogaen:: instance:: IS_SPECIAL_S_GROUND_GRAB ) {
263
- AttackModule :: clear_all ( boma) ;
264
- CATCH ( fighter, 0 , Hash40 :: new ( "top" ) , 7.0 , 0.0 , 5.0 , 2.0 , Some ( 0.0 ) , Some ( 5.0 ) , Some ( 7.0 ) , * FIGHTER_STATUS_KIND_SWING_GAOGAEN_CATCHED , * COLLISION_SITUATION_MASK_GA ) ;
265
- }
266
- }
267
- }
268
- }
269
- wait ( lua_state, 1.0 ) ;
270
- }
271
254
frame ( lua_state, 35.0 ) ;
272
255
if is_excute ( fighter) {
273
256
AttackModule :: clear_all ( boma) ;
274
257
if !VarModule :: is_flag ( boma. object ( ) , vars:: gaogaen:: instance:: IS_SPECIAL_S_GROUND_GRAB ) {
275
258
grab ! ( fighter, * MA_MSC_CMD_GRAB_CLEAR_ALL ) ;
276
259
}
277
- // Account for hitting the very last frame of OTG windbox
278
- else if VarModule :: is_flag ( boma. object ( ) , vars:: gaogaen:: instance:: IS_SPECIAL_S_GROUND_GRAB ) {
279
- if AttackModule :: is_infliction_status ( boma, * COLLISION_KIND_MASK_HIT ) {
280
- CATCH ( fighter, 0 , Hash40 :: new ( "top" ) , 7.0 , 0.0 , 5.0 , 2.0 , Some ( 0.0 ) , Some ( 5.0 ) , Some ( 7.0 ) , * FIGHTER_STATUS_KIND_SWING_GAOGAEN_CATCHED , * COLLISION_SITUATION_MASK_GA ) ;
281
- }
282
- }
283
260
GrabModule :: set_rebound ( boma, false ) ;
284
261
HitModule :: set_status_all ( boma, app:: HitStatus ( * HIT_STATUS_NORMAL ) , 0 ) ;
285
262
}
0 commit comments