Files
Delta-v/Content.Server/_DV/CosmicCult/Components/CosmicFinaleComponent.cs
T
70c0494061 Remove ion damage (#5960)
* comment out borg ion damage

* remove ion damage from disabler

* actually nuke it

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Additional removals.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Vanessa <vanessalouwagie@gmail.com>
2026-07-11 16:34:56 +00:00

92 lines
2.6 KiB
C#

using Content.Shared.Damage;
using Robust.Shared.Audio;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
namespace Content.Server._DV.CosmicCult.Components;
[RegisterComponent, AutoGenerateComponentPause]
public sealed partial class CosmicFinaleComponent : Component
{
[DataField]
public FinaleState CurrentState = FinaleState.Unavailable;
[DataField]
public bool FinaleDelayStarted = false;
[DataField]
public bool FinaleActive = false;
/// <summary>
/// Bool used for the final announcement message at the finale's 2 minutes remaining mark.
/// </summary>
[DataField]
public bool FinaleAnnounceCheck = false;
[DataField]
public bool Occupied = false;
[DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoPausedField]
public TimeSpan FinaleTimer = default!;
[DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoPausedField]
public TimeSpan BufferTimer = default!;
[DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoPausedField]
public TimeSpan CultistsCheckTimer = default!;
[DataField, AutoNetworkedField]
public TimeSpan FinaleRemainingTime = TimeSpan.FromSeconds(362);
[DataField, AutoNetworkedField]
public TimeSpan VisualsThreshold = TimeSpan.FromSeconds(125);
[DataField, AutoNetworkedField]
public TimeSpan CheckWait = TimeSpan.FromSeconds(5);
[DataField]
public SoundSpecifier CancelEventSound = new SoundPathSpecifier("/Audio/Misc/notice2.ogg");
[DataField]
public TimeSpan FinaleSongLength;
[DataField]
public TimeSpan SongLength;
[DataField]
public SoundSpecifier? SelectedSong;
[DataField]
public TimeSpan InteractionTime = TimeSpan.FromSeconds(30);
[DataField]
public SoundSpecifier FinaleMusic = new SoundPathSpecifier("/Audio/_DV/CosmicCult/finale.ogg");
[DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoPausedField]
public TimeSpan? SongTimer;
/// <summary>
/// The degen that people suffer if they don't have mindshields, aren't a chaplain, or aren't cultists while the Finale is Available or Active. This feature is currently disabled.
/// </summary>
[DataField]
public DamageSpecifier FinaleDegen = new()
{
DamageDict = new()
{
{ "Blunt", 2.25},
{ "Cold", 2.25},
{ "Radiation", 2.25},
{ "Asphyxiation", 2.25}
}
};
}
[Serializable]
public enum FinaleState : byte
{
Unavailable,
ReadyFinale,
ActiveFinale,
Victory,
Unreachable,
}