From d0dfe302f42f680bd3a84a29b9d58947046403c7 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期一, 09 二月 2026 14:45:59 +0800
Subject: [PATCH] 125 武将皮肤/技能皮肤 战斗部分

---
 Main/System/Battle/BattleResources/TeamResTracker.cs |   61 ++++++++++++++++++------------
 1 files changed, 37 insertions(+), 24 deletions(-)

diff --git a/Main/System/Battle/BattleResources/TeamResTracker.cs b/Main/System/Battle/BattleResources/TeamResTracker.cs
index 56e20fa..ef06205 100644
--- a/Main/System/Battle/BattleResources/TeamResTracker.cs
+++ b/Main/System/Battle/BattleResources/TeamResTracker.cs
@@ -71,56 +71,69 @@
         // 鏅敾鎶�鑳�
         if (teamHero.heroConfig.AtkSkillID > 0)
         {
-            AddSingleSkillResources(teamHero.heroConfig.AtkSkillID, info, isPersistent, ownerId);
+            SkillConfig skillConfig = SkillConfig.Get(teamHero.heroConfig.AtkSkillID);
+            if (null != skillConfig)
+            {
+                SkillSkinConfig skillSkinConfig = skillConfig.GetSkillSkinConfig(teamHero.SkinID);
+                if (null != skillSkinConfig)
+                {
+                    AddSingleSkillResources(skillSkinConfig, info, isPersistent, ownerId);
+                }
+            }
         }
         
         // 鎬掓皵鎶�鑳�
         if (teamHero.heroConfig.AngerSkillID > 0)
         {
-            AddSingleSkillResources(teamHero.heroConfig.AngerSkillID, info, isPersistent, ownerId);
+            SkillConfig skillConfig = SkillConfig.Get(teamHero.heroConfig.AngerSkillID);
+            if (null != skillConfig)
+            {
+                SkillSkinConfig skillSkinConfig = skillConfig.GetSkillSkinConfig(teamHero.SkinID);
+                if (null != skillSkinConfig)
+                {
+                    AddSingleSkillResources(skillSkinConfig, info, isPersistent, ownerId);
+                }
+            }
         }
     }
     
     /// <summary>
     /// 娣诲姞鍗曚釜鎶�鑳界殑璧勬簮
     /// </summary>
-    private static void AddSingleSkillResources(int skillId, TeamResourceInfo info, bool isPersistent, string ownerId)
+    private static void AddSingleSkillResources(SkillSkinConfig skillSkinConfig, TeamResourceInfo info, bool isPersistent, string ownerId)
     {
-        SkillConfig skillConfig = SkillConfig.Get(skillId);
-        if (skillConfig == null)
-            return;
         
-        AddSkillAudio(skillConfig, info, isPersistent, ownerId);
-        AddSkillEffects(skillConfig, info, isPersistent, ownerId);
+        AddSkillAudio(skillSkinConfig, info, isPersistent, ownerId);
+        AddSkillEffects(skillSkinConfig, info, isPersistent, ownerId);
     }
     
-    private static void AddSkillAudio(SkillConfig skillConfig, TeamResourceInfo info, bool isPersistent, string ownerId)
+    private static void AddSkillAudio(SkillSkinConfig skillSkinConfig, TeamResourceInfo info, bool isPersistent, string ownerId)
     {
-        if (skillConfig.SkinllSFX1 > 0)
+        if (skillSkinConfig.SkinllSFX1 > 0)
         {
-            AddAudioResource(skillConfig.SkinllSFX1, info, isPersistent, ownerId);
+            AddAudioResource(skillSkinConfig.SkinllSFX1, info, isPersistent, ownerId);
         }
         
-        if (skillConfig.SkinllSFX2 > 0)
+        if (skillSkinConfig.SkinllSFX2 > 0)
         {
-            AddAudioResource(skillConfig.SkinllSFX2, info, isPersistent, ownerId);
+            AddAudioResource(skillSkinConfig.SkinllSFX2, info, isPersistent, ownerId);
         }
     }
     
-    private static void AddSkillEffects(SkillConfig skillConfig, TeamResourceInfo info, bool isPersistent, string ownerId)
+    private static void AddSkillEffects(SkillSkinConfig skillSkinConfig, TeamResourceInfo info, bool isPersistent, string ownerId)
     {
         List<int> effectIds = new List<int>();
         
-        if (skillConfig.BulletEffectId > 0) effectIds.Add(skillConfig.BulletEffectId);
-        if (skillConfig.ExplosionEffectId > 0) effectIds.Add(skillConfig.ExplosionEffectId);
-        if (skillConfig.ExplosionEffect2 > 0) effectIds.Add(skillConfig.ExplosionEffect2);
-        if (skillConfig.ExplosionEffect3 > 0) effectIds.Add(skillConfig.ExplosionEffect3);
-        if (skillConfig.ExplosionEffect4 > 0) effectIds.Add(skillConfig.ExplosionEffect4);
-        if (skillConfig.EffectId > 0) effectIds.Add(skillConfig.EffectId);
-        if (skillConfig.EffectId2 > 0) effectIds.Add(skillConfig.EffectId2);
-        if (skillConfig.MStartEffectId > 0) effectIds.Add(skillConfig.MStartEffectId);
-        if (skillConfig.BuffEffect > 0) effectIds.Add(skillConfig.BuffEffect);
-        if (skillConfig.TriggerEffect > 0) effectIds.Add(skillConfig.TriggerEffect);
+        if (skillSkinConfig.BulletEffectId > 0) effectIds.Add(skillSkinConfig.BulletEffectId);
+        if (skillSkinConfig.ExplosionEffectId > 0) effectIds.Add(skillSkinConfig.ExplosionEffectId);
+        if (skillSkinConfig.ExplosionEffect2 > 0) effectIds.Add(skillSkinConfig.ExplosionEffect2);
+        if (skillSkinConfig.ExplosionEffect3 > 0) effectIds.Add(skillSkinConfig.ExplosionEffect3);
+        if (skillSkinConfig.ExplosionEffect4 > 0) effectIds.Add(skillSkinConfig.ExplosionEffect4);
+        if (skillSkinConfig.EffectId > 0) effectIds.Add(skillSkinConfig.EffectId);
+        if (skillSkinConfig.EffectId2 > 0) effectIds.Add(skillSkinConfig.EffectId2);
+        if (skillSkinConfig.MStartEffectId > 0) effectIds.Add(skillSkinConfig.MStartEffectId);
+        if (skillSkinConfig.BuffEffect > 0) effectIds.Add(skillSkinConfig.BuffEffect);
+        if (skillSkinConfig.TriggerEffect > 0) effectIds.Add(skillSkinConfig.TriggerEffect);
         
         foreach (int effectId in effectIds)
         {

--
Gitblit v1.8.0