using Content.Shared.GameObjects.Components.Mobs; using Content.Shared.GameObjects.EntitySystemMessages; using Robust.Shared.GameObjects; using Robust.Shared.GameObjects.Systems; namespace Content.Shared.GameObjects.EntitySystems { public abstract class SharedCombatModeSystem : EntitySystem { public override void Initialize() { base.Initialize(); SubscribeNetworkEvent(CombatModeActiveHandler); SubscribeLocalEvent(CombatModeActiveHandler); } private void CombatModeActiveHandler(CombatModeSystemMessages.SetCombatModeActiveMessage ev, EntitySessionEventArgs eventArgs) { var entity = eventArgs.SenderSession.AttachedEntity; if (!entity.TryGetComponent(out SharedCombatModeComponent combatModeComponent)) { return; } combatModeComponent.IsInCombatMode = ev.Active; } } }