diff --git a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
index 1e5952956e..7867d0ae2f 100644
--- a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
+++ b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
@@ -99,6 +99,8 @@
+
+
diff --git a/OpenRA.Mods.RA/Buildings/CustomBuildTimeValue.cs b/OpenRA.Mods.Common/Traits/CustomBuildTimeValue.cs
old mode 100755
new mode 100644
similarity index 96%
rename from OpenRA.Mods.RA/Buildings/CustomBuildTimeValue.cs
rename to OpenRA.Mods.Common/Traits/CustomBuildTimeValue.cs
index 629f73e577..2ef19fd6c7
--- a/OpenRA.Mods.RA/Buildings/CustomBuildTimeValue.cs
+++ b/OpenRA.Mods.Common/Traits/CustomBuildTimeValue.cs
@@ -10,7 +10,7 @@
using OpenRA.Traits;
-namespace OpenRA.Mods.RA.Buildings
+namespace OpenRA.Mods.Common
{
[Desc("Overrides the build time calculated by actor value.")]
public class CustomBuildTimeValueInfo : TraitInfo
diff --git a/OpenRA.Mods.RA/Buildings/CustomSellValue.cs b/OpenRA.Mods.Common/Traits/CustomSellValue.cs
old mode 100755
new mode 100644
similarity index 96%
rename from OpenRA.Mods.RA/Buildings/CustomSellValue.cs
rename to OpenRA.Mods.Common/Traits/CustomSellValue.cs
index 5634cbbb8e..1290e9fd76
--- a/OpenRA.Mods.RA/Buildings/CustomSellValue.cs
+++ b/OpenRA.Mods.Common/Traits/CustomSellValue.cs
@@ -10,7 +10,7 @@
using OpenRA.Traits;
-namespace OpenRA.Mods.RA.Buildings
+namespace OpenRA.Mods.Common
{
[Desc("Allow a non-standard sell/repair value to avoid buy-sell exploits.")]
public class CustomSellValueInfo : TraitInfo
diff --git a/OpenRA.Mods.RA/Valued.cs b/OpenRA.Mods.Common/Traits/Valued.cs
old mode 100755
new mode 100644
similarity index 95%
rename from OpenRA.Mods.RA/Valued.cs
rename to OpenRA.Mods.Common/Traits/Valued.cs
index 4c046a7199..3648ce8a27
--- a/OpenRA.Mods.RA/Valued.cs
+++ b/OpenRA.Mods.Common/Traits/Valued.cs
@@ -10,7 +10,7 @@
using OpenRA.Traits;
-namespace OpenRA.Mods.RA
+namespace OpenRA.Mods.Common
{
[Desc("How much the unit is worth.")]
public class ValuedInfo : TraitInfo
diff --git a/OpenRA.Mods.D2k/Widgets/BuildPaletteWidget.cs b/OpenRA.Mods.D2k/Widgets/BuildPaletteWidget.cs
index a40cb9d194..e7cb847cd9 100644
--- a/OpenRA.Mods.D2k/Widgets/BuildPaletteWidget.cs
+++ b/OpenRA.Mods.D2k/Widgets/BuildPaletteWidget.cs
@@ -13,10 +13,11 @@ using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using OpenRA.Graphics;
+using OpenRA.Mods.Common;
+using OpenRA.Mods.Common.Power;
using OpenRA.Mods.RA;
using OpenRA.Mods.RA.Buildings;
using OpenRA.Mods.RA.Orders;
-using OpenRA.Mods.Common.Power;
using OpenRA.Mods.RA.Render;
using OpenRA.Network;
using OpenRA.Primitives;
diff --git a/OpenRA.Mods.RA/AI/SupportPowerDecision.cs b/OpenRA.Mods.RA/AI/SupportPowerDecision.cs
index f884e76cd8..20cded50a2 100644
--- a/OpenRA.Mods.RA/AI/SupportPowerDecision.cs
+++ b/OpenRA.Mods.RA/AI/SupportPowerDecision.cs
@@ -13,6 +13,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using OpenRA;
+using OpenRA.Mods.Common;
using OpenRA.Mods.RA.AI;
using OpenRA.Traits;
diff --git a/OpenRA.Mods.RA/Activities/Repair.cs b/OpenRA.Mods.RA/Activities/Repair.cs
index e83ad6ffe3..c0f11f0068 100644
--- a/OpenRA.Mods.RA/Activities/Repair.cs
+++ b/OpenRA.Mods.RA/Activities/Repair.cs
@@ -9,6 +9,7 @@
#endregion
using System;
+using OpenRA.Mods.Common;
using OpenRA.Traits;
namespace OpenRA.Mods.RA.Activities
diff --git a/OpenRA.Mods.RA/Activities/Sell.cs b/OpenRA.Mods.RA/Activities/Sell.cs
index 7f8e784d85..bf0428ef22 100755
--- a/OpenRA.Mods.RA/Activities/Sell.cs
+++ b/OpenRA.Mods.RA/Activities/Sell.cs
@@ -8,7 +8,7 @@
*/
#endregion
-using OpenRA.Mods.RA.Buildings;
+using OpenRA.Mods.Common;
using OpenRA.Mods.Common.Effects;
using OpenRA.Traits;
diff --git a/OpenRA.Mods.RA/Buildings/RepairableBuilding.cs b/OpenRA.Mods.RA/Buildings/RepairableBuilding.cs
index ea2ca0ab37..9ab249ab92 100755
--- a/OpenRA.Mods.RA/Buildings/RepairableBuilding.cs
+++ b/OpenRA.Mods.RA/Buildings/RepairableBuilding.cs
@@ -12,6 +12,7 @@ using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
+using OpenRA.Mods.Common;
using OpenRA.Mods.RA.Effects;
using OpenRA.Traits;
diff --git a/OpenRA.Mods.RA/Crates/DuplicateUnitCrateAction.cs b/OpenRA.Mods.RA/Crates/DuplicateUnitCrateAction.cs
index de078920cb..8a74aabdfe 100644
--- a/OpenRA.Mods.RA/Crates/DuplicateUnitCrateAction.cs
+++ b/OpenRA.Mods.RA/Crates/DuplicateUnitCrateAction.cs
@@ -11,6 +11,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using OpenRA.Mods.Common;
using OpenRA.Mods.RA.Move;
using OpenRA.Primitives;
using OpenRA.Traits;
diff --git a/OpenRA.Mods.RA/EmitInfantryOnSell.cs b/OpenRA.Mods.RA/EmitInfantryOnSell.cs
index 690d5919a5..9853b4a5e3 100644
--- a/OpenRA.Mods.RA/EmitInfantryOnSell.cs
+++ b/OpenRA.Mods.RA/EmitInfantryOnSell.cs
@@ -9,6 +9,7 @@
#endregion
using System.Linq;
+using OpenRA.Mods.Common;
using OpenRA.Mods.RA.Buildings;
using OpenRA.Primitives;
using OpenRA.Traits;
diff --git a/OpenRA.Mods.RA/GainsExperience.cs b/OpenRA.Mods.RA/GainsExperience.cs
index 844b71e402..3244ed52af 100644
--- a/OpenRA.Mods.RA/GainsExperience.cs
+++ b/OpenRA.Mods.RA/GainsExperience.cs
@@ -11,6 +11,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using OpenRA.Mods.Common;
using OpenRA.Mods.Common.Effects;
using OpenRA.Mods.RA.Effects;
using OpenRA.Primitives;
diff --git a/OpenRA.Mods.RA/GivesBounty.cs b/OpenRA.Mods.RA/GivesBounty.cs
index ee7f11489a..fc680f4469 100644
--- a/OpenRA.Mods.RA/GivesBounty.cs
+++ b/OpenRA.Mods.RA/GivesBounty.cs
@@ -9,7 +9,7 @@
#endregion
using System.Linq;
-using OpenRA.Mods.RA.Buildings;
+using OpenRA.Mods.Common;
using OpenRA.Mods.Common.Effects;
using OpenRA.Traits;
diff --git a/OpenRA.Mods.RA/GivesExperience.cs b/OpenRA.Mods.RA/GivesExperience.cs
index 78e23aa5c1..d3bdc9dd31 100644
--- a/OpenRA.Mods.RA/GivesExperience.cs
+++ b/OpenRA.Mods.RA/GivesExperience.cs
@@ -8,6 +8,7 @@
*/
#endregion
+using OpenRA.Mods.Common;
using OpenRA.Traits;
namespace OpenRA.Mods.RA
diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
index 0175a5d0fb..e564035462 100644
--- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
+++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
@@ -164,8 +164,6 @@
-
-
@@ -312,7 +310,6 @@
-
diff --git a/OpenRA.Mods.RA/Player/ClassicProductionQueue.cs b/OpenRA.Mods.RA/Player/ClassicProductionQueue.cs
index 492aafe841..555d1dc91f 100644
--- a/OpenRA.Mods.RA/Player/ClassicProductionQueue.cs
+++ b/OpenRA.Mods.RA/Player/ClassicProductionQueue.cs
@@ -10,8 +10,9 @@
using System.Collections.Generic;
using System.Linq;
-using OpenRA.Mods.RA.Buildings;
+using OpenRA.Mods.Common;
using OpenRA.Mods.Common.Power;
+using OpenRA.Mods.RA.Buildings;
using OpenRA.Traits;
namespace OpenRA.Mods.RA
diff --git a/OpenRA.Mods.RA/Player/PlayerStatistics.cs b/OpenRA.Mods.RA/Player/PlayerStatistics.cs
index 73b537af4a..9348b17461 100644
--- a/OpenRA.Mods.RA/Player/PlayerStatistics.cs
+++ b/OpenRA.Mods.RA/Player/PlayerStatistics.cs
@@ -10,6 +10,7 @@
using System.Collections.Generic;
using System.Linq;
+using OpenRA.Mods.Common;
using OpenRA.Mods.RA.Buildings;
using OpenRA.Traits;
diff --git a/OpenRA.Mods.RA/Player/ProductionQueue.cs b/OpenRA.Mods.RA/Player/ProductionQueue.cs
index 810bef7df1..cd0f48d94d 100644
--- a/OpenRA.Mods.RA/Player/ProductionQueue.cs
+++ b/OpenRA.Mods.RA/Player/ProductionQueue.cs
@@ -11,8 +11,9 @@
using System;
using System.Collections.Generic;
using System.Linq;
-using OpenRA.Mods.RA.Buildings;
+using OpenRA.Mods.Common;
using OpenRA.Mods.Common.Power;
+using OpenRA.Mods.RA.Buildings;
using OpenRA.Traits;
namespace OpenRA.Mods.RA
diff --git a/OpenRA.Mods.RA/Scripting/Global/ActorGlobal.cs b/OpenRA.Mods.RA/Scripting/Global/ActorGlobal.cs
index 178d07a2ef..43f08dc9aa 100644
--- a/OpenRA.Mods.RA/Scripting/Global/ActorGlobal.cs
+++ b/OpenRA.Mods.RA/Scripting/Global/ActorGlobal.cs
@@ -10,6 +10,7 @@
using System.Linq;
using Eluant;
+using OpenRA.Mods.Common;
using OpenRA.Mods.RA.Air;
using OpenRA.Mods.RA.Buildings;
using OpenRA.Primitives;
diff --git a/OpenRA.Mods.RA/UtilityCommands/ActorStatsExport.cs b/OpenRA.Mods.RA/UtilityCommands/ActorStatsExport.cs
index 5c405328ba..6f464eed2a 100644
--- a/OpenRA.Mods.RA/UtilityCommands/ActorStatsExport.cs
+++ b/OpenRA.Mods.RA/UtilityCommands/ActorStatsExport.cs
@@ -13,6 +13,7 @@ using System.Collections.Generic;
using System.Data;
using System.Linq;
using OpenRA.GameRules;
+using OpenRA.Mods.Common;
using OpenRA.Traits;
namespace OpenRA.Mods.RA.UtilityCommands
diff --git a/OpenRA.Mods.RA/Widgets/Logic/ObserverStatsLogic.cs b/OpenRA.Mods.RA/Widgets/Logic/ObserverStatsLogic.cs
index 10c96f1b00..67eef99fe5 100644
--- a/OpenRA.Mods.RA/Widgets/Logic/ObserverStatsLogic.cs
+++ b/OpenRA.Mods.RA/Widgets/Logic/ObserverStatsLogic.cs
@@ -13,6 +13,7 @@ using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using OpenRA.Graphics;
+using OpenRA.Mods.Common;
using OpenRA.Mods.Common.Power;
using OpenRA.Network;
using OpenRA.Traits;
diff --git a/OpenRA.Mods.RA/Widgets/Logic/ProductionTooltipLogic.cs b/OpenRA.Mods.RA/Widgets/Logic/ProductionTooltipLogic.cs
index 2016f00d9d..07b5db9eec 100644
--- a/OpenRA.Mods.RA/Widgets/Logic/ProductionTooltipLogic.cs
+++ b/OpenRA.Mods.RA/Widgets/Logic/ProductionTooltipLogic.cs
@@ -11,6 +11,7 @@
using System;
using System.Drawing;
using System.Linq;
+using OpenRA.Mods.Common;
using OpenRA.Mods.Common.Power;
using OpenRA.Traits;
using OpenRA.Widgets;