From af8a1b485e4276e0d0c52e9f7367efe3ed1ca34e Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期二, 21 四月 2026 21:22:41 +0800
Subject: [PATCH] 406 属性查看优化 定军阁查看我方战场英雄的属性加上加成值
---
Main/System/Main/FightPowerManager.cs | 14 +++++++++-----
Main/System/WarlordPavilion/WarlordPavilionManager.cs | 25 +++++++++++++++++++++++++
Main/System/OtherPlayerDetail/OtherHeroDetailWin.cs | 16 ++++++++++++++--
3 files changed, 48 insertions(+), 7 deletions(-)
diff --git a/Main/System/Main/FightPowerManager.cs b/Main/System/Main/FightPowerManager.cs
index 477321a..9454ffc 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;
@@ -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);
//闃靛鍏夌幆 涓夊洿鐧惧垎姣斿姞鎴�
@@ -487,7 +489,8 @@
RefreshOfficialAttrs();
RefrehEquipAttrs();
RefrehMinggeAttrs();
-
+ djgAttrs.Clear();
+
bool diffFP = lastFightPower != PlayerDatas.Instance.baseData.FightPower; //鎴樺姏鏄惁鏈夊彉鍖�
if (diffFP || calcType == 0)
{
@@ -812,6 +815,7 @@
RefrehMinggeAttrs();
RefrehEquipAttrs();
RefreshTeamAttrs();
+ djgAttrs.Clear();
var fightPower = CalculateTeamHeroPower(heroInfo);
fightPower += GetMinggeSkillPower();
diff --git a/Main/System/OtherPlayerDetail/OtherHeroDetailWin.cs b/Main/System/OtherPlayerDetail/OtherHeroDetailWin.cs
index dcd9aed..a08cdef 100644
--- a/Main/System/OtherPlayerDetail/OtherHeroDetailWin.cs
+++ b/Main/System/OtherPlayerDetail/OtherHeroDetailWin.cs
@@ -82,8 +82,20 @@
return;
}
heroInfo.CalculateFightPower();
- attrDict = FightPowerManager.Instance.GetHeroTotalAttr(heroInfo);
- DisplayByMyPack(heroInfo, data);
+
+ if (data.battleName == BattleConst.WarlordPavilionBattleField)
+ {
+ FightPowerManager.Instance.djgAttrs = WarlordPavilionManager.Instance.GetAllAttrBonus();
+ attrDict = FightPowerManager.Instance.GetHeroTotalAttr(heroInfo);
+ FightPowerManager.Instance.djgAttrs.Clear();
+ DisplayByMyPack(heroInfo, data);
+ }
+ else
+ {
+ attrDict = FightPowerManager.Instance.GetHeroTotalAttr(heroInfo);
+ DisplayByMyPack(heroInfo, data);
+ }
+
}
else
{
diff --git a/Main/System/WarlordPavilion/WarlordPavilionManager.cs b/Main/System/WarlordPavilion/WarlordPavilionManager.cs
index 179ce22..8d14848 100644
--- a/Main/System/WarlordPavilion/WarlordPavilionManager.cs
+++ b/Main/System/WarlordPavilion/WarlordPavilionManager.cs
@@ -498,6 +498,31 @@
return SelectAuto == 1;
}
+ /// <summary>
+ /// 鑾峰彇褰撳墠鍔犳垚鐨勫叏浣撳睘鎬�
+ /// </summary>
+ /// <returns>灞炴�у姞鎴愬瓧鍏革紝key涓篈ttrID锛寁alue涓虹疮璁$殑灞炴�у��</returns>
+ public Dictionary<int, long> GetAllAttrBonus()
+ {
+ Dictionary<int, long> attrBonusDict = new Dictionary<int, long>();
+ if (EffList.IsNullOrEmpty())
+ return attrBonusDict;
+
+ for (int i = 0; i < EffList.Length; i++)
+ {
+ var eff = EffList[i];
+ var config = FBDJGEffectConfig.Get(eff.EffID);
+ if (config == null)
+ continue;
+ long bonusValue = (long)eff.EffLV * config.AttrValue;
+ if (attrBonusDict.ContainsKey(config.AttrID))
+ attrBonusDict[config.AttrID] += bonusValue;
+ else
+ attrBonusDict[config.AttrID] = bonusValue;
+ }
+ return attrBonusDict;
+ }
+
// 鏄惁鍙互蹇�熸寫鎴�
public bool CanFastChallenge()
{
--
Gitblit v1.8.0