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