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