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