yyl
2025-12-25 11858438f80bd9c364368309edb09e9aa6d04a73
125 战斗 buff删除未准确执行的问题处理
3个文件已修改
25 ■■■■■ 已修改文件
Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB430_tagSCTurnFightReport.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/Buff/BattleObjectBuffMgr.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/Skill/SkillBase.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB430_tagSCTurnFightReport.cs
@@ -133,6 +133,10 @@
            }
#endif
#if UNITY_EDITOR
            DebugingBuffStatus(vPackList);
#endif
            vPackList = AnalysisPackQueueAndDistribute(guid, vPackList);
#if UNITY_EDITOR
@@ -168,9 +172,7 @@
            }
#endif
#if UNITY_EDITOR
            DebugingBuffStatus(vPackList);
#endif
            for (int i = 0; i < vPackList.Count; i++)
            {
@@ -218,8 +220,8 @@
            }
        }
        List<HB428_tagSCBuffRefresh> buffRefreshList = vPackList.OfType<HB428_tagSCBuffRefresh>().ToList();
        List<HB429_tagSCBuffDel> buffDelList = vPackList.OfType<HB429_tagSCBuffDel>().ToList();
        List<HB428_tagSCBuffRefresh> buffRefreshList = new List<HB428_tagSCBuffRefresh>(from pack in vPackList where pack is HB428_tagSCBuffRefresh select pack as HB428_tagSCBuffRefresh);
        List<HB429_tagSCBuffDel> buffDelList = new List<HB429_tagSCBuffDel>(from pack in vPackList where pack is HB429_tagSCBuffDel select pack as HB429_tagSCBuffDel);
        List<GameNetPackBasic> buffPacks = new List<GameNetPackBasic>();
        buffPacks.AddRange(buffRefreshList);
@@ -280,10 +282,12 @@
                    list.Add(pack);
                }
                debugInfo += $"[{pack.packUID}] Buff删除 - ObjID:{delPack.ObjID} HeroName:{heroName} BuffID:{delPack.BuffID} \n\n\n\n\n\n";
                debugInfo += $"[{pack.packUID}] Buff删除 - ObjID:{delPack.ObjID} HeroName:{heroName} BuffID:{delPack.BuffID}\n";
            }
        }
        debugInfo += "\n\n\n";
        foreach (var heroPackPair in nameAndSortedBuffPacks)
        {
            debugInfo += $"=== {heroPackPair.Key} Buff变更记录 ===\n";
Main/System/Battle/Buff/BattleObjectBuffMgr.cs
@@ -94,7 +94,7 @@
    }
    //  删除buff
    public void RemoveBuff(HB429_tagSCBuffDel vNetData)
    public void RemoveBuff(HB429_tagSCBuffDel vNetData, bool insert = false)
    {
        var tempvNetData = vNetData;
        BuffUnmountAction buffRemoveAction = new BuffUnmountAction(battleObject.battleField, new List<HB429_tagSCBuffDel>() { vNetData }, () =>
@@ -154,7 +154,10 @@
            OnBuffChanged();
        });
        battleObject.battleField.recordPlayer.ImmediatelyPlay(buffRemoveAction);
        if (insert)
            battleObject.battleField.recordPlayer.ImmediatelyPlay(buffRemoveAction);
        else
            battleObject.battleField.recordPlayer.PlayRecord(buffRemoveAction);
        
    }
Main/System/Battle/Skill/SkillBase.cs
@@ -1352,7 +1352,7 @@
                BattleObject battleObj = battleField.battleObjMgr.GetBattleObject((int)buffDel.ObjID);
                if (battleObj != null)
                {
                    battleObj.buffMgr.RemoveBuff(buffDel);
                    battleObj.buffMgr.RemoveBuff(buffDel, true);
                }
            }
        }