@@ -117,20 +117,15 @@ unsafe fn sora_attack_air_f_game(fighter: &mut L2CAgentBase) {
117
117
frame ( lua_state, 8.0 ) ;
118
118
if is_excute ( fighter) {
119
119
MotionModule :: set_rate ( boma, ( 1.0 ) ) ;
120
- ATTACK ( fighter, 0 , 0 , Hash40 :: new ( "haver" ) , 4.0 , 64 , 4 , 0 , 60 , 3.5 , 0.0 , - 1.2 , 0.0 , None , None , None , 0.5 , 0.8 , * ATTACK_SETOFF_KIND_ON , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_M , * COLLISION_SOUND_ATTR_TRAIL_SLASH , * ATTACK_REGION_SWORD ) ;
121
- ATTACK ( fighter, 1 , 0 , Hash40 :: new ( "haver" ) , 4.0 , 68 , 4 , 0 , 55 , 3.5 , 0.0 , 4.5 , 0.0 , None , None , None , 0.5 , 0.8 , * ATTACK_SETOFF_KIND_ON , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_M , * COLLISION_SOUND_ATTR_TRAIL_SLASH , * ATTACK_REGION_SWORD ) ;
122
- ATTACK ( fighter, 2 , 0 , Hash40 :: new ( "haver" ) , 4.0 , 72 , 4 , 0 , 55 , 3.5 , 0.0 , 9.0 , 0.0 , None , None , None , 0.5 , 0.8 , * ATTACK_SETOFF_KIND_ON , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_M , * COLLISION_SOUND_ATTR_TRAIL_SLASH , * ATTACK_REGION_SWORD ) ;
123
- AttackModule :: set_add_reaction_frame_revised ( boma, 0 , 3 .0, false ) ;
124
- AttackModule :: set_add_reaction_frame_revised ( boma, 1 , 6 .0, false ) ;
125
- AttackModule :: set_add_reaction_frame_revised ( boma, 2 , 10 .0, false ) ;
120
+ ATTACK ( fighter, 0 , 0 , Hash40 :: new ( "haver" ) , 4.5 , 75 , 4 , 0 , 60 , 4.0 , 0.0 , 9.0 , 0.0 , None , None , None , 0.5 , 1.0 , * ATTACK_SETOFF_KIND_ON , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_M , * COLLISION_SOUND_ATTR_TRAIL_SLASH , * ATTACK_REGION_SWORD ) ;
121
+ ATTACK ( fighter, 1 , 0 , Hash40 :: new ( "haver" ) , 4.5 , 82 , 4 , 0 , 55 , 4.0 , 0.0 , 4.5 , 0.0 , None , None , None , 0.5 , 1.0 , * ATTACK_SETOFF_KIND_ON , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_M , * COLLISION_SOUND_ATTR_TRAIL_SLASH , * ATTACK_REGION_SWORD ) ;
122
+ ATTACK ( fighter, 2 , 0 , Hash40 :: new ( "haver" ) , 4.5 , 82 , 4 , 0 , 55 , 4.0 , 0.0 , - 1.2 , 0.0 , None , None , None , 0.5 , 1.0 , * ATTACK_SETOFF_KIND_ON , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_M , * COLLISION_SOUND_ATTR_TRAIL_SLASH , * ATTACK_REGION_SWORD ) ;
123
+ AttackModule :: set_add_reaction_frame_revised ( boma, 0 , 8 .0, false ) ;
124
+ AttackModule :: set_add_reaction_frame_revised ( boma, 1 , 4 .0, false ) ;
125
+ AttackModule :: set_add_reaction_frame_revised ( boma, 2 , 4 .0, false ) ;
126
126
}
127
127
wait ( lua_state, 2.0 ) ;
128
- FT_MOTION_RATE ( fighter, 1.3 ) ;
129
- if is_excute ( fighter) {
130
- ATTACK ( fighter, 0 , 0 , Hash40 :: new ( "haver" ) , 4.0 , 58 , 4 , 0 , 68 , 3.5 , 0.0 , -1.2 , 0.0 , None , None , None , 0.5 , 0.8 , * ATTACK_SETOFF_KIND_ON , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_M , * COLLISION_SOUND_ATTR_TRAIL_SLASH , * ATTACK_REGION_SWORD ) ;
131
- ATTACK ( fighter, 1 , 0 , Hash40 :: new ( "haver" ) , 4.0 , 76 , 4 , 0 , 68 , 3.5 , 0.0 , 4.5 , 0.0 , None , None , None , 0.5 , 0.8 , * ATTACK_SETOFF_KIND_ON , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_M , * COLLISION_SOUND_ATTR_TRAIL_SLASH , * ATTACK_REGION_SWORD ) ;
132
- ATTACK ( fighter, 2 , 0 , Hash40 :: new ( "haver" ) , 4.0 , 92 , 4 , 0 , 68 , 3.5 , 0.0 , 9.0 , 0.0 , None , None , None , 0.5 , 0.8 , * ATTACK_SETOFF_KIND_ON , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_M , * COLLISION_SOUND_ATTR_TRAIL_SLASH , * ATTACK_REGION_SWORD ) ;
133
- }
128
+ FT_MOTION_RATE ( fighter, 1.4 ) ;
134
129
wait ( lua_state, 5.0 ) ;
135
130
FT_MOTION_RATE ( fighter, 1.0 ) ;
136
131
if is_excute ( fighter) {
@@ -181,22 +176,16 @@ unsafe fn sora_attack_air_f2_game(fighter: &mut L2CAgentBase) {
181
176
frame ( lua_state, 7.0 ) ;
182
177
FT_MOTION_RATE ( fighter, 1.0 ) ;
183
178
if is_excute ( fighter) {
184
- ATTACK ( fighter, 0 , 0 , Hash40 :: new ( "haver" ) , 4.0 , 84 , 8 , 0 , 64 , 3.8 , 0.0 , 0.0 , 0.0 , None , None , None , 0.5 , 0.8 , * ATTACK_SETOFF_KIND_OFF , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_M , * COLLISION_SOUND_ATTR_TRAIL_CLEAVE , * ATTACK_REGION_SWORD ) ;
185
- ATTACK ( fighter, 1 , 0 , Hash40 :: new ( "haver" ) , 4.0 , 86 , 8 , 0 , 68 , 3.8 , 0.0 , 4.5 , 0.0 , None , None , None , 0.5 , 0.8 , * ATTACK_SETOFF_KIND_OFF , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_M , * COLLISION_SOUND_ATTR_TRAIL_CLEAVE , * ATTACK_REGION_SWORD ) ;
186
- ATTACK ( fighter, 2 , 0 , Hash40 :: new ( "haver" ) , 4.0 , 90 , 8 , 0 , 76 , 3.8 , 0.0 , 9.0 , 0.0 , None , None , None , 0.5 , 0.8 , * ATTACK_SETOFF_KIND_OFF , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_M , * COLLISION_SOUND_ATTR_TRAIL_CLEAVE , * ATTACK_REGION_SWORD ) ;
187
- }
188
- wait ( lua_state, 4.0 ) ;
189
- if is_excute ( fighter) {
190
- ATTACK ( fighter, 0 , 0 , Hash40 :: new ( "haver" ) , 4.0 , 48 , 10 , 0 , 42 , 3.8 , 0.0 , 0.0 , 0.0 , None , None , None , 0.5 , 0.8 , * ATTACK_SETOFF_KIND_OFF , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_M , * COLLISION_SOUND_ATTR_TRAIL_CLEAVE , * ATTACK_REGION_SWORD ) ;
191
- ATTACK ( fighter, 1 , 0 , Hash40 :: new ( "haver" ) , 4.0 , 64 , 10 , 0 , 44 , 3.8 , 0.0 , 4.5 , 0.0 , None , None , None , 0.5 , 0.8 , * ATTACK_SETOFF_KIND_OFF , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_M , * COLLISION_SOUND_ATTR_TRAIL_CLEAVE , * ATTACK_REGION_SWORD ) ;
192
- ATTACK ( fighter, 2 , 0 , Hash40 :: new ( "haver" ) , 4.0 , 92 , 10 , 0 , 46 , 3.8 , 0.0 , 9.0 , 0.0 , None , None , None , 0.5 , 0.8 , * ATTACK_SETOFF_KIND_OFF , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_M , * COLLISION_SOUND_ATTR_TRAIL_CLEAVE , * ATTACK_REGION_SWORD ) ;
193
- }
194
- frame ( lua_state, 13.0 ) ;
195
- if is_excute ( fighter) {
196
- AttackModule :: clear_all ( boma) ;
179
+ ATTACK ( fighter, 0 , 0 , Hash40 :: new ( "haver" ) , 4.5 , 78 , 8 , 0 , 75 , 4.0 , 0.0 , 9.0 , 0.0 , None , None , None , 0.5 , 1.0 , * ATTACK_SETOFF_KIND_OFF , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_M , * COLLISION_SOUND_ATTR_TRAIL_CLEAVE , * ATTACK_REGION_SWORD ) ;
180
+ ATTACK ( fighter, 1 , 0 , Hash40 :: new ( "haver" ) , 4.5 , 85 , 8 , 0 , 65 , 4.0 , 0.0 , 4.5 , 0.0 , None , None , None , 0.5 , 1.0 , * ATTACK_SETOFF_KIND_OFF , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_M , * COLLISION_SOUND_ATTR_TRAIL_CLEAVE , * ATTACK_REGION_SWORD ) ;
181
+ ATTACK ( fighter, 2 , 0 , Hash40 :: new ( "haver" ) , 4.5 , 85 , 8 , 0 , 65 , 4.0 , 0.0 , 0.0 , 0.0 , None , None , None , 0.5 , 1.0 , * ATTACK_SETOFF_KIND_OFF , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_M , * COLLISION_SOUND_ATTR_TRAIL_CLEAVE , * ATTACK_REGION_SWORD ) ;
182
+ AttackModule :: set_add_reaction_frame_revised ( boma, 0 , -1.0 , false ) ;
183
+ AttackModule :: set_add_reaction_frame_revised ( boma, 1 , -5.0 , false ) ;
184
+ AttackModule :: set_add_reaction_frame_revised ( boma, 2 , -5.0 , false ) ;
197
185
}
198
186
frame ( lua_state, 15.0 ) ;
199
187
if is_excute ( fighter) {
188
+ AttackModule :: clear_all ( boma) ;
200
189
MotionModule :: set_rate ( boma, 1.0 ) ;
201
190
}
202
191
frame ( lua_state, 18.0 ) ;
@@ -230,12 +219,11 @@ unsafe fn sora_attack_air_f3_game(fighter: &mut L2CAgentBase) {
230
219
frame ( lua_state, 5.0 ) ;
231
220
FT_MOTION_RATE ( fighter, 0.7 ) ;
232
221
if is_excute ( fighter) {
233
- ATTACK ( fighter, 0 , 0 , Hash40 :: new ( "haver" ) , 5.5 , 40 , 110 , 0 , 50 , 4.6 , 0.0 , 0.0 , -1.8 , None , None , None , 1.5 , 1.0 , * ATTACK_SETOFF_KIND_OFF , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_TRAIL_SLASH , * ATTACK_REGION_SWORD ) ;
234
- ATTACK ( fighter, 1 , 0 , Hash40 :: new ( "haver" ) , 5.5 , 40 , 110 , 0 , 50 , 4.6 , 0.0 , 4.5 , -1.8 , None , None , None , 1.5 , 1.0 , * ATTACK_SETOFF_KIND_OFF , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_TRAIL_SLASH , * ATTACK_REGION_SWORD ) ;
235
- ATTACK ( fighter, 2 , 0 , Hash40 :: new ( "haver" ) , 5.5 , 40 , 110 , 0 , 50 , 4.6 , 0.0 , 9.5 , -1.8 , None , None , None , 1.5 , 1.0 , * ATTACK_SETOFF_KIND_OFF , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_TRAIL_SLASH , * ATTACK_REGION_SWORD ) ;
236
- ATTACK ( fighter, 3 , 0 , Hash40 :: new ( "shoulderr" ) , 5.5 , 50 , 110 , 0 , 50 , 3.5 , 0.0 , 0.0 , 0.0 , None , None , None , 1.5 , 1.0 , * ATTACK_SETOFF_KIND_OFF , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_TRAIL_SLASH , * ATTACK_REGION_SWORD ) ;
222
+ ATTACK ( fighter, 2 , 0 , Hash40 :: new ( "haver" ) , 4.5 , 40 , 110 , 0 , 50 , 4.6 , 0.0 , 0.0 , -1.8 , None , None , None , 1.5 , 1.0 , * ATTACK_SETOFF_KIND_OFF , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_TRAIL_SLASH , * ATTACK_REGION_SWORD ) ;
223
+ ATTACK ( fighter, 1 , 0 , Hash40 :: new ( "haver" ) , 4.5 , 40 , 110 , 0 , 50 , 4.6 , 0.0 , 4.5 , -1.8 , None , None , None , 1.5 , 1.0 , * ATTACK_SETOFF_KIND_OFF , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_TRAIL_SLASH , * ATTACK_REGION_SWORD ) ;
224
+ ATTACK ( fighter, 0 , 0 , Hash40 :: new ( "haver" ) , 5.5 , 40 , 110 , 0 , 50 , 4.6 , 0.0 , 9.5 , -1.8 , None , None , None , 1.5 , 1.0 , * ATTACK_SETOFF_KIND_OFF , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_TRAIL_SLASH , * ATTACK_REGION_SWORD ) ;
237
225
}
238
- frame ( lua_state, 15 .0) ;
226
+ frame ( lua_state, 16 .0) ;
239
227
FT_MOTION_RATE ( fighter, 1.0 ) ;
240
228
if is_excute ( fighter) {
241
229
AttackModule :: clear_all ( boma) ;
@@ -250,7 +238,7 @@ unsafe fn sora_attack_air_f3_game(fighter: &mut L2CAgentBase) {
250
238
unsafe fn sora_attack_air_f3_effect ( fighter : & mut L2CAgentBase ) {
251
239
let lua_state = fighter. lua_state_agent ;
252
240
let boma = fighter. boma ( ) ;
253
- frame ( lua_state, 5 .0) ;
241
+ frame ( lua_state, 4 .0) ;
254
242
if is_excute ( fighter) {
255
243
EFFECT_FOLLOW ( fighter, Hash40 :: new ( "trail_keyblade_flare" ) , Hash40 :: new ( "haver" ) , 0 , 0 , 0 , 0 , 0 , 0 , 1 , true ) ;
256
244
AFTER_IMAGE4_ON_arg29 ( fighter, Hash40 :: new ( "tex_trail_keyblade1" ) , Hash40 :: new ( "tex_trail_keyblade2" ) , 7 , Hash40 :: new ( "haver" ) , 0.0 , 2.0 , 0.0 , Hash40 :: new ( "haver" ) , 0.0 , 13.8 , 0.0 , true , Hash40 :: new ( "null" ) , Hash40 :: new ( "haver" ) , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 1.0 , 0 , * EFFECT_AXIS_X , 0 , * TRAIL_BLEND_ALPHA , 101 , * TRAIL_CULL_NONE , 1.4 , 0.2 ) ;
0 commit comments