From 5909666c81bd9a14a88d79d9f27229b1f14d2e55 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期五, 29 八月 2025 18:30:47 +0800
Subject: [PATCH] 125 【战斗】战斗系统

---
 Main/System/Battle/Skill/SkillFactory.cs                                                  |   83 +++++++++-------
 Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB424_tagSCTurnFightInit.cs |   62 +++++++++++
 Main/System/Battle/BattleManager.cs                                                       |   12 ++
 Main/Config/PartialConfigs/SkillConfig.Partial.cs                                         |    9 +
 Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB428_tagSCBuffRefresh.cs   |    6 +
 Main/Config/Configs/SkillConfig.cs                                                        |   74 ++++++--------
 Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs                         |    1 
 7 files changed, 162 insertions(+), 85 deletions(-)

diff --git a/Main/Config/Configs/SkillConfig.cs b/Main/Config/Configs/SkillConfig.cs
index 80a58b0..ed2bbdf 100644
--- a/Main/Config/Configs/SkillConfig.cs
+++ b/Main/Config/Configs/SkillConfig.cs
@@ -1,6 +1,6 @@
 锘�//--------------------------------------------------------
 //    [Author]:           YYL
-//    [  Date ]:           2025骞�8鏈�26鏃�
+//    [  Date ]:           2025骞�8鏈�29鏃�
 //--------------------------------------------------------
 
 using System.Collections.Generic;
@@ -38,7 +38,6 @@
 	public int EffectID3;
 	public int[] EffectValues3;
 	public int CoolDownTime;
-	public int[] EnhanceSkillList;
 	public int FightPower;
 	public string SkillMotionName;
 	public string IconName;
@@ -59,6 +58,7 @@
 	public int EffectId;
 	public int EffectId2;
 	public int MStartEffectId;
+	public int TriggerEffect;
 
     public override int LoadKey(string _key)
     {
@@ -150,37 +150,23 @@
 
 			int.TryParse(tables[21],out CoolDownTime); 
 
-			if (tables[22].Contains("["))
+			int.TryParse(tables[22],out FightPower); 
+
+			SkillMotionName = tables[23];
+
+			IconName = tables[24];
+
+			int.TryParse(tables[25],out EffectType); 
+
+			int.TryParse(tables[26],out StartupFrames); 
+
+			if (tables[27].Contains("["))
 			{
-				EnhanceSkillList = JsonMapper.ToObject<int[]>(tables[22]);
+				ActiveFrames = JsonMapper.ToObject<int[]>(tables[27]);
 			}
 			else
 			{
-				string[] EnhanceSkillListStringArray = tables[22].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[23],out FightPower); 
-
-			SkillMotionName = tables[24];
-
-			IconName = tables[25];
-
-			int.TryParse(tables[26],out EffectType); 
-
-			int.TryParse(tables[27],out StartupFrames); 
-
-			if (tables[28].Contains("["))
-			{
-				ActiveFrames = JsonMapper.ToObject<int[]>(tables[28]);
-			}
-			else
-			{
-				string[] ActiveFramesStringArray = tables[28].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
+				string[] ActiveFramesStringArray = tables[27].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
 				ActiveFrames = new int[ActiveFramesStringArray.Length];
 				for (int i=0;i<ActiveFramesStringArray.Length;i++)
 				{
@@ -188,33 +174,35 @@
 				}
 			}
 
-			int.TryParse(tables[29],out RecoveryFrames); 
+			int.TryParse(tables[28],out RecoveryFrames); 
 
-			int.TryParse(tables[30],out LoopCount); 
+			int.TryParse(tables[29],out LoopCount); 
 
-			int.TryParse(tables[31],out CastPosition); 
+			int.TryParse(tables[30],out CastPosition); 
 
-			int.TryParse(tables[32],out CastIndexNum); 
+			int.TryParse(tables[31],out CastIndexNum); 
 
-			float.TryParse(tables[33],out CastDistance); 
+			float.TryParse(tables[32],out CastDistance); 
 
-			DamageDivide = JsonMapper.ToObject<int[][]>(tables[34].Replace("(", "[").Replace(")", "]")); 
+			DamageDivide = JsonMapper.ToObject<int[][]>(tables[33].Replace("(", "[").Replace(")", "]")); 
 
-			int.TryParse(tables[35],out BulletEffectId); 
+			int.TryParse(tables[34],out BulletEffectId); 
 
-			int.TryParse(tables[36],out BulletPath); 
+			int.TryParse(tables[35],out BulletPath); 
 
-			float.TryParse(tables[37],out BulletFlyTime); 
+			float.TryParse(tables[36],out BulletFlyTime); 
 
-			int.TryParse(tables[38],out ExplosionEffectId); 
+			int.TryParse(tables[37],out ExplosionEffectId); 
 
-			int.TryParse(tables[39],out ExplosionEffect2); 
+			int.TryParse(tables[38],out ExplosionEffect2); 
 
-			int.TryParse(tables[40],out EffectId); 
+			int.TryParse(tables[39],out EffectId); 
 
-			int.TryParse(tables[41],out EffectId2); 
+			int.TryParse(tables[40],out EffectId2); 
 
-			int.TryParse(tables[42],out MStartEffectId); 
+			int.TryParse(tables[41],out MStartEffectId); 
+
+			int.TryParse(tables[42],out TriggerEffect); 
         }
         catch (Exception exception)
         {
diff --git a/Main/Config/PartialConfigs/SkillConfig.Partial.cs b/Main/Config/PartialConfigs/SkillConfig.Partial.cs
index 75f1834..4774a7e 100644
--- a/Main/Config/PartialConfigs/SkillConfig.Partial.cs
+++ b/Main/Config/PartialConfigs/SkillConfig.Partial.cs
@@ -24,6 +24,15 @@
 		skillType = (SkillType)SkillType;
 		castMode = (SkillCastMode)CastPosition;
 		effectType = (SkillEffectType)EffectType;
+// #if UNITY_EDITOR
+// 		if (Launch.Instance.isOpenBattleDebug)
+// 		{
+// 			if (castMode == SkillCastMode.None)
+// 			{
+// 				castMode = SkillCastMode.Target;
+// 			}
+// 		}
+// #endif
 	}
 
 	public MotionName GetMotionName()
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB424_tagSCTurnFightInit.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB424_tagSCTurnFightInit.cs
index 79d6535..fabaec0 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB424_tagSCTurnFightInit.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB424_tagSCTurnFightInit.cs
@@ -1,11 +1,67 @@
 using UnityEngine;
 using System.Collections;
