From a7ee20f2467c3d04d23ad80ebd25e07b806b5c22 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 03 十一月 2025 10:47:21 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(词条技能1021、1022、1024;增加触发方式25-受到持续伤害,26-敌方单位死亡时,27-己方单位死亡时;优化效果6008可配置免控类型;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6008.py |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 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 c87f29c..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, effBuff, **skillkwargs):
+def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
     lowerThanPer = curEffect.GetEffectValue(0)
+    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