diff --git a/OpenRA.Mods.Common/Effects/NukeLaunch.cs b/OpenRA.Mods.Common/Effects/NukeLaunch.cs
index 8c0eebc7ba..8f0ef74060 100644
--- a/OpenRA.Mods.Common/Effects/NukeLaunch.cs
+++ b/OpenRA.Mods.Common/Effects/NukeLaunch.cs
@@ -13,6 +13,7 @@ using System.Linq;
using OpenRA.Effects;
using OpenRA.GameRules;
using OpenRA.Graphics;
+using OpenRA.Mods.Common.Traits;
using OpenRA.Traits;
namespace OpenRA.Mods.Common.Effects
diff --git a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
index 1117b04de5..354671b53c 100644
--- a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
+++ b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
@@ -79,40 +79,40 @@
-
-
-
-
-
-
-
-
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OpenRA.Mods.Common/Modifiers/DisabledOverlay.cs b/OpenRA.Mods.Common/Traits/Modifiers/DisabledOverlay.cs
similarity index 96%
rename from OpenRA.Mods.Common/Modifiers/DisabledOverlay.cs
rename to OpenRA.Mods.Common/Traits/Modifiers/DisabledOverlay.cs
index 2036ed3b13..a622cefbd2 100644
--- a/OpenRA.Mods.Common/Modifiers/DisabledOverlay.cs
+++ b/OpenRA.Mods.Common/Traits/Modifiers/DisabledOverlay.cs
@@ -12,7 +12,7 @@ using System.Collections.Generic;
using OpenRA.Graphics;
using OpenRA.Traits;
-namespace OpenRA.Mods.Common
+namespace OpenRA.Mods.Common.Traits
{
[Desc("Use together with CanPowerDown/RequiresPower on buildings or Husk for vehicles.")]
public class DisabledOverlayInfo : TraitInfo { }
diff --git a/OpenRA.Mods.Common/Modifiers/HiddenUnderFog.cs b/OpenRA.Mods.Common/Traits/Modifiers/HiddenUnderFog.cs
similarity index 96%
rename from OpenRA.Mods.Common/Modifiers/HiddenUnderFog.cs
rename to OpenRA.Mods.Common/Traits/Modifiers/HiddenUnderFog.cs
index 94915d7935..4f928b148a 100644
--- a/OpenRA.Mods.Common/Modifiers/HiddenUnderFog.cs
+++ b/OpenRA.Mods.Common/Traits/Modifiers/HiddenUnderFog.cs
@@ -13,7 +13,7 @@ using System.Linq;
using OpenRA.Graphics;
using OpenRA.Traits;
-namespace OpenRA.Mods.Common
+namespace OpenRA.Mods.Common.Traits
{
[Desc("The actor stays invisible under fog of war.")]
public class HiddenUnderFogInfo : TraitInfo { }
diff --git a/OpenRA.Mods.Common/Modifiers/UpgradeOverlay.cs b/OpenRA.Mods.Common/Traits/Modifiers/UpgradeOverlay.cs
similarity index 97%
rename from OpenRA.Mods.Common/Modifiers/UpgradeOverlay.cs
rename to OpenRA.Mods.Common/Traits/Modifiers/UpgradeOverlay.cs
index 3801461cfa..abefe185b8 100644
--- a/OpenRA.Mods.Common/Modifiers/UpgradeOverlay.cs
+++ b/OpenRA.Mods.Common/Traits/Modifiers/UpgradeOverlay.cs
@@ -12,7 +12,7 @@ using System.Collections.Generic;
using OpenRA.Graphics;
using OpenRA.Traits;
-namespace OpenRA.Mods.Common
+namespace OpenRA.Mods.Common.Traits
{
[Desc("Display a colored overlay when a timed upgrade is active.")]
public class UpgradeOverlayInfo : ITraitInfo
diff --git a/OpenRA.Mods.Common/PaletteEffects/CloakPaletteEffect.cs b/OpenRA.Mods.Common/Traits/PaletteEffects/CloakPaletteEffect.cs
similarity index 96%
rename from OpenRA.Mods.Common/PaletteEffects/CloakPaletteEffect.cs
rename to OpenRA.Mods.Common/Traits/PaletteEffects/CloakPaletteEffect.cs
index fafa707da9..cee5e6b95a 100644
--- a/OpenRA.Mods.Common/PaletteEffects/CloakPaletteEffect.cs
+++ b/OpenRA.Mods.Common/Traits/PaletteEffects/CloakPaletteEffect.cs
@@ -13,7 +13,7 @@ using System.Drawing;
using OpenRA.Graphics;
using OpenRA.Traits;
-namespace OpenRA.Mods.Common
+namespace OpenRA.Mods.Common.Traits
{
public class CloakPaletteEffectInfo : TraitInfo { }
diff --git a/OpenRA.Mods.Common/PaletteEffects/LightPaletteRotator.cs b/OpenRA.Mods.Common/Traits/PaletteEffects/LightPaletteRotator.cs
similarity index 97%
rename from OpenRA.Mods.Common/PaletteEffects/LightPaletteRotator.cs
rename to OpenRA.Mods.Common/Traits/PaletteEffects/LightPaletteRotator.cs
index 4adc6c6833..6eda0e0366 100644
--- a/OpenRA.Mods.Common/PaletteEffects/LightPaletteRotator.cs
+++ b/OpenRA.Mods.Common/Traits/PaletteEffects/LightPaletteRotator.cs
@@ -13,7 +13,7 @@ using System.Linq;
using OpenRA.Graphics;
using OpenRA.Traits;
-namespace OpenRA.Mods.Common
+namespace OpenRA.Mods.Common.Traits
{
[Desc("Palette effect used for blinking \"animations\" on actors.")]
class LightPaletteRotatorInfo : ITraitInfo
diff --git a/OpenRA.Mods.Common/PaletteEffects/MenuPaletteEffect.cs b/OpenRA.Mods.Common/Traits/PaletteEffects/MenuPaletteEffect.cs
similarity index 98%
rename from OpenRA.Mods.Common/PaletteEffects/MenuPaletteEffect.cs
rename to OpenRA.Mods.Common/Traits/PaletteEffects/MenuPaletteEffect.cs
index 7469df6ca1..1f3924d79f 100644
--- a/OpenRA.Mods.Common/PaletteEffects/MenuPaletteEffect.cs
+++ b/OpenRA.Mods.Common/Traits/PaletteEffects/MenuPaletteEffect.cs
@@ -13,7 +13,7 @@ using System.Drawing;
using OpenRA.Graphics;
using OpenRA.Traits;
-namespace OpenRA.Mods.Common
+namespace OpenRA.Mods.Common.Traits
{
[Desc("Fades the world from/to black at the start/end of the game, and can (optionally) desaturate the world")]
public class MenuPaletteEffectInfo : ITraitInfo
diff --git a/OpenRA.Mods.Common/PaletteEffects/NukePaletteEffect.cs b/OpenRA.Mods.Common/Traits/PaletteEffects/NukePaletteEffect.cs
similarity index 97%
rename from OpenRA.Mods.Common/PaletteEffects/NukePaletteEffect.cs
rename to OpenRA.Mods.Common/Traits/PaletteEffects/NukePaletteEffect.cs
index e11c49afca..e30f476fa7 100644
--- a/OpenRA.Mods.Common/PaletteEffects/NukePaletteEffect.cs
+++ b/OpenRA.Mods.Common/Traits/PaletteEffects/NukePaletteEffect.cs
@@ -13,7 +13,7 @@ using System.Drawing;
using OpenRA.Graphics;
using OpenRA.Traits;
-namespace OpenRA.Mods.Common
+namespace OpenRA.Mods.Common.Traits
{
[Desc("Apply palette full screen rotations during atom bomb explosions. Add this to the world actor.")]
class NukePaletteEffectInfo : TraitInfo { }
diff --git a/OpenRA.Mods.Common/PaletteEffects/WaterPaletteRotation.cs b/OpenRA.Mods.Common/Traits/PaletteEffects/WaterPaletteRotation.cs
similarity index 97%
rename from OpenRA.Mods.Common/PaletteEffects/WaterPaletteRotation.cs
rename to OpenRA.Mods.Common/Traits/PaletteEffects/WaterPaletteRotation.cs
index 31ca1ed226..5187e09e23 100644
--- a/OpenRA.Mods.Common/PaletteEffects/WaterPaletteRotation.cs
+++ b/OpenRA.Mods.Common/Traits/PaletteEffects/WaterPaletteRotation.cs
@@ -13,7 +13,7 @@ using System.Linq;
using OpenRA.Graphics;
using OpenRA.Traits;
-namespace OpenRA.Mods.Common
+namespace OpenRA.Mods.Common.Traits
{
[Desc("Palette effect used for sprinkle \"animations\" on terrain tiles.")]
class WaterPaletteRotationInfo : ITraitInfo
diff --git a/OpenRA.Mods.RA/Effects/GpsDot.cs b/OpenRA.Mods.RA/Effects/GpsDot.cs
index 1228c70912..6c598fc777 100644
--- a/OpenRA.Mods.RA/Effects/GpsDot.cs
+++ b/OpenRA.Mods.RA/Effects/GpsDot.cs
@@ -12,7 +12,7 @@ using System;
using System.Collections.Generic;
using OpenRA.Effects;
using OpenRA.Graphics;
-using OpenRA.Mods.Common;
+using OpenRA.Mods.Common.Traits;
using OpenRA.Primitives;
using OpenRA.Traits;
diff --git a/OpenRA.Mods.RA/Widgets/Logic/Ingame/LeaveMapLogic.cs b/OpenRA.Mods.RA/Widgets/Logic/Ingame/LeaveMapLogic.cs
index 1e23af0af3..e64d472361 100644
--- a/OpenRA.Mods.RA/Widgets/Logic/Ingame/LeaveMapLogic.cs
+++ b/OpenRA.Mods.RA/Widgets/Logic/Ingame/LeaveMapLogic.cs
@@ -11,7 +11,7 @@
using System;
using System.Drawing;
using System.Linq;
-using OpenRA.Mods.Common;
+using OpenRA.Mods.Common.Traits;
using OpenRA.Mods.RA.Scripting;
using OpenRA.Network;
using OpenRA.Traits;
diff --git a/OpenRA.Mods.RA/Widgets/Logic/IngameMenuLogic.cs b/OpenRA.Mods.RA/Widgets/Logic/IngameMenuLogic.cs
index 7b0286c4c6..5e933a9f7e 100644
--- a/OpenRA.Mods.RA/Widgets/Logic/IngameMenuLogic.cs
+++ b/OpenRA.Mods.RA/Widgets/Logic/IngameMenuLogic.cs
@@ -10,7 +10,7 @@
using System;
using OpenRA.Graphics;
-using OpenRA.Mods.Common;
+using OpenRA.Mods.Common.Traits;
using OpenRA.Mods.Common.Widgets;
using OpenRA.Widgets;