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