#!/usr/bin/python # -*- coding: GBK -*- #------------------------------------------------------------------------------- # ##@package Skill.PassiveTrigger.PassiveEff_5505 # # @todo:´¥·¢Êͷż¼ÄÜ£¨Ñé֤Ŀ±êÉúÃü£© # @author hxp # @date 2025-12-16 # @version 1.0 # # ÏêϸÃèÊö: ´¥·¢Êͷż¼ÄÜ£¨Ñé֤Ŀ±êÉúÃü£© # #------------------------------------------------------------------------------- #"""Version = 2025-12-16 19:30""" #------------------------------------------------------------------------------- import TurnSkill import TurnPassive import IpyGameDataPY import GameWorld import ChConfig def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs): skillID = curEffect.GetEffectValue(0) # ¼¼ÄÜID£¬Îª0ʱÊͷű¾¼¼ÄÜ checkTagHPInfo = curEffect.GetEffectValue(1) # ¿É¸½¼ÓÑé֤Ŀ±êÉúÃüÖµ[¼ÆË㷽ʽ, °Ù·Ö±È] if checkTagHPInfo: checkType, checkHPPer = checkTagHPInfo tagHP = tagObj.GetHP() tagHPMax = tagObj.GetMaxHP() nowPer = tagHP / float(tagHPMax) * 100 effSkillTypeID = effSkill.GetSkillTypeID() checkHPPer += TurnPassive.GetTriggerEffectValue(turnFight, batObj, tagObj, ChConfig.PassiveEff_AddCheckPer5505, connSkillTypeID=effSkillTypeID, **kwargs) GameWorld.DebugLogEx("5505Ñé֤Ŀ±êÉúÃü! tagHP=%s/%s,nowPer=%s,checkHPPer=%s,checkType=%s,effSkillTypeID=%s", tagHP, tagHPMax, nowPer, checkHPPer, checkType, effSkillTypeID) # СÓÚµÈÓÚ if checkType == 0: if nowPer > checkHPPer: return # ´óÓÚµÈÓÚ else: if nowPer < checkHPPer: return if not skillID: passiveSkill = effSkill else: passiveSkill = IpyGameDataPY.GetIpyGameData("Skill", skillID) if not passiveSkill: return effectID = curEffect.GetEffectID() effSkillID = effSkill.GetSkillID() return TurnSkill.OnUsePassiveSkill(turnFight, batObj, tagObj, passiveSkill, connSkill, effSkillID, effectID, 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)