diff --git a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
index b7e0c38437..3ba155026b 100644
--- a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
+++ b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
@@ -200,6 +200,8 @@
+
+
diff --git a/OpenRA.Mods.Common/Orders/EnterTransportTargeter.cs b/OpenRA.Mods.Common/Orders/EnterTransportTargeter.cs
new file mode 100644
index 0000000000..3ec64e2639
--- /dev/null
+++ b/OpenRA.Mods.Common/Orders/EnterTransportTargeter.cs
@@ -0,0 +1,50 @@
+#region Copyright & License Information
+/*
+ * Copyright 2007-2015 The OpenRA Developers (see AUTHORS)
+ * This file is part of OpenRA, which is free software. It is made
+ * available to you under the terms of the GNU General Public License
+ * as published by the Free Software Foundation. For more information,
+ * see COPYING.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using OpenRA.Mods.Common.Activities;
+using OpenRA.Mods.Common.Traits;
+using OpenRA.Traits;
+
+namespace OpenRA.Mods.Common.Orders
+{
+ public class EnterTransportTargeter : EnterAlliedActorTargeter
+ {
+ readonly AlternateTransportsMode mode;
+
+ public EnterTransportTargeter(string order, int priority,
+ Func canTarget, Func useEnterCursor,
+ AlternateTransportsMode mode)
+ : base(order, priority, canTarget, useEnterCursor) { this.mode = mode; }
+
+ public override bool CanTargetActor(Actor self, Actor target, TargetModifiers modifiers, ref string cursor)
+ {
+ switch (mode)
+ {
+ case AlternateTransportsMode.None:
+ break;
+ case AlternateTransportsMode.Force:
+ if (modifiers.HasModifier(TargetModifiers.ForceMove))
+ return false;
+ break;
+ case AlternateTransportsMode.Default:
+ if (!modifiers.HasModifier(TargetModifiers.ForceMove))
+ return false;
+ break;
+ case AlternateTransportsMode.Always:
+ return false;
+ }
+
+ return base.CanTargetActor(self, target, modifiers, ref cursor);
+ }
+ }
+}
diff --git a/OpenRA.Mods.Common/Orders/EnterTransportsTargeter.cs b/OpenRA.Mods.Common/Orders/EnterTransportsTargeter.cs
new file mode 100644
index 0000000000..5135d4a75c
--- /dev/null
+++ b/OpenRA.Mods.Common/Orders/EnterTransportsTargeter.cs
@@ -0,0 +1,50 @@
+#region Copyright & License Information
+/*
+ * Copyright 2007-2015 The OpenRA Developers (see AUTHORS)
+ * This file is part of OpenRA, which is free software. It is made
+ * available to you under the terms of the GNU General Public License
+ * as published by the Free Software Foundation. For more information,
+ * see COPYING.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Drawing;
+using OpenRA.Mods.Common.Activities;
+using OpenRA.Mods.Common.Traits;
+using OpenRA.Traits;
+
+namespace OpenRA.Mods.Common.Orders
+{
+ public class EnterTransportsTargeter : EnterAlliedActorTargeter
+ {
+ readonly AlternateTransportsMode mode;
+
+ public EnterTransportsTargeter(string order, int priority,
+ Func canTarget, Func useEnterCursor,
+ AlternateTransportsMode mode)
+ : base(order, priority, canTarget, useEnterCursor) { this.mode = mode; }
+
+ public override bool CanTargetActor(Actor self, Actor target, TargetModifiers modifiers, ref string cursor)
+ {
+ switch (mode)
+ {
+ case AlternateTransportsMode.None:
+ return false;
+ case AlternateTransportsMode.Force:
+ if (!modifiers.HasModifier(TargetModifiers.ForceMove))
+ return false;
+ break;
+ case AlternateTransportsMode.Default:
+ if (modifiers.HasModifier(TargetModifiers.ForceMove))
+ return false;
+ break;
+ case AlternateTransportsMode.Always:
+ break;
+ }
+
+ return base.CanTargetActor(self, target, modifiers, ref cursor);
+ }
+ }
+}
diff --git a/OpenRA.Mods.Common/Traits/Passenger.cs b/OpenRA.Mods.Common/Traits/Passenger.cs
index 757f562919..d8f39b6c04 100644
--- a/OpenRA.Mods.Common/Traits/Passenger.cs
+++ b/OpenRA.Mods.Common/Traits/Passenger.cs
@@ -19,68 +19,6 @@ namespace OpenRA.Mods.Common.Traits
{
public enum AlternateTransportsMode { None, Force, Default, Always }
- public class EnterTransportTargeter : EnterAlliedActorTargeter
- {
- readonly AlternateTransportsMode mode;
-
- public EnterTransportTargeter(string order, int priority,
- Func canTarget, Func useEnterCursor,
- AlternateTransportsMode mode)
- : base(order, priority, canTarget, useEnterCursor) { this.mode = mode; }
-
- public override bool CanTargetActor(Actor self, Actor target, TargetModifiers modifiers, ref string cursor)
- {
- switch (mode)
- {
- case AlternateTransportsMode.None:
- break;
- case AlternateTransportsMode.Force:
- if (modifiers.HasModifier(TargetModifiers.ForceMove))
- return false;
- break;
- case AlternateTransportsMode.Default:
- if (!modifiers.HasModifier(TargetModifiers.ForceMove))
- return false;
- break;
- case AlternateTransportsMode.Always:
- return false;
- }
-
- return base.CanTargetActor(self, target, modifiers, ref cursor);
- }
- }
-
- public class EnterTransportsTargeter : EnterAlliedActorTargeter
- {
- readonly AlternateTransportsMode mode;
-
- public EnterTransportsTargeter(string order, int priority,
- Func canTarget, Func useEnterCursor,
- AlternateTransportsMode mode)
- : base(order, priority, canTarget, useEnterCursor) { this.mode = mode; }
-
- public override bool CanTargetActor(Actor self, Actor target, TargetModifiers modifiers, ref string cursor)
- {
- switch (mode)
- {
- case AlternateTransportsMode.None:
- return false;
- case AlternateTransportsMode.Force:
- if (!modifiers.HasModifier(TargetModifiers.ForceMove))
- return false;
- break;
- case AlternateTransportsMode.Default:
- if (modifiers.HasModifier(TargetModifiers.ForceMove))
- return false;
- break;
- case AlternateTransportsMode.Always:
- break;
- }
-
- return base.CanTargetActor(self, target, modifiers, ref cursor);
- }
- }
-
[Desc("This actor can enter Cargo actors.")]
public class PassengerInfo : ITraitInfo
{