From 8b48c5f51f276546228ea44bc6e870a73e46b845 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 06 一月 2026 14:52:12 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(6011效果支持验证主技能目标;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py |    9 ++++++---
 1 files changed, 6 insertions(+), 3 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 ffed692..4276c3f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
@@ -86,7 +86,7 @@
             GameWorld.DebugLogEx("技能使用处于buff状态限制中! skillID=%s,buffStateGroups=%s,limitState=%s", skillID, buffStateGroups, limitState)
             return
         
-    if CheckSkillUseCntLimit(curBatObj, useSkill):
+    if CheckSkillUseCntLimit(turnFight, curBatObj, useSkill):
         return
     
     #没有指定目标,则按技能自身的目标逻辑
@@ -201,7 +201,7 @@
     useSkill.ResetUseRec()
     return True
 
-def CheckSkillUseCntLimit(batObj, useSkill):
+def CheckSkillUseCntLimit(turnFight, batObj, useSkill):
     ## 检查技能使用次数是否受限
     # @return: 是否受限,None-没有受限效果,False-不受限,True-受限了
     if not hasattr(useSkill, "GetEffectByID"):
@@ -214,12 +214,14 @@
     
     skillID = useSkill.GetSkillID()
     if useCntLimit:
+        useCntLimit += TurnPassive.GetTriggerEffectValue(turnFight, batObj, None, ChConfig.PassiveEff_AddSkillUseCntLimit, useSkill, LimitByTurnAll=1)
         useCnt = batObj.GetSkillUseCnt(skillID)
         if useCnt >= useCntLimit:
             GameWorld.DebugLogEx("技能每场战斗使用次数受限! skillID=%s,useCnt=%s >= %s", skillID, useCnt, useCntLimit)
             return True
         
     if turnUseCntLimit:
+        turnUseCntLimit += TurnPassive.GetTriggerEffectValue(turnFight, batObj, None, ChConfig.PassiveEff_AddSkillUseCntLimit, useSkill, LimitByTurnPer=1)
         turnUseCnt = batObj.GetSkillTurnUseCnt(skillID)
         if turnUseCnt >= turnUseCntLimit:
             GameWorld.DebugLogEx("技能每大回合使用次数受限! skillID=%s,turnUseCnt=%s >= %s", skillID, turnUseCnt, turnUseCntLimit)
@@ -2318,7 +2320,6 @@
 
 def CanSuperHit(turnFight, atkObj, defObj, curSkill):
     if TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.PassiveEff_MustSuperHit, curSkill):
-        GameWorld.DebugLogEx("目标血量低于百分x时必定暴击: defID=%s,hp:%s/%s", defObj.GetID(), defObj.GetHP(), defObj.GetMaxHP())
         return True
     
     aSuperHitRate = atkObj.GetBatAttrValue(ChConfig.AttrID_SuperHitRate)
@@ -2803,6 +2804,8 @@
     buffMgr = defObj.GetBuffManager()
     for buff in buffMgr.FindBuffListByState(ChConfig.BatObjState_DamBackShield):
         damBackPer += buff.GetValue1()
+        connSkillTypeID = buff.GetSkillTypeID()
+        damBackPer += TurnPassive.GetTriggerEffectValue(turnFight, defObj, atkObj, ChConfig.PassiveEff_AddDamBackPerByBuffLayer, connSkillTypeID=connSkillTypeID)
         
     if damBackPer <= 0:
         return

--
Gitblit v1.8.0