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_6016.py |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6015.py |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6017.py |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6018.py |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6003.py |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6002.py |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py                      |   32 ++++++++++++++--
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6007.py |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6006.py |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6010.py |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6004.py |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6005.py |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6008.py |   12 +++++
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6009.py |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnPassive.py                    |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6013.py |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6014.py |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6012.py |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6011.py |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py                             |    5 ++
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_Attr.py |    2 
 21 files changed, 61 insertions(+), 24 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index 9650f1d..596984a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -4053,7 +4053,10 @@
 TriggerWay_BeAnyEffect, # 受到任意效果时(除直接攻击外的任意效果,如buff、dot、治疗、额外怒技)22
 TriggerWay_BuffAddByOwner, # buff添加时(施法者触发) 23
 TriggerWay_BeHurt, # 掉血时 24
-) = range(1, 1 + 24)
+TriggerWay_BeDOTHurt, # 受到持续伤害 25
+TriggerWay_EnemyDie, # 敌方单位死亡时 26
+TriggerWay_FriendDie, # 己方单位死亡时 27
+) = range(1, 1 + 27)
 
 # 不加载的被动触发方式,一般用于本技能固定触发逻辑用的
 TriggerWayNoLoadList = [TriggerWay_CurSkillEff, TriggerWay_CurSkillEffLst]
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6002.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6002.py
index 24c5f9c..24a023f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6002.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6002.py
@@ -15,7 +15,7 @@
 #"""Version = 2025-09-16 17:00"""
 #-------------------------------------------------------------------------------
 
-def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, **skillkwargs):
+def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
     checkInStateList = curEffect.GetEffectValue(1)
     if checkInStateList:
         if not defender.CheckInState(checkInStateList):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6003.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6003.py
index 213331c..5a7b559 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6003.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6003.py
@@ -15,7 +15,7 @@
 #"""Version = 2025-09-16 17:30"""
 #-------------------------------------------------------------------------------
 
-def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, **skillkwargs):
+def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
     checkInStateList = curEffect.GetEffectValue(1)
     if checkInStateList:
         if not defender.CheckInState(checkInStateList):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6004.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6004.py
index df51e52..d5d5d9e 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6004.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6004.py
@@ -18,7 +18,7 @@
 import BattleObj
 #import GameWorld
 
-def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, **skillkwargs):
+def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
     checkInStateList = curEffect.GetEffectValue(1)
     if checkInStateList:
         checkMainSkillTag = curEffect.GetEffectValue(2)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6005.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6005.py
index 37f79ee..fe3a8d9 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6005.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6005.py
@@ -15,7 +15,7 @@
 #"""Version = 2025-10-30 10:00"""
 #-------------------------------------------------------------------------------
 
-def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, **skillkwargs):
+def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
     addPer = curEffect.GetEffectValue(0) # 每层增加的万分比
     batLineup = attacker.GetBatLineup()
     deadCnt = batLineup.getDeadObjCnt()
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6006.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6006.py
index 4aa70f7..ab2fb9b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6006.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6006.py
@@ -15,7 +15,7 @@
 #"""Version = 2025-09-23 17:00"""
 #-------------------------------------------------------------------------------
 
-def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, **skillkwargs):
+def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
     checkHeroJob = curEffect.GetEffectValue(1)
     if checkHeroJob:
         if checkHeroJob != defender.GetJob():
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6007.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6007.py
index cc80f66..75bc3a2 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6007.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6007.py
@@ -15,5 +15,5 @@
 #"""Version = 2025-09-22 16:00"""
 #-------------------------------------------------------------------------------
 
-def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, **skillkwargs):
+def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
     return curEffect.GetEffectValue(0)
\ No newline at end of file
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
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6009.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6009.py
index 6f4f256..943909f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6009.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6009.py
@@ -15,7 +15,7 @@
 #"""Version = 2025-09-23 19:00"""
 #-------------------------------------------------------------------------------
 
