| | |
| | | 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)
|
| | |
|
| | |
| | |
|
| | | #不在影响对象列表中
|
| | | if curObjType not in hurtTypeList:
|
| | | return None, None
|
| | | |
| | | if attacker.GetSightLevel() != curObj.GetSightLevel():
|
| | | return None, None
|
| | |
|
| | | #攻击对象
|
| | |
| | |
|
| | | if curPlayerSkill:
|
| | |
|
| | | if not IsSkipSkillCD:
|
| | | if not IsSkipSkillCD(curPlayer, target, curSkill, tick):
|
| | | #设置玩家所学技能冷却CD
|
| | | SkillCommon.SetSkillRemainTime(curPlayerSkill, PlayerControl.GetReduceSkillCDPer(curPlayer), tick, curPlayer)
|
| | | #调用任务触发器
|
| | |
| | |
|
| | | skillHurtLists.append([hurtObj.GetObjID(), hurtObj.GetObjType(), hurtObj.GetAttackType()])
|
| | |
|
| | | #只对第一目标造成某伤害类型时触发技能, 需先存储 skillHurtLists
|
| | | OnHurtTypeTriggerSkillFirstObj(attacker, curSkill, tick)
|
| | | # #持续攻击类BUFF 类剑刃风暴是先给自身一个持续性buff,这一次不算伤害不可触发
|
| | | if curSkill and ChConfig.Def_SkillType_LstPlsBuffAtk != curSkill.GetSkillType():
|
| | | #只对第一目标造成某伤害类型时触发技能, 需先存储 skillHurtLists
|
| | | OnHurtTypeTriggerSkillFirstObj(attacker, curSkill, tick)
|
| | |
|
| | | skillIDSet = set()
|
| | | for hurtList in skillHurtLists:
|
| | |
| | |
|
| | | #释放技能即可处理的 不区分攻击和非攻击
|
| | | PassiveBuffEffMng.OnPassiveSkillTrigger(attacker, defender, curSkill, ChConfig.TriggerType_SkillSuccess, tick)
|
| | | PassiveBuffEffMng.OnPassiveSkillTrigger(attacker, defender, curSkill, ChConfig.TriggerType_SkillSuccessExpend, tick)
|
| | | |
| | | return
|
| | |
|
| | |
|