diff --git a/Content.Server/Nutrition/Components/HungerComponent.cs b/Content.Server/Nutrition/Components/HungerComponent.cs index 977a3211aa..5d32b71be3 100644 --- a/Content.Server/Nutrition/Components/HungerComponent.cs +++ b/Content.Server/Nutrition/Components/HungerComponent.cs @@ -151,14 +151,14 @@ namespace Content.Server.Nutrition.Components public void UpdateFood(float amount) { - _currentHunger = Math.Min(_currentHunger + amount, HungerThresholds[HungerThreshold.Overfed]); + _currentHunger = Math.Clamp(_currentHunger + amount, HungerThresholds[HungerThreshold.Dead], HungerThresholds[HungerThreshold.Overfed]); } // TODO: If mob is moving increase rate of consumption? // Should use a multiplier as something like a disease would overwrite decay rate. public void OnUpdate(float frametime) { - _currentHunger -= frametime * ActualDecayRate; + UpdateFood(- frametime * ActualDecayRate); UpdateCurrentThreshold(); } diff --git a/Content.Server/Nutrition/EntitySystems/ThirstSystem.cs b/Content.Server/Nutrition/EntitySystems/ThirstSystem.cs index ac84b8c756..902505b407 100644 --- a/Content.Server/Nutrition/EntitySystems/ThirstSystem.cs +++ b/Content.Server/Nutrition/EntitySystems/ThirstSystem.cs @@ -72,7 +72,7 @@ namespace Content.Server.Nutrition.EntitySystems public void UpdateThirst(ThirstComponent component, float amount) { - component.CurrentThirst = Math.Min(component.CurrentThirst + amount, component.ThirstThresholds[ThirstThreshold.OverHydrated]); + component.CurrentThirst = Math.Clamp(component.CurrentThirst + amount, component.ThirstThresholds[ThirstThreshold.Dead], component.ThirstThresholds[ThirstThreshold.OverHydrated]); } public void ResetThirst(ThirstComponent component) @@ -153,7 +153,7 @@ namespace Content.Server.Nutrition.EntitySystems { foreach (var component in EntityManager.EntityQuery()) { - component.CurrentThirst -= component.ActualDecayRate; + UpdateThirst(component, - component.ActualDecayRate); var calculatedThirstThreshold = GetThirstThreshold(component, component.CurrentThirst); if (calculatedThirstThreshold != component.CurrentThirstThreshold) {