From c427f2298ebe5fb31935e1f766749b08fb38d0af Mon Sep 17 00:00:00 2001 From: Ben Simpson Date: Thu, 13 Feb 2020 18:46:01 -0600 Subject: [PATCH] Energy now does not regen when climbing,gliding,and swimming --- common/src/sys/stats.rs | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/common/src/sys/stats.rs b/common/src/sys/stats.rs index 8035253897..e5c3760880 100644 --- a/common/src/sys/stats.rs +++ b/common/src/sys/stats.rs @@ -1,5 +1,5 @@ use crate::{ - comp::{ActionState, CharacterState, Energy, EnergySource, HealthSource, Stats}, + comp::{ActionState, CharacterState, Energy, EnergySource, HealthSource, MovementState, Stats}, event::{EventBus, ServerEvent}, state::DeltaTime, }; @@ -97,6 +97,27 @@ impl<'a> System<'a> for Sys { } }, } + + match character_state.movement { + MovementState::Climb => { + if energy.get_unchecked().regen_rate != 0.0 { + energy.get_mut_unchecked().regen_rate = 0.0 + } + }, + MovementState::Glide => { + if energy.get_unchecked().regen_rate != 0.0 { + energy.get_mut_unchecked().regen_rate = 0.0 + } + }, + MovementState::Swim => { + if energy.get_unchecked().regen_rate != 0.0 { + energy.get_mut_unchecked().regen_rate = 0.0 + } + }, + _ => { + continue; + }, + } } } }