Skip to content

Commit 1034104

Browse files
authored
Merge pull request #2235 from HDR-Development/wuboy-adjustments
WuBoy's Misc Branch
2 parents 6d03c17 + b71beb1 commit 1034104

File tree

123 files changed

+737
-127
lines changed

Some content is hidden

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

123 files changed

+737
-127
lines changed

dynamic/src/consts.rs

+7
Original file line numberDiff line numberDiff line change
@@ -961,6 +961,13 @@ pub mod vars {
961961
}
962962
}
963963

964+
pub mod rockman_airshooter {
965+
pub mod status {
966+
// flags
967+
pub const MOVE : i32 = 0x1100;
968+
}
969+
}
970+
964971
pub mod roy {
965972
pub mod instance {
966973
// flags

fighters/bayonetta/src/acmd/other.rs

+2-6
Original file line numberDiff line numberDiff line change
@@ -689,12 +689,8 @@ unsafe fn game_catchattack(agent: &mut L2CAgentBase) {
689689
#[acmd_script( agent = "bayonetta", script = "effect_landingheavy", category = ACMD_EFFECT, low_priority )]
690690
unsafe fn bayonetta_landing_heavy_effect(fighter: &mut L2CAgentBase) {
691691
if is_excute(fighter) {
692-
if fighter.is_status(*FIGHTER_STATUS_KIND_JUMP_SQUAT) {
693-
EFFECT(fighter, Hash40::new("bayonetta_jump_circle"), Hash40::new("top"), 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, false);
694-
} else {
695-
LANDING_EFFECT(fighter, Hash40::new("sys_landing_smoke"), Hash40::new("top"), 0, 0, 0, 0, 0, 0, 0.9, 0, 0, 0, 0, 0, 0, false);
696-
EFFECT(fighter, Hash40::new("bayonetta_butterfly_landing"), Hash40::new("top"), 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, false);
697-
}
692+
LANDING_EFFECT(fighter, Hash40::new("sys_landing_smoke"), Hash40::new("top"), 0, 0, 0, 0, 0, 0, 0.9, 0, 0, 0, 0, 0, 0, false);
693+
EFFECT(fighter, Hash40::new("bayonetta_butterfly_landing"), Hash40::new("top"), 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, false);
698694
}
699695
}
700696

fighters/chrom/src/opff.rs

+36
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,42 @@ unsafe fn side_special_cancels(fighter: &mut L2CFighterCommon) {
114114
}
115115
}
116116

117+
pub unsafe fn double_edge_dance_during_hitlag(fighter: &mut L2CFighterCommon) {
118+
if !fighter.is_status_one_of(&[*FIGHTER_STATUS_KIND_SPECIAL_S, *FIGHTER_ROY_STATUS_KIND_SPECIAL_S2, *FIGHTER_ROY_STATUS_KIND_SPECIAL_S3]) {
119+
return;
120+
}
121+
if fighter.global_table[globals::SUB_STATUS].get_bool() {
122+
// disables the original substatus - I'd rather not run it twice.
123+
fighter.global_table[globals::SUB_STATUS].assign(&L2CValue::Void());
124+
}
125+
if !WorkModule::is_flag(fighter.module_accessor, *FIGHTER_ROY_STATUS_SPECIAL_S_FLAG_INPUT_FAILURE) {
126+
if WorkModule::is_flag(fighter.module_accessor, *FIGHTER_ROY_STATUS_SPECIAL_S_FLAG_INPUT_SUCCESS) {
127+
return;
128+
}
129+
if !ControlModule::check_button_trigger(fighter.module_accessor, *CONTROL_PAD_BUTTON_SPECIAL) {
130+
return;
131+
}
132+
if !WorkModule::is_flag(fighter.module_accessor, *FIGHTER_ROY_STATUS_SPECIAL_S_FLAG_INPUT_CHECK) {
133+
WorkModule::on_flag(fighter.module_accessor, *FIGHTER_ROY_STATUS_SPECIAL_S_FLAG_INPUT_FAILURE);
134+
}
135+
else {
136+
WorkModule::on_flag(fighter.module_accessor, *FIGHTER_ROY_STATUS_SPECIAL_S_FLAG_INPUT_SUCCESS);
137+
let enable_hi_lw = WorkModule::get_param_int(fighter.module_accessor, hash40("param_special_s"), hash40("enable_input_hi_lw"));
138+
if enable_hi_lw == 0 {
139+
return;
140+
}
141+
let stick_y = fighter.global_table[globals::STICK_Y].get_f32();
142+
let squat_stick_y = WorkModule::get_param_float(fighter.module_accessor, hash40("common"), hash40("squat_stick_y"));
143+
if stick_y > -squat_stick_y {
144+
WorkModule::on_flag(fighter.module_accessor, *FIGHTER_ROY_STATUS_SPECIAL_S_FLAG_INPUT_HI);
145+
}
146+
else if stick_y < squat_stick_y {
147+
WorkModule::on_flag(fighter.module_accessor, *FIGHTER_ROY_STATUS_SPECIAL_S_FLAG_INPUT_LW);
148+
}
149+
}
150+
}
151+
}
152+
117153
// Soaring Slash Hit
118154
unsafe fn soaring_slash(fighter: &mut L2CFighterCommon) {
119155
if !fighter.is_status_one_of(&[

fighters/common/src/function_hooks/change_motion.rs

+2-4
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ unsafe fn change_motion_hook(boma: &mut BattleObjectModuleAccessor, motion_hash:
1616
if boma.is_fighter() {
1717
// Starts landing animations on frame 2
1818
// This is a purely aesthetic change, makes for snappier landings
19-
if [Hash40::new("landing_air_n"),
19+
if [Hash40::new("landing_heavy"),
20+
Hash40::new("landing_air_n"),
2021
Hash40::new("landing_air_f"),
2122
Hash40::new("landing_air_b"),
2223
Hash40::new("landing_air_hi"),
@@ -25,9 +26,6 @@ unsafe fn change_motion_hook(boma: &mut BattleObjectModuleAccessor, motion_hash:
2526
{
2627
start_frame = 1.0;
2728
}
28-
else if motion_hash == Hash40::new("landing_heavy") {
29-
start_frame = 3.0;
30-
}
3129

3230
// Allows a frame-perfect edge canceled waveland to still generate landing smoke GFX
3331
if VarModule::is_flag(boma.object(), vars::common::instance::FLUSH_EFFECT_ACMD)

fighters/common/src/function_hooks/controls.rs

-9
Original file line numberDiff line numberDiff line change
@@ -1136,14 +1136,6 @@ unsafe fn reset_flick_y(boma: &mut BattleObjectModuleAccessor) {
11361136
call_original!(boma);
11371137
}
11381138

1139-
#[skyline::hook(replace=ControlModule::set_rumble)]
1140-
unsafe fn set_rumble_hook(boma: &mut BattleObjectModuleAccessor, kind: smash::phx::Hash40, arg3: i32, arg4: bool, arg5: u32) {
1141-
if boma.is_status(*FIGHTER_STATUS_KIND_JUMP_SQUAT) {
1142-
return;
1143-
}
1144-
call_original!(boma, kind, arg3, arg4, arg5);
1145-
}
1146-
11471139
fn nro_hook(info: &skyline::nro::NroInfo) {
11481140
if info.name == "common" {
11491141
skyline::install_hook!(is_throw_stick);
@@ -1189,7 +1181,6 @@ pub fn install() {
11891181
exec_command_reset_attack_air_kind_hook,
11901182
reset_flick_x,
11911183
reset_flick_y,
1192-
set_rumble_hook,
11931184
);
11941185
skyline::nro::add_hook(nro_hook);
11951186
}

fighters/common/src/function_hooks/effect.rs

-6
Original file line numberDiff line numberDiff line change
@@ -232,9 +232,6 @@ unsafe fn FOOT_EFFECT_FLIP_hook(lua_state: u64) {
232232
#[skyline::hook(replace=smash::app::sv_animcmd::LANDING_EFFECT)]
233233
unsafe fn LANDING_EFFECT_hook(lua_state: u64) {
234234
let boma = smash::app::sv_system::battle_object_module_accessor(lua_state);
235-
if boma.is_status(*FIGHTER_STATUS_KIND_JUMP_SQUAT) {
236-
return;
237-
}
238235

239236
let mut l2c_agent: L2CAgent = L2CAgent::new(lua_state);
240237

@@ -268,9 +265,6 @@ unsafe fn LANDING_EFFECT_hook(lua_state: u64) {
268265
#[skyline::hook(replace=smash::app::sv_animcmd::LANDING_EFFECT_FLIP)]
269266
unsafe fn LANDING_EFFECT_FLIP_hook(lua_state: u64) {
270267
let boma = smash::app::sv_system::battle_object_module_accessor(lua_state);
271-
if boma.is_status(*FIGHTER_STATUS_KIND_JUMP_SQUAT) {
272-
return;
273-
}
274268

275269
let mut l2c_agent: L2CAgent = L2CAgent::new(lua_state);
276270

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
use super::*;
2+
3+
#[skyline::hook(replace = FighterUtil::get_just_shield_se)]
4+
unsafe extern "C" fn get_just_shield_se(fighter_kind: i32) -> u64 {
5+
match fighter_kind {
6+
0x3c => hash40("se_ryu_guard_just"),
7+
0x3d => hash40("se_ken_guard_just"),
8+
0x5b => hash40("se_elight_escapeforesight01"),
9+
_ => hash40("se_common_justshield")
10+
}
11+
}
12+
13+
pub fn install() {
14+
skyline::install_hooks!(
15+
get_just_shield_se
16+
);
17+
}

fighters/common/src/function_hooks/get_param.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ pub unsafe fn get_param_float_hook(x0 /*boma*/: u64, x1 /*param_type*/: u64, x2
222222
// Coupled with "landing_heavy" change in change_motion hook
223223
// Because we start heavy landing anims on f2 rather than f1, we need to push back the heavy landing FAF by 1 frame so it is accurate to the defined per-character param
224224
if x1 == hash40("landing_frame") {
225-
return original!()(x0, hash40("landing_frame"), 0) + 3.0;
225+
return original!()(x0, hash40("landing_frame"), 0) + 1.0;
226226
}
227227

228228
// Ken aerial hadouken modified offsets for aerial version

fighters/common/src/function_hooks/mod.rs

+2
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ pub mod shotos;
2626
pub mod aura;
2727
pub mod sound;
2828
mod fighterspecializer;
29+
mod fighter_util;
2930

3031
#[repr(C)]
3132
pub struct TempModule {
@@ -761,6 +762,7 @@ pub fn install() {
761762
aura::install();
762763
sound::install();
763764
fighterspecializer::install();
765+
fighter_util::install();
764766

765767
unsafe {
766768
// Handles getting rid of the kill zoom

fighters/common/src/function_hooks/sound.rs

-22
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,6 @@ use super::*;
22
use globals::*;
33
use utils::*;
44

5-
#[skyline::hook(replace=smash::app::sv_animcmd::PLAY_LANDING_SE)]
6-
unsafe fn PLAY_LANDING_SE_hook(lua_state: u64) {
7-
let boma = smash::app::sv_system::battle_object_module_accessor(lua_state);
8-
if boma.is_status(*FIGHTER_STATUS_KIND_JUMP_SQUAT) {
9-
return;
10-
}
11-
12-
original!()(lua_state);
13-
}
14-
15-
#[skyline::hook(replace=smash::app::sv_animcmd::PLAY_SE)]
16-
unsafe fn PLAY_SE_hook(lua_state: u64) {
17-
let boma = smash::app::sv_system::battle_object_module_accessor(lua_state);
18-
if boma.is_status(*FIGHTER_STATUS_KIND_JUMP_SQUAT) {
19-
return;
20-
}
21-
22-
original!()(lua_state);
23-
}
24-
255
#[skyline::hook(offset = 0x4cf6a0)]
266
unsafe fn soundmodule__play_se_hook(sound_module: u64, se: smash::phx::Hash40, arg2: bool, arg3: bool, arg4: bool, arg5: bool, se_type: smash::app::enSEType) -> u64 {
277
let handle = original!()(sound_module, se, arg2, arg3, arg4, arg5, se_type);
@@ -57,8 +37,6 @@ unsafe fn PLAY_SEQUENCE_hook(lua_state: u64) {
5737

5838
pub fn install() {
5939
skyline::install_hooks!(
60-
PLAY_LANDING_SE_hook,
61-
PLAY_SE_hook,
6240
soundmodule__play_se_hook,
6341
PLAY_SEQUENCE_hook,
6442
);

fighters/common/src/general_statuses/jumpsquat.rs

+7-2
Original file line numberDiff line numberDiff line change
@@ -453,12 +453,17 @@ unsafe fn sub_jump_squat_uniq_process_init_param(fighter: &mut L2CFighterCommon,
453453
let jump_squat_frame = WorkModule::get_param_int(fighter.module_accessor, hash40("jump_squat_frame"), 0) as f32;
454454
// This cuts a single frame off of the end of the specified characters' jumpsquat animations
455455
// This is a purely aesthetic change, makes for snappier jumps
456-
let end_frame = MotionModule::end_frame_from_hash(fighter.module_accessor, Hash40::new("landing_heavy")) * 0.25;
456+
let mut end_frame = MotionModule::end_frame_from_hash(fighter.module_accessor, motion_hash.get_hash());
457+
let mut start_frame = 0.0;
458+
if motion_hash.get_hash().hash == hash40("jump_squat") {
459+
end_frame *= 0.25;
460+
start_frame = 3.0;
461+
}
457462

458463
// vanilla logic
459464
let mut motion_rate = end_frame / jump_squat_frame;
460465
if motion_rate < 1.0 {
461466
motion_rate += 0.001;
462467
}
463-
MotionModule::change_motion(fighter.module_accessor, Hash40::new("landing_heavy"), 3.0, motion_rate, false, 0.0, false, false);
468+
MotionModule::change_motion(fighter.module_accessor, motion_hash.get_hash(), start_frame, motion_rate, false, 0.0, false, false);
464469
}

fighters/dedede/src/acmd/other.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,7 @@ unsafe fn expression_landingheavy(fighter: &mut L2CAgentBase) {
128128
if is_excute(fighter) {
129129
ControlModule::set_rumble(boma, Hash40::new("rbkind_landl"), 0, false, 0x50000000 /* default value */);
130130
slope!(fighter, *MA_MSC_CMD_SLOPE_SLOPE, *SLOPE_STATUS_LR);
131-
if !fighter.is_prev_status(*FIGHTER_STATUS_KIND_ESCAPE_AIR)
132-
&& !fighter.is_status(*FIGHTER_STATUS_KIND_JUMP_SQUAT) {
131+
if !fighter.is_prev_status(*FIGHTER_STATUS_KIND_ESCAPE_AIR) {
133132
QUAKE(fighter, *CAMERA_QUAKE_KIND_S);
134133
}
135134
}

fighters/donkey/src/acmd/other.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,7 @@ unsafe fn expression_landingheavy(fighter: &mut L2CAgentBase) {
128128
if is_excute(fighter) {
129129
ControlModule::set_rumble(boma, Hash40::new("rbkind_landl"), 0, false, 0x50000000 /* default value */);
130130
slope!(fighter, *MA_MSC_CMD_SLOPE_SLOPE, *SLOPE_STATUS_LR);
131-
if !fighter.is_prev_status(*FIGHTER_STATUS_KIND_ESCAPE_AIR)
132-
&& !fighter.is_status(*FIGHTER_STATUS_KIND_JUMP_SQUAT) {
131+
if !fighter.is_prev_status(*FIGHTER_STATUS_KIND_ESCAPE_AIR) {
133132
QUAKE(fighter, *CAMERA_QUAKE_KIND_S);
134133
}
135134
}

fighters/elight/src/acmd/other.rs

+41
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,45 @@ unsafe fn escape_air_slide_game(fighter: &mut L2CAgentBase) {
167167
}
168168
}
169169

170+
#[acmd_script( agent = "elight", script = "effect_justshieldoff", category = ACMD_EFFECT , low_priority)]
171+
unsafe fn just_shield_off_effect(fighter: &mut L2CAgentBase) {
172+
let lua_state = fighter.lua_state_agent;
173+
let boma = fighter.boma();
174+
if is_excute(fighter) {
175+
ColorBlendModule::set_disable_camera_depth_influence(boma, true);
176+
COL_PRI(fighter, 250);
177+
FLASH(fighter, 0, 0.1, 0.6, 0.8);
178+
fighter.clear_lua_stack();
179+
lua_args!(fighter, -1, 0, 0);
180+
sv_animcmd::FLASH_SET_DIRECTION(fighter.lua_state_agent);
181+
EFFECT(fighter, Hash40::new("elight_foresight2"), Hash40::new("top"), 0, 7.5, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, true);
182+
EFFECT(fighter, Hash40::new("elight_foresight_lensflare"), Hash40::new("top"), 0, 7.5, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, false);
183+
EFFECT_FOLLOW(fighter, Hash40::new("elight_foresight_body"), Hash40::new("hip"), 2, 0, 0, 0, 0, 90, 1, true);
184+
}
185+
wait(lua_state, 3.0);
186+
if is_excute(fighter) {
187+
FLASH_FRM(fighter, 6, 0, 0.1, 0.6, 0);
188+
}
189+
wait(lua_state, 6.0);
190+
if is_excute(fighter) {
191+
COL_NORMAL(fighter);
192+
ColorBlendModule::set_disable_camera_depth_influence(boma, false);
193+
}
194+
}
195+
196+
#[acmd_script( agent = "elight", script = "sound_justshieldoff", category = ACMD_SOUND , low_priority)]
197+
unsafe fn just_shield_off_sound(fighter: &mut L2CAgentBase) {
198+
let lua_state = fighter.lua_state_agent;
199+
let boma = fighter.boma();
200+
if is_excute(fighter) {
201+
let rand = sv_math::rand(hash40("fighter"), 10);
202+
if rand < 3 {
203+
PLAY_SEQUENCE(fighter, Hash40::new("seq_elight_rnd_foresight"));
204+
}
205+
PLAY_SE(fighter, Hash40::new("se_elight_escapeforesight01"));
206+
}
207+
}
208+
170209
pub fn install() {
171210
install_acmd_scripts!(
172211
dash_sound,
@@ -177,6 +216,8 @@ pub fn install() {
177216
damageflytop_sound,
178217
escape_air_game,
179218
escape_air_slide_game,
219+
just_shield_off_effect,
220+
just_shield_off_sound
180221
);
181222
}
182223

fighters/elight/src/lib.rs

+4
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ pub fn install(is_runtime: bool) {
4747
if !is_runtime || is_hdr_available() {
4848
status::add_statuses();
4949
}
50+
51+
// Disables Foresight
52+
skyline::patching::Patch::in_text(0xa28e58).nop();
53+
skyline::patching::Patch::in_text(0xa28e64).data(0x140000ACu32);
5054
}
5155

5256
pub fn delayed_install() {

fighters/ganon/src/acmd/tilts.rs

+7-3
Original file line numberDiff line numberDiff line change
@@ -266,16 +266,20 @@ unsafe fn ganon_attack_hi3_expression(fighter: &mut L2CAgentBase) {
266266
unsafe fn ganon_attack_lw3_game(fighter: &mut L2CAgentBase) {
267267
let lua_state = fighter.lua_state_agent;
268268
let boma = fighter.boma();
269+
frame(lua_state, 2.0);
270+
FT_MOTION_RATE(fighter, 8.0 / 10.0);
271+
frame(lua_state, 12.0);
272+
FT_MOTION_RATE(fighter, 1.0);
269273
frame(lua_state, 14.0);
270274
if is_excute(fighter) {
271-
ATTACK(fighter, 0, 0, Hash40::new("top"), 6.0, 65, 40, 10, 40, 3.0, 0.0, 3.0, 2.0, Some(0.0), Some(3.0), Some(14.0), 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);
275+
ATTACK(fighter, 0, 0, Hash40::new("top"), 6.0, 361, 40, 10, 40, 3.0, 0.0, 3.0, 2.0, Some(0.0), Some(3.0), Some(14.0), 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);
272276
}
273277
wait(lua_state, 4.0);
274278
if is_excute(fighter) {
275279
AttackModule::clear_all(fighter.module_accessor);
276280
WorkModule::on_flag(fighter.module_accessor, *FIGHTER_STATUS_ATTACK_FLAG_ENABLE_COMBO);
277281
}
278-
frame(lua_state, 27.0);
282+
frame(lua_state, 30.0);
279283
if is_excute(fighter) {
280284
WorkModule::off_flag(fighter.module_accessor, *FIGHTER_STATUS_ATTACK_FLAG_ENABLE_COMBO);
281285
}
@@ -335,7 +339,7 @@ unsafe fn ganon_attack_lw32_game(fighter: &mut L2CAgentBase) {
335339
let boma = fighter.boma();
336340
frame(lua_state, 14.0);
337341
if is_excute(fighter) {
338-
ATTACK(fighter, 0, 0, Hash40::new("top"), 8.0, 85, 60, 0, 75, 4.0, 0.0, 4.0, 3.0, Some(0.0), Some(4.0), Some(15.0), 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.35, 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_KICK, *ATTACK_REGION_KICK);
342+
ATTACK(fighter, 0, 0, Hash40::new("top"), 8.0, 65, 100, 0, 85, 4.0, 0.0, 4.0, -5.0, Some(0.0), Some(4.0), Some(15.0), 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_POS, false, 0, 0.35, 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_KICK, *ATTACK_REGION_KICK);
339343
}
340344
wait(lua_state, 4.0);
341345
if is_excute(fighter) {

fighters/kirby/src/acmd/other.rs

+1-3
Original file line numberDiff line numberDiff line change
@@ -192,9 +192,7 @@ unsafe fn landingheavy_effect(fighter: &mut L2CAgentBase) {
192192
let boma = fighter.boma();
193193
if is_excute(fighter) {
194194
LANDING_EFFECT(fighter, Hash40::new("sys_landing_smoke"), Hash40::new("top"), 0, 0, 0, 0, 0, 0, 0.8, 0, 0, 0, 0, 0, 0, false);
195-
if !fighter.is_status(*FIGHTER_STATUS_KIND_JUMP_SQUAT) {
196-
EFFECT(fighter, Hash40::new("kirby_star"), Hash40::new("top"), 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, false);
197-
}
195+
EFFECT(fighter, Hash40::new("kirby_star"), Hash40::new("top"), 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, false);
198196
}
199197
}
200198

fighters/koopa/src/acmd/other.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,7 @@ unsafe fn expression_landingheavy(fighter: &mut L2CAgentBase) {
127127
if is_excute(fighter) {
128128
ControlModule::set_rumble(boma, Hash40::new("rbkind_landl"), 0, false, 0x50000000 /* default value */);
129129
slope!(fighter, *MA_MSC_CMD_SLOPE_SLOPE, *SLOPE_STATUS_LR);
130-
if !fighter.is_prev_status(*FIGHTER_STATUS_KIND_ESCAPE_AIR)
131-
&& !fighter.is_status(*FIGHTER_STATUS_KIND_JUMP_SQUAT) {
130+
if !fighter.is_prev_status(*FIGHTER_STATUS_KIND_ESCAPE_AIR) {
132131
QUAKE(fighter, *CAMERA_QUAKE_KIND_S);
133132
}
134133
}

0 commit comments

Comments
 (0)