Remove TargetActor and TargetLocation from order issuing.
This commit is contained in:
@@ -124,7 +124,7 @@ namespace OpenRA.Mods.Cnc.Traits
|
||||
public Order IssueOrder(Actor self, IOrderTargeter order, Target target, bool queued)
|
||||
{
|
||||
if (order.OrderID == "Disguise")
|
||||
return new Order(order.OrderID, self, queued) { TargetActor = target.Actor };
|
||||
return new Order(order.OrderID, self, target, queued);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -64,10 +64,7 @@ namespace OpenRA.Mods.Cnc.Traits
|
||||
if (order.OrderID != "Infiltrate")
|
||||
return null;
|
||||
|
||||
if (target.Type == TargetType.FrozenActor)
|
||||
return new Order(order.OrderID, self, queued) { ExtraData = target.FrozenActor.ID };
|
||||
|
||||
return new Order(order.OrderID, self, queued) { TargetActor = target.Actor };
|
||||
return new Order(order.OrderID, self, target, queued);
|
||||
}
|
||||
|
||||
bool IsValidOrder(Actor self, Order order)
|
||||
|
||||
@@ -121,10 +121,7 @@ namespace OpenRA.Mods.Cnc.Traits
|
||||
if (order.OrderID != "DetonateAttack" && order.OrderID != "Detonate")
|
||||
return null;
|
||||
|
||||
if (target.Type == TargetType.FrozenActor)
|
||||
return new Order(order.OrderID, self, queued) { ExtraData = target.FrozenActor.ID };
|
||||
|
||||
return new Order(order.OrderID, self, queued) { TargetActor = target.Actor };
|
||||
return new Order(order.OrderID, self, target, queued);
|
||||
}
|
||||
|
||||
Order IIssueDeployOrder.IssueDeployOrder(Actor self)
|
||||
|
||||
@@ -73,9 +73,9 @@ namespace OpenRA.Mods.Cnc.Traits
|
||||
else
|
||||
self.World.OrderGenerator = new MinefieldOrderGenerator(self, start);
|
||||
|
||||
return new Order("BeginMinefield", self, false) { TargetLocation = start };
|
||||
return new Order("BeginMinefield", self, Target.FromCell(self.World, start), false);
|
||||
case "PlaceMine":
|
||||
return new Order("PlaceMine", self, false) { TargetLocation = self.Location };
|
||||
return new Order("PlaceMine", self, Target.FromCell(self.World, self.Location), false);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
@@ -83,7 +83,7 @@ namespace OpenRA.Mods.Cnc.Traits
|
||||
|
||||
Order IIssueDeployOrder.IssueDeployOrder(Actor self)
|
||||
{
|
||||
return new Order("PlaceMine", self, false) { TargetLocation = self.Location };
|
||||
return new Order("PlaceMine", self, Target.FromCell(self.World, self.Location), false);
|
||||
}
|
||||
|
||||
void IResolveOrder.ResolveOrder(Actor self, Order order)
|
||||
@@ -195,7 +195,7 @@ namespace OpenRA.Mods.Cnc.Traits
|
||||
{
|
||||
minelayers.First().World.CancelInputMode();
|
||||
foreach (var minelayer in minelayers)
|
||||
yield return new Order("PlaceMinefield", minelayer, false) { TargetLocation = cell };
|
||||
yield return new Order("PlaceMinefield", minelayer, Target.FromCell(world, cell), false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -88,9 +88,9 @@ namespace OpenRA.Mods.Cnc.Traits
|
||||
self.World.OrderGenerator = new PortableChronoOrderGenerator(self, Info);
|
||||
|
||||
if (order.OrderID == "PortableChronoTeleport")
|
||||
return new Order(order.OrderID, self, queued) { TargetLocation = self.World.Map.CellContaining(target.CenterPosition) };
|
||||
return new Order(order.OrderID, self, target, queued);
|
||||
|
||||
return new Order(order.OrderID, self, queued) { TargetActor = target.Actor };
|
||||
return null;
|
||||
}
|
||||
|
||||
public void ResolveOrder(Actor self, Order order)
|
||||
@@ -185,7 +185,7 @@ namespace OpenRA.Mods.Cnc.Traits
|
||||
&& self.Trait<PortableChrono>().CanTeleport && self.Owner.Shroud.IsExplored(cell))
|
||||
{
|
||||
world.CancelInputMode();
|
||||
yield return new Order("PortableChronoTeleport", self, mi.Modifiers.HasModifier(Modifiers.Shift)) { TargetLocation = cell };
|
||||
yield return new Order("PortableChronoTeleport", self, Target.FromCell(world, cell), mi.Modifiers.HasModifier(Modifiers.Shift));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -97,9 +97,8 @@ namespace OpenRA.Mods.Cnc.Traits
|
||||
{
|
||||
world.CancelInputMode();
|
||||
if (mi.Button == expectedButton && IsValidTarget(world, cell))
|
||||
yield return new Order(order, manager.Self, false)
|
||||
yield return new Order(order, manager.Self, Target.FromCell(world, cell), false)
|
||||
{
|
||||
TargetLocation = cell,
|
||||
SuppressVisualFeedback = true
|
||||
};
|
||||
}
|
||||
|
||||
@@ -221,9 +221,8 @@ namespace OpenRA.Mods.Cnc.Traits
|
||||
{
|
||||
// Cannot chronoshift into unexplored location
|
||||
if (IsValidTarget(xy))
|
||||
yield return new Order(order, manager.Self, false)
|
||||
yield return new Order(order, manager.Self, Target.FromCell(manager.Self.World, xy), false)
|
||||
{
|
||||
TargetLocation = xy,
|
||||
ExtraLocation = sourceLocation,
|
||||
SuppressVisualFeedback = true
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user