using Content.Server.Nutrition.Components; using Content.Shared.Throwing; using Robust.Shared.GameObjects; namespace Content.Server.Nutrition.EntitySystems { public class ForcefeedOnCollideSystem : EntitySystem { public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnThrowDoHit); SubscribeLocalEvent(OnLand); } private void OnThrowDoHit(EntityUid uid, ForcefeedOnCollideComponent component, ThrowDoHitEvent args) { if (!args.Target.HasComponent()) return; if (!EntityManager.TryGetComponent(uid, out var food)) return; // the 'target' isnt really the 'user' per se.. but.. food.TryUseFood(args.Target, args.Target); } private void OnLand(EntityUid uid, ForcefeedOnCollideComponent component, LandEvent args) { if (!component.RemoveOnThrowEnd) return; EntityManager.RemoveComponent(uid, component); } } }