Fix some food mispredicts (#16183)

This commit is contained in:
Leon Friedrich
2023-05-07 14:58:20 +12:00
committed by GitHub
parent 8e05e26e6e
commit 65088ab7ef
2 changed files with 37 additions and 24 deletions

View File

@@ -32,24 +32,24 @@ namespace Content.Server.Nutrition.EntitySystems
if (ev.Target == null || !ev.CanReach)
return;
if (TryUseUtensil(ev.User, ev.Target.Value, component))
ev.Handled = true;
var result = TryUseUtensil(ev.User, ev.Target.Value, component);
ev.Handled = result.Handled;
}
private bool TryUseUtensil(EntityUid user, EntityUid target, UtensilComponent component)
public (bool Success, bool Handled) TryUseUtensil(EntityUid user, EntityUid target, UtensilComponent component)
{
if (!EntityManager.TryGetComponent(target, out FoodComponent? food))
return false;
return (false, true);
//Prevents food usage with a wrong utensil
if ((food.Utensil & component.Types) == 0)
{
_popupSystem.PopupEntity(Loc.GetString("food-system-wrong-utensil", ("food", target), ("utensil", component.Owner)), user, user);
return false;
return (false, true);
}
if (!_interactionSystem.InRangeUnobstructed(user, target, popup: true))
return false;
return (false, true);
return _foodSystem.TryFeed(user, user, target, food);
}