6
2026-01-24 12:49:55 +03:00

51 lines
1.3 KiB
C#

using Content.Shared.Cloning;
using Content.Shared.Whitelist;
using Robust.Shared.Prototypes;
namespace Content.Server.GameTicking.Rules.Components;
/// <summary>
/// Gamerule component for spawning a paradox clone antagonist.
/// </summary>
[RegisterComponent]
public sealed partial class ParadoxCloneRuleComponent : Component
{
/// <summary>
/// Cloning settings to be used.
/// </summary>
[DataField]
public ProtoId<CloningSettingsPrototype> Settings = "Antag";
/// <summary>
/// Visual effect spawned when gibbing at round end.
/// </summary>
[DataField]
public EntProtoId GibProto = "MobParadoxTimed";
/// <summary>
/// Entity of the original player.
/// Gets randomly chosen from all alive players if not specified.
/// </summary>
[DataField]
public EntityUid? OriginalBody;
/// <summary>
/// Mind entity of the original player.
/// Gets assigned when cloning.
/// </summary>
[DataField]
public EntityUid? OriginalMind;
/// <summary>
/// Whitelist for Objectives to be copied to the clone.
/// </summary>
[DataField]
public EntityWhitelist? ObjectiveWhitelist;
/// <summary>
/// Blacklist for Objectives to be copied to the clone.
/// </summary>
[DataField]
public EntityWhitelist? ObjectiveBlacklist;
}