diff --git a/Content.Client/_ST/Interaction/StellarInteractionParticleSystem.cs b/Content.Client/_ST/Interaction/StellarInteractionParticleSystem.cs index fe5d2a159b43..14c4ea73a98e 100644 --- a/Content.Client/_ST/Interaction/StellarInteractionParticleSystem.cs +++ b/Content.Client/_ST/Interaction/StellarInteractionParticleSystem.cs @@ -63,16 +63,16 @@ private void OnInteractionParticle(StellarInteractionParticleEvent ev) private Animation GetAnimation(Vector2 endOffset, Color color) { - var startRotation = _random.NextAngle(Angle.FromDegrees(-80), Angle.FromDegrees(80)); + var startRotation = _random.NextAngle(Angle.FromDegrees(-40), Angle.FromDegrees(40)); var endRotation = Angle.Zero; var startScale = new Vector2(0.3f, 0.3f); var endScale = new Vector2(1f, 1f); var rotationLength = TimeSpan.FromMilliseconds(600); var startOffset = new Vector2(); - var offsetLength = TimeSpan.FromMilliseconds(200); + var offsetLength = TimeSpan.FromMilliseconds(250); - var startColor = color.WithAlpha(color.A * 0.9f); + var startColor = color.WithAlpha(color.A * 0.7f); var endColor = color.WithAlpha(0f); var colorLength = rotationLength + offsetLength; @@ -89,7 +89,7 @@ private Animation GetAnimation(Vector2 endOffset, Color color) KeyFrames = { new AnimationTrackProperty.KeyFrame(startRotation, 0f), - new AnimationTrackProperty.KeyFrame(endRotation, (float)rotationLength.TotalSeconds, Easings.OutBounce), + new AnimationTrackProperty.KeyFrame(endRotation, (float)rotationLength.TotalSeconds, Easings.OutBack), }, }, new AnimationTrackComponentProperty() @@ -99,7 +99,7 @@ private Animation GetAnimation(Vector2 endOffset, Color color) KeyFrames = { new AnimationTrackProperty.KeyFrame(startScale, 0f), - new AnimationTrackProperty.KeyFrame(endScale, (float)rotationLength.TotalSeconds, Easings.OutBounce), + new AnimationTrackProperty.KeyFrame(endScale, (float)rotationLength.TotalSeconds, Easings.OutBack), }, }, new AnimationTrackComponentProperty() @@ -109,7 +109,7 @@ private Animation GetAnimation(Vector2 endOffset, Color color) KeyFrames = { new AnimationTrackProperty.KeyFrame(startOffset, 0f), - new AnimationTrackProperty.KeyFrame(endOffset, (float)offsetLength.TotalSeconds, Easings.OutBounce), + new AnimationTrackProperty.KeyFrame(endOffset, (float)offsetLength.TotalSeconds, Easings.OutBack), }, }, new AnimationTrackComponentProperty() diff --git a/Content.Shared/Interaction/ActivateInWorldEvent.cs b/Content.Shared/Interaction/ActivateInWorldEvent.cs index f7a1b7a799d5..9c3f712f550a 100644 --- a/Content.Shared/Interaction/ActivateInWorldEvent.cs +++ b/Content.Shared/Interaction/ActivateInWorldEvent.cs @@ -28,6 +28,11 @@ public sealed class ActivateInWorldEvent : HandledEntityEventArgs, ITargetedInte /// public bool WasLogged { get; set; } + /// + /// Stellar - set to false if this interaction shouldn't have an interaction particle + /// + public bool InteractionParticle = true; + public ActivateInWorldEvent(EntityUid user, EntityUid target, bool complex) { User = user; diff --git a/Content.Shared/Interaction/SharedInteractionSystem.cs b/Content.Shared/Interaction/SharedInteractionSystem.cs index 0bbfa2cd2522..a6472a6e8f71 100644 --- a/Content.Shared/Interaction/SharedInteractionSystem.cs +++ b/Content.Shared/Interaction/SharedInteractionSystem.cs @@ -1189,7 +1189,7 @@ public bool InteractionActivate( RaiseLocalEvent(used, activateMsg, true); if (activateMsg.Handled) { - DoContactInteraction(user, used, null, true); // Interaction particles + DoContactInteraction(user, used, null, true, interactionParticles: activateMsg.InteractionParticle); // Stellar - Interaction particles if (!activateMsg.WasLogged) _adminLogger.Add(LogType.InteractActivate, LogImpact.Low, $"{ToPrettyString(user):user} activated {ToPrettyString(used):used}"); diff --git a/Content.Shared/Strip/SharedStrippableSystem.cs b/Content.Shared/Strip/SharedStrippableSystem.cs index 7d605ebb21d2..f69c19d46818 100644 --- a/Content.Shared/Strip/SharedStrippableSystem.cs +++ b/Content.Shared/Strip/SharedStrippableSystem.cs @@ -718,8 +718,13 @@ private void OnActivateInWorld(EntityUid uid, StrippableComponent component, Act if (args.Handled || !args.Complex || args.Target == args.User) return; + // Begin Stellar Changes - don't play an interact particle for examining the strip UI if (TryOpenStrippingUi(args.User, (uid, component))) + { args.Handled = true; + args.InteractionParticle = false; + } + // End Stellar Changes - don't play an interact particle for examining the strip UI } ///