From 56915409677ce25cbbb7fab752c420a26229c84d Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期日, 07 四月 2024 17:50:54 +0800 Subject: [PATCH] 10019 【砍树】回合战斗(新增技能效果ID 1007、1008、4542、5012;新增技能释放方式51) 1. 新增技能效果ID 1007-根据目标状态变更技能伤害百分比;1008-根据目标血量变更技能伤害百分比 2. 增加锁定受到的最大伤害效果 4542-buff锁定受到伤害最大值,不会高于自身最大生命值x% 3. 增加技能被动效果ID 5012-目标闪避后触发技能 4. 增加技能释放方式51-打出目标xx属性的X%伤害,单体攻击,支持配置最大不超过自身xx属性x% --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py | 32 +++++++++++++++++++++++++++----- 1 files changed, 27 insertions(+), 5 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 2d4ad2a..a228cb9 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py @@ -449,6 +449,7 @@ 5009:ChConfig.TriggerType_BounceHPPer, # 受到攻击时,反弹伤害百分比值17 5010:ChConfig.TriggerType_IsDealy, # 是否触发致命一击 72 5011:ChConfig.TriggerType_TurnFightStart, # 回合开场触发 100 + 5012:ChConfig.TriggerType_BeMissSkill, # 目标闪避后触发技能 101 } return tdict.get(effectID, -1) #=========================================================================== @@ -507,6 +508,7 @@ 4539:ChConfig.TriggerType_SkillValue, # 增加技能伤害固定值 82 4540:ChConfig.TriggerType_SuperHitPer, # 暴击伤害百分比 4541:ChConfig.TriggerType_AttackAddSkillPer, # BUFF类:提高主动技能的技能伤害 + 4542:ChConfig.TriggerType_BeHurtMax, # BUFF类:锁定受到伤害最大值 102 803:ChConfig.TriggerType_BloodShield, # 血盾 806:ChConfig.TriggerType_BloodShield, # 血盾 @@ -515,6 +517,11 @@ } return tdict.get(effectID, -1) +# 触发值没有配置取值类型的默认累加 +# 触发值取最大值的触发类型 +TriggerValueMaxList = [ChConfig.TriggerType_IsDealy] +# 触发值取最小值的触发类型 +TriggerValueMinList = [ChConfig.TriggerType_BeHurtMax] #--------被动效果--------------------------- # 被动效果的来源可能是被动技能,被动buff,或者其他增益buff @@ -1341,10 +1348,16 @@ if callFunc is None: continue - if triggerType == ChConfig.TriggerType_IsDealy: - curValue = max(curValue, callFunc(attacker, defender, effect)) # 取最高倍值 + value = callFunc(attacker, defender, effect) + if triggerType in TriggerValueMaxList: + curValue = max(curValue, value) # 取最大值 + elif triggerType in TriggerValueMinList: + if not curValue: + curValue = value + elif value > 0: + curValue = min(curValue, value) # 取最小值 else: - curValue += callFunc(attacker, defender, effect) + curValue += value if skillTypeID not in Def_PassiveSkillValueNoCD: if curSkill.GetCoolDownTime(): SkillCommon.SetSkillRemainTime(curSkill, 0, tick, attacker) @@ -1650,8 +1663,17 @@ # 如被动技能:千幻冥炎真实伤害从2变4倍 #curValue += GetPassiveSkillValueByTriggerType(attacker, defender, curSkill, ChConfig.TriggerType_PassiveBuffValue) - curValue += callFunc(attacker, defender, passiveEffect) - + value = callFunc(attacker, defender, passiveEffect) + if triggerType in TriggerValueMaxList: + curValue = max(curValue, value) # 取最大值 + elif triggerType in TriggerValueMinList: + if not curValue: + curValue = value + elif value > 0: + curValue = min(curValue, value) # 取最小值 + else: + curValue += value + return curValue -- Gitblit v1.8.0