diff --git a/OpenRA.Mods.Common/Lint/CheckRangeLimit.cs b/OpenRA.Mods.Common/Lint/CheckRangeLimit.cs
index 228df13261..5dd323c662 100644
--- a/OpenRA.Mods.Common/Lint/CheckRangeLimit.cs
+++ b/OpenRA.Mods.Common/Lint/CheckRangeLimit.cs
@@ -11,7 +11,7 @@
using System;
using System.Linq;
-using OpenRA.Mods.Common.Effects;
+using OpenRA.Mods.Common.Projectiles;
using OpenRA.Mods.Common.Traits;
using OpenRA.Traits;
diff --git a/OpenRA.Mods.Common/Lint/CheckTargetHealthRadius.cs b/OpenRA.Mods.Common/Lint/CheckTargetHealthRadius.cs
index cc6d46e3fe..65b711f907 100644
--- a/OpenRA.Mods.Common/Lint/CheckTargetHealthRadius.cs
+++ b/OpenRA.Mods.Common/Lint/CheckTargetHealthRadius.cs
@@ -11,7 +11,7 @@
using System;
using System.Linq;
-using OpenRA.Mods.Common.Effects;
+using OpenRA.Mods.Common.Projectiles;
using OpenRA.Mods.Common.Traits;
using OpenRA.Mods.Common.Warheads;
using OpenRA.Traits;
diff --git a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
index e817174245..cd9a0c8ff9 100644
--- a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
+++ b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj
@@ -147,21 +147,21 @@
-
-
-
-
-
+
+
+
+
+
diff --git a/OpenRA.Mods.Common/Effects/AreaBeam.cs b/OpenRA.Mods.Common/Projectiles/AreaBeam.cs
similarity index 98%
rename from OpenRA.Mods.Common/Effects/AreaBeam.cs
rename to OpenRA.Mods.Common/Projectiles/AreaBeam.cs
index d1c53e3de2..5e38dd48f8 100644
--- a/OpenRA.Mods.Common/Effects/AreaBeam.cs
+++ b/OpenRA.Mods.Common/Projectiles/AreaBeam.cs
@@ -15,11 +15,12 @@ using System.Drawing;
using OpenRA.Effects;
using OpenRA.GameRules;
using OpenRA.Graphics;
+using OpenRA.Mods.Common.Effects;
using OpenRA.Mods.Common.Graphics;
using OpenRA.Mods.Common.Traits;
using OpenRA.Traits;
-namespace OpenRA.Mods.Common.Effects
+namespace OpenRA.Mods.Common.Projectiles
{
public class AreaBeamInfo : IProjectileInfo
{
diff --git a/OpenRA.Mods.Common/Effects/Bullet.cs b/OpenRA.Mods.Common/Projectiles/Bullet.cs
similarity index 98%
rename from OpenRA.Mods.Common/Effects/Bullet.cs
rename to OpenRA.Mods.Common/Projectiles/Bullet.cs
index 0c0d72e698..f6c4526b1c 100644
--- a/OpenRA.Mods.Common/Effects/Bullet.cs
+++ b/OpenRA.Mods.Common/Projectiles/Bullet.cs
@@ -15,11 +15,12 @@ using System.Drawing;
using OpenRA.Effects;
using OpenRA.GameRules;
using OpenRA.Graphics;
+using OpenRA.Mods.Common.Effects;
using OpenRA.Mods.Common.Graphics;
using OpenRA.Mods.Common.Traits;
using OpenRA.Traits;
-namespace OpenRA.Mods.Common.Effects
+namespace OpenRA.Mods.Common.Projectiles
{
public class BulletInfo : IProjectileInfo
{
diff --git a/OpenRA.Mods.Common/Effects/GravityBomb.cs b/OpenRA.Mods.Common/Projectiles/GravityBomb.cs
similarity index 97%
rename from OpenRA.Mods.Common/Effects/GravityBomb.cs
rename to OpenRA.Mods.Common/Projectiles/GravityBomb.cs
index 952094724f..0340dd337b 100644
--- a/OpenRA.Mods.Common/Effects/GravityBomb.cs
+++ b/OpenRA.Mods.Common/Projectiles/GravityBomb.cs
@@ -13,9 +13,10 @@ using System.Collections.Generic;
using OpenRA.Effects;
using OpenRA.GameRules;
using OpenRA.Graphics;
+using OpenRA.Mods.Common.Effects;
using OpenRA.Traits;
-namespace OpenRA.Mods.Common.Effects
+namespace OpenRA.Mods.Common.Projectiles
{
public class GravityBombInfo : IProjectileInfo
{
diff --git a/OpenRA.Mods.Common/Effects/LaserZap.cs b/OpenRA.Mods.Common/Projectiles/LaserZap.cs
similarity index 97%
rename from OpenRA.Mods.Common/Effects/LaserZap.cs
rename to OpenRA.Mods.Common/Projectiles/LaserZap.cs
index f984f143a6..36abdc4945 100644
--- a/OpenRA.Mods.Common/Effects/LaserZap.cs
+++ b/OpenRA.Mods.Common/Projectiles/LaserZap.cs
@@ -14,10 +14,11 @@ using System.Drawing;
using OpenRA.Effects;
using OpenRA.GameRules;
using OpenRA.Graphics;
+using OpenRA.Mods.Common.Effects;
using OpenRA.Mods.Common.Graphics;
using OpenRA.Traits;
-namespace OpenRA.Mods.Common.Effects
+namespace OpenRA.Mods.Common.Projectiles
{
[Desc("Not a sprite, but an engine effect.")]
class LaserZapInfo : IProjectileInfo
diff --git a/OpenRA.Mods.Common/Effects/Missile.cs b/OpenRA.Mods.Common/Projectiles/Missile.cs
similarity index 99%
rename from OpenRA.Mods.Common/Effects/Missile.cs
rename to OpenRA.Mods.Common/Projectiles/Missile.cs
index de0f81dfdb..b2f7050377 100644
--- a/OpenRA.Mods.Common/Effects/Missile.cs
+++ b/OpenRA.Mods.Common/Projectiles/Missile.cs
@@ -16,12 +16,12 @@ using System.Linq;
using OpenRA.Effects;
using OpenRA.GameRules;
using OpenRA.Graphics;
-using OpenRA.Mods.Common;
+using OpenRA.Mods.Common.Effects;
using OpenRA.Mods.Common.Graphics;
using OpenRA.Mods.Common.Traits;
using OpenRA.Traits;
-namespace OpenRA.Mods.Common.Effects
+namespace OpenRA.Mods.Common.Projectiles
{
public class MissileInfo : IProjectileInfo
{
diff --git a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
index 64a0b7e57d..686c4ac219 100644
--- a/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
+++ b/OpenRA.Mods.RA/OpenRA.Mods.RA.csproj
@@ -82,7 +82,7 @@
-
+
diff --git a/OpenRA.Mods.RA/Effects/TeslaZap.cs b/OpenRA.Mods.RA/Projectiles/TeslaZap.cs
similarity index 98%
rename from OpenRA.Mods.RA/Effects/TeslaZap.cs
rename to OpenRA.Mods.RA/Projectiles/TeslaZap.cs
index b4ea7e9d5d..450ced7e34 100644
--- a/OpenRA.Mods.RA/Effects/TeslaZap.cs
+++ b/OpenRA.Mods.RA/Projectiles/TeslaZap.cs
@@ -16,7 +16,7 @@ using OpenRA.Graphics;
using OpenRA.Mods.RA.Graphics;
using OpenRA.Traits;
-namespace OpenRA.Mods.RA.Effects
+namespace OpenRA.Mods.RA.Projectiles
{
class TeslaZapInfo : IProjectileInfo
{