#!/usr/bin/python # -*- coding: GBK -*- #------------------------------------------------------------------------------- # ##@package Skill.PassiveTrigger.PassiveEff_5501 # # @todo:´¥·¢Êͷż¼ÄÜ£¨Ö¸¶¨buff²ã¼¶£© # @author hxp # @date 2025-11-26 # @version 1.0 # # ÏêϸÃèÊö: ´¥·¢Êͷż¼ÄÜ£¨Ö¸¶¨buff²ã¼¶£© # #------------------------------------------------------------------------------- #"""Version = 2025-11-26 20:30""" #------------------------------------------------------------------------------- import TurnSkill import IpyGameDataPY def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs): skillID = curEffect.GetEffectValue(0) # ¼¼ÄÜID£¬Îª0ʱÊͷű¾¼¼ÄÜ setLayerCnt = curEffect.GetEffectValue(1) # Ö¸¶¨buff²ã¼¶ byTagStateList = curEffect.GetEffectValue(2) # »ò¸ù¾ÝÄ¿±êxx״̬ [״̬1, ״̬2, ...]×ܲ㼶 if byTagStateList: layerTotal = 0 tagBuffMgr = tagObj.GetBuffManager() for index in range(tagBuffMgr.GetBuffCount()): buff = tagBuffMgr.GetBuffByIndex(index) skillData = buff.GetSkillData() if skillData.GetCurBuffState() not in byTagStateList: continue layerTotal += buff.GetLayer() setLayerCnt = layerTotal if setLayerCnt <= 0: return if not skillID: passiveSkill = effSkill else: passiveSkill = IpyGameDataPY.GetIpyGameData("Skill", skillID) if not passiveSkill: return effectID = curEffect.GetEffectID() effSkillID = effSkill.GetSkillID() return TurnSkill.OnUsePassiveSkill(turnFight, batObj, tagObj, passiveSkill, connSkill, effSkillID, effectID, connBuff, setLayerCnt=setLayerCnt)