@@ -139,6 +139,7 @@ unsafe fn rockman_attack_air_b_game(fighter: &mut L2CAgentBase) {
139
139
let lua_state = fighter. lua_state_agent ;
140
140
let boma = fighter. boma ( ) ;
141
141
frame ( lua_state, 4.0 ) ;
142
+ FT_MOTION_RATE ( fighter, 2.0 / 3.0 ) ;
142
143
if is_excute ( fighter) {
143
144
WorkModule :: on_flag ( boma, * FIGHTER_STATUS_ATTACK_AIR_FLAG_ENABLE_LANDING ) ;
144
145
ATTACK ( fighter, 0 , 0 , Hash40 :: new ( "top" ) , 4.5 , 365 , 19 , 0 , 40 , 5.0 , 0.0 , 9.5 , -14.0 , None , None , None , 1.0 , 1.0 , * ATTACK_SETOFF_KIND_ON , * ATTACK_LR_CHECK_B , 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_S , * COLLISION_SOUND_ATTR_CUTUP , * ATTACK_REGION_SWORD ) ;
@@ -162,6 +163,7 @@ unsafe fn rockman_attack_air_b_game(fighter: &mut L2CAgentBase) {
162
163
AttackModule :: clear_all ( boma) ;
163
164
}
164
165
wait ( lua_state, 1.0 ) ;
166
+ FT_MOTION_RATE ( fighter, 1.0 ) ;
165
167
if is_excute ( fighter) {
166
168
ATTACK ( fighter, 0 , 0 , Hash40 :: new ( "top" ) , 5.0 , 361 , 200 , 0 , 20 , 7.6 , 0.0 , 9.5 , -13.0 , None , None , None , 1.5 , 1.0 , * ATTACK_SETOFF_KIND_ON , * ATTACK_LR_CHECK_POS , 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_CUTUP , * ATTACK_REGION_SWORD ) ;
167
169
ATTACK ( fighter, 1 , 0 , Hash40 :: new ( "top" ) , 5.0 , 361 , 200 , 0 , 20 , 4.5 , 0.0 , 9.5 , -6.0 , None , None , None , 1.5 , 1.0 , * ATTACK_SETOFF_KIND_ON , * ATTACK_LR_CHECK_POS , 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_CUTUP , * ATTACK_REGION_SWORD ) ;
@@ -177,6 +179,16 @@ unsafe fn rockman_attack_air_b_game(fighter: &mut L2CAgentBase) {
177
179
178
180
}
179
181
182
+ #[ acmd_script( agent = "rockman" , script = "effect_attackairb" , category = ACMD_EFFECT , low_priority) ]
183
+ unsafe fn rockman_attack_air_b_effect ( fighter : & mut L2CAgentBase ) {
184
+ let lua_state = fighter. lua_state_agent ;
185
+ frame ( lua_state, 3.0 ) ;
186
+ if is_excute ( fighter) {
187
+ EFFECT_FOLLOW_FLIP ( fighter, Hash40 :: new ( "rockman_slashcraw" ) , Hash40 :: new ( "rockman_slashcraw" ) , Hash40 :: new ( "top" ) , 0 , 10 , 9 , 0 , 0 , 0 , 1 , true , * EF_FLIP_YZ ) ;
188
+ LAST_EFFECT_SET_RATE ( fighter, 3.0 / 2.0 ) ;
189
+ }
190
+ }
191
+
180
192
#[ acmd_script( agent = "rockman" , script = "game_attackairhi" , category = ACMD_GAME , low_priority) ]
181
193
unsafe fn rockman_attack_air_hi_game ( fighter : & mut L2CAgentBase ) {
182
194
let lua_state = fighter. lua_state_agent ;
@@ -242,7 +254,9 @@ pub fn install() {
242
254
rockman_attack_air_f_game,
243
255
rockman_attack_air_f_effect,
244
256
rockman_attack_air_f_expression,
257
+
245
258
rockman_attack_air_b_game,
259
+ rockman_attack_air_b_effect,
246
260
247
261
rockman_attack_air_hi_game,
248
262
0 commit comments