Files
ss14-wega/Content.Server/StationEvents/Components/NukeCalibrationRuleComponent.cs
LaCumbiaDelCoronavirus 2b0da6c1b9 [april fools] nuke timer calibration station event (#35816)
* :trollface:

* guh

* fix delay

* errrrr

* i forgot about this

* do not end round if calibrating nuke is defused

* undefang the nuke

* datafields

* oops

---------

Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-03-31 13:20:32 +02:00

37 lines
1.2 KiB
C#

using Content.Server.Nuke;
using Content.Server.StationEvents.Events;
using Robust.Shared.Audio;
namespace Content.Server.StationEvents.Components;
[RegisterComponent, Access(typeof(NukeCalibrationRule))]
public sealed partial class NukeCalibrationRuleComponent : Component
{
/// <summary>
/// Sound of the announcement to play if automatic disarm of the nuke was unsuccessful.
/// </summary>
[DataField]
public SoundSpecifier AutoDisarmFailedSound = new SoundPathSpecifier("/Audio/Misc/notice1.ogg");
/// <summary>
/// Sound of the announcement to play if automatic disarm of the nuke was successful.
/// </summary>
[DataField]
public SoundSpecifier AutoDisarmSuccessSound = new SoundPathSpecifier("/Audio/Misc/notice2.ogg");
[DataField]
public EntityUid AffectedStation;
/// <summary>
/// The nuke that was '''calibrated'''.
/// </summary>
[DataField]
public EntityUid AffectedNuke;
[DataField]
public float NukeTimer = 170f;
[DataField]
public float AutoDisarmChance = 0.5f;
[DataField]
public float TimeUntilFirstAnnouncement = 15f;
[DataField]
public bool FirstAnnouncementMade = false;
}