diff --git a/OpenRA.Mods.RA/Move/Mobile.cs b/OpenRA.Mods.RA/Move/Mobile.cs index 16c043ab96..b281669538 100755 --- a/OpenRA.Mods.RA/Move/Mobile.cs +++ b/OpenRA.Mods.RA/Move/Mobile.cs @@ -545,7 +545,8 @@ namespace OpenRA.Mods.RA.Move public void OnNotifyBlockingMove(Actor self, Actor blocking) { - Nudge(self, blocking, true); + if (self.IsIdle && self.AppearsFriendlyTo(blocking)) + Nudge(self, blocking, true); } } } diff --git a/OpenRA.Mods.RA/Move/Move.cs b/OpenRA.Mods.RA/Move/Move.cs index 0c021faf20..40e0149f82 100755 --- a/OpenRA.Mods.RA/Move/Move.cs +++ b/OpenRA.Mods.RA/Move/Move.cs @@ -175,12 +175,8 @@ namespace OpenRA.Mods.RA.Move { foreach (var blocker in self.World.ActorMap.GetUnitsAt(nextCell)) { - Log.Write("debug", "NotifyBlocker #{0} nudges #{1} at {2} from {3}", - self.ActorID, blocker.ActorID, nextCell, self.Location); - // Notify the blocker that he's blocking our move: - var moveBlocked = blocker.TraitOrDefault(); - if (moveBlocked != null) + foreach (var moveBlocked in blocker.TraitsImplementing()) moveBlocked.OnNotifyBlockingMove(blocker, self); } }