diff --git a/OpenRA.Mods.RA/EjectOnDeath.cs b/OpenRA.Mods.RA/EjectOnDeath.cs index 1dc3417550..f2132669be 100644 --- a/OpenRA.Mods.RA/EjectOnDeath.cs +++ b/OpenRA.Mods.RA/EjectOnDeath.cs @@ -33,7 +33,7 @@ namespace OpenRA.Mods.RA { public void Killed(Actor self, AttackInfo e) { - if (self.Owner.WinState == WinState.Lost) + if (self.Owner.WinState == WinState.Lost || !self.World.Map.Contains(self.Location)) return; var r = self.World.SharedRandom.Next(1, 100); diff --git a/OpenRA.Mods.RA/ParaDrop.cs b/OpenRA.Mods.RA/ParaDrop.cs index 1cadb153c3..80888a3c61 100644 --- a/OpenRA.Mods.RA/ParaDrop.cs +++ b/OpenRA.Mods.RA/ParaDrop.cs @@ -77,6 +77,9 @@ namespace OpenRA.Mods.RA if (droppedAt.Contains(self.Location) || checkForSuitableCell && !IsSuitableCell(cargo.Peek(self), self.Location)) return; + if (!self.World.Map.Contains(self.Location)) + return; + // unload a dude here droppedAt.Add(self.Location);