@@ -15,10 +15,10 @@ unsafe extern "C" fn roy_attack_s4_s_game(fighter: &mut L2CAgentBase) {
15
15
frame ( lua_state, 13.2 ) ;
16
16
if is_excute ( fighter) {
17
17
FT_MOTION_RATE ( fighter, 1.0 /( 14.0 -13.2 ) ) ;
18
- ATTACK ( fighter, 0 , 0 , Hash40 :: new ( "sword1" ) , 20.0 , 361 , 76 , 0 , 65 , 4.3 , 0.0 , 0.0 , 2.5 , None , None , None , 1.1 , 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_fire" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_ROY_HIT , * ATTACK_REGION_SWORD ) ;
19
- ATTACK ( fighter, 1 , 0 , Hash40 :: new ( "armr" ) , 20.0 , 361 , 76 , 0 , 65 , 3.0 , 0.0 , 0.0 , 0.0 , None , None , None , 1.1 , 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_fire" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_ROY_HIT , * ATTACK_REGION_SWORD ) ;
20
- ATTACK ( fighter, 2 , 0 , Hash40 :: new ( "colonells" ) , 20.0 , 361 , 76 , 0 , 65 , 3.5 , 0.0 , 0.0 , 0.0 , None , None , None , 1.1 , 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_fire" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_ROY_HIT , * ATTACK_REGION_SWORD ) ;
21
- ATTACK ( fighter, 3 , 0 , Hash40 :: new ( "sword1" ) , 12.0 , 361 , 73 , 0 , 30 , 3.5 , 0.0 , 0.0 , 8.75 , None , None , None , 0.9 , 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_M , * COLLISION_SOUND_ATTR_PUNCH , * ATTACK_REGION_SWORD ) ;
18
+ ATTACK ( fighter, 0 , 0 , Hash40 :: new ( "sword1" ) , 20.0 , 361 , 76 , 0 , 65 , 4.3 , 0.0 , 0.0 , 2.5 , None , None , None , 1.1 , 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_fire" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_ROY_HIT , * ATTACK_REGION_SWORD ) ;
19
+ ATTACK ( fighter, 1 , 0 , Hash40 :: new ( "armr" ) , 20.0 , 361 , 76 , 0 , 65 , 3.0 , 0.0 , 0.0 , 0.0 , None , None , None , 1.1 , 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_fire" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_ROY_HIT , * ATTACK_REGION_SWORD ) ;
20
+ ATTACK ( fighter, 2 , 0 , Hash40 :: new ( "colonells" ) , 20.0 , 361 , 76 , 0 , 65 , 3.5 , 0.0 , 0.0 , 0.0 , None , None , None , 1.1 , 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_fire" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_ROY_HIT , * ATTACK_REGION_SWORD ) ;
21
+ ATTACK ( fighter, 3 , 0 , Hash40 :: new ( "sword1" ) , 12.0 , 361 , 73 , 0 , 30 , 3.5 , 0.0 , 0.0 , 8.75 , None , None , None , 0.9 , 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_PUNCH , * ATTACK_REGION_SWORD ) ;
22
22
AttackModule :: set_attack_height_all ( boma, app:: AttackHeight ( * ATTACK_HEIGHT_HIGH ) , false ) ;
23
23
}
24
24
frame ( lua_state, 14.0 ) ;
@@ -140,38 +140,23 @@ unsafe extern "C" fn roy_attack_lw4_game(fighter: &mut L2CAgentBase) {
140
140
if is_excute ( fighter) {
141
141
WorkModule :: on_flag ( boma, * FIGHTER_STATUS_ATTACK_FLAG_START_SMASH_HOLD ) ;
142
142
}
143
- frame ( lua_state, 5.0 ) ;
144
- if is_excute ( fighter) {
145
- FT_MOTION_RATE ( fighter, 1.0 /( 6.1 -5.0 ) ) ;
146
- }
147
- frame ( lua_state, 6.1 ) ;
143
+ frame ( lua_state, 6.0 ) ;
148
144
if is_excute ( fighter) {
149
- FT_MOTION_RATE ( fighter, 3.0 /( 8.5 -6.1 ) ) ;
150
- ATTACK ( fighter, 0 , 0 , Hash40 :: new ( "sword1" ) , 18.0 , 75 , 91 , 0 , 42 , 4.25 , 0.0 , 0.0 , 2.0 , None , None , None , 1.0 , 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_M , * COLLISION_SOUND_ATTR_ROY_HIT , * ATTACK_REGION_SWORD ) ;
151
- ATTACK ( fighter, 1 , 0 , Hash40 :: new ( "armr" ) , 18.0 , 75 , 91 , 0 , 42 , 3.1 , 0.0 , 0.0 , 0.0 , None , None , None , 1.1 , 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_fire" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_FIRE , * ATTACK_REGION_SWORD ) ;
152
- ATTACK ( fighter, 2 , 0 , Hash40 :: new ( "colonells" ) , 18.0 , 75 , 91 , 0 , 42 , 3.5 , 0.0 , 0.0 , 0.0 , None , None , None , 1.1 , 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_fire" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_FIRE , * ATTACK_REGION_SWORD ) ;
145
+ ATTACK ( fighter, 0 , 0 , Hash40 :: new ( "sword1" ) , 18.0 , 75 , 91 , 0 , 42 , 4.25 , 0.0 , 0.0 , 2.0 , None , None , None , 1.0 , 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_fire" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_ROY_HIT , * ATTACK_REGION_SWORD ) ;
146
+ ATTACK ( fighter, 1 , 0 , Hash40 :: new ( "armr" ) , 18.0 , 75 , 91 , 0 , 42 , 3.1 , 0.0 , 0.0 , 0.0 , None , None , None , 1.0 , 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_fire" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_ROY_HIT , * ATTACK_REGION_SWORD ) ;
147
+ ATTACK ( fighter, 2 , 0 , Hash40 :: new ( "colonells" ) , 18.0 , 75 , 91 , 0 , 42 , 3.5 , 0.0 , 0.0 , 0.0 , None , None , None , 1.0 , 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_fire" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_ROY_HIT , * ATTACK_REGION_SWORD ) ;
153
148
ATTACK ( fighter, 3 , 0 , Hash40 :: new ( "sword1" ) , 11.0 , 361 , 87 , 0 , 25 , 3.5 , 0.0 , 0.0 , 8.5 , None , None , None , 0.9 , 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_M , * COLLISION_SOUND_ATTR_PUNCH , * ATTACK_REGION_SWORD ) ;
154
149
AttackModule :: set_attack_height_all ( boma, app:: AttackHeight ( * ATTACK_HEIGHT_LOW ) , false ) ;
155
150
}
156
- frame ( lua_state, 8.5 ) ;
157
- if is_excute ( fighter) {
158
- FT_MOTION_RATE ( fighter, 1.0 /( 9.0 -8.5 ) ) ;
159
- AttackModule :: clear_all ( boma) ;
160
- }
161
- frame ( lua_state, 9.0 ) ;
162
- if is_excute ( fighter) {
163
- FT_MOTION_RATE ( fighter, 1.0 ) ;
164
- AttackModule :: clear_all ( boma) ;
165
- }
166
- frame ( lua_state, 20.0 ) ;
151
+ frame ( lua_state, 10.0 ) ;
167
152
if is_excute ( fighter) {
168
- ATTACK ( fighter, 0 , 0 , Hash40 :: new ( "sword1" ) , 14.0 , 75 , 91 , 0 , 42 , 4.25 , 0.0 , 0.0 , 2.0 , None , None , None , 1.0 , 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_M , * COLLISION_SOUND_ATTR_ROY_HIT , * ATTACK_REGION_SWORD ) ;
169
- ATTACK ( fighter, 1 , 0 , Hash40 :: new ( "armr" ) , 14.0 , 75 , 91 , 0 , 42 , 3.1 , 0.0 , 0.0 , 0.0 , None , None , None , 1.1 , 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_fire" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_FIRE , * ATTACK_REGION_SWORD ) ;
170
- ATTACK ( fighter, 2 , 0 , Hash40 :: new ( "colonells" ) , 14.0 , 75 , 91 , 0 , 42 , 3.5 , 0.0 , 0.0 , 0.0 , None , None , None , 1.1 , 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_fire" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_FIRE , * ATTACK_REGION_SWORD ) ;
171
- ATTACK ( fighter, 3 , 0 , Hash40 :: new ( "sword1" ) , 10.0 , 361 , 87 , 0 , 25 , 3.5 , - 1.6 , 0.0 , 8.5 , None , None , None , 0.9 , 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_M , * COLLISION_SOUND_ATTR_PUNCH , * ATTACK_REGION_SWORD ) ;
153
+ ATTACK ( fighter, 0 , 0 , Hash40 :: new ( "sword1" ) , 14.0 , 75 , 91 , 0 , 42 , 4.25 , 0.0 , 0.0 , 2.0 , None , None , None , 1.0 , 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_fire " ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_ROY_HIT , * ATTACK_REGION_SWORD ) ;
154
+ ATTACK ( fighter, 1 , 0 , Hash40 :: new ( "armr" ) , 14.0 , 75 , 91 , 0 , 42 , 3.1 , 0.0 , 0.0 , 0.0 , None , None , None , 1.0 , 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_fire" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_ROY_HIT , * ATTACK_REGION_SWORD ) ;
155
+ ATTACK ( fighter, 2 , 0 , Hash40 :: new ( "colonells" ) , 14.0 , 75 , 91 , 0 , 42 , 3.5 , 0.0 , 0.0 , 0.0 , None , None , None , 1.0 , 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_fire" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_ROY_HIT , * ATTACK_REGION_SWORD ) ;
156
+ ATTACK ( fighter, 3 , 0 , Hash40 :: new ( "sword1" ) , 10.0 , 361 , 87 , 0 , 25 , 3.5 , 0.0 , 0.0 , 8.5 , None , None , None , 0.9 , 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_M , * COLLISION_SOUND_ATTR_PUNCH , * ATTACK_REGION_SWORD ) ;
172
157
AttackModule :: set_attack_height_all ( boma, app:: AttackHeight ( * ATTACK_HEIGHT_LOW ) , false ) ;
173
158
}
174
- wait ( lua_state, 3 .0) ;
159
+ frame ( lua_state, 18 .0) ;
175
160
if is_excute ( fighter) {
176
161
AttackModule :: clear_all ( boma) ;
177
162
}
@@ -201,29 +186,14 @@ unsafe extern "C" fn roy_attack_lw4_effect(fighter: &mut L2CAgentBase) {
201
186
if is_excute ( fighter) {
202
187
LANDING_EFFECT ( fighter, Hash40 :: new ( "sys_atk_smoke" ) , Hash40 :: new ( "top" ) , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , false ) ;
203
188
}
204
- frame ( lua_state, 10.0 ) ;
205
- if is_excute ( fighter) {
206
- AFTER_IMAGE_OFF ( fighter, 4 ) ;
207
- EFFECT_OFF_KIND ( fighter, Hash40 :: new ( "roy_sword_light" ) , false , true ) ;
208
- EFFECT_OFF_KIND ( fighter, Hash40 :: new ( "roy_sword" ) , false , false ) ;
209
- EFFECT_OFF_KIND ( fighter, Hash40 :: new ( "roy_fire" ) , false , true ) ;
210
- }
211
- frame ( lua_state, 19.0 ) ;
212
- if is_excute ( fighter) {
213
- EFFECT_FOLLOW ( fighter, Hash40 :: new ( "roy_attack_fire" ) , Hash40 :: new ( "sword1" ) , 0 , 0 , 0 , 0 , 0 , 0 , 0.9 , true ) ;
214
- LAST_EFFECT_SET_RATE ( fighter, 1.25 ) ;
215
- EFFECT_FOLLOW ( fighter, Hash40 :: new ( "roy_fire" ) , Hash40 :: new ( "sword1" ) , 0 , 0 , 0 , 0 , 0 , 0 , 0.8 , true ) ;
216
- LAST_EFFECT_SET_RATE ( fighter, 1.25 ) ;
217
- AFTER_IMAGE4_ON_arg29 ( fighter, Hash40 :: new ( "tex_roy_sword1" ) , Hash40 :: new ( "tex_roy_sword2" ) , 15 , Hash40 :: new ( "sword1" ) , 0.0 , 0.0 , -0.8 , Hash40 :: new ( "sword1" ) , -0.0 , -0.0 , 14.5 , true , Hash40 :: new ( "roy_sword" ) , Hash40 :: new ( "sword1" ) , 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.3 , 0.2 ) ;
218
- }
219
189
frame ( lua_state, 20.0 ) ;
220
190
if is_excute ( fighter) {
221
191
EFFECT_FOLLOW ( fighter, Hash40 :: new ( "roy_sword_light" ) , Hash40 :: new ( "sword1" ) , 0 , 0 , 10.55 , 0 , 0 , 0 , 1 , true ) ;
222
192
LAST_EFFECT_SET_ALPHA ( fighter, 0.4 ) ;
223
193
EFFECT_FOLLOW ( fighter, Hash40 :: new ( "roy_sword_light" ) , Hash40 :: new ( "sword1" ) , 0 , 0 , 7 , 0 , 0 , 0 , 1 , true ) ;
224
194
LAST_EFFECT_SET_ALPHA ( fighter, 0.4 ) ;
225
195
}
226
- frame ( lua_state, 19 .0) ;
196
+ frame ( lua_state, 21 .0) ;
227
197
if is_excute ( fighter) {
228
198
LANDING_EFFECT ( fighter, Hash40 :: new ( "sys_atk_smoke" ) , Hash40 :: new ( "top" ) , 0 , 0 , 0 , 0 , 180 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , false ) ;
229
199
}
0 commit comments