From 1ea23ac831a440e8eb302b199ab1abdadfec184c Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 11 四月 2024 16:30:49 +0800 Subject: [PATCH] 10019 【砍树】回合战斗(增加buff被动效果ID 4543、4544、4545、4546;) 1. 增加buff被动效果ID4543: 被暴击附加额外伤害百分比; 2. 增加buff被动效果ID4544: 触发时减少buff层数; 3. 增加buff被动效果ID4545: 灵宠技能释放成功触发技能; 4. 增加buff被动效果ID4546: 灵宠释放技能后触发删除本buff; 5. 技能被动效果ID 5000,支持每X回合配置; 6. buff替换方式增加方式3 - 只取最高,相同或低级的则不处理,减少长时buff无用的重复添加逻辑; --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py | 19 +++++++++++++++++++ 1 files changed, 19 insertions(+), 0 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py index a228cb9..578a15c 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py @@ -509,6 +509,9 @@ 4540:ChConfig.TriggerType_SuperHitPer, # 暴击伤害百分比 4541:ChConfig.TriggerType_AttackAddSkillPer, # BUFF类:提高主动技能的技能伤害 4542:ChConfig.TriggerType_BeHurtMax, # BUFF类:锁定受到伤害最大值 102 + 4543:ChConfig.TriggerType_BeSuperHitHurtExPer, # BUFF类: 被暴击附加额外伤害百分比 103 + 4545:ChConfig.TriggerType_SkillSuccessPet, # BUFF类: 灵宠技能释放成功都可触发 + 4546:ChConfig.TriggerType_SkillSuccessPet, # BUFF类: 灵宠释放技能后触发删除本buff 803:ChConfig.TriggerType_BloodShield, # 血盾 806:ChConfig.TriggerType_BloodShield, # 血盾 @@ -1564,6 +1567,8 @@ if not IsValidPassiveSkill(curSkill): continue + + triggerCount = 0 for effectInfo in effectList: passiveEffect = effectInfo[0] # 被动触发的技能 @@ -1590,8 +1595,14 @@ SkillCommon.SetUsingPassiveSkill(attacker, 1) if SkillShell.UsePassiveTriggerSkill(attacker, skillData, defender, tick): AfterUsePassiveSkill(pyName, attacker, defender, passiveEffect, tick) + triggerCount += 1 SkillCommon.SetUsingPassiveSkill(attacker, 0) + if triggerCount: + hasEffect = SkillCommon.GetSkillEffectByEffectID(curSkill, ChConfig.Def_Skill_Effect_BuffTriggerDelLayer) + if hasEffect: + BuffSkill.ReduceBuffLayer(attacker, None, curSkill.GetSkillTypeID(), triggerCount) + def AfterUsePassiveSkill(pyName, attacker, defender, passiveEffect, tick): # 附加触发后逻辑 callFunc = GameWorld.GetExecFunc(PassiveBuff, "%s.%s" % (pyName, "AfterUsePassiveSkill")) @@ -1641,6 +1652,7 @@ if not IsValidPassiveSkill(curSkill): continue + triggerCount = 0 # 成功触发次数 for effectInfo in effectList: if stopPassiveSkill and curSkill.GetFuncType() != ChConfig.Def_SkillFuncType_GiftSkill: # 只有天赋才可以再次被触发 @@ -1674,6 +1686,13 @@ else: curValue += value + triggerCount += 1 + + if triggerCount: + hasEffect = SkillCommon.GetSkillEffectByEffectID(curSkill, ChConfig.Def_Skill_Effect_BuffTriggerDelLayer) + if hasEffect: + BuffSkill.ReduceBuffLayer(attacker, None, curSkill.GetSkillTypeID(), triggerCount) + return curValue -- Gitblit v1.8.0