anchor.diff:  
     row: Integer;
   
  -  FConfig: TModdedConfigs;
  -  FCombinedConfig: TJSONObject;
  -
     legacy_config: TJsonObjectList; //index = lecacy ID
     i: integer;
  -  spell_config, o: TJSONObject;
  +  spell_config: TJSONObject;
     loc_name: String;
  -  iter: TJSONEnum;
  -  info: TSpellInfo;
  -begin
  -  FConfig := TModdedConfigs.Create;
  -  FCombinedConfig := CreateJSONObject([]);
  -
  -
  +begin
     sptrairs := TTextResource.Create(SPELL_TRAITS);
     legacy_config := TJsonObjectList.Create(True);
   
  
positive.code:       legacy_data.Add(o);
      end;
  
      FConfig.Load(AProgess, APaths, ResourceLoader, FCombinedConfig);
  
      MergeLegacy(legacy_data, FCombinedConfig);
  
      for iter in FCombinedConfig do
      begin
        info := HeroClassInfos.Add;
  
        info.Identifier := iter.Key;
  
        FDestreamer.JSONToObjectEx(iter.Value as TJSONObject, info);
      end;
    finally
      legacy_data.Free;
      hctraits.free;
      FCombinedConfig.Free;
      FConfig.Free;
    end;
  end;
  
  procedure TListsManager.LoadCreatures(AProgess: IProgressCallback;
    APaths: TModdedConfigPaths);
  var
    FConfig: TModdedConfigs;
    FCombinedConfig: TJSONObject;
  
    crtraits: TTextResource;
    legacy_data: TJsonObjectList;
  
    i: SizeInt;
    o: TJSONObject;
    iter: TJSONEnum;
    info: TCreatureInfo;
    shift: Integer;
  
    name_count: integer;
  begin
    FConfig := TModdedConfigs.Create;
    FCombinedConfig := CreateJSONObject([]);
  
    legacy_data := TJsonObjectList.Create(true);
    crtraits := TTextResource.Create(CREATURE_TRAITS);
    try
  
negative.code:     property CastleDefName: AnsiString read FCastleDefName write SetCastleDefName;
      property CapitolDefName:  AnsiString read FCapitolDefName write SetCapitolDefName;
      property HasTown: Boolean read FHasTown write SetHasTown;
  
    public //ISerializeNotify
      procedure BeforeSerialize(Sender:TObject);
      procedure AfterSerialize(Sender:TObject; AData: TJSONData);
      procedure BeforeDeSerialize(Sender:TObject; AData: TJSONData);
      procedure AfterDeSerialize(Sender:TObject; AData: TJSONData);
    published
      property Town: TTownInfo read FTown;
    end;
  