Files
tbd-station-14/Content.Shared/Silicons/Laws/Components/SiliconLawProviderComponent.cs
deltanedas b9af991e04 Ion storm event (#20277)
* ion storm event prototype + locale

* add lawsets

* use lawsets, make borgs ion storm targets

* ion storm rule and ion storm target

* lawset prototype

* use lawsets

* update silicon law system to use lawsets and support ion storm event

* new toys

* fix

* more fix

* fixy

* ion storm admin logging

* assigning laws makes borg provide its own laws, other stuff

* 1h reoccurence

* 50% chance

* better call saul

* emagLaws is required

* add announcment audio

* fixy

* family friendly gaming

* fixy

* address reviews

* fixy

* more fixy and no erp

* pro

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2023-10-26 22:40:13 -04:00

24 lines
775 B
C#

using Robust.Shared.Prototypes;
namespace Content.Shared.Silicons.Laws.Components;
/// <summary>
/// This is used for an entity which grants laws to a <see cref="SiliconLawBoundComponent"/>
/// </summary>
[RegisterComponent, Access(typeof(SharedSiliconLawSystem))]
public sealed partial class SiliconLawProviderComponent : Component
{
/// <summary>
/// The id of the lawset that is being provided.
/// </summary>
[DataField(required: true)]
public ProtoId<SiliconLawsetPrototype> Laws = string.Empty;
/// <summary>
/// Lawset created from the prototype id.
/// Cached when getting laws and only modified during an ion storm event.
/// </summary>
[DataField, ViewVariables(VVAccess.ReadWrite)]
public SiliconLawset? Lawset;
}