From 51b0f6ed9f4e1d3bb6f8144470b46908c7699a96 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期一, 11 五月 2026 16:20:37 +0800
Subject: [PATCH] Merge branch 'master' into h5version

---
 Main/System/Main/FightPowerManager.cs |   66 ++++++++++++++++++++++-----------
 1 files changed, 44 insertions(+), 22 deletions(-)

diff --git a/Main/System/Main/FightPowerManager.cs b/Main/System/Main/FightPowerManager.cs
index d85302a..1872349 100644
--- a/Main/System/Main/FightPowerManager.cs
+++ b/Main/System/Main/FightPowerManager.cs
@@ -82,7 +82,7 @@
     // public Dictionary<string, int> lineUpPerDict = new Dictionary<string, int>();  //闃靛灞炴�у姞鎴�
     public Dictionary<int, int> countryAttrs = new Dictionary<int, int>();   //闃靛鍥藉锛堝厜鐜級灞炴��
     public Dictionary<int, long> minggeAttrs = new Dictionary<int, long>();   //鍛芥牸灞炴��
-
+    public Dictionary<int, long> djgAttrs = new Dictionary<int, long>();   //瀹氬啗闃佸睘鎬�
     double allHeroAddPer = 0;  //鎵�鏈夋灏嗗姞鎴�
 
     //绛夌骇灞炴��
@@ -340,8 +340,10 @@
         var beautyPer = BeautyMMManager.Instance.GetAttrPer(attrType) / 10000.0;
         var fatesValue = HeroFatesManager.Instance.GetAttrValue(attrType);
         var fatesPer = HeroFatesManager.Instance.GetAttrPer(attrType) / 10000.0;
-        var dingjungeValue = 0; //榛樿涓嶉渶瑕佸姞锛岀埇濉旂壒娈婄敤锛岄厤鍚堝叕寮�
-        var dingjungePer = 0;   //榛樿涓嶉渶瑕佸姞锛岀埇濉旂壒娈婄敤锛岄厤鍚堝叕寮�
+
+        djgAttrs.TryGetValue(attrType, out var dingjungeValue);
+        var dingjungePer = GetAttrPer(attrType, djgAttrs) / 10000.0;   //榛樿涓嶉渶瑕佸姞锛岀埇濉旂壒娈婄敤锛岄厤鍚堝叕寮�
+
         minggeAttrs.TryGetValue(attrType, out var minggeValue);
         var minggePer = GetAttrPer(attrType, minggeAttrs) / 10000.0;
         
@@ -365,9 +367,9 @@
         var heroLVValue = hero.GetHeroLVValue(attrType);
 
         //姝﹀皢鐨偆
-        var skinValue = 0;
-        var skinPer = 0;
-        var heroSkinValue = 0;
+        var skinValue = HeroUIManager.Instance.GetSkinAttrValue(attrType);
+        var skinPer = HeroUIManager.Instance.GetSkinAttrPer(attrType) / 10000.0;
+        var heroSkinValue = hero.GetHeroSkinValue(attrType);
 
         
         double value = (lvValue+equipValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue+fatesValue+skinValue+dingjungeValue+minggeValue)*(1+lineupHaloPer+realmPer+gubaoPer+hjgPer+horsePer+beautyPer+fatesPer+skinPer+cardPer+minggePer)*(inheritPer+fetterPer+starTalentPer+breakLVPer+awakeTalentPer)*(1+dingjungePer)+heroSelfValue+heroLVValue+heroSkinValue;
@@ -397,7 +399,7 @@
         var horseValue = HorseManager.Instance.GetAttrValue(attrType);
         var beautyValue = BeautyMMManager.Instance.GetAttrValue(attrType);
         var fatesValue = HeroFatesManager.Instance.GetAttrValue(attrType);
-        var dingjungeValue = 0; //榛樿涓嶉渶瑕佸姞锛岀埇濉旂壒娈婄敤锛岄厤鍚堝叕寮�
+        djgAttrs.TryGetValue(attrType, out var dingjungeValue);
         minggeAttrs.TryGetValue(attrType, out var minggeValue);
 
         //闃靛鍏夌幆 涓夊洿鐧惧垎姣斿姞鎴�
@@ -411,7 +413,7 @@
         var fetterValue = hero.GetFetterAttrValue(attrType);
 
         //姝﹀皢鐨偆
-        var heroSkinValue = 0;
+        var heroSkinValue = hero.GetHeroSkinValue(attrType);
 
         double value = (lvValue+equipValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue+fatesValue+dingjungeValue+minggeValue)+(heroSelfValue+heroSkinValue+lineupHaloValue+starTalentValue+breakLVValue+awakeTalentValue)+fetterValue;
   
@@ -487,7 +489,8 @@
         RefreshOfficialAttrs();
         RefrehEquipAttrs();
         RefrehMinggeAttrs();
