From fd929faf55ab49f558ee2f7b5ef9adcba0de82c6 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期四, 30 八月 2018 19:26:25 +0800
Subject: [PATCH] fix:3101 【后端】仙盟贡献物品效果

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRecover.py |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRecover.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRecover.py
index 43802b3..72fbe42 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRecover.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRecover.py
@@ -260,7 +260,12 @@
     
     infoDict = {ChConfig.Def_Cost_Reason_SonKey:recoverWay}
     for moneyType, moneyCnt in costMoneyDict.items():
-        PlayerControl.PayMoney(curPlayer, moneyType, moneyCnt, ChConfig.Def_Cost_RecoverGain, infoDict)
+        costMoneyList = PlayerControl.HaveMoneyEx(curPlayer, moneyType, moneyCnt)
+        GameWorld.DebugLog('    moneyType=%s,moneyCnt=%s,costMoneyList=%s'%(moneyType, moneyCnt, costMoneyList))
+        if not costMoneyList:
+            return
+        for mType, mCnt in costMoneyList:
+            PlayerControl.PayMoney(curPlayer, mType, mCnt, ChConfig.Def_Cost_RecoverGain, infoDict)
         
         
     if totalExp > 0:
@@ -328,17 +333,16 @@
             costMoney = int(normalCostJade * recoverSecond / float(3600))
         else:
             costMoney = min(commonCnt, recoverCnt) * normalCostJade + vipCostJade * max(0, recoverCnt - commonCnt)
-        costMoneyList = PlayerControl.HaveMoneyEx(curPlayer, ShareDefine.TYPE_Price_Gold_Paper_Money, costMoney)
+        costMoneyList = [[ShareDefine.TYPE_Price_Gold_Paper_Money, costMoney]]
     else:
         costCopper = ipyData.GetCostCopper()
         if index == Def_TJGRecoverID:
             costMoney = int(costCopper * recoverSecond / float(3600))
         else:
             costMoney = recoverCnt * costCopper
-        if PlayerControl.HaveMoney(curPlayer, IPY_GameWorld.TYPE_Price_Silver_Money, costMoney, False):
-            costMoneyList = [[IPY_GameWorld.TYPE_Price_Silver_Money, costMoney]]
-        else:
-            costMoneyList = []
+        
+        costMoneyList = [[IPY_GameWorld.TYPE_Price_Silver_Money, costMoney]]
+        
     return costMoneyList, recoverCnt
 
 def __GetCanRecoverCnt(curPlayer, index):
@@ -393,7 +397,7 @@
     reExp = PlayerControl.GetPlayerReExp(curPlayer)
     expRate = PlayerControl.GetLimitExpRate(curPlayer, ChConfig.ExpRateLimitType_Recover)
     extraData = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RecoverGainData % index, 0)
-    extraData2 = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RecoverGainDataEx % index, 0)
+    dataEx = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RecoverGainDataEx % index, 0)
     
     tjgExp = 0 #脱机挂找回经验
     exp = 0

--
Gitblit v1.8.0