From 9f0bb9a7b8a2b1e7aaeaa50df4cebf6bd315fd13 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 17 一月 2019 02:14:42 +0800
Subject: [PATCH] 5722 【后端】【1.5】跨服BOSS开发(进入跨服增加设置不可被攻击)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCAI/AICommon.py |   42 +++++++++++++++++++++++-------------------
 1 files changed, 23 insertions(+), 19 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCAI/AICommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCAI/AICommon.py
index 7095fc6..09a4ecf 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCAI/AICommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCAI/AICommon.py
@@ -333,18 +333,21 @@
         useSkill = changeSkill
         #GameWorld.DebugLog("----随机技能 %s"%useSkill.GetSkillID())
       
-    if PetControl.IsPet(curNPC):
-        petOwner = PetControl.GetPetOwner(curNPC)
-        
-        if petOwner == None:
-            GameWorld.ErrLog("宠物(%s)找不到主人"%curNPC.GetRolePet().PetID)
-            return False
-        
-        #血量条件判定
-        effect = SkillCommon.GetSkillEffectByEffectID(useSkill, ChConfig.Def_Skill_Effect_HPPerLimit)
-        if effect:
-            if GameObj.GetHP(petOwner)*ChConfig.Def_MaxRateValue/GameObj.GetMaxHP(petOwner) >= effect.GetEffectValue(0):
-                return False
+    #===========================================================================
+    # 改成被动触发
+    # if PetControl.IsPet(curNPC):
+    #    petOwner = PetControl.GetPetOwner(curNPC)
+    #    
+    #    if petOwner == None:
+    #        GameWorld.ErrLog("宠物(%s)找不到主人"%curNPC.GetRolePet().PetID)
+    #        return False
+    #    
+    #    #血量条件判定
+    #    effect = SkillCommon.GetSkillEffectByEffectID(useSkill, ChConfig.Def_Skill_Effect_HPPerLimit)
+    #    if effect:
+    #        if GameObj.GetHP(petOwner)*ChConfig.Def_MaxRateValue/GameObj.GetMaxHP(petOwner) >= effect.GetEffectValue(0):
+    #            return False
+    #===========================================================================
     
     skillTag = SkillShell.GetSkillAffectTag(useSkill)
     skillAim = SkillShell.GetSkillFireAim(useSkill)
@@ -480,12 +483,13 @@
         if SkillShell.GetSkillFireAim(useSkill) == ChConfig.Def_UseSkillAim_Obj:
             # 主目标对象判定, 不能释放则不进入队列
             curSkillUseTag = SkillShell.GetSkillAffectTag(useSkill)
-            hurtTypeList = ChConfig.Def_Dict_UseSkillTag_ObjType.get(curSkillUseTag)
-            if not hurtTypeList:
-                continue
-            
-            if tagObjType not in hurtTypeList:
-                continue
+            if curSkillUseTag != ChConfig.Def_UseSkillTag_AppointNPC:
+                hurtTypeList = ChConfig.Def_Dict_UseSkillTag_ObjType.get(curSkillUseTag)
+                if not hurtTypeList:
+                    continue
+                
+                if tagObjType not in hurtTypeList:
+                    continue
         
         if triggerDict != {}:
             if not CheckSkillTrigger(curNPC, triggerDict, index, tick):
@@ -502,7 +506,7 @@
         return False
     
     useSkillList.sort() # 按使用次数优先升序排,使用次数低的优先判断使用
-    #GameWorld.DebugLog('技能使用顺序 = useSkillList%s' % str(useSkillList), curNPC.GetID())
+    GameWorld.DebugLog('技能使用顺序 = useSkillList%s' % str(useSkillList), curNPC.GetID())
     
     for useCnt, index, useSkill in useSkillList:
         if DoNPCUseSkill(curNPC, curTag, useSkill, tagDist, tick):

--
Gitblit v1.8.0