ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Dingjunge.py
@@ -210,18 +210,17 @@
                       % (highestLineID, passLayerMax, quickStartLayer, todayLineID), playerID)
    
    # 快速过关奖励按历史最大过关层级领取
    awardItemDict = {}
    awardIpyData = None
    ipyDataMgr = IpyGameDataPY.IPY_Data()
    for index in range(ipyDataMgr.GetFBDJGQuickCount()):
        quickIpyData = ipyDataMgr.GetFBDJGQuickByIndex(index)
        needLayer = quickIpyData.GetNeedLayer()
        if needLayer > passLayerMax:
            break
        quickItemList = quickIpyData.GetQuickAwardList()
        for itemInfo in quickItemList:
            itemID, itemCount = itemInfo[:2]
            awardItemDict[itemID] = awardItemDict.get(itemID, 0) + itemCount
    awardItemList = [[itemID, itemCount] for itemID, itemCount in awardItemDict.items()]
        awardIpyData = quickIpyData
    if not awardIpyData:
        return
    awardItemList = awardIpyData.GetQuickAwardList()
    
    # 设置起始层关卡
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DJGLineID, todayLineID)
@@ -319,7 +318,7 @@
    GameWorld.DebugLog("执行一键选择加成效果: unSelectCnt=%s,effHoleCnt=%s,selectSetAttrIDList=%s" % (unSelectCnt, effHoleCnt, selectSetAttrIDList))
    
    randEffCnt = IpyGameDataPY.GetFuncCfg("DingjungeEff", 3)
    for _ in range(unSelectCnt):
    for _ in range(unSelectCnt + 1): # 多执行一次+1是因为可能存在未选择的视为1次,内层有验证剩余未选择数,所以多执行一次没关系
        effIDList = __randSelectEff(curPlayer, randEffCnt)
        if not effIDList:
            break
@@ -345,17 +344,16 @@
def __randSelectEff(curPlayer, randEffCnt=0, isReset=False):
    ## 随机生成待选择加成效果
    unSelectCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DJGUnSelectCnt)
    if unSelectCnt <= 0:
        GameWorld.DebugLog("没有未处理的加成效果次数了")
        return
    if not randEffCnt:
        randEffCnt = IpyGameDataPY.GetFuncCfg("DingjungeEff", 3)
    effIDList = []
    if isReset:
        # 重置
        for sIndex in range(randEffCnt):
            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DJGSelectEffect % sIndex, 0)
    effIDList = []
    if isReset:
        pass
    else:
        for sIndex in range(randEffCnt):
            effID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DJGSelectEffect % sIndex)
@@ -366,6 +364,11 @@
        #GameWorld.DebugLog("已存在未选择的加成效果等选择后再生成: effIDList=%s,unSelectCnt=%s" % (effIDList, unSelectCnt))
        return effIDList
    
    unSelectCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DJGUnSelectCnt)
    if unSelectCnt <= 0:
        GameWorld.DebugLog("没有未处理的加成效果次数了")
        return []
    fullLVEffIDList = [] # 已满级的效果ID列表
    effMaxLV = IpyGameDataPY.GetFuncCfg("DingjungeEff", 2)
    for eIndex in range(len(IpyGameDataPY.GetFuncEvalCfg("DingjungeEff", 1))):