DESKTOP-FB72PO8\Administrator hai 1 semana
pai
achega
3d587bcfe7
Modificáronse 31 ficheiros con 758 adicións e 139 borrados
  1. 71 0
      Assets/Art/ArtHero/FaBao/fb_huohulu.prefab
  2. 55 1
      Assets/Res/Config/SkillConfig.json
  3. 4 4
      Assets/Res/UI/ZhuanPanPanel.prefab
  4. 0 8
      Assets/Scenes/testCombat.scene
  5. 1 1
      Assets/Scripts/Core/Triiger/OnTriggerEnterEventTrigger.cs
  6. 14 4
      Assets/Scripts/Core/Utility/BesselPath.cs
  7. 8 0
      Assets/Scripts/GameLogic/Combat/CombatEvent/AddUseGongFaEventData.cs
  8. 3 0
      Assets/Scripts/GameLogic/Combat/CombatEvent/SkillSlotsAlterEventData.cs
  9. 19 0
      Assets/Scripts/GameLogic/Combat/Hero/Barrier/BarrierCollideTriigerType.cs
  10. 3 0
      Assets/Scripts/GameLogic/Combat/Hero/Barrier/BarrierCollideTriigerType.cs.meta
  11. 3 0
      Assets/Scripts/GameLogic/Combat/Hero/Barrier/IBarrier.cs
  12. 11 0
      Assets/Scripts/GameLogic/Combat/Hero/Barrier/ShieldsBarrier.cs
  13. 4 52
      Assets/Scripts/GameLogic/Combat/Hero/CombatHeroEntity.cs
  14. 4 0
      Assets/Scripts/GameLogic/Combat/Hero/CombatHeroInfo.cs
  15. 23 6
      Assets/Scripts/GameLogic/Combat/Hero/Turntable/SkillSlots.cs
  16. 5 1
      Assets/Scripts/GameLogic/Combat/Hero/Turntable/SkillTurntable.cs
  17. 1 1
      Assets/Scripts/GameLogic/Combat/Skill/DS60101.cs
  18. 240 0
      Assets/Scripts/GameLogic/Combat/Skill/DS60102.cs
  19. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/DS60102.cs.meta
  20. 92 0
      Assets/Scripts/GameLogic/Combat/Skill/DS60103.cs
  21. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/DS60103.cs.meta
  22. 69 0
      Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/FS901002.cs
  23. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/FS901002.cs.meta
  24. 30 0
      Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/FS901003.cs
  25. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/FS901003.cs.meta
  26. 9 2
      Assets/Scripts/GameLogic/Combat/Skill/SkillBasic.cs
  27. 13 4
      Assets/Scripts/GameLogic/Paritcle/ParitcleLogic/FxAILogicBasic.cs
  28. 14 5
      Assets/Scripts/GameLogic/Paritcle/ParitcleLogic/FxParabolaBulletLogic.cs
  29. 10 10
      Assets/Scripts/GameUI/UI/CombatPanel/ZhuanPanPanel.cs
  30. BIN=BIN
      Excel2Json/Excel/skill.xlsx
  31. 40 40
      UserSettings/Layouts/default-2022.dwlt

+ 71 - 0
Assets/Art/ArtHero/FaBao/fb_huohulu.prefab

@@ -406,6 +406,7 @@ Transform:
   - {fileID: 2351914137847117654}
   - {fileID: 5587790997318637604}
   - {fileID: 2669092203852772618}
+  - {fileID: 6561904085960439192}
   m_Father: {fileID: 0}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!54 &3925811891869005109
@@ -659,6 +660,76 @@ Transform:
   - {fileID: 7172321406520293682}
   m_Father: {fileID: 2669092203852772618}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &8775476568534342287
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 7
+  m_Component:
+  - component: {fileID: 6561904085960439192}
+  - component: {fileID: 2597591906677393507}
+  - component: {fileID: 3781274214156462374}
+  m_Layer: 0
+  m_HasEditorInfo: 1
+  m_Name: lingyu
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &6561904085960439192
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8775476568534342287}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: -0.78, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 882618489410363391}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &2597591906677393507
+BoxCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8775476568534342287}
+  m_Material: {fileID: 0}
+  m_IncludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_ExcludeLayers:
+    serializedVersion: 2
+    m_Bits: 0
+  m_LayerOverridePriority: 0
+  m_IsTrigger: 1
+  m_ProvidesContacts: 0
+  m_Enabled: 1
+  serializedVersion: 3
+  m_Size: {x: 10, y: 10, z: 10}
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!114 &3781274214156462374
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 8775476568534342287}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: cebc90e0510b492d94dbb8ad1eefcd1a, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  DotName: lingyu
+  followSkeleton: 0
+  myRotation: {x: 0, y: 0, z: 0}
 --- !u!1 &8939765760212465014
 GameObject:
   m_ObjectHideFlags: 0

+ 55 - 1
Assets/Res/Config/SkillConfig.json

@@ -346,7 +346,7 @@
       "ID": 601011,
       "power": 100.0,
       "name": "星辰道",
-      "dec": "每次释放功法时获得一定的能量,能量满后提升转盘速度",
+      "dec": "每次释放功法时获得10能量,100能量满后提升50%转盘速度和攻击施法速度,持续3秒",
       "attribute": 1,
       "icon": "icon_skill_10003",
       "scriptName": "DS60101",
@@ -364,6 +364,60 @@
       "intensifierIndex": [
         0
       ]
+    },
+    {
+      "ID": 601021,
+      "power": 100.0,
+      "name": "生衍道",
+      "dec": "功法拥有生息之能,每次使用功法能获得1对应属性的充能,充能满后获得对应属性的加成 \n3金:提升1%攻击力 ,最大10%\n3木:恢复2%生命 \n3水:治疗一个较重1伤势 \n3火:功法强度提升1%,最大10%\n3土:玩家防御提升1%,最大10%",
+      "attribute": 1,
+      "icon": "icon_skill_10003",
+      "scriptName": "DS60102",
+      "IDGroup": 60102,
+      "timelineName": "",
+      "cd": null,
+      "SkillType": 4,
+      "level": 1,
+      "effectValue": [
+        1.0,
+        3.0,
+        1.0,
+        10.0,
+        3.0,
+        2.0,
+        3.0,
+        1.0,
+        3.0,
+        1.0,
+        10.0,
+        3.0,
+        1.0,
+        10.0
+      ],
+      "intensifierIndex": [
+        0
+      ]
+    },
+    {
+      "ID": 601031,
+      "power": 100.0,
+      "name": "玄黄道 ",
+      "dec": "每次使用功法时在当前位置留下一道属性印记,下一个放上来的功法如果和以前功法相生则功法效果提升50%,每次使用功法时都会治疗对应相生属性的1伤势。(均衡性功法搭配,转盘改变,变为金、水、木、火、土)\n",
+      "attribute": 1,
+      "icon": "icon_skill_10003",
+      "scriptName": "DS60103",
+      "IDGroup": 60103,
+      "timelineName": "",
+      "cd": null,
+      "SkillType": 4,
+      "level": 1,
+      "effectValue": [
+        50.0,
+        1.0
+      ],
+      "intensifierIndex": [
+        0
+      ]
     }
   ]
 }

+ 4 - 4
Assets/Res/UI/ZhuanPanPanel.prefab

