From 80dddf17d8edba62f002d1237a604a509669340e Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期二, 29 七月 2025 16:59:04 +0800
Subject: [PATCH] 125 【战斗】战斗系统

---
 Main/System/HeroUI/HeroPosWin.cs    |    4 
 Main/Config/Configs/SkillConfig.cs  |  341 ++++++++++++++++++++------------------------------------
 Main/System/HeroUI/HeroListWin.cs   |    4 
 Main/System/HeroUI/HeroUIManager.cs |    4 
 4 files changed, 130 insertions(+), 223 deletions(-)

diff --git a/Main/Config/Configs/SkillConfig.cs b/Main/Config/Configs/SkillConfig.cs
index 16bee66..b537c4b 100644
--- a/Main/Config/Configs/SkillConfig.cs
+++ b/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)
         {
diff --git a/Main/System/HeroUI/HeroListWin.cs b/Main/System/HeroUI/HeroListWin.cs
index 87389aa..bdb9c5a 100644
--- a/Main/System/HeroUI/HeroListWin.cs
+++ b/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();
diff --git a/Main/System/HeroUI/HeroPosWin.cs b/Main/System/HeroUI/HeroPosWin.cs
index 5028fae..1b0d552 100644
--- a/Main/System/HeroUI/HeroPosWin.cs
+++ b/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();
diff --git a/Main/System/HeroUI/HeroUIManager.cs b/Main/System/HeroUI/HeroUIManager.cs
index f5684fb..f7db73b 100644
--- a/Main/System/HeroUI/HeroUIManager.cs
+++ b/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))

--
Gitblit v1.8.0