ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py
@@ -70,7 +70,7 @@
    treasureType = clientData.TreasureType
    treasureIndex = clientData.TreasureIndex
    costType = clientData.CostType
    isFreeType = 1 if costType == 1 else 0
    GameWorld.DebugLog("玩家寻宝: treasureType=%s,treasureIndex=%s,costType=%s,playerLV=%s" 
                       % (treasureType, treasureIndex, costType, playerLV), playerID)
    
@@ -89,8 +89,8 @@
        return
    
    packType = ShareDefine.rptTreasure
    if treasureType == 2:
        packType = ShareDefine.rptRune
    #if treasureType == 2:
    #    packType = ShareDefine.rptRune
        
    if not ItemCommon.CheckPackHasSpace(curPlayer, packType, True):
        GameWorld.DebugLog("对应寻宝背包没有空格子!packType=%s" % packType, playerID)
@@ -159,19 +159,18 @@
    
    commItemRateList = GetUpdLuckyItemRateList(ipyData, curLuck, luckFormula, costType) # 常规产出物品格子饼图,幸运物品概率已变更
    
    curTreasureCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreasureCount % (treasureType)) # 当前已寻宝次数
    curTreasureCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TreasureCount % (treasureType, isFreeType)) # 当前已寻宝次数
    updTreasureCount = curTreasureCount + treasureCount
    beSureCountDict = ipyData.GetGridItemRateList3() # 第x次必出产出格子编号饼图
    beSureCountDict = ipyData.GetFreeGridItemRateList3() if isFreeType else ipyData.GetGridItemRateList3() # 第x次必出产出格子编号饼图
    GameWorld.DebugLog("已经寻宝次数=%s,当前幸运=%s,commItemRateList=%s" % (curTreasureCount, curLuck, commItemRateList), playerID)
    addScore = IpyGameDataPY.GetFuncEvalCfg(TreasureSet1, 5)[treasureIndex] # 增加积分
    ensureCount = IpyGameDataPY.GetFuncCfg("TreasureSet", 1) # 每多少次触发保底产出库
    addScore = 0 if isFreeType else IpyGameDataPY.GetFuncEvalCfg(TreasureSet1, 5)[treasureIndex] # 增加积分
    ensureCount = IpyGameDataPY.GetFuncEvalCfg("TreasureSet", 1, {})[isFreeType] # 每多少次触发保底产出库
    ensureRateList = ipyData.GetFreeGridItemRateList2() if isFreeType else ipyData.GetGridItemRateList2()
    goodGridNumList = [ipyData.GetLuckyGridNum()] # 好物品格子编号 (幸运物品 + 必出 + 保底)
    for gridRateList in ipyData.GetGridItemRateList3().values():
    for gridRateList in beSureCountDict.values():
        for gridRateInfo in gridRateList:
            goodGridNumList.append(gridRateInfo[1])
    for gridRateInfo in ipyData.GetGridItemRateList2():
    for gridRateInfo in ensureRateList:
        goodGridNumList.append(gridRateInfo[1])
    GameWorld.DebugLog("goodGridNumList=%s" % goodGridNumList, playerID)
        
@@ -192,7 +191,7 @@
                gridNum = GameWorld.GetResultByRandomList(gridNumRateList)
                GameWorld.DebugLog("到达次数必出,updTreasureCount=%s,gridNumRateList=%s,gridNum=%s" % (updTreasureCount, gridNumRateList, gridNum), playerID)
            elif updTreasureCount % ensureCount == 0:
                gridNumRateList = ipyData.GetGridItemRateList2()
                gridNumRateList = ensureRateList
                gridNum = GameWorld.GetResultByRandomList(gridNumRateList)
                GameWorld.DebugLog("满次数保底出,updTreasureCount=%s,gridNumRateList=%s,gridNum=%s" % (updTreasureCount, gridNumRateList, gridNum), playerID)
            else:
@@ -216,11 +215,11 @@
        # 3. 次数保底
        ensureGridNumList = []
        if updTreasureCount / ensureCount > curTreasureCount / ensureCount:
            for gridInfo in ipyData.GetGridItemRateList2():
            for gridInfo in ensureRateList:
                ensureGridNumList.append(gridInfo[1])
            gridNum = GameWorld.GetResultByRandomList(ipyData.GetGridItemRateList2())
            gridNum = GameWorld.GetResultByRandomList(ensureRateList)
            getGridResult.append(gridNum)
            GameWorld.DebugLog("满次数保底出,updTreasureCount=%s,gridNumRateList=%s,gridNum=%s" % (updTreasureCount, ipyData.GetGridItemRateList2(), gridNum), playerID)
            GameWorld.DebugLog("满次数保底出,updTreasureCount=%s,gridNumRateList=%s,gridNum=%s" % (updTreasureCount, ensureRateList, gridNum), playerID)
            
        # 4. 常规产出
        doCount = 200
@@ -319,7 +318,7 @@
        GameWorld.DebugLog("扣除仙玉,costGold=%s" % costGold, playerID)
        
    # 加数据
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreasureCount % (treasureType), updTreasureCount)
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreasureCount % (treasureType, isFreeType), updTreasureCount)
    if ipyData.GetLuckyGridNum() in getGridResult:
        updLuck = 0
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreasureLuck % (treasureType), updLuck)