From 732aa4f4a768027405d2f1b4051f13babd29b8e4 Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期二, 16 四月 2019 15:58:26 +0800 Subject: [PATCH] 6516 【后端】【2.0】战斗公式增加系数 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py | 44 ++++++++++++++++++++++++-------------------- 1 files changed, 24 insertions(+), 20 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 505daaf..9cafb12 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 @@ -1264,7 +1264,7 @@ # Def_HurtType_SuperHit, # Def_HurtType_Miss, # ) = range(0, 3) -# #类型: 0-普通 1-致命一击 2-躲闪 +# #类型: 0-普通 1-暴击 2-躲闪 #=============================================================================== ## 伤害结构体类 @@ -1365,11 +1365,11 @@ def __HurtTypeHappen_LuckyHit(atkObj, defObj, happenState): - ''' 判断伤害类型是否发生 - 幸运一击 - @return: 是否触发, 触发时伤害计算值, 触发时防守方的伤害减免值 + ''' 判断伤害类型是否发生 - 会心一击 + @return: 是否触发, 触发时伤害计算固定值, 触发时防守方的伤害减免固定值 ''' if IsHappenStateByType(happenState, ChConfig.Def_Skill_HappenState_LuckyHit): - return True, atkObj.GetLuckyHitVal(), PlayerControl.GetLuckyHitReducePer(defObj) + return True, atkObj.GetLuckyHitVal(), PlayerControl.GetLuckyHitReduce(defObj) aLuckyHitRate = atkObj.GetLuckyHitRate() dLuckyHitRateReduce = PlayerControl.GetLuckyHitRateReduce(defObj) @@ -1379,16 +1379,16 @@ if atkLuckyHitRate <= 0: return if GameWorld.CanHappen(atkLuckyHitRate): - return True, atkObj.GetLuckyHitVal(), PlayerControl.GetLuckyHitReducePer(defObj) + return True, atkObj.GetLuckyHitVal(), PlayerControl.GetLuckyHitReduce(defObj) return def __HurtTypeHappen_SuperHit(atkObj, defObj, happenState): ''' 判断伤害类型是否发生 - 暴击 - @return: 是否触发, 触发时伤害计算值, 触发时防守方的伤害减免值 + @return: 是否触发, 触发时伤害计算固定值, 触发时防守方的伤害减免固定值 ''' if IsHappenStateByType(happenState, ChConfig.Def_Skill_HappenState_SuperHit): - return True, atkObj.GetSuperHit(), PlayerControl.GetSuperHitReducePer(defObj) + return True, atkObj.GetSuperHit(), PlayerControl.GetSuperHitReduce(defObj) aSuperHitRate = atkObj.GetSuperHitRate() dSuperHitRateReduce = PlayerControl.GetSuperHitRateReduce(defObj) @@ -1398,7 +1398,7 @@ if superHitRate <= 0: return if GameWorld.CanHappen(superHitRate): - return True, atkObj.GetSuperHit(), PlayerControl.GetSuperHitReducePer(defObj) + return True, atkObj.GetSuperHit(), PlayerControl.GetSuperHitReduce(defObj) return def __HurtTypeHappen_Parry(atkObj, defObj, happenState): @@ -2011,7 +2011,9 @@ dDamChanceDef = hurtTypeResultDict[ChConfig.Def_HurtType_Parry][2] # 抵御, 大于0代表触发抵御效果 isZhuxianHit, aZhuxianHurtPer, dZhuxianReducePer = hurtTypeResultDict[ChConfig.Def_HurtType_Zhuxian] # 诛仙一击 isDeadlyHit = hurtTypeResultDict[ChConfig.Def_HurtType_DeadlyHit][0] # 致命一击 - + aSuperHitPer = PlayerControl.GetSuperHitPer(atkObj) if isSuperHit else 0 # 暴击伤害加成万分率 + aLuckyHitPer = PlayerControl.SetLuckyHitPer(atkObj) if isLuckyHit else 0 # 会心一击伤害加成万分率 + if PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(defObj, atkObj, None, ChConfig.TriggerType_OneDamage): return 1, hurtType @@ -2058,7 +2060,7 @@ if isLuckyHit: - # 会心一击时增加会心伤害百分比 + # 会心一击时增加会心伤害固定值 aLuckyHit += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_LuckyHit) aLuckyHit -= PassiveBuffEffMng.GetValueByPassiveBuffTriggerType(defObj, atkObj, curSkill, ChConfig.TriggerType_BeLuckyHitSubPer) aLuckyHit = max(aLuckyHit, 0) @@ -2079,16 +2081,17 @@ dHP = GameObj.GetHP(defObj) # 防守方当前血量 dMaxHP = GameObj.GetMaxHP(defObj) # 防守方最大血量 dIceDef = defObj.GetIceDef() # 冰防, 元素真防, 玩家及NPC通用 - dFinalHurtReducePer = 0 # 最终伤害减少百分比 默认0 # 攻击方 if atkObjType == IPY_GameWorld.gotPlayer: aIgnoreDefRate = atkObj.GetIgnoreDefRate() # 无视防御比率 aSkillAtkRate = atkObj.GetSkillAtkRate() # 技能攻击力加成 - aDamagePer = PlayerControl.GetDamagePer(atkObj) # 外层伤害加成 + aDamagePVP = PlayerControl.GetDamagePVP(atkObj) # PVP固定伤害 + aDamagePVE = PlayerControl.GetDamagePVE(atkObj) # PVE固定伤害 + # 被动技能增加伤害 - aDamagePer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AddDamagePer) - aDamagePer += PassiveBuffEffMng.GetValueByPassiveBuffTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AddDamagePer) + #aDamagePVP += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AddDamagePer) + #aDamagePVP += PassiveBuffEffMng.GetValueByPassiveBuffTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AddDamagePer) aNPCHurtAddPer = PlayerControl.GetNPCHurtAddPer(atkObj) # PVE伤害加成 aDamagePerPVP = PlayerControl.GetDamagePerPVP(atkObj) # 外层PVP伤害加成 @@ -2111,8 +2114,9 @@ aSkillAtkRate += atkObj.GetSkillAtkRate() aNPCHurtAddPer = 0 # PVE伤害加成 - aDamagePer = 0 # 外层伤害加成 aDamagePerPVP = 0 # 外层PVP伤害加成 + aDamagePVP = 0 # PVP固定伤害 + aDamagePVE = 0 # PVE固定伤害 aFinalHurt = NPCCommon.GetFinalHurt(atkObj) # 最终固定伤害 aFightPower = NPCCommon.GetSuppressFightPower(atkObj) @@ -2120,24 +2124,24 @@ if defObjType == IPY_GameWorld.gotPlayer: dIgnoreDefRateReduce = PlayerControl.GetIgnoreDefRateReduce(defObj) # 无视防御比率抗性 dSkillAtkRateReduce = PlayerControl.GetSkillAtkRateReduce(defObj) # 技能攻击力减少 - dDamReduce = defObj.GetDamageReduceRate() # 外层减伤 - dDamReduce += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(defObj, atkObj, None, ChConfig.TriggerType_DamageReduce) + dDamagePVPReduce = PlayerControl.GetDamagePVPReduce(defObj) # PVP固定减伤 + #dDamReduce += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(defObj, atkObj, None, ChConfig.TriggerType_DamageReduce) dDamagePerPVPReduce = PlayerControl.GetDamagePerPVPReduce(defObj) # 外层PVP减伤 dDamagePerPVPReduce += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(defObj, atkObj, None, ChConfig.TriggerType_DamageReducePVP) dFinalHurtReduce = PlayerControl.GetFinalHurtReduce(defObj) # 最终固定伤害减少 dBeHurtPer = PlayerControl.GetBeHurtPer(defObj) # 加深受到伤害百分比 dFightPower = defObj.GetFightPower() - dFinalHurtReducePer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(defObj, atkObj, curSkill, ChConfig.TriggerType_dFinalHurtReducePer) + dFinalHurtReducePer = PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(defObj, atkObj, curSkill, ChConfig.TriggerType_dFinalHurtReducePer) else: dIgnoreDefRateReduce = 0 # 无视防御比率抗性 dSkillAtkRateReduce = 0 # 技能攻击力减少 - dDamReduce = 0 # 外层减伤 + dDamagePVPReduce = 0 # PVP固定减伤 dDamagePerPVPReduce = 0 # 外层PVP减伤 dFinalHurtReduce = 0 # 最终固定伤害减少 dBeHurtPer = 0 dFightPower = NPCCommon.GetSuppressFightPower(defObj) - + dFinalHurtReducePer = 0 # 最终伤害减少百分比 默认0 #攻击字典 { 攻击类型 : '公式' } hurtDist = ReadChConfig.GetEvalChConfig('CalcAttackValue') -- Gitblit v1.8.0