#!/usr/bin/python # -*- coding: GBK -*- #------------------------------------------------------------------------------- # ##@package Skill.PassiveTrigger.PassiveEff_5005 # # @todo:ÒÆ³ý/ÇýɢĿ±êÉíÉÏijÖÖÀàÐÍbuff # @author hxp # @date 2025-10-28 # @version 1.0 # # ÏêϸÃèÊö: ÒÆ³ý/ÇýɢĿ±êÉíÉÏijÖÖÀàÐÍbuff # #------------------------------------------------------------------------------- #"""Version = 2025-10-28 17:00""" #------------------------------------------------------------------------------- import GameWorld import TurnBuff import random def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs): skillTypeList = curEffect.GetEffectValue(0) # buff¼¼ÄÜÀàÐÍ delBuffCnt = curEffect.GetEffectValue(1) # ÒÆ³ý¸öÊý£¬0Ϊȫ²¿ buffList = [] buffMgr = tagObj.GetBuffManager() for index in range(buffMgr.GetBuffCount()): buff = buffMgr.GetBuffByIndex(index) skillData = buff.GetSkillData() if skillData.GetSkillType() not in skillTypeList: continue if skillData.GetDispersedLimit(): continue buffList.append(buff) if delBuffCnt and delBuffCnt < len(buffList): random.shuffle(buffList) # Ëæ»úbuff buffList = buffList[:delBuffCnt] for buff in buffList: GameWorld.DebugLog("ÒÆ³ý/ÇýÉ¢buff: tagID=%s,buffID=%s" % (tagObj.GetID(), buff.GetBuffID())) TurnBuff.DoBuffDel(turnFight, tagObj, buff, connSkill) return True