Fix hunger/thirst 'Dead' thresholds (#9453)
This commit is contained in:
@@ -64,6 +64,7 @@ namespace Content.Server.Nutrition.Components
|
|||||||
{ HungerThreshold.Overfed, AlertType.Overfed },
|
{ HungerThreshold.Overfed, AlertType.Overfed },
|
||||||
{ HungerThreshold.Peckish, AlertType.Peckish },
|
{ HungerThreshold.Peckish, AlertType.Peckish },
|
||||||
{ HungerThreshold.Starving, AlertType.Starving },
|
{ HungerThreshold.Starving, AlertType.Starving },
|
||||||
|
{ HungerThreshold.Dead, AlertType.Starving },
|
||||||
};
|
};
|
||||||
|
|
||||||
public void HungerThresholdEffect(bool force = false)
|
public void HungerThresholdEffect(bool force = false)
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ namespace Content.Server.Nutrition.Components
|
|||||||
{ThirstThreshold.OverHydrated, AlertType.Overhydrated},
|
{ThirstThreshold.OverHydrated, AlertType.Overhydrated},
|
||||||
{ThirstThreshold.Thirsty, AlertType.Thirsty},
|
{ThirstThreshold.Thirsty, AlertType.Thirsty},
|
||||||
{ThirstThreshold.Parched, AlertType.Parched},
|
{ThirstThreshold.Parched, AlertType.Parched},
|
||||||
|
{ThirstThreshold.Dead, AlertType.Parched},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ namespace Content.Server.Nutrition.EntitySystems
|
|||||||
|
|
||||||
private void OnRefreshMovespeed(EntityUid uid, ThirstComponent component, RefreshMovementSpeedModifiersEvent args)
|
private void OnRefreshMovespeed(EntityUid uid, ThirstComponent component, RefreshMovementSpeedModifiersEvent args)
|
||||||
{
|
{
|
||||||
var mod = (component.CurrentThirstThreshold & (ThirstThreshold.Parched | ThirstThreshold.Dead)) != 0x0 ? 0.75f : 1.0f;
|
var mod = component.CurrentThirstThreshold <= ThirstThreshold.Parched ? 0.75f : 1.0f;
|
||||||
args.ModifySpeed(mod, mod);
|
args.ModifySpeed(mod, mod);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,10 +24,10 @@ namespace Content.Shared.Nutrition.Components
|
|||||||
[Serializable, NetSerializable]
|
[Serializable, NetSerializable]
|
||||||
public enum HungerThreshold : byte
|
public enum HungerThreshold : byte
|
||||||
{
|
{
|
||||||
Overfed,
|
Overfed = 1 << 3,
|
||||||
Okay,
|
Okay = 1 << 2,
|
||||||
Peckish,
|
Peckish = 1 << 1,
|
||||||
Starving,
|
Starving = 1 << 0,
|
||||||
Dead,
|
Dead = 0,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using Content.Shared.Movement.Systems;
|
using Content.Shared.Movement.Systems;
|
||||||
using Content.Shared.Nutrition.Components;
|
using Content.Shared.Nutrition.Components;
|
||||||
|
|
||||||
namespace Content.Shared.Nutrition.EntitySystems
|
namespace Content.Shared.Nutrition.EntitySystems
|
||||||
@@ -14,7 +14,7 @@ namespace Content.Shared.Nutrition.EntitySystems
|
|||||||
|
|
||||||
private void OnRefreshMovespeed(EntityUid uid, SharedHungerComponent component, RefreshMovementSpeedModifiersEvent args)
|
private void OnRefreshMovespeed(EntityUid uid, SharedHungerComponent component, RefreshMovementSpeedModifiersEvent args)
|
||||||
{
|
{
|
||||||
float mod = component.CurrentHungerThreshold == HungerThreshold.Starving ? 0.75f : 1.0f;
|
float mod = component.CurrentHungerThreshold <= HungerThreshold.Starving ? 0.75f : 1.0f;
|
||||||
args.ModifySpeed(mod, mod);
|
args.ModifySpeed(mod, mod);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user