Jelajahi Sumber

Merge branch 'master' of http://192.168.123.2:3000/ck/XiuXianGame

# Conflicts:
#	UserSettings/Layouts/default-2022.dwlt   resolved by origin/master(远端) version
李桃 6 hari lalu
induk
melakukan
8590f2b6e6
96 mengubah file dengan 2822 tambahan dan 608 penghapusan
  1. 9 9
      Assets/Res/Config/EventConditionConfig.json
  2. 76 66
      Assets/Res/Config/EventConfig.json
  3. 66 2
      Assets/Res/Config/EventLinkConfig.json
  4. 6 0
      Assets/Res/Config/EventNPC.json
  5. 55 55
      Assets/Res/Config/LanguageChineseConfig.json
  6. 5 0
      Assets/Res/UI/XianTuLogPanel/XianTuLogInfoPanel.prefab
  7. 2 2
      Assets/Scenes/testCombat.scene
  8. 1 1
      Assets/Scripts/GameData/ExcelConfig/EventConfig.cs
  9. 9 0
      Assets/Scripts/GameLogic/Combat/Buff/b_1015.cs
  10. 3 0
      Assets/Scripts/GameLogic/Combat/Buff/b_1015.cs.meta
  11. 48 0
      Assets/Scripts/GameLogic/Combat/Buff/b_1016.cs
  12. 3 0
      Assets/Scripts/GameLogic/Combat/Buff/b_1016.cs.meta
  13. 50 0
      Assets/Scripts/GameLogic/Combat/Buff/b_1017.cs
  14. 3 0
      Assets/Scripts/GameLogic/Combat/Buff/b_1017.cs.meta
  15. 28 0
      Assets/Scripts/GameLogic/Combat/Buff/b_1018.cs
  16. 3 0
      Assets/Scripts/GameLogic/Combat/Buff/b_1018.cs.meta
  17. 4 0
      Assets/Scripts/GameLogic/Combat/CombatTool/AttType.cs
  18. 13 6
      Assets/Scripts/GameLogic/Combat/CombatTool/CombatCalculateTool.cs
  19. 8 0
      Assets/Scripts/GameLogic/Combat/CombatTool/HarmReturnInfo.cs
  20. 14 1
      Assets/Scripts/GameLogic/Combat/Hero/CombatHeroSkillControlBasic.cs
  21. 7 2
      Assets/Scripts/GameLogic/Combat/Hero/Turntable/SkillSlots.cs
  22. 6 3
      Assets/Scripts/GameLogic/Combat/Skill/S9011.cs
  23. 39 0
      Assets/Scripts/GameLogic/Combat/Skill/S9012.cs
  24. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9012.cs.meta
  25. 110 0
      Assets/Scripts/GameLogic/Combat/Skill/S9013.cs
  26. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9013.cs.meta
  27. 67 0
      Assets/Scripts/GameLogic/Combat/Skill/S9014.cs
  28. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9014.cs.meta
  29. 42 0
      Assets/Scripts/GameLogic/Combat/Skill/S9015.cs
  30. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9015.cs.meta
  31. 45 0
      Assets/Scripts/GameLogic/Combat/Skill/S9016.cs
  32. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9016.cs.meta
  33. 48 0
      Assets/Scripts/GameLogic/Combat/Skill/S9021.cs
  34. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9021.cs.meta
  35. 95 0
      Assets/Scripts/GameLogic/Combat/Skill/S9022.cs
  36. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9022.cs.meta
  37. 47 0
      Assets/Scripts/GameLogic/Combat/Skill/S9023.cs
  38. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9023.cs.meta
  39. 63 0
      Assets/Scripts/GameLogic/Combat/Skill/S9024.cs
  40. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9024.cs.meta
  41. 55 0
      Assets/Scripts/GameLogic/Combat/Skill/S9031.cs
  42. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9031.cs.meta
  43. 46 0
      Assets/Scripts/GameLogic/Combat/Skill/S9032.cs
  44. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9032.cs.meta
  45. 45 0
      Assets/Scripts/GameLogic/Combat/Skill/S9033.cs
  46. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9033.cs.meta
  47. 50 0
      Assets/Scripts/GameLogic/Combat/Skill/S9041.cs
  48. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9041.cs.meta
  49. 45 0
      Assets/Scripts/GameLogic/Combat/Skill/S9042.cs
  50. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9042.cs.meta
  51. 51 0
      Assets/Scripts/GameLogic/Combat/Skill/S9043.cs
  52. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9043.cs.meta
  53. 50 0
      Assets/Scripts/GameLogic/Combat/Skill/S9044.cs
  54. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9044.cs.meta
  55. 46 0
      Assets/Scripts/GameLogic/Combat/Skill/S9051.cs
  56. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9051.cs.meta
  57. 51 0
      Assets/Scripts/GameLogic/Combat/Skill/S9052.cs
  58. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9052.cs.meta
  59. 79 0
      Assets/Scripts/GameLogic/Combat/Skill/S9053.cs
  60. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9053.cs.meta
  61. 50 0
      Assets/Scripts/GameLogic/Combat/Skill/S9054.cs
  62. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9054.cs.meta
  63. 56 0
      Assets/Scripts/GameLogic/Combat/Skill/S9061.cs
  64. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9061.cs.meta
  65. 90 0
      Assets/Scripts/GameLogic/Combat/Skill/S9062.cs
  66. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9062.cs.meta
  67. 51 0
      Assets/Scripts/GameLogic/Combat/Skill/S9063.cs
  68. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9063.cs.meta
  69. 62 0
      Assets/Scripts/GameLogic/Combat/Skill/S9064.cs
  70. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9064.cs.meta
  71. 46 0
      Assets/Scripts/GameLogic/Combat/Skill/S9071.cs
  72. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9071.cs.meta
  73. 52 0
      Assets/Scripts/GameLogic/Combat/Skill/S9081.cs
  74. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9081.cs.meta
  75. 28 0
      Assets/Scripts/GameLogic/Combat/Skill/S9082.cs
  76. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9082.cs.meta
  77. 46 0
      Assets/Scripts/GameLogic/Combat/Skill/S9083.cs
  78. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9083.cs.meta
  79. 46 0
      Assets/Scripts/GameLogic/Combat/Skill/S9084.cs
  80. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9084.cs.meta
  81. 34 0
      Assets/Scripts/GameLogic/Combat/Skill/S9085.cs
  82. 3 0
      Assets/Scripts/GameLogic/Combat/Skill/S9085.cs.meta
  83. 6 17
      Assets/Scripts/GameLogic/Combat/Skill/SkillBasic.cs
  84. 15 2
      Assets/Scripts/GameUI/EventManager/EventSystemManager.cs
  85. 1 1
      Assets/Scripts/GameUI/GameApplction.cs
  86. 9 2
      Assets/Scripts/GameUI/ScorolList/ScrollList.cs
  87. 9 0
      Assets/Scripts/GameUI/UI/XianTuLogPanel/EventLogInfoWidget.cs
  88. 15 0
      Assets/Scripts/GameUI/UI/XianTuLogPanel/EventLogMessageWidget.cs
  89. 9 0
      Assets/Scripts/GameUI/UI/XianTuLogPanel/EventLogTitleWidget.cs
  90. 82 27
      Assets/Scripts/GameUI/UI/XianTuLogPanel/XianTuLogInfoPanel.cs
  91. 11 0
      Assets/Scripts/GameUI/UI/XianTuLogPanel/XianTuLogInfoPanelData.cs
  92. TEMPAT SAMPAH
      Excel2Json/Excel/Buff.xlsx
  93. TEMPAT SAMPAH
      Excel2Json/Excel/EventConfig.xlsx
  94. TEMPAT SAMPAH
      Excel2Json/Excel/Language.xlsx
  95. TEMPAT SAMPAH
      Excel2Json/Excel/Maps.xlsx
  96. 521 412
      UserSettings/Layouts/default-2022.dwlt

