Midpoint: New EOR destination station (#3894)
* Midpoint * Midpoint code * Map polish * Nav enabled * Renamed traitor "escape to CC" objective * meow * Midpoint Extensions * Extra beacons * Latest Fixes * Revert CC time being only 30 seconds * Last fix --------- Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
This commit is contained in:
parent
ad4ee5c0e5
commit
1ec61d6df6
|
|
@ -16,7 +16,7 @@ public sealed partial class StationCentcommComponent : Component
|
|||
public float ShuttleIndex;
|
||||
|
||||
[DataField]
|
||||
public ResPath Map = new("/Maps/_DV/centcomm.yml"); // DeltaV
|
||||
public ResPath Map = new("/Maps/_DV/midpoint.yml"); // DeltaV
|
||||
|
||||
/// <summary>
|
||||
/// Centcomm entity that was loaded.
|
||||
|
|
|
|||
|
|
@ -218,7 +218,7 @@ public sealed partial class EmergencyShuttleSystem
|
|||
if (!ShuttlesLeft && _consoleAccumulator <= 0f)
|
||||
{
|
||||
ShuttlesLeft = true;
|
||||
_chatSystem.DispatchGlobalAnnouncement(Loc.GetString("emergency-shuttle-left", ("transitTime", $"{TransitTime:0}")));
|
||||
_chatSystem.DispatchGlobalAnnouncement(Loc.GetString("emergency-shuttle-left-deltav", ("transitTime", $"{TransitTime:0}"))); // DeltaV - midpoint station
|
||||
|
||||
Timer.Spawn((int)(TransitTime * 1000) + _bufferTime.Milliseconds, () => _roundEnd.EndRound(), _roundEndCancelToken?.Token ?? default);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,29 @@
|
|||
using Content.Server._DV.Station.Systems;
|
||||
using Robust.Shared.Utility;
|
||||
|
||||
namespace Content.Server._DV.Station.Components;
|
||||
|
||||
/// <summary>
|
||||
/// Spawns the non-emergency shuttle Central Command for a station on the same map as the <see cref="StationCentcommComponent"/>
|
||||
/// </summary>
|
||||
[RegisterComponent, Access(typeof(StationSecondaryCentcommSystem))]
|
||||
public sealed partial class StationSecondaryCentcommComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
/// The grid to load as secondary Central Command
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public ResPath Path = new("/Maps/_DV/centcomm.yml");
|
||||
|
||||
/// <summary>
|
||||
/// Minimum distance to load the grid at.
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public float MinRange = 1000f;
|
||||
|
||||
/// <summary>
|
||||
/// Maximum distance to load the grid at.
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public float MaxRange = 1200f;
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
using Content.Server._DV.Station.Components;
|
||||
using Content.Server.Shuttles.Components;
|
||||
using Content.Server.Station.Events;
|
||||
using Robust.Shared.EntitySerialization.Systems;
|
||||
using Robust.Shared.Map.Components;
|
||||
using Robust.Shared.Random;
|
||||
|
||||
namespace Content.Server._DV.Station.Systems;
|
||||
|
||||
public sealed partial class StationSecondaryCentcommSystem : EntitySystem
|
||||
{
|
||||
[Dependency] private readonly IRobustRandom _random = default!;
|
||||
[Dependency] private readonly MapLoaderSystem _mapLoader = default!;
|
||||
[Dependency] private readonly SharedTransformSystem _xform = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
|
||||
SubscribeLocalEvent<StationSecondaryCentcommComponent, StationPostInitEvent>(OnStationPostInit);
|
||||
}
|
||||
|
||||
private void OnStationPostInit(Entity<StationSecondaryCentcommComponent> ent, ref StationPostInitEvent args)
|
||||
{
|
||||
if (!TryComp<StationCentcommComponent>(ent, out var centComm) || centComm.Entity is not { } gridUid || centComm.MapEntity is not { } mapUid)
|
||||
return;
|
||||
|
||||
if (!TryComp<MapComponent>(mapUid, out var map))
|
||||
return;
|
||||
|
||||
var offset = _random.NextVector2(ent.Comp.MinRange, ent.Comp.MaxRange);
|
||||
_mapLoader.TryLoadGrid(map.MapId, ent.Comp.Path, out _, offset: _xform.GetWorldPosition(gridUid) + offset);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,7 +1,6 @@
|
|||
[game]
|
||||
hostname = "[EN][MRP] Delta-v (Ψ) | Apoapsis [US East 1]"
|
||||
soft_max_players = 80
|
||||
round_restart_time = 30
|
||||
|
||||
[game.spare_id]
|
||||
auto_unlock = false # Disabled for apo until if/when command whitelist
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ station-beacon-logistics-reception = Logistics
|
|||
station-beacon-lo = LO
|
||||
|
||||
station-beacon-conference-room = Conference Room
|
||||
station-beacon-command-bar = Command Bar
|
||||
|
||||
station-beacon-cloning = Cloning
|
||||
station-beacon-virology = Virology
|
||||
|
|
@ -23,11 +24,13 @@ station-beacon-engi-outpost = Engi Outpost
|
|||
station-beacon-janitor-office = Jani Office
|
||||
station-beacon-janitor-closet = Jani Closet
|
||||
station-beacon-reporter = Reporter
|
||||
station-beacon-shop = Shop
|
||||
|
||||
station-beacon-camera-servers = Cameras
|
||||
|
||||
station-beacon-boxing-ring = Boxing
|
||||
station-beacon-park = Park
|
||||
station-beacon-laser-tag = Laser Tag
|
||||
|
||||
station-beacon-corpsman = Corpsman
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
ent-EscapeShuttleObjective = Escape to Midpoint alive and unrestrained
|
||||
|
|
@ -0,0 +1 @@
|
|||
emergency-shuttle-left-deltav = The Emergency Shuttle has left the station. Estimate {$transitTime} seconds until the shuttle arrives at Midpoint Station.
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -120,6 +120,7 @@
|
|||
abstract: true
|
||||
components:
|
||||
- type: StationCentcomm
|
||||
- type: StationSecondaryCentcomm # DeltaV - midpoint station
|
||||
|
||||
- type: entity
|
||||
id: BaseStationEvacuation
|
||||
|
|
|
|||
|
|
@ -7,6 +7,14 @@
|
|||
- type: NavMapBeacon
|
||||
defaultText: station-beacon-conference-room
|
||||
|
||||
- type: entity
|
||||
parent: DefaultStationBeaconCommand
|
||||
id: DefaultStationBeaconCommandBar
|
||||
suffix: Command Bar
|
||||
components:
|
||||
- type: NavMapBeacon
|
||||
defaultText: station-beacon-command-bar
|
||||
|
||||
#Medical
|
||||
- type: entity
|
||||
parent: DefaultStationBeaconMedical
|
||||
|
|
@ -100,6 +108,14 @@
|
|||
- type: NavMapBeacon
|
||||
defaultText: station-beacon-reporter
|
||||
|
||||
- type: entity
|
||||
parent: DefaultStationBeaconService
|
||||
id: DefaultStationBeaconShop
|
||||
suffix: Shop
|
||||
components:
|
||||
- type: NavMapBeacon
|
||||
defaultText: station-beacon-shop
|
||||
|
||||
#Surveilance
|
||||
- type: entity
|
||||
parent: DefaultStationBeaconAI
|
||||
|
|
@ -126,6 +142,14 @@
|
|||
- type: NavMapBeacon
|
||||
defaultText: station-beacon-park
|
||||
|
||||
- type: entity
|
||||
parent: DefaultStationBeacon
|
||||
id: DefaultStationBeaconLaserTag
|
||||
suffix: Laser Tag
|
||||
components:
|
||||
- type: NavMapBeacon
|
||||
defaultText: station-beacon-laser-tag
|
||||
|
||||
#Security
|
||||
- type: entity
|
||||
parent: DefaultStationBeaconSecurity
|
||||
|
|
|
|||
Loading…
Reference in New Issue