From 76ed82bd9edd7395dd292b14538cbbf4aa744fa5 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 16 三月 2026 20:43:38 +0800
Subject: [PATCH] Merge branch 'master' of http://mobile.secondworld.net.cn:10010/r/Project_SG_scripts

---
 Main/System/HeroDebut/HeroDebutCallButton.cs |   18 ++++++---
 Main/Config/Configs/HeroConfig.cs            |   72 ++++++++++++++++++------------------
 2 files changed, 48 insertions(+), 42 deletions(-)

diff --git a/Main/Config/Configs/HeroConfig.cs b/Main/Config/Configs/HeroConfig.cs
index 4b6c0bd..4c4ed0c 100644
--- a/Main/Config/Configs/HeroConfig.cs
+++ b/Main/Config/Configs/HeroConfig.cs
@@ -1,6 +1,6 @@
 锘�//--------------------------------------------------------
 //    [Author]:           YYL
-//    [  Date ]:           Friday, March 6, 2026
+//    [  Date ]:           2026骞�3鏈�16鏃�
 //--------------------------------------------------------
 
 using System.Collections.Generic;
@@ -19,8 +19,6 @@
     public int HeroID;
 	public string Name;
 	public int PlayerCanUse;
-	public int OpenCollectionDay;
-	public int IsActLimit;
 	public int Country;
 	public int Quality;
 	public int Class;
@@ -42,6 +40,8 @@
 	public int HurtType;
 	public int[] Specialty2;
 	public int[] TalentList;
