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_6008.py |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6008.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6008.py
index 65a0d65..34d002b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6008.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6008.py
@@ -14,8 +14,18 @@
 #-------------------------------------------------------------------------------
 #"""Version = 2025-09-22 16:00"""
 #-------------------------------------------------------------------------------
+import IpyGameDataPY
 
-def GetHappenValue(attacker, defender, curEffect, effSkill, **skillkwargs):
+def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
     lowerThanPer = curEffect.GetEffectValue(0)
-    nowPer = attacker.GetHP() / float(attacker.GetMaxHP())
+    immuneGroup = curEffect.GetEffectValue(1) # 0-全部控制;1-强控;2-弱控
+    nowPer = attacker.GetHP() / float(attacker.GetMaxHP()) * 100
+    
+    if immuneGroup:
+        buffStateGroupDict = IpyGameDataPY.GetFuncEvalCfg("BuffStateGroup", 1, {})
+        buffStateList = buffStateGroupDict.get(str(immuneGroup), [])
+        if connSkill.GetCurBuffState() not in buffStateList:
+            #GameWorld.DebugLog("不在免疫的buff状态里,不免疫")
+            return
+        
     return 1 if nowPer < lowerThanPer else 0

--
Gitblit v1.8.0