]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Adds non randomized rod velocity (#27123)
authorkeronshb <54602815+keronshb@users.noreply.github.com>
Sat, 20 Apr 2024 02:18:25 +0000 (22:18 -0400)
committerGitHub <noreply@github.com>
Sat, 20 Apr 2024 02:18:25 +0000 (22:18 -0400)
* adds non randomized rod velocity

* Adds despawn suffix to despawn rod

Content.Server/ImmovableRod/ImmovableRodSystem.cs
Resources/Prototypes/Entities/Objects/Fun/immovable_rod.yml

index 4553dda095a1a5b081e8ad638d1823af3ad5cb11..ce74777b07069066e980d49f844a022462ddf9a4 100644 (file)
@@ -60,15 +60,18 @@ public sealed class ImmovableRodSystem : EntitySystem
             _physics.SetFriction(uid, phys, 0f);
             _physics.SetBodyStatus(uid, phys, BodyStatus.InAir);
 
-            if (!component.RandomizeVelocity)
-                return;
-
             var xform = Transform(uid);
-            var vel = component.DirectionOverride.Degrees switch
+            var worldRot = _transform.GetWorldRotation(uid);
+            var vel = worldRot.ToWorldVec() * component.MaxSpeed;
+
+            if (component.RandomizeVelocity)
             {
-                0f => _random.NextVector2(component.MinSpeed, component.MaxSpeed),
-                _ => _transform.GetWorldRotation(uid).RotateVec(component.DirectionOverride.ToVec()) * _random.NextFloat(component.MinSpeed, component.MaxSpeed)
-            };
+                vel = component.DirectionOverride.Degrees switch
+                {
+                    0f => _random.NextVector2(component.MinSpeed, component.MaxSpeed),
+                    _ => worldRot.RotateVec(component.DirectionOverride.ToVec()) * _random.NextFloat(component.MinSpeed, component.MaxSpeed)
+                };
+            }
 
             _physics.ApplyLinearImpulse(uid, vel, body: phys);
             xform.LocalRotation = (vel - _transform.GetWorldPosition(uid)).ToWorldAngle() + MathHelper.PiOver2;
index aad12a50254674454bbb22ddd3409d6442088861..e52f66d39b1eda5fc40e04b87146f8728ac124ce 100644 (file)
@@ -35,6 +35,7 @@
 
 - type: entity
   id: ImmovableRodDespawn
+  suffix: Despawn
   parent: ImmovableRod
   components:
   - type: TimedDespawn