From 3c80024113fd11e47d6a55068d59ce77a63a778f Mon Sep 17 00:00:00 2001 From: "Ian T. Jacobsen" Date: Wed, 5 Feb 2014 02:18:12 +0000 Subject: [PATCH] Made Move::NotifyBlocker handle traits appropriately --- OpenRA.Mods.RA/Move/Mobile.cs | 3 ++- OpenRA.Mods.RA/Move/Move.cs | 6 +----- 2 files changed, 3 insertions(+), 6 deletions(-) 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); } }