From 54b3ca452de08e8cf5723a0715cc0c3853c2df3a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 01 十二月 2018 16:35:48 +0800
Subject: [PATCH] 2549 【BUG】【1.3】玩家登录时过天处理离线期间所获得的助战仙缘币异常

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py |   19 ++++++++++++++++---
 1 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
index 3120321..da6762a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -3494,8 +3494,9 @@
         DamagePerPVPReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_DamagePerPVPReduce) * fpParam.GetCftDamagePerPVPReduce() # 伤害输出计算百分比PVP减少
         ComboRate = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_ComboRate) # 连击几率
         ComboDamPer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_ComboDamPer) # 连击伤害
-        MaxProDef = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_MaxProDef) # 最大防护值
-        ProDefAbsorb = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_ProDefAbsorb) # 防护值吸收伤害比率
+        #MaxProDef = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_MaxProDef) # 最大防护值
+        #ProDefAbsorb = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_ProDefAbsorb) # 防护值吸收伤害比率
+        ProDefPer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_ProDefHPPer) # 防护转化百分比
         
         OnlyFinalHurt = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_OnlyFinalHurt) # 额外输出伤害
         PVPAtkBackHP = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_PVPAtkBackHP) # PVP攻击回血
@@ -3915,6 +3916,10 @@
             # 升级需要执行的游戏功能处理
             GameFuncComm.DoFuncOpenLogic(curPlayer)
             ChEquip.CalcEquips_OutOfPrint(curPlayer)    # 缓存绝版属性
+            if aftLV%10 == 0:
+                # 控制下刷新次数
+                PlayerPet.CalcPetItemAddPlayerAttr(curPlayer)   # 宠物有随等级变化的技能
+            
             self.RefreshPlayerAttrState(billboardFunc=PlayerBillboard.UpdatePlayerLVBillboard)
             #放在功能开启后面
             PlayerWorldAverageLv.UpdatePlayerWorldAverageLv(curPlayer)
@@ -4436,7 +4441,14 @@
         curPlayer = self.__Player
         if GetProDefHPPer(curPlayer) == 0:
             return
-        SetMaxProDef(curPlayer, curPlayer.GetMaxHP()*GetProDefHPPer(curPlayer)/ChConfig.Def_MaxRateValue)
+        maxHP = curPlayer.GetMaxHP()
+        proDefPer = GetProDefHPPer(curPlayer)
+        
+        #获取策划配置的表格
+        GodWeapon4 = IpyGameDataPY.GetFuncCfg("GodWeapon4", 2)
+        maxProDef = eval(FormulaControl.GetCompileFormula("GodWeapon4", GodWeapon4))
+        
+        SetMaxProDef(curPlayer, int(maxProDef))
         
         afterMaxProDef = GetMaxProDef(curPlayer)
         addValue = max(0, afterMaxProDef - beforeMaxProDef)
@@ -5704,6 +5716,7 @@
 
 ## 玩家今日已获得仙缘币
 def GetTodayXianyuanCoin(curPlayer): return curPlayer.GetExAttr11()
+def SetTodayXianyuanCoin(curPlayer, value): return curPlayer.SetExAttr11(value, False, True)
 def AddTodayXianyuanCoin(curPlayer, addValue): return curPlayer.SetExAttr11(curPlayer.GetExAttr11() + addValue, False, True)
 
 ##VIP到期时间, 需要同步GameServer

--
Gitblit v1.8.0