From 6e928c09df9d294e2f90cd91189a3c9abb7b007f Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 31 十月 2025 17:58:33 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(词条技能1014 ~ 1019:增加技能初始CD支持,优化技能CD;优化技能属性、buff属性计算;修复纯buff怒技没有同步技能的bug;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 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 775dd50..1304663 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/TurnSkill.py
@@ -61,6 +61,10 @@
     
     objID = curBatObj.GetID()
     
+    if hasattr(useSkill, "GetRemainTime") and useSkill.GetRemainTime() > 0:
+        GameWorld.DebugLog("技能CD中! skillID=%s,RemainTime=%s" % (skillID, useSkill.GetRemainTime()))
+        return
+    
     buffStateGroups = useSkill.GetBuffStateLimit()
     if buffStateGroups:
         limitState = curBatObj.IsInBuffStateGroup(buffStateGroups)
@@ -189,7 +193,11 @@
 
 def IsNeedSyncSkill(useSkill):
     ## 使用需要同步B427使用技能
-    return useSkill.GetSkillType() in [ChConfig.Def_SkillType_Atk, ChConfig.Def_SkillType_Cure, ChConfig.Def_SkillType_CleanBuff]
+    if useSkill.GetSkillType() in [ChConfig.Def_SkillType_Atk, ChConfig.Def_SkillType_Cure, ChConfig.Def_SkillType_CleanBuff]:
+        return True
+    if useSkill.GetFuncType() in [ChConfig.Def_SkillFuncType_TurnNormaSkill, ChConfig.Def_SkillFuncType_AngerSkill]:
+        return True
+    return False
 
 def GetSkillTags(turnFight, curBatObj, useSkill):
     ## 获取技能目标
@@ -1346,6 +1354,10 @@
         #GameWorld.DebugLog("###被动触发技能不触发自身,防止死循环! effSkillID=%s,effectID=%s,passiveSkillID=%s" % (effSkillID, effectID, passiveSkillID))
         return
     
+    if hasattr(passiveSkill, "GetRemainTime") and passiveSkill.GetRemainTime() > 0:
+        #GameWorld.DebugLog("被动触发技能CD中! skillID=%s,RemainTime=%s" % (passiveSkillID, passiveSkill.GetRemainTime()))
+        return
+    
     isOK = False
     # 继承主技能目标
     if passiveSkill.GetTagAim() == ChConfig.SkillTagAim_MainSkill:

--
Gitblit v1.8.0