#!/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 import GameWorld 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 isSelfDOTTrigger = curEffect.GetEffectValue(3) # ¿É¸½¼ÓÑéÖ¤´¥·¢µÄ³ÖÐø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 isSelfDOTTrigger: if not connBuff: GameWorld.DebugLogEx("5504ûÓйØÁªµÄbuff²»´¦Àí!") return curID = batObj.GetID() buffOwnerID = connBuff.GetOwnerID() connBuffID = connBuff.GetBuffID() if curID != buffOwnerID: GameWorld.DebugLogEx("5504·Ç×Ô¼ºµÄ³ÖÐøbuff´¥·¢µÄ²»´¦Àí: connBuffID=%s,buffOwnerID=%s != curID=%s", connBuffID, buffOwnerID, curID) return if checkStateList: if connBuff.GetCurBuffState() not in checkStateList: GameWorld.DebugLogEx("5504·Ç×Ô¼ºÖ¸¶¨³ÖÐøbuff´¥·¢µÄ²»´¦Àí: connBuffID=%s,buffState=%s not in %s", connBuffID, connBuff.GetCurBuffState(), checkStateList) 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)