| | |
| | | # @date 2024-02-01
|
| | | # @version 1.0
|
| | | #
|
| | | # 详细描述: 命令第一位置灵兽立即使用一次技能(具体效果由灵兽技能决定),回合制适用
|
| | | # 详细描述: 命令第一位置灵兽立即使用一次技能(具体效果由灵兽技能决定),效果1: A值-灵兽技能是否重新进入技能CD,回合制适用
|
| | | #
|
| | | #-------------------------------------------------------------------------------
|
| | | #"""Version = 2024-02-01 15:30"""
|
| | |
| | | if not attacker.GetDictByKey(ChConfig.Def_Obj_Dict_TurnFightTimeline):
|
| | | return
|
| | |
|
| | | # 默认第一位置灵兽强制使用技能1,并重新进入CD
|
| | | # 默认第一位置灵兽强制使用技能1
|
| | | curPet = PetControl.GetFightPet(attacker, 1)
|
| | | if not curPet:
|
| | | return
|
| | |
| | | tagObj = TurnAttack.GetEnemyObj(attacker)
|
| | | if not tagObj:
|
| | | return
|
| | | |
| | | skillEffect = curSkill.GetEffect(0)
|
| | | isCD = skillEffect.GetEffectValue(0) # 是否重新进入冷却时间
|
| | | remainTime = None
|
| | |
|
| | | useSkill = None
|
| | | skillManager = curPet.GetSkillManager()
|
| | |
| | | if SkillCommon.isPassiveSkill(skill):
|
| | | continue
|
| | |
|
| | | remainTime = skill.GetRemainTime()
|
| | | skill.SetRemainTime(0)
|
| | | useSkill = skill
|
| | | break
|
| | |
| | |
|
| | | BaseAttack.DoSkillEx_AttackSucess(attacker, defender, curSkill, tick, isEnhanceSkill)
|
| | | tagDist = 0
|
| | | return AICommon.DoNPCUseSkill(curPet, tagObj, useSkill, tagDist, tick)
|
| | | isOK = AICommon.DoNPCUseSkill(curPet, tagObj, useSkill, tagDist, tick)
|
| | | if isOK:
|
| | | # 不重新进入CD的话,还原原剩余时间
|
| | | if not isCD and remainTime != None:
|
| | | skill.SetRemainTime(remainTime)
|
| | | else:
|
| | | # 释放失败,还原原剩余时间
|
| | | if remainTime != None:
|
| | | skill.SetRemainTime(remainTime)
|
| | | |
| | | return isOK
|
| | |
|