Edible Verb Fixes (#39933)

* You cannot drink the cannot drink

* Undo that shit

* Whoops

* Fix test fails

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
This commit is contained in:
Princess Cheeseballs
2025-09-27 14:20:31 -07:00
committed by GitHub
parent bd519192d1
commit d8172862c5
3 changed files with 8 additions and 5 deletions

View File

@@ -43,7 +43,7 @@ public sealed partial class IngestionSystem
RaiseLocalEvent(target, ref ev); RaiseLocalEvent(target, ref ev);
//Prevents food usage with a wrong utensil //Prevents food usage with a wrong utensil
if ((ev.Types & utensil.Comp.Types) == 0) if (ev.Types != UtensilType.None && (ev.Types & utensil.Comp.Types) == 0)
{ {
_popup.PopupClient(Loc.GetString("ingestion-try-use-wrong-utensil", ("verb", GetEdibleVerb(target)), ("food", target), ("utensil", utensil.Owner)), user, user); _popup.PopupClient(Loc.GetString("ingestion-try-use-wrong-utensil", ("verb", GetEdibleVerb(target)), ("food", target), ("utensil", utensil.Owner)), user, user);
return true; return true;

View File

@@ -177,8 +177,10 @@ public sealed partial class IngestionSystem : EntitySystem
/// </summary> /// </summary>
/// <param name="food">Entity being eaten</param> /// <param name="food">Entity being eaten</param>
/// <param name="stomachs">Stomachs available to digest</param> /// <param name="stomachs">Stomachs available to digest</param>
public bool IsDigestibleBy(EntityUid food, List<Entity<StomachComponent, OrganComponent>> stomachs) /// <param name="popup">Should we also display popup text if it exists?</param>
public bool IsDigestibleBy(EntityUid food, List<Entity<StomachComponent, OrganComponent>> stomachs, out bool popup)
{ {
popup = false;
var ev = new IsDigestibleEvent(); var ev = new IsDigestibleEvent();
RaiseLocalEvent(food, ref ev); RaiseLocalEvent(food, ref ev);
@@ -210,6 +212,7 @@ public sealed partial class IngestionSystem : EntitySystem
} }
// If we didn't find a stomach that can digest our food then it doesn't exist. // If we didn't find a stomach that can digest our food then it doesn't exist.
popup = true;
return false; return false;
} }
@@ -247,9 +250,9 @@ public sealed partial class IngestionSystem : EntitySystem
return; return;
// Can we digest the specific item we're trying to eat? // Can we digest the specific item we're trying to eat?
if (!IsDigestibleBy(args.Ingested, stomachs)) if (!IsDigestibleBy(args.Ingested, stomachs, out var popup))
{ {
if (!args.Ingest) if (!args.Ingest || !popup)
return; return;
if (forceFed) if (forceFed)

View File

@@ -51,11 +51,11 @@
slots: slots:
item: item:
name: clothing-boots-sidearm name: clothing-boots-sidearm
priority: 4
whitelist: whitelist:
tags: tags:
- Knife - Knife
- Sidearm - Sidearm
priority: 4
- type: entity - type: entity
abstract: true abstract: true