#!/usr/bin/python
|
# -*- coding: GBK -*-
|
#-------------------------------------------------------------------------------
|
#
|
##@package Skill.PassiveTrigger.PassiveEff_5020
|
#
|
# @todo:Òý±¬Ä¿±êËùÓгÖÐøbuffËùÓлغÏЧ¹û£¨Ö»Ëã°´»ØºÏ½áËãµÄ£©
|
# @author hxp
|
# @date 2025-10-28
|
# @version 1.0
|
#
|
# ÏêϸÃèÊö: Òý±¬Ä¿±êËùÓгÖÐøbuffËùÓлغÏЧ¹û£¨Ö»Ëã°´»ØºÏ½áËãµÄ£©
|
#
|
#-------------------------------------------------------------------------------
|
#"""Version = 2025-10-28 10:30"""
|
#-------------------------------------------------------------------------------
|
|
import TurnBuff
|
import GameWorld
|
import TurnPassive
|
import ChConfig
|
|
def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs):
|
#effectID = curEffect.GetEffectID()
|
noDel = curEffect.GetEffectValue(0)
|
|
buffList = []
|
buffMgr = tagObj.GetBuffManager()
|
for index in range(buffMgr.GetBuffCount()):
|
buff = buffMgr.GetBuffByIndex(index)
|
skillData = buff.GetSkillData()
|
if skillData.GetSkillType() != ChConfig.Def_SkillType_LstDepBuff:
|
continue
|
isByTurn = False # Ö»Ëã°´»ØºÏ½áËãµÄ
|
for effIndex in range(skillData.GetEffectCount()):
|
effect = skillData.GetEffect(effIndex)
|
if effect.GetEffectID() == 5001:
|
isByTurn = True
|
break
|
if not isByTurn:
|
continue
|
buffList.append(buff)
|
|
FinalDamPer = TurnPassive.GetTriggerEffectValue(turnFight, batObj, tagObj, ChConfig.AttrID_FinalDamPer, connSkill)
|
GameWorld.DebugLog("Òý±¬Ä¿±êËùÓгÖÐøbuffËùÓлغÏЧ¹û: tagID=%s,buffCnt=%s,noDel=%s,FinalDamPer=%s" % (tagObj.GetID(), len(buffList), noDel, FinalDamPer))
|
for buff in buffList:
|
GameWorld.DebugLog("buffID=%s,RemainTime=%s" % (buff.GetBuffID(), buff.GetRemainTime()))
|
for _ in range(buff.GetRemainTime()):
|
TurnBuff.DoBuffProcess(turnFight, tagObj, buff, FinalDamPer=FinalDamPer)
|
if noDel:
|
continue
|
TurnBuff.DoBuffDel(turnFight, tagObj, buff)
|
|
return True
|