anchor.diff:        Exit;
       end;
       //We should try to make a new route if we're blocked by a locked opponent, or if we were blocked in the past (to clear fDestBlocked)
  -    if fDestBlocked or fOpponent.Action.Locked then
  +    if fDestBlocked or aOpponent.Action.Locked then
       begin
         newNodeList := TKMPointList.Create;
         //Make a new route avoiding tiles with busy units
  
positive.code: 
  //If we were asked to move away then all we are allowed to do is push and exchanging,
  //no re-routing, dodging etc. so we must exit here before any more tests
  function TKMUnitActionWalkTo.IntCheckIfPushed(HighestInteractionCount:integer):boolean;
  begin
    Result := false;
  
    if fInteractionStatus = kisPushed then
    begin
      //If we've been trying to get out of the way for a while but we haven't found a solution,
      //(i.e. other unit is stuck) try a different direction
      if HighestInteractionCount >= PUSHED_TIMEOUT then
      begin
  
        fInteractionStatus := kisNone;
  
negative.code:   begin
      Explanation := 'Diagonal vertex is being used, we must wait';
      ExplanationLogAdd;
      Exit(False);
    end;
  
    //If there's no unit we can keep on walking, interaction does not need to be solved
  