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