#!/usr/bin/python
|
# -*- coding: GBK -*-
|
#-------------------------------------------------------------------------------
|
#
|
##@package Skill.PassiveTrigger.PassiveEff_5511
|
#
|
# @todo:´¥·¢Êͷż¼ÄÜ£¨ÑéÖ¤×Ô¼ºbuff²ã¼¶£©
|
# @author hxp
|
# @date 2025-12-30
|
# @version 1.0
|
#
|
# ÏêϸÃèÊö: ´¥·¢Êͷż¼ÄÜ£¨ÑéÖ¤×Ô¼ºbuff²ã¼¶£©
|
#
|
#-------------------------------------------------------------------------------
|
#"""Version = 2025-12-30 18:30"""
|
#-------------------------------------------------------------------------------
|
|
import TurnBuff
|
import GameWorld
|
import TurnSkill
|
|
def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs):
|
buffState = curEffect.GetEffectValue(0) # buff״̬
|
needLayers = curEffect.GetEffectValue(1) # ´ïµ½¶àÉÙ²ã¿ÉÊÍ·Å
|
passiveSkillID = curEffect.GetEffectValue(2) # Êͷż¼ÄÜID
|
if not buffState or not needLayers or not passiveSkillID:
|
return
|
|
curBuff = batObj.GetBuffManager().FindBuffByState(buffState)
|
if not curBuff:
|
return
|
buffLayers = curBuff.GetLayer()
|
|
if buffLayers < needLayers:
|
GameWorld.DebugLogEx("buff״̬²ãÊý²»×ã²»´¥·¢5511! buffState=%s,buffLayers=%s < %s", buffState, buffLayers, needLayers)
|
return
|
|
#noUseXP = curEffect.GetEffectValue(4) # ÅÆøÊ±ÊÇ·ñ²»ÏûºÄÅÆø
|
#if noUseXP:
|
# kwargs["noUseXP"] = 1
|
if not TurnSkill.OnUsePassiveSkill(turnFight, batObj, tagObj, passiveSkillID, connBuff=connBuff, **kwargs):
|
return
|
|
delLayers = curEffect.GetEffectValue(3) # ¿Û³ý²ãÊý£¬0²»¿Û³ý
|
if delLayers > 0:
|
updLayer = buffLayers - delLayers
|
TurnBuff.DoBuffLayerChange(turnFight, batObj, curBuff, updLayer, connSkill)
|
|
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)
|