Skip to content

Commit 250cc13

Browse files
committed
Merge remote-tracking branch 'upstream/dev' into sonic-utilt
2 parents 36cd29a + b17edb2 commit 250cc13

File tree

7 files changed

+59
-73
lines changed

7 files changed

+59
-73
lines changed

fighters/marth/src/acmd/specials.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ unsafe fn marth_special_s1_game(fighter: &mut L2CAgentBase) {
1818
ATTACK(fighter, 1, 0, Hash40::new("top"), 4.0, 92, 60, 0, 25, 7.5, 0.0, 9.5, 16.5, None, None, None, 1.0, 0.8, *ATTACK_SETOFF_KIND_OFF, *ATTACK_LR_CHECK_F, true, 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_M, *COLLISION_SOUND_ATTR_MARTH_SWORD, *ATTACK_REGION_SWORD);
1919
ATTACK(fighter, 2, 0, Hash40::new("top"), 4.0, 20, 60, 0, 25, 4.5, 0.0, 9.5, 3.0, None, None, None, 1.0, 0.8, *ATTACK_SETOFF_KIND_OFF, *ATTACK_LR_CHECK_F, true, 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);
2020
}
21-
frame(lua_state, 7.0);
21+
frame(lua_state, 10.0);
2222
if is_excute(fighter) {
2323
AttackModule::clear_all(boma);
2424
WorkModule::on_flag(boma, *FIGHTER_MARTH_STATUS_SPECIAL_S_FLAG_MOTION_CHANGE_ENABLE);

fighters/rockman/src/status/rockbuster/shoot_jump_squat.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ unsafe fn rockman_rockbuster_shoot_jump_squat_main(fighter: &mut L2CFighterCommo
5858
rockman_rockbuster_main_helper(fighter, false.into(), true.into(), L2CValue::Void(), L2CValue::Void());
5959
MotionModule::change_motion(
6060
fighter.module_accessor,
61-
Hash40::new("jump_squat"),
61+
Hash40::new("jump_squat_buster"),
6262
0.0,
6363
1.0,
6464
false,

fighters/rockman/src/vtable_hook.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,8 @@ pub fn install(is_runtime: bool) {
318318
skyline::patching::Patch::in_text(0x10839cc).nop();
319319

320320
// Patches which status to compare to for Metal Blade.
321-
skyline::patching::Patch::in_text(0x1080264).data(0x7107741Fu32);
321+
skyline::patching::Patch::in_text(0x1080264).nop();
322+
skyline::patching::Patch::in_text(0x1080268).nop();
322323

323324
skyline::install_hooks!(
324325
rockman_vtable_func,

fighters/sheik/src/acmd/aerials.rs

+16-58
Original file line numberDiff line numberDiff line change
@@ -108,72 +108,32 @@ unsafe fn sheik_attack_air_b_game(fighter: &mut L2CAgentBase) {
108108
unsafe fn sheik_attack_air_hi_game(fighter: &mut L2CAgentBase) {
109109
let lua_state = fighter.lua_state_agent;
110110
let boma = fighter.boma();
111-
frame(lua_state, 5.0);
111+
frame(lua_state, 4.0);
112112
if is_excute(fighter) {
113113
WorkModule::on_flag(boma, *FIGHTER_STATUS_ATTACK_AIR_FLAG_ENABLE_LANDING);
114-
ATTACK(fighter, 0, 0, Hash40::new("kneer"), 11.0, 80, 118, 0, 15, 4.16, 5.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_sting"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_KICK, *ATTACK_REGION_KICK);
115-
ATTACK(fighter, 1, 0, Hash40::new("kneer"), 11.0, 80, 118, 0, 15, 3.66, 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_sting"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_KICK, *ATTACK_REGION_KICK);
114+
ATTACK(fighter, 0, 0, Hash40::new("kneer"), 1.5, 367, 80, 0, 45, 4.0, 5.0, 0.0, 0.0, None, None, None, 0.5, 1.3, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.0, 4, 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_KICK, *ATTACK_REGION_KICK);
115+
ATTACK(fighter, 1, 0, Hash40::new("kneer"), 1.5, 367, 80, 0, 45, 4.0, 0.0, 0.0, 0.0, None, None, None, 0.5, 1.3, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.0, 4, 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_KICK, *ATTACK_REGION_KICK);
116+
ATTACK(fighter, 2, 0, Hash40::new("legr"), 1.5, 367, 80, 0, 45, 3.5, 1.0, 0.0, 0.0, None, None, None, 0.5, 1.3, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.0, 4, 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_KICK, *ATTACK_REGION_KICK);
116117
}
117-
frame(lua_state, 8.0);
118+
frame(lua_state, 16.0);
118119
if is_excute(fighter) {
119-
ATTACK(fighter, 0, 0, Hash40::new("kneer"), 9.0, 70, 120, 0, 10, 4.16, 5.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_sting"), *ATTACK_SOUND_LEVEL_M, *COLLISION_SOUND_ATTR_KICK, *ATTACK_REGION_KICK);
120-
ATTACK(fighter, 1, 0, Hash40::new("kneer"), 9.0, 70, 120, 0, 10, 3.66, 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_sting"), *ATTACK_SOUND_LEVEL_M, *COLLISION_SOUND_ATTR_KICK, *ATTACK_REGION_KICK);
120+
AttackModule::clear_all(boma);
121121
}
122-
frame(lua_state, 21.0);
122+
frame(lua_state, 23.0);
123+
if is_excute(fighter) {
124+
FT_MOTION_RATE(fighter, 1.0);
125+
ATTACK(fighter, 0, 1, Hash40::new("kneel"), 6.0, 80, 135, 0, 45, 4.7, 5.0, 0.0, 0.0, None, None, None, 1.5, 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_sting"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_KICK, *ATTACK_REGION_KICK);
126+
ATTACK(fighter, 1, 1, Hash40::new("kneel"), 6.0, 80, 135, 0, 45, 4.7, 0.0, 0.0, 0.0, None, None, None, 1.5, 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_sting"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_KICK, *ATTACK_REGION_KICK);
127+
ATTACK(fighter, 2, 1, Hash40::new("legl"), 6.0, 80, 135, 0, 45, 4.7, 0.0, 0.0, 0.0, None, None, None, 1.5, 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_sting"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_KICK, *ATTACK_REGION_KICK);
128+
}
129+
frame(lua_state, 26.0);
123130
if is_excute(fighter) {
124131
AttackModule::clear_all(boma);
125132
}
126-
frame(lua_state, 30.0);
133+
frame(lua_state, 44.0);
127134
if is_excute(fighter) {
128135
WorkModule::off_flag(boma, *FIGHTER_STATUS_ATTACK_AIR_FLAG_ENABLE_LANDING);
129136
}
130-
131-
}
132-
133-
#[acmd_script( agent = "sheik", script = "effect_attackairhi", category = ACMD_EFFECT, low_priority )]
134-
unsafe fn effect_attackairhi(agent: &mut L2CAgentBase) {
135-
let lua_state = agent.lua_state_agent;
136-
let boma = agent.boma();
137-
frame(lua_state, 4.0);
138-
if is_excute(agent) {
139-
EFFECT_FOLLOW(agent, Hash40::new("sys_spin_wind"), Hash40::new("top"), 0, 19, 4, -20, 0, 180, 0.3, true);
140-
LAST_EFFECT_SET_RATE(agent, 1.3);
141-
}
142-
frame(lua_state, 5.0);
143-
for _ in 0..3 {
144-
if is_excute(agent) {
145-
agent.clear_lua_stack();
146-
lua_args!(agent, Hash40::new("sys_spin_wind_s"), Hash40::new("top"), 0.0, 17.5, 3.5, 19.0, 0.0, 180.0, 0.4, 4, 4, 4, 0, 0, 0, true);
147-
sv_animcmd::EFFECT_FOLLOW_RND(agent.lua_state_agent);
148-
LAST_EFFECT_SET_RATE(agent, 2.5);
149-
}
150-
wait(lua_state, 1.0);
151-
if is_excute(agent) {
152-
agent.clear_lua_stack();
153-
lua_args!(agent, Hash40::new("sys_spin_wind_s"), Hash40::new("top"), 0.0, 15.5, 3.25, 19.0, 0.0, 180.0, 0.5, 4, 4, 4, 0, 0, 0, true);
154-
sv_animcmd::EFFECT_FOLLOW_RND(agent.lua_state_agent);
155-
LAST_EFFECT_SET_RATE(agent, 2);
156-
}
157-
wait(lua_state, 1.0);
158-
if is_excute(agent) {
159-
agent.clear_lua_stack();
160-
lua_args!(agent, Hash40::new("sys_spin_wind_s"), Hash40::new("top"), 0.0, 12.0, 3.0, 19.0, 0.0, 180.0, 0.65, 3, 2, 3, 0, 0, 0, true);
161-
sv_animcmd::EFFECT_FOLLOW_RND(agent.lua_state_agent);
162-
LAST_EFFECT_SET_RATE(agent, 2);
163-
}
164-
wait(lua_state, 1.0);
165-
}
166-
}
167-
168-
#[acmd_script( agent = "sheik", script = "sound_attackairhi", category = ACMD_SOUND, low_priority )]
169-
unsafe fn sound_attackairhi(agent: &mut L2CAgentBase) {
170-
let lua_state = agent.lua_state_agent;
171-
let boma = agent.boma();
172-
frame(lua_state, 4.0);
173-
if is_excute(agent) {
174-
PLAY_SEQUENCE(agent, Hash40::new("seq_sheik_rnd_attack"));
175-
PLAY_STATUS(agent, Hash40::new("se_sheik_attackair_h01"));
176-
}
177137
}
178138

179139
#[acmd_script( agent = "sheik", script = "expression_attackairhi", category = ACMD_EXPRESSION, low_priority )]
@@ -184,7 +144,7 @@ unsafe fn expression_attackairhi(agent: &mut L2CAgentBase) {
184144
if is_excute(agent) {
185145
ControlModule::set_rumble(boma, Hash40::new("rbkind_nohitm"), 0, false, *BATTLE_OBJECT_ID_INVALID as u32);
186146
}
187-
frame(lua_state, 5.0);
147+
frame(lua_state, 4.0);
188148
if is_excute(agent) {
189149
RUMBLE_HIT(agent, Hash40::new("rbkind_attackm"), 0);
190150
}
@@ -289,8 +249,6 @@ pub fn install() {
289249
sheik_attack_air_f_effect,
290250
sheik_attack_air_b_game,
291251
sheik_attack_air_hi_game,
292-
effect_attackairhi,
293-
sound_attackairhi,
294252
expression_attackairhi,
295253
sheik_attack_air_lw_game,
296254
sheik_attack_air_lw_effect,

romfs/source/fighter/rockman/motion/body/motion_patch.yaml

+30
Original file line numberDiff line numberDiff line change
@@ -468,6 +468,36 @@ buster_walk_fast:
468468
xlu_end: 0
469469
cancel_frame: 0
470470
no_stop_intp: false
471+
jump_squat_buster:
472+
game_script: game_jumpsquat
473+
flags:
474+
turn: false
475+
loop: false
476+
move: false
477+
fix_trans: false
478+
fix_rot: false
479+
fix_scale: false
480+
unk_40: false
481+
unk_80: true
482+
unk_100: false
483+
unk_200: false
484+
unk_400: false
485+
unk_800: false
486+
unk_1000: false
487+
unk_2000: false
488+
blend_frames: 0
489+
animations:
490+
- name: a03jumpsquat.nuanmb
491+
unk: 0
492+
scripts:
493+
- expression_jumpsquat
494+
- sound_jumpsquat
495+
- effect_jumpsquat
496+
extra:
497+
xlu_start: 0
498+
xlu_end: 0
499+
cancel_frame: 0
500+
no_stop_intp: false
471501
attack_s3_s:
472502
game_script: game_attacks3melee
473503
flags:

romfs/source/fighter/sheik/motion/body/motion_patch.yaml

-3
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,6 @@ attack_air_f:
5252
attack_air_n:
5353
extra:
5454
cancel_frame: 42
55-
attack_air_hi:
56-
extra:
57-
cancel_frame: 37
5855
special_n_start:
5956
flags:
6057
move: false

romfs/source/fighter/sonic/motion/body/motion_patch.yaml

+9-9
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ special_n_hit:
9090
extra:
9191
intangible_start_frame: 0
9292
intangible_end_frame: 0
93-
cancel_frame: 15
93+
cancel_frame: 22
9494
freeze_during_hitstop: false
9595
special_n_hit1:
9696
game_script: game_specialnhit
@@ -119,7 +119,7 @@ special_n_hit1:
119119
extra:
120120
intangible_start_frame: 0
121121
intangible_end_frame: 0
122-
cancel_frame: 15
122+
cancel_frame: 22
123123
freeze_during_hitstop: false
124124
special_n_hit2:
125125
game_script: game_specialnhit
@@ -148,7 +148,7 @@ special_n_hit2:
148148
extra:
149149
intangible_start_frame: 0
150150
intangible_end_frame: 0
151-
cancel_frame: 15
151+
cancel_frame: 22
152152
freeze_during_hitstop: false
153153
special_n_hit3:
154154
game_script: game_specialnhit
@@ -177,7 +177,7 @@ special_n_hit3:
177177
extra:
178178
intangible_start_frame: 0
179179
intangible_end_frame: 0
180-
cancel_frame: 15
180+
cancel_frame: 22
181181
freeze_during_hitstop: false
182182
special_n_hit4:
183183
game_script: game_specialnhit
@@ -206,7 +206,7 @@ special_n_hit4:
206206
extra:
207207
intangible_start_frame: 0
208208
intangible_end_frame: 0
209-
cancel_frame: 15
209+
cancel_frame: 22
210210
freeze_during_hitstop: false
211211
special_n_hit5:
212212
game_script: game_specialnhit
@@ -235,7 +235,7 @@ special_n_hit5:
235235
extra:
236236
intangible_start_frame: 0
237237
intangible_end_frame: 0
238-
cancel_frame: 15
238+
cancel_frame: 22
239239
freeze_during_hitstop: false
240240
special_n_hit6:
241241
game_script: game_specialnhit
@@ -264,7 +264,7 @@ special_n_hit6:
264264
extra:
265265
intangible_start_frame: 0
266266
intangible_end_frame: 0
267-
cancel_frame: 15
267+
cancel_frame: 22
268268
freeze_during_hitstop: false
269269
special_n_hit7:
270270
game_script: game_specialnhit
@@ -293,7 +293,7 @@ special_n_hit7:
293293
extra:
294294
intangible_start_frame: 0
295295
intangible_end_frame: 0
296-
cancel_frame: 15
296+
cancel_frame: 22
297297
freeze_during_hitstop: false
298298
special_n_hit8:
299299
game_script: game_specialnhit
@@ -322,7 +322,7 @@ special_n_hit8:
322322
extra:
323323
intangible_start_frame: 0
324324
intangible_end_frame: 0
325-
cancel_frame: 15
325+
cancel_frame: 22
326326
freeze_during_hitstop: false
327327
special_s_boost:
328328
game_script: game_specialsboost

0 commit comments

Comments
 (0)