diff --git a/Content.Server/Kitchen/EntitySystems/SharpSystem.cs b/Content.Server/Kitchen/EntitySystems/SharpSystem.cs index 2caab4063c..3c1e89b1f2 100644 --- a/Content.Server/Kitchen/EntitySystems/SharpSystem.cs +++ b/Content.Server/Kitchen/EntitySystems/SharpSystem.cs @@ -1,5 +1,7 @@ using Content.Server.Body.Systems; using Content.Server.Kitchen.Components; +using Content.Server.Nutrition.EntitySystems; +using Content.Shared.Body.Components; using Content.Shared.Administration.Logs; using Content.Shared.Body.Components; using Content.Shared.Database; @@ -11,9 +13,14 @@ using Content.Shared.Storage; using Content.Shared.Verbs; using Content.Shared.Destructible; using Content.Shared.DoAfter; +using Content.Shared.Interaction; using Content.Shared.Kitchen; using Content.Shared.Mobs.Components; using Content.Shared.Mobs.Systems; +using Content.Shared.Nutrition.Components; +using Content.Shared.Popups; +using Content.Shared.Storage; +using Content.Shared.Verbs; using Robust.Server.Containers; using Robust.Shared.Random; using Robust.Shared.Utility; @@ -35,7 +42,7 @@ public sealed class SharpSystem : EntitySystem { base.Initialize(); - SubscribeLocalEvent(OnAfterInteract, before: new[] { typeof(UtensilSystem) }); + SubscribeLocalEvent(OnAfterInteract, before: [typeof(UtensilSystem)]); SubscribeLocalEvent(OnDoAfter); SubscribeLocalEvent>(OnGetInteractionVerbs); @@ -43,16 +50,14 @@ public sealed class SharpSystem : EntitySystem private void OnAfterInteract(EntityUid uid, SharpComponent component, AfterInteractEvent args) { - if (args.Handled) + if (args.Handled || args.Target is null || !args.CanReach) return; - if (args.Target is null || !args.CanReach) - return; - - args.Handled = TryStartButcherDoAfter(uid, args.Target.Value, args.User); + if (TryStartButcherDoafter(uid, args.Target.Value, args.User)) + args.Handled = true; } - private bool TryStartButcherDoAfter(EntityUid knife, EntityUid target, EntityUid user) + private bool TryStartButcherDoafter(EntityUid knife, EntityUid target, EntityUid user) { if (!TryComp(target, out var butcher)) return false; @@ -66,11 +71,11 @@ public sealed class SharpSystem : EntitySystem if (butcher.Type != ButcheringType.Knife && target != user) { _popupSystem.PopupEntity(Loc.GetString("butcherable-different-tool", ("target", target)), knife, user); - return true; + return false; } if (!sharp.Butchering.Add(target)) - return true; + return false; var doAfter = new DoAfterArgs(EntityManager, user, sharp.ButcherDelayModifier * butcher.ButcherDelay, new SharpDoAfterEvent(), knife, target: target, used: knife) @@ -165,7 +170,7 @@ public sealed class SharpSystem : EntitySystem Act = () => { if (!disabled) - TryStartButcherDoAfter(args.Using!.Value, args.Target, args.User); + TryStartButcherDoafter(args.Using!.Value, args.Target, args.User); }, Message = message, Disabled = disabled, diff --git a/Content.Server/Nutrition/EntitySystems/UtensilSystem.cs b/Content.Server/Nutrition/EntitySystems/UtensilSystem.cs index 0edd0711b6..43087214a4 100644 --- a/Content.Server/Nutrition/EntitySystems/UtensilSystem.cs +++ b/Content.Server/Nutrition/EntitySystems/UtensilSystem.cs @@ -1,12 +1,11 @@ using Content.Shared.Containers.ItemSlots; using Content.Server.Nutrition.Components; -using Content.Shared.Nutrition.Components; -using Content.Shared.Nutrition.EntitySystems; using Content.Server.Popups; using Content.Shared.Interaction; +using Content.Shared.Nutrition.Components; +using Content.Shared.Nutrition.EntitySystems; using Robust.Shared.Audio; using Robust.Shared.Audio.Systems; -using Robust.Shared.Player; using Robust.Shared.Random; namespace Content.Server.Nutrition.EntitySystems @@ -34,10 +33,7 @@ namespace Content.Server.Nutrition.EntitySystems /// private void OnAfterInteract(EntityUid uid, UtensilComponent component, AfterInteractEvent ev) { - if (ev.Handled) - return; - - if (ev.Target == null || !ev.CanReach) + if (ev.Handled || ev.Target == null || !ev.CanReach) return; var result = TryUseUtensil(ev.User, ev.Target.Value, component);