+ 9 - 9
Assets/Res/Config/EventConditionConfig.json

@@ -56,7 +56,7 @@
     },
     {
       "ID": 7,
-      "message": null,
+      "message": 2843,
       "Operation": null,
       "ConditionType": 5,
       "ConditionPara": [
@@ -66,7 +66,7 @@
     },
     {
       "ID": 8,
-      "message": null,
+      "message": 2844,
       "Operation": null,
       "ConditionType": 3,
       "ConditionPara": [
@@ -76,7 +76,7 @@
     },
     {
       "ID": 9,
-      "message": null,
+      "message": 2845,
       "Operation": null,
       "ConditionType": 5,
       "ConditionPara": [
@@ -86,7 +86,7 @@
     },
     {
       "ID": 10,
-      "message": null,
+      "message": 2846,
       "Operation": null,
       "ConditionType": 5,
       "ConditionPara": [
@@ -96,7 +96,7 @@
     },
     {
       "ID": 11,
-      "message": null,
+      "message": 2847,
       "Operation": null,
       "ConditionType": 6,
       "ConditionPara": [
@@ -106,7 +106,7 @@
     },
     {
       "ID": 12,
-      "message": null,
+      "message": 2848,
       "Operation": null,
       "ConditionType": 5,
       "ConditionPara": [
@@ -116,7 +116,7 @@
     },
     {
       "ID": 13,
-      "message": null,
+      "message": 2849,
       "Operation": null,
       "ConditionType": 5,
       "ConditionPara": [
@@ -126,7 +126,7 @@
     },
     {
       "ID": 14,
-      "message": null,
+      "message": 2850,
       "Operation": null,
       "ConditionType": 3,
       "ConditionPara": [
@@ -136,7 +136,7 @@
     },
     {
       "ID": 15,
-      "message": null,
+      "message": 2851,
       "Operation": null,
       "ConditionType": 5,
       "ConditionPara": [

+ 76 - 66
Assets/Res/Config/EventConfig.json

@@ -543,8 +543,8 @@
       "XiantuID": 1,
       "EventConditionId": null,
       "EventCount": null,
-      "EventName": null,
-      "Description": null
+      "EventName": 2801,
+      "Description": 2822
     },
     {
       "ID": 10008,
@@ -581,8 +581,8 @@
       "XiantuID": 1,
       "EventConditionId": null,
       "EventCount": null,
-      "EventName": null,
-      "Description": null
+      "EventName": 2802,
+      "Description": 2823
     },
     {
       "ID": 10009,
@@ -608,8 +608,8 @@
       "XiantuID": 1,
       "EventConditionId": null,
       "EventCount": null,
-      "EventName": null,
-      "Description": null
+      "EventName": 2803,
+      "Description": 2824
     },
     {
       "ID": 10010,
@@ -633,8 +633,8 @@
       "XiantuID": 1,
       "EventConditionId": null,
       "EventCount": null,
-      "EventName": null,
-      "Description": null
+      "EventName": 2804,
+      "Description": 2825
     },
     {
       "ID": 10011,
@@ -658,8 +658,8 @@
       "XiantuID": 1,
       "EventConditionId": null,
       "EventCount": null,
-      "EventName": null,
-      "Description": null
+      "EventName": 2805,
+      "Description": 2826
     },
     {
       "ID": 10012,
@@ -690,12 +690,12 @@
       ],
       "RefreshProbability": null,
       "RefreshCount": null,
-      "placeID": 1,
+      "placeID": 2,
       "XiantuID": 1,
       "EventConditionId": null,
       "EventCount": null,
-      "EventName": null,
-      "Description": null
+      "EventName": 2806,
+      "Description": 2827
     },
     {
       "ID": 10013,
@@ -730,12 +730,12 @@
       ],
       "RefreshProbability": null,
       "RefreshCount": null,
-      "placeID": 1,
+      "placeID": 2,
       "XiantuID": 1,
       "EventConditionId": null,
       "EventCount": null,
-      "EventName": null,
-      "Description": null
+      "EventName": 2807,
+      "Description": 2828
     },
     {
       "ID": 10014,
@@ -762,12 +762,12 @@
       ],
       "RefreshProbability": null,
       "RefreshCount": null,
-      "placeID": 1,
+      "placeID": 2,
       "XiantuID": 1,
       "EventConditionId": null,
       "EventCount": null,
-      "EventName": null,
-      "Description": null
+      "EventName": 2808,
+      "Description": 2829
     },
     {
       "ID": 10015,
@@ -794,12 +794,12 @@
       ],
       "RefreshProbability": null,
       "RefreshCount": null,
-      "placeID": 1,
+      "placeID": 2,
       "XiantuID": 1,
       "EventConditionId": null,
       "EventCount": null,
-      "EventName": null,
-      "Description": null
+      "EventName": 2809,
+      "Description": 2830
     },
     {
       "ID": 10016,
@@ -831,12 +831,12 @@
       ],
       "RefreshProbability": null,
       "RefreshCount": null,
-      "placeID": 1,
+      "placeID": 2,
       "XiantuID": 1,
       "EventConditionId": null,
       "EventCount": null,
-      "EventName": null,
-      "Description": null
+      "EventName": 2810,
+      "Description": 2831
     },
     {
       "ID": 10017,
@@ -865,12 +865,12 @@
       ],
       "RefreshProbability": null,
       "RefreshCount": null,
-      "placeID": 1,
+      "placeID": 2,
       "XiantuID": 1,
       "EventConditionId": null,
       "EventCount": null,
-      "EventName": null,
-      "Description": null
+      "EventName": 2811,
+      "Description": 2832
     },
     {
       "ID": 10018,
@@ -890,7 +890,11 @@
         1001813,
         1001814,
         1001815,
-        1001816
+        1001816,
+        1001817,
+        1001818,
+        1001819,
+        1001820
       ],
       "EventTriggerType": 4,
       "EventTag": 1,
@@ -905,12 +909,12 @@
       ],
       "RefreshProbability": null,
       "RefreshCount": null,
-      "placeID": 1,
+      "placeID": 2,
       "XiantuID": 1,
       "EventConditionId": null,
       "EventCount": null,
-      "EventName": null,
-      "Description": null
+      "EventName": 2812,
+      "Description": 2833
     },
     {
       "ID": 10019,
@@ -931,12 +935,12 @@
       ],
       "RefreshProbability": null,
       "RefreshCount": null,
-      "placeID": 1,
+      "placeID": 2,
       "XiantuID": 1,
       "EventConditionId": null,
       "EventCount": null,
-      "EventName": null,
-      "Description": null
+      "EventName": 2813,
+      "Description": 2834
     },
     {
       "ID": 10020,
@@ -959,12 +963,12 @@
       ],
       "RefreshProbability": null,
       "RefreshCount": null,
