| | |
| | | continue
|
| | | if color in colorMaxDropCntDict:
|
| | | colorDropCntDict[color] = dropCount + 1
|
| | | randItemID = random.choice(randEquipIDList)
|
| | | if isSuit and len(jobList) > 1:
|
| | | randItemID = __GetRandDropSuitEquipID(dropPlayer, randEquipIDList)
|
| | | else:
|
| | | randItemID = random.choice(randEquipIDList)
|
| | | dropIDList.append(randItemID)
|
| | | GameWorld.DebugLog("掉落装备: npcID=%s,itemID=%s,classLV=%s,color=%s,isSuit=%s,placeKey=%s,jobList=%s,randEquipIDList=%s"
|
| | | % (npcID, randItemID, classLV, color, isSuit, placeKey, jobList, randEquipIDList), playerID)
|
| | |
| | | GameWorld.ErrLog("Boss没有掉落物品,NPCID=%s" % (npcID), dropPlayer.GetPlayerID())
|
| | | return dropIDList, auctionIDList, dropMoneyCnt, moneyValue
|
| | |
|
| | | def __GetRandDropSuitEquipID(curPlayer, randEquipIDList):
|
| | | ## 获取随机掉落的套装ID,为了玩家掉落体验, 当非本职业套装时可至多重新随机X次
|
| | | randItemID = 0
|
| | | suitRandCountEx = IpyGameDataPY.GetFuncCfg("EquipSuitDrop", 1) + 1
|
| | | for _ in xrange(suitRandCountEx):
|
| | | randItemID = random.choice(randEquipIDList)
|
| | | itemData = GameWorld.GetGameData().GetItemByTypeID(randItemID)
|
| | | if not itemData:
|
| | | continue
|
| | | if ItemCommon.CheckJob(curPlayer, itemData):
|
| | | break
|
| | | return randItemID
|
| | |
|
| | | def GetAllEquipPlaceByPlaceKey(placeKey):
|
| | | placeKeyRateListDict = IpyGameDataPY.GetFuncEvalCfg("EquipDropPartSets", 2, {}) # {集合数字key1:[[概率1,部位1],...],...}
|
| | | if placeKey in placeKeyRateListDict:
|