From f8dab27621ee5061a48b3a0142c6860b360cf0c9 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 16 十月 2019 17:17:27 +0800
Subject: [PATCH] 8262 【主干】【后端】仙盟宴会及传功优化(增加宴会结束倒计时显示)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_MagicWeapon.py |   46 ++++++++++++++++++++++++++++------------------
 1 files changed, 28 insertions(+), 18 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_MagicWeapon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_MagicWeapon.py
index 50416c8..f9f1ec9 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_MagicWeapon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_MagicWeapon.py
@@ -29,6 +29,7 @@
 import EventReport
 import PlayerGoldGift
 import PlayerMagicWeapon
+import ChPlayer
 
 #---副本配置对应key值---
 (
@@ -144,7 +145,7 @@
     gameFB = GameWorld.GetGameFB()
     lineID = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_ReqFBFuncLine)
     level, maxLevel = 0, 0
-    ipyDataList = IpyGameDataPY.GetIpyGameDataByCondition('MagicWeaponFB', {'LineID':lineID}, True)
+    ipyDataList = IpyGameDataPY.GetIpyGameDataByCondition('MagicWeaponFB', {'LineID':lineID}, True, False)
     if ipyDataList:
         mwID = ipyDataList[0].GetMWID()
         level = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_MWFBPassLevel % mwID)
@@ -196,7 +197,9 @@
     elif fbStep == FB_Step_Fighting:
         notify_tick = GetClearDevilTimeCfg(lineID)[Def_FightTime] * 1000 - (tick - GameWorld.GetGameFB().GetFBStepTick())
         curPlayer.Sync_TimeTick(IPY_GameWorld.tttTowerTake, 0, max(notify_tick, 0), True)
-    
+    else:
+        PlayerControl.PlayerLeaveFB(curPlayer)
+        return
     DoFBHelp(curPlayer, tick, not hadDelTicket)
     return
 
@@ -326,6 +329,10 @@
     playerManager = GameWorld.GetMapCopyPlayerManager()
     if playerManager.GetPlayerCount() > 0:
         curPlayer = playerManager.GetPlayerByIndex(0)
+        if curPlayer.GetHP() <=0:
+            ChPlayer.PlayerRebornByType(curPlayer, ChConfig.rebornType_System, tick)
+        else:
+            curPlayer.SetHP(curPlayer.GetMaxHP())
         DoFBHelp(curPlayer, tick)
     
     FBCommon.SetFBStep(FB_Step_Fighting, tick)
@@ -439,15 +446,18 @@
         fbMissionID = gameFB.GetGameFBDictByKey(FBPlayerDict_MissionID)
         if fbMissionID:
             EventShell.EventRespons_FBEvent(curPlayer, "cleardevil_pass_%s" % fbMissionID)
-        # 成就
+        #触发激活法宝
         level = gameFB.GetGameFBDictByKey(FBPlayerDict_Level)
-        PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_PassWagicWeapon, 1, [lineID + 1, level])
-        # 更新关卡
-        if level:
-            ipyData = IpyGameDataPY.GetIpyGameDataByCondition('MagicWeaponFB', {'LineID':lineID, 'Level':level})
-            if ipyData:
-                mwID = ipyData.GetMWID()
-                PlayerMagicWeapon.UptateMWFBPasslv(curPlayer, mwID, level)
+        PlayerMagicWeapon.ActiveMagicWeaponByFB(curPlayer, ChConfig.Def_FBMapID_MagicWeapon, lineID, level)
+#        # 成就
+#        level = gameFB.GetGameFBDictByKey(FBPlayerDict_Level)
+#        PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_PassWagicWeapon, 1, [lineID + 1, level])
+#        # 更新关卡
+#        if level:
+#            ipyData = IpyGameDataPY.GetIpyGameDataByCondition('MagicWeaponFB', {'LineID':lineID, 'Level':level})
+#            if ipyData:
+#                mwID = ipyData.GetMWID()
+#                PlayerMagicWeapon.UptateMWFBPasslv(curPlayer, mwID, level)
                 
     
     DoFBHelp(curPlayer, tick)
@@ -579,14 +589,14 @@
     if isPass:
         EventReport.WriteEvent_FB(curPlayer, ChConfig.Def_FBMapID_MagicWeapon, 0, ChConfig.CME_Log_End, 0, 1)
     
-    if lineID == IpyGameDataPY.GetFuncCfg('FirstGoldTryItem', 3):
-        if not isPass:
-            #副本指定线路失败了,进入首充试用引导
-            if not curPlayer.GetChangeCoinPointTotal() and not curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FirstGoldTry):
-                PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FirstGoldTry, 1)
-                PlayerGoldGift.Sync_FirstGoldInfo(curPlayer)
-        else:
-            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FirstGoldTry, 0)
+#    if lineID == IpyGameDataPY.GetFuncCfg('FirstGoldTryItem', 3):
+#        if not isPass:
+#            #副本指定线路失败了,进入首充试用引导
+#            if not curPlayer.GetChangeCoinPointTotal() and not curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FirstGoldTry):
+#                PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FirstGoldTry, 1)
+#                PlayerGoldGift.Sync_FirstGoldInfo(curPlayer)
+#        else:
+#            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FirstGoldTry, 0)
     return
 
 

--
Gitblit v1.8.0