Added threshold to DoAfter's user and target movement checks (#2585)

* Added threshold to DoAfter user and target movement checks

* Fixed spacing

* Update Content.Server/GameObjects/EntitySystems/DoAfter/DoAfterEventArgs.cs

Co-authored-by: Manel Navola <ManelNavola@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
This commit is contained in:
Manel Navola
2020-11-22 03:58:31 +01:00
committed by GitHub
parent 86c2e989e6
commit 8c81e7c767
5 changed files with 21 additions and 9 deletions

View File

@@ -114,7 +114,7 @@ namespace Content.Client.GameObjects.EntitySystems.DoAfter
// Predictions
if (doAfter.BreakOnUserMove)
{
if (userGrid != doAfter.UserGrid)
if (!userGrid.InRange(EntityManager, doAfter.UserGrid, doAfter.MovementThreshold))
{
comp.Cancel(id, currentTime);
continue;
@@ -123,7 +123,7 @@ namespace Content.Client.GameObjects.EntitySystems.DoAfter
if (doAfter.BreakOnTargetMove)
{
if (EntityManager.TryGetEntity(doAfter.TargetUid, out var targetEntity) && targetEntity.Transform.Coordinates != doAfter.TargetGrid)
if (EntityManager.TryGetEntity(doAfter.TargetUid, out var targetEntity) && !targetEntity.Transform.Coordinates.InRange(EntityManager, doAfter.TargetGrid, doAfter.MovementThreshold))
{
comp.Cancel(id, currentTime);
continue;