From f397f8712fb5297a8dc44f02e4470cbbc93e755f Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 16 十二月 2025 12:13:16 +0800
Subject: [PATCH] 121 【武将】武将系统-服务端(武将招募未激活永久卡时不增加幸运;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py |   24 +++++++++---------------
 1 files changed, 9 insertions(+), 15 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py
index 05afc6a..0a70f09 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py
@@ -351,7 +351,10 @@
     maxLuck = max(luckyValueList) if luckyValueList else 0 # 满幸运值
     updLuck = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreasureLuck % (treasureType)) # 当前幸运值
     GameWorld.DebugLog("updLuck=%s,maxLuck=%s,setLuckyGridNum=%s,luckyItemRateDict=%s" % (updLuck, maxLuck, setLuckyGridNum, luckyItemRateDict), playerID)
-    
+    if treasureType in TreasureType_HeroCallList and not PlayerGoldInvest.GetInvestState(curPlayer, ChConfig.InvestType_Life):
+        addLuck = 0
+        GameWorld.DebugLog("终身卡未开通,武将招募不增加幸运", playerID)
+        
     curTreasureCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreasureCount % (treasureType)) # 当前已寻宝次数
     updTreasureCount = curTreasureCount
     
@@ -418,7 +421,6 @@
             
     # 单抽产出优先级: 幸运物品 > 必出 > 保底 > 普通
     # 连抽没有优先级限制,只要满足条件即可产出
-    luckyOut = False # 幸运物品理论产出状态,不一定是真实产出,可能受终身卡限制
     getGridResult = []
     for tIndex in range(treasureCount):
         updLuck = min(updLuck + addLuck, maxLuck)
@@ -448,13 +450,9 @@
             
         # 满幸运必出
         if not curRateList and stageLuck and updLuck >= stageLuck and luckItemRateList:
-            luckyOut = True
-            if treasureType in TreasureType_HeroCallList and not PlayerGoldInvest.GetInvestState(curPlayer, ChConfig.InvestType_Life):
-                GameWorld.DebugLog("    【满幸运必出饼图】: 终身卡未开通,武将招募幸运不产出", playerID)
-            else:
-                curRateList = GetRemoveLimitGridRateList(luckItemRateList, gridNumCountInfo, gridNumMaxLimitInfo)
-                GameWorld.DebugLog("    【满幸运必出饼图】: %s" % curRateList, playerID)
-                
+            curRateList = GetRemoveLimitGridRateList(luckItemRateList, gridNumCountInfo, gridNumMaxLimitInfo)
+            GameWorld.DebugLog("    【满幸运必出饼图】: %s" % curRateList, playerID)
+            
         # 次数必出
         if not curRateList and updTreasureCount in beSureCountDict:
             besureGridRateList = beSureCountDict[updTreasureCount]
@@ -493,16 +491,12 @@
             
             getGridResult.append(gridNum)
             GameWorld.DebugLog("    本次产出: gridNum=%s, %s, doCount=%s" % (gridNum, getGridResult, doCount), playerID)
-            if gridNum in luckyGridNumList or luckyOut:
-                luckyOut = False
+            if gridNum in luckyGridNumList and addLuck:
                 if gridNum == setLuckyGridNum or updLuck >= maxLuck:
                     updLuck = 0
                 else:
                     updLuck = stageLuck # 直接切换到下一阶段幸运
-                if gridNum in luckyGridNumList:
-                    GameWorld.DebugLog("    【产出幸运格子】: gridNum=%s,updLuck=%s" % (gridNum, updLuck), playerID)
-                else:
-                    GameWorld.DebugLog("    【理论产出幸运格子,实际没有产出】: gridNum=%s,updLuck=%s,luckyGridNumList=%s" % (gridNum, updLuck, luckyGridNumList), playerID)
+                GameWorld.DebugLog("    【产出幸运格子】: gridNum=%s,updLuck=%s" % (gridNum, updLuck), playerID)
             if wishLibID:
                 GameWorld.DebugLog("    【产出的是心愿库物品】: gridNum=%s,wishLibID=%s" % (gridNum, wishLibID), playerID)
                 

--
Gitblit v1.8.0