#!/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):
|
passiveSkillID = curEffect.GetEffectValue(0) # ¼¼ÄÜID£¬Îª0ʱÊͷű¾¼¼ÄÜ
|
checkTagHPInfo = curEffect.GetEffectValue(1) # ¿É¸½¼ÓÑé֤Ŀ±êÉúÃüÖµ[¼ÆË㷽ʽ, °Ù·Ö±È]
|
checkTagType = curEffect.GetEffectValue(2) # Ñé֤Ŀ±êĬÈÏ0-¶Ô·½£»1×Ô¼º
|
if checkTagHPInfo:
|
checkType, checkHPPer = checkTagHPInfo
|
checkTag = batObj if checkTagType == 1 else tagObj
|
tagHP = checkTag.GetHP()
|
tagHPMax = checkTag.GetMaxHP()
|
nowPer = tagHP / float(tagHPMax) * 100
|
|
effSkillTypeID = effSkill.GetSkillTypeID()
|
checkHPPer += TurnPassive.GetTriggerEffectValue(turnFight, batObj, checkTag, ChConfig.PassiveEff_AddCheckPer5505, connSkillTypeID=effSkillTypeID, **kwargs)
|
|
GameWorld.DebugLogEx("5505ÑéÖ¤ÉúÃü! checkTagType=%s,checkTagID=%s,HP=%s/%s,nowPer=%s,checkHPPer=%s,checkType=%s,effSkillTypeID=%s",
|
checkTagType, checkTag.GetID(), tagHP, tagHPMax, nowPer, checkHPPer, checkType, effSkillTypeID)
|
|
# СÓÚµÈÓÚ
|
if checkType == 0:
|
if nowPer > checkHPPer:
|
return
|
# ´óÓÚµÈÓÚ
|
else:
|
if nowPer < checkHPPer:
|
return
|
|
effectID = curEffect.GetEffectID()
|
effSkillID = effSkill.GetSkillID()
|
if not passiveSkillID:
|
passiveSkillID = effSkillID
|
return TurnSkill.OnUsePassiveSkill(turnFight, batObj, tagObj, passiveSkillID, 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)
|