anchor.diff:      function CanWalkDiagonaly(const aFrom: TKMPoint; bX, bY: SmallInt): Boolean;
   
       function TopHill: Byte;
  -    procedure FlattenTerrain(Loc: TKMPoint; aUpdateWalkConnects: Boolean=true); overload;
  +    procedure FlattenTerrain(Loc: TKMPoint; aUpdateWalkConnects: Boolean = True; aIgnoreCanElevate: Boolean = False); overload;
       procedure FlattenTerrain(LocList: TKMPointList); overload;
   
       function ConvertCursorToMapCoord(inX,inY:single): Single;
  
positive.code:   function CanElevateAt(aX, aY: Word): Boolean;
    begin
      //Passability does not get set for the row below the bottom/right edges
      Result := (CanElevate in Land[aY, aX].Passability) or (aX = fMapX) or (aY = fMapY);
    end;
  
  var
  
negative.code:     else      Exit;
    end;
  
    FlattenTerrain(Loc, True, True); //Ignore canElevate since it can prevent stonehill from being still walkable and cause a crash
  end;
  
  
  