diff --git a/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj b/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj
index ba122626d5..8004297628 100644
--- a/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj
+++ b/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj
@@ -61,6 +61,7 @@
+
diff --git a/OpenRA.Mods.Cnc/RenderCargo.cs b/OpenRA.Mods.Cnc/RenderCargo.cs
new file mode 100644
index 0000000000..d597125668
--- /dev/null
+++ b/OpenRA.Mods.Cnc/RenderCargo.cs
@@ -0,0 +1,41 @@
+#region Copyright & License Information
+/*
+ * Copyright 2007-2010 The OpenRA Developers (see AUTHORS)
+ * This file is part of OpenRA, which is free software. It is made
+ * available to you under the terms of the GNU General Public License
+ * as published by the Free Software Foundation. For more information,
+ * see LICENSE.
+ */
+#endregion
+
+using System.Collections.Generic;
+using OpenRA.Traits;
+using OpenRA.Mods.RA;
+using System;
+using System.Linq;
+
+namespace OpenRA.Mods.Cnc
+{
+ class RenderCargoInfo : ITraitInfo, ITraitPrerequisite
+ {
+ public object Create(ActorInitializer init) { return new RenderCargo(init.self); }
+ }
+
+ public class RenderCargo : IRenderModifier
+ {
+ Cargo cargo;
+
+ public RenderCargo(Actor self)
+ {
+ cargo = self.Trait();
+ }
+
+ public IEnumerable ModifyRender(Actor self, IEnumerable r)
+ {
+ foreach (var c in cargo.Passengers)
+ c.CenterLocation = self.CenterLocation;
+
+ return r.Concat(cargo.Passengers.SelectMany(a => a.Render()));
+ }
+ }
+}
\ No newline at end of file
diff --git a/OpenRA.Mods.RA/Cargo.cs b/OpenRA.Mods.RA/Cargo.cs
index 752f6fe5e6..0d27c7ed84 100644
--- a/OpenRA.Mods.RA/Cargo.cs
+++ b/OpenRA.Mods.RA/Cargo.cs
@@ -24,6 +24,7 @@ namespace OpenRA.Mods.RA
public class Cargo : IPips, IIssueOrder, IResolveOrder, IOrderCursor, IOrderVoice
{
List cargo = new List();
+ public IEnumerable Passengers { get { return cargo; } }
public Order IssueOrder(Actor self, int2 xy, MouseInput mi, Actor underCursor)
{
diff --git a/mods/cnc/maps/gdi01/map.yaml b/mods/cnc/maps/gdi01/map.yaml
index ccd428f6a4..e37b1aeaca 100644
--- a/mods/cnc/maps/gdi01/map.yaml
+++ b/mods/cnc/maps/gdi01/map.yaml
@@ -447,4 +447,5 @@ Rules:
LocalPlayerFromMap:
-CreateMPPlayers:
-SpawnMPUnits:
+ -ConquestVictoryConditions:
Gdi01Script:
diff --git a/mods/cnc/sequences-vehicles.xml b/mods/cnc/sequences-vehicles.xml
index a84e3c2569..bf090260ef 100644
--- a/mods/cnc/sequences-vehicles.xml
+++ b/mods/cnc/sequences-vehicles.xml
@@ -106,6 +106,7 @@
+
diff --git a/mods/cnc/vehicles.yaml b/mods/cnc/vehicles.yaml
index d312de8dbb..3eca65df0b 100644
--- a/mods/cnc/vehicles.yaml
+++ b/mods/cnc/vehicles.yaml
@@ -556,6 +556,8 @@ LST:
RevealsShroud:
Range: 7
RenderUnit:
+ BelowUnits:
+ RenderCargo:
Cargo:
Types: Infantry, Vehicle
Passengers: 5