diff --git a/Content.Server/Kitchen/EntitySystems/SharpSystem.cs b/Content.Server/Kitchen/EntitySystems/SharpSystem.cs index 952b18a2fd..65441796b2 100644 --- a/Content.Server/Kitchen/EntitySystems/SharpSystem.cs +++ b/Content.Server/Kitchen/EntitySystems/SharpSystem.cs @@ -80,19 +80,27 @@ public sealed class SharpSystem : EntitySystem sharp.Butchering.Remove(ev.Entity); var spawnEntities = EntitySpawnCollection.GetSpawns(butcher.SpawnedEntities, _robustRandom); - var coords = Transform(ev.Entity).Coordinates; + var coords = Transform(ev.Entity).MapPosition; EntityUid popupEnt = default; foreach (var proto in spawnEntities) { - popupEnt = Spawn(proto, coords); + // distribute the spawned items randomly in a small radius around the origin + popupEnt = Spawn(proto, coords.Offset(_robustRandom.NextVector2(0.25f))); } - _popupSystem.PopupEntity(Loc.GetString("butcherable-knife-butchered-success", ("target", ev.Entity), ("knife", ev.Sharp)), - popupEnt, Filter.Entities(ev.User), PopupType.LargeCaution); + var hasBody = TryComp(ev.Entity, out var body); - if (TryComp(ev.Entity, out var body)) + // only show a big popup when butchering living things. + var popupType = PopupType.Small; + if (hasBody) + popupType = PopupType.LargeCaution; + + _popupSystem.PopupEntity(Loc.GetString("butcherable-knife-butchered-success", ("target", ev.Entity), ("knife", ev.Sharp)), + popupEnt, Filter.Entities(ev.User), popupType); + + if (hasBody) { - body.Gib(); + body!.Gib(); } else { @@ -125,7 +133,8 @@ public sealed class SharpSystem : EntitySystem if (args.Using is null || !HasComp(args.Using)) { disabled = true; - message = Loc.GetString("butcherable-need-knife"); + message = Loc.GetString("butcherable-need-knife", + ("target", uid)); } InteractionVerb verb = new() diff --git a/Resources/Locale/en-US/kitchen/components/butcherable-component.ftl b/Resources/Locale/en-US/kitchen/components/butcherable-component.ftl index 1d6a80fb71..7b07b42a14 100644 --- a/Resources/Locale/en-US/kitchen/components/butcherable-component.ftl +++ b/Resources/Locale/en-US/kitchen/components/butcherable-component.ftl @@ -1,4 +1,4 @@ butcherable-knife-butchered-success = You butcher { THE($target) } with { THE($knife) }. -butcherable-need-knife = Use a sharp object to butcher this creature. +butcherable-need-knife = Use a sharp object to butcher { THE($target) }. butcherable-mob-isnt-dead = Needs to be dead. butcherable-verb-name = Butcher