Skip to content

Commit

Permalink
Merge pull request #2271 from HDR-Development/mokl
Browse files Browse the repository at this point in the history
mokl's misc
  • Loading branch information
WuBoytH authored Feb 19, 2024
2 parents 12a11e5 + e98d3d7 commit a69237a
Show file tree
Hide file tree
Showing 11 changed files with 123 additions and 75 deletions.
41 changes: 40 additions & 1 deletion fighters/duckhunt/src/acmd/other.rs
Original file line number Diff line number Diff line change
Expand Up @@ -363,6 +363,42 @@ unsafe fn escape_air_slide_game(fighter: &mut L2CAgentBase) {
}
}

#[acmd_script( agent = "duckhunt", scripts = ["effect_appealsl", "effect_appealsr"], category = ACMD_EFFECT , low_priority)]
unsafe fn effect_appeals(fighter: &mut L2CAgentBase) {
let lua_state = fighter.lua_state_agent;
let boma = fighter.boma();
}

#[acmd_script( agent = "duckhunt", scripts = ["sound_appealsl", "sound_appealsr"], category = ACMD_SOUND , low_priority)]
unsafe fn sound_appeals(fighter: &mut L2CAgentBase) {
let lua_state = fighter.lua_state_agent;
let boma = fighter.boma();
frame(lua_state, 1.0);
if is_excute(fighter) {
let handle = SoundModule::play_se(boma, Hash40::new("se_duckhunt_appeal_s01"), true, false, false, false, app::enSEType(0));
SoundModule::set_se_vol(boma, handle as i32, 3.0, 0);
}
}

#[acmd_script( agent = "duckhunt", scripts = ["expression_appealsl", "expression_appealsr"], category = ACMD_EXPRESSION , low_priority)]
unsafe fn expression_appeals(fighter: &mut L2CAgentBase) {
let lua_state = fighter.lua_state_agent;
let boma = fighter.boma();
if is_excute(fighter) {
ItemModule::set_have_item_visibility(boma, false, 0);
VisibilityModule::set_int64(boma, hash40("body") as i64, hash40("body_normal") as i64);
slope!(fighter, *MA_MSC_CMD_SLOPE_SLOPE_INTP, *SLOPE_STATUS_TOP, 10);
}
frame(lua_state, 10.0);
if is_excute(fighter) {
ControlModule::set_rumble(boma, Hash40::new("rbkind_superleaf"), 72, true, *BATTLE_OBJECT_ID_INVALID as u32);
}
frame(lua_state, 88.0);
if is_excute(fighter) {
slope!(fighter, *MA_MSC_CMD_SLOPE_SLOPE_INTP, *SLOPE_STATUS_LR, 10);
}
}