-      "placeID": 1,
+      "placeID": 2,
       "XiantuID": 1,
       "EventConditionId": null,
       "EventCount": null,
-      "EventName": null,
-      "Description": null
+      "EventName": 2814,
+      "Description": 2835
     },
     {
       "ID": 10021,
@@ -995,18 +999,19 @@
       ],
       "RefreshProbability": null,
       "RefreshCount": null,
-      "placeID": 1,
+      "placeID": 2,
       "XiantuID": 1,
       "EventConditionId": null,
       "EventCount": null,
-      "EventName": null,
-      "Description": null
+      "EventName": 2815,
+      "Description": 2836
     },
     {
       "ID": 10022,
       "EventLinksId": [
         1002201,
-        1002202
+        1002202,
+        1002203
       ],
       "EventTriggerType": 4,
       "EventTag": 1,
@@ -1021,15 +1026,20 @@
       ],
       "RefreshProbability": null,
       "RefreshCount": null,
-      "placeID": 1,
+      "placeID": 3,
       "XiantuID": 1,
       "EventConditionId": null,
       "EventCount": null,
-      "EventName": null,
-      "Description": null
+      "EventName": 2816,
+      "Description": 2837
     },
     {
       "ID": 10023,
+      "EventLinksId": [
+        1002301,
+        1002302,
+        1002303
+      ],
       "EventTriggerType": 4,
       "EventTag": 1,
       "EventType": 1,
@@ -1043,12 +1053,12 @@
       ],
       "RefreshProbability": null,
       "RefreshCount": null,
-      "placeID": 1,
+      "placeID": 3,
       "XiantuID": 1,
       "EventConditionId": null,
       "EventCount": null,
-      "EventName": null,
-      "Description": null
+      "EventName": 2817,
+      "Description": 2838
     },
     {
       "ID": 10024,
@@ -1065,12 +1075,12 @@
       ],
       "RefreshProbability": null,
       "RefreshCount": null,
-      "placeID": 1,
+      "placeID": 3,
       "XiantuID": 1,
       "EventConditionId": null,
       "EventCount": null,
-      "EventName": null,
-      "Description": null
+      "EventName": 2818,
+      "Description": 2839
     },
     {
       "ID": 10025,
@@ -1087,12 +1097,12 @@
       ],
       "RefreshProbability": null,
       "RefreshCount": null,
-      "placeID": 1,
+      "placeID": 3,
       "XiantuID": 1,
       "EventConditionId": null,
       "EventCount": null,
-      "EventName": null,
-      "Description": null
+      "EventName": 2819,
+      "Description": 2840
     },
     {
       "ID": 10026,
@@ -1109,12 +1119,12 @@
       ],
       "RefreshProbability": null,
       "RefreshCount": null,
-      "placeID": 1,
+      "placeID": 3,
       "XiantuID": 1,
       "EventConditionId": null,
       "EventCount": null,
-      "EventName": null,
-      "Description": null
+      "EventName": 2820,
+      "Description": 2841
     },
     {
       "ID": 10027,
@@ -1131,12 +1141,12 @@
       ],
       "RefreshProbability": null,
       "RefreshCount": null,
-      "placeID": 1,
+      "placeID": 3,
       "XiantuID": 1,
       "EventConditionId": null,
       "EventCount": null,
-      "EventName": null,
-      "Description": null
+      "EventName": 2821,
+      "Description": 2842
     },
     {
       "ID": 1001,
@@ -1265,7 +1275,7 @@
         1004,
         1005
       ],
