|  |  | 
 |  |  |             if len(jobItemList) < job:
 | 
 |  |  |                 GameWorld.ErrLog("职业物品集合key没有配置对应职业ID: npcID=%s,jobItemKey=%s,job=%s" % (npcID, jobItemKey, job))
 | 
 |  |  |                 continue
 | 
 |  |  |             mustDropCount = dropRate / Def_NPCMaxDropRate
 | 
 |  |  |             dropRate = dropRate % Def_NPCMaxDropRate # 基础概率
 | 
 |  |  |             canDropCount = mustDropCount
 | 
 |  |  |             doCnt = ItemKeyMaxDropCountDict.get(jobItemKey, 1) # 默认1个
 | 
 |  |  |             doCnt = __GetNPCDropDoCountChange(doCnt, doCountRate, doCountAdd)
 | 
 |  |  |             for _ in xrange(doCnt):
 | 
 |  |  |                 if not GameWorld.CanHappen(dropRate, maxRate=Def_NPCMaxDropRate):
 | 
 |  |  |                     continue
 | 
 |  |  |                 jobItemID = jobItemList[job - 1]
 | 
 |  |  |                 canDropCount += 1
 | 
 |  |  |                  | 
 |  |  |             jobItemID = jobItemList[job - 1]
 | 
 |  |  |             for _ in xrange(canDropCount):
 | 
 |  |  |                 dropItemIDList.append(jobItemID)
 | 
 |  |  |                 #GameWorld.DebugLog("掉落自身职业指定物品ID: jobItemKey=%s,jobItemID=%s" % (jobItemKey, jobItemID))
 | 
 |  |  |                 
 | 
 |  |  | 
 |  |  |             # 在只掉本职业里的不处理
 | 
 |  |  |             if jobItemKey in ItemKeyDropRateJobDict:
 | 
 |  |  |                 continue
 | 
 |  |  |             mustDropCount = dropRate / Def_NPCMaxDropRate
 | 
 |  |  |             dropRate = dropRate % Def_NPCMaxDropRate # 基础概率
 | 
 |  |  |             canDropCount = mustDropCount
 | 
 |  |  |             doCnt = ItemKeyMaxDropCountDict.get(jobItemKey, 1) # 默认1个
 | 
 |  |  |             doCnt = __GetNPCDropDoCountChange(doCnt, doCountRate, doCountAdd)
 | 
 |  |  |             for _ in xrange(doCnt):
 | 
 |  |  |                 if not GameWorld.CanHappen(dropRate, maxRate=Def_NPCMaxDropRate):
 | 
 |  |  |                     continue
 | 
 |  |  |                 canDropCount += 1
 | 
 |  |  |                  | 
 |  |  |             for _ in xrange(canDropCount):
 | 
 |  |  |                 randJobItemID = random.choice(jobItemList)
 | 
 |  |  |                 dropItemIDList.append(randJobItemID)
 | 
 |  |  |                 #GameWorld.DebugLog("掉落随机职业指定物品ID: jobItemKey=%s,randJobItemID=%s" % (jobItemKey, randJobItemID))
 |