From fbf3fe5655d97c67db3bf07706ab5af232dcc9a5 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 18 九月 2025 19:17:48 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(甘夫人技能;增加连击、追击增伤减伤属性;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveTrigger/PassiveEff_5011.py |   41 +++++++++--------------------------------
 1 files changed, 9 insertions(+), 32 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 bf90eff..3293030 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
@@ -4,12 +4,12 @@
 #
 ##@package Skill.PassiveTrigger.PassiveEff_5011
 #
-# @todo:被击方触发释放技能(对攻击方或重新设置目标)
+# @todo:触发释放技能(可继承触发技能目标或重新设置目标)
 # @author hxp
 # @date 2025-08-25
 # @version 1.0
 #
-# 详细描述: 被击方触发释放技能(对攻击方或重新设置目标)
+# 详细描述: 触发释放技能(可继承触发技能目标或重新设置目标)
 #
 #-------------------------------------------------------------------------------
 #"""Version = 2025-08-25 12:00"""
@@ -17,42 +17,19 @@
 
 import TurnSkill
 import IpyGameDataPY
-import GameWorld
-import ChConfig
 
 def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill):
-    effectID = curEffect.GetEffectID()
-    skillID = curEffect.GetEffectValue(0)
+    skillID = curEffect.GetEffectValue(0) # 技能ID,为0时释放本技能
     if not skillID:
         passiveSkill = effSkill
     else:
         passiveSkill = IpyGameDataPY.GetIpyGameData("Skill", skillID)
     if not passiveSkill:
         return
-    passiveSkillID = passiveSkill.GetSkillID()
-    # 继承主技能目标
-    if passiveSkill.GetTagAim() == ChConfig.SkillTagAim_MainSkill:
-        happenRate = passiveSkill.GetHappenRate()
-        GameWorld.DebugLog("被动触发技能,继承主技能目标! effectID=%s,passiveSkillID=%s,happenRate=%s" % (effectID, passiveSkillID, happenRate))
-        tagObjList = [tagObj]
-        passiveTagObjList = []
-        for tagObj in tagObjList:
-            tagID = tagObj.GetID()
-            if tagObj.GetHP() <= 0:
-                GameWorld.DebugLog("    已被击杀不触发: tagID=%s" % (tagID))
-                continue
-            if happenRate and happenRate != ChConfig.Def_MaxRateValue and not GameWorld.CanHappen(happenRate, ChConfig.Def_MaxRateValue):
-                GameWorld.DebugLog("    概率不触发: tagID=%s,happenRate=%s" % (tagID, happenRate))
-                continue
-            passiveTagObjList.append(tagObj)
-            
-        if passiveTagObjList:
-            TurnSkill.OnUseSkill(turnFight, batObj, passiveSkill, passiveTagObjList, batType=ChConfig.TurnBattleType_Passive, bySkill=connSkill)
-    else:
-        GameWorld.DebugLog("被动触发技能,重新锁定目标! effectID=%s,passiveSkillID=%s" % (effectID, passiveSkillID))
-        TurnSkill.OnUseSkill(turnFight, batObj, passiveSkill, batType=ChConfig.TurnBattleType_Passive, bySkill=connSkill)
-        
-    return
+    effectID = curEffect.GetEffectID()
+    effSkillID = effSkill.GetSkillID()
+    return TurnSkill.OnUsePassiveSkill(turnFight, batObj, tagObj, passiveSkill, connSkill, effSkillID, effectID)
 
-def DoBuffEffectLogic(turnFight, batObj, tagObj, curBuff, curEffect, connSkill):
-    return DoSkillEffectLogic(turnFight, batObj, tagObj, None, curEffect, connSkill)
+def DoBuffEffectLogic(turnFight, batObj, tagObj, effBuff, curEffect, connSkill):
+    effSkill = effBuff.GetSkillData().GetIpyData()
+    return DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill)

--
Gitblit v1.8.0