6105 【后端】【1.5.200】诛仙宝石开发(升级修改)
| | |
| | | level = curStoneEff.GetEffectValue(1)
|
| | | upgradeStoneID = curStoneEff.GetEffectValue(2)
|
| | |
|
| | | stoneTypeItemIDDict = IpyGameDataPY.GetFuncEvalCfg("GemUpCostFormula", 1)
|
| | | GameWorld.DebugLog("stoneEffType=%s,stoneTypeItemIDDict=%s,level=%s,upgradeStoneID=%s" |
| | | % (stoneEffType, stoneTypeItemIDDict, level, upgradeStoneID))
|
| | | if stoneEffType not in stoneTypeItemIDDict:
|
| | | return
|
| | | stoneTypeItemID = stoneTypeItemIDDict[stoneEffType]
|
| | | GameWorld.DebugLog("stoneEffType=%s,level=%s,upgradeStoneID=%s" % (stoneEffType, level, upgradeStoneID))
|
| | |
|
| | | if not upgradeStoneID:
|
| | | GameWorld.Log("该宝石已是最大级,不能升级!stoneIndex=%s,stoneItemID=%s,curEffID=%s,upgradeStoneID=%s"
|
| | |
| | | if not needCount:
|
| | | return
|
| | | if upWay == 0: #仙玉
|
| | | stoneTypeItemIDDict = IpyGameDataPY.GetFuncEvalCfg("GemUpCostFormula", 1)
|
| | | if stoneEffType not in stoneTypeItemIDDict:
|
| | | return
|
| | | stoneTypeItemID = stoneTypeItemIDDict[stoneEffType]
|
| | | unitPrice = ItemCommon.GetShopItemPrice(stoneTypeItemID, IPY_GameWorld.TYPE_Price_Gold_Money)
|
| | | if not unitPrice:
|
| | | return
|
| | |
| | | return
|
| | | else:
|
| | | #同级宝石
|
| | | costItemIndexList, bindCnt, unBindCnt = ItemCommon.GetPackItemBindStateIndexInfo(curPlayer, stoneItemID)
|
| | | costItemIndexList, bindCnt, unBindCnt = ItemCommon.GetPackItemBindStateIndexInfo(curPlayer, stoneItemID, packType=stonePackType)
|
| | | if bindCnt + unBindCnt < needCount-1:
|
| | | GameWorld.DebugLog("同级宝石不足 %s!" % (needCount-1))
|
| | | return
|
| | |
| | | return hasEnough, itemIndexList, findItemIsBind, needCnt
|
| | |
|
| | |
|
| | | def GetPackItemBindStateIndexInfo(curPlayer, itemID, needCount=0):
|
| | | def GetPackItemBindStateIndexInfo(curPlayer, itemID, needCount=0, packType=IPY_GameWorld.rptItem):
|
| | | ''' 获取背包消耗道具绑定及未绑定索引情况
|
| | | @param needCount: 所需个数, 默认绑定优先,当找到已经足够的个数后不再遍历,减少无用遍历
|
| | | @return: 可消耗物品列表[[绑定物品索引], [不绑定物品索引]], 绑定个数, 未绑定个数
|
| | |
| | | consumeItemIndexList = [[], []] # 可消耗物品列表[[绑定物品索引], [不绑定物品索引]]
|
| | | bindCnt, unBindCnt = 0, 0
|
| | |
|
| | | curPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptItem)
|
| | | curPack = curPlayer.GetItemManager().GetPack(packType)
|
| | | for i in range(0, curPack.GetCount()):
|
| | | curItem = curPack.GetAt(i)
|
| | | if not curItem:
|