+	public int OpenCollectionDay;
+	public int IsActLimit;
 
     public override int LoadKey(string _key)
     {
@@ -59,25 +59,21 @@
 
 			int.TryParse(tables[2],out PlayerCanUse); 
 
-			int.TryParse(tables[3],out OpenCollectionDay); 
+			int.TryParse(tables[3],out Country); 
 
-			int.TryParse(tables[4],out IsActLimit); 
+			int.TryParse(tables[4],out Quality); 
 
-			int.TryParse(tables[5],out Country); 
+			int.TryParse(tables[5],out Class); 
 
-			int.TryParse(tables[6],out Quality); 
+			int.TryParse(tables[6],out Position); 
 
-			int.TryParse(tables[7],out Class); 
-
-			int.TryParse(tables[8],out Position); 
-
-			if (tables[9].Contains("["))
+			if (tables[7].Contains("["))
 			{
-				SkinIDList = JsonMapper.ToObject<int[]>(tables[9]);
+				SkinIDList = JsonMapper.ToObject<int[]>(tables[7]);
 			}
 			else
 			{
-				string[] SkinIDListStringArray = tables[9].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
+				string[] SkinIDListStringArray = tables[7].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
 				SkinIDList = new int[SkinIDListStringArray.Length];
 				for (int i=0;i<SkinIDListStringArray.Length;i++)
 				{
@@ -85,29 +81,29 @@
 				}
 			}
 
-			int.TryParse(tables[10],out AtkSkillID); 
+			int.TryParse(tables[8],out AtkSkillID); 
 
-			int.TryParse(tables[11],out AngerSkillID); 
+			int.TryParse(tables[9],out AngerSkillID); 
 
-			int.TryParse(tables[12],out DeathSFX); 
+			int.TryParse(tables[10],out DeathSFX); 
 
-			int.TryParse(tables[13],out HitSFX); 
+			int.TryParse(tables[11],out HitSFX); 
 
-			int.TryParse(tables[14],out AtkInheritPer); 
+			int.TryParse(tables[12],out AtkInheritPer); 
 
-			int.TryParse(tables[15],out DefInheritPer); 
+			int.TryParse(tables[13],out DefInheritPer); 
 
-			int.TryParse(tables[16],out HPInheritPer); 
+			int.TryParse(tables[14],out HPInheritPer); 
 
-			BatAttrDict = ConfigParse.ParseIntDict(tables[17]); 
+			BatAttrDict = ConfigParse.ParseIntDict(tables[15]); 
 
-			if (tables[18].Contains("["))
+			if (tables[16].Contains("["))
 			{
-				FetterIDList = JsonMapper.ToObject<int[]>(tables[18]);
+				FetterIDList = JsonMapper.ToObject<int[]>(tables[16]);
 			}
 			else
 			{
-				string[] FetterIDListStringArray = tables[18].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
+				string[] FetterIDListStringArray = tables[16].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
 				FetterIDList = new int[FetterIDListStringArray.Length];
 				for (int i=0;i<FetterIDListStringArray.Length;i++)
 				{
@@ -115,23 +111,23 @@
 				}
 			}
 
-			float.TryParse(tables[19],out UIScale); 
+			float.TryParse(tables[17],out UIScale); 
 
-			Desc = tables[20];
+			Desc = tables[18];
 
-			int.TryParse(tables[21],out RecruitBySelf); 
+			int.TryParse(tables[19],out RecruitBySelf); 
 
-			int.TryParse(tables[22],out Specialty); 
+			int.TryParse(tables[20],out Specialty); 
 
-			int.TryParse(tables[23],out HurtType); 
+			int.TryParse(tables[21],out HurtType); 
 
-			if (tables[24].Contains("["))
+			if (tables[22].Contains("["))
 			{
-				Specialty2 = JsonMapper.ToObject<int[]>(tables[24]);
+				Specialty2 = JsonMapper.ToObject<int[]>(tables[22]);
 			}
 			else
 			{
-				string[] Specialty2StringArray = tables[24].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
+				string[] Specialty2StringArray = tables[22].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
 				Specialty2 = new int[Specialty2StringArray.Length];
 				for (int i=0;i<Specialty2StringArray.Length;i++)
 				{
@@ -139,19 +135,23 @@
 				}
 			}
 
-			if (tables[25].Contains("["))
+			if (tables[23].Contains("["))
 			{
-				TalentList = JsonMapper.ToObject<int[]>(tables[25]);
+				TalentList = JsonMapper.ToObject<int[]>(tables[23]);
 			}
 			else
 			{
-				string[] TalentListStringArray = tables[25].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
+				string[] TalentListStringArray = tables[23].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
 				TalentList = new int[TalentListStringArray.Length];
 				for (int i=0;i<TalentListStringArray.Length;i++)
 				{
 					 int.TryParse(TalentListStringArray[i],out TalentList[i]);
 				}
 			}
+
+			int.TryParse(tables[24],out OpenCollectionDay); 
+
+			int.TryParse(tables[25],out IsActLimit); 
         }
         catch (Exception exception)
         {
diff --git a/Main/System/HeroDebut/HeroDebutCallButton.cs b/Main/System/HeroDebut/HeroDebutCallButton.cs
index 7e635da..36c203b 100644
--- a/Main/System/HeroDebut/HeroDebutCallButton.cs
+++ b/Main/System/HeroDebut/HeroDebutCallButton.cs
@@ -40,24 +40,30 @@
         needCostItemCnt = treasureSetConfig.CostItemCountList[index];
         hasItemCnt = PackManager.Instance.GetItemCountByID(PackType.Item, treasureSetConfig.CostItemID);
 
-        // 鐗╁搧涓嶈冻 && 娌¤秴璐у竵鎷涘嫙娆℃暟涓婇檺 &&  璐у竵瓒冲
+        // 鐗╁搧涓嶈冻 && 娌¤秴璐у竵鎷涘嫙娆℃暟涓婇檺 
         if (hasItemCnt < needCostItemCnt &&
-            nowMoneyCnt + treasureCnt <= dailyMaxCountMoney &&
-            moneyCount >= needCostMoneyCnt)
+            nowMoneyCnt + treasureCnt <= dailyMaxCountMoney)
         {
-            DisplayByMoney(treasureSetConfig.CostMoneyType, needCostMoneyCnt);
+            DisplayByMoney(treasureSetConfig.CostMoneyType, needCostMoneyCnt, moneyCount);
             return;
         }
         DisplayByItem(treasureSetConfig.CostItemID, treasureCnt);
     }
 
-    void DisplayByMoney(int moneyType, long moneyCnt)
+    void DisplayByMoney(int moneyType, long needCostMoneyCnt, long moneyCount)
     {
-        needText.text = Language.Get("L1100", RichTextMsgReplaceConfig.GetRichReplace("MONEY", moneyType), UIHelper.AppendColor(moneyCount < moneyCnt ? TextColType.Red : TextColType.LightGreen, moneyCnt.ToString()));
+
+        bool isEnough = moneyCount >= needCostMoneyCnt;
+        needText.text = Language.Get("L1100", RichTextMsgReplaceConfig.GetRichReplace("MONEY", moneyType), UIHelper.AppendColor(!isEnough ? TextColType.Red : TextColType.LightGreen, needCostMoneyCnt.ToString()));
         needImage.SetIconWithMoneyType(moneyType);
 
         clickButton.SetListener(() =>
         {
+            if (!isEnough)
+            {
+                ItemTipUtility.ShowMoneyTip(moneyType, true);
+                return;
+            }
             HeroUIManager.Instance.selectCallType = (HappXBTitle)type;
             HeroUIManager.Instance.selectCallIndex = index;
             HappyXBModel.Instance.SendXBQuest(type, index, 0);

--
Gitblit v1.8.0