#!/usr/bin/python # -*- coding: GBK -*- #------------------------------------------------------------------------------- # ##@package Skill.PassiveTrigger.PassiveEff_5012 # # @todo:¸ÅÂʽøÐÐ×·»÷ # @author hxp # @date 2025-09-18 # @version 1.0 # # ÏêϸÃèÊö: ¸ÅÂʽøÐÐ×·»÷ # #------------------------------------------------------------------------------- #"""Version = 2025-09-18 10:30""" #------------------------------------------------------------------------------- import TurnSkill import IpyGameDataPY import GameWorld import ChConfig import TurnBuff def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs): rate = curEffect.GetEffectValue(0) bySameCountryFriendRate = curEffect.GetEffectValue(2) # ´¥·¢À´Ô´ÓÑ·½ÊÇͬ¹úʱµÄ¸ÅÂÊ if bySameCountryFriendRate: if "byFriendObj" in kwargs: byFriendObj = kwargs["byFriendObj"] if byFriendObj and byFriendObj.GetCountry() == batObj.GetCountry(): rate = bySameCountryFriendRate if not GameWorld.CanHappen(rate): #GameWorld.DebugLogEx("5012¸ÅÂʽøÐÐ×·»÷²»´¥·¢! %s", rate) return costBuffState = curEffect.GetEffectValue(3) # ¿ÉÉèÖÃÐèÏûºÄij״̬buff£¨Ä¬ÈÏ1²ã£© if costBuffState: buffMgr = batObj.GetBuffManager() buff = buffMgr.FindBuffByState(costBuffState) if not buff: #GameWorld.DebugLogEx("5012²»´æÔÚbuff״̬£¬ÎÞ·¨´¥·¢! costBuffState=%s", costBuffState) return TurnBuff.DoBuffLayerChange(turnFight, batObj, buff, buff.GetLayer() - 1, connSkill) skillID = curEffect.GetEffectValue(1) # ¼¼ÄÜID£¬Îª0ʱÊͷű¾¼¼ÄÜ if not skillID: passiveSkill = effSkill else: passiveSkill = IpyGameDataPY.GetIpyGameData("Skill", skillID) if not passiveSkill: return noUseXP = curEffect.GetEffectValue(4) # Å­Æø×·»÷ʱÊÇ·ñ²»ÏûºÄÅ­Æø if noUseXP: kwargs["noUseXP"] = 1 return TurnSkill.OnUseSkill(turnFight, batObj, passiveSkill, batType=ChConfig.TurnBattleType_Pursue, bySkill=connSkill, byBuff=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)