+using LitJson;
+using System.Collections.Generic;
 
 // B4 24 鍥炲悎鎴樻枟鍒濆鍖� #tagSCTurnFightInit
 
 public class DTCB424_tagSCTurnFightInit : DtcBasic {
-    public override void Done(GameNetPackBasic vNetPack) {
-        base.Done(vNetPack);
-        HB424_tagSCTurnFightInit vNetData = vNetPack as HB424_tagSCTurnFightInit;
+	public override void Done(GameNetPackBasic vNetPack)
+	{
+		base.Done(vNetPack);
+		HB424_tagSCTurnFightInit vNetData = vNetPack as HB424_tagSCTurnFightInit;
+
+		// 銆愭垬鏂楀湴鍥惧畾涔夈��
+		// 鍓嶅悗绔崗璁�氳鏃讹紝濡傛灉鏈塎apID銆丗uncLineID淇℃伅锛屼竴鑸唬琛ㄧ殑鏄煇涓垬鏂楀姛鑳斤紝
+		// 骞跺彲缁戝畾鏌愪釜鎴樻枟鍦烘櫙锛堢浉褰撲簬MMO涓殑涓嶅悓鍔熻兘鍙婃垬鏂楀満鏅湴鍥撅級
+		// 鍗$墝涓篃鍙悊瑙d负涓嶅悓鐨勬垬鏂楀姛鑳藉強缁戝畾涓嶅悓鐨勬垬鏂楄儗鏅浘涔嬬被
+		// 鐩墠鍑犱釜鍥哄畾MapID瀹氫箟
+		// 涓荤嚎灏忔�垬鏂� MapID = 1
+		// FuncLineID = 绔犺妭*10000+鍏冲崱缂栧彿*100+绗瑇娉紝濡傜涓�绔狅紝绗�10鍏冲崱锛岀5娉㈡椂鍊� = 11005锛�
+		// 鍗曠珷鏈�澶ф敮鎸�99灏忓叧锛屽崟鍏虫渶澶ф敮鎸�99娉㈡��
+		// 涓荤嚎boss鎴樻枟 MapID = 2
+		// FuncLineID = 绔犺妭*10000+鍏冲崱缂栧彿*100+绗瑇娉紝濡傜涓�绔狅紝绗�10鍏冲崱鐨刡oss鍊� = 11001锛�
+		// 娉細鍏冲崱boss娉㈡暟鍥哄畾涓哄彧鏈�1娉�
+		// 鍓嶇鍙�氳繃MapID鍙婂搴旂殑FuncLineID鍔犺浇涓嶅悓鐨勬垬鏂楀満鏅儗鏅�佽儗鏅煶涔愮瓑
+
+		// HB424_tagSCTurnFightInit
+		// MapID;    // 鑷畾涔夊湴鍥綢D锛屽彲鐢ㄤ簬缁戝畾鎴樻枟鍦板浘鍦烘櫙鍔熻兘锛堝涓荤嚎鍏冲崱銆佷富绾縝oss銆佺埇濉斻�佺珵鎶�鍦虹瓑锛�
+		// FuncLineID;    // MapID瀵瑰簲鐨勬墿灞曞�硷紝濡傚叿浣撴煇涓叧鍗$瓑
+		// TurnMax;    // 鏈�澶ц疆娆�
+		// Len;
+		// Msg;    // 鏈満鎴樻枟鎵╁睍淇℃伅锛屼竴鑸负json鏍煎紡锛屽叿浣撳唴瀹圭敱MapID鍐冲畾
+		// FactionCnt;
+		// FactionList;    // 闃佃惀鍒楄〃锛岄�氬父鍥哄畾鍙湁涓や釜闃佃惀
+
+		List<TeamBase> redTeamList = new List<TeamBase>();
+		List<TeamBase> blueTeamList = new List<TeamBase>();
+
+		if (null != vNetData.FactionList)
+		{
+			foreach (var vFaction in vNetData.FactionList)
+			{
+				if (vFaction.Faction == 1)
+				{
+					foreach (var lineUp in vFaction.LineupList)
+					{
+						redTeamList.Add(new TeamBase(lineUp));
+					}
+				}
+				else if (vFaction.Faction == 2)
+				{
+					foreach (var lineUp in vFaction.LineupList)
+					{
+						blueTeamList.Add(new TeamBase(lineUp));
+					}
+				}
+			}
+		}
+
+		JsonData extendData = JsonMapper.ToObject(vNetData.Msg);
+
+		string guid = BattleManager.Instance.GetGUID(vNetPack.packUID);
+		BattleField battleField = BattleManager.Instance.CreateBattleField(guid, (int)vNetData.MapID, (int)vNetData.FuncLineID, extendData, redTeamList, blueTeamList);
+		BattleStartAction battleStartAction = new BattleStartAction(battleField);
+		battleField.recordPlayer.PlayRecord(battleStartAction);
     }
 }
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB428_tagSCBuffRefresh.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB428_tagSCBuffRefresh.cs
index fb6ab65..03da70e 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB428_tagSCBuffRefresh.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB428_tagSCBuffRefresh.cs
@@ -7,5 +7,11 @@
     public override void Done(GameNetPackBasic vNetPack) {
         base.Done(vNetPack);
         HB428_tagSCBuffRefresh vNetData = vNetPack as HB428_tagSCBuffRefresh;
+        BattleField battleField = BattleManager.Instance.GetBattleField(vNetData.packUID);
+
+        if (null != battleField)
+        {
+            battleField.OnRefreshBuff(vNetData);
+        }
     }
 }
