| | |
| | | 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:
|
| | |
| | | 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:
|
| | |
| | | if not useSkill.GetFuncType():
|
| | | # 非功能类技能,避免死循环
|
| | | return
|
| | | if SkillCommon.isPassiveSkill(useSkill):
|
| | | if SkillCommon.isPassiveSkill(useSkill) and not PassPassiveLimit(useSkill):
|
| | | #GameWorld.DebugLog("被动技能不能再次触发被动技能")
|
| | | #return
|
| | | stopPassiveSkill = True
|
| | |
| | | if useSkill and SkillCommon.isPassiveSkill(useSkill):
|
| | | #GameWorld.DebugLog("被动技能不能再次触发被动技能")
|
| | | #return 0
|
| | | stopPassiveSkill = True
|
| | | if not PassPassiveLimit(useSkill):
|
| | | stopPassiveSkill = True
|
| | |
|
| | |
|
| | | passiveEff = GetPassiveEffManager().GetPassiveEff(attacker)
|
| | |
| | | skillsDict[skillID] = skillsDict.get(skillID, 0) + 1
|
| | |
|
| | | return skillsDict
|
| | |
|
| | | # 默认情况下 被动不应该再触发(或加强)被动技能,会造成额外触发或者死循环
|
| | | # 但也有一些特殊情况 放在此处过滤
|
| | | def PassPassiveLimit(useSkill):
|
| | | # 如灼烧是被动技能 但可以被不断的强化
|
| | | if useSkill.GetSkillType() != ChConfig.Def_SkillType_PassiveLstDepBuff:
|
| | | return False
|
| | | return True
|
| | |
|
| | |
|