anchor.diff:                end;
       end;
   
  +//    UsedCnt
  +
       Inc(A, TERRAIN_PACE);
     end;
   end;
  
positive.code: 
      //Tells us the stage of house construction or workers making a road
      TileLock: TKMTileLock;
  
      //Used to display half-dug road
      TileOverlay: TKMTileOverlay; //toNone toDig1, toDig2, toDig3, toDig4 + toRoad
  
negative.code:         begin
            TempUnit := UnitsHitTest(tx, ty);
            // Always include the pushers loc in the possibilities, otherwise we can get two units swapping places forever
            if (KMPoint(tx, ty) = PusherLoc)
              or ((TempUnit <> nil) and (TempUnit.Action is TKMUnitActionStay)
                and (not TKMUnitActionStay(TempUnit.Action).Locked)) then
              isPushable := True;
          end;
          newWeight := 4*Ord(isFree)
                        + Ord(isOffroad)
                        + Ord(isPushable)
                        + 2*KaMRandom('TKMTerrain.GetOutOfTheWay')
                        - 4*U.fFreeWalkBreadCrumbs.GetPointsCnt(KMPoint(tx, ty))
                        ;
  //        if DBG_PUSH_MODE > 0 then
  //          newWeight := newWeight - 10*Ord(exchWithPushedPusher);
  