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);
}
}