diff --git a/Content.Server/Botany/Systems/BotanySwabSystem.cs b/Content.Server/Botany/Systems/BotanySwabSystem.cs
index f6190bae4e..e8c7af92c2 100644
--- a/Content.Server/Botany/Systems/BotanySwabSystem.cs
+++ b/Content.Server/Botany/Systems/BotanySwabSystem.cs
@@ -48,7 +48,7 @@ public sealed class BotanySwabSystem : EntitySystem
{
Broadcast = true,
BreakOnMove = true,
- NeedHand = true
+ NeedHand = true,
});
}
diff --git a/Content.Server/Construction/ConstructionSystem.Interactions.cs b/Content.Server/Construction/ConstructionSystem.Interactions.cs
index c844dd2c9a..426ab6e80f 100644
--- a/Content.Server/Construction/ConstructionSystem.Interactions.cs
+++ b/Content.Server/Construction/ConstructionSystem.Interactions.cs
@@ -287,7 +287,7 @@ namespace Content.Server.Construction
{
BreakOnDamage = false,
BreakOnMove = true,
- NeedHand = true
+ NeedHand = true,
};
var started = _doAfterSystem.TryStartDoAfter(doAfterEventArgs);
diff --git a/Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs b/Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs
index 37a5ba2ef8..ba0124626a 100644
--- a/Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs
+++ b/Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs
@@ -488,7 +488,7 @@ public sealed class DisposalUnitSystem : SharedDisposalUnitSystem
{
BreakOnDamage = true,
BreakOnMove = true,
- NeedHand = false
+ NeedHand = false,
};
_doAfterSystem.TryStartDoAfter(doAfterArgs);
diff --git a/Content.Server/Ensnaring/EnsnareableSystem.Ensnaring.cs b/Content.Server/Ensnaring/EnsnareableSystem.Ensnaring.cs
index c9dec3782f..7d6963826a 100644
--- a/Content.Server/Ensnaring/EnsnareableSystem.Ensnaring.cs
+++ b/Content.Server/Ensnaring/EnsnareableSystem.Ensnaring.cs
@@ -128,7 +128,7 @@ public sealed partial class EnsnareableSystem
/// The ensnaring component
public void TryFree(EntityUid target, EntityUid user, EntityUid ensnare, EnsnaringComponent component)
{
- //Don't do anything if they don't have the ensnareable component.
+ // Don't do anything if they don't have the ensnareable component.
if (!HasComp(target))
return;
@@ -140,7 +140,7 @@ public sealed partial class EnsnareableSystem
BreakOnMove = breakOnMove,
BreakOnDamage = false,
NeedHand = true,
- BlockDuplicate = true,
+ BreakOnDropItem = false,
};
if (!_doAfter.TryStartDoAfter(doAfterEventArgs))
diff --git a/Content.Server/Forensics/Systems/ForensicsSystem.cs b/Content.Server/Forensics/Systems/ForensicsSystem.cs
index cd4e2edaec..c0d990aa59 100644
--- a/Content.Server/Forensics/Systems/ForensicsSystem.cs
+++ b/Content.Server/Forensics/Systems/ForensicsSystem.cs
@@ -159,7 +159,6 @@ namespace Content.Server.Forensics
var cleanDelay = cleanForensicsEntity.Comp.CleanDelay;
var doAfterArgs = new DoAfterArgs(EntityManager, user, cleanDelay, new CleanForensicsDoAfterEvent(), cleanForensicsEntity, target: target, used: cleanForensicsEntity)
{
- BreakOnHandChange = true,
NeedHand = true,
BreakOnDamage = true,
BreakOnMove = true,
diff --git a/Content.Server/Kitchen/EntitySystems/KitchenSpikeSystem.cs b/Content.Server/Kitchen/EntitySystems/KitchenSpikeSystem.cs
index b145bec014..d89af7e94f 100644
--- a/Content.Server/Kitchen/EntitySystems/KitchenSpikeSystem.cs
+++ b/Content.Server/Kitchen/EntitySystems/KitchenSpikeSystem.cs
@@ -259,7 +259,8 @@ namespace Content.Server.Kitchen.EntitySystems
{
BreakOnDamage = true,
BreakOnMove = true,
- NeedHand = true
+ NeedHand = true,
+ BreakOnDropItem = false,
};
_doAfter.TryStartDoAfter(doAfterArgs);
diff --git a/Content.Server/Kitchen/EntitySystems/SharpSystem.cs b/Content.Server/Kitchen/EntitySystems/SharpSystem.cs
index b796687721..99ea516f74 100644
--- a/Content.Server/Kitchen/EntitySystems/SharpSystem.cs
+++ b/Content.Server/Kitchen/EntitySystems/SharpSystem.cs
@@ -77,7 +77,7 @@ public sealed class SharpSystem : EntitySystem
{
BreakOnDamage = true,
BreakOnMove = true,
- NeedHand = true
+ NeedHand = true,
};
_doAfterSystem.TryStartDoAfter(doAfter);
return true;
diff --git a/Content.Server/MagicMirror/MagicMirrorSystem.cs b/Content.Server/MagicMirror/MagicMirrorSystem.cs
index f4f889e549..082fc81bd2 100644
--- a/Content.Server/MagicMirror/MagicMirrorSystem.cs
+++ b/Content.Server/MagicMirror/MagicMirrorSystem.cs
@@ -85,8 +85,7 @@ public sealed class MagicMirrorSystem : SharedMagicMirrorSystem
DistanceThreshold = SharedInteractionSystem.InteractionRange,
BreakOnDamage = true,
BreakOnMove = true,
- BreakOnHandChange = false,
- NeedHand = true
+ NeedHand = true,
},
out var doAfterId);
@@ -166,7 +165,6 @@ public sealed class MagicMirrorSystem : SharedMagicMirrorSystem
{
BreakOnDamage = true,
BreakOnMove = true,
- BreakOnHandChange = false,
NeedHand = true
},
out var doAfterId);
@@ -245,7 +243,6 @@ public sealed class MagicMirrorSystem : SharedMagicMirrorSystem
{
DistanceThreshold = SharedInteractionSystem.InteractionRange,
BreakOnDamage = true,
- BreakOnHandChange = false,
NeedHand = true
},
out var doAfterId);
@@ -324,8 +321,7 @@ public sealed class MagicMirrorSystem : SharedMagicMirrorSystem
{
BreakOnDamage = true,
BreakOnMove = true,
- BreakOnHandChange = false,
- NeedHand = true
+ NeedHand = true,
},
out var doAfterId);
diff --git a/Content.Server/Medical/BiomassReclaimer/BiomassReclaimerSystem.cs b/Content.Server/Medical/BiomassReclaimer/BiomassReclaimerSystem.cs
index a6285294c9..5be93f7fbc 100644
--- a/Content.Server/Medical/BiomassReclaimer/BiomassReclaimerSystem.cs
+++ b/Content.Server/Medical/BiomassReclaimer/BiomassReclaimerSystem.cs
@@ -169,7 +169,7 @@ namespace Content.Server.Medical.BiomassReclaimer
_doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, args.User, delay, new ReclaimerDoAfterEvent(), reclaimer, target: args.Target, used: args.Used)
{
NeedHand = true,
- BreakOnMove = true
+ BreakOnMove = true,
});
}
diff --git a/Content.Server/Medical/DefibrillatorSystem.cs b/Content.Server/Medical/DefibrillatorSystem.cs
index b6b50d4215..c9cb6cc58d 100644
--- a/Content.Server/Medical/DefibrillatorSystem.cs
+++ b/Content.Server/Medical/DefibrillatorSystem.cs
@@ -119,8 +119,6 @@ public sealed class DefibrillatorSystem : EntitySystem
return _doAfter.TryStartDoAfter(new DoAfterArgs(EntityManager, user, component.DoAfterDuration, new DefibrillatorZapDoAfterEvent(),
uid, target, uid)
{
- BlockDuplicate = true,
- BreakOnHandChange = true,
NeedHand = true,
BreakOnMove = !component.AllowDoAfterMovement
});
diff --git a/Content.Server/Medical/HealthAnalyzerSystem.cs b/Content.Server/Medical/HealthAnalyzerSystem.cs
index 98f4f00d89..c770ad9e58 100644
--- a/Content.Server/Medical/HealthAnalyzerSystem.cs
+++ b/Content.Server/Medical/HealthAnalyzerSystem.cs
@@ -89,7 +89,7 @@ public sealed class HealthAnalyzerSystem : EntitySystem
_doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, args.User, uid.Comp.ScanDelay, new HealthAnalyzerDoAfterEvent(), uid, target: args.Target, used: uid)
{
NeedHand = true,
- BreakOnMove = true
+ BreakOnMove = true,
});
var msg = Loc.GetString("health-analyzer-popup-scan-target", ("user", Identity.Entity(args.User, EntityManager)));
diff --git a/Content.Server/Nuke/NukeSystem.cs b/Content.Server/Nuke/NukeSystem.cs
index db425b491e..3146ce6989 100644
--- a/Content.Server/Nuke/NukeSystem.cs
+++ b/Content.Server/Nuke/NukeSystem.cs
@@ -590,7 +590,7 @@ public sealed class NukeSystem : EntitySystem
{
BreakOnDamage = true,
BreakOnMove = true,
- NeedHand = true
+ NeedHand = true,
};
if (!_doAfter.TryStartDoAfter(doAfter))
diff --git a/Content.Server/Power/Generator/PortableGeneratorSystem.cs b/Content.Server/Power/Generator/PortableGeneratorSystem.cs
index f7d259b122..0ee228680e 100644
--- a/Content.Server/Power/Generator/PortableGeneratorSystem.cs
+++ b/Content.Server/Power/Generator/PortableGeneratorSystem.cs
@@ -73,8 +73,10 @@ public sealed class PortableGeneratorSystem : SharedPortableGeneratorSystem
_doAfter.TryStartDoAfter(new DoAfterArgs(EntityManager, user, component.StartTime, new GeneratorStartedEvent(), uid, uid)
{
- BreakOnDamage = true, BreakOnMove = true, RequireCanInteract = true,
- NeedHand = true
+ BreakOnDamage = true,
+ BreakOnMove = true,
+ NeedHand = true,
+ BreakOnDropItem = false,
});
}
diff --git a/Content.Server/Resist/ResistLockerSystem.cs b/Content.Server/Resist/ResistLockerSystem.cs
index 8294ecc5f9..597f3ee8d0 100644
--- a/Content.Server/Resist/ResistLockerSystem.cs
+++ b/Content.Server/Resist/ResistLockerSystem.cs
@@ -54,7 +54,7 @@ public sealed class ResistLockerSystem : EntitySystem
{
BreakOnMove = true,
BreakOnDamage = true,
- NeedHand = false //No hands 'cause we be kickin'
+ NeedHand = false, //No hands 'cause we be kickin'
};
resistLockerComponent.IsResisting = true;
diff --git a/Content.Server/SprayPainter/SprayPainterSystem.cs b/Content.Server/SprayPainter/SprayPainterSystem.cs
index a8024e2d77..9f6da20fda 100644
--- a/Content.Server/SprayPainter/SprayPainterSystem.cs
+++ b/Content.Server/SprayPainter/SprayPainterSystem.cs
@@ -57,10 +57,9 @@ public sealed class SprayPainterSystem : SharedSprayPainterSystem
{
BreakOnMove = true,
BreakOnDamage = true,
- CancelDuplicate = true,
// multiple pipes can be sprayed at once just not the same one
DuplicateCondition = DuplicateConditions.SameTarget,
- NeedHand = true
+ NeedHand = true,
};
args.Handled = DoAfter.TryStartDoAfter(doAfterEventArgs);
diff --git a/Content.Server/Sticky/Systems/StickySystem.cs b/Content.Server/Sticky/Systems/StickySystem.cs
index 21a7f4d039..23064a93cb 100644
--- a/Content.Server/Sticky/Systems/StickySystem.cs
+++ b/Content.Server/Sticky/Systems/StickySystem.cs
@@ -95,7 +95,7 @@ public sealed class StickySystem : EntitySystem
_doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, user, delay, new StickyDoAfterEvent(), uid, target: target, used: uid)
{
BreakOnMove = true,
- NeedHand = true
+ NeedHand = true,
});
}
else
@@ -149,7 +149,7 @@ public sealed class StickySystem : EntitySystem
_doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, user, delay, new StickyDoAfterEvent(), uid, target: uid)
{
BreakOnMove = true,
- NeedHand = true
+ NeedHand = true,
});
}
else
diff --git a/Content.Shared/Burial/BurialSystem.cs b/Content.Shared/Burial/BurialSystem.cs
index c86b2ec024..68b634efc1 100644
--- a/Content.Shared/Burial/BurialSystem.cs
+++ b/Content.Shared/Burial/BurialSystem.cs
@@ -49,7 +49,6 @@ public sealed class BurialSystem : EntitySystem
BreakOnMove = true,
BreakOnDamage = true,
NeedHand = true,
- BreakOnHandChange = true
};
if (component.Stream == null)
diff --git a/Content.Shared/DoAfter/DoAfterArgs.cs b/Content.Shared/DoAfter/DoAfterArgs.cs
index d96ea84e17..ac66278538 100644
--- a/Content.Shared/DoAfter/DoAfterArgs.cs
+++ b/Content.Shared/DoAfter/DoAfterArgs.cs
@@ -19,14 +19,14 @@ public sealed partial class DoAfterArgs
///
/// How long does the do_after require to complete
///
- [DataField("delay", required: true)]
+ [DataField(required: true)]
public TimeSpan Delay;
///
/// Applicable target (if relevant)
///
[NonSerialized]
- [DataField("target")]
+ [DataField]
public EntityUid? Target;
public NetEntity? NetTarget;
@@ -50,7 +50,7 @@ public sealed partial class DoAfterArgs
///
/// The event that will get raised when the DoAfter has finished. If null, this will simply raise a
///
- [DataField("event", required: true)]
+ [DataField(required: true)]
public DoAfterEvent Event = default!;
///
@@ -64,7 +64,7 @@ public sealed partial class DoAfterArgs
/// Entity which will receive the directed event. If null, no directed event will be raised.
///
[NonSerialized]
- [DataField("eventTarget")]
+ [DataField]
public EntityUid? EventTarget;
public NetEntity? NetEventTarget;
@@ -72,7 +72,7 @@ public sealed partial class DoAfterArgs
///
/// Should the DoAfter event broadcast? If this is false, then should be a valid entity.
///
- [DataField("broadcast")]
+ [DataField]
public bool Broadcast;
#endregion
@@ -81,16 +81,24 @@ public sealed partial class DoAfterArgs
///
/// Whether or not this do after requires the user to have hands.
///
- [DataField("needHand")]
+ [DataField]
public bool NeedHand;
///
/// Whether we need to keep our active hand as is (i.e. can't change hand or change item). This also covers
/// requiring the hand to be free (if applicable). This does nothing if is false.
///
- [DataField("breakOnHandChange")]
+ [DataField]
public bool BreakOnHandChange = true;
+ ///
+ /// Whether the do-after should get interrupted if we drop the
+ /// active item we started the do-after with
+ /// This does nothing if is false.
+ ///
+ [DataField]
+ public bool BreakOnDropItem = true;
+
///
/// If do_after stops when the user or target moves
///
@@ -107,31 +115,31 @@ public sealed partial class DoAfterArgs
///
/// Threshold for user and target movement
///
- [DataField("movementThreshold")]
+ [DataField]
public float MovementThreshold = 0.3f;
///
/// Threshold for distance user from the used OR target entities.
///
- [DataField("distanceThreshold")]
+ [DataField]
public float? DistanceThreshold;
///
/// Whether damage will cancel the DoAfter. See also .
///
- [DataField("breakOnDamage")]
+ [DataField]
public bool BreakOnDamage;
///
/// Threshold for user damage. This damage has to be dealt in a single event, not over time.
///
- [DataField("damageThreshold")]
+ [DataField]
public FixedPoint2 DamageThreshold = 1;
///
/// If true, this DoAfter will be canceled if the user can no longer interact with the target.
///
- [DataField("requireCanInteract")]
+ [DataField]
public bool RequireCanInteract = true;
#endregion
@@ -143,7 +151,7 @@ public sealed partial class DoAfterArgs
/// Note that this will block even if the duplicate is cancelled because either DoAfter had
/// enabled.
///
- [DataField("blockDuplicate")]
+ [DataField]
public bool BlockDuplicate = true;
//TODO: User pref to not cancel on second use on specific doafters
@@ -151,7 +159,7 @@ public sealed partial class DoAfterArgs
/// If true, this will cancel any duplicate DoAfters when attempting to add a new DoAfter. See also
/// .
///
- [DataField("cancelDuplicate")]
+ [DataField]
public bool CancelDuplicate = true;
///
@@ -162,7 +170,7 @@ public sealed partial class DoAfterArgs
/// Note that both DoAfters may have their own conditions, and they will be considered duplicated if either set
/// of conditions is satisfied.
///
- [DataField("duplicateCondition")]
+ [DataField]
public DuplicateConditions DuplicateCondition = DuplicateConditions.All;
#endregion
@@ -244,6 +252,7 @@ public sealed partial class DoAfterArgs
Broadcast = other.Broadcast;
NeedHand = other.NeedHand;
BreakOnHandChange = other.BreakOnHandChange;
+ BreakOnDropItem = other.BreakOnDropItem;
BreakOnMove = other.BreakOnMove;
BreakOnWeightlessMove = other.BreakOnWeightlessMove;
MovementThreshold = other.MovementThreshold;
diff --git a/Content.Shared/DoAfter/SharedDoAfterSystem.Update.cs b/Content.Shared/DoAfter/SharedDoAfterSystem.Update.cs
index ad94f3b940..213dc624b2 100644
--- a/Content.Shared/DoAfter/SharedDoAfterSystem.Update.cs
+++ b/Content.Shared/DoAfter/SharedDoAfterSystem.Update.cs
@@ -1,5 +1,6 @@
using Content.Shared.Gravity;
using Content.Shared.Hands.Components;
+using Content.Shared.Hands.EntitySystems;
using Content.Shared.Interaction;
using Content.Shared.Physics;
using Robust.Shared.Utility;
@@ -11,6 +12,7 @@ public abstract partial class SharedDoAfterSystem : EntitySystem
[Dependency] private readonly IDynamicTypeFactory _factory = default!;
[Dependency] private readonly SharedGravitySystem _gravity = default!;
[Dependency] private readonly SharedInteractionSystem _interaction = default!;
+ [Dependency] private readonly SharedHandsSystem _hands = default!;
private DoAfter[] _doAfters = Array.Empty();
@@ -217,16 +219,22 @@ public abstract partial class SharedDoAfterSystem : EntitySystem
if (args.AttemptFrequency == AttemptFrequency.EveryTick && !TryAttemptEvent(doAfter))
return true;
+ // Check if the do-after requires hands to perform at first
+ // For example, you need hands to strip clothes off of someone
+ // This does not mean their hand needs to be empty.
if (args.NeedHand)
{
if (!handsQuery.TryGetComponent(args.User, out var hands) || hands.Count == 0)
return true;
- if (args.BreakOnHandChange && (hands.ActiveHand?.Name != doAfter.InitialHand
- || hands.ActiveHandEntity != doAfter.InitialItem))
- {
+ // If an item was in the user's hand to begin with,
+ // check if the user is no longer holding the item.
+ if (args.BreakOnDropItem && !_hands.IsHolding((args.User, hands), doAfter.InitialItem))
+ return true;
+
+ // If the user changes which hand is active at all, interrupt the do-after
+ if (args.BreakOnHandChange && hands.ActiveHand?.Name != doAfter.InitialHand)
return true;
- }
}
if (args.RequireCanInteract && !_actionBlocker.CanInteract(args.User, args.Target))
diff --git a/Content.Shared/DoAfter/SharedDoAfterSystem.cs b/Content.Shared/DoAfter/SharedDoAfterSystem.cs
index feda662a7a..86f29fd49c 100644
--- a/Content.Shared/DoAfter/SharedDoAfterSystem.cs
+++ b/Content.Shared/DoAfter/SharedDoAfterSystem.cs
@@ -227,7 +227,7 @@ public abstract partial class SharedDoAfterSystem : EntitySystem
// For this we need to stay on the same hand slot and need the same item in that hand slot
// (or if there is no item there we need to keep it free).
- if (args.NeedHand && args.BreakOnHandChange)
+ if (args.NeedHand && (args.BreakOnHandChange || args.BreakOnDropItem))
{
if (!TryComp(args.User, out HandsComponent? handsComponent))
return false;
diff --git a/Content.Shared/Inventory/InventorySystem.Equip.cs b/Content.Shared/Inventory/InventorySystem.Equip.cs
index 324d6a7af0..762561ed32 100644
--- a/Content.Shared/Inventory/InventorySystem.Equip.cs
+++ b/Content.Shared/Inventory/InventorySystem.Equip.cs
@@ -169,12 +169,8 @@ public abstract partial class InventorySystem
target,
itemUid)
{
- BlockDuplicate = true,
- BreakOnHandChange = true,
BreakOnMove = true,
- CancelDuplicate = true,
- RequireCanInteract = true,
- NeedHand = true
+ NeedHand = true,
};
_doAfter.TryStartDoAfter(args);
@@ -420,12 +416,8 @@ public abstract partial class InventorySystem
target,
removedItem.Value)
{
- BlockDuplicate = true,
- BreakOnHandChange = true,
BreakOnMove = true,
- CancelDuplicate = true,
- RequireCanInteract = true,
- NeedHand = true
+ NeedHand = true,
};
_doAfter.TryStartDoAfter(args);
diff --git a/Content.Shared/Lock/LockSystem.cs b/Content.Shared/Lock/LockSystem.cs
index 8dde767224..3349034f32 100644
--- a/Content.Shared/Lock/LockSystem.cs
+++ b/Content.Shared/Lock/LockSystem.cs
@@ -124,8 +124,10 @@ public sealed class LockSystem : EntitySystem
return _doAfter.TryStartDoAfter(
new DoAfterArgs(EntityManager, user, lockComp.LockTime, new LockDoAfter(), uid, uid)
{
- BreakOnDamage = true, BreakOnMove = true, RequireCanInteract = true,
- NeedHand = true
+ BreakOnDamage = true,
+ BreakOnMove = true,
+ NeedHand = true,
+ BreakOnDropItem = false,
});
}
@@ -200,8 +202,10 @@ public sealed class LockSystem : EntitySystem
return _doAfter.TryStartDoAfter(
new DoAfterArgs(EntityManager, user, lockComp.LockTime, new UnlockDoAfter(), uid, uid)
{
- BreakOnDamage = true, BreakOnMove = true, RequireCanInteract = true,
- NeedHand = true
+ BreakOnDamage = true,
+ BreakOnMove = true,
+ NeedHand = true,
+ BreakOnDropItem = false,
});
}
diff --git a/Content.Shared/Magic/SpellbookSystem.cs b/Content.Shared/Magic/SpellbookSystem.cs
index 84b2b23298..ce1628bacb 100644
--- a/Content.Shared/Magic/SpellbookSystem.cs
+++ b/Content.Shared/Magic/SpellbookSystem.cs
@@ -88,7 +88,7 @@ public sealed class SpellbookSystem : EntitySystem
{
BreakOnMove = true,
BreakOnDamage = true,
- NeedHand = true //What, are you going to read with your eyes only??
+ NeedHand = true, //What, are you going to read with your eyes only??
};
_doAfter.TryStartDoAfter(doAfterEventArgs);
diff --git a/Content.Shared/Salvage/Fulton/SharedFultonSystem.cs b/Content.Shared/Salvage/Fulton/SharedFultonSystem.cs
index f94558b0b3..b4b383d800 100644
--- a/Content.Shared/Salvage/Fulton/SharedFultonSystem.cs
+++ b/Content.Shared/Salvage/Fulton/SharedFultonSystem.cs
@@ -153,7 +153,6 @@ public abstract partial class SharedFultonSystem : EntitySystem
_doAfter.TryStartDoAfter(
new DoAfterArgs(EntityManager, args.User, component.ApplyFultonDuration, ev, args.Target, args.Target, args.Used)
{
- CancelDuplicate = true,
MovementThreshold = 0.5f,
BreakOnMove = true,
Broadcast = true,
diff --git a/Content.Shared/SprayPainter/SharedSprayPainterSystem.cs b/Content.Shared/SprayPainter/SharedSprayPainterSystem.cs
index b238c6fc72..0e216db146 100644
--- a/Content.Shared/SprayPainter/SharedSprayPainterSystem.cs
+++ b/Content.Shared/SprayPainter/SharedSprayPainterSystem.cs
@@ -133,7 +133,7 @@ public abstract class SharedSprayPainterSystem : EntitySystem
{
BreakOnMove = true,
BreakOnDamage = true,
- NeedHand = true
+ NeedHand = true,
};
if (!DoAfter.TryStartDoAfter(doAfterEventArgs, out var id))
return;
diff --git a/Content.Shared/Storage/EntitySystems/DumpableSystem.cs b/Content.Shared/Storage/EntitySystems/DumpableSystem.cs
index 91acde47e1..93c4b69e4d 100644
--- a/Content.Shared/Storage/EntitySystems/DumpableSystem.cs
+++ b/Content.Shared/Storage/EntitySystems/DumpableSystem.cs
@@ -133,7 +133,7 @@ public sealed class DumpableSystem : EntitySystem
_doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, userUid, delay, new DumpableDoAfterEvent(), storageUid, target: targetUid, used: storageUid)
{
BreakOnMove = true,
- NeedHand = true
+ NeedHand = true,
});
}
diff --git a/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs b/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs
index 868d26c3ae..8ee08f7e48 100644
--- a/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs
+++ b/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs
@@ -450,7 +450,7 @@ public abstract class SharedStorageSystem : EntitySystem
{
BreakOnDamage = true,
BreakOnMove = true,
- NeedHand = true
+ NeedHand = true,
};
_doAfterSystem.TryStartDoAfter(doAfterArgs);
diff --git a/Content.Shared/VendingMachines/SharedVendingMachineSystem.Restock.cs b/Content.Shared/VendingMachines/SharedVendingMachineSystem.Restock.cs
index 6aef4d0949..f8d00f56f0 100644
--- a/Content.Shared/VendingMachines/SharedVendingMachineSystem.Restock.cs
+++ b/Content.Shared/VendingMachines/SharedVendingMachineSystem.Restock.cs
@@ -72,7 +72,7 @@ public abstract partial class SharedVendingMachineSystem
{
BreakOnMove = true,
BreakOnDamage = true,
- NeedHand = true
+ NeedHand = true,
};
if (!_doAfter.TryStartDoAfter(doAfterArgs))
diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Ballistic.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Ballistic.cs
index 20feb2c952..4c5712c509 100644
--- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Ballistic.cs
+++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Ballistic.cs
@@ -81,7 +81,7 @@ public abstract partial class SharedGunSystem
{
BreakOnMove = true,
BreakOnDamage = false,
- NeedHand = true
+ NeedHand = true,
});
}