diff --git a/OpenRA.Game/GameRules/WeaponInfo.cs b/OpenRA.Game/GameRules/WeaponInfo.cs index ea2ebfdac1..0fe697e518 100644 --- a/OpenRA.Game/GameRules/WeaponInfo.cs +++ b/OpenRA.Game/GameRules/WeaponInfo.cs @@ -119,10 +119,7 @@ namespace OpenRA.GameRules // in this case, it's an implementation of IProjectileInfo default: { - var fullTypeName = typeof(IEffect).Namespace + "." + key + "Info"; - Projectile = (IProjectileInfo)typeof(IEffect).Assembly.CreateInstance(fullTypeName); - if (Projectile == null) - throw new InvalidOperationException("Cannot locate projectile type: {0}".F(key)); + Projectile = Game.CreateObject(key + "Info"); FieldLoader.Load(Projectile, kv.Value); } break; }