using Content.Server.Chemistry.Components; using Content.Shared.Interaction; using Content.Shared.Weapons.Melee; using JetBrains.Annotations; using Robust.Shared.GameObjects; namespace Content.Server.Chemistry.EntitySystems { [UsedImplicitly] public class HypospraySystem : EntitySystem { public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnAfterInteract); SubscribeLocalEvent(OnClickAttack); SubscribeLocalEvent(OnSolutionChange); } private void OnSolutionChange(EntityUid uid, HyposprayComponent component, SolutionChangedEvent args) { component.Dirty(); } public void OnAfterInteract(EntityUid uid, HyposprayComponent comp, AfterInteractEvent args) { if (!args.CanReach) return; var target = args.Target; var user = args.User; comp.TryDoInject(target, user); } public void OnClickAttack(EntityUid uid, HyposprayComponent comp, ClickAttackEvent args) { var target = args.TargetEntity; var user = args.User; comp.TryDoInject(target, user); } } }