pub fn install() {
install_acmd_scripts!(
escape_air_game,
Expand All @@ -382,7 +418,10 @@ pub fn install() {
damageflylw_sound,
damageflyn_sound,
damageflyroll_sound,
damageflytop_sound
damageflytop_sound,
effect_appeals,
sound_appeals,
expression_appeals
);
}

5 changes: 0 additions & 5 deletions fighters/duckhunt/src/acmd/tilts.rs
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,6 @@ unsafe fn duckhunt_attack_squat_s3_sound(agent: &mut L2CAgentBase) {
let boma = agent.boma();
frame(lua_state, 1.0);
if is_excute(agent) {
PLAY_SE(agent, Hash40::new("se_duckhunt_appeal_s01"));
PLAY_SE(agent, Hash40::new("se_duckhunt_appeal_s02"));
}
frame(lua_state, 4.0);
Expand Down Expand Up @@ -216,10 +215,6 @@ unsafe fn duckhunt_attack_squat_s3_expression(agent: &mut L2CAgentBase) {
if is_excute(agent) {
RUMBLE_HIT(agent, Hash40::new("rbkind_attackm"), 0);
}
frame(lua_state, 22.0);
if is_excute(agent) {
VisibilityModule::set_int64(boma, hash40("body") as i64, hash40("body_normal") as i64);
}
}

pub fn install() {
Expand Down
6 changes: 3 additions & 3 deletions fighters/lucas/src/acmd/aerials.rs
Original file line number Diff line number Diff line change
Expand Up @@ -327,13 +327,13 @@ unsafe fn lucas_attack_air_hi_effect(fighter: &mut L2CAgentBase) {
let boma = fighter.boma();
frame(lua_state, 6.0);
if is_excute(fighter) {
EFFECT_FOLLOW_FLIP(fighter, Hash40::new("sys_attack_arc_d"), Hash40::new("sys_attack_arc_d"), Hash40::new("top"), 1.3, 8.8, 0, -55, -128, -62, 0.8, true, *EF_FLIP_YZ);
LAST_EFFECT_SET_RATE(fighter, 2.0);
EFFECT_FOLLOW_FLIP(fighter, Hash40::new("sys_attack_arc_d"), Hash40::new("sys_attack_arc_d"), Hash40::new("top"), 1.3, 7.8, -2.0, -55, -128, -62, 0.8, true, *EF_FLIP_YZ);
LAST_EFFECT_SET_RATE(fighter, 2.4);
LAST_EFFECT_SET_COLOR(fighter, 1.0, 0.8, 0.1);
}
frame(lua_state, 7.0);
if is_excute(fighter) {
EFFECT_ALPHA(fighter, Hash40::new("sys_attack_impact"), Hash40::new("top"), 1.05, 14.5, 0, 0, 0, 0, 1.31, 0, 0, 0, 0, 0, 0, true, 0.7);
EFFECT_ALPHA(fighter, Hash40::new("sys_attack_impact"), Hash40::new("top"), 1.05, 14.5, 2.0, 0, 0, 0, 1.31, 0, 0, 0, 0, 0, 0, true, 0.7);
}
}

Expand Down
10 changes: 8 additions & 2 deletions fighters/lucas/src/acmd/smashes.rs
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,13 @@ unsafe fn lucas_attack_s4_s_game(fighter: &mut L2CAgentBase) {
AttackModule::clear_all(boma);
}
frame(lua_state, 20.0);
if is_excute(fighter) {
WorkModule::on_flag(boma, *FIGHTER_LUCAS_STATUS_ATTACK_S4_FLAG_REFLECT_END);
}
frame(lua_state, 25.0);
if is_excute(fighter) {
VarModule::off_flag(fighter.object(), vars::lucas::instance::ATTACK_S4_ANGLE_DOWN);
VarModule::off_flag(fighter.object(), vars::lucas::instance::ATTACK_S4_ANGLE_UP);
WorkModule::on_flag(boma, *FIGHTER_LUCAS_STATUS_ATTACK_S4_FLAG_REFLECT_END);
}
}
else {
Expand Down Expand Up @@ -116,10 +119,13 @@ unsafe fn lucas_attack_s4_s_game(fighter: &mut L2CAgentBase) {
AttackModule::clear_all(boma);
}
frame(lua_state, 20.0);
if is_excute(fighter) {
WorkModule::on_flag(boma, *FIGHTER_LUCAS_STATUS_ATTACK_S4_FLAG_REFLECT_END);
}
frame(lua_state, 25.0);
if is_excute(fighter) {
VarModule::off_flag(fighter.object(), vars::lucas::instance::ATTACK_S4_ANGLE_DOWN);
VarModule::off_flag(fighter.object(), vars::lucas::instance::ATTACK_S4_ANGLE_UP);
WorkModule::on_flag(boma, *FIGHTER_LUCAS_STATUS_ATTACK_S4_FLAG_REFLECT_END);
}
}
}
Expand Down
14 changes: 8 additions & 6 deletions fighters/lucas/src/opff.rs
Original file line number Diff line number Diff line change
Expand Up @@ -348,15 +348,17 @@ unsafe fn smash_s_angle_handler(fighter: &mut L2CFighterCommon, frame: f32) {
if fighter.is_status_one_of(&[*FIGHTER_STATUS_KIND_ATTACK_S4, *FIGHTER_STATUS_KIND_ATTACK_S4_START]) {
// Up Tilted Side Smash
if VarModule::is_flag(fighter.object(), vars::lucas::instance::ATTACK_S4_ANGLE_UP) {
joint_rotator(fighter, frame, Hash40::new("waist"), Vector3f{x: 0.0, y:-30.0, z:0.0}, 11.0, 15.0, 17.0, 25.0);
joint_rotator(fighter, frame, Hash40::new("bust"), Vector3f{x: 0.0, y:-20.0, z:0.0}, 11.0, 15.0, 17.0, 25.0);
joint_rotator(fighter, frame, Hash40::new("waist"), Vector3f{x: 0.0, y:-10.0, z:0.0}, 13.0, 15.0, 16.0, 25.0);
joint_rotator(fighter, frame, Hash40::new("bust"), Vector3f{x: 0.0, y:-10.0, z:0.0}, 13.0, 15.0, 16.0, 25.0);
joint_rotator(fighter, frame, Hash40::new("handl"), Vector3f{x: 0.0, y:-20.0, z:0.0}, 11.0, 15.0, 16.0, 25.0);
joint_rotator(fighter, frame, Hash40::new("handr"), Vector3f{x: 0.0, y:-20.0, z:0.0}, 11.0, 15.0, 16.0, 25.0);
}
// Down Tilted Side Smash
else if VarModule::is_flag(fighter.object(), vars::lucas::instance::ATTACK_S4_ANGLE_DOWN) {
joint_rotator(fighter, frame, Hash40::new("waist"), Vector3f{x: 0.0, y:10.0, z:0.0}, 11.0, 15.0, 17.0, 25.0);
joint_rotator(fighter, frame, Hash40::new("bust"), Vector3f{x: 0.0, y:10.0, z:0.0}, 11.0, 15.0, 17.0, 25.0);
joint_rotator(fighter, frame, Hash40::new("handl"), Vector3f{x: 0.0, y:20.0, z:0.0}, 11.0, 15.0, 17.0, 25.0);
joint_rotator(fighter, frame, Hash40::new("handr"), Vector3f{x: 0.0, y:20.0, z:0.0}, 11.0, 15.0, 17.0, 25.0);
joint_rotator(fighter, frame, Hash40::new("waist"), Vector3f{x: 0.0, y:10.0, z:0.0}, 13.0, 15.0, 16.0, 25.0);
joint_rotator(fighter, frame, Hash40::new("bust"), Vector3f{x: 0.0, y:10.0, z:0.0}, 13.0, 15.0, 16.0, 25.0);
joint_rotator(fighter, frame, Hash40::new("handl"), Vector3f{x: 0.0, y:20.0, z:0.0}, 11.0, 15.0, 16.0, 25.0);
joint_rotator(fighter, frame, Hash40::new("handr"), Vector3f{x: 0.0, y:20.0, z:0.0}, 11.0, 15.0, 16.0, 25.0);
}
}
}
Expand Down
51 changes: 26 additions & 25 deletions fighters/mario/src/acmd/specials.rs
Original file line number Diff line number Diff line change
Expand Up @@ -114,19 +114,16 @@ unsafe fn mario_special_n_fire_effect(fighter: &mut L2CAgentBase) {
if is_excute(fighter) {
EFFECT(fighter, Hash40::new("sys_smash_flash_s"), Hash40::new("top"), 6, 11, 0, 0, 0, 0, 0.9, 0, 0, 0, 0, 0, 0, false);
}
frame(lua_state, 11.0);
frame(lua_state, 13.0);
if is_excute(fighter) {
if PostureModule::lr(boma) > 0.0 {
EFFECT_FOLLOW(fighter, Hash40::new("mario_fb_shoot"), Hash40::new("havel"), 0, 0, 0, 0, 45, 0, 0.7, true);
EFFECT_FOLLOW(fighter, Hash40::new("mario_fb_shoot"), Hash40::new("haver"), 0, 0, 0, 0, 45, 0, 0.7, true);
EFFECT_FOLLOW(fighter, Hash40::new("mario_fb_shoot"), Hash40::new("havel"), 0, 0, 0, 0, 45, 0, 0.55, true);
EFFECT_FOLLOW(fighter, Hash40::new("mario_fb_shoot"), Hash40::new("haver"), 0, 0, 0, 0, 45, 0, 0.55, true);
}
else {
EFFECT_FOLLOW(fighter, Hash40::new("mario_fb_shoot"), Hash40::new("havel"), 0, 0, 0, 0, -45, 0, 0.7, true);
EFFECT_FOLLOW(fighter, Hash40::new("mario_fb_shoot"), Hash40::new("haver"), 0, 0, 0, 0, -45, 0, 0.7, true);
EFFECT_FOLLOW(fighter, Hash40::new("mario_fb_shoot"), Hash40::new("havel"), 0, 0, 0, 0, -45, 0, 0.55, true);
EFFECT_FOLLOW(fighter, Hash40::new("mario_fb_shoot"), Hash40::new("haver"), 0, 0, 0, 0, -45, 0, 0.55, true);
}
}
frame(lua_state, 12.0);
if is_excute(fighter) {
if fighter.is_situation(*SITUATION_KIND_GROUND) {
EFFECT_FOLLOW(fighter, Hash40::new("sys_h_smoke_b"), Hash40::new("top"), 0, 0, 0, 0, 0, 0, 0.5, true);
LAST_EFFECT_SET_COLOR(fighter, 0.2, 0.2, 0.2);
Expand All @@ -135,10 +132,13 @@ unsafe fn mario_special_n_fire_effect(fighter: &mut L2CAgentBase) {
frame(lua_state, 14.0);
if is_excute(fighter) {
FLASH(fighter, 1, 0, 0, 0.35);
EFFECT_FOLLOW(fighter, Hash40::new("sys_flame"), Hash40::new("handl"), 1.0, 0, 0, 0, 0, 0, 0.2, true);
EFFECT_FOLLOW(fighter, Hash40::new("sys_flame"), Hash40::new("handr"), 1.0, 0, 0, 0, 0, 0, 0.2, true);
EFFECT_FOLLOW(fighter, Hash40::new("sys_bomb_a"), Hash40::new("top"), 0, 7.5, 10.5, 0, 0, 0, 0.26, true);
LAST_EFFECT_SET_RATE(fighter, 1.2);
LAST_EFFECT_SET_COLOR(fighter, 0.65, 0.2, 0.08);
LAST_EFFECT_SET_RATE(fighter, 0.75);
EFFECT_FOLLOW(fighter, Hash40::new("sys_damage_fire"), Hash40::new("top"), 0, 6.0, 10.5, 0, 0, 0, 0.9, true);
LAST_EFFECT_SET_RATE(fighter, 0.55);
EFFECT_FOLLOW(fighter, Hash40::new("sys_damage_fire"), Hash40::new("top"), 0, 5.0, 10.5, 0, 0, 0, 0.9, true);
LAST_EFFECT_SET_RATE(fighter, 0.55);
EffectModule::enable_sync_init_pos_last(boma);
if fighter.is_situation(*SITUATION_KIND_GROUND) {
EFFECT_FOLLOW(fighter, Hash40::new("sys_h_smoke_b"), Hash40::new("top"), 0, 0, 0, 0, 0, 0, 0.5, true);
Expand Down Expand Up @@ -191,7 +191,7 @@ unsafe fn mario_special_n_fire_expression(fighter: &mut L2CAgentBase) {
}
frame(lua_state, 14.0);
if is_excute(fighter) {
ControlModule::set_rumble(boma, Hash40::new("rbkind_55_smash"), 0, false, *BATTLE_OBJECT_ID_INVALID as u32);
ControlModule::set_rumble(boma, Hash40::new("rbkind_explosion"), 0, false, *BATTLE_OBJECT_ID_INVALID as u32);
}
}

Expand Down Expand Up @@ -471,22 +471,22 @@ unsafe fn effect_special_lw_light(fighter: &mut L2CAgentBase) {
let boma = fighter.boma();
frame(lua_state, 10.0);
if is_excute(fighter) {
EFFECT_FOLLOW(fighter, Hash40::new("sys_spin_wind"), Hash40::new("top"), 0, 9.5, 0, 0, 0, 0, 1.0, true);
EFFECT_FOLLOW(fighter, Hash40::new("sys_spin_wind"), Hash40::new("top"), 0, 10.4, 0, 0, 0, 0, 1.0, true);
LAST_EFFECT_SET_COLOR(fighter, 0.045, 0.345, 2.05);
LAST_EFFECT_SET_ALPHA(fighter, 0.55);
LAST_EFFECT_SET_RATE(fighter, 0.5);
EFFECT_FOLLOW(fighter, Hash40::new("sys_spin_wind"), Hash40::new("top"), 0, 9.45, 0, 0, 0, 0, 1.0, true);
LAST_EFFECT_SET_RATE(fighter, 0.65);
EFFECT_FOLLOW(fighter, Hash40::new("sys_spin_wind"), Hash40::new("top"), 0, 10.4, 0, 0, 0, 0, 1.0, true);
LAST_EFFECT_SET_COLOR(fighter, 0.045, 0.345, 2.05);
LAST_EFFECT_SET_ALPHA(fighter, 0.55);
LAST_EFFECT_SET_RATE(fighter, 0.5);
EFFECT_FOLLOW(fighter, Hash40::new("sys_spin_wind"), Hash40::new("top"), 0, 9.5, 0, 0, 180, 0, 1.0, true);
LAST_EFFECT_SET_RATE(fighter, 0.65);
EFFECT_FOLLOW(fighter, Hash40::new("sys_spin_wind"), Hash40::new("top"), 0, 10.4, 0, 0, 180, 0, 1.0, true);
LAST_EFFECT_SET_COLOR(fighter, 0.045, 0.345, 2.05);
LAST_EFFECT_SET_ALPHA(fighter, 0.55);
LAST_EFFECT_SET_RATE(fighter, 0.5);
EFFECT_FOLLOW(fighter, Hash40::new("sys_spin_wind"), Hash40::new("top"), 0, 9.45, 0, 0, 180, 0, 1.0, true);
LAST_EFFECT_SET_RATE(fighter, 0.65);
EFFECT_FOLLOW(fighter, Hash40::new("sys_spin_wind"), Hash40::new("top"), 0, 10.4, 0, 0, 180, 0, 1.0, true);
LAST_EFFECT_SET_COLOR(fighter, 0.045, 0.345, 2.05);
LAST_EFFECT_SET_ALPHA(fighter, 0.55);
LAST_EFFECT_SET_RATE(fighter, 0.5);
LAST_EFFECT_SET_RATE(fighter, 0.65);
EFFECT_FOLLOW(fighter, Hash40::new("sys_starrod_splash"), Hash40::new("havel"), 0, 0, 0, 0, 0, 0, 1.0, true);
LAST_EFFECT_SET_ALPHA(fighter, 0.5);
EFFECT_FOLLOW(fighter, Hash40::new("sys_starrod_splash"), Hash40::new("haver"), 0, 0, 0, 0, 0, 0, 1.0, true);
Expand All @@ -507,11 +507,11 @@ unsafe fn effect_special_lw_light(fighter: &mut L2CAgentBase) {
unsafe fn sound_special_lw_light(fighter: &mut L2CAgentBase) {
let lua_state = fighter.lua_state_agent;
let boma = fighter.boma();

frame(lua_state, 6.0);
if is_excute(fighter) {
if is_excute(fighter) {
let handle = SoundModule::play_se(boma, Hash40::new("se_mario_special_l01"), true, false, false, false, app::enSEType(0));
SoundModule::set_se_vol(boma, handle as i32, 0.7, 0);
PLAY_SE(fighter, Hash40::new("vc_mario_attack05"));
PLAY_SE(fighter, Hash40::new("se_mario_special_l01"));
PLAY_SE(fighter, Hash40::new("se_mario_attackair_l01"));
}

Expand Down Expand Up @@ -649,8 +649,9 @@ unsafe fn sound_special_air_lw_light(fighter: &mut L2CAgentBase) {
frame(lua_state, 10.0);
if is_excute(fighter) {
if !VarModule::is_flag(fighter.battle_object, vars::mario::instance::DISABLE_DSPECIAL_STALL) { // Effects will change if you used galaxy spin in the air
PLAY_SE(fighter, Hash40::new("vc_mario_attack05"));
PLAY_SE(fighter, Hash40::new("se_mario_special_l01"));
let handle = SoundModule::play_se(boma, Hash40::new("se_mario_special_l01"), true, false, false, false, app::enSEType(0));
SoundModule::set_se_vol(boma, handle as i32, 0.7, 0);
PLAY_SE(fighter, Hash40::new("vc_mario_attack05"));
PLAY_SE(fighter, Hash40::new("se_mario_attackair_l01"));
}
else {
Expand Down
9 changes: 8 additions & 1 deletion fighters/mario/src/status.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,12 @@ unsafe extern "C" fn change_status_callback(fighter: &mut L2CFighterCommon) -> L
true.into()
}

#[status_script(agent = "mario", status = FIGHTER_STATUS_KIND_SPECIAL_LW, condition = LUA_SCRIPT_STATUS_FUNC_STATUS_PRE)]
unsafe extern "C" fn special_lw_pre(fighter: &mut L2CFighterCommon) -> L2CValue {
StatusModule::set_status_kind_interrupt(fighter.module_accessor, *FIGHTER_MARIO_STATUS_KIND_SPECIAL_LW_SHOOT);
return 1.into()
}

#[smashline::fighter_init]
fn mario_init(fighter: &mut L2CFighterCommon) {
unsafe {
Expand All @@ -22,7 +28,7 @@ fn mario_init(fighter: &mut L2CFighterCommon) {
}

#[status_script(agent = "mario", status = FIGHTER_MARIO_STATUS_KIND_SPECIAL_LW_SHOOT, condition = LUA_SCRIPT_STATUS_FUNC_STATUS_PRE)]
unsafe extern "C" fn special_lw_pre(fighter: &mut L2CFighterCommon) -> L2CValue {
unsafe extern "C" fn special_lw_shoot_pre(fighter: &mut L2CFighterCommon) -> L2CValue {
StatusModule::init_settings(fighter.module_accessor,
app::SituationKind(*SITUATION_KIND_NONE),
*FIGHTER_KINETIC_TYPE_UNIQ,
Expand Down Expand Up @@ -55,5 +61,6 @@ pub fn install() {
special_n::install();
install_status_scripts!(
special_lw_pre,
special_lw_shoot_pre
);
}
20 changes: 6 additions & 14 deletions fighters/nana/src/acmd/smashes.rs
Original file line number Diff line number Diff line change
Expand Up @@ -91,25 +91,17 @@ unsafe fn nana_attack_hi4_game(fighter: &mut L2CAgentBase) {
unsafe fn nana_attack_lw4_game(fighter: &mut L2CAgentBase) {
let lua_state = fighter.lua_state_agent;
let boma = fighter.boma();
frame(lua_state, 1.0);
FT_MOTION_RATE_RANGE(fighter, 1.0, 5.0, 3.0);
frame(lua_state, 5.0);
FT_MOTION_RATE_RANGE(fighter, 5.0, 10.0, 3.0);
frame(lua_state, 4.0);
if is_excute(fighter) {
WorkModule::on_flag(boma, *FIGHTER_STATUS_ATTACK_FLAG_START_SMASH_HOLD);
}
frame(lua_state, 8.33); // effectively frame 7
frame(lua_state, 7.0);
if is_excute(fighter) {
ATTACK(fighter, 1, 0, Hash40::new("havel"), 12.0, 40, 110, 0, 50, 3.0, 0.0, 3.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_normal"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_HAMMER);
ATTACK(fighter, 2, 0, Hash40::new("havel"), 12.0, 40, 110, 0, 50, 3.0, 0.0, 7.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_normal"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_HAMMER);
AttackModule::set_attack_height_all(boma, app::AttackHeight(*ATTACK_HEIGHT_LOW), false);
}
frame(lua_state, 10.0);
FT_MOTION_RATE(fighter, 1.0);
frame(lua_state, 13.0);
FT_MOTION_RATE_RANGE(fighter, 13.0, 21.0, 4.0);
frame(lua_state, 21.0);
FT_MOTION_RATE(fighter, 1.0);
if is_excute(fighter) {
AttackModule::clear_all(boma);
}
Expand All @@ -123,14 +115,14 @@ unsafe fn effect_attacklw4(fighter: &mut L2CAgentBase) {
if is_excute(fighter) {
EFFECT(fighter, Hash40::new("sys_smash_flash"), Hash40::new("top"), 6, 7, -10, 0, 0, 0, 0.8, 0, 0, 0, 0, 0, 0, true);
}
frame(lua_state, 10.0);
frame(lua_state, 7.0);
if is_excute(fighter) {
LANDING_EFFECT(fighter, Hash40::new("sys_atk_smoke"), Hash40::new("top"), 5, 0, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 0, 0, false);
}
frame(lua_state, 10.0);
frame(lua_state, 8.0);
if is_excute(fighter) {
EFFECT_FOLLOW_FLIP(fighter, Hash40::new("popo_smash_arc_b"), Hash40::new("popo_smash_arc_b"), Hash40::new("top"), 1.5, 2.5, 1, 184.5, -3, -3, 1.1, true, *EF_FLIP_YZ);
LAST_EFFECT_SET_RATE(fighter, 1.5);
EFFECT_FOLLOW_FLIP(fighter, Hash40::new("popo_smash_arc_b"), Hash40::new("popo_smash_arc_b"), Hash40::new("top"), 1.5, 2.5, 1, 180, -75, 180, 1.1, true, *EF_FLIP_YZ);
LAST_EFFECT_SET_RATE(fighter, 1.3);
}
}

Expand Down
Loading

0 comments on commit a69237a

Please sign in to comment.