diff --git a/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs b/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
index e56eb36..82010e9 100644
--- a/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
+++ b/Main/System/Battle/BattleField/RecordActions/SkillRecordAction.cs
@@ -11,6 +11,7 @@
 		: base(RecordActionType.Skill, _battleField, _caster)
 	{
 		skillBase = SkillFactory.CreateSkill(_caster, vNetData, packList, _battleField);
+		BattleDebug.LogError("skill record action tpye : " + skillBase.GetType().Name);
 	}
 
 	public override bool IsFinished()
diff --git a/Main/System/Battle/BattleManager.cs b/Main/System/Battle/BattleManager.cs
index 0467960..66d7964 100644
--- a/Main/System/Battle/BattleManager.cs
+++ b/Main/System/Battle/BattleManager.cs
@@ -263,6 +263,7 @@
         if (!battlePackRelationList.TryGetValue(guid, out uidList))
         {
             uidList = new List<ulong>();
+            battlePackRelationList.Add(guid, uidList);
         }
 
         uidList.Add(vNetPack.packUID);
@@ -387,9 +388,16 @@
 
     public void Run()
     {
-        foreach (var battleField in battleFields)
+        try
         {
-            battleField.Value?.Run();
+            foreach (var battleField in battleFields)
+            {
+                battleField.Value?.Run();
+            }
+        }
+        catch (System.Exception ex)
+        {
+            Debug.LogError(ex);
         }
     }
 
