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