Remove order.TargetActor from Passenger.

This commit is contained in:
Paul Chote
2018-05-24 20:37:19 +01:00
committed by reaperrr
parent fde531b808
commit c78ee66d92

View File

@@ -110,8 +110,12 @@ namespace OpenRA.Mods.Common.Traits
public string VoicePhraseForOrder(Actor self, Order order) public string VoicePhraseForOrder(Actor self, Order order)
{ {
if ((order.OrderString != "EnterTransport" && order.OrderString != "EnterTransports") || if (order.OrderString != "EnterTransport" && order.OrderString != "EnterTransports")
!CanEnter(order.TargetActor)) return null; return null;
if (order.Target.Type != TargetType.Actor || !CanEnter(order.Target.Actor))
return null;
return Info.Voice; return Info.Voice;
} }
@@ -139,19 +143,27 @@ namespace OpenRA.Mods.Common.Traits
public void ResolveOrder(Actor self, Order order) public void ResolveOrder(Actor self, Order order)
{ {
if (order.OrderString == "EnterTransport" || order.OrderString == "EnterTransports") if (order.OrderString != "EnterTransport" && order.OrderString != "EnterTransports")
{ return;
if (order.TargetActor == null) return;
if (!CanEnter(order.TargetActor)) return;
if (!IsCorrectCargoType(order.TargetActor)) return;
var target = Target.FromOrder(self.World, order); // Enter orders are only valid for own/allied actors,
self.SetTargetLine(target, Color.Green); // which are guaranteed to never be frozen.
if (order.Target.Type != TargetType.Actor)
return;
self.CancelActivity(); var targetActor = order.Target.Actor;
var transports = order.OrderString == "EnterTransports"; if (!CanEnter(targetActor))
self.QueueActivity(new EnterTransport(self, order.TargetActor, transports ? Info.MaxAlternateTransportAttempts : 0, !transports)); return;
}
if (!IsCorrectCargoType(targetActor))
return;
self.SetTargetLine(order.Target, Color.Green);
self.CancelActivity();
var transports = order.OrderString == "EnterTransports";
self.QueueActivity(new EnterTransport(self, targetActor, transports ? Info.MaxAlternateTransportAttempts : 0, !transports));
} }
public bool Reserve(Actor self, Cargo cargo) public bool Reserve(Actor self, Cargo cargo)