@@ -652,7 +652,7 @@ MonoBehaviour:
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
-  m_Sprite: {fileID: 21300000, guid: 8c960e0c86b5a32489e75b76822bb0c9, type: 3}
+  m_Sprite: {fileID: 21300000, guid: fbf91fb1809b91547a24344a3591c343, type: 3}
   m_Type: 0
   m_PreserveAspect: 0
   m_FillCenter: 1
@@ -1238,8 +1238,8 @@ RectTransform:
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
-  m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 28.7, y: 100}
+  m_AnchoredPosition: {x: -1, y: 0}
+  m_SizeDelta: {x: 26.7, y: 100}
   m_Pivot: {x: 0.5, y: 0.5}
 --- !u!1 &6632880850602830187
 GameObject:
@@ -2036,7 +2036,7 @@ MonoBehaviour:
   m_OnCullStateChanged:
     m_PersistentCalls:
       m_Calls: []
-  m_Sprite: {fileID: 21300000, guid: fbf91fb1809b91547a24344a3591c343, type: 3}
+  m_Sprite: {fileID: 21300000, guid: 8c960e0c86b5a32489e75b76822bb0c9, type: 3}
   m_Type: 0
   m_PreserveAspect: 0
   m_FillCenter: 1

+ 0 - 8
Assets/Scenes/testCombat.scene

@@ -5851,14 +5851,6 @@ PrefabInstance:
       propertyPath: m_Name
       value: ZhuanPanPanel
       objectReference: {fileID: 0}
-    - target: {fileID: 2805882514726104012, guid: e5e908d8e878cd04098dc957e054e88c, type: 3}
-      propertyPath: m_SizeDelta.x
-      value: 26.7
-      objectReference: {fileID: 0}
-    - target: {fileID: 2805882514726104012, guid: e5e908d8e878cd04098dc957e054e88c, type: 3}
-      propertyPath: m_AnchoredPosition.x
-      value: -1
-      objectReference: {fileID: 0}
     - target: {fileID: 8510026615150398487, guid: e5e908d8e878cd04098dc957e054e88c, type: 3}
       propertyPath: m_Pivot.x
       value: 0.5

+ 1 - 1
Assets/Scripts/Core/Triiger/OnTriggerEnterEventTrigger.cs

@@ -21,7 +21,7 @@ namespace Core.Triiger
             ITriggerEntity triggerEntity = null;
             if(onTriggerEnterEventTrigger!=null)
             {
-                 triggerEntity=  collider.GetComponent<OnTriggerEnterEventTrigger>().triggerEntity;
+                 triggerEntity= onTriggerEnterEventTrigger.triggerEntity;
                
             }
             

+ 14 - 4
Assets/Scripts/Core/Utility/BesselPath.cs

@@ -12,6 +12,11 @@ namespace Core.Utility
     {
         public List<Vector3> controlPoints = new List<Vector3>();
 
+        /// <summary>
+        /// 全部长度
+        /// </summary>
+        public float allDis;
+
         public Vector3 CalculatePoint(float t)
         {
             if (controlPoints.Count < 2)
@@ -21,13 +26,13 @@ namespace Core.Utility
             }
 
             t = Mathf.Clamp01(t);
-            
+
             // return controlPoints[0] * ((1 - t) * (1 - t) * (1 - t)) +
             //        controlPoints[1] * (3 * t * (1 - t) * (1 - t)) +
             //        controlPoints[2] * (3 * t * t * (1 - t)) +
-                   // controlPoints[3] * (t * t * t);
+            // controlPoints[3] * (t * t * t);
             int n = controlPoints.Count - 1; // 阶数
-            
+
             Vector3 point = Vector3.zero;
             for (int i = 0; i <= n; i++)
             {
@@ -35,7 +40,7 @@ namespace Core.Utility
                 float bernstein = Bernstein(n, i, t);
                 point += bernstein * controlPoints[i];
             }
-            
+
             return point;
         }
 
@@ -45,6 +50,11 @@ namespace Core.Utility
             return BinomialCoefficient(n, i) * Mathf.Pow(1 - t, n - i) * Mathf.Pow(t, i);
         }
 
+        public void SetLengthAtT(int segments = 50)
+        {
+            allDis = GetLengthAtT(segments);
+        }
+
         public float GetLengthAtT(float t, int segments = 50)
         {
             if (controlPoints.Count < 2) return 0f;

+ 8 - 0
Assets/Scripts/GameLogic/Combat/CombatEvent/AddUseGongFaEventData.cs

@@ -1,4 +1,5 @@
 using Core.Utility.Event;
+using GameLogic.Combat.Hero.Turntable;
 using GameLogic.Combat.Skill;
 
 namespace Common.Utility.CombatEvent
@@ -6,5 +7,12 @@ namespace Common.Utility.CombatEvent
     public class AddUseGongFaEventData : EventDataBasic<AddUseGongFaEventData>
     {
         public SkillBasic SkillBasic;
+        public SkillSlots SkillSlots;
+
+        protected override void ProDispose()
+        {
+            SkillBasic = null;
+            SkillSlots = null;
+        }
     }
 }

+ 3 - 0
Assets/Scripts/GameLogic/Combat/CombatEvent/SkillSlotsAlterEventData.cs

@@ -1,14 +1,17 @@
 using Core.Utility.Event;
 using GameLogic.Combat.Hero.Turntable;
+using GameLogic.Combat.Skill;
 
 namespace Common.Utility.CombatEvent
 {
     public class SkillSlotsAlterEventData: EventDataBasic<SkillSlotsAlterEventData>
     {
         public SkillSlots SkillSlots;
+        public SkillBasic SkillBasic;
         protected override void ProDispose()
         {
             SkillSlots = null;
+            SkillBasic = null;
         }
     }
 }

+ 19 - 0
Assets/Scripts/GameLogic/Combat/Hero/Barrier/BarrierCollideTriigerType.cs

@@ -0,0 +1,19 @@
+namespace GameLogic.Combat.Hero
+{
+    public enum BarrierCollideTriigerType
+    {
+    
+        /// <summary>
+        /// 无
+        /// </summary>
+        Null,
+        /// <summary>
+        /// 主档
+        /// </summary>
+        Block=1,
+        /// <summary>
+        /// 照成伤害
+        /// </summary>
+        Harm=2,
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Combat/Hero/Barrier/BarrierCollideTriigerType.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 6fcc9c1096584713bb9af6f55f47ff81
+timeCreated: 1744710551

+ 3 - 0
Assets/Scripts/GameLogic/Combat/Hero/Barrier/IBarrier.cs

@@ -1,5 +1,6 @@
 using System;
 using Core.Triiger;
+using GameLogic.Combat.CombatTool;
 
 namespace GameLogic.Combat.Hero
 {
@@ -16,5 +17,7 @@ namespace GameLogic.Combat.Hero
         /// <param name="triggerEntity"></param>
         /// <returns></returns>
         bool CollideTriiger(ITriggerEntity triggerEntity);
+
+        void Harm(HarmReturnInfo harmReturnInfo);
     }
 }

+ 11 - 0
Assets/Scripts/GameLogic/Combat/Hero/Barrier/ShieldsBarrier.cs

@@ -2,6 +2,7 @@ using Core.Triiger;
 using Fort23.Common;
 using Fort23.Core;
 using Fort23.UTool;
+using GameLogic.Combat.CombatTool;
 using UnityEngine;
 
 namespace GameLogic.Combat.Hero
@@ -68,6 +69,16 @@ namespace GameLogic.Combat.Hero
             return true;
         }
 
