mirror of
https://github.com/DeltaV-Station/Delta-v.git
synced 2026-09-30 08:07:28 +00:00
* epsilon rewrite, first batch * As requested, moved the announcement folder to _DV folder, which only now includes deltaV or nyanotrasen specific audio files. Please double check the license.txt in Announcements/RoundEnd to see if I got it right. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * fix announcements again, oopsies * potentially fixed epsilon rule, i dunno * probably fix???? i dunno i only write goidacode * temporary attribution.yml file for epsilon.ogg * typo fix. not epsilon.ogg but code_epsilon.ogg * another accidental error oops * small test as removing my own attributions.yml file, i am going insane with these checks. * reverted the attributions.yml deletion * optional APC sound thing i wrote it incredibly stupid, going to do a stupider idea * Update attributions.yml * code saved by the angel named Toby * added and fixed several attributions.yml files * formatting fix oops * fix second time hopefully * i think i merged it correctly? * weird way of fixing attributions * With massive Quanteey's help and guidance, code cleanup once again. * sound file path errors fixed * another sound error fix * added spacing to comments, removed CancellationTokenSource like asked and made the poweroff sound louder * wiki page should be updated and removed epsilon mention in metashield rules * from elevated to emergency status * removed the funny event for 2 part * forgot to remove a thing * another fix * conflict fix * fix second time * untouching and commenting * untouching number 2 * untouched correctly? --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
59 lines
1.6 KiB
C#
59 lines
1.6 KiB
C#
using Content.Server.StationEvents.Events;
|
|
using Content.Shared.Destructible.Thresholds;
|
|
using Robust.Shared.Audio;
|
|
using Robust.Shared.Prototypes;
|
|
|
|
namespace Content.Server.StationEvents.Components;
|
|
|
|
[RegisterComponent, Access(typeof(MeteorSwarmSystem)), AutoGenerateComponentPause]
|
|
public sealed partial class MeteorSwarmComponent : Component
|
|
{
|
|
[DataField, AutoPausedField]
|
|
public TimeSpan NextWaveTime;
|
|
|
|
/// <summary>
|
|
/// We'll send a specific amount of waves of meteors towards the station per ending rather than using a timer.
|
|
/// </summary>
|
|
[DataField]
|
|
public int WaveCounter;
|
|
|
|
[DataField]
|
|
public float MeteorVelocity = 10f;
|
|
|
|
/// <summary>
|
|
/// If true, meteors will be thrown from all angles instead of from a singular source
|
|
/// </summary>
|
|
[DataField]
|
|
public bool NonDirectional;
|
|
|
|
/// <summary>
|
|
/// The announcement played when a meteor swarm begins.
|
|
/// </summary>
|
|
[DataField]
|
|
public LocId? Announcement = "station-event-meteor-swarm-start-announcement";
|
|
|
|
[DataField]
|
|
public SoundSpecifier? AnnouncementSound = new SoundPathSpecifier("/Audio/_DV/Announcements/meteors.ogg") // DeltaV: custom announcer
|
|
{
|
|
Params = new()
|
|
{
|
|
Volume = -4
|
|
}
|
|
};
|
|
|
|
/// <summary>
|
|
/// Each meteor entity prototype and their corresponding weight in being picked.
|
|
/// </summary>
|
|
[DataField]
|
|
public Dictionary<EntProtoId, float> Meteors = new();
|
|
|
|
[DataField]
|
|
public MinMax Waves = new(3, 3);
|
|
|
|
[DataField]
|
|
public MinMax MeteorsPerWave = new(3, 4);
|
|
|
|
[DataField]
|
|
public MinMax WaveCooldown = new (10, 60);
|
|
}
|