| | |
| | | 4004:ChConfig.TriggerType_AttackOver, # 攻击(对敌技能)后被动技能被触发 4
|
| | | 4005:ChConfig.TriggerType_AttackAddSkillPer, # 所有攻击伤害(SkillPer)增加,含普攻,计算时 5
|
| | | 4006:ChConfig.TriggerType_SuperHit, # 暴击时 触发技能6,
|
| | | 4007:ChConfig.TriggerType_SuperHitValue, # 暴击时 增加暴击值百分比7,
|
| | | 4007:ChConfig.TriggerType_SuperHitPer, # 暴击时 增加暴击值百分比,
|
| | | 4008:ChConfig.TriggerType_AttackAddSkillPer, # 所有攻击伤害(SkillPer)增加,含普攻,计算时 5
|
| | | 4009:ChConfig.TriggerType_HurtObjAddBuff, # 击中玩家(群攻多次触发)8,
|
| | | 4010:ChConfig.TriggerType_ReduceCD, # 减少CD9, #CD
|
| | |
| | | skillList.extend(self.AffectSuperEquipSkillDict.get((triggerType, funcType), []))
|
| | |
|
| | | # 被动再触发被动限制为指定
|
| | | if connSkill and SkillCommon.isPassiveSkill(connSkill):
|
| | | if connSkill and SkillCommon.isPassiveSkill(connSkill) and not PassPassiveLimit(connSkill):
|
| | | return skillList
|
| | |
|
| | | if connSkillID != 0 and connSkillID != ChConfig.Def_SkillID_Somersault:
|
| | |
| | | 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
|
| | |
|
| | |
|