From 9cd33fdc6c0158edf12a1e89d5a657977d9e2bf9 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 31 八月 2018 15:47:04 +0800
Subject: [PATCH] Fix: 修复活动线非1线时连续开活动无法刷出活动boss的bug;

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 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 d8a9525..de758cd 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -86,6 +86,7 @@
 import ChNetSendPack
 import PlayerState
 import QuestCommon
+import PlayerDogz
 import GMShell
 
 import random
@@ -115,6 +116,7 @@
         #时间相差过大,可能因网络引起,拉回
         GameWorld.DebugLog("PlayerMoveCheckClientWorldTick -- 服务器tick %s-客户端%s时间相差过大,可能因网络引起,拉回" % (
                             gameWorldTick, clientWorldTick), curPlayer.GetID())
+        curPlayer.Sync_ClientTick()
         return False
     
     if gameWorldTick - curPlayer.GetDictByKey("CheckTick") > 60000:
@@ -2008,7 +2010,7 @@
 # @param canLock 是否可以锁定玩家(传送点不可锁定, 因为要跨地图寻路)
 # @return 返回值无意义
 # @remarks 玩家切换地图
-def PlayerResetWorldPos(curPlayer, mapID, posX, posY, takeTruck, lineID= -1, msg='', canLock=True, exData1=0):
+def PlayerResetWorldPos(curPlayer, mapID, posX, posY, takeTruck, lineID=-1, msg='', canLock=True, exData1=0):
     #更改: 死亡允许切换地图, 在副本中被怪打死, 副本时间到, 回收副本
 #    if curPlayer.GetHP() <= 0 :
 #        GameWorld.Log("死亡无法切换地图")
@@ -2081,6 +2083,10 @@
                 GameWorld.DebugLog("分流boss, bossID=%s,bossShuntLineID=%s" % (bossID, bossShuntLineID), playerID)
                 NPCCommon.AddBossShuntRelatedPlayer(curPlayer, tagMapID, bossShuntLineID, bossID, tick)
                 return bossShuntLineID
+        return tagLineID
+    
+    if curMapID == tagMapID:
+        GameWorld.DebugLog("同地图切换坐标不处理分流!", playerID)
         return tagLineID
     
     # 可以用来常规分流的线路人数字典信息, 并不是所有线路都可以用来做人数分流的,比如中立地图有多条线用来分流boss,但是只有1条线可用来做常规的人数分流
@@ -3954,11 +3960,13 @@
         PlayerPet.CalcPetItemAddPlayerAttr(curPlayer)
         PlayerRune.RefreshRuneAttr(curPlayer)
         PlayerMagicWeapon.CalcMagicWeaponAttr(curPlayer)
+        PlayerMagicWeapon.CalcMagicWeaponSoulAttr(curPlayer)
         PlayerSuccess.CalcSuccessAttr(curPlayer)
         PlayerVip.CalcVIPAttr(curPlayer)
         PlayerRefineStove.CalcStoveAttr(curPlayer)
         PlayerFamilyTech.CalcFamilyTechAttr(curPlayer)
         PlayerEquipDecompose.RefreshEDAttr(curPlayer)
+        PlayerDogz.RefreshDogzAttr(curPlayer)
         self.RefreshAllState(isForce=True)
         GameWorld.DebugLog("End ReCalcAllState!!!")
         return
@@ -6113,9 +6121,6 @@
     curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_IgnoreDefRateReduce, value, False)
     
 #---特殊伤害概率---
-## 富甲一击概率
-def GetFujiaHitRate(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_FujiaHitRate)
-def SetFujiaHitRate(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_FujiaHitRate, value)
 ## 富豪一击概率
 def GetFuhaoHitRate(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_FuhaoHitRate)
 def SetFuhaoHitRate(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_FuhaoHitRate, value)
@@ -6126,6 +6131,10 @@
     curPlayer.SetDict(ChConfig.Def_PlayerKey_BleedDamage, value)
     curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_BleedDamage, value, False)
     
+## 最终伤害百分比
+def GetFinalHurtPer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_FinalHurtPer)
+def SetFinalHurtPer(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_FinalHurtPer, value)
+
 ## 最终固定伤害增加
 def GetFinalHurt(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_FinalHurt)
 def SetFinalHurt(curPlayer, value):

--
Gitblit v1.8.0