using Content.Server.Shuttles.Systems; using Robust.Shared.Audio; using Robust.Shared.Serialization.TypeSerializers.Implementations; using Robust.Shared.Utility; namespace Content.Server.Shuttles.Components; /// /// This is used for controlling evacuation for a station. /// [RegisterComponent] public sealed partial class StationEmergencyShuttleComponent : Component { /// /// The emergency shuttle assigned to this station. /// [DataField, Access(typeof(ShuttleSystem), typeof(EmergencyShuttleSystem), Friend = AccessPermissions.ReadWrite)] public EntityUid? EmergencyShuttle; /// /// Emergency shuttle map path for this station. /// [DataField("emergencyShuttlePath", customTypeSerializer: typeof(ResPathSerializer))] public ResPath EmergencyShuttlePath { get; set; } = new("/Maps/Shuttles/emergency.yml"); /// /// The announcement made when the shuttle has successfully docked with the station. /// public LocId DockedAnnouncement = "emergency-shuttle-docked"; /// /// Sound played when the shuttle has successfully docked with the station. /// public SoundSpecifier DockedAudio = new SoundPathSpecifier("/Audio/Announcements/shuttle_dock.ogg"); /// /// The announcement made when the shuttle is unable to dock and instead parks in nearby space. /// public LocId NearbyAnnouncement = "emergency-shuttle-nearby"; /// /// Sound played when the shuttle is unable to dock and instead parks in nearby space. /// public SoundSpecifier NearbyAudio = new SoundPathSpecifier("/Audio/Misc/notice1.ogg"); /// /// The announcement made when the shuttle is unable to find a station. /// public LocId FailureAnnouncement = "emergency-shuttle-good-luck"; /// /// Sound played when the shuttle is unable to find a station. /// public SoundSpecifier FailureAudio = new SoundPathSpecifier("/Audio/Misc/notice1.ogg"); /// /// Text appended to the docking announcement if the launch time has been extended. /// public LocId LaunchExtendedMessage = "emergency-shuttle-extended"; }