Implement up smash, dacus and further improve input system. (#88)
CI / build-and-test (push) Successful in 2m42s
CI / production-build (push) Successful in 13m1s

Reviewed-on: #88
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
This commit was merged in pull request #88.
This commit is contained in:
2026-10-09 09:15:18 +00:00
committed by EIREXE
parent a1595d841a
commit 97f2fe7065
14 changed files with 429 additions and 88 deletions
+6 -10
View File
@@ -1,17 +1,10 @@
use crate::{
fighter::{
animation::AnimKind,
state::{
CollisionContext, EnterContext, FighterState, FighterStateImpl, InterruptContext,
UpdateContext,
air::{self, AirborneStateCommon},
air_dodge::AirDodgeState,
ground,
animation::AnimKind, state::{
CollisionContext, EnterContext, FighterState, FighterStateImpl, InterruptContext, UpdateContext, air::{self, AirborneStateCommon}, air_dodge::AirDodgeState, ground, ground_attack,
},
},
input::{DigitalAction, FighterCommands},
math::{int::FGi32, vec::FGVec2},
}, input::{DigitalAction, FighterCommands}, math::{int::FGi32, vec::FGVec2},
};
#[derive(Debug, Hash, Clone, Copy)]
pub enum JumpType {
@@ -52,6 +45,9 @@ impl FighterStateImpl for JumpSquatState {
const NAME: &'static str = "JumpSquat";
fn check_interrupt(&self, state_context: &mut InterruptContext) -> Option<FighterState> {
if let Some(state) = ground_attack::check_interrupt(state_context) {
return Some(state);
}
// Special handling for wavedash from jump squat
if state_context.input.has_command(FighterCommands::Shield) {
// If aiming sideways and in the deadzone, do a perfect wavedash