From 11471969c8b6ecec34e8a39f9e19cedc320e8bb8 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期四, 16 五月 2019 17:54:50 +0800
Subject: [PATCH] 6820 【2.0】【后端】普通炼丹定制产出数量

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRefineStove.py |   33 ++++++++++++++++++++++++---------
 1 files changed, 24 insertions(+), 9 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRefineStove.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRefineStove.py
index 6d240f4..91de900 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRefineStove.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRefineStove.py
@@ -154,14 +154,21 @@
         if passTime < alchemyIpyData.GetNeedTime():
             GameWorld.DebugLog('开炉丹药,时间未到  passTime=%s' % passTime)
             return
+        alchemyCommonCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_AlchemyCommonCnt)
         alchemyQuality = alchemyIpyData.GetAlchemyQuality()
         #成功率
         if alchemType == DefStoveType2:
             successRate = ShareDefine.Def_MaxRateValue  #仙丹必定成功
-        else:
+        elif alchemType == DefStoveType1:
             #灵丹成功率公式 参数 curLuckValue:慧根  alchemyLV:炼丹等级 alchemyQuality:丹药等级  qualityNeedLuck:要求慧根
-            qualityNeedLuck = IpyGameDataPY.GetFuncEvalCfg('alchemySuccess', 2, {}).get(str(alchemyQuality), 0)
-            successRate = eval(IpyGameDataPY.GetFuncCompileCfg('alchemySuccess'))
+            alchemyCustomizedDict = IpyGameDataPY.GetFuncEvalCfg('alchemyCustomized', 1, {})
+            if alchemyCommonCnt + 1 in alchemyCustomizedDict:
+                successRate = alchemyCustomizedDict[alchemyCommonCnt + 1][1]
+            else:
+                qualityNeedLuck = IpyGameDataPY.GetFuncEvalCfg('alchemySuccess', 2, {}).get(str(alchemyQuality), 0)
+                successRate = eval(IpyGameDataPY.GetFuncCompileCfg('alchemySuccess'))
+        else:
+            return
         isSuccess = GameWorld.CanHappen(successRate)
         resultCnt = 0  #丹药数量 0代表失败
         if isSuccess:
@@ -172,12 +179,15 @@
                 return
             if alchemType == DefStoveType2:
                 resultCnt = 1 #仙丹必定为1
-            else:
-                ipyData = IpyGameDataPY.InterpolationSearch('AlchemyResult', 'LuckValue', curLuckValue, {'AlchemyQuality':alchemyIpyData.GetAlchemyQuality()})
-                if not ipyData:
-                    GameWorld.ErrLog('AlchemyResult 配置错误 未找到该丹方数量 alchemyItemID=%s' % alchemyItemID, playerID)
-                    return
-                resultCnt = GameWorld.GetResultByRandomList(ipyData.GetCntRateList())
+            elif alchemType == DefStoveType1:
+                if alchemyCommonCnt + 1 in alchemyCustomizedDict:
+                    resultCnt = alchemyCustomizedDict[alchemyCommonCnt + 1][0]
+                else:
+                    ipyData = IpyGameDataPY.InterpolationSearch('AlchemyResult', 'LuckValue', curLuckValue, {'AlchemyQuality':alchemyIpyData.GetAlchemyQuality()})
+                    if not ipyData:
+                        GameWorld.ErrLog('AlchemyResult 配置错误 未找到该丹方数量 alchemyItemID=%s' % alchemyItemID, playerID)
+                        return
+                    resultCnt = GameWorld.GetResultByRandomList(ipyData.GetCntRateList())
             if not resultCnt:
                 GameWorld.ErrLog('AlchemyResult 配置错误 未随机出该丹方数量alchemyItemID=%s' % alchemyItemID, playerID)
                 return
@@ -201,6 +211,11 @@
         #加经验
         addExp = alchemyIpyData.GetAlchemyExp()
         AddRefineExp(curPlayer, addExp, alchemyLV)
+        #加次数
+        if alchemType == DefStoveType1:
+            maxCnt = max(alchemyCustomizedDict)
+            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_AlchemyCommonCnt, min(alchemyCommonCnt + 1, maxCnt))
+        
         GameWorld.DebugLog('炼丹结果 alchemyItemID=%s,successRate=%s,isSuccess=%s,resultCnt=%s' % (alchemyItemID, successRate, isSuccess, resultCnt), playerID)
     
         Sycn_AlchemyMsg(curPlayer, alchemyID, False, alchemyItemID, resultCnt)

--
Gitblit v1.8.0