yyl
2025-07-29 80dddf17d8edba62f002d1237a604a509669340e
125 【战斗】战斗系统
4个文件已修改
353 ■■■■■ 已修改文件
Main/Config/Configs/SkillConfig.cs 341 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HeroUI/HeroListWin.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HeroUI/HeroPosWin.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HeroUI/HeroUIManager.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Config/Configs/SkillConfig.cs
@@ -1,6 +1,6 @@
//--------------------------------------------------------
//    [Author]:           YYL
//    [  Date ]:           2025年7月26日
//    [  Date ]:           Tuesday, July 29, 2025
//--------------------------------------------------------
using System.Collections.Generic;
@@ -13,85 +13,42 @@
    public int SkillID;
    public string SkillName;
    public int SkillTypeID;
    public int SkillLV;
    public int SkillMaxLV;
    public int UseType;
    public string Description;
    public string IconName;
    public int FuncType;
    public int CastTime;
    public int SkillType;
    public int HurtType;
    public int ContinueUse;
    public int AtkType;
    public int AtkRadius;
    public int Tag;
    public int AtkDist;
    public int StiffTime;
    public int TagAim;
    public int LastTime;
    public int CoolDownTime;
    public int MP;
    public int HP;
    public int XP;
    public int UseItemID;
    public int UseItemCount;
    public int Effect1;
    public int EffectValue11;
    public int EffectValue12;
    public int EffectValue13;
    public int Effect2;
    public int EffectValue21;
    public int EffectValue22;
    public int EffectValue23;
    public int Effect3;
    public int EffectValue31;
    public int EffectValue32;
    public int EffectValue33;
    public int Effect4;
    public int EffectValue41;
    public int EffectValue42;
    public int EffectValue43;
    public int Effect5;
    public int EffectValue51;
    public int EffectValue52;
    public int EffectValue53;
    public int Effect6;
    public int EffectValue61;
    public int EffectValue62;
    public int EffectValue63;
    public int HappenRate6;
    public int LastTime6;
    public int SkillEnhance1;
    public int SkillEnhance2;
    public int StateSkillLV;
    public int LearnSkillReq;
    public int LearnSkillLV;
    public int LearnLVReq;
    public int LearnSkillPointReq;
    public int EffectID1;
    public int[] EffectValues1;
    public int EffectID2;
    public int[] EffectValues2;
    public int EffectID3;
    public int[] EffectValues3;
    public int ConnSkill;
    public int[] EnhanceSkillList;
    public int FightPower;
    public int LVUpCostMoneyType;
    public int LVUpCostMoney;
    public int LVUpCostExp;
    public int ClientActionLimit;
    public int ClientSkillSeriesLimit;
    public int SkillOfSeries;
    public int ExpendMPRate;
    public int ExAttr1;
    public int ExAttr3;
    public int ExAttr4;
    public int ExAttr5;
    public int BuffEffectID;
    public int EffectName;
    public string IconName;
    public string Description;
    public string BuffDescription;
    public int BuffDisplay;
    public int StartupFrames;
    public int ActiveFrames;
    public int RecoveryFrames;
    public int LoopCount;
    public int CastPosition;
    public int CastDistance;
    public int[] TriggerFrames;
    public int CastIndexNum;
    public float CastDistance;
    public int[][] DamageDivide;
    public int BulletEffectId;
    public int BulletPos;
    public int BulletPath;
    public int BulletFlyTime;
    public int ExplosionEffectId;
    public int ExplosionPos;
    public string SkillMotionName;
    public int EffectId;
    public int ExplotionEffectId;
    public float FlyTime;
    public int EffectPos;
    public int EffectType;
    public override int LoadKey(string _key)
    {
@@ -107,175 +64,125 @@
            SkillName = tables[1];
            int.TryParse(tables[2],out SkillTypeID);
            Description = tables[2];
            int.TryParse(tables[3],out SkillLV);
            IconName = tables[3];
            int.TryParse(tables[4],out SkillMaxLV);
            int.TryParse(tables[4],out FuncType);
            int.TryParse(tables[5],out UseType);
            int.TryParse(tables[5],out SkillType);
            int.TryParse(tables[6],out FuncType);
            int.TryParse(tables[6],out HurtType);
            int.TryParse(tables[7],out CastTime);
            int.TryParse(tables[7],out AtkType);
            int.TryParse(tables[8],out SkillType);
            int.TryParse(tables[8],out TagAim);
            int.TryParse(tables[9],out HurtType);
            int.TryParse(tables[9],out LastTime);
            int.TryParse(tables[10],out ContinueUse);
            int.TryParse(tables[10],out CoolDownTime);
            int.TryParse(tables[11],out AtkType);
            int.TryParse(tables[11],out EffectID1);
            int.TryParse(tables[12],out AtkRadius);
            int.TryParse(tables[13],out Tag);
            int.TryParse(tables[14],out AtkDist);
            int.TryParse(tables[15],out StiffTime);
            int.TryParse(tables[16],out CoolDownTime);
            int.TryParse(tables[17],out MP);
            int.TryParse(tables[18],out HP);
            int.TryParse(tables[19],out XP);
            int.TryParse(tables[20],out UseItemID);
            int.TryParse(tables[21],out UseItemCount);
            int.TryParse(tables[22],out Effect1);
            int.TryParse(tables[23],out EffectValue11);
            int.TryParse(tables[24],out EffectValue12);
            int.TryParse(tables[25],out EffectValue13);
            int.TryParse(tables[26],out Effect2);
            int.TryParse(tables[27],out EffectValue21);
            int.TryParse(tables[28],out EffectValue22);
            int.TryParse(tables[29],out EffectValue23);
            int.TryParse(tables[30],out Effect3);
            int.TryParse(tables[31],out EffectValue31);
            int.TryParse(tables[32],out EffectValue32);
            int.TryParse(tables[33],out EffectValue33);
            int.TryParse(tables[34],out Effect4);
            int.TryParse(tables[35],out EffectValue41);
            int.TryParse(tables[36],out EffectValue42);
            int.TryParse(tables[37],out EffectValue43);
            int.TryParse(tables[38],out Effect5);
            int.TryParse(tables[39],out EffectValue51);
            int.TryParse(tables[40],out EffectValue52);
            int.TryParse(tables[41],out EffectValue53);
            int.TryParse(tables[42],out Effect6);
            int.TryParse(tables[43],out EffectValue61);
            int.TryParse(tables[44],out EffectValue62);
            int.TryParse(tables[45],out EffectValue63);
            int.TryParse(tables[46],out HappenRate6);
            int.TryParse(tables[47],out LastTime6);
            int.TryParse(tables[48],out SkillEnhance1);
            int.TryParse(tables[49],out SkillEnhance2);
            int.TryParse(tables[50],out StateSkillLV);
            int.TryParse(tables[51],out LearnSkillReq);
            int.TryParse(tables[52],out LearnSkillLV);
            int.TryParse(tables[53],out LearnLVReq);
            int.TryParse(tables[54],out LearnSkillPointReq);
            int.TryParse(tables[55],out FightPower);
            int.TryParse(tables[56],out LVUpCostMoneyType);
            int.TryParse(tables[57],out LVUpCostMoney);
            int.TryParse(tables[58],out LVUpCostExp);
            int.TryParse(tables[59],out ClientActionLimit);
            int.TryParse(tables[60],out ClientSkillSeriesLimit);
            int.TryParse(tables[61],out SkillOfSeries);
            int.TryParse(tables[62],out ExpendMPRate);
            int.TryParse(tables[63],out ExAttr1);
            int.TryParse(tables[64],out ExAttr3);
            int.TryParse(tables[65],out ExAttr4);
            int.TryParse(tables[66],out ExAttr5);
            int.TryParse(tables[67],out BuffEffectID);
            int.TryParse(tables[68],out EffectName);
            IconName = tables[69];
            Description = tables[70];
            BuffDescription = tables[71];
            int.TryParse(tables[72],out BuffDisplay);
            int.TryParse(tables[73],out CastPosition);
            int.TryParse(tables[74],out CastDistance);
            if (tables[75].Contains("["))
            if (tables[12].Contains("["))
            {
                TriggerFrames = JsonMapper.ToObject<int[]>(tables[75]);
                EffectValues1 = JsonMapper.ToObject<int[]>(tables[12]);
            }
            else
            {
                string[] TriggerFramesStringArray = tables[75].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                TriggerFrames = new int[TriggerFramesStringArray.Length];
                for (int i=0;i<TriggerFramesStringArray.Length;i++)
                string[] EffectValues1StringArray = tables[12].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                EffectValues1 = new int[EffectValues1StringArray.Length];
                for (int i=0;i<EffectValues1StringArray.Length;i++)
                {
                     int.TryParse(TriggerFramesStringArray[i],out TriggerFrames[i]);
                     int.TryParse(EffectValues1StringArray[i],out EffectValues1[i]);
                }
            }
            DamageDivide = JsonMapper.ToObject<int[][]>(tables[76].Replace("(", "[").Replace(")", "]"));
            int.TryParse(tables[13],out EffectID2);
            SkillMotionName = tables[77];
            if (tables[14].Contains("["))
            {
                EffectValues2 = JsonMapper.ToObject<int[]>(tables[14]);
            }
            else
            {
                string[] EffectValues2StringArray = tables[14].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                EffectValues2 = new int[EffectValues2StringArray.Length];
                for (int i=0;i<EffectValues2StringArray.Length;i++)
                {
                     int.TryParse(EffectValues2StringArray[i],out EffectValues2[i]);
                }
            }
            int.TryParse(tables[78],out EffectId);
            int.TryParse(tables[15],out EffectID3);
            int.TryParse(tables[79],out ExplotionEffectId);
            if (tables[16].Contains("["))
            {
                EffectValues3 = JsonMapper.ToObject<int[]>(tables[16]);
            }
            else
            {
                string[] EffectValues3StringArray = tables[16].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                EffectValues3 = new int[EffectValues3StringArray.Length];
                for (int i=0;i<EffectValues3StringArray.Length;i++)
                {
                     int.TryParse(EffectValues3StringArray[i],out EffectValues3[i]);
                }
            }
            float.TryParse(tables[80],out FlyTime);
            int.TryParse(tables[17],out ConnSkill);
            if (tables[18].Contains("["))
            {
                EnhanceSkillList = JsonMapper.ToObject<int[]>(tables[18]);
            }
            else
            {
                string[] EnhanceSkillListStringArray = tables[18].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                EnhanceSkillList = new int[EnhanceSkillListStringArray.Length];
                for (int i=0;i<EnhanceSkillListStringArray.Length;i++)
                {
                     int.TryParse(EnhanceSkillListStringArray[i],out EnhanceSkillList[i]);
                }
            }
            int.TryParse(tables[19],out FightPower);
            int.TryParse(tables[20],out StartupFrames);
            int.TryParse(tables[21],out ActiveFrames);
            int.TryParse(tables[22],out RecoveryFrames);
            int.TryParse(tables[23],out LoopCount);
            int.TryParse(tables[24],out CastPosition);
            int.TryParse(tables[25],out CastIndexNum);
            float.TryParse(tables[26],out CastDistance);
            DamageDivide = JsonMapper.ToObject<int[][]>(tables[27].Replace("(", "[").Replace(")", "]"));
            int.TryParse(tables[28],out BulletEffectId);
            int.TryParse(tables[29],out BulletPos);
            int.TryParse(tables[30],out BulletPath);
            int.TryParse(tables[31],out BulletFlyTime);
            int.TryParse(tables[32],out ExplosionEffectId);
            int.TryParse(tables[33],out ExplosionPos);
            SkillMotionName = tables[34];
            int.TryParse(tables[35],out EffectId);
            int.TryParse(tables[36],out EffectPos);
            int.TryParse(tables[37],out EffectType);
        }
        catch (Exception exception)
        {
Main/System/HeroUI/HeroListWin.cs
@@ -82,9 +82,9 @@
        var team = TeamManager.Instance.GetTeam(TeamType.Story);
        if (team != null)
        {
            for (int i = 0; i < team.serverData.Length; i++)
            for (int i = 0; i < team.serverHeroes.Length; i++)
            {
                var hero = HeroManager.Instance.GetHero(team.serverData[i].guid);
                var hero = HeroManager.Instance.GetHero(team.serverHeroes[i].guid);
                if (hero != null)
                {
                    valuePer += hero.GetOnBattleAddPer();
Main/System/HeroUI/HeroPosWin.cs
@@ -106,9 +106,9 @@
        var team = TeamManager.Instance.GetTeam(HeroUIManager.Instance.selectTeamType);
        if (team != null)
        {
            for (int i = 0; i < team.serverData.Length; i++)
            for (int i = 0; i < team.serverHeroes.Length; i++)
            {
                var hero = HeroManager.Instance.GetHero(team.serverData[i].guid);
                var hero = HeroManager.Instance.GetHero(team.serverHeroes[i].guid);
                if (hero != null)
                {
                    valuePer += hero.GetOnBattleAddPer();
Main/System/HeroUI/HeroUIManager.cs
@@ -149,9 +149,9 @@
        var team = TeamManager.Instance.GetTeam(teamType);
        if (team != null)
        {
            for (int i = 0; i < team.serverData.Length; i++)
            for (int i = 0; i < team.serverHeroes.Length; i++)
            {
                var hero = HeroManager.Instance.GetHero(team.serverData[i].guid);
                var hero = HeroManager.Instance.GetHero(team.serverHeroes[i].guid);
                if (hero != null)
                {
                    if (!heroCountryCount.ContainsKey(hero.heroCountry))