@@ -1328,6 +1328,94 @@ unsafe extern "C" fn palutena_special_n_expression(agent: &mut L2CAgentBase) {
1328
1328
}
1329
1329
}
1330
1330
1331
+ unsafe extern "C" fn richter_special_n_effect ( agent : & mut L2CAgentBase ) {
1332
+ let lua_state = agent. lua_state_agent ;
1333
+ let boma = agent. boma ( ) ;
1334
+ frame ( lua_state, 1.0 ) ;
1335
+ if is_excute ( agent) {
1336
+ EFFECT_FOLLOW ( agent, Hash40 :: new ( "richter_bottle_appear" ) , Hash40 :: new ( "haver" ) , 0 , 0 , 0 , 0 , 0 , 0 , 0.4 , true ) ;
1337
+ }
1338
+ frame ( lua_state, 10.0 ) ;
1339
+ if is_excute ( agent) {
1340
+ LANDING_EFFECT ( agent, Hash40 :: new ( "sys_action_smoke_h" ) , Hash40 :: new ( "top" ) , 5 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , false ) ;
1341
+ }
1342
+ frame ( lua_state, 14.0 ) ;
1343
+ if is_excute ( agent) {
1344
+ EFFECT ( agent, Hash40 :: new ( "sys_sp_flash" ) , Hash40 :: new ( "haver" ) , 0 , 0 , 0 , 0 , 0 , 0 , 0.4 , 0 , 0 , 0 , 0 , 0 , 0 , false ) ;
1345
+ LAST_EFFECT_SET_COLOR ( agent, 1.0 , 1.0 , 0.5 ) ;
1346
+ LAST_EFFECT_SET_RATE ( agent, 0.6 ) ;
1347
+ }
1348
+ frame ( lua_state, 21.0 ) ;
1349
+ if is_excute ( agent) {
1350
+ EFFECT_OFF_KIND ( agent, Hash40 :: new ( "sys_sp_flash" ) , false , true ) ;
1351
+ }
1352
+ }
1353
+
1354
+ unsafe extern "C" fn richter_special_n_sound ( agent : & mut L2CAgentBase ) {
1355
+ let lua_state = agent. lua_state_agent ;
1356
+ let boma = agent. boma ( ) ;
1357
+ frame ( lua_state, 13.0 ) ;
1358
+ if is_excute ( agent) {
1359
+ PLAY_SE ( agent, Hash40 :: new ( "se_richter_special_l01" ) ) ;
1360
+ PLAY_SE ( agent, Hash40 :: new ( "vc_kirby_copy_richter_01" ) ) ;
1361
+ }
1362
+ }
1363
+
1364
+ unsafe extern "C" fn richter_special_n_expression ( agent : & mut L2CAgentBase ) {
1365
+ let lua_state = agent. lua_state_agent ;
1366
+ let boma = agent. boma ( ) ;
1367
+ if is_excute ( agent) {
1368
+ ItemModule :: set_have_item_visibility ( boma, false , 0 ) ;
1369
+ slope ! ( agent, * MA_MSC_CMD_SLOPE_SLOPE , * SLOPE_STATUS_LR ) ;
1370
+ }
1371
+ frame ( lua_state, 14.0 ) ;
1372
+ if is_excute ( agent) {
1373
+ ControlModule :: set_rumble ( boma, Hash40 :: new ( "rbkind_lightthrow4item" ) , 0 , false , * BATTLE_OBJECT_ID_INVALID as u32 ) ;
1374
+ }
1375
+ }
1376
+
1377
+ unsafe extern "C" fn richter_special_air_n_effect ( agent : & mut L2CAgentBase ) {
1378
+ let lua_state = agent. lua_state_agent ;
1379
+ let boma = agent. boma ( ) ;
1380
+ frame ( lua_state, 1.0 ) ;
1381
+ if is_excute ( agent) {
1382
+ EFFECT_FOLLOW ( agent, Hash40 :: new ( "richter_bottle_appear" ) , Hash40 :: new ( "haver" ) , 0 , 0 , 0 , 0 , 0 , 0 , 0.4 , true ) ;
1383
+ }
1384
+ frame ( lua_state, 14.0 ) ;
1385
+ if is_excute ( agent) {
1386
+ EFFECT ( agent, Hash40 :: new ( "sys_sp_flash" ) , Hash40 :: new ( "haver" ) , 0 , 0 , 0 , 0 , 0 , 0 , 0.4 , 0 , 0 , 0 , 0 , 0 , 0 , false ) ;
1387
+ LAST_EFFECT_SET_COLOR ( agent, 1.0 , 1.0 , 0.5 ) ;
1388
+ LAST_EFFECT_SET_RATE ( agent, 0.6 ) ;
1389
+ }
1390
+ frame ( lua_state, 21.0 ) ;
1391
+ if is_excute ( agent) {
1392
+ EFFECT_OFF_KIND ( agent, Hash40 :: new ( "sys_sp_flash" ) , false , true ) ;
1393
+ }
1394
+ }
1395
+
1396
+ unsafe extern "C" fn richter_special_air_n_sound ( agent : & mut L2CAgentBase ) {
1397
+ let lua_state = agent. lua_state_agent ;
1398
+ let boma = agent. boma ( ) ;
1399
+ frame ( lua_state, 13.0 ) ;
1400
+ if is_excute ( agent) {
1401
+ PLAY_SE ( agent, Hash40 :: new ( "se_richter_special_l01" ) ) ;
1402
+ PLAY_SE ( agent, Hash40 :: new ( "vc_kirby_copy_richter_01" ) ) ;
1403
+ }
1404
+ }
1405
+
1406
+ unsafe extern "C" fn richter_special_air_n_expression ( agent : & mut L2CAgentBase ) {
1407
+ let lua_state = agent. lua_state_agent ;
1408
+ let boma = agent. boma ( ) ;
1409
+ if is_excute ( agent) {
1410
+ ItemModule :: set_have_item_visibility ( boma, false , 0 ) ;
1411
+ slope ! ( agent, * MA_MSC_CMD_SLOPE_SLOPE , * SLOPE_STATUS_LR ) ;
1412
+ }
1413
+ frame ( lua_state, 14.0 ) ;
1414
+ if is_excute ( agent) {
1415
+ ControlModule :: set_rumble ( boma, Hash40 :: new ( "rbkind_lightthrow4item" ) , 0 , false , * BATTLE_OBJECT_ID_INVALID as u32 ) ;
1416
+ }
1417
+ }
1418
+
1331
1419
unsafe extern "C" fn ridley_special_n_explode_game ( fighter : & mut L2CAgentBase ) {
1332
1420
let lua_state = fighter. lua_state_agent ;
1333
1421
let boma = fighter. boma ( ) ;
@@ -1774,6 +1862,12 @@ pub fn install() {
1774
1862
"expression_palutenaspecialairn" ,
1775
1863
palutena_special_n_expression,
1776
1864
)
1865
+ . acmd ( "effect_richterspecialn" , richter_special_n_effect)
1866
+ . acmd ( "sound_richterspecialn" , richter_special_n_sound)
1867
+ . acmd ( "expression_richterspecialn" , richter_special_n_expression)
1868
+ . acmd ( "effect_richterspecialairn" , richter_special_air_n_effect)
1869
+ . acmd ( "sound_richterspecialairn" , richter_special_air_n_sound)
1870
+ . acmd ( "expression_richterspecialairn" , richter_special_air_n_expression)
1777
1871
. acmd ( "game_ridleyspecialnexplode" , ridley_special_n_explode_game)
1778
1872
. acmd (
1779
1873
"effect_ridleyspecialnexplode" ,
0 commit comments