Implement directional influence (#43)
CI / build-and-test (push) Successful in 1m9s

Reviewed-on: #43
Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
This commit was merged in pull request #43.
This commit is contained in:
2026-09-18 20:43:41 +00:00
committed by EIREXE
parent 2b5af49e15
commit 9f51207f48
8 changed files with 116 additions and 20 deletions
+3 -5
View File
@@ -1,12 +1,11 @@
use bevy::prelude::*;
use bevy_ggrs::prelude::GgrsSchedule;
use fixed_math::SinCos;
use super::*;
use crate::{
fighter::{
Fighter, FighterFacingDirection, FighterHitboxes, FighterHitstop, FighterHitstopShake, FighterHitstopShakeKind, FighterHitstopShakeRole, FighterPendingHitReaction, FighterStaleMoveQueue, errors::FighterErrors, manifest::FighterManifest, state::FighterState,
}, game_settings::GameSettings, math::{int::FGi32, vec::FGVec2}, player::Player, schedule::GameplaySet, scripting::FighterAttackScript,
}, game_settings::GameSettings, math::{int::FGi32}, player::Player, schedule::GameplaySet, scripting::FighterAttackScript,
};
pub fn resolve_fighter_hits(
@@ -90,14 +89,13 @@ pub fn resolve_fighter_hits(
} else {
angle
};
let (sin, cos) = launch_angle.sin_cos();
let launch_direction = FGVec2::new(cos, sin);
let hitstop = HitStop::calculate(FighterDamage(attack_damage), false);
reactions.push((
attacker_entity,
attacker_slot,
FighterHitReaction {
launch_velocity: launch_direction * knockback.get_launch_speed(&game_settings),
launch_velocity: knockback.get_launch_speed(&game_settings),
launch_angle,
hitstun_frames: knockback.get_hitstun_frames(&game_settings),
hitstop_frames: hitstop,