Skip to content

Commit 4059ac5

Browse files
authored
Merge pull request #2068 from jaccob101/beyo_experiment
Bayonetta Adjustments (Revisited)
2 parents e596eee + faac6da commit 4059ac5

File tree

17 files changed

+993
-1082
lines changed

17 files changed

+993
-1082
lines changed

dynamic/src/consts.rs

+2-5
Original file line numberDiff line numberDiff line change
@@ -300,14 +300,11 @@ pub mod vars {
300300

301301
// ints
302302
pub const NUM_RECOVERY_RESOURCE_USED: i32 = 0x0100;
303-
pub const NUM_CANCEL_THIS_AIRTIME: i32 = 0x0101;
303+
pub const FAIR_STATE: i32 = 0x0101;
304304
}
305305
pub mod status {
306-
// flags
307-
pub const IS_ACTIVATE: i32 = 0x1100;
308-
pub const DIRECT_HIT: i32 = 0x1101;
309306
// floats
310-
pub const ABK_ANGLE: i32 = 0x1102;
307+
pub const ABK_ANGLE: i32 = 0x1100;
311308
}
312309
}
313310

fighters/bayonetta/src/acmd/aerials.rs

+104-115
Large diffs are not rendered by default.

fighters/bayonetta/src/acmd/ground.rs

+91-60
Large diffs are not rendered by default.

fighters/bayonetta/src/acmd/other.rs

