ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_Dingjunge.py
@@ -25,7 +25,10 @@
import IpyGameDataPY
import NetPackCommon
import PlayerOnline
import PlayerHJG
import ChConfig
import math
# 自动选择排序优先级索引
(
@@ -220,7 +223,7 @@
        awardIpyData = quickIpyData
    if not awardIpyData:
        return
    awardItemList = awardIpyData.GetQuickAwardList()
    quickAwardList = awardIpyData.GetQuickAwardList()
    
    # 设置起始层关卡
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DJGLineID, todayLineID)
@@ -229,6 +232,14 @@
    GivePassLayerEff(curPlayer, addEffCnt)
    SyncDingjungeInfo(curPlayer)
    
    awardItemList = []
    isBind = ItemControler.GetIsBindValue(srcSign=ChConfig.ItemSrcSign_TitleEff)
    djgPer = PlayerHJG.GetTitleEffInfo(curPlayer, PlayerHJG.TitleEff_DingjungeQuickPer)[0]
    for itemID, itemCount in quickAwardList:
        awardItemList.append([itemID, itemCount])
        if djgPer:
            itemCountEx = int(math.ceil(itemCount * djgPer / 100.0))
            awardItemList.append([itemID, itemCountEx, isBind])
    ItemControler.GivePlayerItemOrMail(curPlayer, awardItemList, event=["Dingjunge", False, {}])
    return
@@ -318,7 +329,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
@@ -351,10 +362,6 @@
        for sIndex in range(randEffCnt):
            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DJGSelectEffect % sIndex, 0)
            
    unSelectCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_DJGUnSelectCnt)
    if unSelectCnt <= 0:
        GameWorld.DebugLog("没有未处理的加成效果次数了")
        return
    effIDList = []
    if isReset:
        pass
@@ -368,6 +375,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))):