Skip to content

Commit 39c6e60

Browse files
authored
Merge pull request #2171 from stingers135/peach-parasol-fix
Peach Parasol Improvements
2 parents 4059ac5 + ec98e65 commit 39c6e60

File tree

3 files changed

+28
-1
lines changed

3 files changed

+28
-1
lines changed

fighters/peach/src/opff.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ unsafe fn wall_bounce(boma: &mut BattleObjectModuleAccessor, status_kind: i32) {
3636
}
3737

3838
unsafe fn up_special_freefall_land_cancel(fighter: &mut L2CFighterCommon) {
39-
if fighter.is_prev_status(*FIGHTER_STATUS_KIND_FALL_SPECIAL)
39+
if (fighter.is_prev_status(*FIGHTER_STATUS_KIND_FALL_SPECIAL) || fighter.is_prev_status(*FIGHTER_PEACH_STATUS_KIND_SPECIAL_HI_AIR_END))
4040
&& fighter.is_status(*FIGHTER_STATUS_KIND_LANDING_FALL_SPECIAL) {
4141
fighter.change_status_req(*FIGHTER_STATUS_KIND_LANDING, false);
4242
}

fighters/peach/src/status/mod.rs

+2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ use smashline::*;
33

44
mod attack_air;
55
mod jump_aerial;
6+
mod special_hi;
67
mod special_s;
78
mod special_lw;
89

@@ -54,6 +55,7 @@ pub fn install() {
5455
smashline::install_agent_init_callbacks!(peach_init);
5556
attack_air::install();
5657
jump_aerial::install();
58+
special_hi::install();
5759
special_s::install();
5860
special_lw::install();
5961
}
+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
use super::*;
2+
use globals::*;
3+
4+
#[status_script(agent = "peach", status = FIGHTER_PEACH_STATUS_KIND_SPECIAL_HI_AIR_END, condition = LUA_SCRIPT_STATUS_FUNC_STATUS_MAIN)]
5+
unsafe fn special_hi_air_end_main(fighter: &mut L2CFighterCommon) -> L2CValue {
6+
if !StopModule::is_stop(fighter.module_accessor) {
7+
special_hi_substatus(fighter, false.into());
8+
}
9+
fighter.global_table[SUB_STATUS].assign(&L2CValue::Ptr(special_hi_substatus as *const () as _));
10+
original!(fighter)
11+
}
12+
13+
unsafe extern "C" fn special_hi_substatus(fighter: &mut L2CFighterCommon, param_1: L2CValue) -> L2CValue {
14+
if fighter.is_situation(*SITUATION_KIND_AIR)
15+
&& param_1.get_bool() {
16+
fighter.sub_air_check_dive();
17+
}
18+
0.into()
19+
}
20+
21+
pub fn install() {
22+
smashline::install_status_scripts!(
23+
special_hi_air_end_main
24+
);
25+
}

0 commit comments

Comments
 (0)