Add MaxBackwardCells for moving backward control
This commit is contained in:
@@ -160,7 +160,7 @@ namespace OpenRA.Mods.Common.Activities
|
||||
|
||||
var firstFacing = self.World.Map.FacingBetween(mobile.FromCell, nextCell.Value.Cell, mobile.Facing);
|
||||
|
||||
if (mobile.Info.CanMoveBackward && self.World.WorldTick - startTicks < mobile.Info.BackwardDuration && Math.Abs(firstFacing.Angle - mobile.Facing.Angle) > 256)
|
||||
if (mobile.Info.CanMoveBackward && path.Count < mobile.Info.MaxBackwardCells && self.World.WorldTick - startTicks < mobile.Info.BackwardDuration && Math.Abs(firstFacing.Angle - mobile.Facing.Angle) > 256)
|
||||
{
|
||||
ActorFacingModifier = new WAngle(512);
|
||||
firstFacing += ActorFacingModifier;
|
||||
|
||||
@@ -74,6 +74,9 @@ namespace OpenRA.Mods.Common.Traits
|
||||
[Desc("After how many ticks the actor will turn forward during backoff")]
|
||||
public readonly int BackwardDuration = 40;
|
||||
|
||||
[Desc("Actor will try to move backward if the number of the cells in path lower than this")]
|
||||
public readonly int MaxBackwardCells = 15;
|
||||
|
||||
[ConsumedConditionReference]
|
||||
[Desc("Boolean expression defining the condition under which the regular (non-force) move cursor is disabled.")]
|
||||
public readonly BooleanExpression RequireForceMoveCondition = null;
|
||||
|
||||
Reference in New Issue
Block a user