From 3047503c169b6f73a383335d0953b489412ce154 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 27 十月 2025 16:44:08 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(孙坚技能;增加释放方式1005支持:根据击中的目标状态目标数额外buff属性; buff状态组限制改为支持配置数组;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 deletions(-)

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 afc7ae1..af1e1e4 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
@@ -62,11 +62,11 @@
     if not curBatObj.CanAction():
         return
     
-    buffStateLimit = useSkill.GetBuffStateLimit()
-    if buffStateLimit:
-        limitState = curBatObj.IsInBuffStateGroup(buffStateLimit)
+    buffStateGroups = useSkill.GetBuffStateLimit()
+    if buffStateGroups:
+        limitState = curBatObj.IsInBuffStateGroup(buffStateGroups)
         if limitState:
-            GameWorld.DebugLog("技能使用处于buff状态限制中! skillID=%s,buffStateLimit=%s,limitState=%s" % (skillID, buffStateLimit, limitState))
+            GameWorld.DebugLog("技能使用处于buff状态限制中! skillID=%s,buffStateGroups=%s,limitState=%s" % (skillID, buffStateGroups, limitState))
             return
         
     #没有指定目标,则按技能自身的目标逻辑
@@ -81,6 +81,7 @@
                     
     if not tagObjList:
         # 可扩展其他目标选择,如复活技能没有死亡单位时则使用另外的效果
+        GameWorld.ErrLog("找不到技能目标! skillID=%s,mapID=%s,funcLineID=%s" % (skillID, turnFight.mapID, turnFight.funcLineID), turnFight.playerID)
         return
     
     objID = curBatObj.GetID()
@@ -693,7 +694,13 @@
                 纵排: 优先前面的单位
     '''
     
+    if turnFight.winFaction:
+        return
+    
     if not useSkill.ComboEnable():
+        return
+    
+    if not atkObj.IsAlive():
         return
     
     tagFriendly = useSkill.GetTagFriendly()
@@ -872,6 +879,7 @@
         FBLogic.OnPlayerLineupAttackResult(curPlayer, curObj, killObjList, useSkill, turnFight.mapID, turnFight.funcLineID)
         
     effIgnoreObjIDList = missObjIDList + immuneObjIDList
+    useSkill.SetEffIgnoreObjIDList(effIgnoreObjIDList)
     # 优先触发本技能额外效果,注:仅该技能释放后该技能的额外效果视为主技能的效果,优先级最高
     __DoCurSkillEff(turnFight, curObj, useSkill, effIgnoreObjIDList, isUseSkill)
     
@@ -921,6 +929,10 @@
             
         triggerOne = True # 设置已经触发过一次
         
+    # 有击杀时验证是否结算,最后处理
+    if killObjList:
+        turnFight.checkOverByKilled()
+        
     return
 
 def __doCostZhanchui(turnFight, curBatObj, useSkill):

--
Gitblit v1.8.0