hxp
2025-12-01 fd46c6afd9024b1739a449786c284461d0394d0b
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5011.py
@@ -17,9 +17,31 @@
import TurnSkill
import IpyGameDataPY
import GameWorld
def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill):
def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs):
    skillID = curEffect.GetEffectValue(0) # 技能ID,为0时释放本技能
    checkHPInfo = curEffect.GetEffectValue(1) # 可附加验证生命值[计算方式, 百分比]
    checkBatType = curEffect.GetEffectValue(2) # 验证攻击类型 0-不验证;1-连击;2-追击;3-反击
    if checkHPInfo:
        checkType, checkHPPer = checkHPInfo
        nowPer = batObj.GetHP() / float(batObj.GetMaxHP()) * 100
        # 小于等于
        if checkType == 0:
            if nowPer > checkHPPer:
                return
        # 大于等于
        else:
            if nowPer < checkHPPer:
                return
    if checkBatType:
        if not connSkill:
            return
        if connSkill.GetBatType() != checkBatType:
            GameWorld.DebugLog("5011效果非该战斗类型不触发: checkBatType=%s,skillBatType=%s" % (checkBatType, connSkill.GetBatType()))
            return
    if not skillID:
        passiveSkill = effSkill
    else:
@@ -28,8 +50,8 @@
        return
    effectID = curEffect.GetEffectID()
    effSkillID = effSkill.GetSkillID()
    return TurnSkill.OnUsePassiveSkill(turnFight, batObj, tagObj, passiveSkill, connSkill, effSkillID, effectID)
    return TurnSkill.OnUsePassiveSkill(turnFight, batObj, tagObj, passiveSkill, connSkill, effSkillID, effectID, connBuff)
def DoBuffEffectLogic(turnFight, batObj, tagObj, effBuff, curEffect, connSkill):
def DoBuffEffectLogic(turnFight, batObj, tagObj, effBuff, curEffect, connSkill, connBuff, **kwargs):
    effSkill = effBuff.GetSkillData().GetIpyData()
    return DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill)
    return DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs)