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
}
///