anchor.diff:  implementation
   
   uses FileUtil, editor_str_consts, root_manager, editor_utils;
  -
   
   { TRumor }
   
  
positive.code:   Result := FAllowedSpells;
  end;
  
  function TVCMIMap.GetTile(Level, X, Y: Integer): TMapTile;
  begin
    Result := (FTerrain[Level][X][Y]); //todo: check
  
negative.code: begin
    if FTerType = AValue then Exit;
    FTerType := AValue;
  end;
  
  
  { TMapLevel }
  
  destructor TMapLevel.Destroy;
  var
    X: SizeInt;
    Y: SizeInt;
  begin
    for X := 0 to Length(FTerrain) - 1 do
    begin
      for Y := 0 to Length(FTerrain[X]) - 1 do
      begin
        FTerrain[X][Y].Free();
      end;
    end;
    inherited Destroy;
  end;
  
  function TMapLevel.GetTile(X, Y: Integer): TMapTile;
  begin
    Result := FTerrain[x,y];
  end;
  
  procedure TMapLevel.Resize;
  begin
    Assert(Height>=0, 'Invalid height');
    Assert(Width>=0, 'Invalid width');
    if (Height=0) or (Width=0) then Exit;
  
  
  end;
  
  procedure TMapLevel.SetHeight(AValue: Integer);
  begin
    if FHeight = AValue then Exit;
    FHeight := AValue;
    Resize();
  end;
  
  procedure TMapLevel.SetWidth(AValue: Integer);
  begin
    if FWidth = AValue then Exit;
    FWidth := AValue;
    Resize();
  end;
  
  { TVCMIMap }
  