From dc186f1e24fa8d862a756aee0070d5450e589004 Mon Sep 17 00:00:00 2001 From: Moony Date: Thu, 26 May 2022 21:29:33 -0500 Subject: [PATCH] Fixes the singularity bouncing off the station. (#8452) * Fixes the singularity bouncing off the station. * Update Content.Shared/Singularity/SharedSingularitySystem.cs Co-authored-by: wrexbe <81056464+wrexbe@users.noreply.github.com> Co-authored-by: wrexbe <81056464+wrexbe@users.noreply.github.com> --- Content.Shared/Singularity/SharedSingularitySystem.cs | 6 ++++-- .../Power/Generation/Singularity/singularity.yml | 9 +++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Content.Shared/Singularity/SharedSingularitySystem.cs b/Content.Shared/Singularity/SharedSingularitySystem.cs index 8b1fda2d58..c26bd9055b 100644 --- a/Content.Shared/Singularity/SharedSingularitySystem.cs +++ b/Content.Shared/Singularity/SharedSingularitySystem.cs @@ -12,6 +12,7 @@ namespace Content.Shared.Singularity [Dependency] private readonly FixtureSystem _fixtures = default!; public const string DeleteFixture = "DeleteCircle"; + public const string CollideFixture = "ColliderCircle"; private float GetFalloff(int level) { @@ -115,9 +116,10 @@ namespace Content.Shared.Singularity appearance.SetData(SingularityVisuals.Level, value); } - if (physics != null && _fixtures.GetFixtureOrNull(physics, DeleteFixture) is {Shape: PhysShapeCircle circle}) + if (physics != null && _fixtures.GetFixtureOrNull(physics, DeleteFixture) is {Shape: PhysShapeCircle deleteCircle} && _fixtures.GetFixtureOrNull(physics, CollideFixture) is {Shape: PhysShapeCircle collideCircle}) { - circle.Radius = value - 0.5f; + deleteCircle.Radius = value - 0.5f; + collideCircle.Radius = value; } if (EntityManager.TryGetComponent(singularity.Owner, out SingularityDistortionComponent? distortion)) diff --git a/Resources/Prototypes/Entities/Structures/Power/Generation/Singularity/singularity.yml b/Resources/Prototypes/Entities/Structures/Power/Generation/Singularity/singularity.yml index edd52656de..77eff5d717 100644 --- a/Resources/Prototypes/Entities/Structures/Power/Generation/Singularity/singularity.yml +++ b/Resources/Prototypes/Entities/Structures/Power/Generation/Singularity/singularity.yml @@ -19,10 +19,19 @@ radius: 0.5 restitution: 0.9 mass: 99999 + hard: false mask: - AllMask layer: - AllMask + - id: ColliderCircle + shape: + !type:PhysShapeCircle + radius: 0.5 + restitution: 0.9 + mass: 99999 + mask: + - FullTileMask - type: Singularity radsPerLevel: 1 # determines RadiationPulse's radiation per second. - type: SingularityDistortion