using Content.Shared.Inventory;
using Content.Shared.Nutrition.Components;
using Content.Shared.Storage;
+using Content.Shared.Weapons.Ranged.Systems;
namespace Content.Shared.Nutrition.EntitySystems;
private void OnOpenableEdible(Entity<OpenableComponent> ent, ref EdibleEvent args)
{
- if (_openable.IsClosed(ent, args.User, ent.Comp))
+ if (args.Cancelled)
+ return;
+
+ if (_openable.IsClosed(ent, args.User, ent.Comp, predicted: true))
args.Cancelled = true;
}
Text = Loc.GetString(comp.CloseVerbText),
Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/close.svg.192dpi.png")),
Act = () => TryClose(args.Target, comp, args.User),
- // this verb is lower priority than drink verb (2) so it doesn't conflict
+ Priority = 3
};
}
else
{
Text = Loc.GetString(comp.OpenVerbText),
Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/open.svg.192dpi.png")),
- Act = () => TryOpen(args.Target, comp, args.User)
+ Act = () => TryOpen(args.Target, comp, args.User),
+ Priority = 3
};
}
args.Verbs.Add(verb);