Anti-anomaly fixes (#24634)
- Remove unnecessary mapcoordinates get. - Remove mapping markers as everything should be ingame entities and this is functioning as an area.
This commit is contained in:
@@ -119,6 +119,8 @@ public sealed partial class AnomalySystem
|
|||||||
// don't spawn inside of solid objects
|
// don't spawn inside of solid objects
|
||||||
var physQuery = GetEntityQuery<PhysicsComponent>();
|
var physQuery = GetEntityQuery<PhysicsComponent>();
|
||||||
var valid = true;
|
var valid = true;
|
||||||
|
|
||||||
|
// TODO: This should be using static lookup.
|
||||||
foreach (var ent in gridComp.GetAnchoredEntities(tile))
|
foreach (var ent in gridComp.GetAnchoredEntities(tile))
|
||||||
{
|
{
|
||||||
if (!physQuery.TryGetComponent(ent, out var body))
|
if (!physQuery.TryGetComponent(ent, out var body))
|
||||||
@@ -143,9 +145,9 @@ public sealed partial class AnomalySystem
|
|||||||
if (antiXform.MapID != mapPos.MapId)
|
if (antiXform.MapID != mapPos.MapId)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
var antiCoordinates = _transform.GetMapCoordinates(antiXform);
|
var antiCoordinates = _transform.GetWorldPosition(antiXform);
|
||||||
|
|
||||||
var delta = antiCoordinates.Position - mapPos.Position;
|
var delta = antiCoordinates - mapPos.Position;
|
||||||
if (delta.LengthSquared() < zone.ZoneRadius * zone.ZoneRadius)
|
if (delta.LengthSquared() < zone.ZoneRadius * zone.ZoneRadius)
|
||||||
{
|
{
|
||||||
valid = false;
|
valid = false;
|
||||||
|
|||||||
@@ -1,33 +0,0 @@
|
|||||||
- type: entity
|
|
||||||
name: anti anomaly zone
|
|
||||||
description: Anomalies will not be able to appear within a 10 block radius of this point.
|
|
||||||
id: AntiAnomalyZone
|
|
||||||
suffix: "range 10"
|
|
||||||
parent: MarkerBase
|
|
||||||
components:
|
|
||||||
- type: Sprite
|
|
||||||
sprite: Structures/Specific/Anomalies/ice_anom.rsi
|
|
||||||
layers:
|
|
||||||
- state: anom
|
|
||||||
- sprite: Markers/cross.rsi
|
|
||||||
state: pink
|
|
||||||
- type: AntiAnomalyZone
|
|
||||||
zoneRadius: 10
|
|
||||||
|
|
||||||
- type: entity
|
|
||||||
parent: AntiAnomalyZone
|
|
||||||
id: AntiAnomalyZone20
|
|
||||||
suffix: "range 20"
|
|
||||||
description: Anomalies will not be able to appear within a 20 block radius of this point.
|
|
||||||
components:
|
|
||||||
- type: AntiAnomalyZone
|
|
||||||
zoneRadius: 20
|
|
||||||
|
|
||||||
- type: entity
|
|
||||||
parent: AntiAnomalyZone
|
|
||||||
id: AntiAnomalyZone50
|
|
||||||
suffix: "range 50"
|
|
||||||
description: Anomalies will not be able to appear within a 50 block radius of this point.
|
|
||||||
components:
|
|
||||||
- type: AntiAnomalyZone
|
|
||||||
zoneRadius: 50
|
|
||||||
Reference in New Issue
Block a user