+        public void Harm(HarmReturnInfo harmReturnInfo)
+        {
+            Play();
+            harmReturnInfo.target.combatHeroEntity.CurrCombatHeroInfo.Shield -= harmReturnInfo.att;
+            if (harmReturnInfo.target.combatHeroEntity.CurrCombatHeroInfo.Shield <= 0)
+            {
+                Rupture();
+            }
+        }
+
         public void Dispose()
         {
             GObjectPool.Instance.Recycle(ShieldsFx);

+ 4 - 52
Assets/Scripts/GameLogic/Combat/Hero/CombatHeroEntity.cs

@@ -292,59 +292,11 @@ public class CombatHeroEntity : ShowBaiscEntity, ITimeLineAnimtion, ITimeLineGet
             return;
         }
 
-        // if (harmReturnInfo.WuXingType.HasFlag(WuXingType.Gold))
-        // {
-        //     int odds = Random.Range(0, 100);
-        //     if (odds < 50)
-        //     {
-        //         CurrCombatHeroInfo.Wood_Injury += Random.Range(1, 5);
-        //     }
-        // }
-        //
-        // if (harmReturnInfo.WuXingType.HasFlag(WuXingType.Wood))
-        // {
-        //     int odds = Random.Range(0, 100);
-        //     if (odds < 50)
-        //     {
-        //         CurrCombatHeroInfo.Earth_Injury += Random.Range(1, 5);
-        //     }
-        // }
-        //
-        // if (harmReturnInfo.WuXingType.HasFlag(WuXingType.Water))
-        // {
-        //     int odds = Random.Range(0, 100);
-        //     if (odds < 50)
-        //     {
-        //         CurrCombatHeroInfo.Fire_Injury += Random.Range(1, 5);
-        //     }
-        // }
-        //
-        // if (harmReturnInfo.WuXingType.HasFlag(WuXingType.Fire))
-        // {
-        //     int odds = Random.Range(0, 100);
-        //     if (odds < 50)
-        //     {
-        //         CurrCombatHeroInfo.Metal_Injury += Random.Range(1, 5);
-        //     }
-        // }
-        //
-        // if (harmReturnInfo.WuXingType.HasFlag(WuXingType.Earth))
-        // {
-        //     int odds = Random.Range(0, 100);
-        //     if (odds < 50)
-        //     {
-        //         CurrCombatHeroInfo.Water_Injury += Random.Range(1, 5);
-        //     }
-        // }
-
-        if (harmReturnInfo.triggerData.IBarrier != null && ShieldsBarrier != null)
+        ShieldsBarrier shieldsBarrier=  harmReturnInfo.triggerData.IBarrier as ShieldsBarrier;
+        if (shieldsBarrier!=null)
         {
-            ShieldsBarrier.Play();
-            CurrCombatHeroInfo.Shield -= harmReturnInfo.att;
-            if (CurrCombatHeroInfo.Shield <= 0)
-            {
-                ShieldsBarrier.Rupture();
-            }
+             shieldsBarrier.Harm(harmReturnInfo);
+        
         }
         else
         {

+ 4 - 0
Assets/Scripts/GameLogic/Combat/Hero/CombatHeroInfo.cs

@@ -37,6 +37,10 @@ public class CombatHeroInfo
     public HeroPowerUpConfig powerUpConfig;
     public MonsterPowerUpConfig MonsterPowerUpConfig;
 
+    /// <summary>
+    /// 功法强度的加成 %
+    /// </summary>
+    public float gongFaStrength;
     /// <summary>
     /// 护盾
     /// </summary>

+ 23 - 6
Assets/Scripts/GameLogic/Combat/Hero/Turntable/SkillSlots.cs

@@ -10,15 +10,20 @@ namespace GameLogic.Combat.Hero.Turntable
         public int index;
         public float angle;
 
-        // public float useAngle;
-        // public float lasetAngle = 360;
         public int useCount;
 
         public int useTriggerType;
+
         private int triggerType = -1;
+
+        /// <summary>
+        /// 触发的次数
+        /// </summary>
+        public int triggerCount;
+
         // public int useCount;
         /// <summary>
-        /// 金金木水火土
+        /// 金、水、木、火、
         /// </summary>
         private int[] triggerAngle = new[] { 0, 72, 144, 216, 288 };
 
@@ -33,14 +38,18 @@ namespace GameLogic.Combat.Hero.Turntable
 
         public void SetSkill(SkillBasic SkillBasic)
         {
+            triggerCount = 0;
             this.SkillBasic = SkillBasic;
             if (SkillBasic != null)
             {
-                SkillBasic.index= index;
+                SkillBasic.index = index;
+                SkillBasic.AddToSkillSlots();
             }
 
+
             SkillSlotsAlterEventData skillSlotsAlterEventData = SkillSlotsAlterEventData.Create();
             skillSlotsAlterEventData.SkillSlots = this;
+            skillSlotsAlterEventData.SkillBasic = SkillBasic;
             CombatEventManager.Instance.Dispatch(CombatEventType.SkillSlotsAlter, skillSlotsAlterEventData);
         }
 
@@ -98,14 +107,14 @@ namespace GameLogic.Combat.Hero.Turntable
                         }
 
                         break;
-                    case WuXingType.Wood:
+                    case WuXingType.Water:
                         if (triggerType != 1)
                         {
                             return;
                         }
 
                         break;
-                    case WuXingType.Water:
+                    case WuXingType.Wood:
                         if (triggerType != 2)
                         {
                             return;
@@ -127,6 +136,14 @@ namespace GameLogic.Combat.Hero.Turntable
 
                         break;
                 }
+
+                triggerCount++;
+                if (triggerCount < SkillBasic.SelfSkillConfig.cd)
+                {
+                    return;
+                }
+
+                triggerCount = 0;
             }
 
             useTriggerType = triggerType;

+ 5 - 1
Assets/Scripts/GameLogic/Combat/Hero/Turntable/SkillTurntable.cs

@@ -48,6 +48,7 @@ namespace GameLogic.Combat.Hero.Turntable
             {
                 return;
             }
+
             currUseFinishSkill.Add(skillBasic);
         }
 
@@ -85,7 +86,7 @@ namespace GameLogic.Combat.Hero.Turntable
                         continue;
                     }
 
-                   
+
                     SetSkill(i, skillBasic);
 
                     if (!string.IsNullOrEmpty(skillConfig.scriptName))
@@ -258,9 +259,12 @@ namespace GameLogic.Combat.Hero.Turntable
             combatHeroSkillControl.AddCommandSkill(skillBasic);
             AddUseGongFaEventData addUseGongFaEventData = AddUseGongFaEventData.Create();
             addUseGongFaEventData.SkillBasic = skillBasic;
+            addUseGongFaEventData.SkillSlots = skillSlots;
             CombatEventManager.Instance.Dispatch(CombatEventType.AddUseGongFa, addUseGongFaEventData);
         }
 
