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