using Content.Shared.Random; using Content.Shared.Roles; using Robust.Shared.Audio; using Robust.Shared.Prototypes; namespace Content.Server.GameTicking.Rules.Components; /// /// Stores data for . /// [RegisterComponent, Access(typeof(ThiefRuleSystem))] public sealed partial class ThiefRuleComponent : Component { [DataField] public ProtoId BigObjectiveGroup = "ThiefBigObjectiveGroups"; [DataField] public ProtoId SmallObjectiveGroup = "ThiefObjectiveGroups"; [DataField] public ProtoId EscapeObjectiveGroup = "ThiefEscapeObjectiveGroups"; [DataField] public float BigObjectiveChance = 0.7f; /// /// Add a Pacified comp to thieves /// [DataField] public bool PacifistThieves = true; /// /// A chance for this mode to be added to the game. /// [DataField] public float RuleChance = 1f; [DataField] public ProtoId ThiefPrototypeId = "Thief"; [DataField] public float MaxObjectiveDifficulty = 2.5f; [DataField] public int MaxStealObjectives = 10; /// /// Things that will be given to thieves /// [DataField] public List StarterItems = new() { "ToolboxThief", "ClothingHandsChameleonThief" }; /// /// All Thieves created by this rule /// [DataField] public List ThievesMinds = new(); /// /// Max Thiefs created by rule on roundstart /// [DataField] public int MaxAllowThief = 3; /// /// Sound played when making the player a thief via antag control or ghost role /// [DataField] public SoundSpecifier? GreetingSound = new SoundPathSpecifier("/Audio/Misc/thief_greeting.ogg"); }