ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTreasure.py
@@ -27,6 +27,7 @@
import ItemControler
import NetPackCommon
import PlayerBossReborn
import PlayerFeastTravel
import PlayerFairyCeremony
import PlayerNewFairyCeremony
import ItemCommon
@@ -138,13 +139,14 @@
        
    # 仙玉寻宝
    else:
        costGoldList = IpyGameDataPY.GetFuncEvalCfg(TreasureSet1, 2) # 消耗仙玉列表
        costGoldList = IpyGameDataPY.GetFuncEvalCfg(TreasureSet1, 2) # 消耗货币列表
        costGoldType = IpyGameDataPY.GetFuncCfg(TreasureSet2, 4) # 消耗货币类型
        costGold = costGoldList[treasureIndex]
        if not costGold:
            GameWorld.ErrLog("该寻宝类型索引不支持消耗仙玉寻宝!treasureType=%s,treasureIndex=%s" % (treasureType, treasureIndex), playerID)
            return
        
        if not PlayerControl.HaveMoney(curPlayer, IPY_GameWorld.TYPE_Price_Gold_Paper, costGold):
        if not PlayerControl.HaveMoney(curPlayer, costGoldType, costGold):
            return
        
    ipyData = IpyGameDataPY.InterpolationSearch("TreasureHouse", "MinLV", playerLV, {"TreasureType":treasureType})
@@ -173,6 +175,8 @@
            goodGridNumList.append(gridRateInfo[1])
    for gridRateInfo in ensureRateList:
        goodGridNumList.append(gridRateInfo[1])
    notifyGridNumList = IpyGameDataPY.GetFuncEvalCfg(TreasureSet2, 5) # 额外需要广播的格子,幸运必出、次数必出可不配置
    goodGridNumList += notifyGridNumList
    GameWorld.DebugLog("goodGridNumList=%s" % goodGridNumList, playerID)
        
    # 单抽产出优先级: 幸运物品 > 必出 > 保底 > 普通
@@ -191,7 +195,7 @@
                gridNumRateList = beSureCountDict[updTreasureCount]
                gridNum = GameWorld.GetResultByRandomList(gridNumRateList)
                GameWorld.DebugLog("到达次数必出,updTreasureCount=%s,gridNumRateList=%s,gridNum=%s" % (updTreasureCount, gridNumRateList, gridNum), playerID)
            elif updTreasureCount % ensureCount == 0:
            elif updTreasureCount % ensureCount == 0 and ensureRateList:
                gridNumRateList = ensureRateList
                gridNum = GameWorld.GetResultByRandomList(gridNumRateList)
                GameWorld.DebugLog("满次数保底出,updTreasureCount=%s,gridNumRateList=%s,gridNum=%s" % (updTreasureCount, gridNumRateList, gridNum), playerID)
@@ -215,7 +219,7 @@
                
        # 3. 次数保底
        ensureGridNumList = []
        if updTreasureCount / ensureCount > curTreasureCount / ensureCount:
        if updTreasureCount / ensureCount > curTreasureCount / ensureCount and ensureRateList:
            for gridInfo in ensureRateList:
                ensureGridNumList.append(gridInfo[1])
            gridNum = GameWorld.GetResultByRandomList(ensureRateList)
@@ -315,8 +319,8 @@
            PlayerControl.PayMoney(curPlayer, moneyType, lackCountCostMoney, ChConfig.Def_Cost_Treasure, infoDict, lackCount)
    else:
        infoDict = {"TreasureType":treasureType, "TreasureIndex":treasureIndex}
        PlayerControl.PayMoney(curPlayer, IPY_GameWorld.TYPE_Price_Gold_Paper, costGold, ChConfig.Def_Cost_Treasure, infoDict)
        GameWorld.DebugLog("扣除仙玉,costGold=%s" % costGold, playerID)
        PlayerControl.PayMoney(curPlayer, costGoldType, costGold, ChConfig.Def_Cost_Treasure, infoDict)
        GameWorld.DebugLog("扣除货币,costGoldType=%s,costGold=%s" % (costGoldType, costGold), playerID)
        
    # 加数据
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TreasureCount % (treasureType, isFreeType), updTreasureCount)
@@ -327,12 +331,17 @@
    
    if treasureType == 2:
        PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_RuneTreasure, treasureCount)
        PlayerNewFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_RuneTreasure, treasureCount)
        PlayerFeastTravel.AddFeastTravelTaskValue(curPlayer, ChConfig.Def_FeastTravel_RuneTreasure, treasureCount)
        PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_RuneTreasure, treasureCount)
    else:
    elif treasureType == 1:
        PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_Treasure, treasureCount)
        PlayerNewFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_Treasure, treasureCount)
        PlayerFeastTravel.AddFeastTravelTaskValue(curPlayer, ChConfig.Def_FeastTravel_Treasure, treasureCount)
        PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_Treasure, treasureCount)
    elif treasureType == 3:
        PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_JSTreasure, treasureCount)
        PlayerFeastTravel.AddFeastTravelTaskValue(curPlayer, ChConfig.Def_FeastTravel_JSTreasure, treasureCount)
        PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_JSTreasure, treasureCount)
    # 给物品
    mailItemList = []
    itemControl = ItemControler.PlayerItemControler(curPlayer)