-      "EventTriggerType": 99,
+      "EventTriggerType": 6,
       "EventTag": 3,
       "EventType": 1,
       "Score": 0,
@@ -1296,7 +1306,7 @@
         1015,
         1016
       ],
-      "EventTriggerType": 99,
+      "EventTriggerType": 6,
       "EventTag": 3,
       "EventType": 1,
       "Score": 0,
@@ -1326,7 +1336,7 @@
         9007,
         9008
       ],
-      "EventTriggerType": 99,
+      "EventTriggerType": 6,
       "EventTag": 5,
       "EventType": 1,
       "Score": 0,
@@ -1352,7 +1362,7 @@
         9025,
         9026
       ],
-      "EventTriggerType": 1,
+      "EventTriggerType": 6,
       "EventTag": 3,
       "EventType": 1,
       "Score": 0,
@@ -1377,7 +1387,7 @@
       "EventLinksId": [
         9014
       ],
-      "EventTriggerType": 99,
+      "EventTriggerType": 6,
       "EventTag": 3,
       "EventType": 1,
       "Score": 0,
@@ -1405,7 +1415,7 @@
       "EventLinksId": [
         9031
       ],
-      "EventTriggerType": 99,
+      "EventTriggerType": 6,
       "EventTag": 3,
       "EventType": 1,
       "Score": 0,

+ 66 - 2
Assets/Res/Config/EventLinkConfig.json

@@ -1432,8 +1432,8 @@
       "EventID": 10006,
       "optionType": 1,
       "optionPara1": [
-        100603,
-        100602
+        1000603,
+        1000602
       ],
       "optionPara2": [
         2140,
@@ -1455,6 +1455,9 @@
       "optionPara1": [
         1000603
       ],
+      "optionPara2": [
+        2140
+      ],
       "ResultType": null
     },
     {
@@ -3717,10 +3720,71 @@
         15
       ],
       "optionType": null,
+      "ResultType": 1,
+      "ResultOptions": [
+        1002203
+      ]
+    },
+    {
+      "ID": 1002203,
+      "conciseEventMessage": 2315,
+      "EventConditionMessage": null,
+      "NPCID": null,
+      "DialogueType": null,
+      "EventID": 10022,
+      "optionType": null,
       "ResultType": 3,
       "ResultOptions": [
         10023
       ]
+    },
+    {
+      "ID": 1002301,
+      "conciseEventMessage": 2318,
+      "EventConditionMessage": null,
+      "NPCID": 111,
+      "LanID": [
+        2319
+      ],
+      "DialogueType": null,
+      "EventID": 10023,
+      "optionType": null,
+      "ResultType": 1,
+      "ResultOptions": [
+        1002302
+      ]
+    },
+    {
+      "ID": 1002302,
+      "conciseEventMessage": 2318,
+      "EventConditionMessage": null,
+      "NPCID": 111,
+      "LanID": [
+        2320
+      ],
+      "DialogueType": null,
+      "EventID": 10023,
+      "optionType": null,
+      "ResultType": 1,
+      "ResultOptions": [
+        1002303
+      ]
+    },
+    {
+      "ID": 1002303,
+      "conciseEventMessage": 2318,
+      "EventConditionMessage": null,
+      "NPCID": 100,
+      "LanID": [
+        2321
+      ],
+      "DialogueType": null,
+      "EventID": 10023,
+      "optionType": null,
+      "ResultType": 3,
+      "ResultOptions": [
+        10024
+      ]
     }
   ]
 }

+ 6 - 0
Assets/Res/Config/EventNPC.json

@@ -131,6 +131,12 @@
       "name": 3010,
       "ID_1": null,
       "DaoyouID": null
+    },
+    {
+      "ID": 111,
+      "name": null,
+      "ID_1": null,
+      "DaoyouID": null
     }
   ]
 }

+ 55 - 55
Assets/Res/Config/LanguageChineseConfig.json

