#!/usr/bin/python
|
# -*- coding: GBK -*-
|
#-------------------------------------------------------------------------------
|
#
|
##@package Skill.PassiveTrigger.PassiveEff_6011
|
#
|
# @todo:Ôö¼Ó±¾´Î¼¼ÄÜÍò·Ö±È£¨¸ù¾Ýbuff²ã¼¶£©
|
# @author hxp
|
# @date 2025-09-24
|
# @version 1.0
|
#
|
# ÏêϸÃèÊö: Ôö¼Ó±¾´Î¼¼ÄÜÍò·Ö±È£¨¸ù¾Ýbuff²ã¼¶£©
|
#
|
#-------------------------------------------------------------------------------
|
#"""Version = 2025-09-24 19:00"""
|
#-------------------------------------------------------------------------------
|
|
import TurnBuff
|
|
def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
|
layerPer = curEffect.GetEffectValue(0) # ÿ²ãÔö¼ÓµÄÍò·Ö±È
|
buffStateList = curEffect.GetEffectValue(1) # buff״̬ [״̬1, ״̬2, ...]
|
checkTag = curEffect.GetEffectValue(2) # buff¼ì²é×Ô¼º»¹ÊǶԷ½£º 0-×Ô¼º£¬1-¶Ô·½
|
isDelBuff = curEffect.GetEffectValue(3) # ´¥·¢Ð§¹ûºóÊÇ·ñ¿Û³ýbuff
|
if not buffStateList:
|
return
|
|
if isDelBuff:
|
if "turnFight" not in skillkwargs:
|
return
|
turnFight = skillkwargs["turnFight"]
|
|
layerTotal = 0
|
buffObj = defender if checkTag else attacker
|
buffMgr = buffObj.GetBuffManager()
|
for buffState in buffStateList:
|
for buff in buffMgr.FindBuffListByState(buffState)[::-1]:
|
layerTotal += buff.GetLayer()
|
if isDelBuff:
|
TurnBuff.DoBuffDel(turnFight, buffObj, buff, connSkill)
|
|
return layerTotal * layerPer
|