From 369e6b891612b94efc19918476fcdf6ec5de74ea Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 05 十一月 2018 14:54:05 +0800
Subject: [PATCH] 4562 【后端】【1.2.0】仙界盛典新增时间配置支持(支持活动5点开启,0点关闭) - 新增活动重置类型2

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ElderBattlefield.py |   39 ++++++++++++++++++++++++++++++---------
 1 files changed, 30 insertions(+), 9 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ElderBattlefield.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ElderBattlefield.py
index 5e9e5de..d9c5a46 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ElderBattlefield.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ElderBattlefield.py
@@ -49,7 +49,7 @@
 FBPlayerDict_ContKillCntEx = 'FBPD_ContKillCntEx'   # 玩家当前总连杀数
 FBPlayerDict_TotalExp = 'FBPlayerDict_TotalExp%s'   # 获得的总经验
 FBPlayerDict_TotalExpPoint = 'FBPlayerDict_TotalExpPoint%s'   # 获得的总经验点
-
+FBPlayerDict_EnemyID = 'FBPD_EnemyID'   # 玩家最近一个仇敌ID
 Map_ElderBattlefield_StartTick = "Map_ElderBattlefield_StartTick"     # 副本开始时间
 Map_ElderBattlefield_TopPlayer = "Map_ElderBattlefield_TopPlayer"     # 积分王
 
@@ -73,6 +73,7 @@
     if state == 1:
         GameWorld.GetGameWorld().SetGameWorldDict(Map_ElderBattlefield_StartTick, tick)
         GameWorld.GetGameWorld().SetGameWorldDict(Map_ElderBattlefield_TopPlayer, 0)
+
 #    else:
 #        GiveJoinPrize()
 #        FBCommon.DoLogic_FBKickAllPlayer()
@@ -323,7 +324,11 @@
     topPlayerID = gameWorld.GetGameWorldDictByKey(Map_ElderBattlefield_TopPlayer)
     if not topPlayerID or updScore > gameWorld.GetGameWorldDictByKey(FBPlayerDict_Score % topPlayerID):
         gameWorld.SetGameWorldDict(Map_ElderBattlefield_TopPlayer, playerID)
-        PyGameData.g_sgzztopPlayerName = curPlayer.GetName()
+
+        topName = curPlayer.GetName()
+        PyGameData.g_sgzztopPlayerName = topName
+        PlayerControl.WorldNotify(0, 'AncientBattlefield_9', [topName])
+        
     if gameWorld.GetGameWorldDictByKey(Map_ElderBattlefield_TopPlayer) == playerID:
         playerManager = GameWorld.GetPlayerManager()
         for i in range(0, playerManager.GetPlayerCount()):
@@ -380,11 +385,14 @@
                 FBCommon.Help_exp:exp, FBCommon.Help_expPoint:expPoint}
     
     topPlayerID = gameWorld.GetGameWorldDictByKey(Map_ElderBattlefield_TopPlayer)
-    topScore = GameWorld.GetGameWorld().GetGameWorldDictByKey(FBPlayerDict_Score % topPlayerID)
+
+    topScore = gameWorld.GetGameWorldDictByKey(FBPlayerDict_Score % topPlayerID)
+    
     helpDict['topName'] = PyGameData.g_sgzztopPlayerName if topPlayerID else ''
     helpDict['topScore'] = topScore if topPlayerID else 0
-   
-        
+    helpDict['topPlayerID'] = topPlayerID
+    #helpDict[FBCommon.Help_lineID] = GameWorld.GetGameWorld().GetLineID()
+    helpDict['enemyID'] =  GameWorld.GetGameFB().GetPlayerGameFBDictByKey(playerID, FBPlayerDict_EnemyID)
     GameWorld.DebugLog("DoFBHelp %s" % helpDict, playerID)
     FBCommon.Notify_FBHelp(curPlayer, helpDict)
     return
@@ -400,9 +408,6 @@
     gameFB = GameWorld.GetGameFB()
     playerID = curPlayer.GetPlayerID()
     GameWorld.DebugLog("DoFBOnKill_Player", playerID)
-
-    addScore = IpyGameDataPY.GetFuncCfg('ElderBattlefieldCfg', 2)
-    updScore = __AddElderBattlefieldPlayerScore(curPlayer, gameFB, addScore)
     
     # 击杀方处理
     killCnt = gameFB.GetPlayerGameFBDictByKey(playerID, FBPlayerDict_KillCnt) + 1 # 击杀数
@@ -416,7 +421,9 @@
     if contKillCntEx >= baseCnt and contKillCntEx % perCnt == 0:
         sysIndex = min((contKillCntEx - baseCnt) / perCnt, len(ckillSysList)-1)
         PlayerControl.FBNotify(ckillSysList[sysIndex], [curPlayer.GetName(), contKillCntEx])
-    
+        PlayerControl.NotifyCode(curPlayer, 'AncientBattlefield_10', [contKillCntEx])
+    if contKillCntEx == 5:
+        PlayerControl.NotifyCode(curPlayer, 'AncientBattlefield_10', [5])
   
     # 击杀方成就
     PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_ElderBattlefieldKill, 1)
@@ -430,6 +437,20 @@
         PlayerControl.FBNotify('AncientBattlefield_7', [curPlayer.GetName(), defender.GetName(),defContKillCntEx])
     
     gameFB.SetPlayerGameFBDict(tagPlayerID, FBPlayerDict_ContKillCntEx, 0)
+    
+    
+    addScore = IpyGameDataPY.GetFuncCfg('ElderBattlefieldCfg', 2)
+    
+    #记录仇人
+    gameFB.SetPlayerGameFBDict(tagPlayerID, FBPlayerDict_EnemyID, playerID)
+    if tagPlayerID == gameFB.GetPlayerGameFBDictByKey(playerID, FBPlayerDict_EnemyID):
+        #击杀仇人广播
+        PlayerControl.NotifyCode(curPlayer, 'AncientBattlefield_8')
+        gameFB.SetPlayerGameFBDict(playerID, FBPlayerDict_EnemyID, 0)
+        addScore += IpyGameDataPY.GetFuncCfg('ElderBattlefieldPoint', 2)
+    if tagPlayerID == GameWorld.GetGameWorld().GetGameWorldDictByKey(Map_ElderBattlefield_TopPlayer):
+        addScore += IpyGameDataPY.GetFuncCfg('ElderBattlefieldPoint', 1)
+    updScore = __AddElderBattlefieldPlayerScore(curPlayer, gameFB, addScore)
     GameWorld.DebugLog("击杀玩家: 击杀=%s,连杀=%s,tagPlayerID=%s,updScore=%s" 
                        % (killCnt, contKillCntEx, tagPlayerID, updScore), playerID)
     

--
Gitblit v1.8.0