@@ -9270,19 +9270,19 @@
     },
     {
       "ID": 2318,
-      "txt": ""
+      "txt": "听惠子吹嘘种子来历,并答应帮他种葫芦"
     },
     {
       "ID": 2319,
-      "txt": ""
+      "txt": "(惠子手持一颗七彩流光的种子,满脸得意)\n“小友!来得正好!瞧我这宝贝——”"
     },
     {
       "ID": 2320,
-      "txt": ""
+      "txt": "(惠子举起一颗种子,阳光照射下熠熠生辉)\n“此乃‘五石葫芦’之种!虽然我也不知道能种出来什么,但绝非凡品,一定大有用处!”"
     },
     {
       "ID": 2321,
-      "txt": ""
+      "txt": "这么厉害?哪来的?"
     },
     {
       "ID": 2322,
@@ -11202,207 +11202,207 @@
     },
     {
       "ID": 2801,
-      "txt": ""
+      "txt": "风中洞府1"
     },
     {
       "ID": 2802,
-      "txt": ""
+      "txt": "风中洞府2"
     },
     {
       "ID": 2803,
-      "txt": ""
+      "txt": "风灵之力"
     },
     {
       "ID": 2804,
-      "txt": ""
+      "txt": "北海深处1"
     },
     {
       "ID": 2805,
-      "txt": ""
+      "txt": "北海深处2"
     },
     {
       "ID": 2806,
-      "txt": ""
+      "txt": "尧之都"
     },
     {
       "ID": 2807,
-      "txt": ""
+      "txt": "山林清音"
     },
     {
       "ID": 2808,
-      "txt": ""
+      "txt": "山中劳作"
     },
     {
       "ID": 2809,
-      "txt": ""
+      "txt": "风起夜战"
     },
     {
       "ID": 2810,
-      "txt": ""
+      "txt": "吃茶三问"
     },
     {
       "ID": 2811,
-      "txt": ""
+      "txt": "尧让天下"
     },
     {
       "ID": 2812,
-      "txt": ""
+      "txt": "无用之树"
     },
     {
       "ID": 2813,
-      "txt": ""
+      "txt": "樗木之灵"
     },
     {
       "ID": 2814,
-      "txt": ""
+      "txt": "游尧都"
     },
     {
       "ID": 2815,
-      "txt": ""
+      "txt": "再见尧帝"
     },
     {
       "ID": 2816,
-      "txt": ""
+      "txt": "云海漫行"
     },
     {
       "ID": 2817,
-      "txt": ""
+      "txt": "初见惠子"
     },
     {
       "ID": 2818,
-      "txt": ""
+      "txt": "葫芦肥料"
     },
     {
       "ID": 2819,
-      "txt": ""
+      "txt": "藐姑射山"
     },
     {
       "ID": 2820,
-      "txt": ""
+      "txt": "炼器师"
     },
     {
       "ID": 2821,
-      "txt": ""
+      "txt": "忘火剑"
     },
     {
       "ID": 2822,
-      "txt": ""
+      "txt": "击败痴道人"
     },
     {
       "ID": 2823,
-      "txt": ""
+      "txt": "疯痴相聚"
     },
     {
       "ID": 2824,
-      "txt": ""
+      "txt": "筑基后期"
     },
     {
       "ID": 2825,
-      "txt": ""
+      "txt": "妖兽横行"
     },
     {
       "ID": 2826,
-      "txt": ""
+      "txt": "遇见鲲鹏"
     },
     {
       "ID": 2827,
-      "txt": ""
+      "txt": "尧让天下"
     },
     {
       "ID": 2828,
-      "txt": ""
+      "txt": "访贤许由"
     },
     {
       "ID": 2829,
-      "txt": ""
+      "txt": "割草喝茶"
     },
     {
       "ID": 2830,
-      "txt": ""
+      "txt": "再来一杯"
     },
     {
       "ID": 2831,
-      "txt": ""
+      "txt": "战胜妖王"
     },
     {
       "ID": 2832,
-      "txt": ""
+      "txt": "复命尧帝"
     },
     {
       "ID": 2833,
-      "txt": ""
+      "txt": "树下闲话"
     },
     {
       "ID": 2834,
-      "txt": ""
+      "txt": "切磋切磋"
     },
     {
       "ID": 2835,
-      "txt": ""
+      "txt": "金丹前期"
     },
     {
       "ID": 2836,
-      "txt": ""
+      "txt": "仙山传说"
     },
     {
       "ID": 2837,
-      "txt": ""
+      "txt": "入山幻阵"
     },
     {
       "ID": 2838,
-      "txt": ""
+      "txt": "葫芦种子"
     },
     {
       "ID": 2839,
-      "txt": ""
+      "txt": "天肥地肥"
     },
     {
       "ID": 2840,
-      "txt": ""
+      "txt": "登山"
     },
     {
       "ID": 2841,
-      "txt": ""
+      "txt": "重铸忘火剑"
     },
     {
       "ID": 2842,
-      "txt": ""
+      "txt": "护法"
     },
     {
       "ID": 2843,
-      "txt": ""
+      "txt": "- 击败结界兽{0}/{1}"
     },
     {
       "ID": 2844,
-      "txt": ""
+      "txt": "- 达到境界:筑基-后期{0}/{1}"
     },
     {
       "ID": 2845,
-      "txt": ""
+      "txt": "- 击杀妖兽{0}/{1}"
     },
     {
       "ID": 2846,
-      "txt": ""
+      "txt": "- 击败后山小妖{0}/{1}"
     },
     {
       "ID": 2847,
-      "txt": ""
+      "txt": "- 收集灵草种子{0}/{1}"
     },
     {
       "ID": 2848,
-      "txt": ""
+      "txt": "- 击败夜袭的妖兽{0}/{1}"
     },
     {
       "ID": 2849,
-      "txt": ""
+      "txt": "- 击败峰顶的妖王{0}/{1}"
     },
     {
       "ID": 2850,
-      "txt": ""
+      "txt": "- 境界达到[金丹-前期]{0}/{1}"
     },
     {
       "ID": 2851,
-      "txt": ""
+      "txt": "- 击败仙山的阵眼妖兽{0}/{1}"
     },
     {
       "ID": 2852,

+ 5 - 0
Assets/Res/UI/XianTuLogPanel/XianTuLogInfoPanel.prefab

@@ -97,6 +97,11 @@ MonoBehaviour:
     isAssetBundle: 0
     isList: 0
     ListCollectorDatas: []
+  - key: Sr
+    gameObject: {fileID: 7883865494936010614}
+    isAssetBundle: 0
+    isList: 0
+    ListCollectorDatas: []
   isAssetBundle: 1
 --- !u!1 &1850343213030836377
 GameObject:

+ 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: []

+ 1 - 1
Assets/Scripts/GameData/ExcelConfig/EventConfig.cs

@@ -27,7 +27,7 @@ public int[] EventLinksId;
 
 
 		/// <summary>
-		///事件类型: 1.通用事件 2.挂机事件 4.主线任务 5.仙山探险 99.无标记 
+		///事件类型: 1.通用事件 2.挂机事件 4.主线任务 5.仙山探险 6.支线事件 99.无标记 
 		/// </summary>
 public int EventTriggerType;
 

+ 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)
         {

+ 15 - 2
Assets/Scripts/GameUI/EventManager/EventSystemManager.cs

@@ -236,6 +236,12 @@ public class EventSystemManager : Singleton<EventSystemManager>
         return count;
     }
 
