* oops accedentaly ports how ss13 deals with event randomness. Also renames FakeEvent to FalseAlarm! * thing * greytide but it's implemented badly * fixes&changies, also greytide! * rng actualy exists now * resync * Naming Schemes * Startup not init * areas are dead * very cool vsudio * this does not exist, wtf * Cleanup * Nullables, fixables, and timings Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
31 lines
907 B
C#
31 lines
907 B
C#
#nullable enable
|
|
using JetBrains.Annotations;
|
|
using Content.Server.GameObjects.EntitySystems.StationEvents;
|
|
using Robust.Shared.GameObjects.Systems;
|
|
|
|
namespace Content.Server.StationEvents
|
|
{
|
|
[UsedImplicitly]
|
|
public sealed class FalseAlarm : StationEvent
|
|
{
|
|
public override string Name => "FalseAlarm";
|
|
public override float Weight => WeightHigh;
|
|
protected override float EndAfter => 1.0f;
|
|
public override int? MaxOccurrences => 5;
|
|
|
|
public override void Announce()
|
|
{
|
|
var stationEventSystem = EntitySystem.Get<StationEventSystem>();
|
|
var randomEvent = stationEventSystem.PickRandomEvent();
|
|
|
|
if (randomEvent != null)
|
|
{
|
|
StartAnnouncement = randomEvent.StartAnnouncement;
|
|
StartAudio = randomEvent.StartAudio;
|
|
}
|
|
|
|
base.Announce();
|
|
}
|
|
}
|
|
}
|