| | |
| | | if not skillID:
|
| | | return
|
| | |
|
| | | skillType = useSkill.GetSkillType()
|
| | | byTriggerWay = kwargs["byTriggerWay"] if "byTriggerWay" in kwargs else 0 # 不使用参数名 triggerWay, 防止传递过程中参数混乱
|
| | | if not curBatObj.IsAlive():
|
| | | if useSkill.GetSkillType() == ChConfig.Def_SkillType_Revive and useSkill.GetTagAim() == ChConfig.SkillTagAim_Self:
|
| | | if skillType == ChConfig.Def_SkillType_Revive and useSkill.GetTagAim() == ChConfig.SkillTagAim_Self:
|
| | | GameWorld.DebugLogEx("死亡时使用复活自己的技能! skillID=%s", skillID)
|
| | | else:
|
| | | if byTriggerWay in ChConfig.DeadCanTriggerWayList:
|
| | |
| | | if not tagObjList and isRemove:
|
| | | return
|
| | |
|
| | | if tagObjList and skillType == ChConfig.Def_SkillType_Revive:
|
| | | for tagObj in tagObjList[::-1]:
|
| | | if tagObj.CheckInState(ChConfig.BatObjState_RebornLimit):
|
| | | GameWorld.DebugLogEx(" 目标被禁止复活不处理! tagID=%s", tagObj.GetID())
|
| | | tagObjList.remove(tagObj)
|
| | | |
| | | if not tagObjList:
|
| | | # 可扩展其他目标选择,如复活技能没有死亡单位时则使用另外的效果
|
| | | GameWorld.DebugLogEx("找不到技能目标! skillID=%s,mapID=%s,funcLineID=%s", skillID, turnFight.mapID, turnFight.funcLineID, turnFight.getReqPlayerID())
|
| | | if useSkill.GetSkillType() == ChConfig.Def_SkillType_Revive:
|
| | | if skillType == ChConfig.Def_SkillType_Revive and not isinstance(useSkill, IpyGameDataPY.IPY_Skill):
|
| | | otherEff = useSkill.GetEffectByID(ChConfig.SkillEff_ReviveNoUse)
|
| | | if otherEff:
|
| | | otherSkillID = otherEff.GetEffectValue(0)
|