fix bogus reverse-enter-transport (in ResolveOrder this time)

This commit is contained in:
Chris Forbes
2010-10-08 17:38:07 +13:00
parent fd34f2ba99
commit 9762b540b0
2 changed files with 3 additions and 2 deletions

View File

@@ -69,7 +69,7 @@ namespace OpenRA.Mods.RA
if( order.OrderString == "ReverseEnterTransport" ) 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>(); var passenger = order.TargetActor.Trait<Passenger>();
passenger.ResolveOrder( order.TargetActor, new Order( "EnterTransport", order.TargetActor, self ) ); passenger.ResolveOrder( order.TargetActor, new Order( "EnterTransport", order.TargetActor, self ) );
@@ -91,7 +91,6 @@ namespace OpenRA.Mods.RA
return true; return true;
} }
public string CursorForOrder(Actor self, Order order) public string CursorForOrder(Actor self, Order order)
{ {
if (order.OrderString != "Unload") return null; if (order.OrderString != "Unload") return null;

View File

@@ -73,7 +73,9 @@ namespace OpenRA.Mods.RA
{ {
if (order.OrderString == "EnterTransport") if (order.OrderString == "EnterTransport")
{ {
if (order.TargetActor == null) return;
if (!CanEnter(order.TargetActor)) return; if (!CanEnter(order.TargetActor)) return;
if (!IsCorrectCargoType(order.TargetActor)) return;
if (self.Owner == self.World.LocalPlayer) if (self.Owner == self.World.LocalPlayer)
self.World.AddFrameEndTask(w => self.World.AddFrameEndTask(w =>