1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/python
# -*- coding: GBK -*-
#-------------------------------------------------------------------------------
#
##@package Skill.PassiveTrigger.PassiveEff_5006
#
# @todo:ÒÆ³ýÄ¿±êÉíÉÏijÖÖ״̬buff
# @author hxp
# @date 2025-09-24
# @version 1.0
#
# ÏêϸÃèÊö: ÒƳýÄ¿±êÉíÉÏijÖÖ״̬buff
#
#-------------------------------------------------------------------------------
#"""Version = 2025-09-24 19:00"""
#-------------------------------------------------------------------------------
 
import GameWorld
import TurnBuff
 
def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs):
    buffState = curEffect.GetEffectValue(0) # buff״̬
    if not buffState:
        return
    killObjNotEff = curEffect.GetEffectValue(2) # Óл÷ɱʱ¸ÃЧ¹û²»ÉúЧ£¬Ä¬ÈÏ0-¾ùÉúЧ£»1-Óл÷ɱ²»ÉúЧ
    if killObjNotEff:
        # ÅжÏÊÇ·ñ»÷ɱÓиöСÎÊÌ⣬Èç¹û¹ØÁª¼¼ÄÜûÓл÷ɱĿ±ê£¬µ«ÊǶîÍâ´¥·¢µÄÉ˺¦»÷ɱÁËÄ¿±ê£¬Õâ¸öÊÇ·ñËã»÷ɱ
        # ÈçÂí³¬µÄÅ­¼¼£¬Õâ¸ö¿ÉÒÔµ½Ê±¿´±íÏÖÔÙ¿´ÊÇ·ñÓÅ»¯£¬´ýÓÅ»¯·½°¸£ºÍ¬²½Ð§¹û¼¼ÄܵÄÄ¿±êÅжÏÄ¿±êÊÇ·ñÓÐËÀÍöÀ´ÅжÏÊÇ·ñÓл÷ɱ
        if connSkill and connSkill.GetKillObjList():
            GameWorld.DebugLog("±¾´ÎÓл÷ɱ²»´¥·¢¸ÃЧ¹û: effID=%s" % (curEffect.GetEffectID()))
            return
        
    tagChoose = curEffect.GetEffectValue(1) # Ä¿±ê£º0-¼Ì³Ð¼¼ÄÜÄ¿±ê£»1-×Ô¼º
    delObj = batObj if tagChoose == 1 else tagObj
    
    buffMgr = delObj.GetBuffManager()
    for buff in buffMgr.FindBuffListByState(buffState):
        GameWorld.DebugLog("    ÒƳýbuff״̬: tagID=%s,buffID=%s" % (delObj.GetID(), buff.GetBuffID()))
        TurnBuff.DoBuffDel(turnFight, delObj, buff)
        
    return True