|  |  | 
 |  |  |         if not curItemData:
 | 
 |  |  |             return False
 | 
 |  |  |         
 | 
 |  |  |         vPackItemDict = ChConfig.Def_VPackItem_Dict
 | 
 |  |  |         packIndex = ChConfig.GetItemPackType(curItemData.GetType(), packIndex)
 | 
 |  |  |         
 | 
 |  |  |         for pack, itemTypeList in vPackItemDict.items():
 | 
 |  |  |             if curItemData.GetType() in itemTypeList:
 | 
 |  |  |                 packIndex = pack
 | 
 |  |  |                 break
 | 
 |  |  |    | 
 |  |  |         if not self.CanPutInItem(packIndex, tagItem.GetItemTypeID(), tagItem.GetCount(), tagItem.GetIsBind(), defaultPile):
 | 
 |  |  |             GameWorld.DebugLog("背包满,不能放入物品 count = %d"%tagItem.GetCount())
 | 
 |  |  |             tagItem.Clear()
 | 
 |  |  | 
 |  |  |         PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_GetSpecialItem, 1, [itemID])
 | 
 |  |  |         return True
 | 
 |  |  |     
 | 
 |  |  |     vPackItemDict = ChConfig.Def_VPackItem_Dict
 | 
 |  |  |     for pack, itemTypeList in vPackItemDict.items():
 | 
 |  |  |         if curItemData.GetType() in itemTypeList:
 | 
 |  |  |             packIndexList = [pack]
 | 
 |  |  |             break
 | 
 |  |  |     defaultPack = IPY_GameWorld.rptItem if not packIndexList else packIndexList[0]
 | 
 |  |  |     packIndex = ChConfig.GetItemPackType(curItemData.GetType(), defaultPack)
 | 
 |  |  |     if packIndex != defaultPack or not packIndexList:
 | 
 |  |  |         packIndexList = [packIndex]
 | 
 |  |  |     
 | 
 |  |  |     if not __Check_CanPutItemInPack(curPlayer, itemID, itemCount, itemIsBind, packIndexList, defaultPile):
 | 
 |  |  |         #不可放入
 | 
 |  |  | 
 |  |  |     itemClassLV = ItemCommon.GetItemClassLV(curItem)
 | 
 |  |  |     itemQuality = curItem.GetItemQuality()
 | 
 |  |  |     key = (itemColor, itemQuality)
 | 
 |  |  |     isDogzEquip = ItemCommon.GetIsDogzEquip(curItem)
 | 
 |  |  |     # {(颜色,星级):[一般属性条数, 追求属性条数, 固定属性条数], ...}
 | 
 |  |  |     legAttrCntDict = IpyGameDataPY.GetFuncEvalCfg("LegendAttrCount")
 | 
 |  |  |     if isDogzEquip:
 | 
 |  |  |         #神兽装备条数不一样
 | 
 |  |  |         legAttrCntDict = IpyGameDataPY.GetFuncEvalCfg("LegendAttrCount", 2)
 | 
 |  |  |     else:
 | 
 |  |  |         legAttrCntDict = IpyGameDataPY.GetFuncEvalCfg("LegendAttrCount")
 | 
 |  |  |     if key not in legAttrCntDict:
 | 
 |  |  |         #GameWorld.DebugLog("该装备品质没有传奇属性: itemColor=%s,itemQuality=%s" % (itemColor, itemQuality))
 | 
 |  |  |         return
 | 
 |  |  | 
 |  |  |     curLegAttrIDList = []
 | 
 |  |  |     curLegAttrValueList = []
 | 
 |  |  |     # {属性ID:{颜色:数值, ...}, ...}
 | 
 |  |  |     legAttrValueColorDict = IpyGameDataPY.GetFuncEvalCfg("LegendAttrValueByColor")
 | 
 |  |  |     if isDogzEquip:
 | 
 |  |  |         # 神兽装备数值不一样  | 
 |  |  |         legAttrValueColorDict = IpyGameDataPY.GetFuncEvalCfg("LegendAttrValueByColor2")
 | 
 |  |  |     else:
 | 
 |  |  |         legAttrValueColorDict = IpyGameDataPY.GetFuncEvalCfg("LegendAttrValueByColor")
 | 
 |  |  |     legAttrValueClassLVDict = IpyGameDataPY.GetFuncEvalCfg("LegendAttrValueByClassLV")
 | 
 |  |  |     for attrID in randAttrIDList:
 | 
 |  |  |         if attrID in legAttrValueColorDict:
 |