Specify ground to air transitions and thresholds (#41)
CI / build-and-test (push) Successful in 1m10s

Reviewed-on: #41
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
This commit was merged in pull request #41.
This commit is contained in:
2026-09-17 17:57:57 +00:00
committed by EIREXE
parent 0977de8457
commit b9f1a52bbc
4 changed files with 45 additions and 4 deletions
+5 -1
View File
@@ -43,6 +43,7 @@ pub enum HitReactionKind {
#[derive(Debug, Hash, Clone)]
pub struct FighterHitReaction {
pub launch_velocity: FGVec2,
pub launch_angle: FGi32,
pub hitstop_frames: HitStop,
pub hitstun_frames: u32,
pub kind: HitReactionKind,
@@ -62,10 +63,13 @@ pub struct FighterLastAttackDebug {
pub trajectory_points: Vec<Vec3>,
}
#[derive(Debug, Default, Clone, Deref, DerefMut, Hash)]
#[derive(Debug, Default, Clone, Deref, DerefMut, Hash, PartialEq, PartialOrd)]
pub struct HitStop(u32);
impl HitStop {
pub fn new(hitstop: u32) -> Self {
HitStop(hitstop)
}
pub fn calculate(attack_damage_stalled: FighterDamage, crouch_cancelling: bool) -> Self {
let a = (attack_damage_stalled.0 / FGi32::lit("3.0") + FGi32::lit("4.0")).round_to_zero();
let crouch_cancelling_factor = if crouch_cancelling {
+1
View File
@@ -104,6 +104,7 @@ pub fn resolve_fighter_hits(
attacker_slot,
FighterHitReaction {
launch_velocity: launch_direction * knockback.get_launch_speed(&game_settings),
launch_angle,
hitstun_frames: knockback.get_hitstun_frames(&game_settings),
hitstop_frames: hitstop,
kind: HitReactionKind::Flinch,