Add pick random system (#15409)

Co-authored-by: deltanedas <@deltanedas:kde.org>
This commit is contained in:
deltanedas
2023-04-29 11:39:08 +00:00
committed by GitHub
parent 3e5e48c98b
commit db28073530
3 changed files with 94 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
using Content.Server.Storage.EntitySystems;
using Content.Shared.Whitelist;
namespace Content.Server.Storage.Components;
/// <summary>
/// Adds a verb to pick a random item from a container.
/// Only picks items that match the whitelist.
/// </summary>
[RegisterComponent]
[Access(typeof(PickRandomSystem))]
public sealed class PickRandomComponent : Component
{
/// <summary>
/// Whitelist for potential picked items.
/// </summary>
[DataField("whitelist"), ViewVariables(VVAccess.ReadWrite)]
public EntityWhitelist? Whitelist;
/// <summary>
/// Locale id for the pick verb text.
/// </summary>
[DataField("verbText"), ViewVariables(VVAccess.ReadWrite)]
public string VerbText = "comp-pick-random-verb-text";
/// <summary>
/// Locale id for the empty storage message.
/// </summary>
[DataField("emptyText"), ViewVariables(VVAccess.ReadWrite)]
public string EmptyText = "comp-pick-random-empty";
}