Implement invulnerability/intangibility and sakurai angle (#78)
CI / build-and-test (push) Successful in 1m22s
CI / production-build (push) Successful in 11m48s

Reviewed-on: #78
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
This commit was merged in pull request #78.
This commit is contained in:
2026-10-03 10:47:00 +00:00
committed by EIREXE
parent aca3886113
commit 02d444f749
8 changed files with 170 additions and 44 deletions
+2 -1
View File
@@ -1,4 +1,4 @@
use crate::{fighter::{animation::AnimKind, state::{FighterState, FighterStateImpl, air::AirborneStateCommon, fall::FallState}}, math::vec::FGVec2};
use crate::{fighter::{FighterInvulnerabilityState, animation::AnimKind, state::{FighterState, FighterStateImpl, air::AirborneStateCommon, fall::FallState}}, math::vec::FGVec2};
#[derive(Debug, Clone, Hash)]
pub struct AngelState {
@@ -38,6 +38,7 @@ impl FighterStateImpl for AngelState {
fn on_enter(&mut self, state_context: &mut super::EnterContext) {
state_context.play_animation(AnimKind::Wait, true);
state_context.velocity.0 = FGVec2::ZERO;
*state_context.vulnerability = FighterInvulnerabilityState::Invulnerable { frames_remaining: Some(state_context.game_settings.fighter_common.angel_platform_invulnerability_duration) };
}
fn check_collision_interrupt(