#!/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)
|