Skip to content

Commit a90a00a

Browse files
committed
More counter changes, did not realize how weak it was before.
Down B: - Counter window: 8-30 -> 8-20 - Angle: 20 -> 35 - FAF: 68 -> 60 - BKB: 50/60 -> 40 (Sourspot removed) - KBG: 35/45 -> 100 (Sourspot removed) - On-Hit SFX: Sword -> Fire - Counter-attack Startup: 5 -> 4 - Counter Activation Freeze Frame: 21 -> 16 - Additional hitboxes placed above Roy to match sword trail GFX
1 parent f9f1934 commit a90a00a

File tree

2 files changed

+20
-24
lines changed

2 files changed

+20
-24
lines changed

fighters/roy/src/acmd/specials.rs

+12-24
Original file line numberDiff line numberDiff line change
@@ -1010,19 +1010,26 @@ unsafe fn game_speciallw(fighter: &mut L2CAgentBase) {
10101010

10111011
}
10121012

1013-
#[acmd_script( agent = "roy", script = "game_speciallwhit" , category = ACMD_GAME , low_priority)]
1014-
unsafe fn roy_special_lw_hit_game(fighter: &mut L2CAgentBase) {
1013+
#[acmd_script( agent = "roy", scripts = ["game_speciallwhit", "game_specialairlwhit"], category = ACMD_GAME , low_priority)]
1014+
unsafe fn game_speciallwhit(fighter: &mut L2CAgentBase) {
10151015
let lua_state = fighter.lua_state_agent;
10161016
let boma = fighter.boma();
1017+
frame(lua_state, 1.0);
1018+
if is_excute(fighter) {
1019+
FT_MOTION_RATE_RANGE(fighter, 1.0, 5.0, 4.0);
1020+
}
10171021
frame(lua_state, 5.0);
10181022
if is_excute(fighter) {
1019-
ATTACK(fighter, 0, 0, Hash40::new("top"), 8.0, 35, 70, 0, 45, 7.7, 0.0, 8.0, 13.0, Some(0.0), Some(8.0), Some(3.0), 1.2, 1.0, *ATTACK_SETOFF_KIND_OFF, *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_fire"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_FIRE, *ATTACK_REGION_SWORD);
1020-
ATTACK(fighter, 1, 0, Hash40::new("top"), 8.0, 35, 70, 0, 45, 7.5, 0.0, 8.0, 18.0, Some(0.0), Some(8.0), Some(2.0), 1.2, 1.0, *ATTACK_SETOFF_KIND_OFF, *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_fire"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_FIRE, *ATTACK_REGION_SWORD);
1023+
ATTACK(fighter, 0, 0, Hash40::new("top"), 8.0, 35, 100, 0, 40, 3.0, 0.0, 19.0, 16.5, Some(0.0), Some(21.0), Some(10.0), 1.2, 1.0, *ATTACK_SETOFF_KIND_OFF, *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_fire"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_FIRE, *ATTACK_REGION_SWORD);
1024+
ATTACK(fighter, 1, 0, Hash40::new("top"), 8.0, 35, 100, 0, 40, 4.0, 0.0, 15.0, 18.5, Some(0.0), Some(16.0), Some(8.0), 1.2, 1.0, *ATTACK_SETOFF_KIND_OFF, *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_fire"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_FIRE, *ATTACK_REGION_SWORD);
1025+
ATTACK(fighter, 2, 0, Hash40::new("top"), 8.0, 35, 100, 0, 40, 7.5, 0.0, 8.0, 18.0, Some(0.0), Some(8.0), Some(3.0), 1.2, 1.0, *ATTACK_SETOFF_KIND_OFF, *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_fire"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_FIRE, *ATTACK_REGION_SWORD);
10211026
AttackModule::set_force_reaction(boma, 0, true, false);
10221027
AttackModule::set_force_reaction(boma, 1, true, false);
1028+
AttackModule::set_force_reaction(boma, 2, true, false);
10231029
if WorkModule::is_flag(boma, *FIGHTER_ROY_STATUS_SPECIAL_LW_FLAG_SPECIAL_EFFECT) {
10241030
AttackModule::set_optional_hit_sound(boma, 0, smash::phx::Hash40::new_raw(0x12813fe196));
10251031
AttackModule::set_optional_hit_sound(boma, 1, smash::phx::Hash40::new_raw(0x12813fe196));
1032+
AttackModule::set_optional_hit_sound(boma, 2, smash::phx::Hash40::new_raw(0x12813fe196));
10261033
}
10271034
}
10281035
frame(lua_state, 7.0);
@@ -1032,24 +1039,6 @@ unsafe fn roy_special_lw_hit_game(fighter: &mut L2CAgentBase) {
10321039

10331040
}
10341041

1035-
#[acmd_script( agent = "roy", script = "game_specialairlwhit" , category = ACMD_GAME , low_priority)]
1036-
unsafe fn roy_special_air_lw_hit_game(fighter: &mut L2CAgentBase) {
1037-
let lua_state = fighter.lua_state_agent;
1038-
let boma = fighter.boma();
1039-
frame(lua_state, 5.0);
1040-
if is_excute(fighter) {
1041-
ATTACK(fighter, 0, 0, Hash40::new("top"), 8.0, 35, 70, 0, 45, 7.7, 0.0, 8.0, 13.0, Some(0.0), Some(8.0), Some(3.0), 1.2, 1.0, *ATTACK_SETOFF_KIND_OFF, *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_fire"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_FIRE, *ATTACK_REGION_SWORD);
1042-
ATTACK(fighter, 1, 0, Hash40::new("top"), 8.0, 35, 70, 0, 45, 7.5, 0.0, 8.0, 18.0, Some(0.0), Some(8.0), Some(2.0), 1.2, 1.0, *ATTACK_SETOFF_KIND_OFF, *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_fire"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_FIRE, *ATTACK_REGION_SWORD);
1043-
AttackModule::set_force_reaction(boma, 0, true, false);
1044-
AttackModule::set_force_reaction(boma, 1, true, false);
1045-
}
1046-
frame(lua_state, 7.0);
1047-
if is_excute(fighter) {
1048-
AttackModule::clear_all(boma);
1049-
}
1050-
1051-
}
1052-
10531042
pub fn install() {
10541043
install_acmd_scripts!(
10551044
roy_special_n_end_game,
@@ -1092,8 +1081,7 @@ pub fn install() {
10921081
roy_special_hi_game,
10931082
roy_special_air_hi_game,
10941083
game_speciallw,
1095-
roy_special_lw_hit_game,
1096-
roy_special_air_lw_hit_game,
1084+
game_speciallwhit,
10971085
);
10981086
}
10991087

romfs/source/fighter/roy/param/vl.prcxml

+8
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,12 @@
3636
<hash40 index="2">dummy</hash40>
3737
<hash40 index="3">dummy</hash40>
3838
</list>
39+
<list hash="param_special_lw">
40+
<struct index="0">
41+
<int hash="attack_time">16</int>
42+
</struct>
43+
<hash40 index="1">dummy</hash40>
44+
<hash40 index="2">dummy</hash40>
45+
<hash40 index="3">dummy</hash40>
46+
</list>
3947
</struct>

0 commit comments

Comments
 (0)