+    // public bool IsRefenceEvent(int eventID)
+    // {
+    //     EventConfig eventConfig = ConfigComponent.Instance.Get<EventConfig>(eventID);
+    // }
+
+
     public bool IsEventTrigger(int eventID)
     {
         foreach (var eventList in AccountFileInfo.Instance.playerData.completeEvents)
@@ -339,12 +345,19 @@ public class EventSystemManager : Singleton<EventSystemManager>
             int quality = UtilTools.GetRandomByWeight(qualitys, divineSenseConfig.QualityBonusChance);
 
 
+            // // 获取通用事件
+            // List<EventConfig> globalEvents = eventConfigs.Where(e => e.EventTriggerType == 1 && CanTriggerEvent(e.ID) && e.EventQuality == quality && !BagIsEvent(e.ID) && eventLists.FirstOrDefault(el => el.eventID == e.ID) == null).ToList();
+            //
+            //
+            // //场景特定事件
+            // List<EventConfig> candidateEvents = eventConfigs.Where(e => bigMap.SpecialTaskID.Contains(e.ID) && CanTriggerEvent(e.ID) && e.EventQuality == quality && !BagIsEvent(e.ID) && eventLists.FirstOrDefault(el => el.eventID == e.ID) == null).ToList();
+
             // 获取通用事件
-            List<EventConfig> globalEvents = eventConfigs.Where(e => e.EventTriggerType == 1 && CanTriggerEvent(e.ID) && e.EventQuality == quality && !BagIsEvent(e.ID) && eventLists.FirstOrDefault(el => el.eventID == e.ID) == null).ToList();
+            List<EventConfig> globalEvents = eventConfigs.Where(e => e.EventTriggerType == 1 && e.EventQuality == quality && eventLists.FirstOrDefault(el => el.eventID == e.ID) == null).ToList();
 
 
             //场景特定事件
-            List<EventConfig> candidateEvents = eventConfigs.Where(e => bigMap.SpecialTaskID.Contains(e.ID) && CanTriggerEvent(e.ID) && e.EventQuality == quality && !BagIsEvent(e.ID) && eventLists.FirstOrDefault(el => el.eventID == e.ID) == null).ToList();
+            List<EventConfig> candidateEvents = eventConfigs.Where(e => bigMap.SpecialTaskID.Contains(e.ID) && e.EventQuality == quality && eventLists.FirstOrDefault(el => el.eventID == e.ID) == null).ToList();
 
             if (candidateEvents.Count == 0 && globalEvents.Count == 0)
             {

+ 1 - 1
Assets/Scripts/GameUI/GameApplction.cs

@@ -161,7 +161,7 @@ public class GameApplction : IGameStart
         CombatDrive.Instance.AddCombatController(new CombatController());
         gameStartUIPanel.ShowMassge("loadCombat");
         gameStartUIPanel.SetSlider(0.95f);
-        var eventList = EventSystemManager.Instance.AddEvent(10001);
+        var eventList = EventSystemManager.Instance.AddEvent(10018);
       
         if (eventList != null)
         {

+ 9 - 2
Assets/Scripts/GameUI/ScorolList/ScrollList.cs

@@ -665,8 +665,15 @@ public class ScrollList : MonoBehaviour, IScrollListContent
                     isShow = true;
                 }
 
-                if (p.y > miny - size.y - 100 &&
-                    p.y < maxy + size.y + 100)
+                // if (p.y > miny - size.y - 100 &&
+                //     p.y < maxy + size.y + 100)
+                // {
+                //     isHind = true;
+                // }
+                
+                //不依赖widget尺寸大小
+                if (p.y > miny  - 200 &&
+                    p.y < maxy  + 200)
                 {
                     isHind = true;
                 }

+ 9 - 0
Assets/Scripts/GameUI/UI/XianTuLogPanel/EventLogInfoWidget.cs

@@ -6,6 +6,7 @@ namespace Fort23.Mono
 	[UIBinding(prefab = "EventLogInfoWidget"  )]
 	public partial class EventLogInfoWidget : ItemWidgetBasic
 	{
+		public XianTuLogInfoData data;
 		private void Init()
 		{
 
@@ -29,6 +30,14 @@ namespace Fort23.Mono
 			LayoutRebuilder.ForceRebuildLayoutImmediate(Text_Name.GetComponent<RectTransform>());
 			LayoutRebuilder.ForceRebuildLayoutImmediate(Text_Name.transform.parent.GetComponent<RectTransform>());
 		}
+		
+		public void CustomInit(XianTuLogInfoData data)
+		{
+			this.data = data;
+			Text_Name.text = data.message;
+			LayoutRebuilder.ForceRebuildLayoutImmediate(Text_Name.GetComponent<RectTransform>());
+			LayoutRebuilder.ForceRebuildLayoutImmediate(Text_Name.transform.parent.GetComponent<RectTransform>());
+		}
 
 	}
 }

+ 15 - 0
Assets/Scripts/GameUI/UI/XianTuLogPanel/EventLogMessageWidget.cs

@@ -6,6 +6,7 @@ namespace Fort23.Mono
 	[UIBinding(prefab = "EventLogMessageWidget"  )]
 	public partial class EventLogMessageWidget : ItemWidgetBasic
 	{
+		public XianTuLogInfoData data;
 		private void Init()
 		{
 
@@ -28,5 +29,19 @@ namespace Fort23.Mono
 			LayoutRebuilder.ForceRebuildLayoutImmediate(Text_Name.GetComponent<RectTransform>());
 			LayoutRebuilder.ForceRebuildLayoutImmediate(Text_Name.transform.parent.GetComponent<RectTransform>());
 		}
+		
+		public void CustomInit(XianTuLogInfoData data)
+		{
+			this.data = data;
+			Text_Name.text = data.message;
+			LayoutRebuilder.ForceRebuildLayoutImmediate(Text_Name.GetComponent<RectTransform>());
+			LayoutRebuilder.ForceRebuildLayoutImmediate(Text_Name.transform.parent.GetComponent<RectTransform>());
+		}
+
+		public override void DormancyObj()
+		{
+			data = null;
+			base.DormancyObj();
+		}
 	}
 }

+ 9 - 0
Assets/Scripts/GameUI/UI/XianTuLogPanel/EventLogTitleWidget.cs

@@ -6,6 +6,7 @@ namespace Fort23.Mono
 	[UIBinding(prefab = "EventLogTitleWidget"  )]
 	public partial class EventLogTitleWidget : ItemWidgetBasic
 	{
+		public XianTuLogInfoData data;
 		private void Init()
 		{
 
@@ -29,6 +30,14 @@ namespace Fort23.Mono
 			LayoutRebuilder.ForceRebuildLayoutImmediate(Text_Name.GetComponent<RectTransform>());
 			LayoutRebuilder.ForceRebuildLayoutImmediate(Text_Name.transform.parent.GetComponent<RectTransform>());
 		}
+		
+		public void CustomInit(XianTuLogInfoData data)
+		{
+			this.data = data;
+			Text_Name.text = data.message;
+			LayoutRebuilder.ForceRebuildLayoutImmediate(Text_Name.GetComponent<RectTransform>());
+			LayoutRebuilder.ForceRebuildLayoutImmediate(Text_Name.transform.parent.GetComponent<RectTransform>());
+		}
 
 	}
 }

