hxp
2018-08-18 36f748f8770aa1046261b6b3a7ff80d33b071b75
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
@@ -1080,12 +1080,18 @@
            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))
                
@@ -1102,11 +1108,17 @@
            # 在只掉本职业里的不处理
            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))