diff --git a/OpenRa.Game/Actor.cs b/OpenRa.Game/Actor.cs index 15ab9a168c..6d68a330ce 100755 --- a/OpenRa.Game/Actor.cs +++ b/OpenRa.Game/Actor.cs @@ -63,7 +63,10 @@ namespace OpenRa.Game } public Order Order( int2 xy ) - { + { + if (Owner != Game.LocalPlayer) + return null; + return traits.WithInterface() .Select( x => x.Order( this, xy ) ) .FirstOrDefault( x => x != null ); diff --git a/OpenRa.Game/Controller.cs b/OpenRa.Game/Controller.cs index ef0b8d2b70..1fb4404fc8 100644 --- a/OpenRa.Game/Controller.cs +++ b/OpenRa.Game/Controller.cs @@ -71,7 +71,9 @@ namespace OpenRa.Game { var uog = orderGenerator as UnitOrderGenerator; - if (uog != null && uog.selection.Count > 0 && uog.selection.Any(a => a.traits.Contains())) + if (uog != null && uog.selection.Count > 0 + && uog.selection.Any(a => a.traits.Contains()) + && uog.selection.All( a => a.Owner == Game.LocalPlayer )) { if (!Game.IsCellBuildable(dragEnd.ToInt2(), UnitMovementType.Wheel)) return Cursor.MoveBlocked; /* todo: handle non-wheel movement behavior */