Files
tbd-station-14/Content.Server/GameTicking/Rules/Components/ParadoxCloneRuleComponent.cs
slarticodefast 7c44038f63 Add paradox clone to admin antag control (#36105)
* make paradox clone receive the original's objectives

* antag control verb

* rename verb
2025-03-27 10:04:25 -07: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;
}