#!/usr/bin/python
|
# -*- coding: GBK -*-
|
#-------------------------------------------------------------------------------
|
#
|
##@package Skill.PassiveTrigger.PassiveEff_5001
|
#
|
# @todo:buff²ãÊý½áËã³ÖÐøbuff
|
# @author hxp
|
# @date 2025-08-19
|
# @version 1.0
|
#
|
# ÏêϸÃèÊö: buff²ãÊý½áËã³ÖÐøbuff
|
#
|
#-------------------------------------------------------------------------------
|
#"""Version = 2025-08-19 16:00"""
|
#-------------------------------------------------------------------------------
|
|
import TurnBuff
|
|
def DoBuffEffectLogic(turnFight, batObj, curBuff, curEffect, connSkill):
|
singleLayerCnt = max(1, curEffect.GetEffectValue(0)) # µ¥´ÎÏûºÄ²ãÊý/´ÎÊý
|
noDel = curEffect.GetEffectValue(1) # ÊÇ·ñ²»¿Û³ý²ãÊý£¬Ä¬ÈÏ0-¿Û³ý 1-²»¿Û³ý
|
isAll = curEffect.GetEffectValue(2) # ÊÇ·ñ½áËãÊ£ÓàÈ«²¿²ãÊý/´ÎÊý£¬Ä¬ÈÏ0½áËãµ¥´Î
|
|
skillData = curBuff.GetSkillData()
|
nowLayerCnt = curBuff.GetLayer()
|
|
# È«²¿²ã¼¶
|
if isAll:
|
logicCnt = nowLayerCnt / singleLayerCnt
|
updLayerCnt = 0
|
else:
|
logicCnt = 1 # Ö´ÐÐÂß¼´ÎÊý
|
updLayerCnt = nowLayerCnt - singleLayerCnt
|
|
for _ in range(logicCnt):
|
TurnBuff.DoBuffProcess(turnFight, batObj, curBuff)
|
|
# ÏûºÄ²ã¼¶£¬ÓÐÏÞÖÆ²ã¼¶µÄ²Å½øÐÐÏûºÄ
|
if not noDel and skillData.GetLayerCnt():
|
curBuff.SetLayer(max(updLayerCnt, 0))
|
if updLayerCnt <= 0:
|
TurnBuff.DoBuffDel(turnFight, batObj, curBuff)
|
else:
|
TurnBuff.SyncBuffRefresh(turnFight, batObj, curBuff)
|
|
return
|