| | |
| | | #
|
| | | ##@package Skill.PassiveTrigger.PassiveEff_5004
|
| | | #
|
| | | # @todo:概率随机移除随机目标身上某种buff
|
| | | # @todo:概率移除随机目标身上某种类型buff
|
| | | # @author hxp
|
| | | # @date 2025-09-23
|
| | | # @version 1.0
|
| | | #
|
| | | # 详细描述: 概率随机移除随机目标身上某种buff
|
| | | # 详细描述: 概率移除随机目标身上某种类型buff
|
| | | #
|
| | | #-------------------------------------------------------------------------------
|
| | | #"""Version = 2025-09-23 18:30"""
|
| | |
| | |
|
| | | def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs):
|
| | | # buff技能类型 移除个数,0为全部 敌友,1-敌方;2-友方 随机目标个数 概率
|
| | | skillType = curEffect.GetEffectValue(0) # buff技能类型
|
| | | skillTypeList = curEffect.GetEffectValue(0) # buff技能类型
|
| | | delBuffCnt = curEffect.GetEffectValue(1) # 移除个数,0为全部
|
| | | isFriend = curEffect.GetEffectValue(2) # 敌友,0-敌方;1-友方
|
| | | delObjCnt = curEffect.GetEffectValue(3) # 随机目标个数
|
| | |
| | | for index in range(buffMgr.GetBuffCount()):
|
| | | buff = buffMgr.GetBuffByIndex(index)
|
| | | skillData = buff.GetSkillData()
|
| | | if skillData.GetSkillType() != skillType:
|
| | | if skillData.GetSkillType() not in skillTypeList:
|
| | | continue
|
| | | if skillData.GetDispersedLimit():
|
| | | continue
|
| | | buffList.append(buff)
|
| | |
|
| | | if buffList:
|
| | | objBuffList.append([tagObj, buffList])
|
| | |
|
| | | GameWorld.DebugLog("概率随机移除随机目标身上某种buff: skillType=%s,objLen=%s" % (skillType, len(objBuffList)))
|
| | | GameWorld.DebugLog("概率随机移除随机目标身上某种buff: skillTypeList=%s,objLen=%s" % (skillTypeList, len(objBuffList)))
|
| | | if not objBuffList:
|
| | | return
|
| | |
|