anchor.diff:      rdIron:  Result := fTerrain.TileIsIron(X+1, Y+1);
       rdGold:  Result := fTerrain.TileIsGold(X+1, Y+1);
       rdFish:  begin
  -                  curUnit := fTerrain.Land[Y + 1, X + 1].IsUnit;
  +                 curUnit := fTerrain.Land[Y + 1, X + 1].IsUnit;
                    if (curUnit <> nil) and (curUnit is TKMUnitAnimal) then
                        Result := TKMUnitAnimal(curUnit).FishCount
                    else
  
positive.code:   procedure FillArea(X,Y: Word);
    begin
      //Untested area that matches passability
      if (fArea[R,Y,X] = 0) and (TileDeposit(R,X,Y) > 0) then
      begin
        fArea[R,Y,X] := AreaID;
        Inc(Count);
  
negative.code:     function GetCount(aMat: TRawDeposit): Integer;
      function GetAmount(aMat: TRawDeposit; aIndex: Integer): Integer;
      function GetLocation(aMat: TRawDeposit; aIndex: Integer): TKMPointF;
      function TileDepositExist(aMat: TRawDeposit; X,Y: Word): Boolean;
      function TileDeposit(aMat: TRawDeposit; X,Y: Word): Byte;
      procedure FloodFill(const aMat: array of TRawDeposit);
      procedure RecalcAmounts(const aMat: array of TRawDeposit);
  