diff --git a/Content.Server/DeltaV/ParadoxAnomaly/Systems/ParadoxAnomalySystem.cs b/Content.Server/DeltaV/ParadoxAnomaly/Systems/ParadoxAnomalySystem.cs index 142669f84a2..f05297039d6 100644 --- a/Content.Server/DeltaV/ParadoxAnomaly/Systems/ParadoxAnomalySystem.cs +++ b/Content.Server/DeltaV/ParadoxAnomaly/Systems/ParadoxAnomalySystem.cs @@ -17,6 +17,8 @@ using Robust.Shared.Prototypes; using Robust.Shared.Random; using System.Diagnostics.CodeAnalysis; +using Content.Server.Consent; + namespace Content.Server.DeltaV.ParadoxAnomaly.Systems; @@ -26,6 +28,7 @@ namespace Content.Server.DeltaV.ParadoxAnomaly.Systems; /// public sealed class ParadoxAnomalySystem : EntitySystem { + [Dependency] private readonly ConsentSystem _consent = default!; [Dependency] private readonly GenericAntagSystem _genericAntag = default!; [Dependency] private readonly GhostRoleSystem _ghostRole = default!; [Dependency] private readonly IPrototypeManager _proto = default!; @@ -81,6 +84,9 @@ private bool TrySpawnParadoxAnomaly(string rule, [NotNullWhen(true)] out EntityU if (_role.MindIsAntagonist(mindId)) continue; + if (_consent.HasConsent(uid, "NoClone")) + continue; + // TODO: when metempsychosis real skip whoever has Karma candidates.Add((uid, mindId, species, profile)); diff --git a/Resources/Locale/en-US/Blep/consent.ftl b/Resources/Locale/en-US/Blep/consent.ftl index a3f032c475a..18369494a2c 100644 --- a/Resources/Locale/en-US/Blep/consent.ftl +++ b/Resources/Locale/en-US/Blep/consent.ftl @@ -29,3 +29,6 @@ consent-Digestion-desc = Allow yourself to be digested. WARNING: BEING DIGESTED consent-Hypno-name = Hypnosis consent-Hypno-desc = Allow yourself to be hypnotized. + +consent-NoClone-name = Disallow Paradox Anomaly +consent-NoClone-desc = Disallow yourself to be the target of a paradox anomaly clone. diff --git a/Resources/Prototypes/consent.yml b/Resources/Prototypes/consent.yml index 4096f7ab3b8..69e45f682da 100644 --- a/Resources/Prototypes/consent.yml +++ b/Resources/Prototypes/consent.yml @@ -9,3 +9,6 @@ - type: consentToggle id: Hypno + +- type: consentToggle + id: NoClone