From c348582e0432942899300b0bf97458abf0498647 Mon Sep 17 00:00:00 2001 From: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com> Date: Mon, 25 Sep 2023 11:07:31 +1000 Subject: [PATCH] Fix thirst errors in tests (#20481) --- .../Tests/Slipping/SlippingTest.cs | 4 ++++ .../Nutrition/Components/ThirstComponent.cs | 11 ++++------- .../Nutrition/EntitySystems/ThirstSystem.cs | 4 +++- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/Content.IntegrationTests/Tests/Slipping/SlippingTest.cs b/Content.IntegrationTests/Tests/Slipping/SlippingTest.cs index d64961b0be..7f77146f45 100644 --- a/Content.IntegrationTests/Tests/Slipping/SlippingTest.cs +++ b/Content.IntegrationTests/Tests/Slipping/SlippingTest.cs @@ -1,6 +1,7 @@ #nullable enable using System.Collections.Generic; using Content.IntegrationTests.Tests.Interaction; +using Content.Shared.Movement.Components; using Content.Shared.Slippery; using Content.Shared.Stunnable; using Robust.Shared.GameObjects; @@ -31,6 +32,9 @@ public sealed class SlippingTest : MovementTest var sys = SEntMan.System(); await SpawnTarget("TrashBananaPeel"); + var modifier = Comp(Player).SprintSpeedModifier; + Assert.That(modifier, Is.EqualTo(1), "Player is not moving at full speed."); + // Player is to the left of the banana peel and has not slipped. #pragma warning disable NUnit2045 Assert.That(Delta(), Is.GreaterThan(0.5f)); diff --git a/Content.Shared/Nutrition/Components/ThirstComponent.cs b/Content.Shared/Nutrition/Components/ThirstComponent.cs index e5604de57b..ec2ff10667 100644 --- a/Content.Shared/Nutrition/Components/ThirstComponent.cs +++ b/Content.Shared/Nutrition/Components/ThirstComponent.cs @@ -19,13 +19,10 @@ public sealed partial class ThirstComponent : Component [AutoNetworkedField] public float ActualDecayRate; - // Thirst - [ViewVariables(VVAccess.ReadOnly)] - [AutoNetworkedField] + [DataField, AutoNetworkedField] public ThirstThreshold CurrentThirstThreshold; - [ViewVariables(VVAccess.ReadOnly)] - [AutoNetworkedField] + [DataField, AutoNetworkedField] public ThirstThreshold LastThirstThreshold; [ViewVariables(VVAccess.ReadWrite)] @@ -38,13 +35,13 @@ public sealed partial class ThirstComponent : Component /// [DataField("nextUpdateTime", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] [AutoNetworkedField] - public TimeSpan NextUpdateTime; + public TimeSpan NextUpdateTime = TimeSpan.MaxValue; /// /// The time between each update. /// [ViewVariables(VVAccess.ReadWrite)] - [AutoNetworkedField] + [DataField, AutoNetworkedField] public TimeSpan UpdateRate = TimeSpan.FromSeconds(1); [DataField("thresholds")] diff --git a/Content.Shared/Nutrition/EntitySystems/ThirstSystem.cs b/Content.Shared/Nutrition/EntitySystems/ThirstSystem.cs index b75a6d1a0a..05a2338768 100644 --- a/Content.Shared/Nutrition/EntitySystems/ThirstSystem.cs +++ b/Content.Shared/Nutrition/EntitySystems/ThirstSystem.cs @@ -46,6 +46,9 @@ public sealed class ThirstSystem : EntitySystem component.LastThirstThreshold = ThirstThreshold.Okay; // TODO: Potentially change this -> Used Okay because no effects. // TODO: Check all thresholds make sense and throw if they don't. UpdateEffects(uid, component); + + TryComp(uid, out MovementSpeedModifierComponent? moveMod); + _movement.RefreshMovementSpeedModifiers(uid, moveMod); } private void OnRefreshMovespeed(EntityUid uid, ThirstComponent component, RefreshMovementSpeedModifiersEvent args) @@ -179,7 +182,6 @@ public sealed class ThirstSystem : EntitySystem thirst.CurrentThirstThreshold = calculatedThirstThreshold; UpdateEffects(uid, thirst); - Dirty(uid, thirst); } } -- 2.51.2