From ccaf2f02905ec635332e2d22cb7bd5b77b6a7bbb Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期一, 22 十月 2018 21:10:34 +0800
Subject: [PATCH] 4282 【主干】【1.1.0】【后端】新增物品效果:获得X法宝X经验 4280 【主干】【1.1.0】【后端】开服触发成就类型

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ElderBattlefield.py |   31 ++++++++++++++++++++++++-------
 1 files changed, 24 insertions(+), 7 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 6be2c11..a3816d1 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
@@ -414,9 +422,11 @@
     baseCnt = IpyGameDataPY.GetFuncCfg('ElderBattlefieldSys', 2)
     perCnt = IpyGameDataPY.GetFuncCfg('ElderBattlefieldSys', 3)
     if contKillCntEx >= baseCnt and contKillCntEx % perCnt == 0:
-        sysIndex = min((contKillCntEx - baseCnt) / perCnt, len(ckillSysList))
+        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 +440,13 @@
         PlayerControl.FBNotify('AncientBattlefield_7', [curPlayer.GetName(), defender.GetName(),defContKillCntEx])
     
     gameFB.SetPlayerGameFBDict(tagPlayerID, FBPlayerDict_ContKillCntEx, 0)
+    #记录仇人
+    gameFB.SetPlayerGameFBDict(tagPlayerID, FBPlayerDict_EnemyID, playerID)
+    if tagPlayerID == gameFB.GetPlayerGameFBDictByKey(playerID, FBPlayerDict_EnemyID):
+        #击杀仇人广播
+        PlayerControl.NotifyCode(curPlayer, 'AncientBattlefield_8')
+        gameFB.SetPlayerGameFBDict(playerID, FBPlayerDict_EnemyID, 0)
+    
     GameWorld.DebugLog("击杀玩家: 击杀=%s,连杀=%s,tagPlayerID=%s,updScore=%s" 
                        % (killCnt, contKillCntEx, tagPlayerID, updScore), playerID)
     

--
Gitblit v1.8.0