From 022df2f7485767b90ac67abfcafdb5c0e6af427f Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期三, 05 六月 2019 16:24:26 +0800
Subject: [PATCH] 6603 【后端】【2.0】增加新版的sp和被动技能

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEquipDecompose.py |   33 +++++++++++++++++----------------
 1 files changed, 17 insertions(+), 16 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEquipDecompose.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEquipDecompose.py
index 65980d5..7d8dc41 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEquipDecompose.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEquipDecompose.py
@@ -97,25 +97,26 @@
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_EquipDecomposeCnt, updDecomposeCnt%perDecomposeCnt)
     jsonItemList = []
     giveCnt = 0
-    if updDecomposeCnt >= perDecomposeCnt:
-        awardList = IpyGameDataPY.GetFuncCfg('EquipDecomposeAward', 2)
-        if not awardList:
-            return len(drDelItemList), giveCnt
+    if perDecomposeCnt and updDecomposeCnt >= perDecomposeCnt:
+        awardRateList = IpyGameDataPY.GetFuncEvalCfg('EquipDecomposeAward', 2)
         giveCnt = updDecomposeCnt/perDecomposeCnt
         giveItemIDDict = {}
         for _ in xrange(giveCnt):
-            itmeID = random.choice(awardList)
+            itmeID = GameWorld.GetResultByRandomList(awardRateList)
+            if not itmeID:
+                continue
             giveItemIDDict[itmeID] = giveItemIDDict.get(itmeID, 0) + 1
-        for giveItemID, itemCnt in giveItemIDDict.items(): 
-            jsonItemList.append(ItemCommon.GetJsonItem([giveItemID,itemCnt,1]))
-        needSpace = len(giveItemIDDict)
-        packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace)
-        if packSpace < needSpace:
-            prizeItemList = [[giveItemID, itemCnt, 1] for giveItemID, itemCnt in giveItemIDDict.items()]
-            PlayerControl.SendMailByKey("DefaultLackSpace", [curPlayer.GetPlayerID()], prizeItemList)
-        else:
-            for giveItemID, itemCnt in giveItemIDDict.items():
-                ItemControler.GivePlayerItem(curPlayer, giveItemID, itemCnt, True, [IPY_GameWorld.rptItem], True)
+        if giveItemIDDict:
+            for giveItemID, itemCnt in giveItemIDDict.items(): 
+                jsonItemList.append(ItemCommon.GetJsonItem([giveItemID,itemCnt,1]))
+            needSpace = len(giveItemIDDict)
+            packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace)
+            if packSpace < needSpace:
+                prizeItemList = [[giveItemID, itemCnt, 1] for giveItemID, itemCnt in giveItemIDDict.items()]
+                PlayerControl.SendMailByKey("DefaultLackSpace", [curPlayer.GetPlayerID()], prizeItemList)
+            else:
+                for giveItemID, itemCnt in giveItemIDDict.items():
+                    ItemControler.GivePlayerItem(curPlayer, giveItemID, itemCnt, 0, [IPY_GameWorld.rptItem])
     
     #同步客户端
     Sync_EDLVInfo(curPlayer, jsonItemList)
@@ -144,7 +145,7 @@
 
         eatItemID = eatItem.GetItemTypeID()
         if eatItemIDList[i] != eatItemID:
-            GameWorld.ErrLog('    装备分解客户端发的物品索引与实际物品ID不对应  index=%s,eatItemID=%s,wantEatItemID'%(index, eatItemID, eatItemIDList[i]))
+            GameWorld.ErrLog('    装备分解客户端发的物品索引与实际物品ID不对应  index=%s,eatItemID=%s,wantEatItemID=%s'%(index, eatItemID, eatItemIDList[i]))
             continue
         if eatItem.GetType() == ChConfig.Def_ItemType_EquipDecomposeExp:
             curEff = eatItem.GetEffectByIndex(0)

--
Gitblit v1.8.0