Skip to content

Commit d814c02

Browse files
authored
Merge pull request HDR-Development#2504 from HDR-Development/pre-release-followup
PreRelease Followup
2 parents e5c9863 + 1b10a71 commit d814c02

File tree

7 files changed

+32
-41
lines changed

7 files changed

+32
-41
lines changed

fighters/falco/src/acmd/specials.rs

+4-30
Original file line numberDiff line numberDiff line change
@@ -133,25 +133,8 @@ unsafe extern "C" fn game_speciallw(agent: &mut L2CAgentBase) {
133133
frame(lua_state, 1.0);
134134
FT_MOTION_RATE_RANGE(agent, 1.0, 4.0, 4.0);
135135
if is_excute(agent) {
136-
ATTACK(agent, 0, 0, Hash40::new("top"), 8.0, 84, 50, 0, 110, 6.5, 0.0, 7.0, -2.0, None, None, None, 0.6, 1.0, *ATTACK_SETOFF_KIND_OFF, *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_elec"), *ATTACK_SOUND_LEVEL_M, *COLLISION_SOUND_ATTR_ELEC, *ATTACK_REGION_ENERGY);
137-
AttackModule::set_add_reaction_frame_revised(boma, 0, -9.0, false);
138-
ReflectorModule::set_status(boma, *FIGHTER_FALCO_REFLECTOR_KIND_REFLECTOR, app::ShieldStatus(*SHIELD_STATUS_NORMAL), *FIGHTER_REFLECTOR_GROUP_EXTEND);
139-
ATK_SET_SHIELD_SETOFF_MUL(agent, 0, 0.7);
140-
}
141-
frame(lua_state, 1.66);
142-
if is_excute(agent) {
143-
AttackModule::clear_all(boma);
144-
}
145-
}
146-
147-
unsafe extern "C" fn game_specialairlw(agent: &mut L2CAgentBase) {
148-
let lua_state = agent.lua_state_agent;
149-
let boma = agent.boma();
150-
frame(lua_state, 1.0);
151-
FT_MOTION_RATE_RANGE(agent, 1.0, 4.0, 4.0);
152-
if is_excute(agent) {
153-
ATTACK(agent, 0, 0, Hash40::new("top"), 8.0, 84, 50, 0, 110, 6.5, 0.0, 7.0, -2.0, None, None, None, 0.6, 1.0, *ATTACK_SETOFF_KIND_OFF, *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_elec"), *ATTACK_SOUND_LEVEL_M, *COLLISION_SOUND_ATTR_ELEC, *ATTACK_REGION_ENERGY);
154-
AttackModule::set_add_reaction_frame_revised(boma, 0, -9.0, false);
136+
ATTACK(agent, 0, 0, Hash40::new("top"), 8.0, 84, 49, 0, 107, 6.5, 0.0, 7.0, -2.0, None, None, None, 0.6, 1.0, *ATTACK_SETOFF_KIND_OFF, *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_elec"), *ATTACK_SOUND_LEVEL_M, *COLLISION_SOUND_ATTR_ELEC, *ATTACK_REGION_ENERGY);
137+
AttackModule::set_add_reaction_frame_revised(boma, 0, -3.0, false);
155138
ReflectorModule::set_status(boma, *FIGHTER_FALCO_REFLECTOR_KIND_REFLECTOR, app::ShieldStatus(*SHIELD_STATUS_NORMAL), *FIGHTER_REFLECTOR_GROUP_EXTEND);
156139
ATK_SET_SHIELD_SETOFF_MUL(agent, 0, 0.7);
157140
}
@@ -211,15 +194,6 @@ unsafe extern "C" fn sound_speciallw(agent: &mut L2CAgentBase) {
211194
}
212195
}
213196

214-
unsafe extern "C" fn sound_specialairlw(agent: &mut L2CAgentBase) {
215-
let lua_state = agent.lua_state_agent;
216-
let boma = sv_system::battle_object_module_accessor(lua_state);
217-
frame(lua_state, 1.0);
218-
if is_excute(agent) {
219-
PLAY_SE(agent, Hash40::new("se_item_item_get"));
220-
}
221-
}
222-
223197
unsafe extern "C" fn game_speciallwloop(agent: &mut L2CAgentBase) {
224198
let lua_state = agent.lua_state_agent;
225199
let boma = agent.boma();
@@ -365,13 +339,13 @@ pub fn install(agent: &mut Agent) {
365339
agent.acmd("game_specialhi", game_specialhi, Priority::Low);
366340

367341
agent.acmd("game_speciallw", game_speciallw, Priority::Low);
368-
agent.acmd("game_specialairlw", game_specialairlw, Priority::Low);
342+
agent.acmd("game_specialairlw", game_speciallw, Priority::Low);
369343
agent.acmd("effect_speciallw", effect_speciallw, Priority::Low);
370344
agent.acmd("effect_specialairlw", effect_speciallw, Priority::Low);
371345
agent.acmd("expression_speciallw", expression_speciallw, Priority::Low);
372346
agent.acmd("expression_specialairlw", expression_speciallw, Priority::Low);
373347
agent.acmd("sound_speciallw", sound_speciallw, Priority::Low);
374-
agent.acmd("sound_specialairlw", sound_specialairlw, Priority::Low);
348+
agent.acmd("sound_specialairlw", sound_speciallw, Priority::Low);
375349
agent.acmd("game_speciallwloop", game_speciallwloop, Priority::Low);
376350
agent.acmd("game_specialairlwloop", game_specialairlwloop, Priority::Low);
377351
agent.acmd("effect_speciallwloop", effect_speciallwloop, Priority::Low);

fighters/ken/src/status/special_lw.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,16 @@ pub unsafe extern "C" fn special_lw_main(fighter: &mut L2CFighterCommon) -> L2CV
1010
pub unsafe extern "C" fn special_lw_init(fighter: &mut L2CFighterCommon) -> L2CValue {
1111
fighter.off_flag(*FIGHTER_RYU_INSTANCE_WORK_ID_FLAG_SPECIAL_AIR_LW);
1212
if VarModule::is_flag(fighter.battle_object, vars::shotos::instance::IS_ENABLE_SPECIAL_LW_INSTALL) {
13-
if VarModule::is_flag(fighter.battle_object, vars::shotos::instance::IS_MAGIC_SERIES_CANCEL) {
14-
MeterModule::drain_direct(fighter.battle_object, 0.5 * MeterModule::meter_per_level(fighter.battle_object));
15-
} else {
16-
MeterModule::drain_direct(fighter.battle_object, 1.0 * MeterModule::meter_per_level(fighter.battle_object));
17-
}
1813
VarModule::set_flag(
1914
fighter.battle_object,
2015
vars::shotos::status::IS_ENABLE_MAGIC_SERIES_CANCEL,
2116
MeterModule::level(fighter.battle_object) >= 6
2217
);
18+
if VarModule::is_flag(fighter.battle_object, vars::shotos::instance::IS_MAGIC_SERIES_CANCEL) {
19+
MeterModule::drain_direct(fighter.battle_object, 0.5 * MeterModule::meter_per_level(fighter.battle_object));
20+
} else {
21+
MeterModule::drain_direct(fighter.battle_object, 1.0 * MeterModule::meter_per_level(fighter.battle_object));
22+
}
2323
} else {
2424
VarModule::off_flag(fighter.battle_object, vars::shotos::status::IS_ENABLE_MAGIC_SERIES_CANCEL);
2525
}

fighters/koopajr/src/status/mod.rs

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use super::*;
22
use globals::*;
33
// status script import
44

5+
mod special_hi;
56
mod special_s;
67
mod special_s_jump;
78
mod special_hi_escape;
@@ -40,6 +41,7 @@ unsafe extern "C" fn on_start(fighter: &mut L2CFighterCommon) {
4041
pub fn install(agent: &mut Agent) {
4142
agent.on_start(on_start);
4243

44+
special_hi::install(agent);
4345
special_s::install(agent);
4446
special_s_jump::install(agent);
4547
special_hi_escape::install(agent);
+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
use super::*;
2+
3+
// FIGHTER_STATUS_KIND_SPECIAL_HI
4+
5+
pub unsafe extern "C" fn special_hi(fighter: &mut L2CFighterCommon) -> L2CValue {
6+
KineticModule::mul_speed(fighter.module_accessor, &Vector3f::zero(), *FIGHTER_KINETIC_ENERGY_ID_GRAVITY);
7+
smashline::original_status(Main, fighter, *FIGHTER_STATUS_KIND_SPECIAL_HI)(fighter)
8+
}
9+
10+
pub fn install(agent: &mut Agent) {
11+
agent.status(Main, *FIGHTER_STATUS_KIND_SPECIAL_HI, special_hi);
12+
}

fighters/metaknight/src/acmd/tilts.rs

+6-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ unsafe extern "C" fn game_attacks3(agent: &mut L2CAgentBase) {
88
frame(lua_state, 6.0);
99
FT_MOTION_RATE(agent, 1.0);
1010
if is_excute(agent) {
11-
ATTACK(agent, 0, 0, Hash40::new("top"), 2.0, 72, 48, 0, 24, 6.0, 0.0, 5.5, 8.5, Some(0.0), Some(5.5), Some(10.5), 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_cutup"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_CUTUP, *ATTACK_REGION_SWORD);
11+
ATTACK(agent, 0, 0, Hash40::new("top"), 2.0, 72, 48, 0, 24, 6.0, 0.0, 5.5, 8.5, Some(0.0), Some(5.5), Some(10.5), 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_d, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_cutup"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_CUTUP, *ATTACK_REGION_SWORD);
12+
ATTACK(agent, 1, 0, Hash40::new("top"), 2.0, 361, 48, 0, 24, 6.0, 0.0, 5.5, 8.5, Some(0.0), Some(5.5), Some(10.5), 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_cutup"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_CUTUP, *ATTACK_REGION_SWORD);
1213
}
1314
wait(lua_state, 2.0);
1415
if is_excute(agent) {
@@ -54,8 +55,10 @@ unsafe extern "C" fn game_attacks3s2(agent: &mut L2CAgentBase) {
5455
}
5556
frame(lua_state, 2.0);
5657
if is_excute(agent) {
57-
ATTACK(agent, 0, 0, Hash40::new("top"), 2.0, 72, 48, 0, 24, 4.0, 0.0, 6.0, 7.5, Some(0.0), Some(4.0), Some(7.5), 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_cutup"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_CUTUP, *ATTACK_REGION_SWORD);
58-
ATTACK(agent, 1, 0, Hash40::new("top"), 2.0, 72, 48, 0, 24, 3.6, 0.0, 5.0, 16.5, Some(0.0), Some(5.0), Some(9.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_cutup"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_CUTUP, *ATTACK_REGION_SWORD);
58+
ATTACK(agent, 0, 0, Hash40::new("top"), 2.0, 72, 48, 0, 24, 4.0, 0.0, 6.0, 7.5, Some(0.0), Some(4.0), Some(7.5), 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_d, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_cutup"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_CUTUP, *ATTACK_REGION_SWORD);
59+
ATTACK(agent, 1, 0, Hash40::new("top"), 2.0, 72, 48, 0, 24, 3.6, 0.0, 5.0, 16.5, Some(0.0), Some(5.0), Some(9.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_d, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_cutup"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_CUTUP, *ATTACK_REGION_SWORD);
60+
ATTACK(agent, 2, 0, Hash40::new("top"), 2.0, 361, 48, 0, 24, 4.0, 0.0, 6.0, 7.5, Some(0.0), Some(4.0), Some(7.5), 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_cutup"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_CUTUP, *ATTACK_REGION_SWORD);
61+
ATTACK(agent, 3, 0, Hash40::new("top"), 2.0, 361, 48, 0, 24, 3.6, 0.0, 5.0, 16.5, Some(0.0), Some(5.0), Some(9.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_cutup"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_CUTUP, *ATTACK_REGION_SWORD);
5962
}
6063
wait(lua_state, 2.0);
6164
if is_excute(agent) {

fighters/ryu/src/status/special_lw.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ pub unsafe extern "C" fn special_lw_init(fighter: &mut L2CFighterCommon) -> L2CV
88
VarModule::on_flag(fighter.battle_object, vars::shotos::instance::DISABLE_SPECIAL_LW);
99
}
1010
if VarModule::is_flag(fighter.battle_object, vars::shotos::instance::IS_ENABLE_SPECIAL_LW_INSTALL) {
11-
MeterModule::drain_direct(fighter.battle_object, 1.0 * MeterModule::meter_per_level(fighter.battle_object));
1211
VarModule::set_flag(
1312
fighter.battle_object,
1413
vars::shotos::status::IS_ENABLE_MAGIC_SERIES_CANCEL,
1514
MeterModule::level(fighter.battle_object) >= 4
1615
);
16+
MeterModule::drain_direct(fighter.battle_object, 1.0 * MeterModule::meter_per_level(fighter.battle_object));
1717
} else {
1818
VarModule::off_flag(fighter.battle_object, vars::shotos::status::IS_ENABLE_MAGIC_SERIES_CANCEL);
1919
}

romfs/source/fighter/common/param/battle_object.prcxml

+2-2
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@
3838
<float hash="0x16911ce78c">0.875</float>
3939
<float hash="jostle_team_overlap_rate">0.3</float>
4040
<float hash="damage_angle_air">0.785398</float>
41-
<float hash="fly_top_angle_lw">0.802851</float>
42-
<float hash="fly_top_angle_hi">2.338741</float>
41+
<float hash="fly_top_angle_lw">1.22173</float>
42+
<float hash="fly_top_angle_hi">1.919862</float>
4343
<list hash="0x192e58d48b">
4444
<hash40 index="0">dummy</hash40>
4545
<float index="1">1</float>

0 commit comments

Comments
 (0)