diff --git a/OpenRA.Game/OpenRA.Game.csproj b/OpenRA.Game/OpenRA.Game.csproj
index 3083780eb5..671f611360 100755
--- a/OpenRA.Game/OpenRA.Game.csproj
+++ b/OpenRA.Game/OpenRA.Game.csproj
@@ -142,13 +142,6 @@
-
-
-
-
-
-
-
@@ -164,11 +157,9 @@
-
-
@@ -202,7 +193,6 @@
-
@@ -215,7 +205,6 @@
-
diff --git a/OpenRA.Game/Traits/Reservable.cs b/OpenRA.Game/Traits/Reservable.cs
index 6c52f580c2..1cd185f55a 100644
--- a/OpenRA.Game/Traits/Reservable.cs
+++ b/OpenRA.Game/Traits/Reservable.cs
@@ -27,7 +27,7 @@ namespace OpenRA.Traits
public object Create(Actor self) { return new Reservable(self); }
}
- class Reservable : ITick
+ public class Reservable : ITick
{
public Reservable(Actor self) { }
Actor reservedFor;
diff --git a/OpenRA.Mods.Cnc/ProductionAirdrop.cs b/OpenRA.Mods.Cnc/ProductionAirdrop.cs
index b25e21608d..80acb13e4f 100644
--- a/OpenRA.Mods.Cnc/ProductionAirdrop.cs
+++ b/OpenRA.Mods.Cnc/ProductionAirdrop.cs
@@ -22,6 +22,7 @@ using OpenRA.GameRules;
using OpenRA.Traits;
using OpenRA.Traits.Activities;
using OpenRA.Mods.RA;
+using OpenRA.Mods.RA.Activities;
namespace OpenRA.Mods.Cnc
{
diff --git a/OpenRA.Game/Traits/Activities/Fly.cs b/OpenRA.Mods.RA/Activities/Fly.cs
similarity index 94%
rename from OpenRA.Game/Traits/Activities/Fly.cs
rename to OpenRA.Mods.RA/Activities/Fly.cs
index 4610285551..e5aa0ee84d 100644
--- a/OpenRA.Game/Traits/Activities/Fly.cs
+++ b/OpenRA.Mods.RA/Activities/Fly.cs
@@ -20,8 +20,9 @@
using System;
using OpenRA.GameRules;
+using OpenRA.Traits;
-namespace OpenRA.Traits.Activities
+namespace OpenRA.Mods.RA.Activities
{
public class Fly : IActivity
{
diff --git a/OpenRA.Game/Traits/Activities/FlyAttack.cs b/OpenRA.Mods.RA/Activities/FlyAttack.cs
similarity index 93%
rename from OpenRA.Game/Traits/Activities/FlyAttack.cs
rename to OpenRA.Mods.RA/Activities/FlyAttack.cs
index 0a8fed8f67..e2857883dc 100644
--- a/OpenRA.Game/Traits/Activities/FlyAttack.cs
+++ b/OpenRA.Mods.RA/Activities/FlyAttack.cs
@@ -18,7 +18,9 @@
*/
#endregion
-namespace OpenRA.Traits.Activities
+using OpenRA.Traits;
+
+namespace OpenRA.Mods.RA.Activities
{
public class FlyAttack : IActivity
{
diff --git a/OpenRA.Game/Traits/Activities/FlyTimed.cs b/OpenRA.Mods.RA/Activities/FlyTimed.cs
similarity index 93%
rename from OpenRA.Game/Traits/Activities/FlyTimed.cs
rename to OpenRA.Mods.RA/Activities/FlyTimed.cs
index 10dca7742f..11a98a56b4 100644
--- a/OpenRA.Game/Traits/Activities/FlyTimed.cs
+++ b/OpenRA.Mods.RA/Activities/FlyTimed.cs
@@ -19,8 +19,9 @@
#endregion
using System;
+using OpenRA.Traits;
-namespace OpenRA.Traits.Activities
+namespace OpenRA.Mods.RA.Activities
{
public class FlyTimed : IActivity
{
diff --git a/OpenRA.Game/Traits/Activities/HeliAttack.cs b/OpenRA.Mods.RA/Activities/HeliAttack.cs
similarity index 94%
rename from OpenRA.Game/Traits/Activities/HeliAttack.cs
rename to OpenRA.Mods.RA/Activities/HeliAttack.cs
index cfedda1177..9ee57be9d6 100644
--- a/OpenRA.Game/Traits/Activities/HeliAttack.cs
+++ b/OpenRA.Mods.RA/Activities/HeliAttack.cs
@@ -21,8 +21,9 @@
using System;
using System.Linq;
using OpenRA.GameRules;
+using OpenRA.Traits;
-namespace OpenRA.Traits.Activities
+namespace OpenRA.Mods.RA.Activities
{
public class HeliAttack : IActivity
{
diff --git a/OpenRA.Game/Traits/Activities/HeliFly.cs b/OpenRA.Mods.RA/Activities/HeliFly.cs
similarity index 94%
rename from OpenRA.Game/Traits/Activities/HeliFly.cs
rename to OpenRA.Mods.RA/Activities/HeliFly.cs
index 60c4598568..dd6b78a95c 100644
--- a/OpenRA.Game/Traits/Activities/HeliFly.cs
+++ b/OpenRA.Mods.RA/Activities/HeliFly.cs
@@ -20,8 +20,9 @@
using System;
using OpenRA.GameRules;
+using OpenRA.Traits;
-namespace OpenRA.Traits.Activities
+namespace OpenRA.Mods.RA.Activities
{
class HeliFly : IActivity
{
diff --git a/OpenRA.Game/Traits/Activities/HeliLand.cs b/OpenRA.Mods.RA/Activities/HeliLand.cs
similarity index 93%
rename from OpenRA.Game/Traits/Activities/HeliLand.cs
rename to OpenRA.Mods.RA/Activities/HeliLand.cs
index a45c2e6180..d8748ef851 100644
--- a/OpenRA.Game/Traits/Activities/HeliLand.cs
+++ b/OpenRA.Mods.RA/Activities/HeliLand.cs
@@ -19,7 +19,9 @@
#endregion
using OpenRA.GameRules;
-namespace OpenRA.Traits.Activities
+using OpenRA.Traits;
+
+namespace OpenRA.Mods.RA.Activities
{
class HeliLand : IActivity
{
diff --git a/OpenRA.Game/Traits/Activities/HeliReturn.cs b/OpenRA.Mods.RA/Activities/HeliReturn.cs
similarity index 93%
rename from OpenRA.Game/Traits/Activities/HeliReturn.cs
rename to OpenRA.Mods.RA/Activities/HeliReturn.cs
index 2d447840e0..21ff3be0c4 100644
--- a/OpenRA.Game/Traits/Activities/HeliReturn.cs
+++ b/OpenRA.Mods.RA/Activities/HeliReturn.cs
@@ -19,8 +19,10 @@
#endregion
using System.Linq;
+using OpenRA.Traits;
+using OpenRA.Traits.Activities;
-namespace OpenRA.Traits.Activities
+namespace OpenRA.Mods.RA.Activities
{
public class HeliReturn : IActivity
{
diff --git a/OpenRA.Game/Traits/Activities/Land.cs b/OpenRA.Mods.RA/Activities/Land.cs
similarity index 94%
rename from OpenRA.Game/Traits/Activities/Land.cs
rename to OpenRA.Mods.RA/Activities/Land.cs
index 920971cdf3..49f9e117cb 100644
--- a/OpenRA.Game/Traits/Activities/Land.cs
+++ b/OpenRA.Mods.RA/Activities/Land.cs
@@ -20,8 +20,9 @@
using System;
using OpenRA.GameRules;
+using OpenRA.Traits;
-namespace OpenRA.Traits.Activities
+namespace OpenRA.Mods.RA.Activities
{
public class Land : IActivity
{
diff --git a/OpenRA.Game/Traits/Activities/ReturnToBase.cs b/OpenRA.Mods.RA/Activities/ReturnToBase.cs
similarity index 94%
rename from OpenRA.Game/Traits/Activities/ReturnToBase.cs
rename to OpenRA.Mods.RA/Activities/ReturnToBase.cs
index 38ff915767..56e31495ca 100644
--- a/OpenRA.Game/Traits/Activities/ReturnToBase.cs
+++ b/OpenRA.Mods.RA/Activities/ReturnToBase.cs
@@ -21,8 +21,9 @@
using System;
using System.Linq;
using OpenRA.GameRules;
+using OpenRA.Traits;
-namespace OpenRA.Traits.Activities
+namespace OpenRA.Mods.RA.Activities
{
public class ReturnToBase : IActivity
{
diff --git a/OpenRA.Mods.RA/AirstrikePower.cs b/OpenRA.Mods.RA/AirstrikePower.cs
index 8970396794..38a7534292 100644
--- a/OpenRA.Mods.RA/AirstrikePower.cs
+++ b/OpenRA.Mods.RA/AirstrikePower.cs
@@ -21,6 +21,7 @@
using OpenRA.Orders;
using OpenRA.Traits;
using OpenRA.Traits.Activities;
+using OpenRA.Mods.RA.Activities;
namespace OpenRA.Mods.RA
{
diff --git a/OpenRA.Mods.RA/AttackHeli.cs b/OpenRA.Mods.RA/AttackHeli.cs
index e0be5e4844..6a3a28f54a 100644
--- a/OpenRA.Mods.RA/AttackHeli.cs
+++ b/OpenRA.Mods.RA/AttackHeli.cs
@@ -20,6 +20,7 @@
using OpenRA.Traits;
using OpenRA.Traits.Activities;
+using OpenRA.Mods.RA.Activities;
namespace OpenRA.Mods.RA
{
diff --git a/OpenRA.Mods.RA/AttackPlane.cs b/OpenRA.Mods.RA/AttackPlane.cs
index 0783081975..e592504414 100644
--- a/OpenRA.Mods.RA/AttackPlane.cs
+++ b/OpenRA.Mods.RA/AttackPlane.cs
@@ -20,6 +20,7 @@
using OpenRA.Traits;
using OpenRA.Traits.Activities;
+using OpenRA.Mods.RA.Activities;
namespace OpenRA.Mods.RA
{
diff --git a/OpenRA.Mods.RA/CrateDrop.cs b/OpenRA.Mods.RA/CrateDrop.cs
index 78249a6d3e..81e14a8443 100644
--- a/OpenRA.Mods.RA/CrateDrop.cs
+++ b/OpenRA.Mods.RA/CrateDrop.cs
@@ -23,6 +23,7 @@ using System.Collections.Generic;
using OpenRA.GameRules;
using OpenRA.Traits;
using OpenRA.Traits.Activities;
+using OpenRA.Mods.RA.Activities;
namespace OpenRA.Mods.RA
{
diff --git a/OpenRA.Game/Traits/Helicopter.cs b/OpenRA.Mods.RA/Helicopter.cs
similarity index 95%
rename from OpenRA.Game/Traits/Helicopter.cs
rename to OpenRA.Mods.RA/Helicopter.cs
index f77011dc6b..5e9fadf2c0 100644
--- a/OpenRA.Game/Traits/Helicopter.cs
+++ b/OpenRA.Mods.RA/Helicopter.cs
@@ -22,8 +22,10 @@ using System;
using System.Linq;
using OpenRA.Traits.Activities;
using OpenRA.GameRules;
+using OpenRA.Traits;
+using OpenRA.Mods.RA.Activities;
-namespace OpenRA.Traits
+namespace OpenRA.Mods.RA
{
class HelicopterInfo : ITraitInfo
{
diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
index a914993e76..64533c77b7 100644
--- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
+++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
@@ -50,9 +50,18 @@
+
+
+
+
+
+
+
+
+
@@ -87,6 +96,7 @@
+
@@ -111,6 +121,7 @@
+
diff --git a/OpenRA.Mods.RA/ParaDrop.cs b/OpenRA.Mods.RA/ParaDrop.cs
index b900a8457c..66ae29387c 100644
--- a/OpenRA.Mods.RA/ParaDrop.cs
+++ b/OpenRA.Mods.RA/ParaDrop.cs
@@ -24,6 +24,7 @@ using OpenRA.Traits;
using OpenRA.Traits.Activities;
using OpenRA.FileFormats;
using OpenRA.GameRules;
+using OpenRA.Mods.RA.Activities;
namespace OpenRA.Mods.RA
{
diff --git a/OpenRA.Mods.RA/ParatroopersPower.cs b/OpenRA.Mods.RA/ParatroopersPower.cs
index 77f00cb4fa..99dbc3e10b 100644
--- a/OpenRA.Mods.RA/ParatroopersPower.cs
+++ b/OpenRA.Mods.RA/ParatroopersPower.cs
@@ -21,6 +21,7 @@
using OpenRA.Orders;
using OpenRA.Traits;
using OpenRA.Traits.Activities;
+using OpenRA.Mods.RA.Activities;
namespace OpenRA.Mods.RA
{
diff --git a/OpenRA.Game/Traits/Plane.cs b/OpenRA.Mods.RA/Plane.cs
similarity index 94%
rename from OpenRA.Game/Traits/Plane.cs
rename to OpenRA.Mods.RA/Plane.cs
index 46b5849193..5c5d3d30cc 100644
--- a/OpenRA.Game/Traits/Plane.cs
+++ b/OpenRA.Mods.RA/Plane.cs
@@ -22,8 +22,10 @@ using System;
using System.Linq;
using OpenRA.Traits.Activities;
using OpenRA.GameRules;
+using OpenRA.Traits;
+using OpenRA.Mods.RA.Activities;
-namespace OpenRA.Traits
+namespace OpenRA.Mods.RA
{
public class PlaneInfo : ITraitInfo
{
diff --git a/OpenRA.Mods.RA/ReturnOnIdle.cs b/OpenRA.Mods.RA/ReturnOnIdle.cs
index 1484bb7899..295a9996ac 100644
--- a/OpenRA.Mods.RA/ReturnOnIdle.cs
+++ b/OpenRA.Mods.RA/ReturnOnIdle.cs
@@ -22,6 +22,7 @@ using System;
using OpenRA.Traits.Activities;
using System.Drawing;
using OpenRA.Traits;
+using OpenRA.Mods.RA.Activities;
namespace OpenRA.Mods.RA
{
diff --git a/OpenRA.Mods.RA/SpyPlanePower.cs b/OpenRA.Mods.RA/SpyPlanePower.cs
index 3caa89843e..1783594217 100644
--- a/OpenRA.Mods.RA/SpyPlanePower.cs
+++ b/OpenRA.Mods.RA/SpyPlanePower.cs
@@ -22,6 +22,7 @@ using System.Collections.Generic;
using OpenRA.Traits;
using OpenRA.Traits.Activities;
using OpenRA.Orders;
+using OpenRA.Mods.RA.Activities;
namespace OpenRA.Mods.RA
{