From a1aa3efd2945b00443ca882f520f60db8a43421c Mon Sep 17 00:00:00 2001 From: jiminycrick Date: Wed, 18 Nov 2020 11:35:43 -0800 Subject: [PATCH] Moved hit timer to charged melee and adjusted for tail slap --- assets/common/abilities/hammer/charged.ron | 1 + assets/common/abilities/unique/quadlowtail/charged.ron | 1 + common/src/comp/ability.rs | 3 +++ common/src/states/charged_melee.rs | 5 ++++- 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/assets/common/abilities/hammer/charged.ron b/assets/common/abilities/hammer/charged.ron index c6f750ae0b..dd488f1df8 100644 --- a/assets/common/abilities/hammer/charged.ron +++ b/assets/common/abilities/hammer/charged.ron @@ -10,5 +10,6 @@ ChargedMelee( speed: 1.0, charge_duration: 1200, swing_duration: 200, + hit_timing: 0.5, recover_duration: 300, ) diff --git a/assets/common/abilities/unique/quadlowtail/charged.ron b/assets/common/abilities/unique/quadlowtail/charged.ron index 215dde8add..825ab64e2c 100644 --- a/assets/common/abilities/unique/quadlowtail/charged.ron +++ b/assets/common/abilities/unique/quadlowtail/charged.ron @@ -10,5 +10,6 @@ ChargedMelee( speed: 1.0, charge_duration: 1200, swing_duration: 700, + hit_timing: 0.9, recover_duration: 1200, ) diff --git a/common/src/comp/ability.rs b/common/src/comp/ability.rs index 020ad6425a..3c67571651 100644 --- a/common/src/comp/ability.rs +++ b/common/src/comp/ability.rs @@ -171,6 +171,7 @@ pub enum CharacterAbility { speed: f32, charge_duration: u64, swing_duration: u64, + hit_timing: f32, recover_duration: u64, }, ChargedRanged { @@ -792,6 +793,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState { speed, charge_duration, swing_duration, + hit_timing, recover_duration, range, max_angle, @@ -808,6 +810,7 @@ impl From<(&CharacterAbility, AbilityKey)> for CharacterState { max_angle: *max_angle, charge_duration: Duration::from_millis(*charge_duration), swing_duration: Duration::from_millis(*swing_duration), + hit_timing: *hit_timing, recover_duration: Duration::from_millis(*recover_duration), ability_key: key, }, diff --git a/common/src/states/charged_melee.rs b/common/src/states/charged_melee.rs index 9cdaf3ce73..8ea5f0f998 100644 --- a/common/src/states/charged_melee.rs +++ b/common/src/states/charged_melee.rs @@ -32,6 +32,8 @@ pub struct StaticData { pub charge_duration: Duration, /// How long the weapon is swinging for pub swing_duration: Duration, + /// At what fraction of the swing duration to apply the melee "hit" + pub hit_timing: f32, /// How long the state has until exiting pub recover_duration: Duration, /// What key is used to press ability @@ -131,7 +133,8 @@ impl CharacterBehavior for Data { }, StageSection::Swing => { if self.timer.as_millis() as f32 - > 0.5 * self.static_data.swing_duration.as_millis() as f32 + > self.static_data.hit_timing + * self.static_data.swing_duration.as_millis() as f32 && !self.exhausted { // Swing