| | |
| | | return BaseAttack.DoSkillEx_AttackSucess(attacker, defender, curSkill, tick, isEnhanceSkill)
|
| | |
|
| | | delSuccess = False
|
| | | buffSkill = None
|
| | | buffType = 0
|
| | |
|
| | | # 优先清理指定技能
|
| | | theSkillID = curSkill.GetEffect(0).GetEffectValue(1)
|
| | | mark = curSkill.GetEffect(0).GetEffectValue(1)
|
| | | theSkillID = mark if mark > 10 else 0
|
| | | cleanCnt = mark if 0< mark <= 10 else 1
|
| | | if theSkillID:
|
| | | if curSkill.GetEffect(0).GetEffectValue(1):
|
| | | findBuff = SkillCommon.FindBuffByID(defender, theSkillID)
|
| | |
| | | findBuff = SkillCommon.FindBuffByOwner(defender, theSkillID, attacker.GetID(), attacker.GetGameObjType())
|
| | | if findBuff:
|
| | | delSuccess = True
|
| | | buffSkill = findBuff.GetSkill()
|
| | | buffType = ChConfig.Def_SkillBuffList.get(buffSkill.GetSkillType())
|
| | | else:
|
| | | # 某类技能中的一个
|
| | | delSuccess, buffSkill, buffType = ClearBySkillType(curSkill, defender, tick)
|
| | | for _ in range(cleanCnt):
|
| | | delResult = ClearBySkillType(curSkill, defender, tick)
|
| | | if delResult:
|
| | | delSuccess = True
|
| | |
|
| | | if not delSuccess:
|
| | | # 没有可清除BUFF也进入CD
|
| | |
| | | #刷新玩家属性
|
| | | playerControl = PlayerControl.PlayerControl(defender)
|
| | |
|
| | | if buffType == IPY_GameWorld.bfActionBuff:
|
| | | playerControl.RefreshPlayerActionState()
|
| | | if BuffSkill.CheckBuffRefresh(buffSkill, False):
|
| | | playerControl.RefreshPlayerAttrByBuff()
|
| | | else:
|
| | | playerControl.RefreshPlayerAttrByBuff()
|
| | | #NPC
|
| | | elif curObjType == IPY_GameWorld.gotNPC:
|
| | | npcControl = NPCCommon.NPCControl(defender)
|
| | |
|
| | | if buffType == IPY_GameWorld.bfActionBuff:
|
| | | npcControl.RefreshNPCActionState()
|
| | | if BuffSkill.CheckBuffRefresh(buffSkill, False):
|
| | | npcControl.RefreshNPCAttrState()
|
| | | else:
|
| | | npcControl.RefreshNPCAttrState()
|
| | |
|
| | | return BaseAttack.DoSkillEx_AttackSucess(attacker, defender, curSkill, tick, isEnhanceSkill)
|
| | |
| | | skillTypeList = [skillType]
|
| | |
|
| | | delSuccess = False
|
| | | buffSkill = None
|
| | | buffType = 0
|
| | | |
| | | for skillType in skillTypeList:
|
| | |
|
| | | buffType = ChConfig.Def_SkillBuffList.get(skillType)
|
| | |
| | | SkillShell.ClearBuffEffectBySkillID(defender, skillID, ownerID, ownerType)
|
| | | delSuccess = True
|
| | | break
|
| | | return delSuccess, buffSkill, buffType
|
| | | return delSuccess
|
| | | |