using Content.Shared.Actions.Components; using Content.Shared.EntityEffects; namespace Content.Shared.Actions; /// /// Handles applying entity effects when an entity effect action is performed. /// public sealed partial class EntityEffectActionSystem : EntitySystem { [Dependency] private SharedEntityEffectsSystem _effects = default!; [SubscribeLocalEvent] private void OnEntityEffectInstantAction(Entity ent, ref EntityEffectInstantActionEvent args) { if (ent.Comp.Effects == null) return; // we trigger the actions on the user if (_effects.TryApplyEffects(args.Performer, ent.Comp.Effects, user: args.Performer)) args.Handled = true; } [SubscribeLocalEvent] private void OnEntityEffectAction(Entity ent, ref EntityEffectActionEvent args) { if (ent.Comp.Effects == null) return; if (_effects.TryApplyEffects(args.Target, ent.Comp.Effects, user: args.Performer)) args.Handled = true; } }