Fix thirst errors in tests (#20481)

This commit is contained in:
Leon Friedrich
2023-09-25 11:07:31 +10:00
committed by GitHub
parent 20c34580c2
commit c348582e04
3 changed files with 11 additions and 8 deletions

View File

@@ -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<SlipTestSystem>();
await SpawnTarget("TrashBananaPeel");
var modifier = Comp<MovementSpeedModifierComponent>(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));

View File

@@ -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
/// </summary>
[DataField("nextUpdateTime", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)]
[AutoNetworkedField]
public TimeSpan NextUpdateTime;
public TimeSpan NextUpdateTime = TimeSpan.MaxValue;
/// <summary>
/// The time between each update.
/// </summary>
[ViewVariables(VVAccess.ReadWrite)]
[AutoNetworkedField]
[DataField, AutoNetworkedField]
public TimeSpan UpdateRate = TimeSpan.FromSeconds(1);
[DataField("thresholds")]

View File

@@ -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);
}
}