diff --git a/Content.Server/Access/Systems/AccessOverriderSystem.cs b/Content.Server/Access/Systems/AccessOverriderSystem.cs
index 10d7fd0f7a..684312c7c1 100644
--- a/Content.Server/Access/Systems/AccessOverriderSystem.cs
+++ b/Content.Server/Access/Systems/AccessOverriderSystem.cs
@@ -55,8 +55,7 @@ public sealed class AccessOverriderSystem : SharedAccessOverriderSystem
var doAfterEventArgs = new DoAfterArgs(EntityManager, args.User, component.DoAfter, new AccessOverriderDoAfterEvent(), uid, target: args.Target, used: uid)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
BreakOnDamage = true,
NeedHand = true,
};
diff --git a/Content.Server/Animals/Systems/UdderSystem.cs b/Content.Server/Animals/Systems/UdderSystem.cs
index ef43c2c89d..b7856e9042 100644
--- a/Content.Server/Animals/Systems/UdderSystem.cs
+++ b/Content.Server/Animals/Systems/UdderSystem.cs
@@ -15,7 +15,7 @@ using Robust.Shared.Timing;
namespace Content.Server.Animals.Systems;
///
-/// Gives ability to produce milkable reagents, produces endless if the
+/// Gives ability to produce milkable reagents, produces endless if the
/// owner has no HungerComponent
///
internal sealed class UdderSystem : EntitySystem
@@ -76,9 +76,8 @@ internal sealed class UdderSystem : EntitySystem
var doargs = new DoAfterArgs(EntityManager, userUid, 5, new MilkingDoAfterEvent(), udder, udder, used: containerUid)
{
- BreakOnUserMove = true,
+ BreakOnMove = true,
BreakOnDamage = true,
- BreakOnTargetMove = true,
MovementThreshold = 1.0f,
};
diff --git a/Content.Server/Body/Systems/InternalsSystem.cs b/Content.Server/Body/Systems/InternalsSystem.cs
index 007cbdf084..004dae99b9 100644
--- a/Content.Server/Body/Systems/InternalsSystem.cs
+++ b/Content.Server/Body/Systems/InternalsSystem.cs
@@ -109,9 +109,8 @@ public sealed class InternalsSystem : EntitySystem
_doAfter.TryStartDoAfter(new DoAfterArgs(EntityManager, user, delay, new InternalsDoAfterEvent(), target, target: target)
{
- BreakOnUserMove = true,
BreakOnDamage = true,
- BreakOnTargetMove = true,
+ BreakOnMove = true,
MovementThreshold = 0.1f,
});
}
diff --git a/Content.Server/Botany/Systems/BotanySwabSystem.cs b/Content.Server/Botany/Systems/BotanySwabSystem.cs
index 8f300c9448..f6190bae4e 100644
--- a/Content.Server/Botany/Systems/BotanySwabSystem.cs
+++ b/Content.Server/Botany/Systems/BotanySwabSystem.cs
@@ -47,8 +47,7 @@ public sealed class BotanySwabSystem : EntitySystem
_doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, args.User, swab.SwabDelay, new BotanySwabDoAfterEvent(), uid, target: args.Target, used: uid)
{
Broadcast = true,
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
NeedHand = true
});
}
diff --git a/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs b/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs
index e718e14683..85d4ade3a4 100644
--- a/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs
+++ b/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs
@@ -205,9 +205,9 @@ public sealed class InjectorSystem : SharedInjectorSystem
DoAfter.TryStartDoAfter(new DoAfterArgs(EntityManager, user, actualDelay, new InjectorDoAfterEvent(), injector.Owner, target: target, used: injector.Owner)
{
- BreakOnUserMove = true,
+ BreakOnMove = true,
+ BreakOnWeightlessMove = false,
BreakOnDamage = true,
- BreakOnTargetMove = true,
NeedHand = true,
BreakOnHandChange = true,
MovementThreshold = 0.1f,
diff --git a/Content.Server/Communications/CommsHackerSystem.cs b/Content.Server/Communications/CommsHackerSystem.cs
index 1248d21400..44b3aa28bd 100644
--- a/Content.Server/Communications/CommsHackerSystem.cs
+++ b/Content.Server/Communications/CommsHackerSystem.cs
@@ -45,7 +45,7 @@ public sealed class CommsHackerSystem : SharedCommsHackerSystem
var doAfterArgs = new DoAfterArgs(EntityManager, uid, comp.Delay, new TerrorDoAfterEvent(), target: target, used: uid, eventTarget: uid)
{
BreakOnDamage = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
MovementThreshold = 0.5f,
CancelDuplicate = false
};
diff --git a/Content.Server/Construction/ConstructionSystem.Initial.cs b/Content.Server/Construction/ConstructionSystem.Initial.cs
index e0bdf09629..2980366500 100644
--- a/Content.Server/Construction/ConstructionSystem.Initial.cs
+++ b/Content.Server/Construction/ConstructionSystem.Initial.cs
@@ -250,8 +250,7 @@ namespace Content.Server.Construction
var doAfterArgs = new DoAfterArgs(EntityManager, user, doAfterTime, new AwaitedDoAfterEvent(), null)
{
BreakOnDamage = true,
- BreakOnTargetMove = false,
- BreakOnUserMove = true,
+ BreakOnMove = true,
NeedHand = false,
// allow simultaneously starting several construction jobs using the same stack of materials.
CancelDuplicate = false,
diff --git a/Content.Server/Construction/ConstructionSystem.Interactions.cs b/Content.Server/Construction/ConstructionSystem.Interactions.cs
index 946aaa0d3e..59a5fd6af5 100644
--- a/Content.Server/Construction/ConstructionSystem.Interactions.cs
+++ b/Content.Server/Construction/ConstructionSystem.Interactions.cs
@@ -288,8 +288,7 @@ namespace Content.Server.Construction
var doAfterEventArgs = new DoAfterArgs(EntityManager, interactUsing.User, step.DoAfter, doAfterEv, uid, uid, interactUsing.Used)
{
BreakOnDamage = false,
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
NeedHand = true
};
diff --git a/Content.Server/Construction/PartExchangerSystem.cs b/Content.Server/Construction/PartExchangerSystem.cs
index ee5edcbd0a..174dd1d2fa 100644
--- a/Content.Server/Construction/PartExchangerSystem.cs
+++ b/Content.Server/Construction/PartExchangerSystem.cs
@@ -174,7 +174,7 @@ public sealed class PartExchangerSystem : EntitySystem
_doAfter.TryStartDoAfter(new DoAfterArgs(EntityManager, args.User, component.ExchangeDuration, new ExchangerDoAfterEvent(), uid, target: args.Target, used: uid)
{
BreakOnDamage = true,
- BreakOnUserMove = true
+ BreakOnMove = true
});
}
}
diff --git a/Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs b/Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs
index 6938792315..df375de695 100644
--- a/Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs
+++ b/Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs
@@ -512,8 +512,7 @@ public sealed class DisposalUnitSystem : SharedDisposalUnitSystem
var doAfterArgs = new DoAfterArgs(EntityManager, userId.Value, delay, new DisposalDoAfterEvent(), unitId, target: toInsertId, used: unitId)
{
BreakOnDamage = true,
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
NeedHand = false
};
diff --git a/Content.Server/Engineering/EntitySystems/DisassembleOnAltVerbSystem.cs b/Content.Server/Engineering/EntitySystems/DisassembleOnAltVerbSystem.cs
index 08bf68c4d2..61b6f3d93d 100644
--- a/Content.Server/Engineering/EntitySystems/DisassembleOnAltVerbSystem.cs
+++ b/Content.Server/Engineering/EntitySystems/DisassembleOnAltVerbSystem.cs
@@ -45,7 +45,7 @@ namespace Content.Server.Engineering.EntitySystems
{
var doAfterArgs = new DoAfterArgs(EntityManager, user, component.DoAfterTime, new AwaitedDoAfterEvent(), null)
{
- BreakOnUserMove = true,
+ BreakOnMove = true,
};
var result = await doAfterSystem.WaitDoAfter(doAfterArgs);
diff --git a/Content.Server/Engineering/EntitySystems/SpawnAfterInteractSystem.cs b/Content.Server/Engineering/EntitySystems/SpawnAfterInteractSystem.cs
index 61c4937a27..57999ae48c 100644
--- a/Content.Server/Engineering/EntitySystems/SpawnAfterInteractSystem.cs
+++ b/Content.Server/Engineering/EntitySystems/SpawnAfterInteractSystem.cs
@@ -47,7 +47,7 @@ namespace Content.Server.Engineering.EntitySystems
{
var doAfterArgs = new DoAfterArgs(EntityManager, args.User, component.DoAfterTime, new AwaitedDoAfterEvent(), null)
{
- BreakOnUserMove = true,
+ BreakOnMove = true,
};
var result = await _doAfterSystem.WaitDoAfter(doAfterArgs);
diff --git a/Content.Server/Ensnaring/EnsnareableSystem.Ensnaring.cs b/Content.Server/Ensnaring/EnsnareableSystem.Ensnaring.cs
index 169daca07a..12c701866c 100644
--- a/Content.Server/Ensnaring/EnsnareableSystem.Ensnaring.cs
+++ b/Content.Server/Ensnaring/EnsnareableSystem.Ensnaring.cs
@@ -118,8 +118,7 @@ public sealed partial class EnsnareableSystem
var doAfterEventArgs = new DoAfterArgs(EntityManager, user, freeTime, new EnsnareableDoAfterEvent(), target, target: target, used: ensnare)
{
- BreakOnUserMove = breakOnMove,
- BreakOnTargetMove = breakOnMove,
+ BreakOnMove = breakOnMove,
BreakOnDamage = false,
NeedHand = true,
BlockDuplicate = true,
diff --git a/Content.Server/Fluids/EntitySystems/DrainSystem.cs b/Content.Server/Fluids/EntitySystems/DrainSystem.cs
index 19cb650db7..b8fa04b872 100644
--- a/Content.Server/Fluids/EntitySystems/DrainSystem.cs
+++ b/Content.Server/Fluids/EntitySystems/DrainSystem.cs
@@ -239,9 +239,8 @@ public sealed class DrainSystem : SharedDrainSystem
var doAfterArgs = new DoAfterArgs(EntityManager, args.User, entity.Comp.UnclogDuration, new DrainDoAfterEvent(), entity, args.Target, args.Used)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
BreakOnDamage = true,
+ BreakOnMove = true,
BreakOnHandChange = true
};
diff --git a/Content.Server/Fluids/EntitySystems/PuddleSystem.Spillable.cs b/Content.Server/Fluids/EntitySystems/PuddleSystem.Spillable.cs
index 3cd6d06aeb..efaca271d3 100644
--- a/Content.Server/Fluids/EntitySystems/PuddleSystem.Spillable.cs
+++ b/Content.Server/Fluids/EntitySystems/PuddleSystem.Spillable.cs
@@ -203,9 +203,8 @@ public sealed partial class PuddleSystem
{
_doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, user, entity.Comp.SpillDelay ?? 0, new SpillDoAfterEvent(), entity.Owner, target: entity.Owner)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
BreakOnDamage = true,
+ BreakOnMove = true,
NeedHand = true,
});
};
diff --git a/Content.Server/Forensics/Systems/ForensicPadSystem.cs b/Content.Server/Forensics/Systems/ForensicPadSystem.cs
index ad39817f8b..42512cb1fd 100644
--- a/Content.Server/Forensics/Systems/ForensicPadSystem.cs
+++ b/Content.Server/Forensics/Systems/ForensicPadSystem.cs
@@ -83,9 +83,8 @@ namespace Content.Server.Forensics
var doAfterEventArgs = new DoAfterArgs(EntityManager, user, pad.ScanDelay, ev, used, target: target, used: used)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
- NeedHand = true
+ NeedHand = true,
+ BreakOnMove = true,
};
_doAfterSystem.TryStartDoAfter(doAfterEventArgs);
diff --git a/Content.Server/Forensics/Systems/ForensicScannerSystem.cs b/Content.Server/Forensics/Systems/ForensicScannerSystem.cs
index 0d3168fd4e..729b7304fa 100644
--- a/Content.Server/Forensics/Systems/ForensicScannerSystem.cs
+++ b/Content.Server/Forensics/Systems/ForensicScannerSystem.cs
@@ -95,8 +95,7 @@ namespace Content.Server.Forensics
{
_doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, user, component.ScanDelay, new ForensicScannerDoAfterEvent(), uid, target: target, used: uid)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
NeedHand = true
});
}
diff --git a/Content.Server/Forensics/Systems/ForensicsSystem.cs b/Content.Server/Forensics/Systems/ForensicsSystem.cs
index a081429fd3..a9ef23a2f5 100644
--- a/Content.Server/Forensics/Systems/ForensicsSystem.cs
+++ b/Content.Server/Forensics/Systems/ForensicsSystem.cs
@@ -116,7 +116,7 @@ namespace Content.Server.Forensics
BreakOnHandChange = true,
NeedHand = true,
BreakOnDamage = true,
- BreakOnTargetMove = true,
+ BreakOnMove = true,
MovementThreshold = 0.01f,
DistanceThreshold = forensicsComp.CleanDistance,
};
diff --git a/Content.Server/Guardian/GuardianSystem.cs b/Content.Server/Guardian/GuardianSystem.cs
index 627c336a36..808de9f667 100644
--- a/Content.Server/Guardian/GuardianSystem.cs
+++ b/Content.Server/Guardian/GuardianSystem.cs
@@ -193,11 +193,7 @@ namespace Content.Server.Guardian
return;
}
- _doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, user, component.InjectionDelay, new GuardianCreatorDoAfterEvent(), injector, target: target, used: injector)
- {
- BreakOnTargetMove = true,
- BreakOnUserMove = true
- });
+ _doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, user, component.InjectionDelay, new GuardianCreatorDoAfterEvent(), injector, target: target, used: injector){BreakOnMove = true});
}
private void OnDoAfter(EntityUid uid, GuardianCreatorComponent component, DoAfterEvent args)
diff --git a/Content.Server/Implants/ImplanterSystem.cs b/Content.Server/Implants/ImplanterSystem.cs
index 0d46241f41..56d0bd3bbd 100644
--- a/Content.Server/Implants/ImplanterSystem.cs
+++ b/Content.Server/Implants/ImplanterSystem.cs
@@ -78,9 +78,8 @@ public sealed partial class ImplanterSystem : SharedImplanterSystem
{
var args = new DoAfterArgs(EntityManager, user, component.ImplantTime, new ImplantEvent(), implanter, target: target, used: implanter)
{
- BreakOnUserMove = true,
- BreakOnTargetMove = true,
BreakOnDamage = true,
+ BreakOnMove = true,
NeedHand = true,
};
@@ -105,9 +104,8 @@ public sealed partial class ImplanterSystem : SharedImplanterSystem
{
var args = new DoAfterArgs(EntityManager, user, component.DrawTime, new DrawEvent(), implanter, target: target, used: implanter)
{
- BreakOnUserMove = true,
- BreakOnTargetMove = true,
BreakOnDamage = true,
+ BreakOnMove = true,
NeedHand = true,
};
diff --git a/Content.Server/Kitchen/EntitySystems/KitchenSpikeSystem.cs b/Content.Server/Kitchen/EntitySystems/KitchenSpikeSystem.cs
index 0419e13d23..b145bec014 100644
--- a/Content.Server/Kitchen/EntitySystems/KitchenSpikeSystem.cs
+++ b/Content.Server/Kitchen/EntitySystems/KitchenSpikeSystem.cs
@@ -257,9 +257,8 @@ namespace Content.Server.Kitchen.EntitySystems
var doAfterArgs = new DoAfterArgs(EntityManager, userUid, component.SpikeDelay + butcherable.ButcherDelay, new SpikeDoAfterEvent(), uid, target: victimUid, used: uid)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
BreakOnDamage = true,
+ BreakOnMove = true,
NeedHand = true
};
diff --git a/Content.Server/Kitchen/EntitySystems/SharpSystem.cs b/Content.Server/Kitchen/EntitySystems/SharpSystem.cs
index 2c5f88baec..2caab4063c 100644
--- a/Content.Server/Kitchen/EntitySystems/SharpSystem.cs
+++ b/Content.Server/Kitchen/EntitySystems/SharpSystem.cs
@@ -75,9 +75,8 @@ public sealed class SharpSystem : EntitySystem
var doAfter =
new DoAfterArgs(EntityManager, user, sharp.ButcherDelayModifier * butcher.ButcherDelay, new SharpDoAfterEvent(), knife, target: target, used: knife)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
BreakOnDamage = true,
+ BreakOnMove = true,
NeedHand = true
};
_doAfterSystem.TryStartDoAfter(doAfter);
diff --git a/Content.Server/Light/EntitySystems/PoweredLightSystem.cs b/Content.Server/Light/EntitySystems/PoweredLightSystem.cs
index e880cec5bb..8aa432c21e 100644
--- a/Content.Server/Light/EntitySystems/PoweredLightSystem.cs
+++ b/Content.Server/Light/EntitySystems/PoweredLightSystem.cs
@@ -150,7 +150,7 @@ namespace Content.Server.Light.EntitySystems
// removing a working bulb, so require a delay
_doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, userUid, light.EjectBulbDelay, new PoweredLightDoAfterEvent(), uid, target: uid)
{
- BreakOnUserMove = true,
+ BreakOnMove = true,
BreakOnDamage = true,
});
diff --git a/Content.Server/Magic/MagicSystem.cs b/Content.Server/Magic/MagicSystem.cs
index 2c9b11dbd3..371814cacb 100644
--- a/Content.Server/Magic/MagicSystem.cs
+++ b/Content.Server/Magic/MagicSystem.cs
@@ -118,9 +118,8 @@ public sealed class MagicSystem : EntitySystem
{
var doAfterEventArgs = new DoAfterArgs(EntityManager, args.User, component.LearnTime, new SpellbookDoAfterEvent(), uid, target: uid)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
BreakOnDamage = true,
+ BreakOnMove = true,
NeedHand = true //What, are you going to read with your eyes only??
};
diff --git a/Content.Server/MagicMirror/MagicMirrorSystem.cs b/Content.Server/MagicMirror/MagicMirrorSystem.cs
index aef6e11d71..9ffd9a07a9 100644
--- a/Content.Server/MagicMirror/MagicMirrorSystem.cs
+++ b/Content.Server/MagicMirror/MagicMirrorSystem.cs
@@ -95,11 +95,9 @@ public sealed class MagicMirrorSystem : EntitySystem
_doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, user, component.SelectSlotTime, doAfter, uid, target: target, used: uid)
{
DistanceThreshold = SharedInteractionSystem.InteractionRange,
- BreakOnTargetMove = true,
BreakOnDamage = true,
+ BreakOnMove = true,
BreakOnHandChange = false,
- BreakOnUserMove = true,
- BreakOnWeightlessMove = false,
NeedHand = true
}, out var doAfterId);
@@ -151,11 +149,9 @@ public sealed class MagicMirrorSystem : EntitySystem
_doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, user, component.ChangeSlotTime, doAfter, uid, target: target, used: uid)
{
- BreakOnTargetMove = true,
BreakOnDamage = true,
+ BreakOnMove = true,
BreakOnHandChange = false,
- BreakOnUserMove = true,
- BreakOnWeightlessMove = false,
NeedHand = true
}, out var doAfterId);
@@ -206,11 +202,8 @@ public sealed class MagicMirrorSystem : EntitySystem
_doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, user, component.RemoveSlotTime, doAfter, uid, target: target, used: uid)
{
DistanceThreshold = SharedInteractionSystem.InteractionRange,
- BreakOnTargetMove = true,
BreakOnDamage = true,
BreakOnHandChange = false,
- BreakOnUserMove = true,
- BreakOnWeightlessMove = false,
NeedHand = true
}, out var doAfterId);
@@ -263,11 +256,9 @@ public sealed class MagicMirrorSystem : EntitySystem
_doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, message.Session.AttachedEntity.Value, component.AddSlotTime, doAfter, uid, target: component.Target.Value, used: uid)
{
- BreakOnTargetMove = true,
BreakOnDamage = true,
+ BreakOnMove = true,
BreakOnHandChange = false,
- BreakOnUserMove = true,
- BreakOnWeightlessMove = false,
NeedHand = true
}, out var doAfterId);
diff --git a/Content.Server/Mech/Equipment/EntitySystems/MechGrabberSystem.cs b/Content.Server/Mech/Equipment/EntitySystems/MechGrabberSystem.cs
index fa46792d2a..4b2ba8ffbd 100644
--- a/Content.Server/Mech/Equipment/EntitySystems/MechGrabberSystem.cs
+++ b/Content.Server/Mech/Equipment/EntitySystems/MechGrabberSystem.cs
@@ -157,8 +157,7 @@ public sealed class MechGrabberSystem : EntitySystem
component.AudioStream = _audio.PlayPvs(component.GrabSound, uid).Value.Entity;
var doAfterArgs = new DoAfterArgs(EntityManager, args.User, component.GrabDelay, new GrabberDoAfterEvent(), uid, target: target, used: uid)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true
+ BreakOnMove = true
};
_doAfter.TryStartDoAfter(doAfterArgs, out component.DoAfter);
diff --git a/Content.Server/Mech/Systems/MechEquipmentSystem.cs b/Content.Server/Mech/Systems/MechEquipmentSystem.cs
index 5191f53004..f51c0444e6 100644
--- a/Content.Server/Mech/Systems/MechEquipmentSystem.cs
+++ b/Content.Server/Mech/Systems/MechEquipmentSystem.cs
@@ -47,8 +47,7 @@ public sealed class MechEquipmentSystem : EntitySystem
var doAfterEventArgs = new DoAfterArgs(EntityManager, args.User, component.InstallDuration, new InsertEquipmentEvent(), uid, target: mech, used: uid)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true
+ BreakOnMove = true,
};
_doAfter.TryStartDoAfter(doAfterEventArgs);
diff --git a/Content.Server/Mech/Systems/MechSystem.cs b/Content.Server/Mech/Systems/MechSystem.cs
index 1012b9727d..206eb894d7 100644
--- a/Content.Server/Mech/Systems/MechSystem.cs
+++ b/Content.Server/Mech/Systems/MechSystem.cs
@@ -92,10 +92,10 @@ public sealed partial class MechSystem : SharedMechSystem
if (TryComp(args.Used, out var tool) && tool.Qualities.Contains("Prying") && component.BatterySlot.ContainedEntity != null)
{
- var doAfterEventArgs = new DoAfterArgs(EntityManager, args.User, component.BatteryRemovalDelay, new RemoveBatteryEvent(), uid, target: uid, used: args.Target)
+ var doAfterEventArgs = new DoAfterArgs(EntityManager, args.User, component.BatteryRemovalDelay,
+ new RemoveBatteryEvent(), uid, target: uid, used: args.Target)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true
};
_doAfter.TryStartDoAfter(doAfterEventArgs);
@@ -182,7 +182,7 @@ public sealed partial class MechSystem : SharedMechSystem
{
var doAfterEventArgs = new DoAfterArgs(EntityManager, args.User, component.EntryDelay, new MechEntryEvent(), uid, target: uid)
{
- BreakOnUserMove = true,
+ BreakOnMove = true,
};
_doAfter.TryStartDoAfter(doAfterEventArgs);
@@ -210,11 +210,8 @@ public sealed partial class MechSystem : SharedMechSystem
return;
}
- var doAfterEventArgs = new DoAfterArgs(EntityManager, args.User, component.ExitDelay, new MechExitEvent(), uid, target: uid)
- {
- BreakOnUserMove = true,
- BreakOnTargetMove = true,
- };
+ var doAfterEventArgs = new DoAfterArgs(EntityManager, args.User, component.ExitDelay,
+ new MechExitEvent(), uid, target: uid);
_doAfter.TryStartDoAfter(doAfterEventArgs);
}
diff --git a/Content.Server/Medical/BiomassReclaimer/BiomassReclaimerSystem.cs b/Content.Server/Medical/BiomassReclaimer/BiomassReclaimerSystem.cs
index d07858aec5..f8d5139a46 100644
--- a/Content.Server/Medical/BiomassReclaimer/BiomassReclaimerSystem.cs
+++ b/Content.Server/Medical/BiomassReclaimer/BiomassReclaimerSystem.cs
@@ -165,9 +165,8 @@ namespace Content.Server.Medical.BiomassReclaimer
var delay = reclaimer.Comp.BaseInsertionDelay * physics.FixturesMass;
_doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, args.User, delay, new ReclaimerDoAfterEvent(), reclaimer, target: args.Target, used: args.Used)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
- NeedHand = true
+ NeedHand = true,
+ BreakOnMove = true
});
}
diff --git a/Content.Server/Medical/CryoPodSystem.cs b/Content.Server/Medical/CryoPodSystem.cs
index 4ab94c72b9..a7d12d9f0f 100644
--- a/Content.Server/Medical/CryoPodSystem.cs
+++ b/Content.Server/Medical/CryoPodSystem.cs
@@ -142,8 +142,7 @@ public sealed partial class CryoPodSystem : SharedCryoPodSystem
var doAfterArgs = new DoAfterArgs(EntityManager, args.User, entity.Comp.EntryDelay, new CryoPodDragFinished(), entity, target: args.Dragged, used: entity)
{
BreakOnDamage = true,
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
NeedHand = false,
};
_doAfterSystem.TryStartDoAfter(doAfterArgs);
diff --git a/Content.Server/Medical/DefibrillatorSystem.cs b/Content.Server/Medical/DefibrillatorSystem.cs
index 467085f49e..64861fdc51 100644
--- a/Content.Server/Medical/DefibrillatorSystem.cs
+++ b/Content.Server/Medical/DefibrillatorSystem.cs
@@ -178,8 +178,6 @@ public sealed class DefibrillatorSystem : EntitySystem
uid, target, uid)
{
BlockDuplicate = true,
- BreakOnUserMove = true,
- BreakOnTargetMove = true,
BreakOnHandChange = true,
NeedHand = true
});
diff --git a/Content.Server/Medical/HealingSystem.cs b/Content.Server/Medical/HealingSystem.cs
index 1b90d195c4..fb6883dfd1 100644
--- a/Content.Server/Medical/HealingSystem.cs
+++ b/Content.Server/Medical/HealingSystem.cs
@@ -196,12 +196,11 @@ public sealed class HealingSystem : EntitySystem
var doAfterEventArgs =
new DoAfterArgs(EntityManager, user, delay, new HealingDoAfterEvent(), target, target: target, used: uid)
{
- //Raise the event on the target if it's not self, otherwise raise it on self.
- BreakOnUserMove = true,
- BreakOnTargetMove = true,
// Didn't break on damage as they may be trying to prevent it and
// not being able to heal your own ticking damage would be frustrating.
NeedHand = true,
+ BreakOnMove = true,
+ BreakOnWeightlessMove = false,
};
_doAfter.TryStartDoAfter(doAfterEventArgs);
diff --git a/Content.Server/Medical/HealthAnalyzerSystem.cs b/Content.Server/Medical/HealthAnalyzerSystem.cs
index 0e893c4114..01d0d5c791 100644
--- a/Content.Server/Medical/HealthAnalyzerSystem.cs
+++ b/Content.Server/Medical/HealthAnalyzerSystem.cs
@@ -76,9 +76,8 @@ public sealed class HealthAnalyzerSystem : EntitySystem
_doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, args.User, uid.Comp.ScanDelay, new HealthAnalyzerDoAfterEvent(), uid, target: args.Target, used: uid)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
- NeedHand = true
+ NeedHand = true,
+ BreakOnMove = true
});
}
diff --git a/Content.Server/Medical/Stethoscope/StethoscopeSystem.cs b/Content.Server/Medical/Stethoscope/StethoscopeSystem.cs
index 9521c14f2e..f1864bb3a1 100644
--- a/Content.Server/Medical/Stethoscope/StethoscopeSystem.cs
+++ b/Content.Server/Medical/Stethoscope/StethoscopeSystem.cs
@@ -107,9 +107,8 @@ namespace Content.Server.Medical.Stethoscope
{
_doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, user, comp.Delay, new StethoscopeDoAfterEvent(), scope, target: target, used: scope)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
- NeedHand = true
+ NeedHand = true,
+ BreakOnMove = true,
});
}
diff --git a/Content.Server/Ninja/Systems/BatteryDrainerSystem.cs b/Content.Server/Ninja/Systems/BatteryDrainerSystem.cs
index 552ee0397f..59dec556fa 100644
--- a/Content.Server/Ninja/Systems/BatteryDrainerSystem.cs
+++ b/Content.Server/Ninja/Systems/BatteryDrainerSystem.cs
@@ -50,9 +50,8 @@ public sealed class BatteryDrainerSystem : SharedBatteryDrainerSystem
var doAfterArgs = new DoAfterArgs(EntityManager, uid, comp.DrainTime, new DrainDoAfterEvent(), target: target, eventTarget: uid)
{
- BreakOnUserMove = true,
- BreakOnWeightlessMove = true, // prevent a ninja on a pod remotely draining it
MovementThreshold = 0.5f,
+ BreakOnMove = true,
CancelDuplicate = false,
AttemptFrequency = AttemptFrequency.StartAndEnd
};
diff --git a/Content.Server/Nuke/NukeSystem.cs b/Content.Server/Nuke/NukeSystem.cs
index d6767cd2de..60163015cc 100644
--- a/Content.Server/Nuke/NukeSystem.cs
+++ b/Content.Server/Nuke/NukeSystem.cs
@@ -591,8 +591,7 @@ public sealed class NukeSystem : EntitySystem
var doAfter = new DoAfterArgs(EntityManager, user, nuke.DisarmDoafterLength, new NukeDisarmDoAfterEvent(), uid, target: uid)
{
BreakOnDamage = true,
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
NeedHand = true
};
diff --git a/Content.Server/Nutrition/EntitySystems/DrinkSystem.cs b/Content.Server/Nutrition/EntitySystems/DrinkSystem.cs
index 6327cf6ae2..5fb090087a 100644
--- a/Content.Server/Nutrition/EntitySystems/DrinkSystem.cs
+++ b/Content.Server/Nutrition/EntitySystems/DrinkSystem.cs
@@ -283,9 +283,8 @@ public sealed class DrinkSystem : EntitySystem
target: target,
used: item)
{
- BreakOnUserMove = forceDrink,
+ BreakOnMove = forceDrink,
BreakOnDamage = true,
- BreakOnTargetMove = forceDrink,
MovementThreshold = 0.01f,
DistanceThreshold = 1.0f,
// Mice and the like can eat without hands.
diff --git a/Content.Server/Nutrition/EntitySystems/FoodSystem.cs b/Content.Server/Nutrition/EntitySystems/FoodSystem.cs
index 2b62715133..d87b0bd0b0 100644
--- a/Content.Server/Nutrition/EntitySystems/FoodSystem.cs
+++ b/Content.Server/Nutrition/EntitySystems/FoodSystem.cs
@@ -180,9 +180,8 @@ public sealed class FoodSystem : EntitySystem
target: target,
used: food)
{
- BreakOnUserMove = forceFeed,
+ BreakOnMove = forceFeed,
BreakOnDamage = true,
- BreakOnTargetMove = forceFeed,
MovementThreshold = 0.01f,
DistanceThreshold = MaxFeedDistance,
// Mice and the like can eat without hands.
diff --git a/Content.Server/Nutrition/EntitySystems/SmokingSystem.Vape.cs b/Content.Server/Nutrition/EntitySystems/SmokingSystem.Vape.cs
index fe0d1d0c16..fb56dffac9 100644
--- a/Content.Server/Nutrition/EntitySystems/SmokingSystem.Vape.cs
+++ b/Content.Server/Nutrition/EntitySystems/SmokingSystem.Vape.cs
@@ -113,8 +113,7 @@ namespace Content.Server.Nutrition.EntitySystems
var vapeDoAfterEvent = new VapeDoAfterEvent(solution, forced);
_doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, args.User, delay, vapeDoAfterEvent, entity.Owner, target: args.Target, used: entity.Owner)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = false,
+ BreakOnMove = false,
BreakOnDamage = true
});
}
diff --git a/Content.Server/Power/Generator/PortableGeneratorSystem.cs b/Content.Server/Power/Generator/PortableGeneratorSystem.cs
index e8e9c5b45e..3cd18d7d56 100644
--- a/Content.Server/Power/Generator/PortableGeneratorSystem.cs
+++ b/Content.Server/Power/Generator/PortableGeneratorSystem.cs
@@ -84,7 +84,7 @@ public sealed class PortableGeneratorSystem : SharedPortableGeneratorSystem
_doAfter.TryStartDoAfter(new DoAfterArgs(EntityManager, user, component.StartTime, new GeneratorStartedEvent(), uid, uid)
{
- BreakOnDamage = true, BreakOnTargetMove = true, BreakOnUserMove = true, RequireCanInteract = true,
+ BreakOnDamage = true, BreakOnMove = true, RequireCanInteract = true,
NeedHand = true
});
}
diff --git a/Content.Server/Resist/EscapeInventorySystem.cs b/Content.Server/Resist/EscapeInventorySystem.cs
index 8cb6d218e2..6bce38fbac 100644
--- a/Content.Server/Resist/EscapeInventorySystem.cs
+++ b/Content.Server/Resist/EscapeInventorySystem.cs
@@ -63,8 +63,7 @@ public sealed class EscapeInventorySystem : EntitySystem
var doAfterEventArgs = new DoAfterArgs(EntityManager, user, component.BaseResistTime * multiplier, new EscapeInventoryEvent(), user, target: container)
{
- BreakOnTargetMove = false,
- BreakOnUserMove = true,
+ BreakOnMove = true,
BreakOnDamage = true,
NeedHand = false
};
diff --git a/Content.Server/Resist/ResistLockerSystem.cs b/Content.Server/Resist/ResistLockerSystem.cs
index 7a17a2eba1..2ab277d0f1 100644
--- a/Content.Server/Resist/ResistLockerSystem.cs
+++ b/Content.Server/Resist/ResistLockerSystem.cs
@@ -47,8 +47,7 @@ public sealed class ResistLockerSystem : EntitySystem
var doAfterEventArgs = new DoAfterArgs(EntityManager, user, resistLockerComponent.ResistTime, new ResistLockerDoAfterEvent(), target, target: target)
{
- BreakOnTargetMove = false,
- BreakOnUserMove = true,
+ BreakOnMove = true,
BreakOnDamage = true,
NeedHand = false //No hands 'cause we be kickin'
};
diff --git a/Content.Server/Revenant/EntitySystems/RevenantSystem.Abilities.cs b/Content.Server/Revenant/EntitySystems/RevenantSystem.Abilities.cs
index eb6eb5a426..0ac6ccd613 100644
--- a/Content.Server/Revenant/EntitySystems/RevenantSystem.Abilities.cs
+++ b/Content.Server/Revenant/EntitySystems/RevenantSystem.Abilities.cs
@@ -85,7 +85,7 @@ public sealed partial class RevenantSystem
{
var searchDoAfter = new DoAfterArgs(EntityManager, uid, revenant.SoulSearchDuration, new SoulEvent(), uid, target: target)
{
- BreakOnUserMove = true,
+ BreakOnMove = true,
BreakOnDamage = true,
DistanceThreshold = 2
};
@@ -140,7 +140,7 @@ public sealed partial class RevenantSystem
var doAfter = new DoAfterArgs(EntityManager, uid, revenant.HarvestDebuffs.X, new HarvestEvent(), uid, target: target)
{
DistanceThreshold = 2,
- BreakOnUserMove = true,
+ BreakOnMove = true,
BreakOnDamage = true,
RequireCanInteract = false, // stuns itself
};
diff --git a/Content.Server/SprayPainter/SprayPainterSystem.cs b/Content.Server/SprayPainter/SprayPainterSystem.cs
index e49c49c1da..a8024e2d77 100644
--- a/Content.Server/SprayPainter/SprayPainterSystem.cs
+++ b/Content.Server/SprayPainter/SprayPainterSystem.cs
@@ -55,8 +55,7 @@ public sealed class SprayPainterSystem : SharedSprayPainterSystem
var doAfterEventArgs = new DoAfterArgs(EntityManager, args.User, painter.PipeSprayTime, new SprayPainterPipeDoAfterEvent(color), args.Used, target: ent, used: args.Used)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
BreakOnDamage = true,
CancelDuplicate = true,
// multiple pipes can be sprayed at once just not the same one
diff --git a/Content.Server/Sticky/Systems/StickySystem.cs b/Content.Server/Sticky/Systems/StickySystem.cs
index 2d1104e2ce..effe1b72f7 100644
--- a/Content.Server/Sticky/Systems/StickySystem.cs
+++ b/Content.Server/Sticky/Systems/StickySystem.cs
@@ -93,8 +93,7 @@ public sealed class StickySystem : EntitySystem
// start sticking object to target
_doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, user, delay, new StickyDoAfterEvent(), uid, target: target, used: uid)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
NeedHand = true
});
}
@@ -148,8 +147,7 @@ public sealed class StickySystem : EntitySystem
// start unsticking object
_doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, user, delay, new StickyDoAfterEvent(), uid, target: uid)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
NeedHand = true
});
}
diff --git a/Content.Server/Strip/StrippableSystem.cs b/Content.Server/Strip/StrippableSystem.cs
index 3b38b65a19..d28744fe4a 100644
--- a/Content.Server/Strip/StrippableSystem.cs
+++ b/Content.Server/Strip/StrippableSystem.cs
@@ -262,8 +262,7 @@ namespace Content.Server.Strip
Hidden = stealth,
AttemptFrequency = AttemptFrequency.EveryTick,
BreakOnDamage = true,
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
NeedHand = true,
DuplicateCondition = DuplicateConditions.SameTool
};
@@ -356,8 +355,7 @@ namespace Content.Server.Strip
Hidden = stealth,
AttemptFrequency = AttemptFrequency.EveryTick,
BreakOnDamage = true,
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
NeedHand = true,
BreakOnHandChange = false, // Allow simultaneously removing multiple items.
DuplicateCondition = DuplicateConditions.SameTool
@@ -454,8 +452,7 @@ namespace Content.Server.Strip
Hidden = stealth,
AttemptFrequency = AttemptFrequency.EveryTick,
BreakOnDamage = true,
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
NeedHand = true,
DuplicateCondition = DuplicateConditions.SameTool
};
@@ -554,8 +551,7 @@ namespace Content.Server.Strip
Hidden = stealth,
AttemptFrequency = AttemptFrequency.EveryTick,
BreakOnDamage = true,
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
NeedHand = true,
BreakOnHandChange = false, // Allow simultaneously removing multiple items.
DuplicateCondition = DuplicateConditions.SameTool
diff --git a/Content.Server/Teleportation/HandTeleporterSystem.cs b/Content.Server/Teleportation/HandTeleporterSystem.cs
index 29cde5d741..3d988b0916 100644
--- a/Content.Server/Teleportation/HandTeleporterSystem.cs
+++ b/Content.Server/Teleportation/HandTeleporterSystem.cs
@@ -58,7 +58,7 @@ public sealed class HandTeleporterSystem : EntitySystem
var doafterArgs = new DoAfterArgs(EntityManager, args.User, component.PortalCreationDelay, new TeleporterDoAfterEvent(), uid, used: uid)
{
BreakOnDamage = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
MovementThreshold = 0.5f,
};
diff --git a/Content.Server/Wires/WiresSystem.cs b/Content.Server/Wires/WiresSystem.cs
index 0f9ee8b0f7..a2deb11fe7 100644
--- a/Content.Server/Wires/WiresSystem.cs
+++ b/Content.Server/Wires/WiresSystem.cs
@@ -701,7 +701,7 @@ public sealed class WiresSystem : SharedWiresSystem
{
NeedHand = true,
BreakOnDamage = true,
- BreakOnUserMove = true
+ BreakOnMove = true
};
_doAfter.TryStartDoAfter(args);
diff --git a/Content.Shared/Burial/BurialSystem.cs b/Content.Shared/Burial/BurialSystem.cs
index 937784ca2a..e19ac2e9c6 100644
--- a/Content.Shared/Burial/BurialSystem.cs
+++ b/Content.Shared/Burial/BurialSystem.cs
@@ -45,8 +45,7 @@ public sealed class BurialSystem : EntitySystem
{
var doAfterEventArgs = new DoAfterArgs(EntityManager, args.User, component.DigDelay / shovel.SpeedModifier, new GraveDiggingDoAfterEvent(), uid, target: args.Target, used: uid)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
BreakOnDamage = true,
NeedHand = true,
BreakOnHandChange = true
@@ -159,8 +158,7 @@ public sealed class BurialSystem : EntitySystem
var doAfterEventArgs = new DoAfterArgs(EntityManager, args.Entity, component.DigDelay / component.DigOutByHandModifier, new GraveDiggingDoAfterEvent(), uid, target: uid)
{
NeedHand = false,
- BreakOnUserMove = true,
- BreakOnTargetMove = false,
+ BreakOnMove = true,
BreakOnHandChange = false,
BreakOnDamage = false
};
diff --git a/Content.Shared/Climbing/Systems/BonkSystem.cs b/Content.Shared/Climbing/Systems/BonkSystem.cs
index e91d1eadbe..149abee8b0 100644
--- a/Content.Shared/Climbing/Systems/BonkSystem.cs
+++ b/Content.Shared/Climbing/Systems/BonkSystem.cs
@@ -82,8 +82,7 @@ public sealed partial class BonkSystem : EntitySystem
var doAfterArgs = new DoAfterArgs(EntityManager, args.Dragged, component.BonkDelay, new BonkDoAfterEvent(), uid, target: uid)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
BreakOnDamage = true
};
diff --git a/Content.Shared/Climbing/Systems/ClimbSystem.cs b/Content.Shared/Climbing/Systems/ClimbSystem.cs
index 7c760f2c5d..fcf473f9f1 100644
--- a/Content.Shared/Climbing/Systems/ClimbSystem.cs
+++ b/Content.Shared/Climbing/Systems/ClimbSystem.cs
@@ -211,8 +211,7 @@ public sealed partial class ClimbSystem : VirtualController
target: climbable,
used: entityToMove)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
BreakOnDamage = true
};
diff --git a/Content.Shared/Clothing/EntitySystems/ToggleableClothingSystem.cs b/Content.Shared/Clothing/EntitySystems/ToggleableClothingSystem.cs
index 22a1d1a8f5..c828b22481 100644
--- a/Content.Shared/Clothing/EntitySystems/ToggleableClothingSystem.cs
+++ b/Content.Shared/Clothing/EntitySystems/ToggleableClothingSystem.cs
@@ -100,7 +100,7 @@ public sealed class ToggleableClothingSystem : EntitySystem
var args = new DoAfterArgs(EntityManager, user, time, new ToggleClothingDoAfterEvent(), item, wearer, item)
{
BreakOnDamage = true,
- BreakOnTargetMove = true,
+ BreakOnMove = true,
// This should just re-use the BUI range checks & cancel the do after if the BUI closes. But that is all
// server-side at the moment.
// TODO BUI REFACTOR.
diff --git a/Content.Shared/Cuffs/SharedCuffableSystem.cs b/Content.Shared/Cuffs/SharedCuffableSystem.cs
index 5cade56aca..ca903719c4 100644
--- a/Content.Shared/Cuffs/SharedCuffableSystem.cs
+++ b/Content.Shared/Cuffs/SharedCuffableSystem.cs
@@ -479,10 +479,11 @@ namespace Content.Shared.Cuffs
var doAfterEventArgs = new DoAfterArgs(EntityManager, user, cuffTime, new AddCuffDoAfterEvent(), handcuff, target, handcuff)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
+ BreakOnWeightlessMove = false,
BreakOnDamage = true,
- NeedHand = true
+ NeedHand = true,
+ DistanceThreshold = 0.3f
};
if (!_doAfter.TryStartDoAfter(doAfterEventArgs))
@@ -574,11 +575,12 @@ namespace Content.Shared.Cuffs
var doAfterEventArgs = new DoAfterArgs(EntityManager, user, uncuffTime, new UnCuffDoAfterEvent(), target, target, cuffsToRemove)
{
- BreakOnUserMove = true,
- BreakOnTargetMove = true,
+ BreakOnMove = true,
+ BreakOnWeightlessMove = false,
BreakOnDamage = true,
NeedHand = true,
RequireCanInteract = false, // Trust in UncuffAttemptEvent
+ DistanceThreshold = 0.3f
};
if (!_doAfter.TryStartDoAfter(doAfterEventArgs))
diff --git a/Content.Shared/Devour/SharedDevourSystem.cs b/Content.Shared/Devour/SharedDevourSystem.cs
index a2b788f3f3..3d73b14dd3 100644
--- a/Content.Shared/Devour/SharedDevourSystem.cs
+++ b/Content.Shared/Devour/SharedDevourSystem.cs
@@ -57,8 +57,7 @@ public abstract class SharedDevourSystem : EntitySystem
_doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, uid, component.DevourTime, new DevourDoAfterEvent(), uid, target: target, used: uid)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
});
break;
default:
@@ -76,8 +75,7 @@ public abstract class SharedDevourSystem : EntitySystem
_doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, uid, component.StructureDevourTime, new DevourDoAfterEvent(), uid, target: target, used: uid)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
});
}
}
diff --git a/Content.Shared/DoAfter/DoAfter.cs b/Content.Shared/DoAfter/DoAfter.cs
index d999b370b3..f77a6dc272 100644
--- a/Content.Shared/DoAfter/DoAfter.cs
+++ b/Content.Shared/DoAfter/DoAfter.cs
@@ -82,12 +82,6 @@ public sealed partial class DoAfter
{
Index = index;
- if (args.Target == null)
- {
- DebugTools.Assert(!args.BreakOnTargetMove);
- args.BreakOnTargetMove = false;
- }
-
Args = args;
StartTime = startTime;
}
diff --git a/Content.Shared/DoAfter/DoAfterArgs.cs b/Content.Shared/DoAfter/DoAfterArgs.cs
index d2729ad3c6..d96ea84e17 100644
--- a/Content.Shared/DoAfter/DoAfterArgs.cs
+++ b/Content.Shared/DoAfter/DoAfterArgs.cs
@@ -92,29 +92,23 @@ public sealed partial class DoAfterArgs
public bool BreakOnHandChange = true;
///
- /// If do_after stops when the user moves
+ /// If do_after stops when the user or target moves
///
- [DataField("breakOnUserMove")]
- public bool BreakOnUserMove;
+ [DataField]
+ public bool BreakOnMove;
///
- /// If this is true then any movement, even when weightless, will break the doafter.
- /// When there is no gravity, BreakOnUserMove is ignored. If it is false to begin with nothing will change.
+ /// Whether to break on movement when the user is weightless.
+ /// This does nothing if is false.
///
- [DataField("breakOnWeightlessMove")]
- public bool BreakOnWeightlessMove;
-
- ///
- /// If do_after stops when the target moves (if there is a target)
- ///
- [DataField("breakOnTargetMove")]
- public bool BreakOnTargetMove;
+ [DataField]
+ public bool BreakOnWeightlessMove = true;
///
/// Threshold for user and target movement
///
[DataField("movementThreshold")]
- public float MovementThreshold = 0.1f;
+ public float MovementThreshold = 0.3f;
///
/// Threshold for distance user from the used OR target entities.
@@ -250,9 +244,8 @@ public sealed partial class DoAfterArgs
Broadcast = other.Broadcast;
NeedHand = other.NeedHand;
BreakOnHandChange = other.BreakOnHandChange;
- BreakOnUserMove = other.BreakOnUserMove;
+ BreakOnMove = other.BreakOnMove;
BreakOnWeightlessMove = other.BreakOnWeightlessMove;
- BreakOnTargetMove = other.BreakOnTargetMove;
MovementThreshold = other.MovementThreshold;
DistanceThreshold = other.DistanceThreshold;
BreakOnDamage = other.BreakOnDamage;
diff --git a/Content.Shared/DoAfter/SharedDoAfterSystem.Update.cs b/Content.Shared/DoAfter/SharedDoAfterSystem.Update.cs
index abd8888f58..455491f524 100644
--- a/Content.Shared/DoAfter/SharedDoAfterSystem.Update.cs
+++ b/Content.Shared/DoAfter/SharedDoAfterSystem.Update.cs
@@ -1,5 +1,7 @@
using Content.Shared.Gravity;
using Content.Shared.Hands.Components;
+using Content.Shared.Interaction;
+using Content.Shared.Physics;
using Robust.Shared.Utility;
namespace Content.Shared.DoAfter;
@@ -8,6 +10,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!;
private DoAfter[] _doAfters = Array.Empty();
@@ -163,24 +166,53 @@ public abstract partial class SharedDoAfterSystem : EntitySystem
return true;
// TODO: Re-use existing xform query for these calculations.
- // when there is no gravity you will be drifting 99% of the time making many doafters impossible
- // so this just ignores your movement if you are weightless (unless the doafter sets BreakOnWeightlessMove then moving will still break it)
- if (args.BreakOnUserMove
- && !userXform.Coordinates.InRange(EntityManager, _transform, doAfter.UserPosition, args.MovementThreshold)
- && (args.BreakOnWeightlessMove || !_gravity.IsWeightless(args.User, xform: userXform)))
- return true;
-
- if (args.BreakOnTargetMove)
+ if (args.BreakOnMove && !(!args.BreakOnWeightlessMove && _gravity.IsWeightless(args.User, xform: userXform)))
{
- DebugTools.Assert(targetXform != null, "Break on move is true, but no target specified?");
- if (targetXform != null && targetXform.Coordinates.TryDistance(EntityManager, userXform.Coordinates, out var distance))
+ // Whether the user has moved too much from their original position.
+ if (!userXform.Coordinates.InRange(EntityManager, _transform, doAfter.UserPosition, args.MovementThreshold))
+ return true;
+
+ // Whether the distance between the user and target(if any) has changed too much.
+ if (targetXform != null &&
+ targetXform.Coordinates.TryDistance(EntityManager, userXform.Coordinates, out var distance))
{
- // once the target moves too far from you the do after breaks
if (Math.Abs(distance - doAfter.TargetDistance) > args.MovementThreshold)
return true;
}
}
+ // Whether the user and the target are too far apart.
+ if (args.Target != null)
+ {
+ if (args.DistanceThreshold != null)
+ {
+ if (!_interaction.InRangeUnobstructed(args.User, args.Target.Value, args.DistanceThreshold.Value))
+ return true;
+ }
+ else
+ {
+ if (!_interaction.InRangeUnobstructed(args.User, args.Target.Value))
+ return true;
+ }
+ }
+
+ // Whether the distance between the tool and the user has grown too much.
+ if (args.Used != null)
+ {
+ if (args.DistanceThreshold != null)
+ {
+ if (!_interaction.InRangeUnobstructed(args.User,
+ args.Used.Value,
+ args.DistanceThreshold.Value))
+ return true;
+ }
+ else
+ {
+ if (!_interaction.InRangeUnobstructed(args.User,args.Used.Value))
+ return true;
+ }
+ }
+
if (args.AttemptFrequency == AttemptFrequency.EveryTick && !TryAttemptEvent(doAfter))
return true;
@@ -199,23 +231,6 @@ public abstract partial class SharedDoAfterSystem : EntitySystem
if (args.RequireCanInteract && !_actionBlocker.CanInteract(args.User, args.Target))
return true;
- if (args.DistanceThreshold != null)
- {
- if (targetXform != null
- && !args.User.Equals(args.Target)
- && !userXform.Coordinates.InRange(EntityManager, _transform, targetXform.Coordinates,
- args.DistanceThreshold.Value))
- {
- return true;
- }
-
- if (usedXform != null
- && !userXform.Coordinates.InRange(EntityManager, _transform, usedXform.Coordinates,
- args.DistanceThreshold.Value))
- {
- return true;
- }
- }
return false;
}
diff --git a/Content.Shared/DoAfter/SharedDoAfterSystem.cs b/Content.Shared/DoAfter/SharedDoAfterSystem.cs
index 9e81c91550..d20da49485 100644
--- a/Content.Shared/DoAfter/SharedDoAfterSystem.cs
+++ b/Content.Shared/DoAfter/SharedDoAfterSystem.cs
@@ -214,12 +214,11 @@ public abstract partial class SharedDoAfterSystem : EntitySystem
args.NetUser = GetNetEntity(args.User);
args.NetEventTarget = GetNetEntity(args.EventTarget);
- if (args.BreakOnUserMove || args.BreakOnTargetMove)
+ if (args.BreakOnMove)
doAfter.UserPosition = Transform(args.User).Coordinates;
- if (args.Target != null && args.BreakOnTargetMove)
+ if (args.Target != null && args.BreakOnMove)
{
- // Target should never be null if the bool is set.
var targetPosition = Transform(args.Target.Value).Coordinates;
doAfter.UserPosition.TryDistance(EntityManager, targetPosition, out doAfter.TargetDistance);
}
diff --git a/Content.Shared/Inventory/InventorySystem.Equip.cs b/Content.Shared/Inventory/InventorySystem.Equip.cs
index 24006b0c9f..7c9279df20 100644
--- a/Content.Shared/Inventory/InventorySystem.Equip.cs
+++ b/Content.Shared/Inventory/InventorySystem.Equip.cs
@@ -168,8 +168,7 @@ public abstract partial class InventorySystem
{
BlockDuplicate = true,
BreakOnHandChange = true,
- BreakOnUserMove = true,
- BreakOnTargetMove = true,
+ BreakOnMove = true,
CancelDuplicate = true,
RequireCanInteract = true,
NeedHand = true
@@ -414,8 +413,7 @@ public abstract partial class InventorySystem
{
BlockDuplicate = true,
BreakOnHandChange = true,
- BreakOnUserMove = true,
- BreakOnTargetMove = true,
+ BreakOnMove = true,
CancelDuplicate = true,
RequireCanInteract = true,
NeedHand = true
diff --git a/Content.Shared/Lock/LockSystem.cs b/Content.Shared/Lock/LockSystem.cs
index 53c199e410..74cf5496d9 100644
--- a/Content.Shared/Lock/LockSystem.cs
+++ b/Content.Shared/Lock/LockSystem.cs
@@ -111,7 +111,7 @@ public sealed class LockSystem : EntitySystem
return _doAfter.TryStartDoAfter(
new DoAfterArgs(EntityManager, user, lockComp.LockTime, new LockDoAfter(), uid, uid)
{
- BreakOnDamage = true, BreakOnTargetMove = true, BreakOnUserMove = true, RequireCanInteract = true,
+ BreakOnDamage = true, BreakOnMove = true, RequireCanInteract = true,
NeedHand = true
});
}
@@ -187,7 +187,7 @@ public sealed class LockSystem : EntitySystem
return _doAfter.TryStartDoAfter(
new DoAfterArgs(EntityManager, user, lockComp.LockTime, new UnlockDoAfter(), uid, uid)
{
- BreakOnDamage = true, BreakOnTargetMove = true, BreakOnUserMove = true, RequireCanInteract = true,
+ BreakOnDamage = true, BreakOnMove = true, RequireCanInteract = true,
NeedHand = true
});
}
diff --git a/Content.Shared/Mech/EntitySystems/SharedMechSystem.cs b/Content.Shared/Mech/EntitySystems/SharedMechSystem.cs
index 7e44dea507..df0d7b78f0 100644
--- a/Content.Shared/Mech/EntitySystems/SharedMechSystem.cs
+++ b/Content.Shared/Mech/EntitySystems/SharedMechSystem.cs
@@ -434,7 +434,7 @@ public abstract class SharedMechSystem : EntitySystem
var doAfterEventArgs = new DoAfterArgs(EntityManager, args.Dragged, component.EntryDelay, new MechEntryEvent(), uid, target: uid)
{
- BreakOnUserMove = true,
+ BreakOnMove = true,
};
_doAfter.TryStartDoAfter(doAfterEventArgs);
diff --git a/Content.Shared/Projectiles/SharedProjectileSystem.cs b/Content.Shared/Projectiles/SharedProjectileSystem.cs
index f40a7a0363..372dc8a75d 100644
--- a/Content.Shared/Projectiles/SharedProjectileSystem.cs
+++ b/Content.Shared/Projectiles/SharedProjectileSystem.cs
@@ -53,10 +53,7 @@ public abstract partial class SharedProjectileSystem : EntitySystem
args.Handled = true;
_doAfter.TryStartDoAfter(new DoAfterArgs(EntityManager, args.User, component.RemovalTime.Value,
- new RemoveEmbeddedProjectileEvent(), eventTarget: uid, target: uid)
- {
- DistanceThreshold = SharedInteractionSystem.InteractionRange,
- });
+ new RemoveEmbeddedProjectileEvent(), eventTarget: uid, target: uid));
}
private void OnEmbedRemove(EntityUid uid, EmbeddableProjectileComponent component, RemoveEmbeddedProjectileEvent args)
diff --git a/Content.Shared/Prying/Systems/PryingSystem.cs b/Content.Shared/Prying/Systems/PryingSystem.cs
index fa7a135e6c..69a63f72b5 100644
--- a/Content.Shared/Prying/Systems/PryingSystem.cs
+++ b/Content.Shared/Prying/Systems/PryingSystem.cs
@@ -136,8 +136,7 @@ public sealed class PryingSystem : EntitySystem
var doAfterArgs = new DoAfterArgs(EntityManager, user, TimeSpan.FromSeconds(modEv.BaseTime * modEv.PryTimeModifier / toolModifier), new DoorPryDoAfterEvent(), target, target, tool)
{
BreakOnDamage = true,
- BreakOnUserMove = true,
- BreakOnWeightlessMove = true,
+ BreakOnMove = true,
};
if (tool != null)
diff --git a/Content.Shared/RCD/Systems/RCDSystem.cs b/Content.Shared/RCD/Systems/RCDSystem.cs
index 187c8d8a9d..f767d0b99c 100644
--- a/Content.Shared/RCD/Systems/RCDSystem.cs
+++ b/Content.Shared/RCD/Systems/RCDSystem.cs
@@ -104,8 +104,7 @@ public sealed class RCDSystem : EntitySystem
BreakOnDamage = true,
NeedHand = true,
BreakOnHandChange = true,
- BreakOnUserMove = true,
- BreakOnTargetMove = args.Target != null,
+ BreakOnMove = true,
AttemptFrequency = AttemptFrequency.EveryTick
};
diff --git a/Content.Shared/RatKing/SharedRatKingSystem.cs b/Content.Shared/RatKing/SharedRatKingSystem.cs
index d7a8ee5460..ea489e332d 100644
--- a/Content.Shared/RatKing/SharedRatKingSystem.cs
+++ b/Content.Shared/RatKing/SharedRatKingSystem.cs
@@ -119,7 +119,7 @@ public abstract class SharedRatKingSystem : EntitySystem
{
BlockDuplicate = true,
BreakOnDamage = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
DistanceThreshold = 2f
});
}
diff --git a/Content.Shared/Research/Systems/SharedResearchStealerSystem.cs b/Content.Shared/Research/Systems/SharedResearchStealerSystem.cs
index 1fffa8c025..070ff40b70 100644
--- a/Content.Shared/Research/Systems/SharedResearchStealerSystem.cs
+++ b/Content.Shared/Research/Systems/SharedResearchStealerSystem.cs
@@ -46,8 +46,8 @@ public abstract class SharedResearchStealerSystem : EntitySystem
var doAfterArgs = new DoAfterArgs(EntityManager, uid, comp.Delay, new ResearchStealDoAfterEvent(), target: target, used: uid, eventTarget: uid)
{
BreakOnDamage = true,
- BreakOnUserMove = true,
- MovementThreshold = 0.5f
+ BreakOnMove = true,
+ MovementThreshold = 0.5f,
};
_doAfter.TryStartDoAfter(doAfterArgs);
diff --git a/Content.Shared/Salvage/Fulton/SharedFultonSystem.cs b/Content.Shared/Salvage/Fulton/SharedFultonSystem.cs
index 0599482bbe..b355ae5873 100644
--- a/Content.Shared/Salvage/Fulton/SharedFultonSystem.cs
+++ b/Content.Shared/Salvage/Fulton/SharedFultonSystem.cs
@@ -153,8 +153,7 @@ public abstract partial class SharedFultonSystem : EntitySystem
{
CancelDuplicate = true,
MovementThreshold = 0.5f,
- BreakOnUserMove = true,
- BreakOnTargetMove = true,
+ BreakOnMove = true,
Broadcast = true,
NeedHand = true,
});
diff --git a/Content.Shared/Sericulture/SericultureSystem.cs b/Content.Shared/Sericulture/SericultureSystem.cs
index 514ec79f68..f7586cc1ec 100644
--- a/Content.Shared/Sericulture/SericultureSystem.cs
+++ b/Content.Shared/Sericulture/SericultureSystem.cs
@@ -61,7 +61,7 @@ public abstract partial class SharedSericultureSystem : EntitySystem
var doAfter = new DoAfterArgs(EntityManager, uid, comp.ProductionLength, new SericultureDoAfterEvent(), uid)
{ // I'm not sure if more things should be put here, but imo ideally it should probably be set in the component/YAML. Not sure if this is currently possible.
- BreakOnUserMove = true,
+ BreakOnMove = true,
BlockDuplicate = true,
BreakOnDamage = true,
CancelDuplicate = true,
diff --git a/Content.Shared/Species/Systems/ReformSystem.cs b/Content.Shared/Species/Systems/ReformSystem.cs
index dc2ce3fb90..d2ceecf28e 100644
--- a/Content.Shared/Species/Systems/ReformSystem.cs
+++ b/Content.Shared/Species/Systems/ReformSystem.cs
@@ -69,7 +69,7 @@ public sealed partial class ReformSystem : EntitySystem
// Create a doafter & start it
var doAfter = new DoAfterArgs(EntityManager, uid, comp.ReformTime, new ReformDoAfterEvent(), uid)
{
- BreakOnUserMove = true,
+ BreakOnMove = true,
BlockDuplicate = true,
BreakOnDamage = true,
CancelDuplicate = true,
@@ -89,7 +89,7 @@ public sealed partial class ReformSystem : EntitySystem
return;
// Spawn a new entity
- // This is, to an extent, taken from polymorph. I don't use polymorph for various reasons- most notably that this is permanent.
+ // This is, to an extent, taken from polymorph. I don't use polymorph for various reasons- most notably that this is permanent.
var child = Spawn(comp.ReformPrototype, Transform(uid).Coordinates);
// This transfers the mind to the new entity
@@ -105,7 +105,7 @@ public sealed partial class ReformSystem : EntitySystem
_actionsSystem.RemoveAction(uid, comp.ActionEntity); // Zombies can't reform
}
- public sealed partial class ReformEvent : InstantActionEvent { }
+ public sealed partial class ReformEvent : InstantActionEvent { }
[Serializable, NetSerializable]
public sealed partial class ReformDoAfterEvent : SimpleDoAfterEvent { }
diff --git a/Content.Shared/SprayPainter/SharedSprayPainterSystem.cs b/Content.Shared/SprayPainter/SharedSprayPainterSystem.cs
index fa04a50f8b..feb1cebb8e 100644
--- a/Content.Shared/SprayPainter/SharedSprayPainterSystem.cs
+++ b/Content.Shared/SprayPainter/SharedSprayPainterSystem.cs
@@ -134,8 +134,7 @@ public abstract class SharedSprayPainterSystem : EntitySystem
var doAfterEventArgs = new DoAfterArgs(EntityManager, args.User, painter.AirlockSprayTime, new SprayPainterDoorDoAfterEvent(sprite, style.Department), args.Used, target: ent, used: args.Used)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
BreakOnDamage = true,
NeedHand = true
};
diff --git a/Content.Shared/Storage/EntitySystems/DumpableSystem.cs b/Content.Shared/Storage/EntitySystems/DumpableSystem.cs
index 04f7231416..2b804cf732 100644
--- a/Content.Shared/Storage/EntitySystems/DumpableSystem.cs
+++ b/Content.Shared/Storage/EntitySystems/DumpableSystem.cs
@@ -133,8 +133,7 @@ public sealed class DumpableSystem : EntitySystem
_doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, userUid, delay, new DumpableDoAfterEvent(), storageUid, target: targetUid, used: storageUid)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
NeedHand = true
});
}
diff --git a/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs b/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs
index 98eac962e9..ef1b2b7c44 100644
--- a/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs
+++ b/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs
@@ -289,7 +289,7 @@ public abstract class SharedStorageSystem : EntitySystem
var doAfterArgs = new DoAfterArgs(EntityManager, args.User, delay, new AreaPickupDoAfterEvent(GetNetEntityList(validStorables)), uid, target: uid)
{
BreakOnDamage = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
NeedHand = true
};
diff --git a/Content.Shared/Tools/Systems/SharedToolSystem.cs b/Content.Shared/Tools/Systems/SharedToolSystem.cs
index ee15b1e025..4204d7547e 100644
--- a/Content.Shared/Tools/Systems/SharedToolSystem.cs
+++ b/Content.Shared/Tools/Systems/SharedToolSystem.cs
@@ -124,8 +124,8 @@ public abstract partial class SharedToolSystem : EntitySystem
var doAfterArgs = new DoAfterArgs(EntityManager, user, delay / toolComponent.SpeedModifier, toolEvent, tool, target: target, used: tool)
{
BreakOnDamage = true,
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
+ BreakOnWeightlessMove = false,
NeedHand = tool != user,
AttemptFrequency = IsWelder(tool) ? AttemptFrequency.EveryTick : AttemptFrequency.Never
};
diff --git a/Content.Shared/VendingMachines/SharedVendingMachineSystem.Restock.cs b/Content.Shared/VendingMachines/SharedVendingMachineSystem.Restock.cs
index 87e2f0890a..6aef4d0949 100644
--- a/Content.Shared/VendingMachines/SharedVendingMachineSystem.Restock.cs
+++ b/Content.Shared/VendingMachines/SharedVendingMachineSystem.Restock.cs
@@ -70,8 +70,7 @@ public abstract partial class SharedVendingMachineSystem
var doAfterArgs = new DoAfterArgs(EntityManager, args.User, (float) component.RestockDelay.TotalSeconds, new RestockDoAfterEvent(), target,
target: target, used: uid)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
BreakOnDamage = true,
NeedHand = true
};
diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Ballistic.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Ballistic.cs
index a8f7ee2395..261243fea3 100644
--- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Ballistic.cs
+++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Ballistic.cs
@@ -74,8 +74,7 @@ public abstract partial class SharedGunSystem
_doAfter.TryStartDoAfter(new DoAfterArgs(EntityManager, args.User, component.FillDelay, new AmmoFillDoAfterEvent(), used: uid, target: args.Target, eventTarget: uid)
{
- BreakOnTargetMove = true,
- BreakOnUserMove = true,
+ BreakOnMove = true,
BreakOnDamage = false,
NeedHand = true
});