diff --git a/OpenRA.Mods.RA/Effects/ContrailFader.cs b/OpenRA.Mods.Common/Effects/ContrailFader.cs
old mode 100755
new mode 100644
similarity index 92%
rename from OpenRA.Mods.RA/Effects/ContrailFader.cs
rename to OpenRA.Mods.Common/Effects/ContrailFader.cs
index e2091b667e..1ea7c168dc
--- a/OpenRA.Mods.RA/Effects/ContrailFader.cs
+++ b/OpenRA.Mods.Common/Effects/ContrailFader.cs
@@ -13,9 +13,9 @@ using OpenRA.Effects;
using OpenRA.Graphics;
using OpenRA.Mods.Common.Graphics;
-namespace OpenRA.Mods.RA.Effects
+namespace OpenRA.Mods.Common.Effects
{
- class ContrailFader : IEffect
+ public class ContrailFader : IEffect
{
WPos pos;
ContrailRenderable trail;
diff --git a/OpenRA.Mods.RA/Effects/Smoke.cs b/OpenRA.Mods.Common/Effects/Smoke.cs
similarity index 96%
rename from OpenRA.Mods.RA/Effects/Smoke.cs
rename to OpenRA.Mods.Common/Effects/Smoke.cs
index 0568f8b80a..a5823d1a17 100644
--- a/OpenRA.Mods.RA/Effects/Smoke.cs
+++ b/OpenRA.Mods.Common/Effects/Smoke.cs
@@ -12,7 +12,7 @@ using System.Collections.Generic;
using OpenRA.Effects;
using OpenRA.Graphics;
-namespace OpenRA.Mods.RA.Effects
+namespace OpenRA.Mods.Common.Effects
{
public class Smoke : IEffect
{
diff --git a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
index 97a5eca20c..062343981a 100644
--- a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
+++ b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
@@ -42,8 +42,10 @@
+
+
@@ -78,6 +80,7 @@
+
@@ -96,6 +99,7 @@
+
diff --git a/OpenRA.Mods.RA/Warheads/LeaveSmudgeWarhead.cs b/OpenRA.Mods.Common/Warheads/LeaveSmudgeWarhead.cs
similarity index 98%
rename from OpenRA.Mods.RA/Warheads/LeaveSmudgeWarhead.cs
rename to OpenRA.Mods.Common/Warheads/LeaveSmudgeWarhead.cs
index a8f944fc4b..63330d0184 100644
--- a/OpenRA.Mods.RA/Warheads/LeaveSmudgeWarhead.cs
+++ b/OpenRA.Mods.Common/Warheads/LeaveSmudgeWarhead.cs
@@ -15,7 +15,7 @@ using OpenRA.Effects;
using OpenRA.GameRules;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA
+namespace OpenRA.Mods.Common
{
public class LeaveSmudgeWarhead : Warhead
{
diff --git a/OpenRA.Mods.RA/World/SmudgeLayer.cs b/OpenRA.Mods.Common/World/SmudgeLayer.cs
similarity index 98%
rename from OpenRA.Mods.RA/World/SmudgeLayer.cs
rename to OpenRA.Mods.Common/World/SmudgeLayer.cs
index e05108f08b..1eac416834 100644
--- a/OpenRA.Mods.RA/World/SmudgeLayer.cs
+++ b/OpenRA.Mods.Common/World/SmudgeLayer.cs
@@ -11,10 +11,10 @@
using System.Collections.Generic;
using System.Linq;
using OpenRA.Graphics;
-using OpenRA.Mods.RA.Effects;
+using OpenRA.Mods.Common.Effects;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA
+namespace OpenRA.Mods.Common
{
[Desc("Attach this to the world actor.", "Order of the layers defines the Z sorting.")]
public class SmudgeLayerInfo : ITraitInfo
diff --git a/OpenRA.Mods.RA/Effects/Bullet.cs b/OpenRA.Mods.RA/Effects/Bullet.cs
index 3c1bd32d92..1fc0b0ad50 100755
--- a/OpenRA.Mods.RA/Effects/Bullet.cs
+++ b/OpenRA.Mods.RA/Effects/Bullet.cs
@@ -15,6 +15,7 @@ using System.Linq;
using OpenRA.Effects;
using OpenRA.GameRules;
using OpenRA.Graphics;
+using OpenRA.Mods.Common.Effects;
using OpenRA.Mods.Common.Graphics;
using OpenRA.Traits;
diff --git a/OpenRA.Mods.RA/Effects/Contrail.cs b/OpenRA.Mods.RA/Effects/Contrail.cs
index 78c13f620e..0564097747 100755
--- a/OpenRA.Mods.RA/Effects/Contrail.cs
+++ b/OpenRA.Mods.RA/Effects/Contrail.cs
@@ -11,6 +11,7 @@
using System.Collections.Generic;
using System.Drawing;
using OpenRA.Graphics;
+using OpenRA.Mods.Common.Effects;
using OpenRA.Mods.Common.Graphics;
using OpenRA.Traits;
diff --git a/OpenRA.Mods.RA/Effects/Missile.cs b/OpenRA.Mods.RA/Effects/Missile.cs
index 0a21ad3ac4..d1865b336d 100755
--- a/OpenRA.Mods.RA/Effects/Missile.cs
+++ b/OpenRA.Mods.RA/Effects/Missile.cs
@@ -14,6 +14,7 @@ using System.Linq;
using OpenRA.Effects;
using OpenRA.GameRules;
using OpenRA.Graphics;
+using OpenRA.Mods.Common.Effects;
using OpenRA.Mods.Common.Graphics;
using OpenRA.Traits;
diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
index 9de3cbe00b..c6a7465518 100644
--- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
+++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
@@ -225,7 +225,6 @@
-
@@ -290,7 +289,6 @@
-
@@ -401,7 +399,6 @@
-
@@ -445,7 +442,6 @@
-
diff --git a/OpenRA.Mods.RA/SmokeTrailWhenDamaged.cs b/OpenRA.Mods.RA/SmokeTrailWhenDamaged.cs
index 3f298fbdf6..98a0946092 100644
--- a/OpenRA.Mods.RA/SmokeTrailWhenDamaged.cs
+++ b/OpenRA.Mods.RA/SmokeTrailWhenDamaged.cs
@@ -8,7 +8,7 @@
*/
#endregion
-using OpenRA.Mods.RA.Effects;
+using OpenRA.Mods.Common.Effects;
using OpenRA.Traits;
namespace OpenRA.Mods.RA