Don't allow nullspace FTL (#10110)
* Don't allow nullspace FTL Because other systems are my problemo now. * Also this
This commit is contained in:
@@ -411,7 +411,11 @@ public sealed partial class ShuttleSystem
|
|||||||
{
|
{
|
||||||
if (!TryComp<TransformComponent>(component.Owner, out var xform) ||
|
if (!TryComp<TransformComponent>(component.Owner, out var xform) ||
|
||||||
!TryComp<TransformComponent>(targetUid, out var targetXform) ||
|
!TryComp<TransformComponent>(targetUid, out var targetXform) ||
|
||||||
targetXform.MapUid == null) return false;
|
targetXform.MapUid == null ||
|
||||||
|
!targetXform.MapUid.Value.IsValid())
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
var config = GetDockingConfig(component, targetUid);
|
var config = GetDockingConfig(component, targetUid);
|
||||||
|
|
||||||
@@ -439,7 +443,13 @@ public sealed partial class ShuttleSystem
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public bool TryFTLProximity(ShuttleComponent component, EntityUid targetUid, TransformComponent? xform = null, TransformComponent? targetXform = null)
|
public bool TryFTLProximity(ShuttleComponent component, EntityUid targetUid, TransformComponent? xform = null, TransformComponent? targetXform = null)
|
||||||
{
|
{
|
||||||
if (!Resolve(targetUid, ref targetXform) || targetXform.MapUid == null || !Resolve(component.Owner, ref xform)) return false;
|
if (!Resolve(targetUid, ref targetXform) ||
|
||||||
|
targetXform.MapUid == null ||
|
||||||
|
!targetXform.MapUid.Value.IsValid() ||
|
||||||
|
!Resolve(component.Owner, ref xform))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
var xformQuery = GetEntityQuery<TransformComponent>();
|
var xformQuery = GetEntityQuery<TransformComponent>();
|
||||||
var shuttleAABB = Comp<IMapGridComponent>(component.Owner).Grid.LocalAABB;
|
var shuttleAABB = Comp<IMapGridComponent>(component.Owner).Grid.LocalAABB;
|
||||||
@@ -456,7 +466,7 @@ public sealed partial class ShuttleSystem
|
|||||||
var lastCount = 1;
|
var lastCount = 1;
|
||||||
var mapId = targetXform.MapID;
|
var mapId = targetXform.MapID;
|
||||||
|
|
||||||
while (iteration < 3)
|
while (iteration < FTLProximityIterations)
|
||||||
{
|
{
|
||||||
foreach (var grid in _mapManager.FindGridsIntersecting(mapId, targetAABB))
|
foreach (var grid in _mapManager.FindGridsIntersecting(mapId, targetAABB))
|
||||||
{
|
{
|
||||||
@@ -477,7 +487,8 @@ public sealed partial class ShuttleSystem
|
|||||||
lastCount = nearbyGrids.Count;
|
lastCount = nearbyGrids.Count;
|
||||||
|
|
||||||
// Mishap moment, dense asteroid field or whatever
|
// Mishap moment, dense asteroid field or whatever
|
||||||
if (iteration != 3) continue;
|
if (iteration != FTLProximityIterations)
|
||||||
|
continue;
|
||||||
|
|
||||||
foreach (var grid in _mapManager.GetAllGrids())
|
foreach (var grid in _mapManager.GetAllGrids())
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user