Browse Source

添加功法

DESKTOP-FB72PO8\Administrator 4 tuần trước cách đây
mục cha
commit
96bf15d436
78 tập tin đã thay đổi với 1950 bổ sung49 xóa
  1. 2 2
      Assets/Scenes/testCombat.scene
  2. 9 0
      Assets/Scripts/GameLogic/Combat/Buff/b_1015.cs
  3. 3 0
      Assets/Scripts/GameLogic/Combat/Buff/b_1015.cs.meta
  4. 48 0
      Assets/Scripts/GameLogic/Combat/Buff/b_1016.cs
  5. 3 0
      Assets/Scripts/GameLogic/Combat/Buff/b_1016.cs.meta
  6. 50 0
      Assets/Scripts/GameLogic/Combat/Buff/b_1017.cs
  7. 3 0
      Assets/Scripts/GameLogic/Combat/Buff/b_1017.cs.meta
  8. 28 0
      Assets/Scripts/GameLogic/Combat/Buff/b_1018.cs
  9. 3 0
      Assets/Scripts/GameLogic/Combat/Buff/b_1018.cs.meta
  10. 4 0
      Assets/Scripts/GameLogic/Combat/CombatTool/AttType.cs
  11. 13 6
      Assets/Scripts/GameLogic/Combat/CombatTool/CombatCalculateTool.cs
  12. 8 0
      Assets/Scripts/GameLogic/Combat/CombatTool/HarmReturnInfo.cs
  13. 14 1
      Assets/Scripts/GameLogic/Combat/Hero/CombatHeroSkillControlBasic.cs
  14. 7 2
      Assets/Scripts/GameLogic/Combat/Hero/Turntable/SkillSlots.cs
  15. 6 3
      Assets/Scripts/GameLogic/Combat/Skill/S9011.cs
  16. 39 0
      Assets/Scripts/GameLogic/Combat/Skill/S9012.cs
  17. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9012.cs.meta
  18. 110 0
      Assets/Scripts/GameLogic/Combat/Skill/S9013.cs
  19. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9013.cs.meta
  20. 67 0
      Assets/Scripts/GameLogic/Combat/Skill/S9014.cs
  21. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9014.cs.meta
  22. 42 0
      Assets/Scripts/GameLogic/Combat/Skill/S9015.cs
  23. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9015.cs.meta
  24. 45 0
      Assets/Scripts/GameLogic/Combat/Skill/S9016.cs
  25. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9016.cs.meta
  26. 48 0
      Assets/Scripts/GameLogic/Combat/Skill/S9021.cs
  27. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9021.cs.meta
  28. 95 0
      Assets/Scripts/GameLogic/Combat/Skill/S9022.cs
  29. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9022.cs.meta
  30. 47 0
      Assets/Scripts/GameLogic/Combat/Skill/S9023.cs
  31. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9023.cs.meta
  32. 63 0
      Assets/Scripts/GameLogic/Combat/Skill/S9024.cs
  33. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9024.cs.meta
  34. 55 0
      Assets/Scripts/GameLogic/Combat/Skill/S9031.cs
  35. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9031.cs.meta
  36. 46 0
      Assets/Scripts/GameLogic/Combat/Skill/S9032.cs
  37. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9032.cs.meta
  38. 45 0
      Assets/Scripts/GameLogic/Combat/Skill/S9033.cs
  39. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9033.cs.meta
  40. 50 0
      Assets/Scripts/GameLogic/Combat/Skill/S9041.cs
  41. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9041.cs.meta
  42. 45 0
      Assets/Scripts/GameLogic/Combat/Skill/S9042.cs
  43. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9042.cs.meta
  44. 51 0
      Assets/Scripts/GameLogic/Combat/Skill/S9043.cs
  45. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9043.cs.meta
  46. 50 0
      Assets/Scripts/GameLogic/Combat/Skill/S9044.cs
  47. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9044.cs.meta
  48. 46 0
      Assets/Scripts/GameLogic/Combat/Skill/S9051.cs
  49. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9051.cs.meta
  50. 51 0
      Assets/Scripts/GameLogic/Combat/Skill/S9052.cs
  51. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9052.cs.meta
  52. 79 0
      Assets/Scripts/GameLogic/Combat/Skill/S9053.cs
  53. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9053.cs.meta
  54. 50 0
      Assets/Scripts/GameLogic/Combat/Skill/S9054.cs
  55. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9054.cs.meta
  56. 56 0
      Assets/Scripts/GameLogic/Combat/Skill/S9061.cs
  57. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9061.cs.meta
  58. 90 0
      Assets/Scripts/GameLogic/Combat/Skill/S9062.cs
  59. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9062.cs.meta
  60. 51 0
      Assets/Scripts/GameLogic/Combat/Skill/S9063.cs
  61. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9063.cs.meta
  62. 62 0
      Assets/Scripts/GameLogic/Combat/Skill/S9064.cs
  63. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9064.cs.meta
  64. 46 0
      Assets/Scripts/GameLogic/Combat/Skill/S9071.cs
  65. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9071.cs.meta
  66. 52 0
      Assets/Scripts/GameLogic/Combat/Skill/S9081.cs
  67. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9081.cs.meta
  68. 28 0
      Assets/Scripts/GameLogic/Combat/Skill/S9082.cs
  69. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9082.cs.meta
  70. 46 0
      Assets/Scripts/GameLogic/Combat/Skill/S9083.cs
  71. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9083.cs.meta
  72. 46 0
      Assets/Scripts/GameLogic/Combat/Skill/S9084.cs
  73. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9084.cs.meta
  74. 34 0
      Assets/Scripts/GameLogic/Combat/Skill/S9085.cs
  75. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9085.cs.meta
  76. 6 17
      Assets/Scripts/GameLogic/Combat/Skill/SkillBasic.cs
  77. BIN
      Excel2Json/Excel/Buff.xlsx
  78. 18 18
      UserSettings/Layouts/default-2022.dwlt

+ 2 - 2
Assets/Scenes/testCombat.scene

@@ -2241,7 +2241,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 6090200664286961698, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
       propertyPath: enemyHeroInfo.Array.data[0].level
