Cutting food now moves the food a little bit. (#31166)

First commit
This commit is contained in:
beck-thompson
2024-08-18 14:18:20 -07:00
committed by GitHub
parent 529f4dae64
commit 78b3e3253f

View File

@@ -10,6 +10,10 @@ using Content.Shared.Interaction;
using Robust.Server.GameObjects;
using Robust.Shared.Audio;
using Robust.Shared.Audio.Systems;
using Robust.Shared.Random;
using Robust.Shared.Containers;
using Robust.Shared.Physics.Components;
using Robust.Shared.Physics.Systems;
namespace Content.Server.Nutrition.EntitySystems;
@@ -19,7 +23,9 @@ public sealed class SliceableFoodSystem : EntitySystem
[Dependency] private readonly SharedAudioSystem _audio = default!;
[Dependency] private readonly TransformSystem _transform = default!;
[Dependency] private readonly DoAfterSystem _doAfter = default!;
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly SharedContainerSystem _container = default!;
[Dependency] private readonly SharedPhysicsSystem _physics = default!;
public override void Initialize()
{
base.Initialize();
@@ -114,6 +120,13 @@ public sealed class SliceableFoodSystem : EntitySystem
_transform.DropNextTo(sliceUid, (uid, transform));
_transform.SetLocalRotation(sliceUid, 0);
if (!_container.IsEntityOrParentInContainer(sliceUid))
{
var randVect = _random.NextVector2(2.0f, 2.5f);
if (TryComp<PhysicsComponent>(sliceUid, out var physics))
_physics.SetLinearVelocity(sliceUid, randVect, body: physics);
}
return sliceUid;
}