From 5afb5025b6a4b3d8eaa25f2ac888d84860465f9c Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 07 十二月 2018 15:54:30 +0800
Subject: [PATCH] 1780 灵宠部分技能无效-buff中被攻击减少受到的会心伤害	4521;宠物主人受到会心一击触发技能	2105

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRecover.py |   28 ++++++++++++++++++++--------
 1 files changed, 20 insertions(+), 8 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 81e52d8..6eb0ab1 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRecover.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRecover.py
@@ -32,6 +32,7 @@
 import GameFuncComm
 import PlayerTJG
 import PlayerActivity
+import PlayerSuccess
 import PyGameData
 
 import copy
@@ -43,7 +44,7 @@
 ) = range(2)
 
 Def_TJGRecoverID = 1 #脱机挂找回索引ID
-
+Def_QueenRelics = 11 #娲皇遗迹找回索引ID
 ## OnDay处理
 #  @param curPlayer
 #  @return None
@@ -123,6 +124,9 @@
             
             
             PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_RecoverGainData % index, historyMaxLine)
+            if dataMapID == ChConfig.Def_FBMapID_MunekadoTrial:
+                historyStar = GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_PlayerFBStar_MapId, historyMaxLine-1, False, [dataMapID])
+                PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_RecoverGainDataEx % index, historyStar)
             
             #更新可找回次数
             curCommonCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RecoverFBCommonCnt % index, 0)
@@ -257,7 +261,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:
@@ -283,7 +292,8 @@
     if Def_TJGRecoverID in recoverCntDict:
         #脱机挂经验找回后重置
         PlayerTJG.ResetTJGDeadInfo(curPlayer)
-        
+    if Def_QueenRelics in recoverCntDict:
+        PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_QueenRelicsEx, recoverCntDict[Def_QueenRelics])
     DataRecordPack.DR_PlayerRecover(curPlayer, recoverWay, recoverCntDict, totalExp, totalMoney, totalSP, totalItemDict)        
     __SetRecoverNum(curPlayer, recoverCntDict)
     __NotifyRecoverNum(curPlayer)
@@ -325,17 +335,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):
@@ -390,6 +399,8 @@
     reExp = PlayerControl.GetPlayerReExp(curPlayer)
     expRate = PlayerControl.GetLimitExpRate(curPlayer, ChConfig.ExpRateLimitType_Recover)
     extraData = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RecoverGainData % index, 0)
+    dataEx = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RecoverGainDataEx % index, 0)
+    
     tjgExp = 0 #脱机挂找回经验
     exp = 0
     sp = 0
@@ -453,6 +464,7 @@
         numInfoPack.RecoverCnt = commonCnt
         numInfoPack.ExtraCnt = vipExtraCnt
         numInfoPack.ExtraData = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RecoverGainData % index, 0)
+        numInfoPack.ExtraData2 = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RecoverGainDataEx % index, 0)
         sendPack.NumInfo.append(numInfoPack)  
     sendPack.Num = len(sendPack.NumInfo)
     NetPackCommon.SendFakePack(curPlayer, sendPack)

--
Gitblit v1.8.0