From e3c7ec85ea4fae097926a6e424ce9de94dcd1090 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期二, 21 八月 2018 15:52:23 +0800
Subject: [PATCH] fix:【2742】 混乱妖域物品奖励根据评价变化

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
index 4029be1..7b8d579 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
+++ b/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))

--
Gitblit v1.8.0