using Content.Shared.Examine; using Content.Shared.Inventory; using Content.Shared.StepTrigger.Components; using Content.Shared.Tag; namespace Content.Shared.StepTrigger.Systems; public sealed class StepTriggerImmuneSystem : EntitySystem { [Dependency] private readonly InventorySystem _inventory = default!; /// public override void Initialize() { SubscribeLocalEvent(OnStepTriggerAttempt); SubscribeLocalEvent(OnStepTriggerClothingAttempt); SubscribeLocalEvent(OnExamined); } private void OnStepTriggerAttempt(Entity ent, ref StepTriggerAttemptEvent args) { args.Cancelled = true; } private void OnStepTriggerClothingAttempt(EntityUid uid, ClothingRequiredStepTriggerComponent component, ref StepTriggerAttemptEvent args) { if (_inventory.TryGetInventoryEntity(args.Tripper, out _)) { args.Cancelled = true; } } private void OnExamined(EntityUid uid, ClothingRequiredStepTriggerComponent component, ExaminedEvent args) { args.PushMarkup(Loc.GetString("clothing-required-step-trigger-examine")); } }