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