Skip to content

Commit 2e0cba7

Browse files
committed
Down B Logic Change
1 parent 57874ef commit 2e0cba7

File tree

1 file changed

+47
-1
lines changed

1 file changed

+47
-1
lines changed

fighters/chrom/src/acmd/specials.rs

+47-1
Original file line numberDiff line numberDiff line change
@@ -918,6 +918,49 @@ unsafe fn game_specialhi3(fighter: &mut L2CAgentBase) {
918918
}
919919
}
920920

921+
#[acmd_script( agent = "chrom", scripts = ["game_speciallw", "game_specialairlow"], category = ACMD_GAME, low_priority )]
922+
unsafe fn game_speciallw(fighter: &mut L2CAgentBase) {
923+
let lua_state = fighter.lua_state_agent;
924+
let boma = fighter.boma();
925+
frame(lua_state, 8.0);
926+
if is_excute(fighter) {
927+
WorkModule::on_flag(boma, *FIGHTER_ROY_STATUS_SPECIAL_LW_FLAG_SHIELD);
928+
WorkModule::on_flag(boma, *FIGHTER_ROY_STATUS_SPECIAL_LW_FLAG_APPLY_POWERUP_MOTION_RATE);
929+
}
930+
frame(lua_state, 21.0);
931+
FT_MOTION_RATE_RANGE(fighter, 21.0, 68.0, 39.0);
932+
if is_excute(fighter) {
933+
WorkModule::off_flag(boma, *FIGHTER_ROY_STATUS_SPECIAL_LW_FLAG_SHIELD);
934+
WorkModule::off_flag(boma, *FIGHTER_ROY_STATUS_SPECIAL_LW_FLAG_APPLY_POWERUP_MOTION_RATE);
935+
}
936+
}
937+
938+
#[acmd_script( agent = "roy", scripts = ["game_speciallwhit", "game_specialairlwhit"], category = ACMD_GAME , low_priority)]
939+
unsafe fn game_speciallwhit(fighter: &mut L2CAgentBase) {
940+
let lua_state = fighter.lua_state_agent;
941+
let boma = fighter.boma();
942+
frame(lua_state, 1.0);
943+
FT_MOTION_RATE_RANGE(fighter, 1.0, 5.0, 4.0);
944+
frame(lua_state, 5.0);
945+
if is_excute(fighter) {
946+
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_cutup"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_CHROM_HIT, *ATTACK_REGION_SWORD);
947+
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_cutup"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_CHROM_HIT, *ATTACK_REGION_SWORD);
948+
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_cutup"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_CHROM_HIT, *ATTACK_REGION_SWORD);
949+
AttackModule::set_force_reaction(boma, 0, true, false);
950+
AttackModule::set_force_reaction(boma, 1, true, false);
951+
AttackModule::set_force_reaction(boma, 2, true, false);
952+
if WorkModule::is_flag(boma, *FIGHTER_ROY_STATUS_SPECIAL_LW_FLAG_SPECIAL_EFFECT) {
953+
AttackModule::set_optional_hit_sound(boma, 0, Hash40::new("se_chrom_criticalhit"));
954+
AttackModule::set_optional_hit_sound(boma, 1, Hash40::new("se_chrom_criticalhit"));
955+
AttackModule::set_optional_hit_sound(boma, 2, Hash40::new("se_chrom_criticalhit"));
956+
}
957+
}
958+
frame(lua_state, 7.0);
959+
if is_excute(fighter) {
960+
AttackModule::clear_all(boma);
961+
}
962+
}
963+
921964
pub fn install() {
922965
install_acmd_scripts!(
923966
chrom_special_n_end_game,
@@ -948,7 +991,10 @@ pub fn install() {
948991
chrom_special_air_s4_lw_effect,
949992
game_specialhi2,
950993
game_specialairhi2,
951-
game_specialhi3
994+
game_specialhi3,
995+
game_speciallw,
996+
game_speciallwhit
997+
952998
);
953999
}
9541000

0 commit comments

Comments
 (0)