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