From f4a702e212d1853735f8dae399da69d23bfa510e Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期四, 26 三月 2026 18:16:16 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into h5version

---
 Main/System/HeroUI/HeroDeleteWin.cs |   67 ++++++++++++++++++++++++++++++++-
 1 files changed, 65 insertions(+), 2 deletions(-)

diff --git a/Main/System/HeroUI/HeroDeleteWin.cs b/Main/System/HeroUI/HeroDeleteWin.cs
index 26032ad..a626b47 100644
--- a/Main/System/HeroUI/HeroDeleteWin.cs
+++ b/Main/System/HeroUI/HeroDeleteWin.cs
@@ -261,9 +261,72 @@
             allItemDict[key] = Math.Max((long)(allItemDict[key] * HeroUIManager.Instance.deletePayBackPer / 100.0), 1);
         }
 
+        List<Item> items = new List<Item>();
+        foreach (var data in allItemDict)
+        {
+            items.Add(new Item(data.Key, data.Value, _dataEx:$"( {HeroUIManager.Instance.deletePayBackPer}% )"));
+        }
 
+        Dictionary<int, long> moreMMItemDict = new Dictionary<int, long>();
+        Dictionary<int, long> moreTitleItemDict = new Dictionary<int, long>();
+        int beautyEffectPer = BeautyMMManager.Instance.GetTalentEffectByType(TalentEffectType.HeroDelete);
+        int titleEffect = PhantasmPavilionManager.Instance.GetTotalTalentValue(PhantasmPavilionType.Title, 3);
+        //绾㈤鍜岀О鍙烽澶栬幏寰�
+        if (beautyEffectPer > 0)
+        {
+            for (int i = 0; i < HeroUIManager.Instance.selectDeleteHeroList.Count; i++)
+            {
+                HeroInfo hero = HeroManager.Instance.GetHero(HeroUIManager.Instance.selectDeleteHeroList[i]);
+                if (hero == null)
+                    continue;
 
-        List<Item> items = CommonFunc.ChangeToItemList(allItemDict);
+                foreach (var tmp in hero.qualityConfig.TitleReturnItems)
+                {
+                    if (!moreMMItemDict.ContainsKey(tmp[0]))
+                    {
+                        moreMMItemDict.Add(tmp[0], (long)Math.Ceiling(tmp[1] * beautyEffectPer / 100.0f));
+                    }
+                    else
+                    {
+                        moreMMItemDict[tmp[0]] += (long)Math.Ceiling(tmp[1] * beautyEffectPer / 100.0f);
+                    }
+                }
+
+            }
+
+            foreach (var key in moreMMItemDict.Keys)
+            {
+                items.Add(new Item(key, moreMMItemDict[key], 20, _dataEx: $"( {beautyEffectPer}% )"));
+            }
+        }
+        if (titleEffect > 0)
+        {
+            for (int i = 0; i < HeroUIManager.Instance.selectDeleteHeroList.Count; i++)
+            {
+                HeroInfo hero = HeroManager.Instance.GetHero(HeroUIManager.Instance.selectDeleteHeroList[i]);
+                if (hero == null)
+                    continue;
+
+                foreach (var tmp in hero.qualityConfig.TitleReturnItems)
+                {
+                    if (!moreTitleItemDict.ContainsKey(tmp[0]))
+                    {
+                        moreTitleItemDict.Add(tmp[0], (long)Math.Ceiling(tmp[1] * titleEffect / 100.0f));
+                    }
+                    else
+                    {
+                        moreTitleItemDict[tmp[0]] += (long)Math.Ceiling(tmp[1] * titleEffect / 100.0f);
+                    }
+                }
+
+            }
+
+            foreach (var key in moreTitleItemDict.Keys)
+            {
+                items.Add(new Item(key, moreTitleItemDict[key], 30, _dataEx: $"( {titleEffect}% )"));
+            }
+        }
+
         ConfirmCancel.ShowItemsConfirm(items, Language.Get("herocard25"), Language.Get("herocard26"), (bool isOk) =>
         {
             if (isOk)
@@ -280,7 +343,7 @@
                 GameNetSystem.Instance.SendInfo(pack);
                 HeroUIManager.Instance.selectDeleteHeroList.Clear();
             }
-        }, itemName:$"( {HeroUIManager.Instance.deletePayBackPer}% )");
+        });
 
     }
 

--
Gitblit v1.8.0