hch
2025-12-19 ed63aa36ced400b4eef79862e85498213ae40c4a
Main/Config/Configs/HeroConfig.cs
@@ -1,6 +1,6 @@
//--------------------------------------------------------
//    [Author]:           YYL
//    [  Date ]:           2025年8月4日
//    [  Date ]:           Tuesday, December 16, 2025
//--------------------------------------------------------
using System.Collections.Generic;
@@ -12,28 +12,34 @@
{
    static HeroConfig()
    {
        if (isInit)
        {
            return;
        }
        LazyInit();
        // 访问过静态构造函数
        visit = true;
    }
    public int HeroID;
   public string Name;
   public int PlayerCanUse;
   public int Country;
   public int Quality;
   public int AtkDistType;
   public int Class;
   public int Position;
   public int[] SkinIDList;
   public int AtkSkillID;
   public int AngerSkillID;
   public int DeathSFX;
   public int HitSFX;
   public int AtkInheritPer;
   public int DefInheritPer;
   public int HPInheritPer;
   public string BatAttrDict;
   public Dictionary<int, int> BatAttrDict;
   public int[] FetterIDList;
   public float UIScale;
   public string Desc;
   public int RecruitBySelf;
   public int Specialty;
   public int HurtType;
   public int[] Specialty2;
   public int[] TalentList;
    public override int LoadKey(string _key)
    {
@@ -49,21 +55,23 @@
         Name = tables[1];
         int.TryParse(tables[2],out Country);
         int.TryParse(tables[2],out PlayerCanUse);
         int.TryParse(tables[3],out Quality);
         int.TryParse(tables[3],out Country);
         int.TryParse(tables[4],out AtkDistType);
         int.TryParse(tables[4],out Quality);
         int.TryParse(tables[5],out Class); 
         if (tables[6].Contains("["))
         int.TryParse(tables[6],out Position);
         if (tables[7].Contains("["))
         {
            SkinIDList = JsonMapper.ToObject<int[]>(tables[6]);
            SkinIDList = JsonMapper.ToObject<int[]>(tables[7]);
         }
         else
         {
            string[] SkinIDListStringArray = tables[6].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            string[] SkinIDListStringArray = tables[7].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            SkinIDList = new int[SkinIDListStringArray.Length];
            for (int i=0;i<SkinIDListStringArray.Length;i++)
            {
@@ -71,25 +79,29 @@
            }
         }
         int.TryParse(tables[7],out AtkSkillID);
         int.TryParse(tables[8],out AtkSkillID);
         int.TryParse(tables[8],out AngerSkillID);
         int.TryParse(tables[9],out AngerSkillID);
         int.TryParse(tables[9],out AtkInheritPer);
         int.TryParse(tables[10],out DeathSFX);
         int.TryParse(tables[10],out DefInheritPer);
         int.TryParse(tables[11],out HitSFX);
         int.TryParse(tables[11],out HPInheritPer);
         int.TryParse(tables[12],out AtkInheritPer);
         BatAttrDict = tables[12];
         int.TryParse(tables[13],out DefInheritPer);
         if (tables[13].Contains("["))
         int.TryParse(tables[14],out HPInheritPer);
         BatAttrDict = ConfigParse.ParseIntDict(tables[15]);
         if (tables[16].Contains("["))
         {
            FetterIDList = JsonMapper.ToObject<int[]>(tables[13]);
            FetterIDList = JsonMapper.ToObject<int[]>(tables[16]);
         }
         else
         {
            string[] FetterIDListStringArray = tables[13].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            string[] FetterIDListStringArray = tables[16].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            FetterIDList = new int[FetterIDListStringArray.Length];
            for (int i=0;i<FetterIDListStringArray.Length;i++)
            {
@@ -97,7 +109,43 @@
            }
         }
         float.TryParse(tables[14],out UIScale);
         float.TryParse(tables[17],out UIScale);
         Desc = tables[18];
         int.TryParse(tables[19],out RecruitBySelf);
         int.TryParse(tables[20],out Specialty);
         int.TryParse(tables[21],out HurtType);
         if (tables[22].Contains("["))
         {
            Specialty2 = JsonMapper.ToObject<int[]>(tables[22]);
         }
         else
         {
            string[] Specialty2StringArray = tables[22].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            Specialty2 = new int[Specialty2StringArray.Length];
            for (int i=0;i<Specialty2StringArray.Length;i++)
            {
                int.TryParse(Specialty2StringArray[i],out Specialty2[i]);
            }
         }
         if (tables[23].Contains("["))
         {
            TalentList = JsonMapper.ToObject<int[]>(tables[23]);
         }
         else
         {
            string[] TalentListStringArray = tables[23].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
            TalentList = new int[TalentListStringArray.Length];
            for (int i=0;i<TalentListStringArray.Length;i++)
            {
                int.TryParse(TalentListStringArray[i],out TalentList[i]);
            }
         }
        }
        catch (Exception exception)
        {