From ec45b62795c111074562fab788b5cccdea5d1d1d Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期六, 01 九月 2018 11:25:38 +0800
Subject: [PATCH] fix:3124 守卫人皇、仙盟心法增加仙盟等级限制

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCustomRefresh.py |   26 +++++++++++++++++++-------
 1 files changed, 19 insertions(+), 7 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 6d5e05c..d4d422f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCustomRefresh.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCustomRefresh.py
@@ -340,14 +340,24 @@
 
 def ResetActivityBossRefreshCount():
     ## 重置活动boss刷怪个数
-    gameFB = GameWorld.GetGameFB()
-    gameNPC = GameWorld.GetNPCManager()
+    
+    # gameFb 要取活动线
+    activityLineIndex = 0 # 活动线, 默认1线
+    mapID = GameWorld.GetMap().GetMapID()
+    activityMapLineDict = IpyGameDataPY.GetFuncEvalCfg("MapLine", 2, {})
+    if mapID in activityMapLineDict:
+        activityLineIndex = max(0, activityMapLineDict[mapID] - 1)
+        
+    gameWorld = IPY_GameWorld.IPY_GameWorld(activityLineIndex)
+    gameFB = gameWorld.GetGameFBByFbIndex(activityLineIndex)
+    
+    gameNPC = GameWorld.GetNPCManager() # NPC标识点的无所谓,哪条线都可以,因为都一样
     for i in xrange(gameNPC.GetCustomNPCRefreshCount()):
         npcRefresh = gameNPC.GetCustomNPCRefreshAt(i)
         refreshMark = npcRefresh.GetRefreshMark()
         if gameFB.GetGameFBDictByKey(ChConfig.Map_NPC_ActivityBossRebornCount % refreshMark):
             gameFB.SetGameFBDict(ChConfig.Map_NPC_ActivityBossRebornCount % refreshMark, 0)
-            GameWorld.DebugLog("重置活动boss刷怪点刷怪个数: refreshMark=%s" % refreshMark)
+            GameWorld.DebugLog("重置活动boss刷怪点刷怪个数: activityLineIndex=%s,refreshMark=%s" % (activityLineIndex, refreshMark))
     return
 
 ## 世界boss刷怪
@@ -361,7 +371,8 @@
     mapID = GameWorld.GetMap().GetMapID()
     refreshMark = npcRefresh.GetRefreshMark()
     lineID = GameWorld.GetGameWorld().GetLineID()
-    
+    relatedType, relatedID = 0, 0
+    isNeedShunt = 0
     if mapID == ChConfig.Def_FBMapID_SealDemon:
         bossID = GameLogic_SealDemon.CurFBLineBOSSID()
         stoneNPCID = 0
@@ -371,13 +382,14 @@
             return
         stoneNPCID = ipyData.GetStoneNPCID()
         bossID = ipyData.GetNPCID()
+        relatedType = ipyData.GetRelatedType()
+        relatedID = ipyData.GetRelatedID()
+        isNeedShunt = ipyData.GetIsNeedShunt()
     if not bossID and not stoneNPCID:
         return
     
     gameFB = GameWorld.GetGameFB()
     gameWorldMgr = GameWorld.GetGameWorld()
-    relatedType = ipyData.GetRelatedType()
-    relatedID = ipyData.GetRelatedID()
     isActivityBoss = False
     # 关联日常活动
     if relatedType == 1:
@@ -411,7 +423,7 @@
             rebornBossState = 0
             stoneNPCID = 0 # 活动线暂不刷墓碑
             
-    isNeedShunt = NPCCommon.IsMapNeedBossShunt(mapID) and ipyData.GetIsNeedShunt()
+    isNeedShunt = NPCCommon.IsMapNeedBossShunt(mapID) and isNeedShunt
     
     curNPC = None
     if npcRefresh.GetCount() > 0:

--
Gitblit v1.8.0