diff --git a/Content.Server/Nutrition/EntitySystems/DrinkSystem.cs b/Content.Server/Nutrition/EntitySystems/DrinkSystem.cs index 545a0be5e6..fa23e907ce 100644 --- a/Content.Server/Nutrition/EntitySystems/DrinkSystem.cs +++ b/Content.Server/Nutrition/EntitySystems/DrinkSystem.cs @@ -232,12 +232,14 @@ namespace Content.Server.Nutrition.EntitySystems } drink.CancelToken = new CancellationTokenSource(); + var moveBreak = user != target; + _doAfterSystem.DoAfter(new DoAfterEventArgs(user, forceDrink ? drink.ForceFeedDelay : drink.Delay, drink.CancelToken.Token, target) { - BreakOnUserMove = true, + BreakOnUserMove = moveBreak, BreakOnDamage = true, BreakOnStun = true, - BreakOnTargetMove = true, + BreakOnTargetMove = moveBreak, MovementThreshold = 0.01f, TargetFinishedEvent = new DrinkEvent(user, drink, drinkSolution), BroadcastCancelledEvent = new DrinkCancelledEvent(drink), diff --git a/Content.Server/Nutrition/EntitySystems/FoodSystem.cs b/Content.Server/Nutrition/EntitySystems/FoodSystem.cs index bd4cfc56be..fc1323497a 100644 --- a/Content.Server/Nutrition/EntitySystems/FoodSystem.cs +++ b/Content.Server/Nutrition/EntitySystems/FoodSystem.cs @@ -127,12 +127,14 @@ namespace Content.Server.Nutrition.EntitySystems _logSystem.Add(LogType.ForceFeed, LogImpact.Medium, $"{ToPrettyString(user):user} is forcing {ToPrettyString(target):target} to eat {ToPrettyString(food.Owner):food} {SolutionContainerSystem.ToPrettyString(foodSolution)}"); } + var moveBreak = user != target; + _doAfterSystem.DoAfter(new DoAfterEventArgs(user, forceFeed ? food.ForceFeedDelay : food.Delay, food.CancelToken.Token, target) { - BreakOnUserMove = true, + BreakOnUserMove = moveBreak, BreakOnDamage = true, BreakOnStun = true, - BreakOnTargetMove = true, + BreakOnTargetMove = moveBreak, MovementThreshold = 0.01f, TargetFinishedEvent = new FeedEvent(user, food, foodSolution, utensils), BroadcastCancelledEvent = new ForceFeedCancelledEvent(food),