2023-12-24 12:58:28 +03:00
using Robust.Shared.Audio ;
using Robust.Shared.Prototypes ;
using Content.Shared.Roles ;
using Robust.Shared.Player ;
using Content.Shared.Preferences ;
namespace Content.Server.GameTicking.Rules.Components ;
/// <summary>
/// Stores data for <see cref="ThiefRuleSystem/">.
/// </summary>
[RegisterComponent, Access(typeof(ThiefRuleSystem))]
public sealed partial class ThiefRuleComponent : Component
{
2023-12-25 06:42:48 +03:00
/// <summary>
/// Add a Pacified comp to thieves
/// </summary>
2023-12-27 23:42:15 +03:00
[DataField]
2023-12-25 06:42:48 +03:00
public bool PacifistThieves = true ;
2023-12-24 12:58:28 +03:00
/// <summary>
/// A chance for this mode to be added to the game.
/// </summary>
[DataField]
public float RuleChance = 1f ;
[DataField]
public ProtoId < AntagPrototype > ThiefPrototypeId = "Thief" ;
public Dictionary < ICommonSession , HumanoidCharacterProfile > StartCandidates = new ( ) ;
[DataField]
public float MaxObjectiveDifficulty = 2.5f ;
[DataField]
public int MaxStealObjectives = 10 ;
/// <summary>
/// Things that will be given to thieves
/// </summary>
[DataField]
public List < EntProtoId > StarterItems = new List < EntProtoId > { "ToolboxThief" , "ClothingHandsChameleonThief" } ; //TO DO - replace to chameleon thieving gloves whem merg
/// <summary>
2023-12-27 23:42:15 +03:00
/// All Thieves created by this rule
2023-12-24 12:58:28 +03:00
/// </summary>
2023-12-27 23:42:15 +03:00
[DataField]
public List < EntityUid > ThievesMinds = new ( ) ;
2023-12-24 12:58:28 +03:00
/// <summary>
/// Max Thiefs created by rule on roundstart
/// </summary>
[DataField]
public int MaxAllowThief = 3 ;
/// <summary>
/// Sound played when making the player a thief via antag control or ghost role
/// </summary>
[DataField]
public SoundSpecifier ? GreetingSound = new SoundPathSpecifier ( "/Audio/Misc/thief_greeting.ogg" ) ;
}