From 9762b540b08a143db426dfee87d2cecf51b7a403 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Fri, 8 Oct 2010 17:38:07 +1300 Subject: [PATCH] fix bogus reverse-enter-transport (in ResolveOrder this time) --- OpenRA.Mods.RA/Cargo.cs | 3 +-- OpenRA.Mods.RA/Passenger.cs | 2 ++ 2 files changed, 3 insertions(+), 2 deletions(-) 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 =>