#!/usr/bin/python # -*- coding: GBK -*- #------------------------------------------------------------------------------- # ##@package Skill.PassiveTrigger.PassiveEff_5023 # # @todo:ÏûºÄij¸öbuff״̬²ã¼¶ # @author hxp # @date 2025-11-20 # @version 1.0 # # ÏêϸÃèÊö: ÏûºÄij¸öbuff״̬²ã¼¶ # #------------------------------------------------------------------------------- #"""Version = 2025-11-20 19:00""" #------------------------------------------------------------------------------- import TurnBuff import GameWorld import TurnSkill def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs): buffState = curEffect.GetEffectValue(0) needLayers = curEffect.GetEffectValue(1) # ´ïµ½¶àÉÙ²ãʱ²ÅÏûºÄ delLayers = curEffect.GetEffectValue(2) # ¿Û³ý²ãÊý exSkillID = curEffect.GetEffectValue(3) # Êͷż¼ÄÜID if not buffState or not needLayers: return curBuff = batObj.GetBuffManager().FindBuffByState(buffState) if not curBuff: return buffLayers = curBuff.GetLayer() if buffLayers < needLayers: GameWorld.DebugLog("buff״̬²ãÊý²»×ã²»´¥·¢! buffState=%s,buffLayers=%s < %s" % (buffState, buffLayers, needLayers)) return updLayer = buffLayers - delLayers GameWorld.DebugLog("¿Û³ýbuff²ãÊͷż¼ÄÜ: buffState=%s,buffLayers=%s,delLayers=%s" % (buffState, buffLayers, delLayers)) if delLayers: TurnBuff.DoBuffLayerChange(turnFight, batObj, curBuff, updLayer, connSkill) if exSkillID: TurnSkill.OnUsePassiveSkill(turnFight, batObj, tagObj, exSkillID, connBuff=connBuff) return True def DoBuffEffectLogic(turnFight, batObj, tagObj, effBuff, curEffect, connSkill, connBuff, **kwargs): effSkill = effBuff.GetSkillData().GetIpyData() return DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs)