Skip to content

Commit 2e2ea9e

Browse files
committed
The misc in question
1 parent 73ff9fd commit 2e2ea9e

File tree

70 files changed

+1359
-837
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+1359
-837
lines changed

dynamic/src/consts.rs

+5
Original file line numberDiff line numberDiff line change
@@ -515,6 +515,7 @@ pub mod vars {
515515

516516
// flags
517517
pub const IS_INVALID_TELEPORT: i32 = 0x1101;
518+
pub const GROUNDED_TELEPORT: i32 = 0x1102;
518519
}
519520
}
520521

@@ -656,6 +657,7 @@ pub mod vars {
656657
// copy ability
657658
// flags
658659
pub const SHOULD_CYCLE_MATERIAL: i32 = 0x01F4;
660+
pub use super::super::ridley::instance::SPECIAL_N_EXPLODE;
659661

660662
// ints
661663
pub const MATERIAL_INDEX: i32 = 0x01F5;
@@ -1196,6 +1198,7 @@ pub mod vars {
11961198
// flags
11971199
pub const LUNAR_LAUNCH_AIR_USED: i32 = 0x0100;
11981200
pub const DETONATE_READY: i32 = 0x0101;
1201+
pub const BOOSTED_DAIR_AIRTIME: i32 = 0x0102;
11991202

12001203
// ints
12011204
pub const LUNAR_LAUNCH_EFF_HANDLER: i32 = 0x0100;
@@ -1235,6 +1238,7 @@ pub mod vars {
12351238
// flags
12361239
pub const IS_DREAMLAND_EXPRESS: i32 = 0x0100;
12371240
pub const IS_LATE_DLE_INPUT: i32 = 0x0101;
1241+
pub const KO_MOTION_AIRTIME: i32 = 0x0102;
12381242

12391243
// floats
12401244
pub const CURRENT_DAMAGE: i32 = 0x0100;
@@ -1315,6 +1319,7 @@ pub mod vars {
13151319
pub const SPECIAL_LW_ENABLE_LANDING: i32 = 0x0102;
13161320
pub const SPECIAL_LW_IS_LANDING: i32 = 0x0103;
13171321
pub const SPECIAL_LW_ENABLE_BOUNCE: i32 = 0x0104;
1322+
pub const SPECIAL_N_EXPLODE: i32 = 0x0105;
13181323

13191324
// floats
13201325
pub const SPECIAL_LW_BOUNCE_PREV_POS: i32 = 0x0100; //vector, requires two indexes

fighters/bayonetta/src/status/specials.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ unsafe extern "C" fn bayonetta_special_s_kick_pre(fighter: &mut L2CFighterCommon
103103
false,
104104
false,
105105
false,
106-
(*FIGHTER_LOG_MASK_FLAG_ATTACK_KIND_SPECIAL_S | *FIGHTER_LOG_MASK_FLAG_ACTION_CATEGORY_ATTACK) as u64,
106+
(*FIGHTER_LOG_MASK_FLAG_ATTACK_KIND_SPECIAL_S | *FIGHTER_LOG_MASK_FLAG_ACTION_CATEGORY_ATTACK | *FIGHTER_LOG_MASK_FLAG_ACTION_TRIGGER_ON) as u64,
107107
0,
108108
*FIGHTER_POWER_UP_ATTACK_BIT_SPECIAL_S as u32,
109109
0

fighters/brave/src/acmd/specials.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -247,12 +247,14 @@ unsafe fn brave_special_hi3_game(fighter: &mut L2CAgentBase) {
247247

248248
}
249249

250-
#[acmd_script( agent = "brave", script = "game_speciallwstart", category = ACMD_GAME, low_priority )]
250+
#[acmd_script( agent = "brave", scripts = ["game_speciallwstart", "game_specialairlwstart"], category = ACMD_GAME, low_priority )]
251251
unsafe fn brave_special_lw_start_game(fighter: &mut L2CAgentBase) {
252252
let lua_state = fighter.lua_state_agent;
253253
let boma = fighter.boma();
254254
frame(lua_state, 1.0);
255-
//FT_MOTION_RATE(fighter, 17.0/(20.0 - 1.0));
255+
FT_MOTION_RATE_RANGE(fighter, 1.0, 20.0, 17.0);
256+
frame(lua_state, 20.0);
257+
FT_MOTION_RATE(fighter, 1.0);
256258
}
257259

258260
#[acmd_script( agent = "brave", scripts = ["game_speciallw8", "game_specialairlw8"], category = ACMD_GAME, low_priority )]

fighters/brave/src/opff.rs

+6
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,12 @@ unsafe fn persist_rng(fighter: &mut L2CFighterCommon) {
2929
let index = fighter.get_int(*FIGHTER_BRAVE_INSTANCE_WORK_ID_INT_SPECIAL_LW_SELECT_INDEX);
3030
VarModule::set_int(fighter.battle_object, vars::brave::instance::CURSOR_SLOT, index);
3131
}
32+
// if fighter.is_status(*FIGHTER_STATUS_KIND_SPECIAL_LW)
33+
// && ControlModule::check_button_on(fighter.module_accessor, *CONTROL_PAD_BUTTON_ATTACK)
34+
// && fighter.status_frame() >= 10 {
35+
// MotionModule::set_frame(fighter.module_accessor, 20.0, true);
36+
// //fighter.change_status(FIGHTER_BRAVE_STATUS_KIND_SPECIAL_LW_START.into(), true.into());
37+
// }
3238
if fighter.is_status(*FIGHTER_BRAVE_STATUS_KIND_SPECIAL_LW_START)
3339
|| fighter.is_status(*FIGHTER_BRAVE_STATUS_KIND_SPECIAL_LW_STEEL_START)
3440
|| fighter.is_status(*FIGHTER_STATUS_KIND_DEAD) {

fighters/cloud/src/acmd/tilts.rs

+8-12
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
21
use super::*;
32

4-
53
#[acmd_script( agent = "cloud", script = "game_attacks3" , category = ACMD_GAME , low_priority)]
64
unsafe fn cloud_attack_s3_s_game(fighter: &mut L2CAgentBase) {
75
let lua_state = fighter.lua_state_agent;
@@ -103,20 +101,19 @@ unsafe fn cloud_attack_hi3_expression(fighter: &mut L2CAgentBase) {
103101
unsafe fn cloud_attack_lw3_game(fighter: &mut L2CAgentBase) {
104102
let lua_state = fighter.lua_state_agent;
105103
let boma = fighter.boma();
104+
sv_kinetic_energy!(set_speed_mul, fighter, FIGHTER_KINETIC_ENERGY_ID_MOTION, 0.8);
106105
frame(lua_state, 8.0);
107106
if is_excute(fighter) {
108-
ATTACK(fighter, 0, 0, Hash40::new("legr"), 6.0, 80, 75, 0, 80, 3.0, 0.0, -1.0, 1.5, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.2, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_GA, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_M, *COLLISION_SOUND_ATTR_KICK, *ATTACK_REGION_KICK);
109-
ATTACK(fighter, 1, 0, Hash40::new("kneer"), 6.0, 80, 75, 0, 80, 3.5, 0.0, -1.0, 1.5, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.2, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_GA, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_M, *COLLISION_SOUND_ATTR_KICK, *ATTACK_REGION_KICK);
110-
ATTACK(fighter, 2, 0, Hash40::new("kneer"), 7.0, 80, 75, 0, 80, 4.0, 6.0, -1.0, 1.5, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.2, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_GA, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_M, *COLLISION_SOUND_ATTR_KICK, *ATTACK_REGION_KICK);
107+
ATTACK(fighter, 0, 0, Hash40::new("legr"), 7.0, 80, 80, 0, 45, 3.0, 0.0, -1.0, 1.5, None, None, None, 1.0, 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_normal"), *ATTACK_SOUND_LEVEL_M, *COLLISION_SOUND_ATTR_KICK, *ATTACK_REGION_KICK);
108+
ATTACK(fighter, 1, 0, Hash40::new("kneer"), 7.0, 80, 80, 0, 45, 3.5, 0.0, -1.0, 1.5, None, None, None, 1.0, 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_normal"), *ATTACK_SOUND_LEVEL_M, *COLLISION_SOUND_ATTR_KICK, *ATTACK_REGION_KICK);
109+
ATTACK(fighter, 2, 0, Hash40::new("kneer"), 7.0, 80, 80, 0, 45, 4.0, 6.0, -1.0, 1.5, None, None, None, 1.0, 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_normal"), *ATTACK_SOUND_LEVEL_M, *COLLISION_SOUND_ATTR_KICK, *ATTACK_REGION_KICK);
111110
AttackModule::set_attack_height_all(boma, app::AttackHeight(*ATTACK_HEIGHT_LOW), false);
112-
//HIT_NODE(fighter, Hash40::new("kneel"), *HIT_STATUS_XLU);
113-
//HIT_NODE(fighter, Hash40::new("legl"), *HIT_STATUS_XLU);
114111
}
115112
frame(lua_state, 12.0);
116113
if is_excute(fighter) {
117-
ATTACK(fighter, 0, 0, Hash40::new("legr"), 6.0, 78, 75, 0, 85, 2.0, 0.0, -1.0, 1.5, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.2, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_GA, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_KICK, *ATTACK_REGION_KICK);
118-
ATTACK(fighter, 1, 0, Hash40::new("kneer"), 6.0, 78, 75, 0, 85, 2.5, 0.0, -1.0, 1.5, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.2, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_GA, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_KICK, *ATTACK_REGION_KICK);
119-
ATTACK(fighter, 2, 0, Hash40::new("kneer"), 7.0, 78, 75, 0, 85, 3.0, 6.0, -1.0, 1.5, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.2, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_GA, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_KICK, *ATTACK_REGION_KICK);
114+
ATTACK(fighter, 0, 0, Hash40::new("legr"), 6.0, 78, 80, 0, 45, 2.0, 0.0, -1.0, 1.5, None, None, None, 1.0, 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_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_KICK, *ATTACK_REGION_KICK);
115+
ATTACK(fighter, 1, 0, Hash40::new("kneer"), 6.0, 78, 80, 0, 45, 2.5, 0.0, -1.0, 1.5, None, None, None, 1.0, 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_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_KICK, *ATTACK_REGION_KICK);
116+
ATTACK(fighter, 2, 0, Hash40::new("kneer"), 6.0, 78, 80, 0, 45, 3.0, 6.0, -1.0, 1.5, None, None, None, 1.0, 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_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_KICK, *ATTACK_REGION_KICK);
120117
}
121118
frame(lua_state, 20.0);
122119
if is_excute(fighter) {
@@ -134,5 +131,4 @@ pub fn install() {
134131
cloud_attack_hi3_expression,
135132
cloud_attack_lw3_game,
136133
);
137-
}
138-
134+
}

fighters/daisy/src/acmd/aerials.rs

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
21
use super::*;
32

4-
53
#[acmd_script( agent = "daisy", script = "game_attackairn" , category = ACMD_GAME , low_priority)]
64
unsafe fn daisy_attack_air_n_game(fighter: &mut L2CAgentBase) {
75
let lua_state = fighter.lua_state_agent;
@@ -54,7 +52,7 @@ unsafe fn daisy_attack_air_f_game(fighter: &mut L2CAgentBase) {
5452
frame(lua_state, 16.5);
5553
if is_excute(fighter) {
5654
FT_MOTION_RATE(fighter, 1.0/(17.0-16.5));
57-
ATTACK(fighter, 0, 0, Hash40::new("shoulderl"), 10.0, 50, 85, 0, 50, 3.5, -0.5, 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_normal"), *ATTACK_SOUND_LEVEL_M, *COLLISION_SOUND_ATTR_KICK, *ATTACK_REGION_OBJECT);
55+
ATTACK(fighter, 0, 0, Hash40::new("shoulderl"), 13.0, 42, 86, 0, 50, 3.5, -0.5, 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_normal"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_OBJECT);
5856
ATTACK(fighter, 1, 0, Hash40::new("arml"), 13.0, 42, 86, 0, 50, 4.0, 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_normal"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_OBJECT);
5957
ATTACK(fighter, 2, 0, Hash40::new("arml"), 13.0, 42, 86, 0, 50, 4.5, 4.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_normal"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_OBJECT);
6058
}
@@ -287,5 +285,4 @@ pub fn install() {
287285
daisy_attack_air_lw_game,
288286
daisy_attack_air_lw_expression,
289287
);
290-
}
291-
288+
}

fighters/demon/src/acmd/throws.rs

+67
Original file line numberDiff line numberDiff line change
@@ -167,12 +167,79 @@ unsafe fn demon_throw_lw_game(fighter: &mut L2CAgentBase) {
167167

168168
}
169169

170+
#[acmd_script( agent = "demon", script = "game_throwcommand" , category = ACMD_GAME , low_priority)]
171+
unsafe fn demon_throw_command_game(fighter: &mut L2CAgentBase) {
172+
let lua_state = fighter.lua_state_agent;
173+
let boma = fighter.boma();
174+
if !smash2::app::FighterCutInManager::is_vr_mode() {
175+
if smash2::app::FighterCutInManager::is_one_on_one_including_thrown(&*(fighter.module_accessor as *const smash2::app::BattleObjectModuleAccessor)) {
176+
if is_excute(fighter) {
177+
FighterSpecializer_Demon::check_disabled_motion_camera_of_scale(boma);
178+
FighterSpecializer_Demon::check_disabled_motion_camera_of_stage(boma);
179+
}
180+
if WorkModule::is_flag(boma, *FIGHTER_DEMON_INSTANCE_WORK_ID_FLAG_ENABLE_THROW_MOTION_CAMERA) {
181+
if is_excute(fighter) {
182+
CHECK_VALID_START_CAMERA(fighter, 0, 7, 0, 50, 30, 0, true);
183+
}
184+
if !WorkModule::is_flag(boma, *FIGHTER_DEMON_INSTANCE_WORK_ID_FLAG_DISABLE_THROW_MOTION_CAMERA) {
185+
if !WorkModule::is_flag(boma, *FIGHTER_INSTANCE_WORK_ID_FLAG_DISABLE_FINAL_START_CAMERA) {
186+
if is_excute(fighter) {
187+
REQ_MOTION_CAMERA(fighter, Hash40::new_raw(0x163d9703b0), false);
188+
}
189+
}
190+
}
191+
if is_excute(fighter) {
192+
let scale = PostureModule::scale(boma);
193+
CAM_ZOOM_IN_arg5(fighter, 7.0, 0.0, scale * 1.5, 0.0, 0.0);
194+
}
195+
}
196+
}
197+
}
198+
frame(lua_state, 10.0);
199+
if is_excute(fighter) {
200+
REVERSE_LR(fighter);
201+
ATTACK_ABS(fighter, *FIGHTER_ATTACK_ABSOLUTE_KIND_THROW, 0, 1.0, 165, 150, 0, 65, 0.0, 1.0, *ATTACK_LR_CHECK_B, 0.0, true, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_NONE, *ATTACK_REGION_THROW);
202+
ATTACK_ABS(fighter, *FIGHTER_ATTACK_ABSOLUTE_KIND_CATCH, 0, 3.0, 361, 100, 0, 40, 0.0, 1.0, *ATTACK_LR_CHECK_B, 0.0, true, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_NONE, *ATTACK_REGION_THROW);
203+
}
204+
frame(lua_state, 32.0);
205+
if is_excute(fighter) {
206+
ATTACK(fighter, 0, 0, Hash40::new("top"), 10.0, 60, 80, 0, 50, 5.0, 0.0, 8.0, -3.0, None, None, None, 0.0, 1.0, *ATTACK_SETOFF_KIND_OFF, *ATTACK_LR_CHECK_POS, false, 0, 0.0, 0, false, false, false, true, true, *COLLISION_SITUATION_MASK_GA, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_M, *COLLISION_SOUND_ATTR_DEMON_THROWCOMMAND, *ATTACK_REGION_KICK);
207+
AttackModule::set_catch_only_all(boma, true, false);
208+
}
209+
frame(lua_state, 34.0);
210+
if is_excute(fighter) {
211+
AttackModule::clear_all(boma);
212+
}
213+
frame(lua_state, 80.0);
214+
if is_excute(fighter) {
215+
if !WorkModule::is_flag(boma, *FIGHTER_DEMON_STATUS_THROW_COMMAND_FLAG_USE_OTHER_PARAM) {
216+
CHECK_FINISH_CAMERA(fighter, 18, 2);
217+
}
218+
else {
219+
CHECK_FINISH_CAMERA(fighter, 18, 15);
220+
}
221+
ATTACK(fighter, 0, 0, Hash40::new("top"), 13.0, 19, 50, 0, 30, 6.0, 0.0, 7.5, -14.0, Some(0.0), Some(6.0), Some(-14.0), 0.0, 1.0, *ATTACK_SETOFF_KIND_OFF, *ATTACK_LR_CHECK_POS, false, 0, 0.0, 0, false, false, false, true, true, *COLLISION_SITUATION_MASK_GA, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_M, *COLLISION_SOUND_ATTR_DEMON_THROWCOMMAND, *ATTACK_REGION_KICK);
222+
ATTACK(fighter, 1, 0, Hash40::new("top"), 13.0, 19, 50, 0, 30, 4.0, 0.0, 8.0, -6.0, None, None, None, 0.0, 1.0, *ATTACK_SETOFF_KIND_OFF, *ATTACK_LR_CHECK_POS, false, 0, 0.0, 0, false, false, false, true, true, *COLLISION_SITUATION_MASK_GA, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_M, *COLLISION_SOUND_ATTR_DEMON_THROWCOMMAND, *ATTACK_REGION_KICK);
223+
AttackModule::set_catch_only_all(boma, true, false);
224+
}
225+
frame(lua_state, 81.0);
226+
if is_excute(fighter) {
227+
AttackModule::clear_all(boma);
228+
let target = WorkModule::get_int64(boma, *FIGHTER_STATUS_THROW_WORK_INT_TARGET_OBJECT);
229+
let target_group = WorkModule::get_int64(boma, *FIGHTER_STATUS_THROW_WORK_INT_TARGET_HIT_GROUP);
230+
let target_no = WorkModule::get_int64(boma, *FIGHTER_STATUS_THROW_WORK_INT_TARGET_HIT_NO);
231+
ATK_HIT_ABS(fighter, *FIGHTER_ATTACK_ABSOLUTE_KIND_THROW, Hash40::new("throw"), target, target_group, target_no);
232+
CAM_ZOOM_OUT(fighter);
233+
}
234+
}
235+
170236
pub fn install() {
171237
install_acmd_scripts!(
172238
game_catch,
173239
demon_throw_b_game,
174240
demon_blaster_fly_throw_game,
175241
demon_throw_hi_expression,
176242
demon_throw_lw_game,
243+
demon_throw_command_game,
177244
);
178245
}

0 commit comments

Comments
 (0)