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
42
43
44
45
46
47
48
49
50
#!/usr/bin/python
# -*- coding: GBK -*-
#-------------------------------------------------------------------------------
#
##@package Skill.PassiveTrigger.PassiveEff_5504
#
# @todo:´¥·¢Êͷż¼ÄÜ£¨Ñé֤Ŀ±ê״̬£©
# @author hxp
# @date 2025-12-16
# @version 1.0
#
# ÏêϸÃèÊö: ´¥·¢Êͷż¼ÄÜ£¨Ñé֤Ŀ±ê״̬£©
#
#-------------------------------------------------------------------------------
#"""Version = 2025-12-16 16:00"""
#-------------------------------------------------------------------------------
 
import TurnSkill
import IpyGameDataPY
 
def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs):
    skillID = curEffect.GetEffectValue(0) # ¼¼ÄÜID£¬Îª0ʱÊͷű¾¼¼ÄÜ
    checkStateList = curEffect.GetEffectValue(1) # ¿É¸½¼ÓÑé֤Ŀ±ê´¦ÓÚxx״̬
    checkOwner = curEffect.GetEffectValue(2) # ÊÇ·ñÖ»ÏÞ¹éÊô×Ô¼ºµÄ״̬buff
    
    if checkStateList:
        ownerID = batObj.GetID() if checkOwner else 0
        inState = False
        tagBuffMgr = tagObj.GetBuffManager()
        for checkState in checkStateList:
            if tagBuffMgr.FindBuffByState(checkState, ownerID):
                inState = True
                break
        if not inState:
            #GameWorld.DebugLogEx("Ä¿±ê²»ÔÚ״̬ϲ»´¥·¢: tagID=%s,checkStateList=%s,ownerID=%s", tagObj.GetID(), checkStateList, ownerID)
            return
        
    if not skillID:
        passiveSkill = effSkill
    else:
        passiveSkill = IpyGameDataPY.GetIpyGameData("Skill", skillID)
    if not passiveSkill:
        return
    effectID = curEffect.GetEffectID()
    effSkillID = effSkill.GetSkillID()
    return TurnSkill.OnUsePassiveSkill(turnFight, batObj, tagObj, passiveSkill, connSkill, effSkillID, effectID, connBuff, **kwargs)
 
def DoBuffEffectLogic(turnFight, batObj, tagObj, effBuff, curEffect, connSkill, connBuff, **kwargs):
    effSkill = effBuff.GetSkillData().GetIpyData()
    return DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs)