Merge pull request #7167 from MatthijsBenschop/d2k-carryall-extras
Some carryall fixes
This commit is contained in:
@@ -54,17 +54,18 @@ namespace OpenRA.Mods.D2k.Traits
|
||||
|
||||
void RequestTransport(CPos destination, Activity afterLandActivity)
|
||||
{
|
||||
if (locked || Reserved)
|
||||
return;
|
||||
|
||||
if (destination == CPos.Zero)
|
||||
return;
|
||||
|
||||
if ((self.Location - destination).Length < info.MinDistance)
|
||||
if (destination == CPos.Zero || (self.Location - destination).Length < info.MinDistance)
|
||||
{
|
||||
WantsTransport = false; // Be sure to cancel any pending transports
|
||||
return;
|
||||
}
|
||||
|
||||
Destination = destination;
|
||||
this.afterLandActivity = afterLandActivity;
|
||||
|
||||
if (locked || Reserved)
|
||||
return;
|
||||
|
||||
WantsTransport = true;
|
||||
|
||||
// Inform all idle carriers
|
||||
@@ -87,7 +88,7 @@ namespace OpenRA.Mods.D2k.Traits
|
||||
return;
|
||||
|
||||
WantsTransport = false;
|
||||
Reserved = false;
|
||||
afterLandActivity = null;
|
||||
|
||||
// TODO: We could implement something like a carrier.Trait<AutoCarryAll>().CancelTransportNotify(self) and call it here
|
||||
}
|
||||
|
||||
@@ -181,7 +181,7 @@ namespace OpenRA.Mods.RA.Traits
|
||||
foreach (var n in notify)
|
||||
n.MovingToResources(self, moveTo, next);
|
||||
|
||||
self.QueueActivity(next);
|
||||
self.QueueActivity(new FindResources());
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -355,9 +355,9 @@ namespace OpenRA.Mods.RA.Traits
|
||||
self.QueueActivity(new DeliverResources());
|
||||
|
||||
var notify = self.TraitsImplementing<INotifyHarvesterAction>();
|
||||
var next = new FindResources();
|
||||
var next = new DeliverResources();
|
||||
foreach (var n in notify)
|
||||
n.MovingToResources(self, order.TargetLocation, next);
|
||||
n.MovingToRefinery(self, order.TargetLocation, next);
|
||||
}
|
||||
else if (order.OrderString == "Stop" || order.OrderString == "Move")
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user