anchor.diff:  
       //Tells us the stage of house construction or workers making a road
       TileLock: TKMTileLock;
  +
  +    JamMeter: Integer;
   
       //Used to display half-dug road
       TileOverlay: TKMTileOverlay; //toNone toDig1, toDig2, toDig3, toDig4 + toRoad
  
positive.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) then
            begin
  //            if aPusherWasPushed then
  //              exchWithPushedPusher := True
  //            else
                isPushable := True;
            end
            else if
              ((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)
  //                      - 4*Ord(exchWithPushedPusher)
                        + 2*KaMRandom('TKMTerrain.GetOutOfTheWay')
  //                      - 4*U.fFreeWalkBreadCrumbs.GetPointsCnt(KMPoint(tx, ty))
                        ;
  //        if DBG_PUSH_MODE > 0 then
  //          newWeight := newWeight - 10*Ord(exchWithPushedPusher);
  
negative.code:               end;
      end;
  
  //    UsedCnt
  
      Inc(A, TERRAIN_PACE);
    end;
  end;
  