Salvage expeditions (#12745)

This commit is contained in:
metalgearsloth
2023-04-20 10:43:13 +10:00
committed by GitHub
parent 486d7c179e
commit 122350f19c
79 changed files with 2764 additions and 662 deletions

View File

@@ -0,0 +1,44 @@
using Content.Shared.Salvage;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
namespace Content.Server.Salvage.Expeditions;
/// <summary>
/// Designates this entity as holding a salvage expedition.
/// </summary>
[RegisterComponent]
public sealed class SalvageExpeditionComponent : Component
{
public SalvageMissionParams MissionParams = default!;
/// <summary>
/// Where the dungeon is located for initial announcement.
/// </summary>
[DataField("dungeonLocation")]
public Vector2 DungeonLocation = Vector2.Zero;
/// <summary>
/// When the expeditions ends.
/// </summary>
[ViewVariables(VVAccess.ReadWrite), DataField("endTime", customTypeSerializer: typeof(TimeOffsetSerializer))]
public TimeSpan EndTime;
/// <summary>
/// Station whose mission this is.
/// </summary>
[ViewVariables, DataField("station")]
public EntityUid Station;
[ViewVariables] public bool Completed = false;
[ViewVariables(VVAccess.ReadWrite), DataField("stage")]
public ExpeditionStage Stage = ExpeditionStage.Added;
}
public enum ExpeditionStage : byte
{
Added,
Running,
Countdown,
FinalCountdown,
}