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;