From db890e0700263c61ca9bb8ed5eaad1588453aa03 Mon Sep 17 00:00:00 2001 From: ReeZer2 Date: Thu, 20 Feb 2025 20:19:30 +0200 Subject: [PATCH 1/2] ADD: Pacified component to clone entity --- .../CombatMode/Pacification/PacificationSystem.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Content.Shared/CombatMode/Pacification/PacificationSystem.cs b/Content.Shared/CombatMode/Pacification/PacificationSystem.cs index 6bc32c5b96c6..71e8c0ae0f86 100644 --- a/Content.Shared/CombatMode/Pacification/PacificationSystem.cs +++ b/Content.Shared/CombatMode/Pacification/PacificationSystem.cs @@ -1,12 +1,14 @@ using System.Diagnostics.CodeAnalysis; using Content.Shared.Actions; using Content.Shared.Alert; +using Content.Shared.Cloning; using Content.Shared.FixedPoint; using Content.Shared.IdentityManagement; using Content.Shared.Interaction.Events; using Content.Shared.Popups; using Content.Shared.Throwing; using Content.Shared.Weapons.Ranged.Events; +using Robust.Shared.Serialization.Manager; using Robust.Shared.Timing; namespace Content.Shared.CombatMode.Pacification; @@ -18,6 +20,7 @@ public sealed class PacificationSystem : EntitySystem [Dependency] private readonly SharedCombatModeSystem _combatSystem = default!; [Dependency] private readonly SharedPopupSystem _popup = default!; [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private readonly ISerializationManager _serialization = default!; //ss220 add clone pacified comp to clone entity public override void Initialize() { @@ -28,6 +31,8 @@ public override void Initialize() SubscribeLocalEvent(OnAttackAttempt); SubscribeLocalEvent(OnShootAttempt); SubscribeLocalEvent(OnPacifiedDangerousAttack); + + SubscribeLocalEvent(OnCloning); //ss220 add clone pacified comp to clone entity } private bool PacifiedCanAttack(EntityUid user, EntityUid target, [NotNullWhen(false)] out string? reason) @@ -151,6 +156,14 @@ private void OnPacifiedDangerousAttack(Entity args.Cancelled = true; args.Reason = "pacified-cannot-harm-indirect"; } + + //ss220 add clone pacified comp to clone entity start + private void OnCloning(Entity ent, ref CloningEvent args) + { + var newComp = EnsureComp(args.Target); + _serialization.CopyTo(ent.Comp, ref newComp, notNullableOverride: true); + } + //ss220 add clone pacified comp to clone entity end } From b1d2f551e0f0ec65b5a2afdd386e43f3089a70d9 Mon Sep 17 00:00:00 2001 From: ReeZer2 Date: Sat, 22 Feb 2025 14:12:50 +0200 Subject: [PATCH 2/2] fix fix commit --- Content.Shared/CombatMode/Pacification/PacificationSystem.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Content.Shared/CombatMode/Pacification/PacificationSystem.cs b/Content.Shared/CombatMode/Pacification/PacificationSystem.cs index 71e8c0ae0f86..00d0d05d77e4 100644 --- a/Content.Shared/CombatMode/Pacification/PacificationSystem.cs +++ b/Content.Shared/CombatMode/Pacification/PacificationSystem.cs @@ -160,6 +160,7 @@ private void OnPacifiedDangerousAttack(Entity //ss220 add clone pacified comp to clone entity start private void OnCloning(Entity ent, ref CloningEvent args) { + RemComp(args.Target); var newComp = EnsureComp(args.Target); _serialization.CopyTo(ent.Comp, ref newComp, notNullableOverride: true); }