#!/usr/bin/python # -*- coding: GBK -*- #------------------------------------------------------------------------------- # ##@package Skill.PassiveTrigger.PassiveEff_5509 # # @todo:´¥·¢Êͷż¼ÄÜ£¨ÑéÖ¤ÊÇ·ñΪָ¶¨ÓѾüÀ´Ô´£© # @author hxp # @date 2025-12-22 # @version 1.0 # # ÏêϸÃèÊö: ´¥·¢Êͷż¼ÄÜ£¨ÑéÖ¤ÊÇ·ñΪָ¶¨ÓѾüÀ´Ô´£© # #------------------------------------------------------------------------------- #"""Version = 2025-12-22 16:30""" #------------------------------------------------------------------------------- import TurnSkill import GameWorld def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs): if "byFriendObj" not in kwargs: return byFriendObj = kwargs.pop("byFriendObj") # Ö±½ÓÈ¡³ö£¬·ÀÖ¹´«µÝ passiveSkillID = curEffect.GetEffectValue(0) # ¼¼ÄÜID£¬Îª0ʱÊͷű¾¼¼ÄÜ byFriendRule = curEffect.GetEffectValue(1) # ÓѾüÑéÖ¤¹æÔò[ÑéÖ¤·½Ê½, ÑéÖ¤Öµ] tagRule = curEffect.GetEffectValue(2) # Ö¸¶¨Ä¿±ê 0-°´¼¼ÄÜ£¬1-¶Ô»÷ɱ·½£¬2-¶ÔÀ´Ô´ÓѾü£¬3-¶Ô¹ØÁª¶ÔÏó if byFriendRule: checkType = byFriendRule[0] # ÑéÖ¤·½Ê½ 1 - °´Î佫ID£¬ Öµ-Î佫ID if checkType == 1: byHeorID = byFriendRule[1] if len(byFriendRule) > 1 else 0 friendHeroID = byFriendObj.GetHeroID() if friendHeroID != byHeorID: GameWorld.DebugLogEx("5509ÓѾüÎ佫·Ç´¥·¢À´Ô´²»´¦Àí! friendHeroID=%s != %s", friendHeroID, byHeorID) return # ÑéÖ¤·½Ê½ 2 - °´¹ú¼Ò£¬ Öµ-¹ú¼Ò elif checkType == 2: byCountry = byFriendRule[1] if len(byFriendRule) > 1 else 0 friendCountry = byFriendObj.GetCountry() if friendCountry != byCountry: GameWorld.DebugLogEx("5509ÓѾü¹ú¼Ò·Ç´¥·¢À´Ô´²»´¦Àí! friendCountry=%s != %s", friendCountry, byCountry) return if not passiveSkillID: passiveSkillID = effSkill.GetSkillID() if not passiveSkillID: return effectID = curEffect.GetEffectID() effSkillID = effSkill.GetSkillID() toTagObj = None if tagRule == 1: toTagObj = byFriendObj.GetKiller() elif tagRule == 2: toTagObj = byFriendObj elif tagRule == 3: toTagObj = tagObj return TurnSkill.OnUsePassiveSkill(turnFight, batObj, toTagObj, passiveSkillID, connSkill, effSkillID, effectID, connBuff, **kwargs)