From ad158391ff62df48198a5411e5950e578dc3c43c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 11 四月 2019 14:42:21 +0800
Subject: [PATCH] 6459 【后端】【2.0】缥缈仙域开发单(可进入跨服妖王地图支持分区,增加竞争归属逻辑)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCustomRefresh.py |   41 ++++++++++++++++++++++++++---------------
 1 files changed, 26 insertions(+), 15 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCustomRefresh.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCustomRefresh.py
index 2493ede..cc68643 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCustomRefresh.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCustomRefresh.py
@@ -18,6 +18,7 @@
 import ReadChConfig
 import GameLogic_SealDemon
 import GameLogic_ZhuXianBoss
+import GameLogic_CrossDemonKing
 import PlayerControl
 import IPY_GameWorld
 import IpyGameDataPY
@@ -481,24 +482,34 @@
     
     refreshMark = npcRefresh.GetRefreshMark()
     lineID = GameWorld.GetGameWorld().GetLineID()
-    bossIpyData = IpyGameDataPY.GetIpyGameDataByCondition('BOSSInfo', {'RefreshMark':refreshMark, 'MapID':mapID}, isLogNone=False)
-    if not bossIpyData:
-        return
-    
-    stoneNPCID = bossIpyData.GetStoneNPCID()
-    bossID = bossIpyData.GetNPCID()
-    if not bossID and not stoneNPCID:
-        return
-    
-    if mapID not in ChConfig.Def_CrossZoneMapTableName:
-        return
-    tableName = ChConfig.Def_CrossZoneMapTableName[mapID]
     realMapID = GameWorld.GetGameWorld().GetRealMapID()
     copyMapID = GameWorld.GetGameWorld().GetCopyMapID()
-    zoneIpyData = IpyGameDataPY.GetIpyGameDataNotLog(tableName, realMapID, mapID, copyMapID)
-    if not zoneIpyData:
+    
+    if mapID == ChConfig.Def_FBMapID_CrossDemonKing:
+        bossID = GameLogic_CrossDemonKing.GetCurFBLineBOSSID(lineID)
+        stoneNPCID = 0
+        zoneID = GameLogic_CrossDemonKing.GetCurFBLineZoneID()
+        
+    else:
+        bossIpyData = IpyGameDataPY.GetIpyGameDataByCondition('BOSSInfo', {'RefreshMark':refreshMark, 'MapID':mapID}, isLogNone=False)
+        if not bossIpyData:
+            return
+        
+        stoneNPCID = bossIpyData.GetStoneNPCID()
+        bossID = bossIpyData.GetNPCID()
+
+        if mapID not in ChConfig.Def_CrossZoneMapTableName:
+            return
+        tableName = ChConfig.Def_CrossZoneMapTableName[mapID]
+        zoneIpyData = IpyGameDataPY.GetIpyGameDataNotLog(tableName, realMapID, mapID, copyMapID)
+        if not zoneIpyData:
+            return
+        zoneID = zoneIpyData.GetZoneID()
+        
+    if not zoneID:
         return
-    zoneID = zoneIpyData.GetZoneID()
+    if not bossID and not stoneNPCID:
+        return
     
     gameFB = GameWorld.GetGameFB()
     bosskey = ShareDefine.Def_Notify_WorldKey_GameWorldBossRebornCross % (zoneID, bossID)

--
Gitblit v1.8.0