8932 【BT2】【主干】【后端】物品转移背包类型后,支持上线刷新(神兽购买助战位动态获取出战石背包)
2个文件已修改
17 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py
@@ -1372,8 +1372,8 @@
    return consumeItemIndexList, bindCnt, unBindCnt
## 扣除消耗材料, 优先扣除绑定的物品, 配置函数使用 GetPackItemBindStateIndexInfo, DelCostItemByBind
def DelCostItemByBind(curPlayer, costItemIndexList, bindCnt, unBindCnt, delCnt, delEvent, saveDataDict={}):
    curPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptItem)
def DelCostItemByBind(curPlayer, costItemIndexList, bindCnt, unBindCnt, delCnt, delEvent, saveDataDict={}, packType=IPY_GameWorld.rptItem):
    curPack = curPlayer.GetItemManager().GetPack(packType)
    bindIndexList, unBindIndexList = costItemIndexList
    if bindCnt >= delCnt:
        ReduceItem(curPlayer, curPack, bindIndexList, delCnt, True, delEvent, saveDataDict)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerDogz.py
@@ -335,11 +335,16 @@
    needCountList = IpyGameDataPY.GetFuncEvalCfg("DogzAssist", 3)
    needCount = needCountList[-1] if helpbattleBuyCount >= len(needCountList) else needCountList[helpbattleBuyCount]
    
    costItemIndexList, bindCnt, unBindCnt = ItemCommon.GetPackItemBindStateIndexInfo(curPlayer, needItemID)
    if bindCnt + unBindCnt < needCount:
        GameWorld.DebugLog("购买神兽助战位所需道具不足 !needItemID=%s,needCount=%s" % (needItemID, needCount), playerID)
    itemData = GameWorld.GetGameData().GetItemByTypeID(needItemID)
    if not itemData:
        return
    ItemCommon.DelCostItemByBind(curPlayer, costItemIndexList, bindCnt, unBindCnt, needCount, "DogzBuyHelpFight")
    packType = ChConfig.GetItemPackType(itemData)
    costItemIndexList, bindCnt, unBindCnt = ItemCommon.GetPackItemBindStateIndexInfo(curPlayer, needItemID, packType=packType)
    if bindCnt + unBindCnt < needCount:
        GameWorld.DebugLog("购买神兽助战位所需道具不足 !needItemID=%s,needCount=%s,packType=%s" % (needItemID, needCount, packType), playerID)
        return
    ItemCommon.DelCostItemByBind(curPlayer, costItemIndexList, bindCnt, unBindCnt, needCount, "DogzBuyHelpFight", packType=packType)
    
    updBuyCount = helpbattleBuyCount + 1
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_DogzBuyHelpbattleCount, updBuyCount)