Remove TargetActor and TargetLocation from order issuing.

This commit is contained in:
Paul Chote
2017-10-15 16:45:16 +00:00
committed by reaperrr
parent 4896a90b8d
commit d967c564a2
45 changed files with 104 additions and 144 deletions

View File

@@ -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;
}

View File

@@ -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)

View File

@@ -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)

View File

@@ -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);
}
}

View File

@@ -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));
}
}

View File

@@ -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
};
}

View File

@@ -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
};