* make paradox clone receive the original's objectives * antag control verb * rename verb
51 lines
1.3 KiB
C#
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;
|
|
}
|