diff --git a/Content.Server/Actions/ActionsSystem.cs b/Content.Server/Actions/ActionsSystem.cs index 7d56cfd577..01c2fbe2c7 100644 --- a/Content.Server/Actions/ActionsSystem.cs +++ b/Content.Server/Actions/ActionsSystem.cs @@ -42,7 +42,7 @@ namespace Content.Server.Actions private void OnPlayerAttached(EntityUid uid, ActionsComponent component, PlayerAttachedEvent args) { // need to send state to new player. - component.Dirty(); + Dirty(component); } protected override bool PerformBasicActions(EntityUid user, ActionType action) diff --git a/Content.Server/Alert/ServerAlertsSystem.cs b/Content.Server/Alert/ServerAlertsSystem.cs index 37fbe42d2d..58e56c7566 100644 --- a/Content.Server/Alert/ServerAlertsSystem.cs +++ b/Content.Server/Alert/ServerAlertsSystem.cs @@ -1,7 +1,19 @@ using Content.Shared.Alert; +using Robust.Server.GameObjects; namespace Content.Server.Alert; -// The only reason this exists is because the DI system requires the shared AlertsSystem -// to be abstract. -internal sealed class ServerAlertsSystem : AlertsSystem { } +internal sealed class ServerAlertsSystem : AlertsSystem +{ + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnPlayerAttached); + } + + private void OnPlayerAttached(EntityUid uid, AlertsComponent component, PlayerAttachedEvent args) + { + Dirty(component); + } +} diff --git a/Content.Server/Flash/FlashSystem.cs b/Content.Server/Flash/FlashSystem.cs index a63dc1d07c..eef7501242 100644 --- a/Content.Server/Flash/FlashSystem.cs +++ b/Content.Server/Flash/FlashSystem.cs @@ -41,6 +41,12 @@ namespace Content.Server.Flash SubscribeLocalEvent(OnFlashableStartup); SubscribeLocalEvent(OnFlashableShutdown); SubscribeLocalEvent(OnMetaFlagRemoval); + SubscribeLocalEvent(OnPlayerAttached); + } + + private void OnPlayerAttached(EntityUid uid, FlashableComponent component, PlayerAttachedEvent args) + { + Dirty(component); } private void OnMetaFlagRemoval(EntityUid uid, FlashableComponent component, ref MetaFlagRemoveAttemptEvent args)