#!/usr/bin/python
|
# -*- coding: GBK -*-
|
#-------------------------------------------------------------------------------
|
#
|
##@package Skill.PassiveTrigger.PassiveEff_5021
|
#
|
# @todo:¶îÍâÔö¼ÓbuffЧ¹ûID/ÊôÐÔIDÖµ£¨Ã¿»÷ÖÐx״̬Ŀ±ê£©
|
# @author hxp
|
# @date 2025-10-30
|
# @version 1.0
|
#
|
# ÏêϸÃèÊö: ¶îÍâÔö¼ÓbuffЧ¹ûID/ÊôÐÔIDÖµ£¨Ã¿»÷ÖÐx״̬Ŀ±ê£©
|
#
|
#-------------------------------------------------------------------------------
|
#"""Version = 2025-10-30 16:00"""
|
#-------------------------------------------------------------------------------
|
|
import GameWorld
|
|
def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs):
|
if not connSkill or not connBuff:
|
return
|
|
bySkill = connSkill.GetBySkill()
|
if not bySkill:
|
return
|
|
attrID = curEffect.GetEffectValue(0)
|
attrValue = curEffect.GetEffectValue(1)
|
checkInStateList = curEffect.GetEffectValue(2)
|
if not checkInStateList or not attrID or not attrValue:
|
return
|
|
hitCnt = 0
|
effIgnoreObjIDList = bySkill.GetEffIgnoreObjIDList()
|
tagObjList = bySkill.GetTagObjList()
|
for tagObj in tagObjList:
|
tagID = tagObj.GetID()
|
if tagID in effIgnoreObjIDList:
|
#GameWorld.DebugLog(" ÉÁ±Ü»òÃâÒßµÄÄ¿±ê: tagID=%s" % (tagID))
|
continue
|
if not tagObj.CheckInState(checkInStateList):
|
#GameWorld.DebugLog(" ²»ÔÚ״̬ϵÄÄ¿±ê: tagID=%s not in state:%s" % (tagID, checkInStateList))
|
continue
|
hitCnt += 1
|
|
attrValue *= hitCnt
|
connBuff.AddEffectValueEx(attrID, attrValue)
|
GameWorld.DebugLog("ÿ»÷ÖÐx״̬Ŀ±ê¶îÍâÔö¼ÓbuffЧ¹ûID/ÊôÐÔIDÖµ: hitCnt=%s,attrID=%s,attrValue=%s" % (hitCnt, attrID, attrValue))
|
return True
|