Implement animation root motion deltas (#84)
CI / build-and-test (push) Successful in 1m33s
CI / production-build (push) Successful in 12m5s

Implements root motion and adds a dash attack.

Reviewed-on: #84
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
This commit was merged in pull request #84.
This commit is contained in:
2026-10-05 20:04:35 +00:00
committed by EIREXE
parent 5c277a00f0
commit 7a9adbd6a4
13 changed files with 459 additions and 23 deletions
+11 -1
View File
@@ -4,7 +4,7 @@ use super::{
};
use crate::fighter::FighterFacingDirection;
use crate::fighter::animation::AnimKind;
use crate::fighter::state::FighterState;
use crate::fighter::state::{FighterState, ground_attack};
use crate::input::FighterCommands::{SmashMoveLeft, SmashMoveRight};
#[derive(Debug, Clone, Hash)]
@@ -23,6 +23,16 @@ impl FighterStateImpl for DashState {
fn check_interrupt(&self, ctx: &mut InterruptContext) -> Option<FighterState> {
let attributes = ctx.fighter_attributes;
if ctx.get_current_animation_frame() <= 2 {
if let Some(state) = ground_attack::check_interrupt(ctx) {
return Some(state);
}
} else {
if let Some(state) = ground_attack::check_interrupt_dash_attack(ctx) {
return Some(state);
}
}
// A reverse dash can interrupt before IASA
if let Some(direction) =
check_smash_input_with_dir(ctx).filter(|direction| *direction != self.direction)