diff --git a/OpenRA.Mods.RA/Activities/Demolish.cs b/OpenRA.Mods.Common/Activities/Demolish.cs
similarity index 95%
rename from OpenRA.Mods.RA/Activities/Demolish.cs
rename to OpenRA.Mods.Common/Activities/Demolish.cs
index 0f9d0ad43c..1ce0282d2a 100644
--- a/OpenRA.Mods.RA/Activities/Demolish.cs
+++ b/OpenRA.Mods.Common/Activities/Demolish.cs
@@ -11,12 +11,10 @@
using System.Collections.Generic;
using System.Linq;
using OpenRA.Effects;
-using OpenRA.Mods.Common.Activities;
using OpenRA.Mods.Common.Traits;
-using OpenRA.Mods.RA.Traits;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA.Activities
+namespace OpenRA.Mods.Common.Activities
{
class Demolish : Enter
{
diff --git a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
index a32e1ae179..3414364aad 100644
--- a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
+++ b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
@@ -73,6 +73,7 @@
+
@@ -204,6 +205,7 @@
+
@@ -211,6 +213,7 @@
+
@@ -337,6 +340,7 @@
+
diff --git a/OpenRA.Mods.RA/C4Demolition.cs b/OpenRA.Mods.Common/Traits/C4Demolition.cs
similarity index 97%
rename from OpenRA.Mods.RA/C4Demolition.cs
rename to OpenRA.Mods.Common/Traits/C4Demolition.cs
index 7d631676e1..e0cc121c40 100644
--- a/OpenRA.Mods.RA/C4Demolition.cs
+++ b/OpenRA.Mods.Common/Traits/C4Demolition.cs
@@ -11,12 +11,11 @@
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
-using OpenRA.Mods.Common;
+using OpenRA.Mods.Common.Activities;
using OpenRA.Mods.Common.Orders;
-using OpenRA.Mods.RA.Activities;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA.Traits
+namespace OpenRA.Mods.Common.Traits
{
class C4DemolitionInfo : ITraitInfo
{
diff --git a/OpenRA.Mods.RA/EmitInfantryOnSell.cs b/OpenRA.Mods.Common/Traits/EmitInfantryOnSell.cs
similarity index 96%
rename from OpenRA.Mods.RA/EmitInfantryOnSell.cs
rename to OpenRA.Mods.Common/Traits/EmitInfantryOnSell.cs
index d28cf7b071..a64be601ee 100644
--- a/OpenRA.Mods.RA/EmitInfantryOnSell.cs
+++ b/OpenRA.Mods.Common/Traits/EmitInfantryOnSell.cs
@@ -9,11 +9,10 @@
#endregion
using System.Linq;
-using OpenRA.Mods.Common.Traits;
using OpenRA.Primitives;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA.Traits
+namespace OpenRA.Mods.Common.Traits
{
[Desc("Spawn new actors when sold.")]
class EmitInfantryOnSellInfo : TraitInfo
diff --git a/OpenRA.Mods.RA/Transforms.cs b/OpenRA.Mods.Common/Traits/Transforms.cs
similarity index 93%
rename from OpenRA.Mods.RA/Transforms.cs
rename to OpenRA.Mods.Common/Traits/Transforms.cs
index d12763d3e9..f30ed50368 100644
--- a/OpenRA.Mods.RA/Transforms.cs
+++ b/OpenRA.Mods.Common/Traits/Transforms.cs
@@ -11,14 +11,12 @@
using System.Collections.Generic;
using OpenRA.Mods.Common.Activities;
using OpenRA.Mods.Common.Orders;
-using OpenRA.Mods.Common.Traits;
-using OpenRA.Mods.RA.Activities;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA.Traits
+namespace OpenRA.Mods.Common.Traits
{
[Desc("Actor becomes a specified actor type when this trait is triggered.")]
- class TransformsInfo : ITraitInfo
+ public class TransformsInfo : ITraitInfo
{
[ActorReference] public readonly string IntoActor = null;
public readonly CVec Offset = CVec.Zero;
@@ -29,7 +27,7 @@ namespace OpenRA.Mods.RA.Traits
public virtual object Create(ActorInitializer init) { return new Transforms(init, this); }
}
- class Transforms : IIssueOrder, IResolveOrder, IOrderVoice
+ public class Transforms : IIssueOrder, IResolveOrder, IOrderVoice
{
readonly Actor self;
readonly TransformsInfo info;
diff --git a/OpenRA.Mods.RA/Effects/Parachute.cs b/OpenRA.Mods.RA/Effects/Parachute.cs
index dd884dc679..d3981152f8 100644
--- a/OpenRA.Mods.RA/Effects/Parachute.cs
+++ b/OpenRA.Mods.RA/Effects/Parachute.cs
@@ -13,6 +13,7 @@ using System.Linq;
using OpenRA.Effects;
using OpenRA.Graphics;
using OpenRA.Mods.Common.Traits;
+using OpenRA.Mods.RA.Traits;
using OpenRA.Traits;
namespace OpenRA.Mods.RA.Effects
diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
index 13c79bdaac..425369810f 100644
--- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
+++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
@@ -83,7 +83,6 @@
-
@@ -97,12 +96,11 @@
-
+
-
@@ -122,7 +120,6 @@
-
@@ -130,7 +127,7 @@
-
+
@@ -138,7 +135,7 @@
-
+
@@ -150,8 +147,7 @@
-
-
+
@@ -219,11 +215,11 @@
-
+
-
+
diff --git a/OpenRA.Mods.RA/Scripting/Properties/TransformProperties.cs b/OpenRA.Mods.RA/Scripting/Properties/TransformProperties.cs
index 9fce1c0cce..a812024102 100644
--- a/OpenRA.Mods.RA/Scripting/Properties/TransformProperties.cs
+++ b/OpenRA.Mods.RA/Scripting/Properties/TransformProperties.cs
@@ -8,6 +8,7 @@
*/
#endregion
+using OpenRA.Mods.Common.Traits;
using OpenRA.Mods.RA.Traits;
using OpenRA.Scripting;
using OpenRA.Traits;
diff --git a/OpenRA.Mods.RA/Cloneable.cs b/OpenRA.Mods.RA/Traits/Cloneable.cs
similarity index 95%
rename from OpenRA.Mods.RA/Cloneable.cs
rename to OpenRA.Mods.RA/Traits/Cloneable.cs
index b1d9455bd0..ba3b90356f 100644
--- a/OpenRA.Mods.RA/Cloneable.cs
+++ b/OpenRA.Mods.RA/Traits/Cloneable.cs
@@ -11,7 +11,7 @@
using System;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA
+namespace OpenRA.Mods.RA.Traits
{
[Desc("Actors with the \"ClonesProducedUnits\" trait will produce a free duplicate of me.")]
public class CloneableInfo : TraitInfo
diff --git a/OpenRA.Mods.RA/Disguise.cs b/OpenRA.Mods.RA/Traits/Disguise.cs
similarity index 100%
rename from OpenRA.Mods.RA/Disguise.cs
rename to OpenRA.Mods.RA/Traits/Disguise.cs
diff --git a/OpenRA.Mods.RA/EjectOnDeath.cs b/OpenRA.Mods.RA/Traits/EjectOnDeath.cs
similarity index 100%
rename from OpenRA.Mods.RA/EjectOnDeath.cs
rename to OpenRA.Mods.RA/Traits/EjectOnDeath.cs
diff --git a/OpenRA.Mods.RA/ParaDrop.cs b/OpenRA.Mods.RA/Traits/ParaDrop.cs
similarity index 98%
rename from OpenRA.Mods.RA/ParaDrop.cs
rename to OpenRA.Mods.RA/Traits/ParaDrop.cs
index 2d0b7f34cb..4a99936df5 100644
--- a/OpenRA.Mods.RA/ParaDrop.cs
+++ b/OpenRA.Mods.RA/Traits/ParaDrop.cs
@@ -13,10 +13,9 @@ using System.Collections.Generic;
using OpenRA.Mods.Common.Traits;
using OpenRA.Mods.RA.Activities;
using OpenRA.Mods.RA.Effects;
-using OpenRA.Mods.RA.Traits;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA
+namespace OpenRA.Mods.RA.Traits
{
[Desc("This unit can spawn and eject other actors while flying.")]
public class ParaDropInfo : ITraitInfo, Requires
diff --git a/OpenRA.Mods.RA/Parachutable.cs b/OpenRA.Mods.RA/Traits/Parachutable.cs
similarity index 98%
rename from OpenRA.Mods.RA/Parachutable.cs
rename to OpenRA.Mods.RA/Traits/Parachutable.cs
index 49c93c3140..682c493f1c 100644
--- a/OpenRA.Mods.RA/Parachutable.cs
+++ b/OpenRA.Mods.RA/Traits/Parachutable.cs
@@ -10,10 +10,9 @@
using OpenRA.Mods.Common.Effects;
using OpenRA.Mods.Common.Traits;
-using OpenRA.Mods.RA.Traits;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA
+namespace OpenRA.Mods.RA.Traits
{
[Desc("Can be paradropped by a ParaDrop actor.")]
class ParachutableInfo : ITraitInfo
diff --git a/OpenRA.Mods.RA/TransformOnPassenger.cs b/OpenRA.Mods.RA/Traits/TransformOnPassenger.cs
similarity index 98%
rename from OpenRA.Mods.RA/TransformOnPassenger.cs
rename to OpenRA.Mods.RA/Traits/TransformOnPassenger.cs
index 9a7381ebda..532768d0a5 100644
--- a/OpenRA.Mods.RA/TransformOnPassenger.cs
+++ b/OpenRA.Mods.RA/Traits/TransformOnPassenger.cs
@@ -13,7 +13,7 @@ using OpenRA.Mods.Common.Activities;
using OpenRA.Mods.Common.Traits;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA
+namespace OpenRA.Mods.RA.Traits
{
public class TransformOnPassengerInfo : ITraitInfo
{