From d68982556a49c3e4086a1d360d512cc4900b7398 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期五, 24 四月 2026 14:46:41 +0800
Subject: [PATCH] 492 武将返场和武将登场 修复招募概率界面显示bug
---
Main/System/HeroReturn/HeroReturnCallRateItem.cs | 34 +++++++++++++++++++++++++++++++++-
1 files changed, 33 insertions(+), 1 deletions(-)
diff --git a/Main/System/HeroReturn/HeroReturnCallRateItem.cs b/Main/System/HeroReturn/HeroReturnCallRateItem.cs
index c03223b..9ea4ee9 100644
--- a/Main/System/HeroReturn/HeroReturnCallRateItem.cs
+++ b/Main/System/HeroReturn/HeroReturnCallRateItem.cs
@@ -45,7 +45,7 @@
if (list == null) return;
if (xbGridArr == null) return;
- if (xbGridArr.Contains(grid))
+ if (AreAllLibItemsRelatedToHeroes(list))
{
int heroID = manager.GetCurrentDisplayCallHeroId();
if (!TryGetHeroItemInfo(heroID, libID, list, out int itemID, out int itemCount)) return;
@@ -84,6 +84,38 @@
return res;
}
+ /// <summary>
+ /// 妫�鏌ュ簱涓墍鏈夌墿鍝佹槸鍚﹂兘涓嶢ctHeroReturnArtConfig涓殑姝﹀皢鐩稿叧
+ /// </summary>
+ private bool AreAllLibItemsRelatedToHeroes(List<int> itemList)
+ {
+ if (itemList == null || itemList.Count == 0) return false;
+
+ List<int> heroIdList = ActHeroReturnArtConfig.GetKeys();
+ if (heroIdList == null || heroIdList.Count == 0) return false;
+
+ for (int i = 0; i < itemList.Count; i++)
+ {
+ int itemID = itemList[i];
+ var config = ItemConfig.Get(itemID);
+ if (config == null) return false;
+
+ if (config.Type == 150)
+ {
+ if (!heroIdList.Contains(itemID)) return false;
+ }
+ else if (config.Type == 151)
+ {
+ if (!heroIdList.Contains(config.EffectValueA1)) return false;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ return true;
+ }
+
public bool TryGetHeroItemInfo(int heroID, int libID, List<int> itemList, out int itemID, out int itemCount)
{
itemID = 0;
--
Gitblit v1.8.0