Revert TicksBeforePathing move from Mobile to Move.

This partially reverts commit 11c8cda0c38ad0ac71c58557d34480925307cebd.
This commit is contained in:
Paul Chote
2017-08-11 21:08:25 +01:00
committed by reaperrr
parent 6e8dd5058e
commit 4e493f265f
2 changed files with 10 additions and 10 deletions

View File

@@ -23,8 +23,6 @@ namespace OpenRA.Mods.Common.Activities
{ {
public class Move : Activity public class Move : Activity
{ {
const int AverageTicksBeforePathing = 5;
const int SpreadTicksBeforePathing = 5;
static readonly List<CPos> NoPath = new List<CPos>(); static readonly List<CPos> NoPath = new List<CPos>();
readonly Mobile mobile; readonly Mobile mobile;
@@ -41,7 +39,6 @@ namespace OpenRA.Mods.Common.Activities
int waitTicksRemaining; int waitTicksRemaining;
// To work around queued activity issues while minimizing changes to legacy behaviour // To work around queued activity issues while minimizing changes to legacy behaviour
int ticksBeforePathing;
bool evaluateNearestMovableCell; bool evaluateNearestMovableCell;
// Scriptable move order // Scriptable move order
@@ -140,9 +137,6 @@ namespace OpenRA.Mods.Common.Activities
protected override void OnFirstRun(Actor self) protected override void OnFirstRun(Actor self)
{ {
ticksBeforePathing = AverageTicksBeforePathing +
self.World.SharedRandom.Next(-SpreadTicksBeforePathing, SpreadTicksBeforePathing);
if (evaluateNearestMovableCell && destination.HasValue) if (evaluateNearestMovableCell && destination.HasValue)
{ {
var movableDestination = mobile.NearestMoveableCell(destination.Value); var movableDestination = mobile.NearestMoveableCell(destination.Value);
@@ -165,9 +159,9 @@ namespace OpenRA.Mods.Common.Activities
if (path == null) if (path == null)
{ {
if (ticksBeforePathing > 0) if (mobile.TicksBeforePathing > 0)
{ {
--ticksBeforePathing; --mobile.TicksBeforePathing;
return this; return this;
} }
@@ -264,9 +258,9 @@ namespace OpenRA.Mods.Common.Activities
if (--waitTicksRemaining >= 0) if (--waitTicksRemaining >= 0)
return null; return null;
if (ticksBeforePathing > 0) if (mobile.TicksBeforePathing > 0)
{ {
--ticksBeforePathing; --mobile.TicksBeforePathing;
return null; return null;
} }

View File

@@ -390,6 +390,10 @@ namespace OpenRA.Mods.Common.Traits
public class Mobile : ConditionalTrait<MobileInfo>, INotifyCreated, IIssueOrder, IResolveOrder, IOrderVoice, IPositionable, IMove, public class Mobile : ConditionalTrait<MobileInfo>, INotifyCreated, IIssueOrder, IResolveOrder, IOrderVoice, IPositionable, IMove,
IFacing, IDeathActorInitModifier, INotifyAddedToWorld, INotifyRemovedFromWorld, INotifyBlockingMove, IActorPreviewInitModifier, INotifyBecomingIdle IFacing, IDeathActorInitModifier, INotifyAddedToWorld, INotifyRemovedFromWorld, INotifyBlockingMove, IActorPreviewInitModifier, INotifyBecomingIdle
{ {
const int AverageTicksBeforePathing = 5;
const int SpreadTicksBeforePathing = 5;
internal int TicksBeforePathing = 0;
readonly Actor self; readonly Actor self;
readonly Lazy<IEnumerable<int>> speedModifiers; readonly Lazy<IEnumerable<int>> speedModifiers;
public bool IsMoving { get; set; } public bool IsMoving { get; set; }
@@ -628,6 +632,8 @@ namespace OpenRA.Mods.Common.Traits
if (!order.Queued) if (!order.Queued)
self.CancelActivity(); self.CancelActivity();
TicksBeforePathing = AverageTicksBeforePathing + self.World.SharedRandom.Next(-SpreadTicksBeforePathing, SpreadTicksBeforePathing);
self.SetTargetLine(Target.FromCell(self.World, order.TargetLocation), Color.Green); self.SetTargetLine(Target.FromCell(self.World, order.TargetLocation), Color.Green);
self.QueueActivity(order.Queued, new Move(self, order.TargetLocation, WDist.FromCells(8), null, true)); self.QueueActivity(order.Queued, new Move(self, order.TargetLocation, WDist.FromCells(8), null, true));
} }