diff --git a/Main/System/Battle/Skill/SkillFactory.cs b/Main/System/Battle/Skill/SkillFactory.cs
index ad63b1b..56f4620 100644
--- a/Main/System/Battle/Skill/SkillFactory.cs
+++ b/Main/System/Battle/Skill/SkillFactory.cs
@@ -5,45 +5,56 @@
 
 public static class SkillFactory
 {
-// SkillType	
-// 鎶�鑳界被鍨�	瀹氫箟
-// 鐗规畩   0	
-// 鏀诲嚮绫�   1	涓诲姩浼氶�犳垚鐬棿浼ゅ鎶�鑳界被鍨嬩负1
-// 鎭㈠绫�   2	涓诲姩浼氭仮澶嶇敓鍛藉�肩殑鎶�鑳界被鍨嬩负2
-// 鎸佺画澧炵泭BUFF  3	涓诲姩涓�娈垫椂闂村唴闂撮殧鏃堕棿缁欎簣澧炵泭buff鎶�鑳界被鍨嬩负3锛屾瘮濡傛寔缁洖琛�
-// 鎸佺画鍑忕泭BUFF  4	涓诲姩涓�娈垫椂闂村唴闂撮殧鏃堕棿缁欎簣鍑忕泭buff鎶�鑳界被鍨嬩负4锛屾瘮濡備腑姣�
-// 澧炵泭BUFF 5	涓诲姩鎸佺画涓�娈垫椂闂寸粰浜堝鐩奲uff锛屼笉浼氬嚭鐜伴棿闅旀椂闂碽uff绫诲瀷涓�5锛屾瘮濡傞簰楹熺浘
-// 鍑忕泭BUFF 6	涓诲姩鎸佺画涓�娈垫椂闂寸粰浜堝噺鐩奲uff锛屼笉浼氬嚭鐜伴棿闅旀椂闂碽uff绫诲瀷涓�6锛屾瘮濡傚噺閫�
-// 琚姩鎶�   7	琚姩瑙﹀彂鐨勬妧鑳界被鍨嬩负7
-// 澶嶆椿     8	鐗у笀澶嶆椿闃熷弸鎶�鑳斤紝鏆傛椂鏃犵敤
-// 澧炲�兼妧鑳斤紙涓嶅彲娓呴櫎锛�9  	鍜屽鐩婃妧鑳界被浼硷紝鏃犳硶鐐瑰嚮鍥炬爣鍙栨秷锛屾殏鏃舵棤鐢�
-// 鍏夌幆鎶�鑳�  10	闃熷弸鍏变韩璇ユ妧鑳界殑鍏夌幆锛岀被浼奸瓟鍏戒簤闇哥殑寮哄嚮鍏夌幆锛岃崋妫樺厜鐜紝鏆傛椂鏃犺繖鏍锋妧鑳�
-// 瑁呭鎶�鑳�  11	瑁呭涓婇檮鍔犱簡鎶�鑳斤紝姣斿濂楄闄勫姞鏀诲嚮+50%锛屾殏鏃舵棤杩欐牱鎶�鑳�
-// 鍖哄煙鎶�鑳�  12	"甯冩�櫒閲� 鏈変釜閰嶇疆鎶�鑳絀D  姣斿閰嶄釜鐏尯鍩熺伡鐑�
-// "
-// 鍙敜      13	涓诲姩鍙敜鍑轰竴涓�墿锛屽垯閰嶇疆涓�13锛屾殏鏃舵棤杩欐牱鐨勬妧鑳�
-// 鎺у埗鍨婤UFF 14	姣斿鐪╂檿锛屽畾韬妧鑳介渶瑕侀厤缃帶鍒跺瀷buff
-// 澶氭浼ゅbuff鏀诲嚮绫诲瀷锛堢被xp鎶�鑳斤級 15	澶氭浼ゅ涓诲姩姣忕浼ゅbuff鎶�鑳界被鍨嬩负15
-// 琚姩瑙﹀彂澧炵泭绫籦uff 16	琚姩瑙﹀彂鎸佺画涓�娈垫椂闂寸粰浜堝鐩奲uff锛屼笉浼氬嚭鐜伴棿闅旀椂闂碽uff绫诲瀷涓�16锛屽锛�50065鐤鹃锛�
-// 琚姩瑙﹀彂鍑忕泭绫籦uff 17	琚姩瑙﹀彂鎸佺画涓�娈垫椂闂寸粰浜堝噺鐩奲uff锛屼笉浼氬嚭鐜伴棿闅旀椂闂碽uff绫诲瀷涓�17锛屽锛�50235璐熶激锛�
-// 琚姩瑙﹀彂鐨勬帶鍒剁被buff 18	琚姩瑙﹀彂鎸佺画涓�娈垫椂闂寸殑鎺у埗鎶�鑳戒负17锛屽锛�50365婵�鎬掞級
-// 灞炴�х被鎶�鑳� 20锛堝鍧愰獞灞炴�э紝瀹犵墿灞炴�э級	琚姩澧炲姞浜嗗睘鎬ф晥鏋滃�硷紝闀挎湡鐨勬妧鑳戒负20锛屽锛�50605瀹堟姢锛�
-// 琚姩buff 19锛堟殏鏃朵笉鐭ラ亾骞插暐鐨勶級	
-// 琚姩瑙﹀彂鎸佺画绫诲鐩婄被buff 21	琚姩涓�娈垫椂闂村唴闂撮殧鏃堕棿缁欎簣澧炵泭buff鎶�鑳界被鍨嬩负3锛屾瘮濡傦紙50635绁濈锛�
-// 琚姩瑙﹀彂鎸佺画绫诲噺鐩婄被buff 22	琚姩涓�娈垫椂闂村唴闂撮殧鏃堕棿缁欎簣鍑忕泭buff鎶�鑳界被鍨嬩负4锛屾瘮濡傛瘨榫欏棞澶�
+	// SkillType	
+	// 鎶�鑳界被鍨�	瀹氫箟
+	// 鐗规畩   0	
+	// 鏀诲嚮绫�   1	涓诲姩浼氶�犳垚鐬棿浼ゅ鎶�鑳界被鍨嬩负1
+	// 鎭㈠绫�   2	涓诲姩浼氭仮澶嶇敓鍛藉�肩殑鎶�鑳界被鍨嬩负2
+	// 鎸佺画澧炵泭BUFF  3	涓诲姩涓�娈垫椂闂村唴闂撮殧鏃堕棿缁欎簣澧炵泭buff鎶�鑳界被鍨嬩负3锛屾瘮濡傛寔缁洖琛�
+	// 鎸佺画鍑忕泭BUFF  4	涓诲姩涓�娈垫椂闂村唴闂撮殧鏃堕棿缁欎簣鍑忕泭buff鎶�鑳界被鍨嬩负4锛屾瘮濡備腑姣�
+	// 澧炵泭BUFF 5	涓诲姩鎸佺画涓�娈垫椂闂寸粰浜堝鐩奲uff锛屼笉浼氬嚭鐜伴棿闅旀椂闂碽uff绫诲瀷涓�5锛屾瘮濡傞簰楹熺浘
+	// 鍑忕泭BUFF 6	涓诲姩鎸佺画涓�娈垫椂闂寸粰浜堝噺鐩奲uff锛屼笉浼氬嚭鐜伴棿闅旀椂闂碽uff绫诲瀷涓�6锛屾瘮濡傚噺閫�
+	// 琚姩鎶�   7	琚姩瑙﹀彂鐨勬妧鑳界被鍨嬩负7
+	// 澶嶆椿     8	鐗у笀澶嶆椿闃熷弸鎶�鑳斤紝鏆傛椂鏃犵敤
+	// 澧炲�兼妧鑳斤紙涓嶅彲娓呴櫎锛�9  	鍜屽鐩婃妧鑳界被浼硷紝鏃犳硶鐐瑰嚮鍥炬爣鍙栨秷锛屾殏鏃舵棤鐢�
+	// 鍏夌幆鎶�鑳�  10	闃熷弸鍏变韩璇ユ妧鑳界殑鍏夌幆锛岀被浼奸瓟鍏戒簤闇哥殑寮哄嚮鍏夌幆锛岃崋妫樺厜鐜紝鏆傛椂鏃犺繖鏍锋妧鑳�
+	// 瑁呭鎶�鑳�  11	瑁呭涓婇檮鍔犱簡鎶�鑳斤紝姣斿濂楄闄勫姞鏀诲嚮+50%锛屾殏鏃舵棤杩欐牱鎶�鑳�
+	// 鍖哄煙鎶�鑳�  12	"甯冩�櫒閲� 鏈変釜閰嶇疆鎶�鑳絀D  姣斿閰嶄釜鐏尯鍩熺伡鐑�
+	// "
+	// 鍙敜      13	涓诲姩鍙敜鍑轰竴涓�墿锛屽垯閰嶇疆涓�13锛屾殏鏃舵棤杩欐牱鐨勬妧鑳�
+	// 鎺у埗鍨婤UFF 14	姣斿鐪╂檿锛屽畾韬妧鑳介渶瑕侀厤缃帶鍒跺瀷buff
+	// 澶氭浼ゅbuff鏀诲嚮绫诲瀷锛堢被xp鎶�鑳斤級 15	澶氭浼ゅ涓诲姩姣忕浼ゅbuff鎶�鑳界被鍨嬩负15
+	// 琚姩瑙﹀彂澧炵泭绫籦uff 16	琚姩瑙﹀彂鎸佺画涓�娈垫椂闂寸粰浜堝鐩奲uff锛屼笉浼氬嚭鐜伴棿闅旀椂闂碽uff绫诲瀷涓�16锛屽锛�50065鐤鹃锛�
+	// 琚姩瑙﹀彂鍑忕泭绫籦uff 17	琚姩瑙﹀彂鎸佺画涓�娈垫椂闂寸粰浜堝噺鐩奲uff锛屼笉浼氬嚭鐜伴棿闅旀椂闂碽uff绫诲瀷涓�17锛屽锛�50235璐熶激锛�
+	// 琚姩瑙﹀彂鐨勬帶鍒剁被buff 18	琚姩瑙﹀彂鎸佺画涓�娈垫椂闂寸殑鎺у埗鎶�鑳戒负17锛屽锛�50365婵�鎬掞級
+	// 灞炴�х被鎶�鑳� 20锛堝鍧愰獞灞炴�э紝瀹犵墿灞炴�э級	琚姩澧炲姞浜嗗睘鎬ф晥鏋滃�硷紝闀挎湡鐨勬妧鑳戒负20锛屽锛�50605瀹堟姢锛�
+	// 琚姩buff 19锛堟殏鏃朵笉鐭ラ亾骞插暐鐨勶級	
+	// 琚姩瑙﹀彂鎸佺画绫诲鐩婄被buff 21	琚姩涓�娈垫椂闂村唴闂撮殧鏃堕棿缁欎簣澧炵泭buff鎶�鑳界被鍨嬩负3锛屾瘮濡傦紙50635绁濈锛�
+	// 琚姩瑙﹀彂鎸佺画绫诲噺鐩婄被buff 22	琚姩涓�娈垫椂闂村唴闂撮殧鏃堕棿缁欎簣鍑忕泭buff鎶�鑳界被鍨嬩负4锛屾瘮濡傛瘨榫欏棞澶�
 
 
-// 鏀诲嚮鎶�鑳斤細鏈洖鍚堝鏁屼汉姝﹀皢閫犳垚浼ゅ
-// 娌荤枟鎶�鑳斤細鏈洖鍚堝宸叉柟姝﹀皢鍥炲鐢熷懡鍊�,鍥炲鐢熷懡鍊间笉鍙秴杩囩敓鍛戒笂闄�
-// 杈呭姪鎶�鑳斤細澧炲姞鎬掓皵銆佸彫鍞ゃ�佸厜鐜瓑
-// BUFF鎶�鑳斤細鎻愬崌宸叉柟灞炴�х殑澧炵泭BUFF(鍔犳敾銆佸姞琛�銆佸姞鐘舵�佺瓑),闄嶄綆鏁屾柟灞炴�х殑鍑忕泭BUFF(鍑忔敾銆佸噺琛�銆佹帶鍒剁瓑),鎸佺画澶氬洖鍚�
-// 澶嶆椿鎶�鑳斤細澶嶆椿宸叉柟宸叉姝﹀皢骞跺洖澶峏鐢熷懡鍊�,澶嶆椿锛氱户鎵挎浜″墠鐨勬墍鏈夌姸鎬�(鍚勭鐘舵�併�佸悇绉岯UFF銆佹�掓皵鍊肩瓑),澶嶆椿鍚庨敊杩囨湰鍥炲悎鏀诲嚮鏃舵満鍒欎笅涓�鍥炲悎鎵嶈兘鍑烘墜
+	// 鏀诲嚮鎶�鑳斤細鏈洖鍚堝鏁屼汉姝﹀皢閫犳垚浼ゅ
+	// 娌荤枟鎶�鑳斤細鏈洖鍚堝宸叉柟姝﹀皢鍥炲鐢熷懡鍊�,鍥炲鐢熷懡鍊间笉鍙秴杩囩敓鍛戒笂闄�
+	// 杈呭姪鎶�鑳斤細澧炲姞鎬掓皵銆佸彫鍞ゃ�佸厜鐜瓑
+	// BUFF鎶�鑳斤細鎻愬崌宸叉柟灞炴�х殑澧炵泭BUFF(鍔犳敾銆佸姞琛�銆佸姞鐘舵�佺瓑),闄嶄綆鏁屾柟灞炴�х殑鍑忕泭BUFF(鍑忔敾銆佸噺琛�銆佹帶鍒剁瓑),鎸佺画澶氬洖鍚�
+	// 澶嶆椿鎶�鑳斤細澶嶆椿宸叉柟宸叉姝﹀皢骞跺洖澶峏鐢熷懡鍊�,澶嶆椿锛氱户鎵挎浜″墠鐨勬墍鏈夌姸鎬�(鍚勭鐘舵�併�佸悇绉岯UFF銆佹�掓皵鍊肩瓑),澶嶆椿鍚庨敊杩囨湰鍥炲悎鏀诲嚮鏃舵満鍒欎笅涓�鍥炲悎鎵嶈兘鍑烘墜
+
+
 
 
 
 	public static SkillBase CreateSkill(BattleObject _caster, HB427_tagSCUseSkill vNetData, List<GameNetPackBasic> packList, BattleField battleField)
 	{
 		SkillConfig skillConfig = SkillConfig.Get((int)vNetData.SkillID);
+
+		if (null == skillConfig)
+		{
+			Debug.LogError("skill config is null id is " + vNetData.SkillID);
+			return null;
+		}
+
+		Debug.LogError("skill type is " + skillConfig.SkillType + " skill id is " + vNetData.SkillID);
+
 
 		SkillBase skill = null;
 		switch (skillConfig.SkillType)
@@ -56,16 +67,14 @@
 				// skill = new DirectlyHealSkill(_skillConfig);
 				break;
 			case 3:
-				// skill = new SupportSkill(_skillConfig);
-				break;
 			case 4:
-				// skill = new MountBuffSkill(_skillConfig);
-				break;
 			case 5:
-				// skill = new ReviveSkill(_skillConfig);
+			case 6:
+			case 14:
+				// skill = new MountBuffSkill(_caster, skillConfig, vNetData, packList, battleField);
 				break;
 			default:
-				BattleDebug.LogError("瓒呭嚭浜嗘妧鑳界被鍨嬭寖鍥� 璇锋鏌ラ厤缃�");
+				Debug.LogError("瓒呭嚭浜嗘妧鑳界被鍨嬭寖鍥� 璇锋鏌ラ厤缃�");
 				break;
 		}
 

--
Gitblit v1.8.0