From 70cbc5b6eb5744691be6d36a843d89166add9d7c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 26 三月 2024 19:08:37 +0800
Subject: [PATCH] 10019 【砍树】回合战斗(增加神通部分技能支持;增加部分属性;优化伤血公式;) 1. 增加强化灵兽(属性ID 217)、弱化灵兽属性(属性ID 218); 2. 去除反击必命中设定;优化反击灵兽协同释放方式46支持配置是否重新进入技能CD; 3. 细化回合战斗伤血公式分类;技能表HurtType字段增加十位数表示原攻击类型(1-物理攻击;2-魔法攻击;新增3-额外攻击),个位数保留目前设定; 4. 增加xp道法攻击被动增伤,道法技能释放被动触发; 5. NPC支持反弹伤害; 6. 灵宠释放技能、灵宠攻击触发被动支持区分(每次、每只独立首次,所有灵宠共享首次) 7. 治疗支持强化治疗、弱化治疗属性;区分主角主动治疗、灵宠治疗;强化灵兽及弱化灵兽属性对灵宠治疗有效; 8. 技能释放方式增加 恢复妖气-47;扣除妖气-48;

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillModule_46.py |   21 ++++++++++++++++++---
 1 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillModule_46.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillModule_46.py
index 1587fc6..4593bb5 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillModule_46.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillModule_46.py
@@ -9,7 +9,7 @@
 # @date 2024-02-01
 # @version 1.0
 #
-# 详细描述: 命令第一位置灵兽立即使用一次技能(具体效果由灵兽技能决定),回合制适用
+# 详细描述: 命令第一位置灵兽立即使用一次技能(具体效果由灵兽技能决定),效果1: A值-灵兽技能是否重新进入技能CD,回合制适用
 #
 #-------------------------------------------------------------------------------
 #"""Version = 2024-02-01 15:30"""
@@ -26,7 +26,7 @@
     if not attacker.GetDictByKey(ChConfig.Def_Obj_Dict_TurnFightTimeline):
         return
     
-    # 默认第一位置灵兽强制使用技能1,并重新进入CD
+    # 默认第一位置灵兽强制使用技能1
     curPet = PetControl.GetFightPet(attacker, 1)
     if not curPet:
         return
@@ -34,6 +34,10 @@
     tagObj = TurnAttack.GetEnemyObj(attacker)
     if not tagObj:
         return
+    
+    skillEffect = curSkill.GetEffect(0)
+    isCD = skillEffect.GetEffectValue(0) # 是否重新进入冷却时间
+    remainTime = None
     
     useSkill = None
     skillManager = curPet.GetSkillManager()
@@ -51,6 +55,7 @@
         if SkillCommon.isPassiveSkill(skill):
             continue
         
+        remainTime = skill.GetRemainTime()
         skill.SetRemainTime(0)
         useSkill = skill
         break
@@ -60,5 +65,15 @@
     
     BaseAttack.DoSkillEx_AttackSucess(attacker, defender, curSkill, tick, isEnhanceSkill)    
     tagDist = 0
-    return AICommon.DoNPCUseSkill(curPet, tagObj, useSkill, tagDist, tick)
+    isOK = AICommon.DoNPCUseSkill(curPet, tagObj, useSkill, tagDist, tick)
+    if isOK:
+        # 不重新进入CD的话,还原原剩余时间
+        if not isCD and remainTime != None:
+            skill.SetRemainTime(remainTime)
+    else:
+        # 释放失败,还原原剩余时间
+        if remainTime != None:
+            skill.SetRemainTime(remainTime)
+            
+    return isOK
 

--
Gitblit v1.8.0