lcy
2026-04-21 af8a1b485e4276e0d0c52e9f7367efe3ed1ca34e
406 属性查看优化 定军阁查看我方战场英雄的属性加上加成值
3个文件已修改
49 ■■■■■ 已修改文件
Main/System/Main/FightPowerManager.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/OtherPlayerDetail/OtherHeroDetailWin.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/WarlordPavilion/WarlordPavilionManager.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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,6 +489,7 @@
        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();
Main/System/OtherPlayerDetail/OtherHeroDetailWin.cs
@@ -82,9 +82,21 @@
                        return;
                    }
                    heroInfo.CalculateFightPower();
                    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
                {
                    if (BattleManager.Instance.IsPvpBattle(data.battleName))
Main/System/WarlordPavilion/WarlordPavilionManager.cs
@@ -498,6 +498,31 @@
        return SelectAuto == 1;
    }
    /// <summary>
    /// 获取当前加成的全体属性
    /// </summary>
    /// <returns>属性加成字典,key为AttrID,value为累计的属性值</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()
    {