From fab6b218ebda60b9d364d0188be91e4b104f03e8 Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期一, 21 一月 2019 17:41:13 +0800 Subject: [PATCH] 5959 子 【开发】【1.5.100】增加诛仙神技 / 【后端】【1.5.100】诛仙神技 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py | 32 +++++++++++++++++++++++++++++--- 1 files changed, 29 insertions(+), 3 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py index 71e9bed..cef9985 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py @@ -1301,11 +1301,12 @@ ChConfig.Def_HurtType_LuckyHit:[False, 0, 0], ChConfig.Def_HurtType_SuperHit:[False, 0, 0], ChConfig.Def_HurtType_Parry:[False, 0, 0], + ChConfig.Def_HurtType_Zhuxian:[False, 0, 0], } calcTypeList = [] if atkObjType == IPY_GameWorld.gotPlayer: - calcTypeList += [ChConfig.Def_HurtType_LuckyHit, ChConfig.Def_HurtType_SuperHit] + calcTypeList += [ChConfig.Def_HurtType_LuckyHit, ChConfig.Def_HurtType_SuperHit, ChConfig.Def_HurtType_Zhuxian] if defObjType == IPY_GameWorld.gotPlayer: calcTypeList += [ChConfig.Def_HurtType_Parry] # 暂时只计算玩家 @@ -1318,6 +1319,7 @@ ChConfig.Def_HurtType_LuckyHit:lambda aObj, dObj, hState:__HurtTypeHappen_LuckyHit(aObj, dObj, hState), ChConfig.Def_HurtType_SuperHit:lambda aObj, dObj, hState:__HurtTypeHappen_SuperHit(aObj, dObj, hState), ChConfig.Def_HurtType_Parry:lambda aObj, dObj, hState:__HurtTypeHappen_Parry(aObj, dObj, hState), + ChConfig.Def_HurtType_Zhuxian:lambda aObj, dObj, hState:__HurtTypeHappen_Zhuxian(aObj, dObj, hState), } hadCheckList = [] # 已经处理过的伤害类型列表 @@ -1403,6 +1405,17 @@ if GameWorld.CanHappen(ChConfig.Def_ChanceDefRate): return True, 0, chanceDefPer return + +def __HurtTypeHappen_Zhuxian(atkObj, defObj, happenState): + """诛仙一击""" + rate = PlayerControl.GetZhuXianRate(atkObj) + if not rate: + return + + if GameWorld.CanHappen(rate): + return True, PlayerControl.GetZhuXianHurtPer(atkObj), 0 + return + # 改变技能伤害(效果ID1010), 野外小怪1009替换1010伤害(2018-03-07增加精英怪) @@ -1617,9 +1630,21 @@ reducePer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(defObj, atkObj, None, ChConfig.TriggerType_ReduceHurtHPPer) hurtValue = int(hurtValue*(max(ChConfig.Def_MaxRateValue - reducePer, 0))*1.0/ChConfig.Def_MaxRateValue) + + # 终极斩杀新效果,必须和斩杀严格区分,会涉及到CD概率,已经触发其他技能等问题 + if PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_ZhongjiZhansha): + # 斩杀 + hurtType = ChConfig.Def_HurtType_ZhognjiZhansha + hurtValue = GameObj.GetHP(defObj) + #伤害结构体 + resultHurtType.HurtHP = hurtValue + resultHurtType.HurtType = hurtType + resultHurtType.RealHurtHP = hurtValue + + remainHP = 0 # 剩余血量 # 斩杀,濒死等情况的处理 - if PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AttackKill): + elif PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AttackKill): # 斩杀 hurtType = ChConfig.Def_HurtType_Zhansha hurtValue = GameObj.GetHP(defObj) @@ -1816,7 +1841,8 @@ isLuckyHit, aLuckyHit, dLuckyHitReduce = hurtTypeResultDict[ChConfig.Def_HurtType_LuckyHit] # 幸运一击 isSuperHit, aSuperHit, dSuperHitReduce = hurtTypeResultDict[ChConfig.Def_HurtType_SuperHit] # 暴击 dDamChanceDef = hurtTypeResultDict[ChConfig.Def_HurtType_Parry][2] # 抵御, 大于0代表触发抵御效果 - + isZhuxianHit, aZhuxianHurtPer, dZhuxianReducePer = hurtTypeResultDict[ChConfig.Def_HurtType_Zhuxian] # 诛仙一击 + if PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(defObj, atkObj, None, ChConfig.TriggerType_OneDamage): return 1, hurtType -- Gitblit v1.8.0