From c5b0df325fe592a22c885a313eee2219d2ae54b5 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 04 六月 2019 20:21:57 +0800
Subject: [PATCH] 6603 【后端】【2.0】增加新版的sp和被动技能 - 被动触发被动的处理
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py | 20 ++++++++++++++++----
1 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py
index 9fb8a60..03a5c1c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py
@@ -918,7 +918,7 @@
if not connSkill.GetFuncType():
# 非功能类技能,避免死循环
return 0, 0
- if SkillCommon.isPassiveSkill(connSkill):
+ if SkillCommon.isPassiveSkill(connSkill) and not PassPassiveLimit(connSkill):
stopPassiveSkill = True
if SkillCommon.GetUsingPassiveSkill(attacker) and triggerType != ChConfig.TriggerType_BuffState:
@@ -1164,7 +1164,8 @@
if connSkill and SkillCommon.isPassiveSkill(connSkill):
#GameWorld.DebugLog("被动技能不能再次触发被动技能")
#return 0
- stopPassiveSkill = True
+ if not PassPassiveLimit(connSkill):
+ stopPassiveSkill = True
passiveEff = GetPassiveEffManager().GetPassiveEff(attacker)
if not passiveEff:
@@ -1390,7 +1391,7 @@
if not useSkill.GetFuncType():
# 非功能类技能,避免死循环
return
- if SkillCommon.isPassiveSkill(useSkill):
+ if SkillCommon.isPassiveSkill(useSkill) and not PassPassiveLimit(useSkill):
#GameWorld.DebugLog("被动技能不能再次触发被动技能")
#return
stopPassiveSkill = True
@@ -1476,7 +1477,8 @@
if useSkill and SkillCommon.isPassiveSkill(useSkill):
#GameWorld.DebugLog("被动技能不能再次触发被动技能")
#return 0
- stopPassiveSkill = True
+ if not PassPassiveLimit(useSkill):
+ stopPassiveSkill = True
passiveEff = GetPassiveEffManager().GetPassiveEff(attacker)
@@ -1623,3 +1625,13 @@
skillsDict[skillID] = skillsDict.get(skillID, 0) + 1
return skillsDict
+
+# 默认情况下 被动不应该再触发(或加强)被动技能,会造成额外触发或者死循环
+# 但也有一些特殊情况 放在此处过滤
+def PassPassiveLimit(useSkill):
+ # 如灼烧是被动技能 但可以被不断的强化
+ if useSkill.GetSkillType() != ChConfig.Def_SkillType_PassiveLstDepBuff:
+ return False
+ return True
+
+
--
Gitblit v1.8.0