diff --git a/OpenRA.Mods.RA/Effects/PowerdownIndicator.cs b/OpenRA.Mods.Common/Effects/PowerdownIndicator.cs
similarity index 93%
rename from OpenRA.Mods.RA/Effects/PowerdownIndicator.cs
rename to OpenRA.Mods.Common/Effects/PowerdownIndicator.cs
index d69d99b219..ddd7780e48 100644
--- a/OpenRA.Mods.RA/Effects/PowerdownIndicator.cs
+++ b/OpenRA.Mods.Common/Effects/PowerdownIndicator.cs
@@ -11,9 +11,9 @@
using System.Collections.Generic;
using OpenRA.Effects;
using OpenRA.Graphics;
-using OpenRA.Mods.RA.Power;
+using OpenRA.Mods.Common.Power;
-namespace OpenRA.Mods.RA.Effects
+namespace OpenRA.Mods.Common.Effects
{
class PowerdownIndicator : IEffect
{
diff --git a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
index 377d5f27d4..2bc8fd304b 100644
--- a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
+++ b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
@@ -59,6 +59,7 @@
+
@@ -85,6 +86,12 @@
+
+
+
+
+
+
diff --git a/OpenRA.Mods.RA/Power/AffectedByPowerOutage.cs b/OpenRA.Mods.Common/Traits/Power/AffectedByPowerOutage.cs
similarity index 97%
rename from OpenRA.Mods.RA/Power/AffectedByPowerOutage.cs
rename to OpenRA.Mods.Common/Traits/Power/AffectedByPowerOutage.cs
index 4abbbcfd73..e302e62956 100644
--- a/OpenRA.Mods.RA/Power/AffectedByPowerOutage.cs
+++ b/OpenRA.Mods.Common/Traits/Power/AffectedByPowerOutage.cs
@@ -11,7 +11,7 @@
using System.Drawing;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA.Power
+namespace OpenRA.Mods.Common.Power
{
public class AffectedByPowerOutageInfo : ITraitInfo
{
diff --git a/OpenRA.Mods.RA/Power/CanPowerDown.cs b/OpenRA.Mods.Common/Traits/Power/CanPowerDown.cs
similarity index 95%
rename from OpenRA.Mods.RA/Power/CanPowerDown.cs
rename to OpenRA.Mods.Common/Traits/Power/CanPowerDown.cs
index 081d46f334..5843af5ddc 100644
--- a/OpenRA.Mods.RA/Power/CanPowerDown.cs
+++ b/OpenRA.Mods.Common/Traits/Power/CanPowerDown.cs
@@ -8,10 +8,10 @@
*/
#endregion
-using OpenRA.Mods.RA.Effects;
+using OpenRA.Mods.Common.Effects;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA.Power
+namespace OpenRA.Mods.Common.Power
{
[Desc("The player can disable the power individually on this actor.")]
public class CanPowerDownInfo : ITraitInfo, Requires
diff --git a/OpenRA.Mods.RA/Power/Player/PowerManager.cs b/OpenRA.Mods.Common/Traits/Power/Player/PowerManager.cs
similarity index 99%
rename from OpenRA.Mods.RA/Power/Player/PowerManager.cs
rename to OpenRA.Mods.Common/Traits/Power/Player/PowerManager.cs
index 05f2a38512..781f03dbff 100644
--- a/OpenRA.Mods.RA/Power/Player/PowerManager.cs
+++ b/OpenRA.Mods.Common/Traits/Power/Player/PowerManager.cs
@@ -12,7 +12,7 @@ using System.Collections.Generic;
using System.Linq;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA.Power
+namespace OpenRA.Mods.Common.Power
{
public class PowerManagerInfo : ITraitInfo, Requires
{
diff --git a/OpenRA.Mods.RA/Power/Power.cs b/OpenRA.Mods.Common/Traits/Power/Power.cs
similarity index 97%
rename from OpenRA.Mods.RA/Power/Power.cs
rename to OpenRA.Mods.Common/Traits/Power/Power.cs
index 5c3628c4f9..2cc802dbc0 100644
--- a/OpenRA.Mods.RA/Power/Power.cs
+++ b/OpenRA.Mods.Common/Traits/Power/Power.cs
@@ -12,7 +12,7 @@ using System;
using System.Linq;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA.Power
+namespace OpenRA.Mods.Common.Power
{
public class PowerInfo : ITraitInfo
{
diff --git a/OpenRA.Mods.RA/Power/RequiresPower.cs b/OpenRA.Mods.Common/Traits/Power/RequiresPower.cs
similarity index 96%
rename from OpenRA.Mods.RA/Power/RequiresPower.cs
rename to OpenRA.Mods.Common/Traits/Power/RequiresPower.cs
index bdf521b528..26be0a5d64 100644
--- a/OpenRA.Mods.RA/Power/RequiresPower.cs
+++ b/OpenRA.Mods.Common/Traits/Power/RequiresPower.cs
@@ -10,7 +10,7 @@
using OpenRA.Traits;
-namespace OpenRA.Mods.RA.Power
+namespace OpenRA.Mods.Common.Power
{
class RequiresPowerInfo : ITraitInfo
{
diff --git a/OpenRA.Mods.RA/Power/ScalePowerWithHealth.cs b/OpenRA.Mods.Common/Traits/Power/ScalePowerWithHealth.cs
similarity index 96%
rename from OpenRA.Mods.RA/Power/ScalePowerWithHealth.cs
rename to OpenRA.Mods.Common/Traits/Power/ScalePowerWithHealth.cs
index 815bcf8a55..f44d477c6e 100644
--- a/OpenRA.Mods.RA/Power/ScalePowerWithHealth.cs
+++ b/OpenRA.Mods.Common/Traits/Power/ScalePowerWithHealth.cs
@@ -10,7 +10,7 @@
using OpenRA.Traits;
-namespace OpenRA.Mods.RA.Power
+namespace OpenRA.Mods.Common.Power
{
[Desc("Scale power amount with the current health.")]
public class ScalePowerWithHealthInfo : ITraitInfo, Requires, Requires
diff --git a/OpenRA.Mods.D2k/Widgets/BuildPaletteWidget.cs b/OpenRA.Mods.D2k/Widgets/BuildPaletteWidget.cs
index 2d89c22fe4..a40cb9d194 100644
--- a/OpenRA.Mods.D2k/Widgets/BuildPaletteWidget.cs
+++ b/OpenRA.Mods.D2k/Widgets/BuildPaletteWidget.cs
@@ -16,7 +16,7 @@ using OpenRA.Graphics;
using OpenRA.Mods.RA;
using OpenRA.Mods.RA.Buildings;
using OpenRA.Mods.RA.Orders;
-using OpenRA.Mods.RA.Power;
+using OpenRA.Mods.Common.Power;
using OpenRA.Mods.RA.Render;
using OpenRA.Network;
using OpenRA.Primitives;
diff --git a/OpenRA.Mods.D2k/Widgets/Logic/IngameChromeLogic.cs b/OpenRA.Mods.D2k/Widgets/Logic/IngameChromeLogic.cs
index 6206171aaf..8a6e27b557 100644
--- a/OpenRA.Mods.D2k/Widgets/Logic/IngameChromeLogic.cs
+++ b/OpenRA.Mods.D2k/Widgets/Logic/IngameChromeLogic.cs
@@ -12,7 +12,7 @@ using System;
using System.Drawing;
using System.Linq;
using OpenRA.Mods.RA;
-using OpenRA.Mods.RA.Power;
+using OpenRA.Mods.Common.Power;
using OpenRA.Mods.RA.Widgets;
using OpenRA.Mods.RA.Widgets.Logic;
using OpenRA.Mods.D2k.Widgets;
diff --git a/OpenRA.Mods.RA/AI/BaseBuilder.cs b/OpenRA.Mods.RA/AI/BaseBuilder.cs
index 45224b4864..205dcf8b89 100644
--- a/OpenRA.Mods.RA/AI/BaseBuilder.cs
+++ b/OpenRA.Mods.RA/AI/BaseBuilder.cs
@@ -12,7 +12,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
using OpenRA.Mods.RA.Buildings;
-using OpenRA.Mods.RA.Power;
+using OpenRA.Mods.Common.Power;
using OpenRA.Traits;
namespace OpenRA.Mods.RA.AI
diff --git a/OpenRA.Mods.RA/AI/HackyAI.cs b/OpenRA.Mods.RA/AI/HackyAI.cs
index c8f8911238..976feca29f 100644
--- a/OpenRA.Mods.RA/AI/HackyAI.cs
+++ b/OpenRA.Mods.RA/AI/HackyAI.cs
@@ -17,7 +17,7 @@ using OpenRA.Mods.RA.Activities;
using OpenRA.Mods.RA.Air;
using OpenRA.Mods.RA.Buildings;
using OpenRA.Mods.RA.Move;
-using OpenRA.Mods.RA.Power;
+using OpenRA.Mods.Common.Power;
using OpenRA.Primitives;
using OpenRA.Support;
using OpenRA.Traits;
diff --git a/OpenRA.Mods.RA/Infiltration/InfiltrateForPowerOutage.cs b/OpenRA.Mods.RA/Infiltration/InfiltrateForPowerOutage.cs
index 2103ab1a09..a710375cd3 100644
--- a/OpenRA.Mods.RA/Infiltration/InfiltrateForPowerOutage.cs
+++ b/OpenRA.Mods.RA/Infiltration/InfiltrateForPowerOutage.cs
@@ -9,7 +9,7 @@
#endregion
using System.Linq;
-using OpenRA.Mods.RA.Power;
+using OpenRA.Mods.Common.Power;
using OpenRA.Traits;
namespace OpenRA.Mods.RA.Infiltration
diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
index d55a0331c7..1de1084be4 100644
--- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
+++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
@@ -124,8 +124,6 @@
-
-
@@ -167,15 +165,12 @@
-
-
-
@@ -209,7 +204,6 @@
-
@@ -265,7 +259,6 @@
-
diff --git a/OpenRA.Mods.RA/Orders/PowerDownOrderGenerator.cs b/OpenRA.Mods.RA/Orders/PowerDownOrderGenerator.cs
index 703b246fad..1c75bfa17a 100755
--- a/OpenRA.Mods.RA/Orders/PowerDownOrderGenerator.cs
+++ b/OpenRA.Mods.RA/Orders/PowerDownOrderGenerator.cs
@@ -11,7 +11,7 @@
using System.Collections.Generic;
using System.Linq;
using OpenRA.Graphics;
-using OpenRA.Mods.RA.Power;
+using OpenRA.Mods.Common.Power;
namespace OpenRA.Mods.RA.Orders
{
diff --git a/OpenRA.Mods.RA/Player/ClassicProductionQueue.cs b/OpenRA.Mods.RA/Player/ClassicProductionQueue.cs
index 83ec8f60bb..492aafe841 100644
--- a/OpenRA.Mods.RA/Player/ClassicProductionQueue.cs
+++ b/OpenRA.Mods.RA/Player/ClassicProductionQueue.cs
@@ -11,7 +11,7 @@
using System.Collections.Generic;
using System.Linq;
using OpenRA.Mods.RA.Buildings;
-using OpenRA.Mods.RA.Power;
+using OpenRA.Mods.Common.Power;
using OpenRA.Traits;
namespace OpenRA.Mods.RA
diff --git a/OpenRA.Mods.RA/Player/ProductionQueue.cs b/OpenRA.Mods.RA/Player/ProductionQueue.cs
index d6ecfcd5ce..810bef7df1 100644
--- a/OpenRA.Mods.RA/Player/ProductionQueue.cs
+++ b/OpenRA.Mods.RA/Player/ProductionQueue.cs
@@ -12,7 +12,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
using OpenRA.Mods.RA.Buildings;
-using OpenRA.Mods.RA.Power;
+using OpenRA.Mods.Common.Power;
using OpenRA.Traits;
namespace OpenRA.Mods.RA
diff --git a/OpenRA.Mods.RA/Widgets/Logic/Ingame/IngamePowerBarLogic.cs b/OpenRA.Mods.RA/Widgets/Logic/Ingame/IngamePowerBarLogic.cs
index 5c531312ab..0eb901b1e5 100644
--- a/OpenRA.Mods.RA/Widgets/Logic/Ingame/IngamePowerBarLogic.cs
+++ b/OpenRA.Mods.RA/Widgets/Logic/Ingame/IngamePowerBarLogic.cs
@@ -10,7 +10,7 @@
using System.Drawing;
using OpenRA.Mods.Common.Widgets;
-using OpenRA.Mods.RA.Power;
+using OpenRA.Mods.Common.Power;
using OpenRA.Widgets;
namespace OpenRA.Mods.RA.Widgets.Logic
diff --git a/OpenRA.Mods.RA/Widgets/Logic/Ingame/IngamePowerCounterLogic.cs b/OpenRA.Mods.RA/Widgets/Logic/Ingame/IngamePowerCounterLogic.cs
index a2cf8dfd3d..c380058b19 100644
--- a/OpenRA.Mods.RA/Widgets/Logic/Ingame/IngamePowerCounterLogic.cs
+++ b/OpenRA.Mods.RA/Widgets/Logic/Ingame/IngamePowerCounterLogic.cs
@@ -10,7 +10,7 @@
using System.Drawing;
using OpenRA.Mods.Common.Widgets;
-using OpenRA.Mods.RA.Power;
+using OpenRA.Mods.Common.Power;
using OpenRA.Widgets;
namespace OpenRA.Mods.RA.Widgets.Logic
diff --git a/OpenRA.Mods.RA/Widgets/Logic/ObserverStatsLogic.cs b/OpenRA.Mods.RA/Widgets/Logic/ObserverStatsLogic.cs
index 239faeba72..10c96f1b00 100644
--- a/OpenRA.Mods.RA/Widgets/Logic/ObserverStatsLogic.cs
+++ b/OpenRA.Mods.RA/Widgets/Logic/ObserverStatsLogic.cs
@@ -13,7 +13,7 @@ using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using OpenRA.Graphics;
-using OpenRA.Mods.RA.Power;
+using OpenRA.Mods.Common.Power;
using OpenRA.Network;
using OpenRA.Traits;
using OpenRA.Widgets;
diff --git a/OpenRA.Mods.RA/Widgets/Logic/ProductionTooltipLogic.cs b/OpenRA.Mods.RA/Widgets/Logic/ProductionTooltipLogic.cs
index b5b610d9f1..2016f00d9d 100644
--- a/OpenRA.Mods.RA/Widgets/Logic/ProductionTooltipLogic.cs
+++ b/OpenRA.Mods.RA/Widgets/Logic/ProductionTooltipLogic.cs
@@ -11,7 +11,7 @@
using System;
using System.Drawing;
using System.Linq;
-using OpenRA.Mods.RA.Power;
+using OpenRA.Mods.Common.Power;
using OpenRA.Traits;
using OpenRA.Widgets;