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