Specify ground to air transitions and thresholds (#41)
CI / build-and-test (push) Successful in 1m10s
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:
@@ -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 {
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user