From 54b3ca452de08e8cf5723a0715cc0c3853c2df3a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 01 十二月 2018 16:35:48 +0800
Subject: [PATCH] 2549 【BUG】【1.3】玩家登录时过天处理离线期间所获得的助战仙缘币异常

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ElderBattlefield.py |   25 +++++++++++++++++--------
 1 files changed, 17 insertions(+), 8 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 9ca4291..6a7f55a 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
@@ -164,7 +164,9 @@
             GameWorld.GetGameWorld().SetGameWorldDict(FBPlayerDict_TotalExp % playerID, 0)
             GameWorld.GetGameWorld().SetGameWorldDict(FBPlayerDict_TotalExpPoint % playerID, 0)
             EventReport.WriteEvent_FB(curPlayer, ChConfig.Def_FBMapID_ElderBattlefield, 0, ChConfig.CME_Log_Start)
-    
+    else:
+        rebornBuffLV = GameWorld.GetGameFB().GetPlayerGameFBDictByKey(playerID, FBPlayerDict_RebornBuffLV)
+        __DoAddRebornBuff(curPlayer, rebornBuffLV, tick)
     DoFBHelp(curPlayer, tick)
     return
 
@@ -198,7 +200,8 @@
     for buffID in buffIDList:
         BuffSkill.DelBuffBySkillID(curPlayer, buffID, tick)
     
-    
+    skillBuffID = IpyGameDataPY.GetFuncCfg('ElderBattlefieldRobot', 3)
+    BuffSkill.DelBuffBySkillID(curPlayer, skillBuffID, tick)
     return
 
 
@@ -219,6 +222,7 @@
     gameFB = GameWorld.GetGameFB()
     gameFB.SetPlayerGameFBDict(playerID, FBPlayerDict_ContKillCntEx, 0)
     gameFB.SetPlayerGameFBDict(playerID, FBPlayerDict_EnemyID, 0)
+    gameFB.SetPlayerGameFBDict(playerID, FBPlayerDict_RebornBuffLV, 0)
     return
 
 
@@ -386,7 +390,7 @@
     emptySpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace)
     mapID = GameWorld.GetMap().GetMapID()
     if mapID != ChConfig.Def_FBMapID_ElderBattlefield or isLogin or emptySpace < needSpace:
-        PlayerControl.SendMailByKey("ElderBattlefieldMail", [curPlayer.GetPlayerID()], rewardItemList)
+        PlayerControl.SendMailByKey("ElderBattlefieldMail" if mapID == ChConfig.Def_FBMapID_ElderBattlefield else 'ElderBattlefieldMail2', [curPlayer.GetPlayerID()], rewardItemList)
     else:
         for itemID, itemCnt, isBind in rewardItemList:
             ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, isBind, [IPY_GameWorld.rptItem], event=["ElderBattlefield", False, {}])
@@ -504,6 +508,9 @@
         # 击杀方处理
         killCnt = gameFB.GetPlayerGameFBDictByKey(playerID, FBPlayerDict_KillCnt) + 1  # 击杀数
         gameFB.SetPlayerGameFBDict(playerID, FBPlayerDict_KillCnt, killCnt)
+        if killCnt == 1:#首杀提示
+            PlayerControl.NotifyCode(atkobj, 'AncientBattlefield_10', [1])
+        
         contKillCntEx = gameFB.GetPlayerGameFBDictByKey(playerID, FBPlayerDict_ContKillCntEx) + 1  # 连杀数
         gameFB.SetPlayerGameFBDict(playerID, FBPlayerDict_ContKillCntEx, contKillCntEx)
         #连杀广播
@@ -660,18 +667,20 @@
     rebornBuffLV = GameWorld.GetGameFB().GetPlayerGameFBDictByKey(playerID, FBPlayerDict_RebornBuffLV)
     if rebornBuffLV >= IpyGameDataPY.GetFuncCfg('ElderBattlefieldRobot', 4):
         return
-    skillBuffID = IpyGameDataPY.GetFuncCfg('ElderBattlefieldRobot', 3) + rebornBuffLV
+    __DoAddRebornBuff(curPlayer, rebornBuffLV+1, tick)
+    return
+
+def __DoAddRebornBuff(curPlayer, rebornBuffLV, tick):
+    skillBuffID = IpyGameDataPY.GetFuncCfg('ElderBattlefieldRobot', 3) + rebornBuffLV - 1
     skillBuff = GameWorld.GetGameData().GetSkillBySkillID(skillBuffID)
     if not skillBuff:
         GameWorld.Log("上古复活加buff   找不到技能%s" % skillBuffID)
         return
-    GameWorld.GetGameFB().SetPlayerGameFBDict(playerID, FBPlayerDict_RebornBuffLV, rebornBuffLV+1)
+    playerID = curPlayer.GetID()
+    GameWorld.GetGameFB().SetPlayerGameFBDict(playerID, FBPlayerDict_RebornBuffLV, rebornBuffLV)
     buffType = SkillCommon.GetBuffType(skillBuff)
     BuffSkill.DoAddBuff(curPlayer, buffType, skillBuff, tick)
-    
-    
     return
-
 
 ## 设置玩家随机坐标点
 def __SetPlayerRandomPos(curPlayer):

--
Gitblit v1.8.0