From b2c3652b5c42feaaaa0867c44662201db89d9e97 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期一, 03 六月 2019 13:42:20 +0800
Subject: [PATCH] 6969 【2.0】【后端】缥缈仙域先随机再扣活跃

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py |   33 ++++++++++++++++++++-------------
 1 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py
index 3d5775a..b7ce734 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py
@@ -974,20 +974,22 @@
         if not curTag:
             continue
         
-        if curSkillUseTag == ChConfig.Def_UseSkillTag_CanAttackNPC:
-            if NPCCommon.GetNpcObjOwnerIsPlayer(curTag):
-                #npc主人是玩家不能攻击
+        #非自定义场景才需要判断
+        if not attacker.GetDictByKey(ChConfig.Def_PlayerKey_ClientCustomScene):
+            if curSkillUseTag == ChConfig.Def_UseSkillTag_CanAttackNPC:
+                if NPCCommon.GetNpcObjOwnerIsPlayer(curTag):
+                    #npc主人是玩家不能攻击
+                    continue
+            
+            if GameWorld.GetDist(curTag.GetPosX(), curTag.GetPosY(), attacker.GetPosX(), attacker.GetPosY()) > attacker.GetSight():
+                # 最远距离防范
+                GameWorld.DebugLog("#--- 最远距离防范[%s-%s]"%(attacker.GetID(), curTag.GetID()))
                 continue
-    
-        if GameWorld.GetDist(curTag.GetPosX(), curTag.GetPosY(), attacker.GetPosX(), attacker.GetPosY()) > attacker.GetSight():
-            # 最远距离防范
-            GameWorld.DebugLog("#--- 最远距离防范[%s-%s]"%(attacker.GetID(), curTag.GetID()))
-            continue
-    
-        if CheckFunc != None:
-            #检查是否受影响
-            if not CheckFunc(attacker, curTag, curSkill, tick):
-                continue
+            
+            if CheckFunc != None:
+                #检查是否受影响
+                if not CheckFunc(attacker, curTag, curSkill, tick):
+                    continue
         
         resultList.append(curTag)
             
@@ -1093,6 +1095,9 @@
     
     #不在影响对象列表中
     if curObjType not in hurtTypeList:
+        return None, None
+    
+    if attacker.GetSightLevel() != curObj.GetSightLevel():
         return None, None
     
     #攻击对象
@@ -1667,6 +1672,8 @@
     
     #释放技能即可处理的 不区分攻击和非攻击
     PassiveBuffEffMng.OnPassiveSkillTrigger(attacker, defender, curSkill, ChConfig.TriggerType_SkillSuccess, tick)
+    PassiveBuffEffMng.OnPassiveSkillTrigger(attacker, defender, curSkill, ChConfig.TriggerType_SkillSuccessExpend, tick)
+    
     return
 
 

--
Gitblit v1.8.0