+ 82 - 27
Assets/Scripts/GameUI/UI/XianTuLogPanel/XianTuLogInfoPanel.cs

@@ -17,6 +17,8 @@ namespace Fort23.Mono
         public int type;
 
         public string message;
+
+        public int id;
     }
 
 
@@ -31,7 +33,7 @@ namespace Fort23.Mono
 
         List<UIComponent> components = new List<UIComponent>();
 
-        List<EventLogTitleWidget> titleWidgets = new List<EventLogTitleWidget>();
+        // List<EventLogTitleWidget> titleWidgets = new List<EventLogTitleWidget>();
 
         private int type;
 
@@ -50,9 +52,21 @@ namespace Fort23.Mono
         public override void AddButtonEvent()
         {
             Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });
+            Sr.onValueChanged.AddListener(OnValueChanged);
+        }
+
+        private void OnValueChanged(Vector2 arg0)
+        {
+            UpdateTitleWidget();
+        }
+
+        public async override CTask<bool> AsyncInit(object[] uiData)
+        {
+            await CustomInit((int)uiData[0], (int)uiData[1]);
+            return await base.AsyncInit(uiData);
         }
 
-        public async void CustomInit(int type, int id)
+        public async CTask CustomInit(int type, int id)
         {
             this.type = type;
             eventLogTitleWidget = await UIManager.Instance.CreateGComponentForObject<EventLogTitleWidget>(EventLogTitleWidget, null);
@@ -82,6 +96,7 @@ namespace Fort23.Mono
                     PlacesConfig placesConfig = ConfigComponent.Instance.Get<PlacesConfig>(keyValuePair.Key);
                     XianTuLogInfoData xianTuLogInfoData3 = new XianTuLogInfoData();
                     xianTuLogInfoData3.type = 1;
+                    xianTuLogInfoData3.id = keyValuePair.Value[0].ID;
                     xianTuLogInfoData3.message = LanguageManager.Instance.Text(placesConfig.placeName);
                     showXianTuLogInfoData.Add(xianTuLogInfoData3);
                 }
@@ -96,10 +111,12 @@ namespace Fort23.Mono
                         {
                             XianTuLogInfoData xianTuLogInfoData = new XianTuLogInfoData();
                             xianTuLogInfoData.type = 2;
+                            xianTuLogInfoData.id = eventConfig.ID;
                             xianTuLogInfoData.message = "????????";
 
                             XianTuLogInfoData xianTuLogInfoData1 = new XianTuLogInfoData();
                             xianTuLogInfoData1.type = 3;
+                            xianTuLogInfoData1.id = eventConfig.ID;
                             xianTuLogInfoData1.message = "?????????????????????????????????";
 
                             showXianTuLogInfoData.Add(xianTuLogInfoData);
@@ -110,6 +127,7 @@ namespace Fort23.Mono
                     {
                         XianTuLogInfoData xianTuLogInfoData = new XianTuLogInfoData();
                         xianTuLogInfoData.type = 2;
+                        xianTuLogInfoData.id = eventConfig.ID;
                         xianTuLogInfoData.message = LanguageManager.Instance.Text(eventConfig.EventName);
                         showXianTuLogInfoData.Add(xianTuLogInfoData);
                         foreach (var eventListSelectEventLinkId in eventList.selectEventLinkIds)
@@ -121,6 +139,7 @@ namespace Fort23.Mono
                                 {
                                     XianTuLogInfoData xianTuLogInfoData1 = new XianTuLogInfoData();
                                     xianTuLogInfoData1.type = 3;
+                                    xianTuLogInfoData1.id = eventConfig.ID;
                                     if (eventLinkConfig.NPCID != 0)
                                     {
                                         xianTuLogInfoData1.message = $"<color=#A6A6A6>{LanguageManager.Instance.Text(i)}</color>";
@@ -129,8 +148,8 @@ namespace Fort23.Mono
                                     {
                                         xianTuLogInfoData1.message = $"<color=#867169>{LanguageManager.Instance.Text(i)}</color>";
                                     }
-                                  
-                                  
+
+
                                     showXianTuLogInfoData.Add(xianTuLogInfoData1);
                                 }
                             }
@@ -142,17 +161,17 @@ namespace Fort23.Mono
             if (type == 1)
             {
                 // eventLogTitleWidget.SetActive(true);
-                Sv.SetParent(Marsk1,false);
+                Sv.SetParent(Marsk1, false);
                 eventLogTitleWidget.CustomInit(showXianTuLogInfoData[0].message);
                 eventLogTitleWidget.own.SetActive(true);
             }
             else if (type == 2)
             {
-                Sv.SetParent(Marsk2,false);
+                Sv.SetParent(Marsk2, false);
                 eventLogTitleWidget.own.SetActive(false);
             }
 
-            Content.Init(this, showXianTuLogInfoData.Count);
+            await Content.Init(this, showXianTuLogInfoData.Count);
         }
 
         public async CTask<IScorllListWidget> GetIScorllListWidget(int index, RectTransform root)
@@ -167,22 +186,22 @@ namespace Fort23.Mono
             if (xianTuLogInfoData.type == 1)
             {
                 EventLogTitleWidget eventLogTitleWidget = await UIManager.Instance.CreateGComponent<EventLogTitleWidget>(null, ContentRoot);
-                eventLogTitleWidget.CustomInit(xianTuLogInfoData.message);
-                titleWidgets.Add(eventLogTitleWidget);
+                eventLogTitleWidget.CustomInit(xianTuLogInfoData);
+                // titleWidgets.Add(eventLogTitleWidget);
                 components.Add(eventLogTitleWidget);
                 return eventLogTitleWidget;
             }
             else if (xianTuLogInfoData.type == 2)
             {
                 EventLogInfoWidget eventLogInfoWidget = await UIManager.Instance.CreateGComponent<EventLogInfoWidget>(null, ContentRoot);
-                eventLogInfoWidget.CustomInit(xianTuLogInfoData.message);
+                eventLogInfoWidget.CustomInit(xianTuLogInfoData);
                 components.Add(eventLogInfoWidget);
                 return eventLogInfoWidget;
             }
             else if (xianTuLogInfoData.type == 3)
             {
                 EventLogMessageWidget eventLogInfoWidget = await UIManager.Instance.CreateGComponent<EventLogMessageWidget>(null, ContentRoot);
-                eventLogInfoWidget.CustomInit(xianTuLogInfoData.message);
+                eventLogInfoWidget.CustomInit(xianTuLogInfoData);
                 components.Add(eventLogInfoWidget);
                 return eventLogInfoWidget;
             }
@@ -198,10 +217,10 @@ namespace Fort23.Mono
                 components.Remove(widget as UIComponent);
             }
 
