Coordinates Disks & Shuttle FTL Travel (#23240)
* Adds the CentComm Disk and configures it to work with direct-use shuttles * Added functionality for drone shuttles (i.e. cargo shuttle) * Adds support for pods, and a disk console object for disks to be inserted into. Also sprites. * Added the disk to HoP's locker * Removed leftover logs & comments * Fix for integration test * Apply suggestions from code review (formatting & proper DataField) Co-authored-by: 0x6273 <0x40@keemail.me> * Fix integration test & changes based on code review * Includes Disk Cases to contain Coordinate Disks, which are now CDs instead of Floppy Disks * Check pods & non-evac shuttles for CentCom travel, even in FTL * Import * Remove CentCom travel restrictions & pod disk consoles * Major changes that changes the coordinates disk system to work with salvage expeditions * Missed CC diskcase removal * Fix build * Review suggestions and changes * Major additional changes after merge * Minor tag miss * Integration test fix * review --------- Co-authored-by: 0x6273 <0x40@keemail.me> Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
This commit is contained in:
@@ -9,7 +9,7 @@ namespace Content.Server.Shuttles.Components;
|
||||
[RegisterComponent, Access(typeof(EmergencyShuttleSystem)), AutoGenerateComponentPause]
|
||||
public sealed partial class EscapePodComponent : Component
|
||||
{
|
||||
[DataField("launchTime", customTypeSerializer:typeof(TimeOffsetSerializer))]
|
||||
[DataField(customTypeSerializer:typeof(TimeOffsetSerializer))]
|
||||
[AutoPausedField]
|
||||
public TimeSpan? LaunchTime;
|
||||
}
|
||||
|
||||
@@ -14,5 +14,11 @@ namespace Content.Server.Shuttles.Components
|
||||
/// </summary>
|
||||
[DataField("zoom")]
|
||||
public Vector2 Zoom = new(1.5f, 1.5f);
|
||||
|
||||
/// <summary>
|
||||
/// Should this console have access to restricted FTL destinations?
|
||||
/// </summary>
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField("whitelistSpecific")]
|
||||
public List<EntityUid> FTLWhitelist = new List<EntityUid>();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -418,7 +418,7 @@ public sealed partial class EmergencyShuttleSystem : EntitySystem
|
||||
}
|
||||
|
||||
var mapId = _mapManager.CreateMap();
|
||||
var grid = _map.LoadGrid(mapId, component.Map.ToString(), new MapLoadOptions()
|
||||
var grid = _map.LoadGrid(mapId, component.Map.ToString(), new MapLoadOptions()
|
||||
{
|
||||
LoadMap = false,
|
||||
});
|
||||
|
||||
@@ -44,6 +44,10 @@ public sealed partial class ShuttleConsoleSystem
|
||||
}
|
||||
|
||||
var nCoordinates = new NetCoordinates(GetNetEntity(targetXform.ParentUid), targetXform.LocalPosition);
|
||||
if (targetXform.ParentUid == EntityUid.Invalid)
|
||||
{
|
||||
nCoordinates = new NetCoordinates(GetNetEntity(beaconEnt), targetXform.LocalPosition);
|
||||
}
|
||||
|
||||
// Check target exists
|
||||
if (!_shuttle.CanFTLBeacon(nCoordinates))
|
||||
@@ -128,7 +132,7 @@ public sealed partial class ShuttleConsoleSystem
|
||||
}
|
||||
|
||||
// Check shuttle can FTL to this target.
|
||||
if (!_shuttle.CanFTLTo(shuttleUid.Value, targetMap))
|
||||
if (!_shuttle.CanFTLTo(shuttleUid.Value, targetMap, ent))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user