|  |  |  | 
|---|
|  |  |  | itemID = itemObj.GetItemTypeID() | 
|---|
|  |  |  | mailItem = ItemCommon.GetMailItemDict(itemObj) | 
|---|
|  |  |  | equipInfo = [itemObj.GetEquipPlace(), ItemCommon.GetItemClassLV(itemObj), itemObj.GetItemColor(), | 
|---|
|  |  |  | itemObj.GetItemQuality(), itemObj.GetUserData()] | 
|---|
|  |  |  | itemObj.GetSuiteID(), itemObj.GetUserData()] | 
|---|
|  |  |  | packIndex = ChConfig.GetItemPackType(itemObj.GetType()) | 
|---|
|  |  |  | if not itemControl.PutInItem(packIndex, itemObj, event=[ChConfig.ItemGive_Pickup, False, {"NPCID":npcID}]): | 
|---|
|  |  |  | mailItemList.append(mailItem) | 
|---|
|  |  |  | 
|---|
|  |  |  | needRecord = True | 
|---|
|  |  |  | weightValue = recSpecialItemIDList.index(itemID) + 10000 | 
|---|
|  |  |  | else: | 
|---|
|  |  |  | equipPlace, itemClassLV, itemColor, itemQuality, itemUserData = equipInfo | 
|---|
|  |  |  | weightValue = itemColor*1000+itemQuality*100+itemClassLV | 
|---|
|  |  |  | equipPlace, itemClassLV, itemColor, suiteID, itemUserData = equipInfo | 
|---|
|  |  |  | isSuit = 1 if suiteID else 0 | 
|---|
|  |  |  | weightValue = itemColor*1000+isSuit*100+itemClassLV | 
|---|
|  |  |  |  | 
|---|
|  |  |  | recordCondition = GameWorld.GetDictValueByKey(recDropEquipInfoDict, equipPlace) | 
|---|
|  |  |  | if recordCondition: | 
|---|
|  |  |  | needClassLV, needItemColor, needItemQuality = recordCondition | 
|---|
|  |  |  | if itemClassLV >= needClassLV and itemColor >= needItemColor and itemQuality >= needItemQuality: | 
|---|
|  |  |  | needClassLV, needItemColor, needItemSuite = recordCondition | 
|---|
|  |  |  | if itemClassLV >= needClassLV and itemColor >= needItemColor and isSuit >= needItemSuite: | 
|---|
|  |  |  | needRecord = True | 
|---|
|  |  |  | if not needRecord: | 
|---|
|  |  |  | return | 
|---|