Fix: 2848 【后端】部位掉落保护规则优化;
| | |
| | | tagPlaceSortList.sort() # 升序排序
|
| | | tagPlaceSortList2.sort() # 升序排序
|
| | | if isKillCountDropEquipEx:
|
| | | GameWorld.DebugLog("都不满足目标装备的优先级信息: npcID=%s, 颜色,阶,星,评分,部位,职业=%s" % (npcID, tagPlaceSortList), playerID)
|
| | | GameWorld.DebugLog("部分满足目标装备的优先级信息: npcID=%s, 颜色,阶,星,评分,部位,职业=%s" % (npcID, tagPlaceSortList2), playerID)
|
| | | tagPlaceSortList += tagPlaceSortList2
|
| | | if tagPlaceSortList:
|
| | | tagPlace = tagPlaceSortList[0][-2]
|
| | | tagJob = tagPlaceSortList[0][-1]
|
| | | |
| | | GameWorld.DebugLog("都不满足目标装备的优先级信息: npcID=%s, 数量=%s, 颜色,阶,星,评分,部位,职业=%s" % (npcID, len(tagPlaceSortList), tagPlaceSortList), playerID)
|
| | | GameWorld.DebugLog("部分满足目标装备的优先级信息: npcID=%s, 数量=%s, 颜色,阶,星,评分,部位,职业=%s" % (npcID, len(tagPlaceSortList2), tagPlaceSortList2), playerID)
|
| | | if tagPlaceSortList or tagPlaceSortList2:
|
| | | isOptimalPlace = IpyGameDataPY.GetFuncCfg("DropEquipPlaceMode", 1) # 是否取最优解部位
|
| | | if isOptimalPlace:
|
| | | tagPlaceSortList += tagPlaceSortList2
|
| | | if tagPlaceSortList:
|
| | | tagPlace = tagPlaceSortList[0][-2]
|
| | | tagJob = tagPlaceSortList[0][-1]
|
| | | GameWorld.DebugLog("掉落目标部位取最优解: tagPlace=%s,tagJob=%s" % (tagPlace, tagJob), playerID)
|
| | | else:
|
| | | randPlaceCountLimit = IpyGameDataPY.GetFuncCfg("DropEquipPlaceMode", 2) # 全不满足目标条件部位有几个时才优先随机
|
| | | if len(tagPlaceSortList) < randPlaceCountLimit:
|
| | | tagPlaceSortList += tagPlaceSortList2
|
| | | else:
|
| | | GameWorld.DebugLog("优先随机都不满足目标装备的,randPlaceCountLimit=%s" % randPlaceCountLimit, playerID)
|
| | | randPlaceIndex = random.randint(0, len(tagPlaceSortList) - 1)
|
| | | GameWorld.DebugLog("掉落目标部位随机, randPlaceIndex=%s, 颜色,阶,星,评分,部位,职业=%s" % (randPlaceIndex, tagPlaceSortList), playerID)
|
| | | tagPlace = tagPlaceSortList[randPlaceIndex][-2]
|
| | | tagJob = tagPlaceSortList[randPlaceIndex][-1]
|
| | | GameWorld.DebugLog("掉落目标部位随机不满足条件的: tagPlace=%s,tagJob=%s" % (tagPlace, tagJob), playerID)
|
| | | |
| | | if isKillCountDropEquipEx:
|
| | | GameWorld.DebugLog("附加掉落指定目标装备信息: npcID=%s,玩家最少的击杀次数=%s,目标击杀数=%s,tagClassLV=%s,tagColor=%s,tagStar=%s,tagStarMin=%s,tagPlace=%s,tagJob=%s"
|
| | | % (npcID, dropEquipExKillCount, tagKillCount, tagClassLV, tagColor, tagStar, tagStarMin, tagPlace, tagJob), playerID)
|