-      value: 150
+      value: 352
       objectReference: {fileID: 0}
     - target: {fileID: 6090200664286961698, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
       propertyPath: enemyHeroInfo.Array.data[1].level
@@ -2317,7 +2317,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 9214784224709271120, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
       propertyPath: m_IsActive
-      value: 0
+      value: 1
       objectReference: {fileID: 0}
     m_RemovedComponents: []
     m_RemovedGameObjects: []

+ 9 - 0
Assets/Scripts/GameLogic/Combat/Buff/b_1015.cs

@@ -0,0 +1,9 @@
+namespace GameLogic.Combat.Buff
+{
+    /// <summary>
+    /// 无敌,不受控制
+    /// </summary>
+    public class b_1015 : BuffBasic
+    {
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Combat/Buff/b_1015.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: d0de25616e144283b32c6f50045a48b2
+timeCreated: 1750316423

+ 48 - 0
Assets/Scripts/GameLogic/Combat/Buff/b_1016.cs

@@ -0,0 +1,48 @@
+using Common.Utility.CombatEvent;
+using Fort23.Core;
+using GameLogic.Combat.CombatTool;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
+
+namespace GameLogic.Combat.Buff
+{
+    /// <summary>
+    /// 冰魄牢域
+    /// 乌龟的技能,神龟的所有主动伤害型技能命中目标后都会施加一层寒气,
+    ///寒气每叠到{0}层时,消耗所有层寒气对敌人照成{0}秒的冰冻效果
+    /// </summary>
+    public class b_1016 : BuffBasic
+    {
+        protected override void ProInit()
+        {
+            CombatEventManager.Instance.AddEventListener(CombatEventType.HeroInjured, HeroInjured);
+        }
+
+        private void HeroInjured(IEventData ieveEventData)
+        {
+            HeroInjuredEventData heroInjuredEventData = ieveEventData as HeroInjuredEventData;
+            if (heroInjuredEventData.HarmReturnInfo.source == combatHeroEntity)
+            {
+                if (heroInjuredEventData.HarmReturnInfo.attType.HasFlag(AttType.Skill) &&
+                    !heroInjuredEventData.HarmReturnInfo.attType.HasFlag(AttType.FanJi))
+                {
+                    BuffInfo buffInfo = BuffInfo.GetBuffInfo(10011, 1);
+                    BuffBasic buffBasic =
+                        heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity.BuffControl.AddBuff(
+                            combatHeroEntity, buffInfo);
+                    if (buffBasic.buffCount >= buffInfo.BuffConfig.effectValue[0])
+                    {
+                        heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity.BuffControl.RemoveBuff(buffBasic);
+                        BuffInfo buffInfo2 = BuffInfo.GetBuffInfo(10021, buffInfo.BuffConfig.effectValue[1], 1);
+                        heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity.BuffControl.AddBuff(
+                            combatHeroEntity, buffInfo2);
+                    }
+                }
+            }
+        }
+
+        protected override void ProDormancyObj()
+        {
+            CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroInjured, HeroInjured);
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Combat/Buff/b_1016.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 8831b82ddcf347f1a200350c0fa54acb
+timeCreated: 1750326009

+ 50 - 0
Assets/Scripts/GameLogic/Combat/Buff/b_1017.cs

@@ -0,0 +1,50 @@
+using Common.Utility.CombatEvent;
+using Fort23.Core;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Player;
+using UnityEngine;
+
+namespace GameLogic.Combat.Buff
+{
+    /// <summary>
+    /// 鼠疫
+    /// 敌人受到每秒受到{0}*层数的伤害,持续期间攻击力降低{1}*层数
+    /// </summary>
+    public class b_1017 : BuffBasic
+    {
+        /// <summary>
+        /// 添加的攻击力
+        /// </summary>
+        private long addAtt;
+
+        protected override void ProInit()
+        {
+            _jianGe = 1;
+        }
+
+        protected override void UpdateJumping()
+        {
+            float harmbl = buffCount * buffInf.BuffConfig.effectValue[0];
+            long harm = CombatCalculateTool.Instance.GetVlaueRatioForLong(
+                source.CurrCombatHeroInfo.attack.Value, harmbl);
+            CombatCalculateTool.Instance.Harm(source, combatHeroEntity, harm, AttType.Buff, _triggerData,
+                WuXingType.Null, null, HarmType.Buff);
+        }
+
+        protected override void ProUpdateEffect()
+        {
+            source.CurrCombatHeroInfo.attack += addAtt;
+            addAtt = 0;
+            float addAttbl = buffCount * buffInf.BuffConfig.effectValue[1];
+            addAtt = CombatCalculateTool.Instance.GetVlaueRatioForLong(source.CurrCombatHeroInfo.attack.Value,
+                addAttbl);
+            source.CurrCombatHeroInfo.attack -= addAtt;
+        }
+
+        protected override void ProDormancyObj()
+        {
+            source.CurrCombatHeroInfo.attack += addAtt;
+            addAtt = 0;
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Combat/Buff/b_1017.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 69554cd7b96b4f1497db01304b14ce6b
+timeCreated: 1750387376

+ 28 - 0
Assets/Scripts/GameLogic/Combat/Buff/b_1018.cs

@@ -0,0 +1,28 @@
+using GameLogic.Combat.CombatTool;
+using GameLogic.Player;
+
+namespace GameLogic.Combat.Buff
+{
+    /// <summary>
+    /// 感电
+    /// 麻痹敌人,敌人的身体受到麻痹,有{0}%*层数的概率是功法无法进入释放状态,没触发一次,消耗一半感电
+    /// </summary>
+    public class b_1018 : BuffBasic
+    {
+        protected override void ProInit()
+        {
+        }
+
+        protected override void UpdateJumping()
+        {
+        }
+
+        protected override void ProUpdateEffect()
+        {
+        }
+
+        protected override void ProDormancyObj()
+        {
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/GameLogic/Combat/Buff/b_1018.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 53032a7761a345108f57d22e9e4c773b
+timeCreated: 1750399757

+ 4 - 0
Assets/Scripts/GameLogic/Combat/CombatTool/AttType.cs

@@ -9,5 +9,9 @@ namespace GameLogic.Combat.CombatTool
         Skill = 1,
         Buff=2,
         FaBao=4,
+        /// <summary>
+        /// 反击伤害
+        /// </summary>
+        FanJi=8,
     }
 }

+ 13 - 6
Assets/Scripts/GameLogic/Combat/CombatTool/CombatCalculateTool.cs

@@ -90,9 +90,13 @@ namespace GameLogic.Combat.CombatTool
         /// <param name="att">伤害值</param>
         public HarmReturnInfo Harm(CombatHeroEntity source, CombatHeroHitPoint target, long att,
             AttType attType, TriggerData triggerData, WuXingType WuXingType, ISkillFeatures skillFeatures,
-            HarmType harmType = HarmType.Default)
+            HarmType harmType = HarmType.Default, HarmReturnInfo harmReturnInfo = null)
         {
-            HarmReturnInfo harmReturnInfo = CObjectPool.Instance.Fetch<HarmReturnInfo>();
+            if (harmReturnInfo == null)
+            {
+                harmReturnInfo = CObjectPool.Instance.Fetch<HarmReturnInfo>();
+            }
+
             harmReturnInfo.yuanShiAtt = att;
             harmReturnInfo.source = source;
             harmReturnInfo.target = target;
@@ -128,8 +132,11 @@ namespace GameLogic.Combat.CombatTool
 
 
             att = GetVlaueRatioForLong(att, wuxing);
+            long targetDef = target.combatHeroEntity.CurrCombatHeroInfo.defense.Value;
+            targetDef -= GetVlaueRatioForLong(targetDef, harmReturnInfo.ArmorPiercing);
+
             float def =
-                (target.combatHeroEntity.CurrCombatHeroInfo.defense.Value * 100.0f / source.CurrCombatHeroInfo.k);
+                (targetDef * 100.0f / source.CurrCombatHeroInfo.k);
 
 
             int p1_id = (int)def;
@@ -371,8 +378,8 @@ namespace GameLogic.Combat.CombatTool
             int c = myRestrained - targetRestrained;
             long myHp = (long)(a.hp);
             long targetHp = (long)(b.hp);
-            a.pengZhuangHp=myHp;
-            b.pengZhuangHp=targetHp;
+            a.pengZhuangHp = myHp;
+            b.pengZhuangHp = targetHp;
 
             float p2 = 100;
             if (c < 0) //a被压制
@@ -408,7 +415,7 @@ namespace GameLogic.Combat.CombatTool
             GongFaPengZhuangFinishEventData gongFaPengZhu = GongFaPengZhuangFinishEventData.Create();
             gongFaPengZhu.a = a;
             gongFaPengZhu.b = b;
-            CombatEventManager.Instance.Dispatch(CombatEventType.GongFaPengZhuangFinish, gongFaPengZhu,false);
+            CombatEventManager.Instance.Dispatch(CombatEventType.GongFaPengZhuangFinish, gongFaPengZhu, false);
             CombatEventManager.Instance.Dispatch(CombatEventType.GongFaPengZhuangFinish2, gongFaPengZhu);
         }
 

+ 8 - 0
Assets/Scripts/GameLogic/Combat/CombatTool/HarmReturnInfo.cs

@@ -24,10 +24,17 @@ namespace GameLogic.Combat.CombatTool
         public WuXingType WuXingType;
 
         public float QiangDu;
+
         /// <summary>
         /// 是否命中英雄
         /// </summary>
         public bool isHitHero;
+
+        /// <summary>
+        /// 破甲 忽略多少防御
+        /// </summary>
+        public float ArmorPiercing;
+
         public override void Dispose()
         {
             Debug.Log("回收了伤害信息类");
@@ -52,6 +59,7 @@ namespace GameLogic.Combat.CombatTool
             isMiss = false;
             yuanShiAtt = 0;
             att = 0;
+            ArmorPiercing = 0;
         }
     }
 }

+ 14 - 1
Assets/Scripts/GameLogic/Combat/Hero/CombatHeroSkillControlBasic.cs

@@ -40,6 +40,19 @@ namespace GameLogic.Combat.Hero
         {
         }
 
+        public T GetSkillBasic<T>() where T : SkillBasic
+        {
+            for (int i = 0; i < allSkill.Count; i++)
+            {
+                if (allSkill[i] is T)
+                {
+                    return (T)allSkill[i];
+                }
+            }
+
+            return null;
+        }
+
 
         public SkillBasic GetSkillBasic(int skillGroupId)
         {
@@ -72,7 +85,7 @@ namespace GameLogic.Combat.Hero
             }
 
 
-            skillBasic.InitSkillConfig(_combatHeroEntity,skillInfo);
+            skillBasic.InitSkillConfig(_combatHeroEntity, skillInfo);
             // skillBasic.InitSkill(_combatHeroEntity);
             allSkill.Add(skillBasic);
             return skillBasic;

+ 7 - 2
Assets/Scripts/GameLogic/Combat/Hero/Turntable/SkillSlots.cs

@@ -94,6 +94,11 @@ namespace GameLogic.Combat.Hero.Turntable
 
         public float GetFinishBl()
         {
+            if (!SkillBasic.isActive)
+            {
+                return 0;
+            }
+
             float v = angle % 360;
             int targetAngle = triggerAngle[currTriggerTypeIndex];
             float jd = v;
@@ -117,7 +122,7 @@ namespace GameLogic.Combat.Hero.Turntable
 
         public float GetFinishAngle()
         {
-            if (SkillBasic == null)
+            if (SkillBasic == null||!SkillBasic.isActive)
             {
                 return int.MaxValue;
             }
@@ -175,7 +180,7 @@ namespace GameLogic.Combat.Hero.Turntable
 
         private void Trigger(int triggerType)
         {
-            if (SkillBasic != null)
+            if (SkillBasic != null&&SkillBasic.isActive)
             {
                 TriggerSkillSlotsEventData triggerSkillSlotsEventData = TriggerSkillSlotsEventData.Create();
                 triggerSkillSlotsEventData.SkillBasic = SkillBasic;

+ 6 - 3
Assets/Scripts/GameLogic/Combat/Skill/S9011.cs

@@ -1,4 +1,5 @@
 using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.Buff;
 using GameLogic.Combat.CombatTool;
 using GameLogic.Combat.Hero;
 using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
@@ -33,8 +34,6 @@ namespace GameLogic.Combat.Skill
             TriggerData triggerData, ISkillFeatures skillFeatures)
         {
             float harmBl = effectValue[1];
-
-
             long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
                 harmBl);
 
@@ -42,7 +41,11 @@ namespace GameLogic.Combat.Skill
                 AttType.Skill, triggerData,
                 wuXingType, skillFeatures,
                 HarmType.Default);
-            // if(harmReturnInfo.isInvalid)
+            if (harmReturnInfo.isHitHero)
+            {
+                BuffInfo buffInfo = BuffInfo.GetBuffInfo(10011, 1);
+                targetEntity.combatHeroEntity.BuffControl.AddBuff(CombatHeroEntity, buffInfo);
+            }
         }
     }
 }

+ 39 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9012.cs

@@ -0,0 +1,39 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.Buff;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 凤凰张口喷吐出一股极寒霜息,形成远程席卷的寒潮波涛。直线飞行,只会有一个,对敌人造成{0}伤害,并额外造成寒气层数*{1}的伤害
+    /// </summary>
+    public class S9012 : SkillBasic
+    {
+        protected override void ProUseSkill()
+        {
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            float harmBl = effectValue[0];
+            b_1001 b1001 = targetEntity.combatHeroEntity.BuffControl.GetBuffBasicForType<b_1001>();
+            if (b1001 != null)
+            {
+                harmBl += b1001.buffCount * effectValue[1];
+            }
+
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                harmBl);
+
+
+            HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+                AttType.Skill, triggerData,
+                wuXingType, skillFeatures,
+                HarmType.Default);
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 06118d9a971b41d8aa8a3876d7cb4c17
+timeCreated: 1750314887

+ 110 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9013.cs

@@ -0,0 +1,110 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using Common.Utility.CombatEvent;
+using Fort23.Core;
+using GameLogic.Combat.Buff;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 霜域新生(被动,只会生效一次) 凤凰在伤害还剩10%的时候会触发此技能,
+    /// 凤凰身体冰冻住并有一层寒气笼罩,期间凤凰不在受到任何伤害,并慢慢回血,
+    /// 直到恢复满,持续5秒左右吧,恢复满后凤凰所有灵根增加{0}。冰块爆开,
+    /// 生成一个冲击波,对当前场上所有的弹道照成当前强度的强度攻击(强度不够的弹道会被摧毁),生成{1}枚冰锥冲向玩家,对玩家照成{2}伤害
+    /// </summary>
+    public class S9013 : SkillBasic
+    {
+        protected BuffBasic BuffBasic;
+
+        private bool isActiveFuHuo;
+        private int count;
+        private float _currTime;
+        protected long addHp;
+
+        protected override void ProActiveSkill()
+        {
+            count = 0;
+            isActiveFuHuo = false;
+            CombatEventManager.Instance.AddEventListener(CombatEventType.HeroInjured, HeroInjured);
+        }
+
+        private void HeroInjured(IEventData data)
+        {
+            if (count > 0)
+            {
+                return;
+            }
+
+            HeroInjuredEventData heroInjuredEventData = data as HeroInjuredEventData;
+            if (heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity == CombatHeroEntity)
+            {
+                float bl = CombatHeroEntity.CurrCombatHeroInfo.hp.Value * 1.0f /
+                           CombatHeroEntity.MaxCombatHeroInfo.hp.Value;
+                if (bl * 100 < effectValue[0])
+                {
+                    addHp = CombatCalculateTool.Instance.GetVlaueRatioForLong(
+                        CombatHeroEntity.MaxCombatHeroInfo.hp.Value, 10);
+                    BuffInfo buffInfo = BuffInfo.GetBuffInfo(10151, -1, 1);
+                    BuffBasic = CombatHeroEntity.BuffControl.AddBuff(CombatHeroEntity, buffInfo);
+                    isActiveFuHuo = true;
+                    count++;
+                }
+            }
+        }
+
+        protected override void ProUseSkill()
+        {
+        }
+
+        protected override void ProCombatUpdate(float time)
+        {
+            if (!isActiveFuHuo)
+            {
+                return;
+            }
+
+            _currTime += time;
+            if (_currTime > 0.2f)
+            {
+                Recover(CombatHeroEntity, CombatHeroEntity.GetMainHotPoin<CombatHeroHitPoint>(), addHp, AttType.Skill);
+                if (CombatHeroEntity.CurrCombatHeroInfo.hp.Value >= CombatHeroEntity.MaxCombatHeroInfo.hp.Value)
+                {
+                    isActiveFuHuo = false;
+                    float v = effectValue[1];
+                    CombatHeroEntity.CurrCombatHeroInfo.Metal += v;
+                    CombatHeroEntity.CurrCombatHeroInfo.Wood += v;
+                    CombatHeroEntity.CurrCombatHeroInfo.Water += v;
+                    CombatHeroEntity.CurrCombatHeroInfo.Fire += v;
+                    CombatHeroEntity.CurrCombatHeroInfo.Earth += v;
+
+                    S9014 s9014 = CombatHeroEntity.CombatHeroSkillControl.GetSkillBasic<S9014>();
+                    if (s9014 != null)
+                    {
+                        s9014.isActive = true;
+                    }
+                    //完成
+                }
+            }
+        }
+
+        protected void ProDefaultTimeLineTrigger_BaoZa(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            float harmBl = effectValue[0];
+
+
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                harmBl);
+
+
+            HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+                AttType.Skill, triggerData,
+                wuXingType, skillFeatures,
+                HarmType.Default);
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 6e24c8d7174b43c988a98c0fca3c61ca
+timeCreated: 1750315059

+ 67 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9014.cs

@@ -0,0 +1,67 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.Buff;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 冰星坠地(二阶段技能,一场触发1到2次即可)
+    /// 天空中出现多道冰球,只会有{0}枚砸向玩家,其他的冰球主要是为了好看和为了拦截玩家的弹道,照成{1}伤害,并施加一层寒气
+    /// </summary>
+    public class S9014 : SkillBasic
+    {
+        private float currTime;
+        private int currCount;
+        private bool isUpdate;
+
+        protected override void ProActiveSkill()
+        {
+            isActive = false;
+        }
+
+        protected override void ProUseSkill()
+        {
+            isUpdate = true;
+            currCount = 0;
+            currTime = 0;
+        }
+
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            float harmBl = effectValue[1];
+
+
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                harmBl);
+            
+            HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+                AttType.Skill, triggerData,
+                wuXingType, skillFeatures,
+                HarmType.Default);
+            if (harmReturnInfo.isHitHero)
+            {
+                BuffInfo buffInfo = BuffInfo.GetBuffInfo(10011, 1);
+                targetEntity.combatHeroEntity.BuffControl.AddBuff(CombatHeroEntity, buffInfo);
+            }
+        }
+
+        protected override void ProCombatUpdate(float time)
+        {
+            if (!isUpdate)
+            {
+                return;
+            }
+
+            currTime += time;
+            if (currTime > 0.2f)
+            {
+                //生成一个冰星 3个后生成砸中玩家的哪一个
+            }
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 13996e1bb7dc4bd7b9b3420dabca44e5
+timeCreated: 1750318813

+ 42 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9015.cs

@@ -0,0 +1,42 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.Buff;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    public class S9015 : SkillBasic
+    {
+        protected override void ProUseSkill()
+        {
+            ballisticsCount = (int)effectValue[0];
+            for (int i = 0; i < effectValue[0]; i++)
+            {
+                CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget
+                    .GetThis<CombatHeroEntity>()
+                    .GetMainHotPoin<CombatHeroHitPoint>();
+                BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();
+                currTarget.Add(combatHeroHitPoint);
+                SpecialDotInfo specialDotInfo = CombatHeroEntity.GetSpecialDotInfo("zdpos" + (i + 2));
+                ActivationTimeLineData("1101", currTarget: currTarget,
+                    customizePos: new Vector3[] { specialDotInfo.GetWorlPos() }, indexCount: i);
+            }
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            float harmBl = effectValue[1];
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                harmBl);
+
+            HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+                AttType.Skill, triggerData,
+                wuXingType, skillFeatures,
+                HarmType.Default);
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: d038a989810143b3b71fce3b4f4b9a30
+timeCreated: 1750320888

+ 45 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9016.cs

@@ -0,0 +1,45 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 羽箭(普通,右翅膀挥动)
+    /// 挥动翅膀发射{0}枚冰箭,对敌人照成{1}伤害
+    /// </summary>
+    public class S9016 : SkillBasic
+    {
+        protected override void ProUseSkill()
+        {
+            ballisticsCount = (int)effectValue[0];
+            for (int i = 0; i < effectValue[0]; i++)
+            {
+                CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget
+                    .GetThis<CombatHeroEntity>()
+                    .GetMainHotPoin<CombatHeroHitPoint>();
+                BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();
+                currTarget.Add(combatHeroHitPoint);
+                SpecialDotInfo specialDotInfo = CombatHeroEntity.GetSpecialDotInfo("zdpos" + (i + 2));
+                ActivationTimeLineData("1101", currTarget: currTarget,
+                    customizePos: new Vector3[] { specialDotInfo.GetWorlPos() }, indexCount: i);
+            }
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            float harmBl = effectValue[1];
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                harmBl);
+
+            HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+                AttType.Skill, triggerData,
+                wuXingType, skillFeatures,
+                HarmType.Default);
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 108ab7a4c2474e398590f1af76052927
+timeCreated: 1750320936

+ 48 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9021.cs

@@ -0,0 +1,48 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using Fort23.Core;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 冰魄飞甲
+    /// 神龟龟甲一个虚影快速连续收缩,然后爆开,形成多个如同龟甲碎片的弹道,被命中的敌人受到{0}伤害,碎片无视敌人{1}%防御
+    /// </summary>
+    public class S9021 : SkillBasic
+    {
+        protected override void ProUseSkill()
+        {
+            ballisticsCount = (int)effectValue[0];
+            for (int i = 0; i < effectValue[0]; i++)
+            {
+                CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget
+                    .GetThis<CombatHeroEntity>()
+                    .GetMainHotPoin<CombatHeroHitPoint>();
+                BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();
+                currTarget.Add(combatHeroHitPoint);
+                SpecialDotInfo specialDotInfo = CombatHeroEntity.GetSpecialDotInfo("zdpos" + (i + 2));
+                ActivationTimeLineData("1101", currTarget: currTarget,
+                    customizePos: new Vector3[] { specialDotInfo.GetWorlPos() }, indexCount: i);
+            }
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            HarmReturnInfo harmReturnInfo = CObjectPool.Instance.Fetch<HarmReturnInfo>();
+            harmReturnInfo.ArmorPiercing = effectValue[2];
+            float harmBl = effectValue[1];
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                harmBl);
+
+            harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+                AttType.Skill, triggerData,
+                wuXingType, skillFeatures,
+                HarmType.Default, harmReturnInfo: harmReturnInfo);
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 6bfa409f7f824a8084adfbb6a630fb28
+timeCreated: 1750320987

+ 95 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9022.cs

@@ -0,0 +1,95 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using Common.Utility.CombatEvent;
+using Fort23.Core;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 玄甲护体(防御型技能)
+    /// 从四周飞来类似龟甲的碎片,乌龟龟甲上形成一个新的龟甲,防御+{0}%,敌人对其照成伤害时会收到{1}%反伤,
+    /// 反伤为真实伤害。持续{2}秒
+    /// </summary>
+    public class S9022 : SkillBasic
+    {
+        private long currAddV;
+
+        private bool isUpdate;
+        private float currTime;
+
+        protected override void ProActiveSkill()
+        {
+            CombatEventManager.Instance.AddEventListener(CombatEventType.HeroInjured, HeroInjured);
+        }
+
+        private void HeroInjured(IEventData data)
+        {
+            if (!isUpdate)
+            {
+                return;
+            }
+
+            HeroInjuredEventData heroInjuredEventData = data as HeroInjuredEventData;
+            if (heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity == CombatHeroEntity)
+            {
+                long harm = heroInjuredEventData.HarmReturnInfo.att;
+                long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(harm, effectValue[1]);
+
+
+                HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity,
+                    heroInjuredEventData.HarmReturnInfo.source, v,
+                    AttType.Skill | AttType.FanJi, triggerData,
+                    wuXingType, null,
+                    HarmType.Default);
+            }
+        }
+
+        protected override void ProUseSkill()
+        {
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            long def = CombatHeroEntity.MaxCombatHeroInfo.defense.Value;
+            currAddV = CombatCalculateTool.Instance.GetVlaueRatioForLong(def, effectValue[0]);
+            CombatHeroEntity.CurrCombatHeroInfo.defense += currAddV;
+            isUpdate = true;
+            currTime = 0;
+
+            // HarmReturnInfo harmReturnInfo = CObjectPool.Instance.Fetch<HarmReturnInfo>();
+            // harmReturnInfo.ArmorPiercing = effectValue[2];
+            // float harmBl = effectValue[1];
+            // long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+            //     harmBl);
+            //
+            // harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+            //     AttType.Skill, triggerData,
+            //     wuXingType, skillFeatures,
+            //     HarmType.Default, harmReturnInfo: harmReturnInfo);
+        }
+
+        protected override void ProCombatUpdate(float time)
+        {
+            if (!isUpdate)
+            {
+                return;
+            }
+
+            currTime += time;
+            if (currTime > effectValue[2])
+            {
+                isUpdate = false;
+            }
+        }
+
+        protected override void ProDispose()
+        {
+            CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroInjured, HeroInjured);
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 124cf46d68154600b64f8bb36c0ba508
+timeCreated: 1750321775

+ 47 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9023.cs

@@ -0,0 +1,47 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.Buff;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 水球
+    /// 乌龟从嘴里连续吐出多个水球,对敌人照成{0}伤害
+    /// </summary>
+    public class S9023: SkillBasic
+    {
+        protected override void ProUseSkill()
+        {
+            ballisticsCount = (int)effectValue[0];
+            for (int i = 0; i < effectValue[0]; i++)
+            {
+                CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget
+                    .GetThis<CombatHeroEntity>()
+                    .GetMainHotPoin<CombatHeroHitPoint>();
+                BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();
+                currTarget.Add(combatHeroHitPoint);
+                SpecialDotInfo specialDotInfo = CombatHeroEntity.GetSpecialDotInfo("zdpos" + (i + 2));
+                ActivationTimeLineData("1101", currTarget: currTarget,
+                    customizePos: new Vector3[] { specialDotInfo.GetWorlPos() }, indexCount: i);
+            }
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            float harmBl = effectValue[1];
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                harmBl);
+
+            HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+                AttType.Skill, triggerData,
+                wuXingType, skillFeatures,
+                HarmType.Default);
+          
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: c258d2719f4f40738743697652beb162
+timeCreated: 1750324890

+ 63 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9024.cs

@@ -0,0 +1,63 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using Common.Utility.CombatEvent;
+using Fort23.Core;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 冰魄牢域(生命值低于50%释放,一局释放一次)
+    /// 神龟仰天长吼,跺脚几下,整个战场出现寒气特效,神龟的所有主动伤害型技能命中目标后都会施加一层寒气,
+    /// 寒气每叠到{0}层时,消耗所有层寒气对敌人照成{0}秒的冰冻效果
+    /// </summary>
+    public class S9024 : SkillBasic
+    {
+        private bool isUse;
+
+        protected override void ProActiveSkill()
+        {
+            isUse = false;
+            CombatEventManager.Instance.AddEventListener(CombatEventType.HeroInjured, HeroInjured);
+        }
+
+        protected override void ProDispose()
+        {
+            CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroInjured, HeroInjured);
+            // base.ProDispose();
+        }
+
+        private void HeroInjured(IEventData data)
+        {
+            if (isUse)
+            {
+                return;
+            }
+
+            HeroInjuredEventData heroInjuredEventData = data as HeroInjuredEventData;
+            if (heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity == CombatHeroEntity)
+            {
+                float bl = CombatHeroEntity.CurrCombatHeroInfo.hp.Value * 1.0f /
+                           CombatHeroEntity.MaxCombatHeroInfo.hp.Value;
+                if (bl * 100 < effectValue[0])
+                {
+                    isUse = true;
+                    //触发技能
+                    
+                }
+            }
+        }
+
+        protected override void ProUseSkill()
+        {
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: af0ba7e73b9247cfa8372ae6d7aa4b40
+timeCreated: 1750325104

+ 55 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9031.cs

@@ -0,0 +1,55 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.Buff;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 毒刺
+    /// 蜘蛛从嘴里连续射击出{0}没毒刺,对敌人照成{1}伤害,命中敌人时有{2}%概率中毒1层
+    /// </summary>
+    public class S9031 : SkillBasic
+    {
+        protected override void ProUseSkill()
+        {
+            ballisticsCount = (int)effectValue[0];
+            for (int i = 0; i < effectValue[0]; i++)
+            {
+                CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget
+                    .GetThis<CombatHeroEntity>()
+                    .GetMainHotPoin<CombatHeroHitPoint>();
+                BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();
+                currTarget.Add(combatHeroHitPoint);
+                SpecialDotInfo specialDotInfo = CombatHeroEntity.GetSpecialDotInfo("zdpos" + (i + 2));
+                ActivationTimeLineData("1101", currTarget: currTarget,
+                    customizePos: new Vector3[] { specialDotInfo.GetWorlPos() }, indexCount: i);
+            }
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            float harmBl = effectValue[1];
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                harmBl);
+
+            HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+                AttType.Skill, triggerData,
+                wuXingType, skillFeatures,
+                HarmType.Default);
+            if (harmReturnInfo.isHitHero)
+            {
+                int odds = CombatCalculateTool.Instance.GetOdd(0, 100);
+                if (odds <= effectValue[2])
+                {
+                    BuffInfo buffInfo = BuffInfo.GetBuffInfo(10031, 1);
+                    targetEntity.combatHeroEntity.BuffControl.AddBuff(CombatHeroEntity, buffInfo);
+                }
+            }
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 2564669c8e3847be9b3ce81bfa5c7b0d
+timeCreated: 1750386432

+ 46 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9032.cs

@@ -0,0 +1,46 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 千蛛潮
+    /// 蜘蛛身体抖动出现{0}个小蜘蛛飞向敌人,对敌人照成{1}伤害
+    /// </summary>
+    public class S9032: SkillBasic
+    {
+        protected override void ProUseSkill()
+        {
+            ballisticsCount = (int)effectValue[0];
+            for (int i = 0; i < effectValue[0]; i++)
+            {
+                CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget
+                    .GetThis<CombatHeroEntity>()
+                    .GetMainHotPoin<CombatHeroHitPoint>();
+                BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();
+                currTarget.Add(combatHeroHitPoint);
+                SpecialDotInfo specialDotInfo = CombatHeroEntity.GetSpecialDotInfo("zdpos" + (i + 2));
+                ActivationTimeLineData("1101", currTarget: currTarget,
+                    customizePos: new Vector3[] { specialDotInfo.GetWorlPos() }, indexCount: i);
+            }
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            float harmBl = effectValue[1];
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                harmBl);
+
+            HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+                AttType.Skill, triggerData,
+                wuXingType, skillFeatures,
+                HarmType.Default);
+           
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: ac13fa9b06a14ac9843ee139c121fdff
+timeCreated: 1750386887

+ 45 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9033.cs

@@ -0,0 +1,45 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 吐丝
+    /// 嘴里吐出{0}个蜘蛛丝对敌人照成{1}伤害
+    /// </summary>
+    public class S9033 : SkillBasic
+    {
+        protected override void ProUseSkill()
+        {
+            ballisticsCount = (int)effectValue[0];
+            for (int i = 0; i < effectValue[0]; i++)
+            {
+                CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget
+                    .GetThis<CombatHeroEntity>()
+                    .GetMainHotPoin<CombatHeroHitPoint>();
+                BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();
+                currTarget.Add(combatHeroHitPoint);
+                SpecialDotInfo specialDotInfo = CombatHeroEntity.GetSpecialDotInfo("zdpos" + (i + 2));
+                ActivationTimeLineData("1101", currTarget: currTarget,
+                    customizePos: new Vector3[] { specialDotInfo.GetWorlPos() }, indexCount: i);
+            }
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            float harmBl = effectValue[1];
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                harmBl);
+
+            HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+                AttType.Skill, triggerData,
+                wuXingType, skillFeatures,
+                HarmType.Default);
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 03607de68cf94b878796d66698758987
+timeCreated: 1750386948

+ 50 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9041.cs

@@ -0,0 +1,50 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.Buff;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    ///幻骨 老鼠甩动尾巴,生成一排黑色的骨刺{0}个,每个骨刺对敌人照成{1}伤害,命中敌人时对敌人施加一层鼠疫
+    /// </summary>
+    public class S9041 : SkillBasic
+    {
+        protected override void ProUseSkill()
+        {
+            ballisticsCount = (int)effectValue[0];
+            for (int i = 0; i < effectValue[0]; i++)
+            {
+                CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget
+                    .GetThis<CombatHeroEntity>()
+                    .GetMainHotPoin<CombatHeroHitPoint>();
+                BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();
+                currTarget.Add(combatHeroHitPoint);
+                SpecialDotInfo specialDotInfo = CombatHeroEntity.GetSpecialDotInfo("zdpos" + (i + 2));
+                ActivationTimeLineData("1101", currTarget: currTarget,
+                    customizePos: new Vector3[] { specialDotInfo.GetWorlPos() }, indexCount: i);
+            }
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            float harmBl = effectValue[1];
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                harmBl);
+
+            HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+                AttType.Skill, triggerData,
+                wuXingType, skillFeatures,
+                HarmType.Default);
+            if (harmReturnInfo.isHitHero)
+            {
+                BuffInfo buffInfo = BuffInfo.GetBuffInfo(10171, 1);
+                targetEntity.combatHeroEntity.BuffControl.AddBuff(CombatHeroEntity, buffInfo);
+            }
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: d80fbcbb20054a9ba3310e0378b1b420
+timeCreated: 1750387928

+ 45 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9042.cs

@@ -0,0 +1,45 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.Buff;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 鼠角 将变异出来的羊角发射出去,对敌人造成{0}伤害
+    /// </summary>
+    public class S9042 : SkillBasic
+    {
+        protected override void ProUseSkill()
+        {
+            ballisticsCount = (int)effectValue[0];
+            for (int i = 0; i < effectValue[0]; i++)
+            {
+                CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget
+                    .GetThis<CombatHeroEntity>()
+                    .GetMainHotPoin<CombatHeroHitPoint>();
+                BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();
+                currTarget.Add(combatHeroHitPoint);
+                SpecialDotInfo specialDotInfo = CombatHeroEntity.GetSpecialDotInfo("zdpos" + (i + 2));
+                ActivationTimeLineData("1101", currTarget: currTarget,
+                    customizePos: new Vector3[] { specialDotInfo.GetWorlPos() }, indexCount: i);
+            }
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            float harmBl = effectValue[1];
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                harmBl);
+
+            HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+                AttType.Skill, triggerData,
+                wuXingType, skillFeatures,
+                HarmType.Default);
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: a3af401476a8450e902840b2e862f978
+timeCreated: 1750388063

+ 51 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9043.cs

@@ -0,0 +1,51 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.Buff;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 幽爪灭魂指
+    ///老鼠挥动鼠爪,将尖锐的指尖射出。指甲上带有老鼠的病菌。生成{0}枚指甲,对敌人造成{1}伤害,并对敌人施加已成鼠疫 
+    /// </summary>
+    public class S9043 : SkillBasic
+    {
+        protected override void ProUseSkill()
+        {
+            ballisticsCount = (int)effectValue[0];
+            for (int i = 0; i < effectValue[0]; i++)
+            {
+                CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget
+                    .GetThis<CombatHeroEntity>()
+                    .GetMainHotPoin<CombatHeroHitPoint>();
+                BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();
+                currTarget.Add(combatHeroHitPoint);
+                SpecialDotInfo specialDotInfo = CombatHeroEntity.GetSpecialDotInfo("zdpos" + (i + 2));
+                ActivationTimeLineData("1101", currTarget: currTarget,
+                    customizePos: new Vector3[] { specialDotInfo.GetWorlPos() }, indexCount: i);
+            }
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            float harmBl = effectValue[1];
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                harmBl);
+
+            HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+                AttType.Skill, triggerData,
+                wuXingType, skillFeatures,
+                HarmType.Default);
+            if (harmReturnInfo.isHitHero)
+            {
+                BuffInfo buffInfo = BuffInfo.GetBuffInfo(10171, 1);
+                targetEntity.combatHeroEntity.BuffControl.AddBuff(CombatHeroEntity, buffInfo);
+            }
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 331e8898ffac4367a608536d1c1ca652
+timeCreated: 1750388113

+ 50 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9044.cs

@@ -0,0 +1,50 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.Buff;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 噬魂瘴弹 老鼠将体内的浊气凝聚成一颗弹丸,快速射向对手。命中目标后爆炸浊气散开对敌人造成{0}伤害,给敌人施加一层鼠疫。
+    /// </summary>
+    public class S9044 : SkillBasic
+    {
+        protected override void ProUseSkill()
+        {
+            ballisticsCount = (int)effectValue[0];
+            for (int i = 0; i < effectValue[0]; i++)
+            {
+                CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget
+                    .GetThis<CombatHeroEntity>()
+                    .GetMainHotPoin<CombatHeroHitPoint>();
+                BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();
+                currTarget.Add(combatHeroHitPoint);
+                SpecialDotInfo specialDotInfo = CombatHeroEntity.GetSpecialDotInfo("zdpos" + (i + 2));
+                ActivationTimeLineData("1101", currTarget: currTarget,
+                    customizePos: new Vector3[] { specialDotInfo.GetWorlPos() }, indexCount: i);
+            }
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            float harmBl = effectValue[1];
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                harmBl);
+
+            HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+                AttType.Skill, triggerData,
+                wuXingType, skillFeatures,
+                HarmType.Default);
+            if (harmReturnInfo.isHitHero)
+            {
+                BuffInfo buffInfo = BuffInfo.GetBuffInfo(10171, 1);
+                targetEntity.combatHeroEntity.BuffControl.AddBuff(CombatHeroEntity, buffInfo);
+            }
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 69d074c23fc74a96836434825624ae90
+timeCreated: 1750388187

+ 46 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9051.cs

@@ -0,0 +1,46 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.Buff;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 风刃 穷奇煽动翅膀,空中行程{0}枚风刃,对敌人造成{1}伤害
+    /// </summary>
+    public class S9051 : SkillBasic
+    {
+        protected override void ProUseSkill()
+        {
+            ballisticsCount = (int)effectValue[0];
+            for (int i = 0; i < effectValue[0]; i++)
+            {
+                CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget
+                    .GetThis<CombatHeroEntity>()
+                    .GetMainHotPoin<CombatHeroHitPoint>();
+                BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();
+                currTarget.Add(combatHeroHitPoint);
+                SpecialDotInfo specialDotInfo = CombatHeroEntity.GetSpecialDotInfo("zdpos" + (i + 2));
+                ActivationTimeLineData("1101", currTarget: currTarget,
+                    customizePos: new Vector3[] { specialDotInfo.GetWorlPos() }, indexCount: i);
+            }
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            float harmBl = effectValue[1];
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                harmBl);
+
+            HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+                AttType.Skill, triggerData,
+                wuXingType, skillFeatures,
+                HarmType.Default);
+           
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 6a3a81c2ff114d99ae9a9e2bc468a953
+timeCreated: 1750388871

+ 51 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9052.cs

@@ -0,0 +1,51 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.Buff;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 雷罡波
+    /// 穷奇自身引雷而下,快速的从嘴上吐出{0}个光波,对敌人造成{1}伤害,每个光被带有雷电之力,对敌人施加一层感电
+    /// </summary>
+    public class S9052 : SkillBasic
+    {
+        protected override void ProUseSkill()
+        {
+            ballisticsCount = (int)effectValue[0];
+            for (int i = 0; i < effectValue[0]; i++)
+            {
+                CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget
+                    .GetThis<CombatHeroEntity>()
+                    .GetMainHotPoin<CombatHeroHitPoint>();
+                BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();
+                currTarget.Add(combatHeroHitPoint);
+                SpecialDotInfo specialDotInfo = CombatHeroEntity.GetSpecialDotInfo("zdpos" + (i + 2));
+                ActivationTimeLineData("1101", currTarget: currTarget,
+                    customizePos: new Vector3[] { specialDotInfo.GetWorlPos() }, indexCount: i);
+            }
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            float harmBl = effectValue[1];
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                harmBl);
+
+            HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+                AttType.Skill, triggerData,
+                wuXingType, skillFeatures,
+                HarmType.Default);
+            if (harmReturnInfo.isHitHero)
+            {
+                BuffInfo buffInfo = BuffInfo.GetBuffInfo(10181, 1);
+                targetEntity.combatHeroEntity.BuffControl.AddBuff(CombatHeroEntity, buffInfo);
+            }
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 7548bbb4b7f14656aea89678cd1bc072
+timeCreated: 1750389177

+ 79 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9053.cs

@@ -0,0 +1,79 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.Buff;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 引雷
+    /// 请求仰天施法,引导天雷,天雷在战场上随机落下,{0}%概率击中目标,每层感电额外+{1}%概率
+    /// ,最多被击中{2}次,每次击中消耗一层感电额外照成{3}伤害。引雷可以击中弹道.持续{4}秒
+    /// </summary>
+    public class S9053 : SkillBasic
+    {
+        private float _currTime;
+        private int _hitCount;
+        private bool _isUpdate;
+        private float _jianGe;
+
+        protected override void ProUseSkill()
+        {
+            ballisticsCount = (int)effectValue[0];
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            float harmBl = effectValue[1];
+            b_1018 b1018 = targetEntity.combatHeroEntity.BuffControl.GetBuffBasicForType<b_1018>();
+            if (b1018 != null)//消耗一层感电,额外照成伤害
+            {
+                b1018.ReduceCount(1);
+                harmBl += effectValue[3];
+            }
+
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                harmBl);
+
+            HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+                AttType.Skill, triggerData,
+                wuXingType, skillFeatures,
+                HarmType.Default);
+            // if (harmReturnInfo.isHitHero)
+            // {
+            //     BuffInfo buffInfo = BuffInfo.GetBuffInfo(10181, 1);
+            //     targetEntity.combatHeroEntity.BuffControl.AddBuff(CombatHeroEntity, buffInfo);
+            // }
+        }
+
+        private void SetJianGe()
+        {
+            _jianGe = CombatCalculateTool.Instance.GetOdd(20, 100) / 100f;
+        }
+
+        protected override void ProCombatUpdate(float time)
+        {
+            if (!_isUpdate)
+            {
+                return;
+            }
+
+            _currTime += time;
+            if (_currTime >= _jianGe)
+            {
+                _currTime = 0;
+                SetJianGe();
+                //发射一道闪电
+                int odds = CombatCalculateTool.Instance.GetOdd(0, 100);
+                if (odds <= effectValue[0])
+                {
+                    //击中目标
+                }
+            }
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 8278cf886081430aa2f07520b259b7a0
+timeCreated: 1750399216

+ 50 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9054.cs

@@ -0,0 +1,50 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.Buff;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 导电(被动)
+    /// 每隔{0},敌人受到感电层数*{1}%的伤害
+    /// </summary>
+    public class S9054 : SkillBasic
+    {
+        protected float _currTime;
+
+        protected override void ProUseSkill()
+        {
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            float harmBl = 0;
+            b_1018 b1018 = targetEntity.combatHeroEntity.BuffControl.GetBuffBasicForType<b_1018>();
+            if (b1018 != null) //消耗一层感电,额外照成伤害
+            {
+                harmBl += b1018.buffCount * effectValue[1];
+            }
+
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                harmBl);
+
+            HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+                AttType.Skill, triggerData,
+                wuXingType, skillFeatures,
+                HarmType.Default);
+        }
+
+        protected override void ProCombatUpdate(float time)
+        {
+            _currTime += time;
+            if (_currTime >= effectValue[0])
+            {
+                _currTime = 0;
+            }
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 40c188d5999a40dd9c8fa037535c6a4b
+timeCreated: 1750400031

+ 56 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9061.cs

@@ -0,0 +1,56 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.Buff;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 幻花迷雾(当场上有木灵分身时触发)
+    /// 身体摇动,天空散发出小小的花朵。木灵隐藏其中防御+{0}%,期间不在攻击,持续{1}秒
+    /// </summary>
+    public class S9061 : SkillBasic
+    {
+        protected float _currTime;
+        private bool _isUpdate;
+
+        protected override void ProUseSkill()
+        {
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            // float harmBl = 0;
+            // b_1018 b1018 = targetEntity.combatHeroEntity.BuffControl.GetBuffBasicForType<b_1018>();
+            // if (b1018 != null) //消耗一层感电,额外照成伤害
+            // {
+            //     harmBl += b1018.buffCount * effectValue[1];
+            // }
+            //
+            // long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+            //     harmBl);
+            //
+            // HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+            //     AttType.Skill, triggerData,
+            //     wuXingType, skillFeatures,
+            //     HarmType.Default);
+        }
+
+        protected override void ProCombatUpdate(float time)
+        {
+            if (!_isUpdate)
+            {
+                return;
+            }
+
+            _currTime += time;
+            if (_currTime >= effectValue[1])
+            {
+                _isUpdate = false;
+            }
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: d3b8db1f87a448e3919fbc6a076885d3
+timeCreated: 1750401656

+ 90 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9062.cs

@@ -0,0 +1,90 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using Common.Utility.CombatEvent;
+using Fort23.Core;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 木灵分身
+    /// 生命低于{0}%时触发,木灵的根须快速在自身周围生出2个木灵之子,木灵之子之有普通攻击,木灵之子拥有boss的{1}最大生命值的生命
+    ///(等级跟随boss的等级走)
+    /// </summary>
+    public class S9062 : SkillBasic
+    {
+        private bool _isTrigger;
+
+        protected override void ProUseSkill()
+        {
+        }
+
+        protected override void ProActiveSkill()
+        {
+            CombatEventManager.Instance.AddEventListener(CombatEventType.HeroInjured, HeroInjured);
+        }
+
+        protected override void ProDispose()
+        {
+            CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroInjured, HeroInjured);
+        }
+
+        private void HeroInjured(IEventData data)
+        {
+            if (_isTrigger)
+            {
+                return;
+            }
+
+            HeroInjuredEventData heroInjuredEventData = data as HeroInjuredEventData;
+            if (heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity == CombatHeroEntity)
+            {
+                if (CombatHeroEntity.HpBl < effectValue[0])
+                {
+                    _isTrigger = true;
+                    ZhaoHuan();
+                }
+            }
+        }
+
+        private void ZhaoHuan()
+        {
+            for (int i = 0; i < 2; i++)
+            {
+                CombatHeroEntity heroEntity = new CombatHeroEntity();
+                heroEntity.IsEnemy = true;
+                CombatHeroInfo combatHeroInfo = new CombatHeroInfo();
+                combatHeroInfo.InitMonster(1000, 1);
+                // testHeroInfoConfig.CopyToCombatHeroInfo((combatHeroInfo));
+                Vector3 pos = Vector3.forward;
+                heroEntity.Init(new CombatHeroAi(), combatHeroInfo, pos,
+                    delegate(CombatHeroEntity entity)
+                    {
+                        CombatController.currActiveCombat.CombatHeroController.AddHero(entity);
+                    });
+            }
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            // float harmBl = 0;
+            // b_1018 b1018 = targetEntity.combatHeroEntity.BuffControl.GetBuffBasicForType<b_1018>();
+            // if (b1018 != null) //消耗一层感电,额外照成伤害
+            // {
+            //     harmBl += b1018.buffCount * effectValue[1];
+            // }
+            //
+            // long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+            //     harmBl);
+            //
+            // HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+            //     AttType.Skill, triggerData,
+            //     wuXingType, skillFeatures,
+            //     HarmType.Default);
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: b12636fc231e4a1da42c498346559f50
+timeCreated: 1750401921

+ 51 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9063.cs

@@ -0,0 +1,51 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.Buff;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 木桩
+    /// 木灵挥手,从手中挥舞出一个木头,直线飞向敌人,对敌人造成{0}伤害
+    /// </summary>
+    public class S9063 : SkillBasic
+    {
+        protected override void ProUseSkill()
+        {
+            ballisticsCount = (int)effectValue[0];
+            for (int i = 0; i < effectValue[0]; i++)
+            {
+                CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget
+                    .GetThis<CombatHeroEntity>()
+                    .GetMainHotPoin<CombatHeroHitPoint>();
+                BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();
+                currTarget.Add(combatHeroHitPoint);
+                SpecialDotInfo specialDotInfo = CombatHeroEntity.GetSpecialDotInfo("zdpos" + (i + 2));
+                ActivationTimeLineData("1101", currTarget: currTarget,
+                    customizePos: new Vector3[] { specialDotInfo.GetWorlPos() }, indexCount: i);
+            }
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            float harmBl = effectValue[1];
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                harmBl);
+
+            HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+                AttType.Skill, triggerData,
+                wuXingType, skillFeatures,
+                HarmType.Default);
+            // if (harmReturnInfo.isHitHero)
+            // {
+            //     BuffInfo buffInfo = BuffInfo.GetBuffInfo(10011, 1);
+            //     targetEntity.combatHeroEntity.BuffControl.AddBuff(CombatHeroEntity, buffInfo);
+            // }
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: eeaf50b31d694dfd975653e15509e93c
+timeCreated: 1750402718

+ 62 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9064.cs

@@ -0,0 +1,62 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using Common.Utility.CombatEvent;
+using Fort23.Core;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 缠绕
+    /// 敌人脚下生长出藤蔓,将敌人捆住。{0}秒内不能行动(功法不在释放和填充),受到木灵之子的攻击伤害+{1}%
+    /// </summary>
+    public class S9064 : SkillBasic
+    {
+        private float _currTime;
+        private bool _isUpdate;
+
+        protected override void ProUseSkill()
+        {
+            _currTime = 0;
+            _isUpdate = true;
+        }
+
+        protected override void ProActiveSkill()
+        {
+            CombatEventManager.Instance.AddEventListener(CombatEventType.StartInjured, StartInjured);
+        }
+
+        private void StartInjured(IEventData data)
+        {
+            if (!_isUpdate)
+            {
+                return;
+            }
+
+            StartInjuredEventData startInjuredEventData = data as StartInjuredEventData;
+            //如果是木桩 伤害增加
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+        }
+
+        protected override void ProCombatUpdate(float time)
+        {
+            if (!_isUpdate)
+            {
+                return;
+            }
+
+            _currTime += time;
+            if (_currTime > effectValue[0])
+            {
+                _isUpdate = false;
+            }
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 20cff3df6d8a4498b6cf91ae8e20d429
+timeCreated: 1750403540

+ 46 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9071.cs

@@ -0,0 +1,46 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.Buff;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 木刺
+    /// 挥手发射{0}枚木刺,对敌人造成{1}上
+    /// </summary>
+    public class S9071 : SkillBasic
+    {
+        protected override void ProUseSkill()
+        {
+            ballisticsCount = (int)effectValue[0];
+            for (int i = 0; i < effectValue[0]; i++)
+            {
+                CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget
+                    .GetThis<CombatHeroEntity>()
+                    .GetMainHotPoin<CombatHeroHitPoint>();
+                BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();
+                currTarget.Add(combatHeroHitPoint);
+                SpecialDotInfo specialDotInfo = CombatHeroEntity.GetSpecialDotInfo("zdpos" + (i + 2));
+                ActivationTimeLineData("1101", currTarget: currTarget,
+                    customizePos: new Vector3[] { specialDotInfo.GetWorlPos() }, indexCount: i);
+            }
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            float harmBl = effectValue[1];
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                harmBl);
+
+            HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+                AttType.Skill, triggerData,
+                wuXingType, skillFeatures,
+                HarmType.Default);
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 181669ffd32a4d899ba381f8d4c3d588
+timeCreated: 1750403975

+ 52 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9081.cs

@@ -0,0 +1,52 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.Buff;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 焚天之怒
+    /// 妖兽激发体内的火灵根,从身体里爆发出{0}枚火焰球,对敌人造成{1}伤害,并对敌人施加1层灼烧
+    /// </summary>
+    public class S9081 : SkillBasic
+    {
+        protected override void ProUseSkill()
+        {
+            ballisticsCount = (int)effectValue[0];
+            for (int i = 0; i < effectValue[0]; i++)
+            {
+                CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget
+                    .GetThis<CombatHeroEntity>()
+                    .GetMainHotPoin<CombatHeroHitPoint>();
+                BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();
+                currTarget.Add(combatHeroHitPoint);
+                SpecialDotInfo specialDotInfo = CombatHeroEntity.GetSpecialDotInfo("zdpos" + (i + 2));
+                ActivationTimeLineData("1101", currTarget: currTarget,
+                    customizePos: new Vector3[] { specialDotInfo.GetWorlPos() }, indexCount: i);
+            }
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            float harmBl = effectValue[1];
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                harmBl);
+
+            HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+                AttType.Skill, triggerData,
+                wuXingType, skillFeatures,
+                HarmType.Default);
+            if (harmReturnInfo.isHitHero)
+            {
+                BuffInfo buffInfo = BuffInfo.GetBuffInfo(10051, 1);
+                targetEntity.combatHeroEntity.BuffControl.AddBuff(CombatHeroEntity, buffInfo);
+            }
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 8fb0d513cb6649da8b76ae7546c8cdcb
+timeCreated: 1750404498

+ 28 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9082.cs

@@ -0,0 +1,28 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.Buff;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 焰轮决(当妖兽拥有2个焰轮法宝,并且没有释放出去的时候触发)
+    /// 2个焰轮围绕妖兽快速旋转形成一道火焰墙,火墙拥有{0}妖兽的最大生命。当金属性功法打在上面时,伤害削弱{1}%
+    /// </summary>
+    public class S9082 : SkillBasic
+    {
+        protected override void ProUseSkill()
+        {
+           
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 3021fba5beae40058bc790228de4b68a
+timeCreated: 1750404559

+ 46 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9083.cs

@@ -0,0 +1,46 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.Buff;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 风炎
+    /// 妖兽煽动翅膀,在空中行程形成{0}个小龙卷风形式的火焰向敌人席卷而去。对敌人照成{0}伤害
+    /// </summary>
+    public class S9083 : SkillBasic
+    {
+        protected override void ProUseSkill()
+        {
+            ballisticsCount = (int)effectValue[0];
+            for (int i = 0; i < effectValue[0]; i++)
+            {
+                CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget
+                    .GetThis<CombatHeroEntity>()
+                    .GetMainHotPoin<CombatHeroHitPoint>();
+                BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();
+                currTarget.Add(combatHeroHitPoint);
+                SpecialDotInfo specialDotInfo = CombatHeroEntity.GetSpecialDotInfo("zdpos" + (i + 2));
+                ActivationTimeLineData("1101", currTarget: currTarget,
+                    customizePos: new Vector3[] { specialDotInfo.GetWorlPos() }, indexCount: i);
+            }
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            float harmBl = effectValue[1];
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                harmBl);
+
+            HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+                AttType.Skill, triggerData,
+                wuXingType, skillFeatures,
+                HarmType.Default);
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: f449f820346f4371ab73a001f8788d88
+timeCreated: 1750404771

+ 46 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9084.cs

@@ -0,0 +1,46 @@
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
+using GameLogic.Combat.Buff;
+using GameLogic.Combat.CombatTool;
+using GameLogic.Combat.Hero;
+using UnityEngine;
+using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 焰羽流星
+    /// 妖兽轻轻挥动翅膀,从翅膀出生成{0}枚火焰形式的羽毛,对敌人照成{1}伤害
+    /// </summary>
+    public class S9084 : SkillBasic
+    {
+        protected override void ProUseSkill()
+        {
+            ballisticsCount = (int)effectValue[0];
+            for (int i = 0; i < effectValue[0]; i++)
+            {
+                CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget
+                    .GetThis<CombatHeroEntity>()
+                    .GetMainHotPoin<CombatHeroHitPoint>();
+                BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();
+                currTarget.Add(combatHeroHitPoint);
+                SpecialDotInfo specialDotInfo = CombatHeroEntity.GetSpecialDotInfo("zdpos" + (i + 2));
+                ActivationTimeLineData("1101", currTarget: currTarget,
+                    customizePos: new Vector3[] { specialDotInfo.GetWorlPos() }, indexCount: i);
+            }
+        }
+
+        protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
+            ITimelineFxLogic timelineFxLogic,
+            TriggerData triggerData, ISkillFeatures skillFeatures)
+        {
+            float harmBl = effectValue[1];
+            long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
+                harmBl);
+
+            HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
+                AttType.Skill, triggerData,
+                wuXingType, skillFeatures,
+                HarmType.Default);
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: efb45e8b6c4344458341b4d8deba190e
+timeCreated: 1750405293

+ 34 - 0
Assets/Scripts/GameLogic/Combat/Skill/S9085.cs

@@ -0,0 +1,34 @@
+using Common.Utility.CombatEvent;
+using Fort23.Core;
+using GameLogic.Combat.Hero;
+
+namespace GameLogic.Combat.Skill
+{
+    /// <summary>
+    /// 焰轮爆发(被动,焰轮的二阶段)
+    /// 当焰轮被摧毁{0}次后,焰轮会激怒到第二阶段,(焰轮表现上做点却别)碰撞强度提升{1}%,并且伤害提升{2}%
+    /// </summary>
+    public class S9085 : SkillBasic
+    {
+        protected override void ProUseSkill()
+        {
+        }
+
+        protected override void ProActiveSkill()
+        {
+            CombatEventManager.Instance.AddEventListener(CombatEventType.MagicWeaponDie, MagicWeaponDie);
+        }
+
+        private void MagicWeaponDie(IEventData iEventData)
+        {
+            HeroDieEventData heroDieEventData = iEventData as HeroDieEventData;
+            CombatMagicWeaponEntity combatMagicWeaponEntity =
+                heroDieEventData.combatHeroEntity as CombatMagicWeaponEntity;
+            if (combatMagicWeaponEntity != null &&
+                combatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity == CombatHeroEntity)
+            {
+                
+            }
+        }
+    }
+}

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

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 0bfb7e9fd7ba4636b9b8838d8f48b51d
+timeCreated: 1750405368

+ 6 - 17
Assets/Scripts/GameLogic/Combat/Skill/SkillBasic.cs

@@ -140,6 +140,8 @@ namespace GameLogic.Combat.Skill
         protected SkillInfo skillInfo;
 
         protected int ballisticsCount=1;
+
+    
         public T This<T>()
         {
             return (T)(object)this;
@@ -191,6 +193,7 @@ namespace GameLogic.Combat.Skill
         /// </summary>
         public void ActiveSkill()
         {
+            isActive = true;
             ProActiveSkill();
         }
 
@@ -244,10 +247,7 @@ namespace GameLogic.Combat.Skill
             _isDis = false;
         }
 
-        public virtual void ActiveLimitSkill()
-        {
-            isActive = true;
-        }
+       
 
         /// <summary>
         /// 开始游戏
@@ -383,20 +383,9 @@ namespace GameLogic.Combat.Skill
             _combatHeroEntity = null;
         }
 
-        public void ReduceCd(float time)
-        {
-            if (!isActive || !IsCanReduceCd())
-            {
-                return;
-            }
-
-            _skillCd -= time;
-        }
+    
 
-        protected virtual bool IsCanReduceCd()
-        {
-            return true;
-        }
+    
 
         public SpecialDotInfo GetSpecialDotInfo(string specialDotName)
         {

BIN
Excel2Json/Excel/Buff.xlsx


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

@@ -19,7 +19,7 @@ MonoBehaviour:
     width: 2560
     height: 1349
   m_ShowMode: 4
-  m_Title: Project
+  m_Title: Inspector
   m_RootView: {fileID: 8}
   m_MinSize: {x: 875, y: 300}
   m_MaxSize: {x: 10000, y: 10000}
@@ -69,8 +69,8 @@ MonoBehaviour:
     y: 754
     width: 896
     height: 233
-  m_MinSize: {x: 102, y: 121}
-  m_MaxSize: {x: 4002, y: 4021}
+  m_MinSize: {x: 100, y: 100}
+  m_MaxSize: {x: 4000, y: 4000}
   m_ActualView: {fileID: 18}
   m_Panes:
   - {fileID: 18}
@@ -101,7 +101,7 @@ MonoBehaviour:
   m_MinSize: {x: 100, y: 150}
   m_MaxSize: {x: 8096, y: 24288}
   vertical: 1
-  controlID: 26559
+  controlID: 70
   draggingID: 0
 --- !u!114 &5
 MonoBehaviour:
@@ -153,7 +153,7 @@ MonoBehaviour:
   m_MinSize: {x: 100, y: 100}
   m_MaxSize: {x: 8096, y: 16192}
   vertical: 1
-  controlID: 70
+  controlID: 106
   draggingID: 0
 --- !u!114 &7
 MonoBehaviour:
@@ -257,7 +257,7 @@ MonoBehaviour:
   m_MinSize: {x: 400, y: 150}
   m_MaxSize: {x: 32384, y: 24288}
   vertical: 0
-  controlID: 202
+  controlID: 229
   draggingID: 0
 --- !u!114 &11
 MonoBehaviour:
@@ -769,21 +769,21 @@ MonoBehaviour:
       scrollPos: {x: 0, y: 0}
       m_SelectedIDs: 
       m_LastClickedID: 0
-      m_ExpandedIDs: 74efecff7aefecffecccf2fff2ccf2ff48fcf4ff9407f5ff9a07f5ff8008f5ff8e08f5ff845bf8ff8a5bf8ff4e9bf9ff549bf9ff6664feffac64feffb264feffc665feffdc02ffffe402ffff2a03ffff4404ffffdcdcffff44ddffff42f3ffff
+      m_ExpandedIDs: 78faffff
       m_RenameOverlay:
         m_UserAcceptedRename: 0
-        m_Name: zhujiao1
-        m_OriginalName: zhujiao1
+        m_Name: 
+        m_OriginalName: 
         m_EditFieldRect:
           serializedVersion: 2
           x: 0
           y: 0
           width: 0
           height: 0
-        m_UserData: -8084
+        m_UserData: 0
         m_IsWaitingForDelay: 0
         m_IsRenaming: 0
-        m_OriginalEventType: 0
+        m_OriginalEventType: 11
         m_IsRenamingFilename: 0
         m_ClientGUIView: {fileID: 12}
       m_SearchString: 
@@ -885,7 +885,7 @@ MonoBehaviour:
     m_SkipHidden: 0
     m_SearchArea: 1
     m_Folders:
-    - Assets/Editor
+    - Assets/Scripts/GameLogic/CombatScenesTool
     m_Globs: []
     m_OriginalText: 
     m_ImportLogFlags: 0
@@ -893,16 +893,16 @@ MonoBehaviour:
   m_ViewMode: 1
   m_StartGridSize: 16
   m_LastFolders:
-  - Assets/Editor
+  - Assets/Scripts/GameLogic/CombatScenesTool
   m_LastFoldersGridSize: 16
   m_LastProjectPath: D:\unityProject\XiuXianGame
   m_LockTracker:
     m_IsLocked: 0
   m_FolderTreeState:
-    scrollPos: {x: 0, y: 0}
-    m_SelectedIDs: 0ef60000
-    m_LastClickedID: 62990
-    m_ExpandedIDs: 00000000aef20000b0f20000b2f20000b4f20000b6f20000b8f20000baf20000bcf20000bef20000c0f20000c4f20000c6f20000c8f20000caf20000ccf20000cef20000d0f2000030f600007afa0000c8fa0000d8fa00009867070000ca9a3bffffff7f
+    scrollPos: {x: 0, y: 470}
+    m_SelectedIDs: a8ea0000
+    m_LastClickedID: 60072
+    m_ExpandedIDs: 000000009ce600009ee60000a0e60000a2e60000a4e60000a6e60000a8e60000aae60000ace60000aee60000b0e60000b2e60000b4e60000b6e60000b8e60000bae60000bce60000bee60000c0e600002cea000000ca9a3bffffff7f
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: 
@@ -930,7 +930,7 @@ MonoBehaviour:
     scrollPos: {x: 0, y: 0}
     m_SelectedIDs: 
     m_LastClickedID: 0
-    m_ExpandedIDs: 00000000aef20000b0f20000b2f20000b4f20000b6f20000b8f20000baf20000bcf20000bef20000c0f20000c2f20000c4f20000c6f20000c8f20000caf20000ccf20000cef20000d0f20000
+    m_ExpandedIDs: 000000009ce600009ee60000a0e60000a2e60000a4e60000a6e60000a8e60000aae60000ace60000aee60000b0e60000b2e60000b4e60000b6e60000b8e60000bae60000bce60000bee60000c0e60000
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: