| | |
| | | if SkillShell.GetSkillFireAim(useSkill) == ChConfig.Def_UseSkillAim_Obj:
|
| | | # 主目标对象判定, 不能释放则不进入队列
|
| | | curSkillUseTag = SkillShell.GetSkillAffectTag(useSkill)
|
| | | hurtTypeList = ChConfig.Def_Dict_UseSkillTag_ObjType.get(curSkillUseTag)
|
| | | if not hurtTypeList:
|
| | | continue
|
| | | |
| | | if tagObjType not in hurtTypeList:
|
| | | continue
|
| | | if curSkillUseTag != ChConfig.Def_UseSkillTag_AppointNPC:
|
| | | hurtTypeList = ChConfig.Def_Dict_UseSkillTag_ObjType.get(curSkillUseTag)
|
| | | if not hurtTypeList:
|
| | | continue
|
| | | |
| | | if tagObjType not in hurtTypeList:
|
| | | continue
|
| | |
|
| | | if triggerDict != {}:
|
| | | if not CheckSkillTrigger(curNPC, triggerDict, index, tick):
|
| | |
| | | return False
|
| | |
|
| | | useSkillList.sort() # 按使用次数优先升序排,使用次数低的优先判断使用
|
| | | #GameWorld.DebugLog('技能使用顺序 = useSkillList%s' % str(useSkillList), curNPC.GetID())
|
| | | GameWorld.DebugLog('技能使用顺序 = useSkillList%s' % str(useSkillList), curNPC.GetID())
|
| | |
|
| | | for useCnt, index, useSkill in useSkillList:
|
| | | if DoNPCUseSkill(curNPC, curTag, useSkill, tagDist, tick):
|