+  
+
         public void Update(float t, float angle)
         {
             if (_removeSkillBasic.Count > 0)

+ 1 - 1
Assets/Scripts/GameLogic/Combat/Skill/DS60101.cs

@@ -25,7 +25,7 @@ namespace GameLogic.Combat.Skill
         private void UseSkill(IEventData iEventData)
         {
             CombatUseSkillEventData combatUseSkillEventData = iEventData as CombatUseSkillEventData;
-            if (combatUseSkillEventData.useSkill.CombatHeroEntity == CombatHeroEntity)
+            if (combatUseSkillEventData.useSkill.CombatHeroEntity == CombatHeroEntity&& combatUseSkillEventData.useSkill.SelfSkillConfig.SkillType == 1)
             {
                 currEnergy += SelfSkillConfig.effectValue[0];
                 if (currEnergy >= SelfSkillConfig.effectValue[1])

+ 240 - 0
Assets/Scripts/GameLogic/Combat/Skill/DS60102.cs

@@ -0,0 +1,240 @@
+using Common.Utility.CombatEvent;
+using Fort23.Core;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using GameLogic.Player;
+using Utility;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 生衍道 :功法拥有生息之能,每次使用功法能获得对应属性的充能,充能满后获得对应属性的加成 金:提升攻击力 木:恢复生命 水:治疗一个较重伤势 火:功法强度提升 土:玩家防御提升。(全能型)
+    /// </summary>
+    public class DS60102 : SkillBasic
+    {
+        public Map<WuXingType, float> currEnergy = new Map<WuXingType, float>();
+
+
+        private long addAtt;
+        private float addAtt_bl;
+
+        private long addDef;
+        private float addDef_bl;
+
+        private long addQiangDu;
+        private float addQiangDu_bl;
+
+        protected override void ProUseSkill()
+        {
+        }
+
+        protected override void ProInitSkill()
+        {
+            CombatEventManager.Instance.AddEventListener(CombatEventType.UseSkill, UseSkill);
+        }
+
+        private void UseSkill(IEventData iEventData)
+        {
+            CombatUseSkillEventData combatUseSkillEventData = iEventData as CombatUseSkillEventData;
+            SkillBasic skillBasic = combatUseSkillEventData.useSkill;
+            if (skillBasic.CombatHeroEntity == CombatHeroEntity && skillBasic.SelfSkillConfig.SkillType == 1)
+            {
+                float v = SelfSkillConfig.effectValue[0];
+                if (currEnergy.ContainsKey(skillBasic.wuXingType))
+                {
+                    currEnergy[skillBasic.wuXingType] += v;
+                    v = currEnergy[skillBasic.wuXingType];
+                }
+                else
+                {
+                    currEnergy.Add(skillBasic.wuXingType, v);
+                }
+
+
+                switch (skillBasic.wuXingType)
+                {
+                    case WuXingType.Gold:
+                        GoldLogic();
+                        break;
+                    case WuXingType.Wood:
+                        WoodLogic();
+                        break;
+                    case WuXingType.Water:
+                        WaterLogic();
+                        break;
+                    case WuXingType.Fire:
+                        FireLogic();
+                        break;
+                    case WuXingType.Earth:
+                        EarthLogic();
+                        break;
+                }
+            }
+        }
+
+
+        protected void GoldLogic()
+        {
+            float max = SelfSkillConfig.effectValue[1];
+            float v = currEnergy[WuXingType.Gold];
+            if (v >= max)
+            {
+                currEnergy[WuXingType.Gold] = 0;
+                long maxAttack = CombatHeroEntity.MaxCombatHeroInfo.attack.Value;
+                float addV = SelfSkillConfig.effectValue[2];
+
+                float maxValue = SelfSkillConfig.effectValue[3];
+                if (addV + addAtt_bl > maxValue)
+                {
+                    addV = maxValue - addAtt_bl;
+                }
+
+                addAtt_bl += addV;
+                CombatHeroEntity.CurrCombatHeroInfo.attack -= addAtt;
+                addAtt = CombatCalculateTool.Instance.GetVlaueRatioForLong(maxAttack, addV);
+                CombatHeroEntity.CurrCombatHeroInfo.attack += addAtt;
+            }
+        }
+
+        protected void WoodLogic()
+        {
+            float max = SelfSkillConfig.effectValue[4];
+            float v = currEnergy[WuXingType.Wood];
+            if (v >= max)
+            {
+                currEnergy[WuXingType.Wood] = 0;
+                long h = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.MaxCombatHeroInfo.hp.Value,
+                    SelfSkillConfig.effectValue[5]);
+                CombatCalculateTool.Instance.Recover(CombatHeroEntity,
+                    CombatHeroEntity.GetMainHotPoin<CombatHeroHitPoint>(), h, AttType.Skill, HarmType.Default,
+                    triggerData);
+            }
+        }
+
+        protected void WaterLogic()
+        {
+            float max = SelfSkillConfig.effectValue[6];
+            float v = currEnergy[WuXingType.Water];
+            if (v < max)
+            {
+                return;
+            }
+
+            currEnergy[WuXingType.Water] = 0;
+            float metal_Injury = CombatHeroEntity.CurrCombatHeroInfo.Metal_Injury;
+            float Wood_Injury = CombatHeroEntity.CurrCombatHeroInfo.Wood_Injury;
+            float Water_Injury = CombatHeroEntity.CurrCombatHeroInfo.Water_Injury;
+            float Fire_Injury = CombatHeroEntity.CurrCombatHeroInfo.Fire_Injury;
+            float Earth_Injury = CombatHeroEntity.CurrCombatHeroInfo.Earth_Injury;
+
+            float[] injury = { metal_Injury, Wood_Injury, Water_Injury, Fire_Injury, Earth_Injury };
+            int minIndex = 0;
+            float minValue = injury[0];
+
+            for (int i = 1; i < injury.Length; i++)
+            {
+                if (injury[i] < minValue)
+                {
+                    minValue = injury[i];
+                    minIndex = i;
+                }
+            }
+
+            float vInjury = SelfSkillConfig.effectValue[7];
+            switch (minIndex)
+            {
+                case 0:
+                    CombatHeroEntity.CurrCombatHeroInfo.Metal_Injury -= vInjury;
+                    break;
+                case 1:
+                    CombatHeroEntity.CurrCombatHeroInfo.Wood_Injury -= vInjury;
+                    break;
+                case 2:
+                    CombatHeroEntity.CurrCombatHeroInfo.Water_Injury -= vInjury;
+                    break;
+                case 3:
+                    CombatHeroEntity.CurrCombatHeroInfo.Fire_Injury -= vInjury;
+                    break;
+                case 4:
+                    CombatHeroEntity.CurrCombatHeroInfo.Earth_Injury -= vInjury;
+                    break;
+            }
+        }
+
+        protected void FireLogic()
+        {
+            float max = SelfSkillConfig.effectValue[8];
+            float v = currEnergy[WuXingType.Fire];
+            if (v < max)
+            {
+                return;
+            }
+
+            currEnergy[WuXingType.Fire] = 0;
+            // float currGongFaStrength = CombatHeroEntity.CurrCombatHeroInfo.gongFaStrength;
+            float addV = SelfSkillConfig.effectValue[9];
+
+            float maxValue = SelfSkillConfig.effectValue[10];
+            if (addV + addQiangDu_bl > maxValue)
+            {
+                addV = maxValue - addQiangDu_bl;
+            }
+
+            CombatHeroEntity.CurrCombatHeroInfo.gongFaStrength -= addQiangDu_bl;
+            addQiangDu_bl += addV;
+            CombatHeroEntity.CurrCombatHeroInfo.gongFaStrength += addQiangDu_bl;
+        }
+
+        protected void EarthLogic()
+        {
+            float max = SelfSkillConfig.effectValue[11];
+            float v = currEnergy[WuXingType.Earth];
+            if (v < max)
+            {
+                return;
+            }
+
+            currEnergy[WuXingType.Earth] = 0;
+            long maxDef = CombatHeroEntity.MaxCombatHeroInfo.defense.Value;
+            float addV = SelfSkillConfig.effectValue[12];
+
+            float maxValue = SelfSkillConfig.effectValue[13];
+            if (addV + addDef_bl > maxValue)
+            {
+                addV = maxValue - addDef_bl;
+            }
+
+            addDef_bl += addV;
+            CombatHeroEntity.CurrCombatHeroInfo.defense -= addDef;
+            addDef = CombatCalculateTool.Instance.GetVlaueRatioForLong(maxDef, addV);
+            CombatHeroEntity.CurrCombatHeroInfo.attack += addDef;
+        }
+
+        private void Finish()
+        {
+            // if (_updateTime)
+            // {
+            //     CombatHeroEntity.CurrCombatHeroInfo.addAttSpeed_bl -= SelfSkillConfig.effectValue[2];
+            //     _updateTime = false;
+            // }
+        }
+
+
+        protected override void ProCombatUpdate(float time)
+        {
+            // if (_updateTime)
+            // {
+            //     _currTime += time;
+            //     if (_currTime >= SelfSkillConfig.effectValue[3])
+            //     {
+            //         Finish();
+            //     }
+            // }
+        }
+
+        protected override void ProDispose()
+        {
+            CombatEventManager.Instance.RemoveEventListener(CombatEventType.UseSkill, UseSkill);
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Combat/Skill/DS60102.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 58dd967043b542e49e99ac76d5d08bf6
+timeCreated: 1744683823

+ 92 - 0
Assets/Scripts/GameLogic/Combat/Skill/DS60103.cs

@@ -0,0 +1,92 @@
+using Common.Utility.CombatEvent;
+using Fort23.Core;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Player;
+using Utility;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 玄黄道 :每次使用功法时在当前位置留下一道属性印记,下一个放上来的功法如果和以前功法相生则功法效果提升50%,每次使用功法时都会治疗对应相生属性的伤势。(均衡性功法搭配,转盘改变,变为金、水、木、火、土)
+    /// </summary>
+    public class DS60103 : SkillBasic
+    {
+        protected Map<int, WuXingType> WuXingTypeMap = new Map<int, WuXingType>();
+
+        protected override void ProUseSkill()
+        {
+        }
+
+        protected override void ProInitSkill()
+        {
+            CombatEventManager.Instance.AddEventListener(CombatEventType.AddUseGongFa, AddUseGongFa);
+            CombatEventManager.Instance.AddEventListener(CombatEventType.SkillSlotsAlter, SkillSlotsAlter);
+        }
+
+        private void AddUseGongFa(IEventData iEventData)
+        {
+            AddUseGongFaEventData addUseGongFaEventData = iEventData as AddUseGongFaEventData;
+            if (addUseGongFaEventData.SkillBasic.CombatHeroEntity == CombatHeroEntity &&
+                addUseGongFaEventData.SkillBasic.SelfSkillConfig.SkillType == 1)
+            {
+                WuXingTypeMap.Add(addUseGongFaEventData.SkillSlots.index, addUseGongFaEventData.SkillBasic.wuXingType);
+                float v = SelfSkillConfig.effectValue[1];
+                switch (addUseGongFaEventData.SkillBasic.wuXingType)
+                {
+                    case WuXingType.Gold:
+                        CombatHeroEntity.CurrCombatHeroInfo.Metal_Injury -= v;
+                        break;
+                    case WuXingType.Wood:
+                        CombatHeroEntity.CurrCombatHeroInfo.Wood_Injury -= v;
+                        break;
+                    case WuXingType.Water:
+                        CombatHeroEntity.CurrCombatHeroInfo.Water_Injury -= v;
+                        break;
+                    case WuXingType.Fire:
+                        CombatHeroEntity.CurrCombatHeroInfo.Fire_Injury -= v;
+                        break;
+                    case WuXingType.Earth:
+                        CombatHeroEntity.CurrCombatHeroInfo.Earth_Injury -= v;
+                        break;
+                }
+            }
+        }
+
+        private void SkillSlotsAlter(IEventData iEventData)
+        {
+            SkillSlotsAlterEventData skillSlotsAlterEventData = iEventData as SkillSlotsAlterEventData;
+            if (skillSlotsAlterEventData.SkillBasic != null &&
+                skillSlotsAlterEventData.SkillBasic.CombatHeroEntity == CombatHeroEntity &&
+                skillSlotsAlterEventData.SkillBasic.SelfSkillConfig.SkillType == 1)
+            {
+                if (WuXingTypeMap.TryGetValue(skillSlotsAlterEventData.SkillSlots.index, out WuXingType wuXingType))
+                {
+                    WuXingTypeMap.Remove(skillSlotsAlterEventData.SkillSlots.index);
+                    bool isSymbiosis = CombatCalculateTool.Instance.IsSymbiosis(
+                        skillSlotsAlterEventData.SkillBasic.wuXingType,
+                        wuXingType);
+                    if (isSymbiosis)
+                    {
+                        skillSlotsAlterEventData.SkillBasic.IntensifyingEffect(SelfSkillConfig.effectValue[0]);
+                    }
+                }
+            }
+        }
+
+        private void Finish()
+        {
+        }
+
+
+        protected override void ProCombatUpdate(float time)
+        {
+        }
+
+        protected override void ProDispose()
+        {
+            WuXingTypeMap.Clear();
+            CombatEventManager.Instance.RemoveEventListener(CombatEventType.AddUseGongFa, AddUseGongFa);
+            CombatEventManager.Instance.RemoveEventListener(CombatEventType.SkillSlotsAlter, SkillSlotsAlter);
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Combat/Skill/DS60103.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: a3b90e3c61254b0fb93edcd7271972ea
+timeCreated: 1744686573

+ 69 - 0
Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/FS901002.cs

@@ -0,0 +1,69 @@
+using System.Collections.Generic;
+using Common.Combat.FxAILogic;
+using Core.Triiger;
+using UnityEngine;
+
+namespace GameLogic.Combat.Skill.MagicSkill
+{
+    /// <summary>
+    /// 法宝技能 翡翠葫芦 战场区域形成一个域。敌人的功法弹道进入域后将降低敌人的功法弹道速度
+    /// </summary>
+    public class FS901002 : MagicSkillBasic, ITriggerEntity
+    {
+        private List<FxAILogicBasic> _fxAILogicBasics = new List<FxAILogicBasic>();
+        private float _currTime;
+        private bool _update;
+
+        private IUnRegister _unRegister;
+        protected override void ProMagicUseSkill()
+        {
+            SpecialDotInfo specialDotInfo = CombatHeroEntity.GetSpecialDotInfo("lingyu");
+            _unRegister=specialDotInfo.targetTran.gameObject.OnTriggerEnterEvent(this, OnTriggerEnter);
+            _currTime = 0;
+            _update = true;
+            // specialDotInfo.targetTran.gameObject.OnTriggerExitEvent(this, OnTriggerEnter);
+        }
+
+        private void OnTriggerEnter(Collider collider, ITriggerEntity triggerEntity)
+        {
+            if (triggerEntity == null)
+            {
+                return;
+            }
+
+            FxAILogicBasic fxAILogicBasic = triggerEntity as FxAILogicBasic;
+            if (fxAILogicBasic != null)
+            {
+                fxAILogicBasic.extraMoveSpeed -= SelfSkillConfig.effectValue[0];
+            }
+        }
+
+        protected override void MagicSkillUpdate(float time)
+        {
+            if (_update)
+            {
+                _currTime += time;
+                if (_currTime >= SelfSkillConfig.effectValue[1])
+                {
+                    Finish();
+                }
+            }
+        }
+
+        private void Finish()
+        {
+            _unRegister?.UnRegister();
+            _unRegister = null;
+            _update = false;
+            SkillPlayFinish();
+            for (int i = 0; i < _fxAILogicBasics.Count; i++)
+            {
+                _fxAILogicBasics[i].extraMoveSpeed += SelfSkillConfig.effectValue[0];
+            }
+
+            _fxAILogicBasics.Clear();
+        }
+
+        public string tag { get; }
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/FS901002.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 206100e1b7ab428b96855fdb0bde3fdf
+timeCreated: 1744707316

+ 30 - 0
Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/FS901003.cs

@@ -0,0 +1,30 @@
+using Core.Triiger;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+
+namespace GameLogic.Combat.Skill.MagicSkill
+{
+    /// <summary>
+    /// 玄龟盾:前方形成一个土系防御盾,抵挡敌人伤害
+    /// </summary>
+    public class FS901003 : MagicSkillBasic, ITriggerEntity, IBarrier
+    {
+        public string tag { get; }
+
+        protected override void ProMagicUseSkill()
+        {
+            base.ProMagicUseSkill();
+        }
+
+        public ShowBaiscEntity Own { get; set; }
+
+        public bool CollideTriiger(ITriggerEntity triggerEntity)
+        {
+            return false;
+        }
+
+        public void Harm(HarmReturnInfo harmReturnInfo)
+        {
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Combat/Skill/MagicSkill/FS901003.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 765e6dae9f0e4a00a772ae81ddf94786
+timeCreated: 1744710272

+ 9 - 2
Assets/Scripts/GameLogic/Combat/Skill/SkillBasic.cs

@@ -11,6 +11,7 @@ using Fort23.Core;
 using Fort23.UTool;
 using GameLogic.Combat.CombatTool;
 using GameLogic.Combat.Hero;
+using GameLogic.Combat.Hero.Turntable;
 using GameLogic.Combat.Skill.IntensifierEffect;
 using GameLogic.CombatScenesTool;
 using GameLogic.Hero;
@@ -116,6 +117,8 @@ namespace GameLogic.Combat.Skill
 
         private TriggerData _triggerData;
 
+        protected float[] defaultEffectValue;
+
         /// <summary>
         /// 技能cd
         /// </summary>
@@ -176,6 +179,11 @@ namespace GameLogic.Combat.Skill
         {
         }
 
+        public void AddToSkillSlots()
+        {
+            SelfSkillConfig.effectValue = defaultEffectValue;
+        
+        }
 
         /// <summary>
         /// 激活技能,准备使用技能
@@ -196,7 +204,6 @@ namespace GameLogic.Combat.Skill
 
         protected virtual void ProReplace()
         {
-            
         }
 
         /// <summary>
@@ -272,12 +279,12 @@ namespace GameLogic.Combat.Skill
 
             UseCount = SelfSkillConfig.SkillType * 100000;
             skillGuid = SelfSkillConfig.ID;
+            defaultEffectValue = SelfSkillConfig.effectValue;
             // if (SkillIntensifierData == null)
             // {
             //     SkillIntensifierData = new SkillIntensifierData();
             // }
 
-         
 
             ProInitSkillConfig();
 

+ 13 - 4
Assets/Scripts/GameLogic/Paritcle/ParitcleLogic/FxAILogicBasic.cs

@@ -27,6 +27,11 @@ namespace Common.Combat.FxAILogic
         [Header("碰撞时的特效")] public string hitFxName;
         [Header("碰撞音效")] public string hitAudioName;
 
+        /// <summary>
+        /// 额外移动速度 <0 减速 >0加速
+        /// </summary>
+        [HideInInspector] public float extraMoveSpeed;
+
         public ILifetCycleHitPoint AttTarget
         {
             get { return _attTarget; }
@@ -57,7 +62,8 @@ namespace Common.Combat.FxAILogic
         /// </summary>
         protected Vector3 startPos;
 
-        public float size=1;
+        public float size = 1;
+
         public Vector3 CurrPos
         {
             get { return _currPos; }
@@ -81,6 +87,7 @@ namespace Common.Combat.FxAILogic
 
         private float _currDelayTime;
         private float _currAllDelayTime;
+
         public void Init(Vector3 startPos,
             TimeLineEventParticleLogicBasic timeLineEventParticleLogicBasic, ILifetCycleHitPoint attTarget,
             SpecialDotInfo specialDotInfo = null)
@@ -91,8 +98,9 @@ namespace Common.Combat.FxAILogic
                 return;
             }
 
+            extraMoveSpeed = 0;
             size = 1;
-            _currAllDelayTime= delayTime+timeLineEventParticleLogicBasic.indexCount*multipleTargetDelayTime;
+            _currAllDelayTime = delayTime + timeLineEventParticleLogicBasic.indexCount * multipleTargetDelayTime;
             _currDelayTime = 0;
             _currPos = startPos;
             this.startPos = startPos;
@@ -142,7 +150,7 @@ namespace Common.Combat.FxAILogic
         // }
         public void PlayHit()
         {
-            FinishHit(CurrPos,hitFxName);
+            FinishHit(CurrPos, hitFxName);
         }
 
         protected void FinishHit(Vector3 pos, string hitFxName)
@@ -192,7 +200,8 @@ namespace Common.Combat.FxAILogic
             {
                 return;
             }
-            _currDelayTime+=time;
+
+            _currDelayTime += time;
             if (_currDelayTime < _currAllDelayTime)
             {
                 return;

+ 14 - 5
Assets/Scripts/GameLogic/Paritcle/ParitcleLogic/FxParabolaBulletLogic.cs

@@ -46,6 +46,7 @@ namespace Common.Combat.FxAILogic
         protected Vector3 startDir;
         private float dirLerpTime;
 
+
         protected override void ProInit()
         {
             maxDisSpr = maxDis * maxDis;
@@ -114,12 +115,19 @@ namespace Common.Combat.FxAILogic
                     moveBezierPath.controlPoints.Add(gameObject.transform.TransformPoint(p / (size * size)));
                 }
 
+                moveBezierPath.SetLengthAtT();
 
-                _addTime = 1.0f / (moveBezierPath.GetLengthAtT(0) / speed);
                 currTime = 0;
             }
         }
 
+        private float GetMoveSpeed()
+        {
+            float v = speed * extraMoveSpeed;
+            speed += v;
+            return v;
+        }
+
         void TriggerGround()
         {
             ITimeLineTriggerEvent timeLineTriggerEvent =
@@ -171,6 +179,7 @@ namespace Common.Combat.FxAILogic
                 {
                     return;
                 }
+
                 CombatCalculateTool.Instance.GongFaPengZhuang(SkillFeaturesData, skillFeaturesData, CombatHeroEntity,
                     fxAILogicBasic.CombatHeroEntity);
                 if (SkillFeaturesData.hp > 0)
@@ -183,7 +192,7 @@ namespace Common.Combat.FxAILogic
                     Dispose();
                     PlayHit();
                 }
-                else 
+                else
                 {
                     fxAILogicBasic.PlayHit();
                     fxAILogicBasic.Dispose();
@@ -332,7 +341,7 @@ namespace Common.Combat.FxAILogic
             // dir = Vector3.Lerp(startDir, dir, dirLerpTime).normalized;
             // startDir= dir;
             Vector3 lasetPos = _currPos;
-            _currPos += dir * speed * time;
+            _currPos += dir * GetMoveSpeed() * time;
             gameObject.transform.position = _currPos;
 
             gameObject.transform.rotation = Quaternion.LookRotation(dir);
@@ -340,6 +349,7 @@ namespace Common.Combat.FxAILogic
 
         private void CustomizeCurve(float time)
         {
+            _addTime = 1.0f / (moveBezierPath.allDis / GetMoveSpeed());
             currTime += _addTime * time;
             GetTargetPos();
             moveBezierPath.controlPoints[3] = endPos;
@@ -352,7 +362,6 @@ namespace Common.Combat.FxAILogic
 
         private void DynamicCurve(float time)
         {
-            currTime += _addTime * time;
             dirLerpTime += time * 4F;
             if (dirLerpTime > 1)
             {
@@ -364,7 +373,7 @@ namespace Common.Combat.FxAILogic
             dir = Vector3.Lerp(startDir, dir, dirLerpTime).normalized;
             // startDir= dir;
             Vector3 lasetPos = _currPos;
-            _currPos += dir * speed * time;
+            _currPos += dir * GetMoveSpeed() * time;
             gameObject.transform.position = _currPos;
 
             gameObject.transform.rotation = Quaternion.LookRotation(dir);

+ 10 - 10
Assets/Scripts/GameUI/UI/CombatPanel/ZhuanPanPanel.cs

@@ -56,22 +56,22 @@ namespace Fort23.Mono
         {
             CombatHeroInfo combatHeroInfo = CombatController.currActiveCombat.CombatHeroController
                 .playerHeroEntity.CurrCombatHeroInfo;
-            jin_shangshi.text = "伤势:" + combatHeroInfo.Metal_Injury;
-            mu_shangshi.text = "伤势:" + combatHeroInfo.Wood_Injury;
-            shui_shangshi.text = "伤势:" + combatHeroInfo.Water_Injury;
-            huo_shangshi.text = "伤势:" + combatHeroInfo.Fire_Injury;
-            tu_shangshi.text = "伤势:" + combatHeroInfo.Earth_Injury;
+            jin_shangshi.text = combatHeroInfo.Metal_Injury>0?"伤势:" + combatHeroInfo.Metal_Injury:"";
+            mu_shangshi.text =  combatHeroInfo.Wood_Injury>0?"伤势:" + combatHeroInfo.Wood_Injury:"";
+            shui_shangshi.text = combatHeroInfo.Water_Injury>0?"伤势:" + combatHeroInfo.Water_Injury:"";
+            huo_shangshi.text =  combatHeroInfo.Fire_Injury>0?"伤势:" + combatHeroInfo.Fire_Injury:"";
+            tu_shangshi.text = combatHeroInfo.Earth_Injury>0?"伤势:" + combatHeroInfo.Earth_Injury:"";
         }
 
         private void HeroHpUpdate(IEventData iEventData)
         {
             CombatHeroInfo combatHeroInfo = CombatController.currActiveCombat.CombatHeroController
                 .playerHeroEntity.CurrCombatHeroInfo;
-            jin_shangshi.text = "伤势:" + combatHeroInfo.Metal_Injury;
-            mu_shangshi.text = "伤势:" + combatHeroInfo.Wood_Injury;
-            shui_shangshi.text = "伤势:" + combatHeroInfo.Water_Injury;
-            huo_shangshi.text = "伤势:" + combatHeroInfo.Fire_Injury;
-            tu_shangshi.text = "伤势:" + combatHeroInfo.Earth_Injury;
+            jin_shangshi.text = combatHeroInfo.Metal_Injury>0?"伤势:" + combatHeroInfo.Metal_Injury:"";
+            mu_shangshi.text =  combatHeroInfo.Wood_Injury>0?"伤势:" + combatHeroInfo.Wood_Injury:"";
+            shui_shangshi.text = combatHeroInfo.Water_Injury>0?"伤势:" + combatHeroInfo.Water_Injury:"";
+            huo_shangshi.text =  combatHeroInfo.Fire_Injury>0?"伤势:" + combatHeroInfo.Fire_Injury:"";
+            tu_shangshi.text = combatHeroInfo.Earth_Injury>0?"伤势:" + combatHeroInfo.Earth_Injury:"";
         }
 
         private async void ExercisesAlter(IEventData iEventData)

BIN=BIN
Excel2Json/Excel/skill.xlsx


+ 40 - 40
UserSettings/Layouts/default-2022.dwlt

@@ -41,7 +41,7 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 743
-    width: 711
+    width: 764
     height: 233
   m_MinSize: {x: 100, y: 100}
   m_MaxSize: {x: 4000, y: 4000}
@@ -67,7 +67,7 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 976
-    width: 711
+    width: 764
     height: 323
   m_MinSize: {x: 232, y: 271}
   m_MaxSize: {x: 10002, y: 10021}
@@ -96,7 +96,7 @@ MonoBehaviour:
     serializedVersion: 2
     x: 716
     y: 0
-    width: 711
+    width: 764
     height: 1299
   m_MinSize: {x: 100, y: 150}
   m_MaxSize: {x: 8096, y: 24288}
@@ -149,8 +149,8 @@ MonoBehaviour:
     y: 0
     width: 716
     height: 1299
-  m_MinSize: {x: 200, y: 200}
-  m_MaxSize: {x: 4000, y: 4000}
+  m_MinSize: {x: 201, y: 221}
+  m_MaxSize: {x: 4001, y: 4021}
   m_ActualView: {fileID: 18}
   m_Panes:
   - {fileID: 18}
@@ -270,12 +270,12 @@ MonoBehaviour:
   m_Children: []
   m_Position:
     serializedVersion: 2
-    x: 1427
+    x: 1480
     y: 0
-    width: 549
+    width: 496
     height: 1299
-  m_MinSize: {x: 200, y: 200}
-  m_MaxSize: {x: 4000, y: 4000}
+  m_MinSize: {x: 202, y: 221}
+  m_MaxSize: {x: 4002, y: 4021}
   m_ActualView: {fileID: 15}
   m_Panes:
   - {fileID: 15}
@@ -298,10 +298,10 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 0
-    width: 711
+    width: 764
     height: 743
-  m_MinSize: {x: 200, y: 200}
-  m_MaxSize: {x: 4000, y: 4000}
+  m_MinSize: {x: 202, y: 221}
+  m_MaxSize: {x: 4002, y: 4021}
   m_ActualView: {fileID: 19}
   m_Panes:
   - {fileID: 19}
@@ -329,7 +329,7 @@ MonoBehaviour:
     serializedVersion: 2
     x: 716
     y: 816
-    width: 709
+    width: 762
     height: 212
   m_SerializedDataModeController:
     m_DataMode: 0
@@ -404,9 +404,9 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 1427
+    x: 1480
     y: 73
-    width: 547
+    width: 494
     height: 1278
   m_SerializedDataModeController:
     m_DataMode: 0
@@ -423,7 +423,7 @@ MonoBehaviour:
       scrollPos: {x: 0, y: 0}
       m_SelectedIDs: 
       m_LastClickedID: 0
-      m_ExpandedIDs: e425faffea25faffa026faffb027faffb427faffbe27faff78faffff
+      m_ExpandedIDs: 5aedfeff2030ffffc2c3ffffced6ffff94e9fffffcf0ffff92f1ffff96f1fffffef4ffff54faffff78faffff
       m_RenameOverlay:
         m_UserAcceptedRename: 0
         m_Name: 
@@ -516,7 +516,7 @@ MonoBehaviour:
     serializedVersion: 2
     x: 716
     y: 1049
-    width: 709
+    width: 762
     height: 302
   m_SerializedDataModeController:
     m_DataMode: 0
@@ -539,7 +539,7 @@ MonoBehaviour:
     m_SkipHidden: 1
     m_SearchArea: 1
     m_Folders:
-    - Assets/Scripts/GameStart
+    - Assets/Res/UI
     m_Globs: []
     m_OriginalText: 
     m_ImportLogFlags: 0
@@ -547,16 +547,16 @@ MonoBehaviour:
   m_ViewMode: 1
   m_StartGridSize: 16
   m_LastFolders:
-  - Assets/Scripts/GameStart
+  - Assets/Res/UI
   m_LastFoldersGridSize: 16
   m_LastProjectPath: D:\unityProject\XiuXianGame
   m_LockTracker:
     m_IsLocked: 0
   m_FolderTreeState:
     scrollPos: {x: 0, y: 486}
-    m_SelectedIDs: 88b90000
-    m_LastClickedID: 47496
-    m_ExpandedIDs: 0000000080b8000082b8000084b8000086b8000088b800008ab800008cb800008eb8000090b8000092b8000094b8000096b8000098b800009ab800009cb800009eb800004eb9000066b9000000ca9a3bffffff7f
+    m_SelectedIDs: 9ab80000
+    m_LastClickedID: 47258
+    m_ExpandedIDs: 0000000082b8000084b8000086b8000088b800008ab800008cb800008eb8000090b8000092b8000094b8000096b8000098b800009ab800009cb800009eb80000a0b8000048b9000050b9000000ca9a3bffffff7f
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: 
@@ -584,7 +584,7 @@ MonoBehaviour:
     scrollPos: {x: 0, y: 0}
     m_SelectedIDs: 
     m_LastClickedID: 0
-    m_ExpandedIDs: 0000000080b8000082b8000084b8000086b8000088b800008ab800008cb800008eb8000090b8000092b8000094b8000096b8000098b800009ab800009cb800009eb80000
+    m_ExpandedIDs: 0000000082b8000084b8000086b8000088b800008ab800008cb800008eb8000090b8000092b8000094b8000096b8000098b800009ab800009cb800009eb80000a0b80000
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: 
@@ -636,7 +636,7 @@ MonoBehaviour:
       m_Icon: {fileID: 0}
       m_ResourceFile: 
     m_NewAssetIndexInList: -1
-    m_ScrollPosition: {x: 0, y: 0}
+    m_ScrollPosition: {x: 0, y: 256.5}
     m_GridSize: 16
   m_SkipHiddenPackages: 1
   m_DirectoriesAreaWidth: 318
@@ -760,7 +760,7 @@ MonoBehaviour:
     serializedVersion: 2
     x: 716
     y: 73
-    width: 709
+    width: 762
     height: 722
   m_SerializedDataModeController:
     m_DataMode: 0
@@ -1124,18 +1124,18 @@ MonoBehaviour:
       sizeOverriden: 0
     m_OverlaysVisible: 1
   m_WindowGUID: d9e8ac729943301469eff8c7180f0e02
-  m_Gizmos: 0
+  m_Gizmos: 1
   m_OverrideSceneCullingMask: 6917529027641081856
   m_SceneIsLit: 1
   m_SceneLighting: 1
-  m_2DMode: 0
+  m_2DMode: 1
   m_isRotationLocked: 0
   m_PlayAudio: 0
   m_AudioPlay: 0
   m_Position:
-    m_Target: {x: -0.009236453, y: -2.6887317, z: 0}
+    m_Target: {x: -0.7573891, y: 2.0528016, z: 0}
     speed: 2
-    m_Value: {x: -0.009236453, y: -2.6887317, z: 0}
+    m_Value: {x: -0.7573891, y: 2.0528016, z: 0}
   m_RenderMode: 0
   m_CameraMode:
     drawMode: 0
@@ -1163,17 +1163,17 @@ MonoBehaviour:
       m_Size: {x: 0, y: 0}
     yGrid:
       m_Fade:
-        m_Target: 1
+        m_Target: 0
         speed: 2
-        m_Value: 1
+        m_Value: 0
       m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4}
       m_Pivot: {x: 0, y: 0, z: 0}
       m_Size: {x: 1, y: 1}
     zGrid:
       m_Fade:
-        m_Target: 0
+        m_Target: 1
         speed: 2
-        m_Value: 0
+        m_Value: 1
       m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4}
       m_Pivot: {x: 0, y: 0, z: 0}
       m_Size: {x: 1, y: 1}
@@ -1181,17 +1181,17 @@ MonoBehaviour:
     m_GridAxis: 1
     m_gridOpacity: 0.5
   m_Rotation:
-    m_Target: {x: 0.018193046, y: -0.9686573, z: -0.06776765, w: -0.23964164}
+    m_Target: {x: 0, y: 0, z: 0, w: 1}
     speed: 2
-    m_Value: {x: 0.018187148, y: -0.9683433, z: -0.067745686, w: -0.23956396}
+    m_Value: {x: 0, y: 0, z: 0, w: 1}
   m_Size:
-    m_Target: 0.17483255
+    m_Target: 0.37589642
     speed: 2
-    m_Value: 0.17483255
+    m_Value: 0.37589642
   m_Ortho:
-    m_Target: 0
+    m_Target: 1
     speed: 2
-    m_Value: 0
+    m_Value: 1
   m_CameraSettings:
     m_Speed: 1
     m_SpeedNormalized: 0.5
@@ -1207,7 +1207,7 @@ MonoBehaviour:
     m_OcclusionCulling: 0
     m_EnableGDRP: 1
     m_BackfaceCulling: 0
-  m_LastSceneViewRotation: {x: -0.049850088, y: -0.6230901, z: 0.04139834, w: -0.7798723}
+  m_LastSceneViewRotation: {x: 0.018193046, y: -0.9686573, z: -0.06776765, w: -0.23964164}
   m_LastSceneViewOrtho: 0
   m_ReplacementShader: {fileID: 0}
   m_ReplacementString: