anchor.diff:    );
   
   const
  -  TInteractionStatusNames: array [TInteractionStatus] of string = (
  +  InteractionStatusName: array [TKMInteractionStatus] of string = (
       'None', 'Pushing', 'Pushed', 'Trying', 'Waiting'
     );
   
  
positive.code: 
  function TKMUnitActionWalkTo.GetExplanation: UnicodeString;
  begin
    Result := TInteractionStatusNames[fInteractionStatus] + ': ' + Explanation;
  end;
  
  
  
negative.code:     fDestBlocked: Boolean; //Our route is blocked by busy units, so we must wait for them to clear. Give way to all other units (who might be carrying stone for the worker blocking us)
      fDoExchange: Boolean; //Command to make exchange maneuver with other unit, should use MakeExchange when vertex use needs to be set
      fInteractionCount, fLastSideStepNodePos: Integer;
      fInteractionStatus: TKMInteractionStatus;
      fAvoidLockedAsMovementCost: Boolean; //Avoid locked as 'movement cost' if true and means 'as unwalkable' if false
      function AssembleTheRoute: Boolean;
      function CanWalkToTarget(const aFrom: TKMPoint; aPass: TKMTerrainPassability): Boolean;
  