anchor.diff:  
   
   procedure TKMTerrain.SetField(Loc: TKMPoint; aOwner: TKMHandIndex; aFieldType: TFieldType; aStage: Byte = 0; aRandomAge: Boolean = False);
  -  procedure SetCorn(aFieldAge, aTerrain: Byte; aObj: Integer = -1);
  +  procedure SetLand(aFieldAge, aTerrain: Byte; aObj: Integer = -1);
     begin
       Land[Loc.Y, Loc.X].FieldAge := aFieldAge;
   
  
positive.code:       Land[Loc.Y,Loc.X].CornOrWine := 1;
  
      case aStage of
        0:  SetCorn(0, 62, GetObj); //empty field
  
        1:  begin //Sow corn
              FieldAge := 1 + Ord(aRandomAge) * KaMRandom((CORN_AGE_1 - 1) div 2);
              SetCorn(FieldAge, 61, GetObj);
            end;
  
        2:  begin //Young seedings
              FieldAge := CORN_AGE_1 + Ord(aRandomAge) * KaMRandom((CORN_AGE_2 - CORN_AGE_1) div 2);
              SetCorn(FieldAge, 59, 255);
            end;
  
        3:  begin //Seedings
              FieldAge := CORN_AGE_2 + Ord(aRandomAge) * KaMRandom((CORN_AGE_3 - CORN_AGE_2) div 2);
              SetCorn(FieldAge, 60, 255);
            end;
  
        4:  begin //Smaller greenish Corn
              FieldAge := CORN_AGE_3 + Ord(aRandomAge) * KaMRandom((CORN_AGE_FULL - CORN_AGE_3) div 2);
              SetCorn(FieldAge, 60, 58);
            end;
  
        5:  begin //Full-grown Corn
              FieldAge := CORN_AGE_FULL - 1; //-1 because it is increased in update state, otherwise it wouldn't be noticed
              SetCorn(FieldAge, 60, 59);
            end;
  
        6:  SetCorn(0, 63, 255); //Corn has been cut
      end;
    end;
  
  
negative.code:     if fMapEditor then
        Land[Loc.Y,Loc.X].CornOrWine := 2;
  
      case aStage of
        0:  begin //Set new fruits
              FieldAge := 1 + Ord(aRandomAge) * KaMRandom((WINE_AGE_1 - 1) div 2);
              SetLand(FieldAge, 55, 54);
            end;
  
        1:  begin //Fruits start to grow
              FieldAge := WINE_AGE_1 + Ord(aRandomAge) * KaMRandom((WINE_AGE_1 - WINE_AGE_1) div 2);
              SetLand(FieldAge, 55, 55);
            end;
  
        2:  begin //Fruits continue to grow
              FieldAge := WINE_AGE_2 + Ord(aRandomAge) * KaMRandom((WINE_AGE_FULL - WINE_AGE_2) div 2);
              SetLand(FieldAge, 55, 56);
            end;
  
        3:  begin //Ready to be harvested
              FieldAge := WINE_AGE_FULL - 1; //-1 because it is increased in update state, otherwise it wouldn't be noticed
              SetLand(FieldAge, 55, 57);
            end;
      end;
    end;
  