-
+        djgAttrs.Clear();
+        
         bool diffFP = lastFightPower != PlayerDatas.Instance.baseData.FightPower;   //鎴樺姏鏄惁鏈夊彉鍖�
         if (diffFP || calcType == 0)
         {
@@ -541,23 +544,24 @@
     public long CalculateTeamHeroPower(HeroInfo hero)
     {
         hero.RefreshFetterAttrsWhenCalcPower(teamTypeCalc); //缇佺粖灞炴�ц瀹炴椂绠�
+        hero.RefreshInheritPer();
 
         var Atk = GetPropertyVaule(6, hero);
         var Def = GetPropertyVaule(7, hero);
         var MaxHP = GetPropertyVaule(8, hero);
         var AtkSpeed = GetFighttPropertyVaule(11, hero);
-        var StunRate = GetFighttPropertyVaule(21, hero);
-        var StunRateDef = GetFighttPropertyVaule(22, hero);
-        var SuperHitRate = GetFighttPropertyVaule(23, hero);
-        var SuperHitRateDef = GetFighttPropertyVaule(24, hero);
-        var ComboRate = GetFighttPropertyVaule(25, hero);
-        var ComboRateDef = GetFighttPropertyVaule(26, hero);
-        var MissRate = GetFighttPropertyVaule(27, hero);
-        var MissRateDef = GetFighttPropertyVaule(28, hero);
-        var ParryRate = GetFighttPropertyVaule(29, hero);
-        var ParryRateDef = GetFighttPropertyVaule(30, hero);
-        var SuckHPPer = GetFighttPropertyVaule(31, hero);
-        var SuckHPPerDef = GetFighttPropertyVaule(32, hero);
+        var StunRate = GetFighttPropertyVaule(21, hero) + GetFighttPropertyVaule(33, hero);
+        var StunRateDef = GetFighttPropertyVaule(22, hero) + GetFighttPropertyVaule(34, hero);
+        var SuperHitRate = GetFighttPropertyVaule(23, hero) + GetFighttPropertyVaule(33, hero);
+        var SuperHitRateDef = GetFighttPropertyVaule(24, hero) + GetFighttPropertyVaule(34, hero);
+        var ComboRate = GetFighttPropertyVaule(25, hero) + GetFighttPropertyVaule(33, hero);
+        var ComboRateDef = GetFighttPropertyVaule(26, hero) + GetFighttPropertyVaule(34, hero);
+        var MissRate = GetFighttPropertyVaule(27, hero) + GetFighttPropertyVaule(33, hero);
+        var MissRateDef = GetFighttPropertyVaule(28, hero) + GetFighttPropertyVaule(34, hero);
+        var ParryRate = GetFighttPropertyVaule(29, hero) + GetFighttPropertyVaule(33, hero);
+        var ParryRateDef = GetFighttPropertyVaule(30, hero) + GetFighttPropertyVaule(34, hero);
+        var SuckHPPer = GetFighttPropertyVaule(31, hero) + GetFighttPropertyVaule(33, hero);
+        var SuckHPPerDef = GetFighttPropertyVaule(32, hero) + GetFighttPropertyVaule(34, hero);
 
         var FinalDamPer = GetFighttPropertyVaule(35, hero);
         var FinalDamPerDef = GetFighttPropertyVaule(36, hero);
@@ -811,6 +815,7 @@
         RefrehMinggeAttrs();
         RefrehEquipAttrs();
         RefreshTeamAttrs();
+        djgAttrs.Clear();
 
         var fightPower = CalculateTeamHeroPower(heroInfo);
         fightPower += GetMinggeSkillPower();
@@ -831,6 +836,7 @@
     #endregion
 
 
+    //鍜屾垬鍔涜绠楁棤鍏筹紝閲嶇畻灞炴�у睍绀虹敤
     public Dictionary<int, long> GetHeroTotalAttr(HeroInfo hero)
     {
 
@@ -840,7 +846,11 @@
         var pConfig = PlayerPropertyConfig.GetValues();
         foreach (var config in pConfig)
         {
-            if (config.showType < 1 || config.showType > 4)
+            if (config.showType != 1 &&
+                config.showType != 2 &&
+                config.showType != 3 &&
+                config.showType != 4 &&
+                config.showType != 7)
             {
                 continue;
             }
@@ -855,6 +865,18 @@
             }
         }
 
+        //鍏ぇ鎴樻枟灞炴�ч渶瑕佸啀鍔犱笂鎬荤殑鎴樻枟灞炴��
+        int[] fightAttrList = { 21, 23, 25, 27, 29, 31};
+        foreach (var attr in fightAttrList)
+        {
+            tmpAttrs[attr] += tmpAttrs[33];
+        }
+        int[] fightDefAttrList = { 22, 24, 26, 28, 30, 32};
+        foreach (var attr in fightDefAttrList)
+        {
+            tmpAttrs[attr] += tmpAttrs[34];
+        }
+        
         return tmpAttrs;
     }
 

--
Gitblit v1.8.0