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