diff --git a/Content.Server/Nutrition/Thirsty.cs b/Content.Server/Nutrition/Thirsty.cs new file mode 100644 index 0000000000..8725a62be2 --- /dev/null +++ b/Content.Server/Nutrition/Thirsty.cs @@ -0,0 +1,38 @@ +using Content.Server.Administration; +using Content.Shared.Administration; +using Content.Shared.Nutrition.Components; +using Content.Shared.Nutrition.EntitySystems; +using Robust.Shared.Console; + +namespace Content.Server.Nutrition; + +[AdminCommand(AdminFlags.Debug)] +public sealed class Thirsty : LocalizedEntityCommands +{ + public override string Command => "thirsty"; + + public override void Execute(IConsoleShell shell, string argStr, string[] args) + { + var player = shell.Player; + if (player == null) + { + shell.WriteError(Loc.GetString("cmd-nutrition-error-player")); + return; + } + + if (player.AttachedEntity is not {Valid: true} playerEntity) + { + shell.WriteError(Loc.GetString("cmd-nutrition-error-entity")); + return; + } + + if (!EntityManager.TryGetComponent(playerEntity, out ThirstComponent? thirst)) + { + shell.WriteError(Loc.GetString("cmd-nutrition-error-component", ("comp", nameof(ThirstComponent)))); + return; + } + + var thirstyThreshold = thirst.ThirstThresholds[ThirstThreshold.Parched]; + EntityManager.System().SetThirst(playerEntity, thirst, thirstyThreshold); + } +} diff --git a/Resources/Locale/en-US/nutrition/nutrition-commands.ftl b/Resources/Locale/en-US/nutrition/nutrition-commands.ftl new file mode 100644 index 0000000000..8e6712c52f --- /dev/null +++ b/Resources/Locale/en-US/nutrition/nutrition-commands.ftl @@ -0,0 +1,6 @@ +cmd-nutrition-error-player = You cannot use this command unless you are a player. +cmd-nutrition-error-entity = You cannot use this command without an entity. +cmd-nutrition-error-component = Your entity does not have a {$comp} component. + +cmd-thirsty-desc = makes you thirsty +cmd-thirsty-help = sets your thirst level to partched