From 57d60ef7648868c76189d3a127dc3e5f0800f6f3 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期四, 27 六月 2019 14:27:31 +0800
Subject: [PATCH] 7589 【2.0.100】【后端】资源找回优化

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRecover.py |   23 +++++++++++++++++++++--
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py      |    8 ++++++--
 ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py                           |    8 ++++++--
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py             |    2 +-
 4 files changed, 34 insertions(+), 7 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
index 8b60580..e508efd 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -16836,6 +16836,7 @@
                   ("ExtraCnt", c_ubyte),    # VIP额外次数
                   ("ExtraData", c_ubyte),    # 额外参数1
                   ("ExtraData2", c_ubyte),    # 额外参数2
+                  ("HaveRecover", c_ubyte),    # 已找回 1-全部已找回 2-非VIP已找回
                   ]
 
     def __init__(self):
@@ -16853,6 +16854,7 @@
         self.ExtraCnt = 0
         self.ExtraData = 0
         self.ExtraData2 = 0
+        self.HaveRecover = 0
         return
 
     def GetLength(self):
@@ -16867,14 +16869,16 @@
                                 RecoverCnt:%d,
                                 ExtraCnt:%d,
                                 ExtraData:%d,
-                                ExtraData2:%d
+                                ExtraData2:%d,
+                                HaveRecover:%d
                                 '''\
                                 %(
                                 self.Index,
                                 self.RecoverCnt,
                                 self.ExtraCnt,
                                 self.ExtraData,
-                                self.ExtraData2
+                                self.ExtraData2,
+                                self.HaveRecover
                                 )
         return DumpString
 
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index c8002e4..4e24f69 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -3506,7 +3506,7 @@
 Def_PDict_RecoverFBNoBuyCnt = "RecoverFBNoBuyCnt_%s" # 资源找回副本普通次数  <%s-找回项索引>
 Def_PDict_RecoverGainData = "RecoverGainData_%s" # 资源找回额外数据<%s-找回项索引>
 Def_PDict_RecoverGainDataEx = "RecoverGainDataEx_%s" # 资源找回额外数据<%s-找回项索引>
-Def_PDict_HaveRecover = "HaveRecover_%s" # 资源找回今日是否已找回<%s-找回项索引>
+Def_PDict_HaveRecover = "HaveRecover_%s" # 资源找回今日是否已找回<%s-找回项索引> 1:找回了普通  2:找回了vip  3:2个都有找回
 Def_PDict_RecoverGainLastTime = "RecoverGainLastTime" # 上一次资源找回时的时间
 
 Def_PDict_NPCKillCount = "NPCKillCount_%s"   # NPC已击杀次数, 参数(NPCID) CCBBAA, AA存储公共装备次数,BB存储公共ID次数,CC存储私有次数
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
index 8b60580..e508efd 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -16836,6 +16836,7 @@
                   ("ExtraCnt", c_ubyte),    # VIP额外次数
                   ("ExtraData", c_ubyte),    # 额外参数1
                   ("ExtraData2", c_ubyte),    # 额外参数2
+                  ("HaveRecover", c_ubyte),    # 已找回 1-全部已找回 2-非VIP已找回
                   ]
 
     def __init__(self):
@@ -16853,6 +16854,7 @@
         self.ExtraCnt = 0
         self.ExtraData = 0
         self.ExtraData2 = 0
+        self.HaveRecover = 0
         return
 
     def GetLength(self):
@@ -16867,14 +16869,16 @@
                                 RecoverCnt:%d,
                                 ExtraCnt:%d,
                                 ExtraData:%d,
-                                ExtraData2:%d
+                                ExtraData2:%d,
+                                HaveRecover:%d
                                 '''\
                                 %(
                                 self.Index,
                                 self.RecoverCnt,
                                 self.ExtraCnt,
                                 self.ExtraData,
-                                self.ExtraData2
+                                self.ExtraData2,
+                                self.HaveRecover
                                 )
         return DumpString
 
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 102dde6c..28c88b7 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRecover.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRecover.py
@@ -394,8 +394,26 @@
         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_RecoverFBItemAddCnt % index, newItemAddCnt)
         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_RecoverFBExtraCnt % index, newExtraCnt)
         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_RecoverFBNoBuyCnt % index, newnoBuyCnt)
-        if max(newCommonCnt, newBuyCnt, newItemAddCnt, newExtraCnt, newnoBuyCnt) == 0 and index != Def_TJGRecoverID:
-            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_HaveRecover % index, 1)
+        if index != Def_TJGRecoverID:
+            #1:找回了普通  2:找回了vip  3:2个都有找回  
+            recoverData = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_HaveRecover % index, 0)
+            updData = recoverData
+            if i < len(cntList) -1:
+                if recoverData == 2:
+                    updData = 3
+                elif recoverData == 0:
+                    updData = 1
+            else:
+                if max(curCommonCnt, curBuyCnt, curItemAddCnt, curExtraCnt) == 0:
+                    if recoverData == 0:
+                        updData = 2
+                    elif recoverData == 1:
+                        updData = 3
+                else:
+                    updData = 3
+                    
+            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_HaveRecover % index, updData)
+     
         
     return
 
@@ -490,6 +508,7 @@
         numInfoPack.Index = index
         numInfoPack.RecoverCnt = commonCnt
         numInfoPack.ExtraCnt = vipExtraCnt
+        numInfoPack.HaveRecover = haveRecover
         numInfoPack.ExtraData = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RecoverGainData % index, 0)
         numInfoPack.ExtraData2 = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RecoverGainDataEx % index, 0)
         sendPack.NumInfo.append(numInfoPack)  

--
Gitblit v1.8.0