xdh
2019-06-05 2cae939cd14f55ce8b4ab2b7289bc93bd558f5f6
7117 【后端】装备分解每次获得的道具开出概率配置
1个文件已修改
31 ■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEquipDecompose.py 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEquipDecompose.py
@@ -97,25 +97,26 @@
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_EquipDecomposeCnt, updDecomposeCnt%perDecomposeCnt)
    jsonItemList = []
    giveCnt = 0
    if updDecomposeCnt >= perDecomposeCnt:
        awardList = IpyGameDataPY.GetFuncCfg('EquipDecomposeAward', 2)
        if not awardList:
            return len(drDelItemList), giveCnt
    if perDecomposeCnt and updDecomposeCnt >= perDecomposeCnt:
        awardRateList = IpyGameDataPY.GetFuncEvalCfg('EquipDecomposeAward', 2)
        giveCnt = updDecomposeCnt/perDecomposeCnt
        giveItemIDDict = {}
        for _ in xrange(giveCnt):
            itmeID = random.choice(awardList)
            itmeID = GameWorld.GetResultByRandomList(awardRateList)
            if not itmeID:
                continue
            giveItemIDDict[itmeID] = giveItemIDDict.get(itmeID, 0) + 1
        for giveItemID, itemCnt in giveItemIDDict.items():
            jsonItemList.append(ItemCommon.GetJsonItem([giveItemID,itemCnt,1]))
        needSpace = len(giveItemIDDict)
        packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace)
        if packSpace < needSpace:
            prizeItemList = [[giveItemID, itemCnt, 1] for giveItemID, itemCnt in giveItemIDDict.items()]
            PlayerControl.SendMailByKey("DefaultLackSpace", [curPlayer.GetPlayerID()], prizeItemList)
        else:
            for giveItemID, itemCnt in giveItemIDDict.items():
                ItemControler.GivePlayerItem(curPlayer, giveItemID, itemCnt, 0, [IPY_GameWorld.rptItem])
        if giveItemIDDict:
            for giveItemID, itemCnt in giveItemIDDict.items():
                jsonItemList.append(ItemCommon.GetJsonItem([giveItemID,itemCnt,1]))
            needSpace = len(giveItemIDDict)
            packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace)
            if packSpace < needSpace:
                prizeItemList = [[giveItemID, itemCnt, 1] for giveItemID, itemCnt in giveItemIDDict.items()]
                PlayerControl.SendMailByKey("DefaultLackSpace", [curPlayer.GetPlayerID()], prizeItemList)
            else:
                for giveItemID, itemCnt in giveItemIDDict.items():
                    ItemControler.GivePlayerItem(curPlayer, giveItemID, itemCnt, 0, [IPY_GameWorld.rptItem])
    
    #同步客户端
    Sync_EDLVInfo(curPlayer, jsonItemList)