diff --git a/OpenRA.Mods.RA/Cargo.cs b/OpenRA.Mods.RA/Cargo.cs index 0d27c7ed84..bc64498ef2 100644 --- a/OpenRA.Mods.RA/Cargo.cs +++ b/OpenRA.Mods.RA/Cargo.cs @@ -21,7 +21,7 @@ namespace OpenRA.Mods.RA public readonly int UnloadFacing = 0; } - public class Cargo : IPips, IIssueOrder, IResolveOrder, IOrderCursor, IOrderVoice + public class Cargo : IPips, IIssueOrder, IResolveOrder, IOrderCursor, IOrderVoice, INotifyDamage { List cargo = new List(); public IEnumerable Passengers { get { return cargo; } } @@ -114,5 +114,12 @@ namespace OpenRA.Mods.RA { cargo.Add(a); } + + public void Damaged(Actor self, AttackInfo e) + { + if (e.DamageStateChanged && e.DamageState == DamageState.Dead) + foreach (var c in cargo) + c.Kill(e.Attacker); + } } }