Fix candy bowls (#25514)
* Before SharedItemSystem * Fixes mispredict, removed unused * Fix physics
This commit is contained in:
@@ -4,12 +4,11 @@ using Content.Shared.Database;
|
|||||||
using Content.Shared.Examine;
|
using Content.Shared.Examine;
|
||||||
using Content.Shared.Hands.EntitySystems;
|
using Content.Shared.Hands.EntitySystems;
|
||||||
using Content.Shared.Interaction;
|
using Content.Shared.Interaction;
|
||||||
|
using Content.Shared.Item;
|
||||||
using Content.Shared.Storage.Components;
|
using Content.Shared.Storage.Components;
|
||||||
using Content.Shared.Verbs;
|
using Content.Shared.Verbs;
|
||||||
using Robust.Shared.Containers;
|
using Robust.Shared.Containers;
|
||||||
using Robust.Shared.Map;
|
|
||||||
using Robust.Shared.Network;
|
using Robust.Shared.Network;
|
||||||
using Robust.Shared.Timing;
|
|
||||||
|
|
||||||
namespace Content.Shared.Storage.EntitySystems;
|
namespace Content.Shared.Storage.EntitySystems;
|
||||||
|
|
||||||
@@ -18,7 +17,6 @@ namespace Content.Shared.Storage.EntitySystems;
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public sealed class BinSystem : EntitySystem
|
public sealed class BinSystem : EntitySystem
|
||||||
{
|
{
|
||||||
[Dependency] private readonly IGameTiming _timing = default!;
|
|
||||||
[Dependency] private readonly INetManager _net = default!;
|
[Dependency] private readonly INetManager _net = default!;
|
||||||
[Dependency] private readonly ISharedAdminLogManager _admin = default!;
|
[Dependency] private readonly ISharedAdminLogManager _admin = default!;
|
||||||
[Dependency] private readonly SharedContainerSystem _container = default!;
|
[Dependency] private readonly SharedContainerSystem _container = default!;
|
||||||
@@ -32,7 +30,7 @@ public sealed class BinSystem : EntitySystem
|
|||||||
SubscribeLocalEvent<BinComponent, ComponentStartup>(OnStartup);
|
SubscribeLocalEvent<BinComponent, ComponentStartup>(OnStartup);
|
||||||
SubscribeLocalEvent<BinComponent, MapInitEvent>(OnMapInit);
|
SubscribeLocalEvent<BinComponent, MapInitEvent>(OnMapInit);
|
||||||
SubscribeLocalEvent<BinComponent, EntRemovedFromContainerMessage>(OnEntRemoved);
|
SubscribeLocalEvent<BinComponent, EntRemovedFromContainerMessage>(OnEntRemoved);
|
||||||
SubscribeLocalEvent<BinComponent, InteractHandEvent>(OnInteractHand);
|
SubscribeLocalEvent<BinComponent, InteractHandEvent>(OnInteractHand, before: new[] { typeof(SharedItemSystem) });
|
||||||
SubscribeLocalEvent<BinComponent, AfterInteractUsingEvent>(OnAfterInteractUsing);
|
SubscribeLocalEvent<BinComponent, AfterInteractUsingEvent>(OnAfterInteractUsing);
|
||||||
SubscribeLocalEvent<BinComponent, GetVerbsEvent<AlternativeVerb>>(OnAltInteractHand);
|
SubscribeLocalEvent<BinComponent, GetVerbsEvent<AlternativeVerb>>(OnAltInteractHand);
|
||||||
SubscribeLocalEvent<BinComponent, ExaminedEvent>(OnExamined);
|
SubscribeLocalEvent<BinComponent, ExaminedEvent>(OnExamined);
|
||||||
@@ -73,7 +71,7 @@ public sealed class BinSystem : EntitySystem
|
|||||||
|
|
||||||
private void OnInteractHand(EntityUid uid, BinComponent component, InteractHandEvent args)
|
private void OnInteractHand(EntityUid uid, BinComponent component, InteractHandEvent args)
|
||||||
{
|
{
|
||||||
if (args.Handled || !_timing.IsFirstTimePredicted)
|
if (args.Handled)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
EntityUid? toGrab = component.Items.LastOrDefault();
|
EntityUid? toGrab = component.Items.LastOrDefault();
|
||||||
@@ -111,9 +109,6 @@ public sealed class BinSystem : EntitySystem
|
|||||||
if (handled || !canReach)
|
if (handled || !canReach)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!_timing.IsFirstTimePredicted)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (!TryInsertIntoBin(target, itemInHand, component))
|
if (!TryInsertIntoBin(target, itemInHand, component))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|||||||
@@ -55,9 +55,11 @@
|
|||||||
shape:
|
shape:
|
||||||
!type:PhysShapeAabb
|
!type:PhysShapeAabb
|
||||||
bounds: "-0.10,-0.10,0.10,0.10"
|
bounds: "-0.10,-0.10,0.10,0.10"
|
||||||
density: 3
|
density: 20
|
||||||
mask:
|
mask:
|
||||||
- TabletopMachineMask
|
- TabletopMachineMask
|
||||||
|
restitution: 0.3
|
||||||
|
friction: 0.2
|
||||||
- type: InteractionOutline
|
- type: InteractionOutline
|
||||||
- type: ItemMapper
|
- type: ItemMapper
|
||||||
sprite: Objects/Misc/candy_bowl.rsi
|
sprite: Objects/Misc/candy_bowl.rsi
|
||||||
|
|||||||
Reference in New Issue
Block a user