diff --git a/OpenRA.Mods.RA/Cargo.cs b/OpenRA.Mods.RA/Cargo.cs index b5b88a7cd5..b50bdaf3f2 100644 --- a/OpenRA.Mods.RA/Cargo.cs +++ b/OpenRA.Mods.RA/Cargo.cs @@ -69,7 +69,7 @@ namespace OpenRA.Mods.RA if( order.OrderString == "ReverseEnterTransport" ) { - if( order.Subject.Owner == order.TargetActor.Owner ) + if( order.TargetActor != null && order.Subject.Owner == order.TargetActor.Owner ) { var passenger = order.TargetActor.Trait(); passenger.ResolveOrder( order.TargetActor, new Order( "EnterTransport", order.TargetActor, self ) ); @@ -91,7 +91,6 @@ namespace OpenRA.Mods.RA return true; } - public string CursorForOrder(Actor self, Order order) { if (order.OrderString != "Unload") return null; diff --git a/OpenRA.Mods.RA/Passenger.cs b/OpenRA.Mods.RA/Passenger.cs index 4e9160587b..6854eaa004 100644 --- a/OpenRA.Mods.RA/Passenger.cs +++ b/OpenRA.Mods.RA/Passenger.cs @@ -73,7 +73,9 @@ namespace OpenRA.Mods.RA { if (order.OrderString == "EnterTransport") { + if (order.TargetActor == null) return; if (!CanEnter(order.TargetActor)) return; + if (!IsCorrectCargoType(order.TargetActor)) return; if (self.Owner == self.World.LocalPlayer) self.World.AddFrameEndTask(w =>