From d8747a9d1ccce1f60f79c14c3ef1217b223c9ce3 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期二, 25 十二月 2018 09:56:22 +0800
Subject: [PATCH] 5505 王者法宝初版、聚魂副本设置阵营

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py |   29 +++++++++++++++++++++--------
 1 files changed, 21 insertions(+), 8 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 4720867..16775d0 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -64,7 +64,7 @@
 import PlayerGameEvent
 import EventReport
 import PlayerTeHui
-import GameLogic_XMZZ
+import PlayerGatherSoul
 import PlayerSuccess
 import PlayerPet
 import PlayerGreatMaster
@@ -84,6 +84,7 @@
 import PlayerCostRebate
 import PlayerFairyCeremony
 import FunctionNPCCommon
+import CrossRealmPlayer
 import ChNetSendPack
 import PlayerState
 import QuestCommon
@@ -162,7 +163,7 @@
 # notifyCnt 代表广播周围玩家的数量,0为全部广播 -1为指定列表随机, 其他数字为指定指
 def PyNotifyAll(curPlayer, sendPack, notifySelf=True, notifyCnt=0):
     if notifyCnt == -1:
-        notifyCnt = random.choice((6, 6, 10, 10, 20))
+        notifyCnt = 8
     #GameWorld.DebugLog("PyNotifyAll %s"%notifyCnt)
 
     curPlayer.NotifyAll(sendPack.GetBuffer(), sendPack.GetLength(), notifySelf, notifyCnt)
@@ -1498,6 +1499,11 @@
     if not curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_RouteServerInitOK):
         #RouteServer未初始化不允许切换地图, 缓存处理
         GameServerRefresh.Set_PlayerRouteServerInitOK_OnLeaveFB(curPlayer, 1)
+        return
+    
+    GameWorld.Log("PlayerLeaveFB...", curPlayer.GetPlayerID())
+    if GameWorld.IsCrossServer():
+        CrossRealmPlayer.PlayerExitCrossServer(curPlayer)
         return
 
     #中立地图回到上一次非中立常规地图    
@@ -4089,6 +4095,7 @@
         PlayerFamilyTech.CalcFamilyTechAttr(curPlayer)
         PlayerEquipDecompose.RefreshEDAttr(curPlayer)
         PlayerDogz.RefreshDogzAttr(curPlayer)
+        PlayerGatherSoul.RefreshGatherSoulAttr(curPlayer)
         self.RefreshAllState(isForce=True)
         GameWorld.DebugLog("End ReCalcAllState!!!")
         return
@@ -4913,7 +4920,7 @@
                         }
         
         for i in xrange(1, ChConfig.Def_Calc_AllAttrType_MAX):
-            if i in [ChConfig.TYPE_Calc_AttrHP, ChConfig.TYPE_Calc_AttrMP]:
+            if i in [ChConfig.TYPE_Calc_AttrHP, ChConfig.TYPE_Calc_AttrMP, ChConfig.TYPE_Calc_ProDef]:
                 continue
             value = 0 if i not in initAttrDict else initAttrDict[i]
             EffGetSet.SetValueByEffIndex(curPlayer, i, value)
@@ -5706,6 +5713,10 @@
 ## 副本功能线路ID, 这里做db存储,防止在合并地图副本中掉线重上时前端无法加载正确的场景资源,登录加载场景时机为0102包
 def SetFBFuncLineID(curPlayer, funcLineID): return curPlayer.SetExAttr3(funcLineID, False, False)
 def GetFBFuncLineID(curPlayer): return curPlayer.GetExAttr3()
+
+## 跨服状态: 0-非跨服状态,1-跨服状态
+def GetCrossRealmState(curPlayer): return curPlayer.GetExAttr5()
+def SetCrossRealmState(curPlayer, value): curPlayer.SetExAttr5(value, False, True)
 
 ## 铜钱点, 支持铜钱超20亿
 def GetSilver(curPlayer): return curPlayer.GetExAttr6() * ChConfig.Def_PerPointValue + curPlayer.GetSilver()
@@ -6542,11 +6553,13 @@
 def GetPetMaxAtk(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_AttrPetMaxAtk)
 def SetPetMaxAtk(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_AttrPetMaxAtk, value)
 
-#---宠物伤害百分比提升----
-def GetPetDamPer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_AttrPetDamPer)
-def SetPetDamPer(curPlayer, value): 
-    curPlayer.SetDict(ChConfig.Def_PlayerKey_AttrPetDamPer, value)
-    curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_PetDamPer, value, False)
+#---宠物伤害百分比提升----移到GameObj下
+#===============================================================================
+# def GetPetDamPer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_AttrPetDamPer)
+# def SetPetDamPer(curPlayer, value): 
+#    curPlayer.SetDict(ChConfig.Def_PlayerKey_AttrPetDamPer, value)
+#    curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_PetDamPer, value, False)
+#===============================================================================
 #---宠物技能伤害百分比提升----
 def GetPetSkillAtkRate(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_PetSkillAtkRate)
 def SetPetSkillAtkRate(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_PetSkillAtkRate, value)

--
Gitblit v1.8.0