diff --git a/Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs b/Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs
index 45629caf16..e97215f646 100644
--- a/Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs
+++ b/Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs
@@ -542,7 +542,7 @@ public sealed class DisposalUnitSystem : SharedDisposalUnitSystem
if (entry == default || component is not DisposalUnitComponent sDisposals)
{
component.Engaged = false;
- Dirty(component);
+ Dirty(uid, component);
return false;
}
@@ -550,7 +550,10 @@ public sealed class DisposalUnitSystem : SharedDisposalUnitSystem
_disposalTubeSystem.TryInsert(entry, sDisposals, beforeFlushArgs.Tags);
- component.NextPressurized = GameTiming.CurTime + TimeSpan.FromSeconds(1f / PressurePerSecond);
+ component.NextPressurized = GameTiming.CurTime;
+ if (!component.DisablePressure)
+ component.NextPressurized += TimeSpan.FromSeconds(1f / PressurePerSecond);
+
component.Engaged = false;
// stop queuing NOW
component.NextFlush = null;
@@ -558,7 +561,7 @@ public sealed class DisposalUnitSystem : SharedDisposalUnitSystem
UpdateVisualState(uid, component, true);
UpdateInterface(uid, component, component.Powered);
- Dirty(component);
+ Dirty(uid, component);
return true;
}
@@ -674,7 +677,7 @@ public sealed class DisposalUnitSystem : SharedDisposalUnitSystem
component.RecentlyEjected.Add(toRemove);
UpdateVisualState(uid, component);
- Dirty(component);
+ Dirty(uid, component);
}
public bool CanFlush(EntityUid unit, SharedDisposalUnitComponent component)
@@ -689,7 +692,7 @@ public sealed class DisposalUnitSystem : SharedDisposalUnitSystem
component.Engaged = true;
UpdateVisualState(uid, component);
UpdateInterface(uid, component, component.Powered);
- Dirty(component);
+ Dirty(uid, component);
if (!CanFlush(uid, component))
return;
@@ -713,7 +716,7 @@ public sealed class DisposalUnitSystem : SharedDisposalUnitSystem
UpdateVisualState(uid, component);
UpdateInterface(uid, component, component.Powered);
- Dirty(component);
+ Dirty(uid, component);
}
///
diff --git a/Content.Shared/Disposal/Components/SharedDisposalUnitComponent.cs b/Content.Shared/Disposal/Components/SharedDisposalUnitComponent.cs
index 111de81e6a..4b867c639f 100644
--- a/Content.Shared/Disposal/Components/SharedDisposalUnitComponent.cs
+++ b/Content.Shared/Disposal/Components/SharedDisposalUnitComponent.cs
@@ -55,7 +55,7 @@ public abstract partial class SharedDisposalUnitComponent : Component
/// Removes the pressure requirement for flushing.
///
[DataField("disablePressure"), ViewVariables(VVAccess.ReadWrite)]
- public bool DisablePressure = false;
+ public bool DisablePressure;
///
/// Last time that an entity tried to exit this disposal unit.
diff --git a/Content.Shared/Disposal/SharedDisposalUnitSystem.cs b/Content.Shared/Disposal/SharedDisposalUnitSystem.cs
index b69e674f21..f0c32c5ee0 100644
--- a/Content.Shared/Disposal/SharedDisposalUnitSystem.cs
+++ b/Content.Shared/Disposal/SharedDisposalUnitSystem.cs
@@ -80,8 +80,7 @@ public abstract class SharedDisposalUnitSystem : EntitySystem
var otherBody = args.OtherEntity;
// Items dropped shouldn't collide but items thrown should
- if (EntityManager.HasComponent(otherBody) &&
- !EntityManager.HasComponent(otherBody))
+ if (HasComp(otherBody) && !HasComp(otherBody))
{
args.Cancelled = true;
return;
@@ -110,25 +109,20 @@ public abstract class SharedDisposalUnitSystem : EntitySystem
public virtual bool CanInsert(EntityUid uid, SharedDisposalUnitComponent component, EntityUid entity)
{
- if (!EntityManager.GetComponent(uid).Anchored)
+ if (!Transform(uid).Anchored)
return false;
// TODO: Probably just need a disposable tag.
- if (!EntityManager.TryGetComponent(entity, out ItemComponent? storable) &&
- !EntityManager.HasComponent(entity))
- {
+ var storable = HasComp(entity);
+ if (!storable && !HasComp(entity))
return false;
- }
//Check if the entity is a mob and if mobs can be inserted
if (TryComp(entity, out var damageState) && !component.MobsCanEnter)
return false;
- if (EntityManager.TryGetComponent(entity, out PhysicsComponent? physics) &&
- (physics.CanCollide || storable != null))
- {
+ if (TryComp(entity, out var physics) && (physics.CanCollide || storable))
return true;
- }
return damageState != null && (!component.MobsCanEnter || _mobState.IsDead(entity, damageState));
}