From 649b36b642546062ab5102b6225b9f78ea72309d Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 04 十一月 2025 18:11:02 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(优化完整战报仅包含战斗相关封包,结算奖励相关如物品,经验,货币,挑战次数等统一放在战报数据B430后同步)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5011.py |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5011.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5011.py
index 31934e2..a93acd6 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5011.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5011.py
@@ -18,8 +18,21 @@
 import TurnSkill
 import IpyGameDataPY
 
-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) # 可附加验证生命值[计算方式, 百分比]
+    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 not skillID:
         passiveSkill = effSkill
     else:
@@ -28,7 +41,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):
-    return DoSkillEffectLogic(turnFight, batObj, tagObj, None, curEffect, connSkill)
+def DoBuffEffectLogic(turnFight, batObj, tagObj, effBuff, curEffect, connSkill, connBuff, **kwargs):
+    effSkill = effBuff.GetSkillData().GetIpyData()
+    return DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs)

--
Gitblit v1.8.0