Skip to content

Commit

Permalink
Satan herself
Browse files Browse the repository at this point in the history
  • Loading branch information
BEANSS0328 committed Mar 23, 2024
1 parent 0ac69a1 commit 2dff392
Show file tree
Hide file tree
Showing 24 changed files with 906 additions and 887 deletions.
202 changes: 101 additions & 101 deletions fighters/murabito/src/acmd/smashes.rs

Large diffs are not rendered by default.

426 changes: 212 additions & 214 deletions fighters/reflet/src/acmd/aerials.rs

Large diffs are not rendered by default.

184 changes: 91 additions & 93 deletions fighters/reflet/src/acmd/ground.rs

Large diffs are not rendered by default.

16 changes: 8 additions & 8 deletions fighters/reflet/src/acmd/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ mod specials;
mod throws;
mod ground;

pub fn install() {
aerials::install();
tilts::install();
other::install();
smashes::install();
specials::install();
throws::install();
ground::install();
pub fn install(agent: &mut Agent) {
aerials::install(agent);
tilts::install(agent);
other::install(agent);
smashes::install(agent);
specials::install(agent);
throws::install(agent);
ground::install(agent);
}
273 changes: 71 additions & 202 deletions fighters/reflet/src/acmd/other.rs

Large diffs are not rendered by default.

102 changes: 50 additions & 52 deletions fighters/reflet/src/acmd/smashes.rs

Large diffs are not rendered by default.

90 changes: 41 additions & 49 deletions fighters/reflet/src/acmd/specials.rs
Original file line number Diff line number Diff line change
@@ -1,50 +1,50 @@

use super::*;

unsafe extern "C" fn reflet_special_n_tron_start_game(fighter: &mut L2CAgentBase) {
let lua_state = fighter.lua_state_agent;
let boma = fighter.boma();
unsafe extern "C" fn game_specialntronstart(agent: &mut L2CAgentBase) {
let lua_state = agent.lua_state_agent;
let boma = agent.boma();
frame(lua_state, 1.0);
FT_MOTION_RATE(fighter, 15.0/(19.0-1.0));
FT_MOTION_RATE(agent, 15.0/(19.0-1.0));
frame(lua_state, 19.0);
FT_MOTION_RATE(fighter, 1.0);
FT_MOTION_RATE(agent, 1.0);
}

unsafe extern "C" fn reflet_special_air_n_tron_start_game(fighter: &mut L2CAgentBase) {
let lua_state = fighter.lua_state_agent;
let boma = fighter.boma();
unsafe extern "C" fn game_specialairntronstart(agent: &mut L2CAgentBase) {
let lua_state = agent.lua_state_agent;
let boma = agent.boma();
frame(lua_state, 1.0);
FT_MOTION_RATE(fighter, 15.0/(19.0-1.0));
FT_MOTION_RATE(agent, 15.0/(19.0-1.0));
frame(lua_state, 19.0);
FT_MOTION_RATE(fighter, 1.0);
FT_MOTION_RATE(agent, 1.0);
}

unsafe extern "C" fn reflet_special_n_tron_end_game(fighter: &mut L2CAgentBase) {
let lua_state = fighter.lua_state_agent;
let boma = fighter.boma();
FT_MOTION_RATE(fighter, 0.7); //FAF is frame 61
unsafe extern "C" fn game_specialntronend(agent: &mut L2CAgentBase) {
let lua_state = agent.lua_state_agent;
let boma = agent.boma();
FT_MOTION_RATE(agent, 0.7); //FAF is frame 61
}

unsafe extern "C" fn reflet_special_air_n_tron_end_game(fighter: &mut L2CAgentBase) {
let lua_state = fighter.lua_state_agent;
let boma = fighter.boma();
FT_MOTION_RATE(fighter, 0.35); //FAF is frame 63
unsafe extern "C" fn game_specialairntronend(agent: &mut L2CAgentBase) {
let lua_state = agent.lua_state_agent;
let boma = agent.boma();
FT_MOTION_RATE(agent, 0.35); //FAF is frame 63
}

unsafe extern "C" fn reflet_special_hi_game(fighter: &mut L2CAgentBase) {
let lua_state = fighter.lua_state_agent;
let boma = fighter.boma();
unsafe extern "C" fn game_specialhi(agent: &mut L2CAgentBase) {
let lua_state = agent.lua_state_agent;
let boma = agent.boma();
frame(lua_state, 8.0);
if is_excute(fighter) {
if is_excute(agent) {
ArticleModule::generate_article(boma, *FIGHTER_REFLET_GENERATE_ARTICLE_ELWIND, false, 0);
WorkModule::on_flag(boma, *FIGHTER_REFLET_STATUS_SPECIAL_HI_FLAG_JUMP);
}
frame(lua_state, 9.0);
if is_excute(fighter) {
VarModule::on_flag(fighter.battle_object, vars::common::instance::UP_SPECIAL_CANCEL);
if is_excute(agent) {
VarModule::on_flag(agent.battle_object, vars::common::instance::UP_SPECIAL_CANCEL);
}
frame(lua_state, 12.0);
if is_excute(fighter) {
if is_excute(agent) {
if (ControlModule::check_button_on_trriger(boma, *CONTROL_PAD_BUTTON_SPECIAL) || ControlModule::check_button_on_trriger(boma, *CONTROL_PAD_BUTTON_SPECIAL_RAW)) {
WorkModule::on_flag(boma, *FIGHTER_REFLET_STATUS_SPECIAL_HI_FLAG_TRY_2ND);
}
Expand All @@ -54,7 +54,7 @@ unsafe extern "C" fn reflet_special_hi_game(fighter: &mut L2CAgentBase) {
}
wait(lua_state, 1.0);
for _ in 0..30 {
if is_excute(fighter) {
if is_excute(agent) {
if (ControlModule::check_button_on_trriger(boma, *CONTROL_PAD_BUTTON_SPECIAL) || ControlModule::check_button_on_trriger(boma, *CONTROL_PAD_BUTTON_SPECIAL_RAW)) {
WorkModule::on_flag(boma, *FIGHTER_REFLET_STATUS_SPECIAL_HI_FLAG_TRY_2ND);
}
Expand All @@ -64,20 +64,20 @@ unsafe extern "C" fn reflet_special_hi_game(fighter: &mut L2CAgentBase) {

}

unsafe extern "C" fn reflet_special_air_hi_game(fighter: &mut L2CAgentBase) {
let lua_state = fighter.lua_state_agent;
let boma = fighter.boma();
unsafe extern "C" fn game_specialairhi(agent: &mut L2CAgentBase) {
let lua_state = agent.lua_state_agent;
let boma = agent.boma();
frame(lua_state, 8.0);
if is_excute(fighter) {
if is_excute(agent) {
ArticleModule::generate_article(boma, *FIGHTER_REFLET_GENERATE_ARTICLE_ELWIND, false, 0);
WorkModule::on_flag(boma, *FIGHTER_REFLET_STATUS_SPECIAL_HI_FLAG_JUMP);
}
frame(lua_state, 9.0);
if is_excute(fighter) {
VarModule::on_flag(fighter.battle_object, vars::common::instance::UP_SPECIAL_CANCEL);
if is_excute(agent) {
VarModule::on_flag(agent.battle_object, vars::common::instance::UP_SPECIAL_CANCEL);
}
frame(lua_state, 12.0);
if is_excute(fighter) {
if is_excute(agent) {
if (ControlModule::check_button_on_trriger(boma, *CONTROL_PAD_BUTTON_SPECIAL) || ControlModule::check_button_on(boma, *CONTROL_PAD_BUTTON_SPECIAL_RAW)) {
WorkModule::on_flag(boma, *FIGHTER_REFLET_STATUS_SPECIAL_HI_FLAG_TRY_2ND);
}
Expand All @@ -87,7 +87,7 @@ unsafe extern "C" fn reflet_special_air_hi_game(fighter: &mut L2CAgentBase) {
}
wait(lua_state, 1.0);
for _ in 0..30 {
if is_excute(fighter) {
if is_excute(agent) {
if (ControlModule::check_button_on_trriger(boma, *CONTROL_PAD_BUTTON_SPECIAL) || ControlModule::check_button_on(boma, *CONTROL_PAD_BUTTON_SPECIAL_RAW)) {
WorkModule::on_flag(boma, *FIGHTER_REFLET_STATUS_SPECIAL_HI_FLAG_TRY_2ND);
}
Expand All @@ -97,19 +97,11 @@ unsafe extern "C" fn reflet_special_air_hi_game(fighter: &mut L2CAgentBase) {

}

pub fn install() {
smashline::Agent::new("reflet")
.acmd("game_specialntronstart", reflet_special_n_tron_start_game)
.acmd(
"game_specialairntronstart",
reflet_special_air_n_tron_start_game,
)
.acmd("game_specialntronend", reflet_special_n_tron_end_game)
.acmd(
"game_specialairntronend",
reflet_special_air_n_tron_end_game,
)
.acmd("game_specialhi", reflet_special_hi_game)
.acmd("game_specialairhi", reflet_special_air_hi_game)
.install();
pub fn install(agent: &mut Agent) {
agent.acmd("game_specialntronstart", game_specialntronstart);
agent.acmd( "game_specialairntronstart",game_specialairntronstart);
agent.acmd("game_specialntronend", game_specialntronend);
agent.acmd("game_specialairntronend",game_specialairntronend);
agent.acmd("game_specialhi", game_specialhi);
agent.acmd("game_specialairhi", game_specialairhi);
}
112 changes: 55 additions & 57 deletions fighters/reflet/src/acmd/throws.rs
Original file line number Diff line number Diff line change
@@ -1,31 +1,31 @@
use super::*;

unsafe extern "C" fn reflet_catch_game(fighter: &mut L2CAgentBase) {
let lua_state = fighter.lua_state_agent;
let boma = fighter.boma();
unsafe extern "C" fn game_catch(agent: &mut L2CAgentBase) {
let lua_state = agent.lua_state_agent;
let boma = agent.boma();
frame(lua_state, 1.0);
FT_MOTION_RATE(fighter, 2.0);
FT_MOTION_RATE(agent, 2.0);
frame(lua_state, 2.0);
FT_MOTION_RATE(fighter, 1.0);
FT_MOTION_RATE(agent, 1.0);
frame(lua_state, 6.0);
if is_excute(fighter) {
if is_excute(agent) {
GrabModule::set_rebound(boma, true);
}
frame(lua_state, 7.0);
if is_excute(fighter) {
CATCH(fighter, 0, Hash40::new("top"), 4.3, 0.0, 8.0, 0.0, Some(0.0), Some(8.0), Some(10.2), *FIGHTER_STATUS_KIND_CAPTURE_PULLED, *COLLISION_SITUATION_MASK_GA);
if is_excute(agent) {
CATCH(agent, 0, Hash40::new("top"), 4.3, 0.0, 8.0, 0.0, Some(0.0), Some(8.0), Some(10.2), *FIGHTER_STATUS_KIND_CAPTURE_PULLED, *COLLISION_SITUATION_MASK_GA);
}
game_CaptureCutCommon(fighter);
game_CaptureCutCommon(agent);
wait(lua_state, 2.0);
if is_excute(fighter) {
grab!(fighter, *MA_MSC_CMD_GRAB_CLEAR_ALL);
if is_excute(agent) {
grab!(agent, *MA_MSC_CMD_GRAB_CLEAR_ALL);
WorkModule::on_flag(boma, *FIGHTER_STATUS_CATCH_FLAG_CATCH_WAIT);
GrabModule::set_rebound(boma, false);
}

}

unsafe extern "C" fn reflet_catch_dash_game(agent: &mut L2CAgentBase) {
unsafe extern "C" fn game_catchdash(agent: &mut L2CAgentBase) {
let lua_state = agent.lua_state_agent;
let boma = agent.boma();
frame(lua_state, 9.0);
Expand All @@ -45,7 +45,7 @@ unsafe extern "C" fn reflet_catch_dash_game(agent: &mut L2CAgentBase) {
}
}

unsafe extern "C" fn reflet_catch_turn_game(agent: &mut L2CAgentBase) {
unsafe extern "C" fn game_catchturn(agent: &mut L2CAgentBase) {
let lua_state = agent.lua_state_agent;
let boma = agent.boma();
frame(lua_state, 10.0);
Expand All @@ -65,83 +65,81 @@ unsafe extern "C" fn reflet_catch_turn_game(agent: &mut L2CAgentBase) {
}
}

unsafe extern "C" fn reflet_throw_b_game(fighter: &mut L2CAgentBase) {
let lua_state = fighter.lua_state_agent;
let boma = fighter.boma();
if is_excute(fighter) {
ATTACK_ABS(fighter, *FIGHTER_ATTACK_ABSOLUTE_KIND_THROW, 0, 11.0, 52, 77, 0, 85, 0.0, 1.0, *ATTACK_LR_CHECK_F, 0.0, true, Hash40::new("collision_attr_magic"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_NONE, *ATTACK_REGION_THROW);
ATTACK_ABS(fighter, *FIGHTER_ATTACK_ABSOLUTE_KIND_CATCH, 0, 3.0, 361, 100, 0, 40, 0.0, 1.0, *ATTACK_LR_CHECK_F, 0.0, true, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_NONE, *ATTACK_REGION_THROW);
unsafe extern "C" fn game_throwb(agent: &mut L2CAgentBase) {
let lua_state = agent.lua_state_agent;
let boma = agent.boma();
if is_excute(agent) {
ATTACK_ABS(agent, *FIGHTER_ATTACK_ABSOLUTE_KIND_THROW, 0, 11.0, 52, 77, 0, 85, 0.0, 1.0, *ATTACK_LR_CHECK_F, 0.0, true, Hash40::new("collision_attr_magic"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_NONE, *ATTACK_REGION_THROW);
ATTACK_ABS(agent, *FIGHTER_ATTACK_ABSOLUTE_KIND_CATCH, 0, 3.0, 361, 100, 0, 40, 0.0, 1.0, *ATTACK_LR_CHECK_F, 0.0, true, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_NONE, *ATTACK_REGION_THROW);
}
frame(lua_state, 24.0);
if is_excute(fighter) {
if is_excute(agent) {
WorkModule::on_flag(boma, *FIGHTER_INSTANCE_WORK_ID_FLAG_REVERSE_LR_FINISH_CAMERA_THROW_ORBIT);
CHECK_FINISH_CAMERA(fighter, 21, 9);
CHECK_FINISH_CAMERA(agent, 21, 9);
}
frame(lua_state, 25.0);
if is_excute(fighter) {
REVERSE_LR(fighter);
if is_excute(agent) {
REVERSE_LR(agent);
let target = WorkModule::get_int64(boma, *FIGHTER_STATUS_THROW_WORK_INT_TARGET_OBJECT);
let target_group = WorkModule::get_int64(boma, *FIGHTER_STATUS_THROW_WORK_INT_TARGET_HIT_GROUP);
let target_no = WorkModule::get_int64(boma, *FIGHTER_STATUS_THROW_WORK_INT_TARGET_HIT_NO);
ATK_HIT_ABS(fighter, *FIGHTER_ATTACK_ABSOLUTE_KIND_THROW, Hash40::new("throw"), target, target_group, target_no);
ATK_HIT_ABS(agent, *FIGHTER_ATTACK_ABSOLUTE_KIND_THROW, Hash40::new("throw"), target, target_group, target_no);
}
}

unsafe extern "C" fn reflet_throw_hi_game(fighter: &mut L2CAgentBase) {
let lua_state = fighter.lua_state_agent;
let boma = fighter.boma();
if is_excute(fighter) {
ATTACK_ABS(fighter, *FIGHTER_ATTACK_ABSOLUTE_KIND_THROW, 0, 9.0, 97, 60, 0, 86, 0.0, 1.0, *ATTACK_LR_CHECK_F, 0.0, true, Hash40::new("collision_attr_magic"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_NONE, *ATTACK_REGION_THROW);
ATTACK_ABS(fighter, *FIGHTER_ATTACK_ABSOLUTE_KIND_CATCH, 0, 3.0, 361, 100, 0, 40, 0.0, 1.0, *ATTACK_LR_CHECK_F, 0.0, true, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_NONE, *ATTACK_REGION_THROW);
unsafe extern "C" fn game_throwhi(agent: &mut L2CAgentBase) {
let lua_state = agent.lua_state_agent;
let boma = agent.boma();
if is_excute(agent) {
ATTACK_ABS(agent, *FIGHTER_ATTACK_ABSOLUTE_KIND_THROW, 0, 9.0, 97, 60, 0, 86, 0.0, 1.0, *ATTACK_LR_CHECK_F, 0.0, true, Hash40::new("collision_attr_magic"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_NONE, *ATTACK_REGION_THROW);
ATTACK_ABS(agent, *FIGHTER_ATTACK_ABSOLUTE_KIND_CATCH, 0, 3.0, 361, 100, 0, 40, 0.0, 1.0, *ATTACK_LR_CHECK_F, 0.0, true, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_NONE, *ATTACK_REGION_THROW);
}
frame(lua_state, 14.0);
if is_excute(fighter) {
CHECK_FINISH_CAMERA(fighter, 13, 18);
if is_excute(agent) {
CHECK_FINISH_CAMERA(agent, 13, 18);
}
frame(lua_state, 15.0);
if is_excute(fighter) {
if is_excute(agent) {
let target = WorkModule::get_int64(boma, *FIGHTER_STATUS_THROW_WORK_INT_TARGET_OBJECT);
let target_group = WorkModule::get_int64(boma, *FIGHTER_STATUS_THROW_WORK_INT_TARGET_HIT_GROUP);
let target_no = WorkModule::get_int64(boma, *FIGHTER_STATUS_THROW_WORK_INT_TARGET_HIT_NO);
ATK_HIT_ABS(fighter, *FIGHTER_ATTACK_ABSOLUTE_KIND_THROW, Hash40::new("throw"), target, target_group, target_no);
ATK_HIT_ABS(agent, *FIGHTER_ATTACK_ABSOLUTE_KIND_THROW, Hash40::new("throw"), target, target_group, target_no);
}
frame(lua_state, 18.0);
FT_MOTION_RATE_RANGE(fighter, 18.0, 47.0, 19.0);
FT_MOTION_RATE_RANGE(agent, 18.0, 47.0, 19.0);
frame(lua_state, 47.0);
FT_MOTION_RATE(fighter, 1.0);
FT_MOTION_RATE(agent, 1.0);
}

unsafe extern "C" fn reflet_throw_lw_game(fighter: &mut L2CAgentBase) {
let lua_state = fighter.lua_state_agent;
let boma = fighter.boma();
if is_excute(fighter) {
ATTACK_ABS(fighter, *FIGHTER_ATTACK_ABSOLUTE_KIND_THROW, 0, 6.0, 85, 108, 0, 50, 0.0, 1.0, *ATTACK_LR_CHECK_F, 0.0, true, Hash40::new("collision_attr_magic"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_NONE, *ATTACK_REGION_THROW);
ATTACK_ABS(fighter, *FIGHTER_ATTACK_ABSOLUTE_KIND_CATCH, 0, 3.0, 361, 100, 0, 40, 0.0, 1.0, *ATTACK_LR_CHECK_F, 0.0, true, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_NONE, *ATTACK_REGION_THROW);
unsafe extern "C" fn game_throwlw(agent: &mut L2CAgentBase) {
let lua_state = agent.lua_state_agent;
let boma = agent.boma();
if is_excute(agent) {
ATTACK_ABS(agent, *FIGHTER_ATTACK_ABSOLUTE_KIND_THROW, 0, 6.0, 85, 108, 0, 50, 0.0, 1.0, *ATTACK_LR_CHECK_F, 0.0, true, Hash40::new("collision_attr_magic"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_NONE, *ATTACK_REGION_THROW);
ATTACK_ABS(agent, *FIGHTER_ATTACK_ABSOLUTE_KIND_CATCH, 0, 3.0, 361, 100, 0, 40, 0.0, 1.0, *ATTACK_LR_CHECK_F, 0.0, true, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_NONE, *ATTACK_REGION_THROW);
}
frame(lua_state, 15.0);
if is_excute(fighter) {
CHECK_FINISH_CAMERA(fighter, 11, 6);
if is_excute(agent) {
CHECK_FINISH_CAMERA(agent, 11, 6);
}
frame(lua_state, 16.0);
if is_excute(fighter) {
if is_excute(agent) {
let target = WorkModule::get_int64(boma, *FIGHTER_STATUS_THROW_WORK_INT_TARGET_OBJECT);
let target_group = WorkModule::get_int64(boma, *FIGHTER_STATUS_THROW_WORK_INT_TARGET_HIT_GROUP);
let target_no = WorkModule::get_int64(boma, *FIGHTER_STATUS_THROW_WORK_INT_TARGET_HIT_NO);
ATK_HIT_ABS(fighter, *FIGHTER_ATTACK_ABSOLUTE_KIND_THROW, Hash40::new("throw"), target, target_group, target_no);
ATK_HIT_ABS(agent, *FIGHTER_ATTACK_ABSOLUTE_KIND_THROW, Hash40::new("throw"), target, target_group, target_no);
}
frame(lua_state, 24.0);
FT_MOTION_RATE_RANGE(fighter, 24.0, 37.0, 11.0);
FT_MOTION_RATE_RANGE(agent, 24.0, 37.0, 11.0);
frame(lua_state, 37.0);
FT_MOTION_RATE(fighter, 1.0);
FT_MOTION_RATE(agent, 1.0);
}

pub fn install() {
smashline::Agent::new("reflet")
.acmd("game_catch", reflet_catch_game)
.acmd("game_catchdash", reflet_catch_dash_game)
.acmd("game_catchturn", reflet_catch_turn_game)
.acmd("game_throwb", reflet_throw_b_game)
.acmd("game_throwhi", reflet_throw_hi_game)
.acmd("game_throwlw", reflet_throw_lw_game)
.install();
pub fn install(agent: &mut Agent) {
agent.acmd("game_catch", game_catch);
agent.acmd("game_catchdash", game_catchdash);
agent.acmd("game_catchturn", game_catchturn);
agent.acmd("game_throwb", game_throwb);
agent.acmd("game_throwhi", game_throwhi);
agent.acmd("game_throwlw", game_throwlw);
}
Loading

0 comments on commit 2dff392

Please sign in to comment.