[Dependency] protected readonly SharedAppearanceSystem Appearance = default!;
[Dependency] protected readonly SharedPopupSystem Popup = default!;
+ private ISawmill _sawmill = default!;
+
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<AnomalyComponent, EntityUnpausedEvent>(OnAnomalyUnpause);
SubscribeLocalEvent<AnomalyPulsingComponent, EntityUnpausedEvent>(OnPulsingUnpause);
SubscribeLocalEvent<AnomalySupercriticalComponent, EntityUnpausedEvent>(OnSupercriticalUnpause);
+
+ _sawmill = Logger.GetSawmill("anomaly");
}
private void OnAnomalyGetState(EntityUid uid, AnomalyComponent component, ref ComponentGetState args)
var variation = Random.NextFloat(-component.PulseVariation, component.PulseVariation) + 1;
component.NextPulseTime = Timing.CurTime + GetPulseLength(component) * variation;
+ _sawmill.Info($"Performing anomaly pulse. Entity: {ToPrettyString(uid)}");
+
// if we are above the growth threshold, then grow before the pulse
if (component.Stability > component.GrowthThreshold)
{
return;
Log.Add(LogType.Anomaly, LogImpact.High, $"Anomaly {ToPrettyString(uid)} began to go supercritical.");
+ _sawmill.Info($"Anomaly is going supercritical. Entity: {ToPrettyString(uid)}");
var super = EnsureComp<AnomalySupercriticalComponent>(uid);
super.EndTime = Timing.CurTime + super.SupercriticalDuration;
Audio.PlayPvs(component.SupercriticalSound, uid);
+ _sawmill.Info($"Raising supercritical event. Entity: {ToPrettyString(uid)}");
var ev = new AnomalySupercriticalEvent();
RaiseLocalEvent(uid, ref ev);
/// <param name="supercritical">Whether or not the anomaly ended via supercritical event</param>
public void EndAnomaly(EntityUid uid, AnomalyComponent? component = null, bool supercritical = false)
{
+ // Logging before resolve, in case the anomaly has deleted itself.
+ _sawmill.Info($"Ending anomaly. Entity: {ToPrettyString(uid)}");
+ Log.Add(LogType.Anomaly, LogImpact.Extreme, $"Anomaly {ToPrettyString(uid)} went supercritical.");
+
if (!Resolve(uid, ref component))
return;
var ev = new AnomalyShutdownEvent(uid, supercritical);
RaiseLocalEvent(uid, ref ev, true);
- Log.Add(LogType.Anomaly, LogImpact.Extreme, $"Anomaly {ToPrettyString(uid)} went supercritical.");
-
if (Terminating(uid) || _net.IsClient)
return;
Del(uid);