+32-10
Original file line numberDiff line numberDiff line change
@@ -361,23 +361,23 @@ unsafe fn bayonetta_wickedweavearm_attack_hi4_game(fighter: &mut L2CAgentBase) {
361361
}
362362
frame(lua_state, 13.0);
363363
if is_excute(fighter) {
364-
ATTACK(fighter, 0, 0, Hash40::new("top"), 16.0, 89, 90, 0, 36, 10.5, 0.0, 20.0, 14.0, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, false, *COLLISION_SITUATION_MASK_G, *COLLISION_CATEGORY_MASK_NO_FLOOR, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
365-
ATTACK(fighter, 1, 0, Hash40::new("top"), 16.0, 89, 90, 0, 36, 10.5, 0.0, 20.0, 14.0, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_OFF, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, false, *COLLISION_SITUATION_MASK_A, *COLLISION_CATEGORY_MASK_NO_FLOOR, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
364+
ATTACK(fighter, 0, 0, Hash40::new("top"), 16.0, 89, 90, 0, 32, 10.5, 0.0, 20.0, 14.0, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, false, *COLLISION_SITUATION_MASK_G, *COLLISION_CATEGORY_MASK_NO_FLOOR, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
365+
ATTACK(fighter, 1, 0, Hash40::new("top"), 16.0, 89, 90, 0, 32, 10.5, 0.0, 20.0, 14.0, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_OFF, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, false, *COLLISION_SITUATION_MASK_A, *COLLISION_CATEGORY_MASK_NO_FLOOR, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
366366
}
367367
frame(lua_state, 13.0);
368368
if is_excute(fighter) {
369-
ATTACK(fighter, 0, 0, Hash40::new("top"), 16.0, 89, 90, 0, 35, 10.5, 0.0, 25.0, 14.0, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, false, *COLLISION_SITUATION_MASK_G, *COLLISION_CATEGORY_MASK_NO_FLOOR, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
370-
ATTACK(fighter, 1, 0, Hash40::new("top"), 16.0, 89, 90, 0, 35, 10.5, 0.0, 25.0, 14.0, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_OFF, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, false, *COLLISION_SITUATION_MASK_A, *COLLISION_CATEGORY_MASK_NO_FLOOR, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
369+
ATTACK(fighter, 0, 0, Hash40::new("top"), 16.0, 89, 90, 0, 32, 10.5, 0.0, 25.0, 14.0, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, false, *COLLISION_SITUATION_MASK_G, *COLLISION_CATEGORY_MASK_NO_FLOOR, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
370+
ATTACK(fighter, 1, 0, Hash40::new("top"), 16.0, 89, 90, 0, 32, 10.5, 0.0, 25.0, 14.0, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_OFF, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, false, *COLLISION_SITUATION_MASK_A, *COLLISION_CATEGORY_MASK_NO_FLOOR, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
371371
}
372372
frame(lua_state, 15.0);
373373
if is_excute(fighter) {
374-
ATTACK(fighter, 0, 0, Hash40::new("top"), 15.0, 89, 90, 0, 35, 10.5, 0.0, 30.0, 14.0, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, false, *COLLISION_SITUATION_MASK_G, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
375-
ATTACK(fighter, 1, 0, Hash40::new("top"), 15.0, 89, 90, 0, 35, 10.5, 0.0, 30.0, 14.0, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_OFF, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, false, *COLLISION_SITUATION_MASK_A, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
374+
ATTACK(fighter, 0, 0, Hash40::new("top"), 16.0, 89, 90, 0, 32, 10.5, 0.0, 30.0, 14.0, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, false, *COLLISION_SITUATION_MASK_G, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
375+
ATTACK(fighter, 1, 0, Hash40::new("top"), 16.0, 89, 90, 0, 32, 10.5, 0.0, 30.0, 14.0, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_OFF, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, false, *COLLISION_SITUATION_MASK_A, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
376376
}
377377
frame(lua_state, 16.0);
378378
if is_excute(fighter) {
379-
ATTACK(fighter, 0, 0, Hash40::new("top"), 15.0, 89, 90, 0, 34, 10.5, 0.0, 36.0, 14.0, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, false, *COLLISION_SITUATION_MASK_G, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
380-
ATTACK(fighter, 1, 0, Hash40::new("top"), 15.0, 89, 90, 0, 34, 10.5, 0.0, 36.0, 14.0, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_OFF, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, false, *COLLISION_SITUATION_MASK_A, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
379+
ATTACK(fighter, 0, 0, Hash40::new("top"), 16.0, 89, 90, 0, 32, 10.5, 0.0, 36.0, 14.0, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, false, *COLLISION_SITUATION_MASK_G, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
380+
ATTACK(fighter, 1, 0, Hash40::new("top"), 16.0, 89, 90, 0, 32, 10.5, 0.0, 36.0, 14.0, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_OFF, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, false, *COLLISION_SITUATION_MASK_A, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_L, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
381381
}
382382
frame(lua_state, 19.0);
383383
if is_excute(fighter) {
@@ -449,7 +449,7 @@ unsafe fn bayonetta_specialn_bullet_move_game(fighter: &mut L2CAgentBase) {
449449
let lua_state = fighter.lua_state_agent;
450450
let boma = fighter.boma();
451451
if is_excute(fighter) {
452-
ATTACK(fighter, 0, 0, Hash40::new("top"), 1.35, 361, 40, 0, 0, 1.0, 0.0, 0.0, 0.0, None, None, None, 0.4, 1.0, *ATTACK_SETOFF_KIND_THRU, *ATTACK_LR_CHECK_F, false, -0.3, 0.0, 0, true, false, false, false, false, *COLLISION_SITUATION_MASK_GA, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_BAYONETTA_HIT_01, *ATTACK_REGION_OBJECT);
452+
ATTACK(fighter, 0, 0, Hash40::new("top"), 1.35, 361, 40, 0, 5, 1.0, 0.0, 0.0, 0.0, None, None, None, 0.4, 1.0, *ATTACK_SETOFF_KIND_THRU, *ATTACK_LR_CHECK_F, false, -0.3, 0.0, 0, true, false, false, false, false, *COLLISION_SITUATION_MASK_GA, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_BAYONETTA_HIT_01, *ATTACK_REGION_OBJECT);
453453
AttackModule::enable_safe_pos(boma);
454454
}
455455
}
@@ -550,6 +550,14 @@ unsafe fn escape_b_game(fighter: &mut L2CAgentBase) {
550550
}
551551
}
552552

553+
#[acmd_script( agent = "bayonetta", script = "game_appeallwl", category = ACMD_GAME , low_priority)]
554+
unsafe fn down_left_taunt_game(fighter: &mut L2CAgentBase) {
555+
frame(fighter.lua_state_agent, 175.0);
556+
if is_excute(fighter) {
557+
StatusModule::change_status_request(fighter.module_accessor, *FIGHTER_STATUS_KIND_SQUAT_RV, false);
558+
}
559+
}
560+
553561
#[acmd_script( agent = "bayonetta", scripts = ["game_appealsr", "game_appealsl"], category = ACMD_GAME , low_priority)]
554562
unsafe fn side_taunt_game(fighter: &mut L2CAgentBase) {
555563
let lua_state = fighter.lua_state_agent;
@@ -678,6 +686,18 @@ unsafe fn game_catchattack(agent: &mut L2CAgentBase) {
678686
}
679687
}
680688

689+
#[acmd_script( agent = "bayonetta", script = "effect_landingheavy", category = ACMD_EFFECT, low_priority )]
690+
unsafe fn bayonetta_landing_heavy_effect(fighter: &mut L2CAgentBase) {
691+
if is_excute(fighter) {
692+
if fighter.is_status(*FIGHTER_STATUS_KIND_JUMP_SQUAT) {
693+
EFFECT(fighter, Hash40::new("bayonetta_jump_circle"), Hash40::new("top"), 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, false);
694+
} else {
695+
LANDING_EFFECT(fighter, Hash40::new("sys_landing_smoke"), Hash40::new("top"), 0, 0, 0, 0, 0, 0, 0.9, 0, 0, 0, 0, 0, 0, false);
696+
EFFECT(fighter, Hash40::new("bayonetta_butterfly_landing"), Hash40::new("top"), 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, false);
697+
}
698+
}
699+
}
700+
681701
pub fn install() {
682702
install_acmd_scripts!(
683703
escape_air_game,
@@ -701,12 +721,14 @@ pub fn install() {
701721
escape_n_game,
702722
escape_f_game,
703723
escape_b_game,
724+
down_left_taunt_game,
704725
side_taunt_game,
705726
up_taunt_game,
706727
sound_appealhi,
707728
sound_appeallwr,
708729
sound_appeallwl,
709-
game_catchattack
730+
game_catchattack,
731+
bayonetta_landing_heavy_effect
710732
);
711733
}
712734

0 commit comments

Comments
 (0)