More borg tweaks (#19143)
* borg tweaks but i'm gonna go code fun stuff first * werkin' on it * a ton of tweaks * fuck everyone and then myself
This commit is contained in:
@@ -1,14 +1,31 @@
|
||||
namespace Content.Shared.Silicons.Laws.Components;
|
||||
using Content.Shared.Roles;
|
||||
using Robust.Shared.GameStates;
|
||||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
|
||||
|
||||
namespace Content.Shared.Silicons.Laws.Components;
|
||||
|
||||
/// <summary>
|
||||
/// This is used for an entity that grants a special "obey" law when emagge.d
|
||||
/// </summary>
|
||||
[RegisterComponent]
|
||||
[RegisterComponent, NetworkedComponent, Access(typeof(SharedSiliconLawSystem))]
|
||||
public sealed class EmagSiliconLawComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
/// The name of the person who emagged this law provider.
|
||||
/// </summary>
|
||||
[DataField("ownerName")]
|
||||
[DataField("ownerName"), ViewVariables(VVAccess.ReadWrite)]
|
||||
public string? OwnerName;
|
||||
|
||||
/// <summary>
|
||||
/// Does the panel need to be open to EMAG this law provider.
|
||||
/// </summary>
|
||||
[DataField("requireOpenPanel"), ViewVariables(VVAccess.ReadWrite)]
|
||||
public bool RequireOpenPanel = true;
|
||||
|
||||
/// <summary>
|
||||
/// A role given to entities with this component when they are emagged.
|
||||
/// Mostly just for admin purposes.
|
||||
/// </summary>
|
||||
[DataField("antagonistRole", customTypeSerializer: typeof(PrototypeIdSerializer<AntagPrototype>))]
|
||||
public string? AntagonistRole = "SubvertedSilicon";
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace Content.Shared.Silicons.Laws.Components;
|
||||
/// <summary>
|
||||
/// This is used for entities which are bound to silicon laws and can view them.
|
||||
/// </summary>
|
||||
[RegisterComponent]
|
||||
[RegisterComponent, Access(typeof(SharedSiliconLawSystem))]
|
||||
public sealed class SiliconLawBoundComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
@@ -30,6 +30,14 @@ public sealed class SiliconLawBoundComponent : Component
|
||||
public EntityUid? LastLawProvider;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Event raised to get the laws that a law-bound entity has.
|
||||
///
|
||||
/// Is first raised on the entity itself, then on the
|
||||
/// entity's station, then on the entity's grid,
|
||||
/// before being broadcast.
|
||||
/// </summary>
|
||||
/// <param name="Entity"></param>
|
||||
[ByRefEvent]
|
||||
public record struct GetSiliconLawsEvent(EntityUid Entity)
|
||||
{
|
||||
|
||||
@@ -5,7 +5,7 @@ namespace Content.Shared.Silicons.Laws.Components;
|
||||
/// <summary>
|
||||
/// This is used for an entity which grants laws to a <see cref="SiliconLawBoundComponent"/>
|
||||
/// </summary>
|
||||
[RegisterComponent]
|
||||
[RegisterComponent, Access(typeof(SharedSiliconLawSystem))]
|
||||
public sealed class SiliconLawProviderComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user