diff --git a/OpenRA.Mods.RA/Activities/UnloadCargo.cs b/OpenRA.Mods.RA/Activities/UnloadCargo.cs index 1615fce7cc..0531a346da 100644 --- a/OpenRA.Mods.RA/Activities/UnloadCargo.cs +++ b/OpenRA.Mods.RA/Activities/UnloadCargo.cs @@ -18,6 +18,10 @@ namespace OpenRA.Mods.RA.Activities { public class UnloadCargo : Activity { + bool unloadAll; + + public UnloadCargo(bool unloadAll) { this.unloadAll = unloadAll; } + CPos? ChooseExitTile(Actor self, Actor cargo) { // is anyone still hogging this tile? @@ -99,7 +103,7 @@ namespace OpenRA.Mods.RA.Activities actor.SetTargetLine(Target.FromCell(rallyPoint), Color.Green, false); }); - return NextActivity; + return unloadAll ? this : NextActivity; } } } diff --git a/OpenRA.Mods.RA/Cargo.cs b/OpenRA.Mods.RA/Cargo.cs index 64269e2cda..0dc2d1b816 100644 --- a/OpenRA.Mods.RA/Cargo.cs +++ b/OpenRA.Mods.RA/Cargo.cs @@ -81,7 +81,7 @@ namespace OpenRA.Mods.RA return; self.CancelActivity(); - self.QueueActivity(new UnloadCargo()); + self.QueueActivity(new UnloadCargo(true)); } } diff --git a/OpenRA.Mods.RA/Missions/Allies01Script.cs b/OpenRA.Mods.RA/Missions/Allies01Script.cs index 16902b05db..2b80583674 100644 --- a/OpenRA.Mods.RA/Missions/Allies01Script.cs +++ b/OpenRA.Mods.RA/Missions/Allies01Script.cs @@ -236,7 +236,7 @@ namespace OpenRA.Mods.RA.Missions chinook.QueueActivity(new HeliFly(insertionLZ.CenterLocation)); chinook.QueueActivity(new Turn(0)); chinook.QueueActivity(new HeliLand(true)); - chinook.QueueActivity(new UnloadCargo()); + chinook.QueueActivity(new UnloadCargo(true)); chinook.QueueActivity(new CallFunc(() => Sound.Play("laugh1.aud"))); chinook.QueueActivity(new Wait(150)); chinook.QueueActivity(new HeliFly(chinookExitPoint.CenterLocation));