#!/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
|