From 2e3bfd7836c318ee39e4cdafd33ca2c50d6a7c1d Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期三, 19 十二月 2018 13:37:19 +0800
Subject: [PATCH] 5512 子 【开发】【1.4】跨服竞技场 / 【后端】【1.4】跨服竞技场开发 - 跨服接口和新增跨服竞技副本

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py |   45 +++++++++++++++++++++++++++++++++++++++------
 1 files changed, 39 insertions(+), 6 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py
index bb1d347..8fc44ee 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py
@@ -325,13 +325,13 @@
     
     return
 
-## 副本中召唤兽死亡(被击杀或者时间到等)
+## 副本中NPC死亡(被击杀或者时间到等)
 #  @param curNPC
 #  @return None.
-def DoFB_SummonNPCDead(curNPC):
+def DoFB_NPCDead(curNPC):
     do_FBLogic_ID = __GetFBLogic_MapID(GameWorld.GetMap().GetMapID())
     
-    callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "DoFB_SummonNPCDead"))
+    callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "DoFB_NPCDead"))
     
     if callFunc:
         callFunc(curNPC)
@@ -355,6 +355,16 @@
     
     return
 
+def DoFBOnNPCKill_Player(curNPC, curPlayer, tick):
+    ## 副本内NPC杀人
+    do_FBLogic_ID = __GetFBLogic_MapID(GameWorld.GetMap().GetMapID())
+    
+    callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "DoFBOnNPCKill_Player"))
+    
+    if callFunc:
+        #GameWorld.Log("副本逻辑不可使用   GameLogic_%d"%(mapID))
+        return  callFunc(curNPC, curPlayer, tick)
+    return
 #---------------------------------------------------------------------
 ## 任务专用,触发事件(副本内攻击人)
 #  @param curPlayer 攻击者
@@ -485,7 +495,7 @@
     gameMapID = gameMap.GetMapID()
     
     #如果已经设置过副本功能线路属性,则进入时同步玩家,一般下线重登或者非第一个进入该副本的玩家(如队友)会收到该包
-    if FBCommon.GetHadSetFBPropertyMark():
+    if FBCommon.GetHadSetFBPropertyMark() and gameMap.GetMapFBType() != IPY_GameWorld.fbtSingle:
         PlayerControl.SetFBFuncLineID(curPlayer, FBCommon.GetFBPropertyMark())
         
     #成长NPC所需数据初始化
@@ -523,6 +533,18 @@
     if callFunc != None:
         GameWorld.Log("DoEnterFBLogic...", curPlayer.GetPlayerID())
         callFunc(curPlayer, tick)
+    return
+
+def OnCallHelpBattleOK(curPlayer, tick):
+    ## 召唤助战完成
+    do_FBLogic_ID = __GetFBLogic_MapID(GameWorld.GetMap().GetMapID())
+    
+    callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnCallHelpBattleOK"))
+    
+    if callFunc != None:
+        GameWorld.Log("OnCallHelpBattleOK...", curPlayer.GetPlayerID())
+        callFunc(curPlayer, tick)
+        
     return
 
 def InitFBNPCStrengthenData(curPlayer, gameMap):
@@ -1452,6 +1474,17 @@
 
     return callFunc(curPlayer, mapID, lineID, cnt, isFinish, dataEx)
 
+## 副本助战扫荡结果
+def OnPlayerFBHelpBattleSweepResult(curPlayer, mapID, lineID, helpBattlePlayerDict, addXianyuanCoin, reason):
+    do_FBLogic_ID = __GetFBLogic_MapID(mapID)
+    
+    callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnPlayerFBHelpBattleSweepResult"))
+    
+    if callFunc == None:
+        return False
+
+    return callFunc(curPlayer, mapID, lineID, helpBattlePlayerDict, addXianyuanCoin, reason)
+
 ## 开始公共CD副本扫荡
 def OnStartPubCDFBSweep(curPlayer, mapID, lineID, cnt, dataEx):
     do_FBLogic_ID = __GetFBLogic_MapID(mapID)
@@ -1897,14 +1930,14 @@
 #  @param mapID 玩家
 #  @param tick 当前时间
 #  @return None-未找到,线路id - 0~N
-def GetFBLineMaxPlayerCount(mapID):
+def GetFBLineMaxPlayerCount(mapID, lineID):
     
     do_FBLogic_ID = __GetFBLogic_MapID(mapID)
     
     callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "GetFBLineMaxPlayerCount"))
     
     if callFunc:
-        return callFunc()
+        return callFunc(lineID)
     
     return 0
 

--
Gitblit v1.8.0