-def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, **skillkwargs):
+def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
     lowerThanPer = curEffect.GetEffectValue(0)
     nowPer = defender.GetHP() / float(defender.GetMaxHP()) * 100
     return 1 if nowPer < lowerThanPer else 0
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6010.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6010.py
index 6ccb464..2744f95 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6010.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6010.py
@@ -15,7 +15,7 @@
 #"""Version = 2025-09-24 19:00"""
 #-------------------------------------------------------------------------------
 
-def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, **skillkwargs):
+def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
     checkHPPer = curEffect.GetEffectValue(1)
     checkType = curEffect.GetEffectValue(2)
     nowPer = attacker.GetHP() / float(attacker.GetMaxHP()) * 100
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6011.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6011.py
index 007e751..fa24dc9 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6011.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6011.py
@@ -16,7 +16,7 @@
 #-------------------------------------------------------------------------------
 
 
-def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, **skillkwargs):
+def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
     layerPer = curEffect.GetEffectValue(0) # 每层增加的万分比
     buffStateList = curEffect.GetEffectValue(1) # buff状态 [状态1, 状态2, ...]
     if not buffStateList:
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6012.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6012.py
index 62d8379..7c21288 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6012.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6012.py
@@ -15,5 +15,5 @@
 #"""Version = 2025-09-24 19:00"""
 #-------------------------------------------------------------------------------
 
-def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, **skillkwargs):
+def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
     return curEffect.GetEffectValue(0)
\ No newline at end of file
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6013.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6013.py
index 06f3a13..6ce8998 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6013.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6013.py
@@ -15,7 +15,7 @@
 #"""Version = 2025-09-24 19:00"""
 #-------------------------------------------------------------------------------
 
-def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, **skillkwargs):
+def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
     perAttr = curEffect.GetEffectValue(0) # 每万分比
     attrID = curEffect.GetEffectValue(1) # 属性ID
     toPer = curEffect.GetEffectValue(2) # 转化为x万分比最终增伤
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6014.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6014.py
index dbd7fc3..4178873 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6014.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6014.py
@@ -15,5 +15,5 @@
 #"""Version = 2025-09-25 18:00"""
 #-------------------------------------------------------------------------------
 
-def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, **skillkwargs):
+def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
     return curEffect.GetEffectValue(0)
\ No newline at end of file
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6015.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6015.py
index 4143e7e..1fe1249 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6015.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6015.py
@@ -15,5 +15,5 @@
 #"""Version = 2025-10-28 17:00"""
 #-------------------------------------------------------------------------------
 
-def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, **skillkwargs):
+def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
     return curEffect.GetEffectValue(0)
\ No newline at end of file
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6016.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6016.py
index edb33a0..b2f02ac 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6016.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6016.py
@@ -15,5 +15,5 @@
 #"""Version = 2025-10-28 18:00"""
 #-------------------------------------------------------------------------------
 
-def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, **skillkwargs):
+def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
     return curEffect.GetEffectValue(0)
\ No newline at end of file
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6017.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6017.py
index 067cb09..b53428f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6017.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6017.py
@@ -15,6 +15,6 @@
 #"""Version = 2025-10-30 10:00"""
 #-------------------------------------------------------------------------------
 
-def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, **skillkwargs):
+def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
     invalidSkillID = curEffect.GetEffectValue(0) #无效的技能ID
     return invalidSkillID
\ No newline at end of file
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6018.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6018.py
index 07d61c3..77bf9ec 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6018.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_6018.py
@@ -15,6 +15,6 @@
 #"""Version = 2025-10-30 10:00"""
 #-------------------------------------------------------------------------------
 
-def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, **skillkwargs):
+def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
     oneXPAddPer = curEffect.GetEffectValue(0) #每1点xp增加万分比
     return attacker.GetXP() * oneXPAddPer
\ No newline at end of file
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_Attr.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_Attr.py
index 643422c..44cf30a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_Attr.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_Attr.py
@@ -17,7 +17,7 @@
 
 import GameWorld
 
-def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, **skillkwargs):
+def GetHappenValue(attacker, defender, curEffect, effSkill, effBuff, connSkill, **skillkwargs):
     
     attrID = curEffect.GetEffectID()
     attrValue = curEffect.GetEffectValue(0)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnPassive.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnPassive.py
