From 807ea698604dbcc2a6dc359098bcce8488b4b701 Mon Sep 17 00:00:00 2001 From: ScarKy0 <106310278+ScarKy0@users.noreply.github.com> Date: Tue, 28 Apr 2026 20:24:15 +0200 Subject: [PATCH] Changeling move when transforming (#43795) * I love microbalance * Update Content.Shared/Changeling/Systems/ChangelingTransformSystem.cs Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> --------- Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> --- .../Changeling/Components/ChangelingTransformComponent.cs | 2 +- .../Changeling/Systems/ChangelingTransformSystem.cs | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Content.Shared/Changeling/Components/ChangelingTransformComponent.cs b/Content.Shared/Changeling/Components/ChangelingTransformComponent.cs index 7b465ea3b2..3a52744911 100644 --- a/Content.Shared/Changeling/Components/ChangelingTransformComponent.cs +++ b/Content.Shared/Changeling/Components/ChangelingTransformComponent.cs @@ -30,7 +30,7 @@ public sealed partial class ChangelingTransformComponent : Component /// Time it takes to Transform /// [DataField, AutoNetworkedField] - public TimeSpan TransformWindup = TimeSpan.FromSeconds(5); + public TimeSpan TransformWindup = TimeSpan.FromSeconds(4f); /// /// The noise used when attempting to transform diff --git a/Content.Shared/Changeling/Systems/ChangelingTransformSystem.cs b/Content.Shared/Changeling/Systems/ChangelingTransformSystem.cs index 28eb55110e..74e13ff2e9 100644 --- a/Content.Shared/Changeling/Systems/ChangelingTransformSystem.cs +++ b/Content.Shared/Changeling/Systems/ChangelingTransformSystem.cs @@ -156,8 +156,6 @@ public sealed partial class ChangelingTransformSystem : EntitySystem ent, target: targetIdentity) { - BreakOnMove = true, - BreakOnWeightlessMove = true, DuplicateCondition = DuplicateConditions.None, RequireCanInteract = false, DistanceThreshold = null, @@ -168,10 +166,14 @@ public sealed partial class ChangelingTransformSystem : EntitySystem ref ChangelingTransformDoAfterEvent args) { args.Handled = true; - ent.Comp.CurrentTransformSound = _audio.Stop(ent.Comp.CurrentTransformSound); if (args.Cancelled) + { + // Only stop the sound if we finish transforming successfully. + ent.Comp.CurrentTransformSound = _audio.Stop(ent.Comp.CurrentTransformSound); return; + } + ent.Comp.CurrentTransformSound = null; if (!_prototype.Resolve(ent.Comp.TransformCloningSettings, out var settings)) return;