-            if (titleWidgets.Contains(widget as EventLogTitleWidget))
-            {
-                titleWidgets.Remove(widget as EventLogTitleWidget);
-            }
+            // if (titleWidgets.Contains(widget as EventLogTitleWidget))
+            // {
+            //     titleWidgets.Remove(widget as EventLogTitleWidget);
+            // }
         }
 
         public override void Close()
@@ -213,44 +232,80 @@ namespace Fort23.Mono
             }
 
             components.Clear();
-            titleWidgets.Clear();
+            // titleWidgets.Clear();
 
             base.Close();
         }
 
-        [CustomMethod(CustomMethodType.Update)]
-        public void Update()
+        List<UIComponent> _components = new List<UIComponent>();
+        private float maxY;
+        private float minY;
+
+
+        public void UpdateTitleWidget()
         {
             if (type != 1)
                 return;
-            EventLogTitleWidget highestItem = null;
-            float maxY = float.MinValue;
+            UIComponent highestItem = null;
+            maxY = float.MinValue;
+            minY = float.MaxValue;
+            _components.Clear();
 
 
-            foreach (var xianTuTitleWidget in titleWidgets)
+            foreach (var xianTuTitleWidget in components)
             {
                 float itemY = xianTuTitleWidget.own.transform.position.y; // 使用世界坐标的 Y 值
-                if (itemY > maxY)
+                if (itemY > eventLogTitleWidget.own.transform.position.y)
                 {
                     maxY = itemY;
-                    highestItem = xianTuTitleWidget;
+                    // highestItem = xianTuTitleWidget;
+                    _components.Add(xianTuTitleWidget);
                 }
             }
 
+            foreach (var uiComponent in _components)
+            {
+                float itemY = uiComponent.own.transform.position.y; // 使用世界坐标的 Y 值
+                if (itemY < minY)
+                {
+                    minY = itemY;
+                    highestItem = uiComponent;
+                }
+            }
+
+
             if (highestItem != null)
             {
                 float outsideY = eventLogTitleWidget.own.transform.position.y;
-                if (maxY > outsideY )
+                if (maxY > outsideY)
                 {
-                    eventLogTitleWidget.CustomInit(highestItem.Text_Name.text);
+                    EventConfig eventConfig = default;
+                    if (highestItem is EventLogTitleWidget)
+                    {
+                        EventLogTitleWidget eventLogTitleWidget = highestItem as EventLogTitleWidget;
+                        eventConfig = ConfigComponent.Instance.Get<EventConfig>(eventLogTitleWidget.data.id);
+                    }
+                    else if (highestItem is EventLogInfoWidget)
+                    {
+                        EventLogInfoWidget eventLogTitleWidget = highestItem as EventLogInfoWidget;
+                        eventConfig = ConfigComponent.Instance.Get<EventConfig>(eventLogTitleWidget.data.id);
+                    }
+                    else if (highestItem is EventLogMessageWidget)
+                    {
+                        EventLogMessageWidget eventLogTitleWidget = highestItem as EventLogMessageWidget;
+                        eventConfig = ConfigComponent.Instance.Get<EventConfig>(eventLogTitleWidget.data.id);
+                    }
+
+                    PlacesConfig placesConfig = ConfigComponent.Instance.Get<PlacesConfig>(eventConfig.placeID);
+                    eventLogTitleWidget.CustomInit(LanguageManager.Instance.Text(placesConfig.placeName));
                 }
             }
         }
 
         public async static CTask OpenPanel(int type, int id)
         {
-            XianTuLogInfoPanel xianTuLogInfoPanel = await UIManager.Instance.LoadAndOpenPanel<XianTuLogInfoPanel>(null);
-            xianTuLogInfoPanel.CustomInit(type, id);
+            XianTuLogInfoPanel xianTuLogInfoPanel = await UIManager.Instance.LoadAndOpenPanel<XianTuLogInfoPanel>(null, uiData: new object[] { type, id });
+            // xianTuLogInfoPanel.CustomInit(type, id);
         }
     }
 }

+ 11 - 0
Assets/Scripts/GameUI/UI/XianTuLogPanel/XianTuLogInfoPanelData.cs

@@ -96,6 +96,17 @@ namespace Fort23.Mono
 	      return _Sv;
 	     }
 	   }
+	  private ScrollRect _Sr;
+	  public ScrollRect Sr
+	   {
+	   get{
+	      if (_Sr == null)
+	       {
+	         _Sr  = GetUIUnit<ScrollRect>("Sr"); 
+	       }
+	      return _Sr;
+	     }
+	   }
 	  #endregion 自定义数据结束 
 	 public override async CTask SetUIGameObject(GameObject gObjectPoolInterface)
 	{

TEMPAT SAMPAH
Excel2Json/Excel/Buff.xlsx


TEMPAT SAMPAH
Excel2Json/Excel/EventConfig.xlsx


TEMPAT SAMPAH
Excel2Json/Excel/Language.xlsx


TEMPAT SAMPAH
Excel2Json/Excel/Maps.xlsx


File diff ditekan karena terlalu besar
+ 521 - 412
UserSettings/Layouts/default-2022.dwlt


Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini