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 | 22 ++++++++++++++--------
1 files changed, 14 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 3b89b2b..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, {}])
@@ -663,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