From 0dc6f98fa93df1cd1a2f47355a51dc6e8fb4ed07 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Sat, 17 Oct 2020 00:29:29 +1100 Subject: [PATCH] Gravity fixes (#2272) * Adjust your rotation as you move (against walls and drifting) * Can't use bullets / firelocks / items to push off of. Co-authored-by: Metal Gear Sloth --- Content.Server/GameObjects/EntitySystems/MoverSystem.cs | 5 +---- .../GameObjects/EntitySystems/SharedMoverSystem.cs | 7 +++++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Content.Server/GameObjects/EntitySystems/MoverSystem.cs b/Content.Server/GameObjects/EntitySystems/MoverSystem.cs index f33305ed18..1ffa88fd5b 100644 --- a/Content.Server/GameObjects/EntitySystems/MoverSystem.cs +++ b/Content.Server/GameObjects/EntitySystems/MoverSystem.cs @@ -58,12 +58,9 @@ namespace Content.Server.GameObjects.EntitySystems public override void Update(float frameTime) { - foreach (var (moverComponent, physics) in EntityManager.ComponentManager.EntityQuery()) + foreach (var (moverComponent, physics) in EntityManager.ComponentManager.EntityQuery(false)) { var entity = moverComponent.Owner; - if (_pauseManager.IsEntityPaused(entity)) - continue; - UpdateKinematics(entity.Transform, moverComponent, physics); } } diff --git a/Content.Shared/GameObjects/EntitySystems/SharedMoverSystem.cs b/Content.Shared/GameObjects/EntitySystems/SharedMoverSystem.cs index c37e54a323..c534d53ef4 100644 --- a/Content.Shared/GameObjects/EntitySystems/SharedMoverSystem.cs +++ b/Content.Shared/GameObjects/EntitySystems/SharedMoverSystem.cs @@ -65,6 +65,7 @@ namespace Content.Shared.GameObjects.EntitySystems if (!touching) { + transform.LocalRotation = physics.LinearVelocity.GetDir().ToAngle(); return; } } @@ -88,7 +89,7 @@ namespace Content.Shared.GameObjects.EntitySystems controller.Push(combined, mover.CurrentPushSpeed); } - transform.LocalRotation = walkDir.GetDir().ToAngle(); + transform.LocalRotation = physics.LinearVelocity.GetDir().ToAngle(); return; } @@ -122,7 +123,9 @@ namespace Content.Shared.GameObjects.EntitySystems continue; // Don't try to push off of yourself! } - if (!entity.TryGetComponent(out var otherCollider)) + if (!entity.TryGetComponent(out var otherCollider) || + !otherCollider.CanCollide || + (collider.CollisionMask & otherCollider.CollisionLayer) == 0) { continue; }