From ee03304a3a232e88e0252896ac1e707cd3704c7a Mon Sep 17 00:00:00 2001 From: jiminycrick Date: Sun, 15 Nov 2020 21:57:13 -0800 Subject: [PATCH] Fix charged melee swing --- common/src/states/charged_melee.rs | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/common/src/states/charged_melee.rs b/common/src/states/charged_melee.rs index 6c91a317af..9cdaf3ce73 100644 --- a/common/src/states/charged_melee.rs +++ b/common/src/states/charged_melee.rs @@ -130,7 +130,19 @@ impl CharacterBehavior for Data { } }, StageSection::Swing => { - if !self.exhausted { + if self.timer.as_millis() as f32 + > 0.5 * self.static_data.swing_duration.as_millis() as f32 + && !self.exhausted + { + // Swing + update.character = CharacterState::ChargedMelee(Data { + timer: self + .timer + .checked_add(Duration::from_secs_f32(data.dt.0)) + .unwrap_or_default(), + exhausted: true, + ..*self + }); let mut damage = Damage { source: DamageSource::Melee, value: self.static_data.max_damage as f32, @@ -152,16 +164,6 @@ impl CharacterBehavior for Data { hit_count: 0, knockback: Knockback::Away(knockback), }); - - // Starts swinging - update.character = CharacterState::ChargedMelee(Data { - timer: self - .timer - .checked_add(Duration::from_secs_f32(data.dt.0)) - .unwrap_or_default(), - exhausted: true, - ..*self - }); } else if self.timer < self.static_data.swing_duration { // Swings update.character = CharacterState::ChargedMelee(Data {