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 | 42 +++++++++++++++++++++++++-----------------
1 files changed, 25 insertions(+), 17 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 d9243bb..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
#攻击对象
@@ -1550,7 +1555,7 @@
return True
return False
-
+### 不管什么技能都会到此处
#只对第一目标造成某伤害类型时触发技能
def OnHurtTypeTriggerSkillFirstObj(attacker, curSkill, tick):
if g_skillHurtList.GetHurtCount() == 0:
@@ -1571,7 +1576,8 @@
elif hurtType == ChConfig.Def_HurtType_ThumpHit:
PassiveBuffEffMng.OnPassiveSkillTrigger(attacker, defender, curSkill, ChConfig.TriggerType_ThumpHit, tick)
return
-
+
+
# 根据伤血类型触发技能,群攻只触发一次,放在伤血列表被清之前
def OnHurtTypeTriggerSkill(attacker, target, curSkill, tick):
usePassiveSkillResult = True # 第一次判断不能调用,即代表都不可用无需循环
@@ -1643,8 +1649,6 @@
# 根据伤血类型触发技能,群攻只触发一次,放在伤血列表被清之前
OnHurtTypeTriggerSkill(attacker, defender, curSkill, tick)
- #释放技能即可处理的 不区分攻击和非攻击
- PassiveBuffEffMng.OnPassiveSkillTrigger(attacker, defender, curSkill, ChConfig.TriggerType_SkillSuccess, tick)
# 普通或者可以主动释放的攻击性技能
if not curSkill or (curSkill.GetSkillType() == ChConfig.Def_SkillType_Atk and\
@@ -1666,6 +1670,10 @@
else:
PassiveBuffEffMng.OnPassiveSkillTrigger(attacker, defender, curSkill, ChConfig.TriggerType_SkillOverNoAttack, tick)
+ #释放技能即可处理的 不区分攻击和非攻击
+ PassiveBuffEffMng.OnPassiveSkillTrigger(attacker, defender, curSkill, ChConfig.TriggerType_SkillSuccess, tick)
+ PassiveBuffEffMng.OnPassiveSkillTrigger(attacker, defender, curSkill, ChConfig.TriggerType_SkillSuccessExpend, tick)
+
return
--
Gitblit v1.8.0