From 92f7386f43e665d95c95dd92b4cd9fa4bb69a9f7 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期三, 17 七月 2019 09:42:51 +0800
Subject: [PATCH] 8012 子 【2.0.300】【开发】升星功能调整 / 【2.0.300】【后端】升星功能调整

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ElderBattlefield.py |   20 ++++++++++++++------
 1 files changed, 14 insertions(+), 6 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 a25efb3..71090be 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
@@ -35,6 +35,7 @@
 import SkillShell
 import EventReport
 import SkillCommon
+import PlayerWeekParty
 
 import random
 import time
@@ -69,8 +70,10 @@
 FB_Step_Over,  # 副本结束
 ) = range(3)
 
-def OnLogin(curPlayer):
-    OnElderBattlefieldFBResult(curPlayer, True)
+def OnFBPlayerOnLogin(curPlayer):
+    mapID = GameWorld.GetMap().GetMapID()
+    if mapID != ChConfig.Def_FBMapID_ElderBattlefield:
+        OnElderBattlefieldFBResult(curPlayer, True)
     return
 
 def OnElderBattlefieldStateChange(state, tick):
@@ -168,6 +171,7 @@
             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)
+            PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_ElderBattlefield, 1)
     else:
         rebornBuffLV = GameWorld.GetGameFB().GetPlayerGameFBDictByKey(playerID, FBPlayerDict_RebornBuffLV)
         __DoAddRebornBuff(curPlayer, rebornBuffLV, tick)
@@ -380,11 +384,14 @@
 
 def OnElderBattlefieldFBResult(curPlayer, isLogin=False):
     # 玩家处理上古战场结算信息
+    curStage = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_ElderBattlefieldStage, 0)
+    if not curStage:
+        return
     GameWorld.DebugLog('    玩家处理上古战场结算信息 , isLogin=%s' % isLogin, curPlayer.GetPlayerID())
     lineID = 0  #GameWorld.GetGameWorld().GetPropertyID() -1
     fbRewardDict = FBCommon.GetFBLineReward(ChConfig.Def_FBMapID_ElderBattlefield, lineID)
     
-    curStage = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_ElderBattlefieldStage, 0)
+    
     itemList = fbRewardDict.get(curStage, [])
     succIDList = PlayerSuccess.GetCanGetAwardSuccByType(curPlayer, [ShareDefine.SuccType_ElderBattlefieldKill, ShareDefine.SuccType_ElderBattlefieldConKill])
     succAwardDict = PlayerSuccess.GiveSuccAward(curPlayer, succIDList, False)
@@ -402,7 +409,7 @@
         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, {}])
+            ItemControler.GivePlayerItem(curPlayer, itemID, itemCnt, 0, [IPY_GameWorld.rptItem], event=["ElderBattlefield", False, {}])
     
         overDict = {FBCommon.Over_itemInfo:FBCommon.GetJsonItemList(itemList), FBCommon.Over_succItemInfo:FBCommon.GetJsonItemList(succAwardDict.items())}
         FBCommon.NotifyFBOver(curPlayer, ChConfig.Def_FBMapID_ElderBattlefield, lineID, 1, overDict)
@@ -511,6 +518,7 @@
 def DoFBOnKill_Player(atkobj, defender, tick):
     gameFB = GameWorld.GetGameFB()
     atkIsPlayer = atkobj.GetGameObjType() == IPY_GameWorld.gotPlayer
+    baseCnt = IpyGameDataPY.GetFuncCfg('ElderBattlefieldSys', 2)
     addScore = 0
     if atkIsPlayer:
         playerID = atkobj.GetPlayerID()
@@ -526,7 +534,7 @@
         gameFB.SetPlayerGameFBDict(playerID, FBPlayerDict_ContKillCntEx, contKillCntEx)
         #连杀广播
         ckillSysList = IpyGameDataPY.GetFuncCfg('ElderBattlefieldSys', 1)
-        baseCnt = IpyGameDataPY.GetFuncCfg('ElderBattlefieldSys', 2)
+        
         perCnt = IpyGameDataPY.GetFuncCfg('ElderBattlefieldSys', 3)
         if contKillCntEx >= baseCnt and contKillCntEx % perCnt == 0:
             sysIndex = min((contKillCntEx - baseCnt) / perCnt, len(ckillSysList) - 1)
@@ -550,7 +558,7 @@
             if atkIsPlayer:
                 PlayerControl.FBNotify('AncientBattlefield_7', [atkobj.GetName(), defender.GetName(), defContKillCntEx])
             else:
-                PlayerControl.FBNotify('AncientBattlefield_robot', [atkobj.GetNPCID(), atkobj.GetObjID(), defender.GetName(), defContKillCntEx])
+                PlayerControl.FBNotify('AncientBattlefield_robot', [atkobj.GetNPCID(), atkobj.GetID(), defender.GetName(), defContKillCntEx])
         gameFB.SetPlayerGameFBDict(tagPlayerID, FBPlayerDict_ContKillCntEx, 0)
         #记录仇人
         if atkIsPlayer:

--
Gitblit v1.8.0