using Content.Shared._DV.Abilities; using Content.Shared._DV.Abilities.Felinid; using Content.Shared.Nutrition; using Content.Shared.Nutrition.Components; using Content.Shared.Nutrition.EntitySystems; namespace Content.Shared._DV.Abilities.Felinid; /// /// Makes eating enable a felinids hairball action. /// Other interactions are in the server system. /// public abstract class SharedFelinidSystem : EntitySystem { [Dependency] private readonly HungerSystem _hunger = default!; [Dependency] private readonly ItemCougherSystem _cougher = default!; public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnMouseEaten); } private void OnMouseEaten(Entity ent, ref BeforeFullyEatenEvent args) { var user = args.User; if (!HasComp(user) || !TryComp(user, out var hunger)) return; _hunger.ModifyHunger(user, ent.Comp.BonusHunger, hunger); _cougher.EnableAction(user); } }