index 91f9b07..45f2372 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnPassive.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnPassive.py
@@ -163,7 +163,7 @@
             callFunc = GameWorld.GetExecFunc(PassiveTrigger, "%s.%s" % (pyName, "GetHappenValue"))
             if not callFunc:
                 continue
-            value = callFunc(atkObj, defObj, effect, effSkill, effBuff, **kwargs)
+            value = callFunc(atkObj, defObj, effect, effSkill, effBuff, connSkill, **kwargs)
             if value is None:
                 continue
             
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
index 1304663..fd38c2c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
@@ -1001,13 +1001,17 @@
             
     # 统计击杀
     killObjList = [] # 击杀其他阵营目标列表
+    dieObjList = [] # 死亡的单位列表
     for tagObj in useSkill.GetTagObjList():
         tagID = tagObj.GetID()
-        if tagObj.IsAlive() and tagObj.GetHP() <= 0 and tagObj.GetFaction() != curObj.GetFaction():
-            killObjList.append(tagObj)
-            TurnAttack.SetObjKilled(turnFight, tagObj, curObj, useSkill)
+        if tagObj.IsAlive() and tagObj.GetHP() <= 0:
+            dieObjList.append(tagObj)
+            if tagObj.GetFaction() != curObj.GetFaction():
+                killObjList.append(tagObj)
+                TurnAttack.SetObjKilled(turnFight, tagObj, curObj, useSkill)
     useSkill.SetKillObjList(killObjList)
     if curObj.IsAlive() and curObj.GetHP() <= 0:
+        dieObjList.append(curObj)
         TurnAttack.SetObjKilled(turnFight, curObj)
         
     # 统计伤血,可能单个技能对同一目标造成多次伤害
@@ -1087,6 +1091,23 @@
             TurnPassive.OnTriggerPassiveEffect(turnFight, curObj, ChConfig.TriggerWay_KillOneObj, tagObj, connSkill=useSkill)
         TurnPassive.OnTriggerPassiveEffect(turnFight, curObj, ChConfig.TriggerWay_KillTagObj, tagObj, connSkill=useSkill)
         
+    if dieObjList:
+        for faction in [ChConfig.Def_FactionA, ChConfig.Def_FactionB]:
+            batFaction = turnFight.getBatFaction(faction)
+            for lineupNum in batFaction.lineupDict.keys():
+                batLineup = batFaction.getBatlineup(lineupNum)
+                for lineupObjID in batLineup.posObjIDDict.values():
+                    lineupObj = batObjMgr.getBatObj(lineupObjID)
+                    if not lineupObj.IsAlive():
+                        continue
+                    for dieObj in dieObjList:
+                        # 敌方单位死亡时
+                        if lineupObj.GetFaction() != dieObj.GetFaction():
+                            TurnPassive.OnTriggerPassiveEffect(turnFight, lineupObj, ChConfig.TriggerWay_EnemyDie, dieObj, connSkill=useSkill)
+                        # 己方单位死亡时
+                        else:
+                            TurnPassive.OnTriggerPassiveEffect(turnFight, lineupObj, ChConfig.TriggerWay_FriendDie, dieObj, connSkill=useSkill)
+                            
     triggerOne = False
     batType = useSkill.GetBatType()
     isAttackDirect = (isUseSkill and not SkillCommon.IsBuff(useSkill) and useSkill.GetSkillType() in [ChConfig.Def_SkillType_Atk])
@@ -1107,7 +1128,10 @@
             TurnPassive.OnTriggerPassiveEffect(turnFight, tagObj, ChConfig.TriggerWay_BeAttackedDirect, curObj, connSkill=useSkill)
         else:
             TurnPassive.OnTriggerPassiveEffect(turnFight, tagObj, ChConfig.TriggerWay_BeAnyEffect, curObj, connSkill=useSkill)
-            
+            # 受到持续伤害
+            if tagID in beHurtObjIDList:
+                TurnPassive.OnTriggerPassiveEffect(turnFight, tagObj, ChConfig.TriggerWay_BeDOTHurt, curObj, connSkill=useSkill)
+                
         # 使用技能后
         if isUseSkill:
             if not triggerOne:

--
Gitblit v1.8.0