From 060dd269f38c1d1c2e3ae0ae72cf49d1e8b0715b Mon Sep 17 00:00:00 2001 From: Sam Date: Sat, 17 Oct 2020 11:29:15 -0500 Subject: [PATCH] Leaps now require a non-negative vertical velocity to use. --- common/src/comp/ability.rs | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/common/src/comp/ability.rs b/common/src/comp/ability.rs index 32659deaee..51844340a2 100644 --- a/common/src/comp/ability.rs +++ b/common/src/comp/ability.rs @@ -234,10 +234,13 @@ impl CharacterAbility { .energy .try_change_by(-(*energy_cost as i32), EnergySource::Ability) .is_ok(), - CharacterAbility::LeapMelee { energy_cost, .. } => update - .energy - .try_change_by(-(*energy_cost as i32), EnergySource::Ability) - .is_ok(), + CharacterAbility::LeapMelee { energy_cost, .. } => { + update.vel.0.z >= 0.0 + && update + .energy + .try_change_by(-(*energy_cost as i32), EnergySource::Ability) + .is_ok() + }, CharacterAbility::SpinMelee { energy_cost, .. } => update .energy .try_change_by(-(*energy_cost as i32), EnergySource::Ability) @@ -250,10 +253,15 @@ impl CharacterAbility { .energy .try_change_by(-(*energy_cost as i32), EnergySource::Ability) .is_ok(), - CharacterAbility::RepeaterRanged { energy_cost, .. } => update - .energy - .try_change_by(-(*energy_cost as i32), EnergySource::Ability) - .is_ok(), + CharacterAbility::RepeaterRanged { + energy_cost, leap, .. + } => { + (leap.is_none() || update.vel.0.z >= 0.0) + && update + .energy + .try_change_by(-(*energy_cost as i32), EnergySource::Ability) + .is_ok() + }, CharacterAbility::Shockwave { energy_cost, .. } => update .energy .try_change_by(-(*energy_cost as i32), EnergySource::Ability)