1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/python
# -*- coding: GBK -*-
#-------------------------------------------------------------------------------
#
##@package Skill.PassiveTrigger.PassiveEff_6032
#
# @todo:ÌáÉýÖÎÁƼ¼ÄÜ×îÖÕÖÎÁÆÐ§¹û£¨¸ù¾ÝÄ¿±êbuffÀàÐͲãÊý£©
# @author hxp
# @date 2025-12-24
# @version 1.0
#
# ÏêϸÃèÊö: ÌáÉýÖÎÁƼ¼ÄÜ×îÖÕÖÎÁÆÐ§¹û£¨¸ù¾ÝÄ¿±êbuffÀàÐͲãÊý£©
#
#-------------------------------------------------------------------------------
#"""Version = 2025-12-24 13:50"""
#-------------------------------------------------------------------------------
 
def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
    addPerLayer = curEffect.GetEffectValue(0) # Ã¿²ãÌáÉý°Ù·Ö±È
    skillTypeList = curEffect.GetEffectValue(1) # Ä¿±êbuffÀàÐÍ[ÀàÐÍ1, 2, ...]
    
    layerTotal = 0
    buffMgr = defender.GetBuffManager()
    for index in range(buffMgr.GetBuffCount()):
        buff = buffMgr.GetBuffByIndex(index)
        skillData = buff.GetSkillData()
        if skillData.GetSkillType() not in skillTypeList:
            continue
        layerTotal += max(1, buff.GetLayer())
        
    return layerTotal * addPerLayer