From f089bf39d557fc228f7bd3b2eb8c85c7b402e7dc Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 02 十一月 2018 18:40:13 +0800
Subject: [PATCH] 4575 脱机挂测试

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/ChNPC.py |   26 +++++++++++++++++++-------
 1 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/ChNPC.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/ChNPC.py
index 3ef7bf5..a575402 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/ChNPC.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/ChNPC.py
@@ -97,6 +97,13 @@
     callFunc(curNPC,HurtType,HurtID)
     return
 
+def OnNPCSetDead(curNPC):
+    callFunc = GameWorld.GetExecFunc(NPCAI, "AIType_%d.%s"%(curNPC.GetAIType(), "OnNPCSetDead"))
+    if callFunc == None:
+        return None
+    callFunc(curNPC)
+    return
+
 def OnNPCReborn(curNPC):
     FBLogic.OnNPCRebornInFB(curNPC)
     callFunc = GameWorld.GetExecFunc(NPCAI, "AIType_%d.%s"%(curNPC.GetAIType(), "OnNPCReborn"))
@@ -140,15 +147,15 @@
     gameWorldIndex = GameWorld.GetGameWorld().GetCurGameWorldIndex()
     GameWorld.Log("NPC Initing...FB %d" % gameWorldIndex)
     mapID = GameWorld.GetMap().GetMapID()
+    hideNPCIDList = [] # 需要隐藏的NPCID列表
     # 由于某些常规线boss区域要重复利用,所以活动线独立,不开放给玩家,仅特定活动时系统传入
     activityMapLineDict = IpyGameDataPY.GetFuncEvalCfg("MapLine", 2, {})
     if mapID in activityMapLineDict:
         activityLineID = max(0, activityMapLineDict[mapID] - 1)
-    hideNPCIDList = [] # 需要隐藏的NPCID列表
-    if gameWorldIndex == activityLineID:
-        hideNPCIDList = IpyGameDataPY.GetFuncEvalCfg("MapLine", 3)
-        GameWorld.Log("    hideNPCIDList=%s" % hideNPCIDList)
-        
+        if gameWorldIndex == activityLineID:
+            hideNPCIDList = IpyGameDataPY.GetFuncEvalCfg("MapLine", 3)
+            GameWorld.Log("    hideNPCIDList=%s" % hideNPCIDList)
+            
     gameNPC = GameWorld.GetNPCManager()
     npcCount = gameNPC.GetNPCCount()
     for i in xrange(npcCount):
@@ -199,7 +206,11 @@
             
             if curNPC == None:
                 continue
-
+            
+            #2018.10.9修改:增加boss条件过滤,用标试点刷出来的boss也是召唤兽,放在bossAI中处理,此处不处理
+            if ChConfig.IsGameBoss(curNPC):
+                continue
+            
         normal_NPC_List.append(curNPC)
     
     for curNPC in normal_NPC_List:
@@ -287,9 +298,10 @@
         if curNPC.GetType() == IPY_GameWorld.ntElf:
             continue
         
-        if curNPC.GetOwner() == None:
+        if curNPC.GetOwner() == None and not ChConfig.IsGameBoss(curNPC):
             #2009.8.17修改
             #如果一个召唤兽的主人为None, 划归为普通NPC, 为了减少副本中的CPU使用率
+            #2018.10.9修改:增加boss条件过滤,用标试点刷出来的boss也是召唤兽,也需要处理
             continue
         
         if not curNPC.IsAlive():

--
Gitblit v1.8.0