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/Player/PlayerControl.py | 91 ++++++++++++++++++++++++++++++--------------- 1 files changed, 61 insertions(+), 30 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py index 9948798..eb4d41f 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py @@ -3491,8 +3491,6 @@ def ClearAttr(self): for attrIndex in xrange(1, ChConfig.Def_Calc_AllAttrType_MAX): value = 0 -# if attrIndex == ChConfig.TYPE_Calc_SuperHit: -# value = ChConfig.Def_SuperHitPercent # 默认最低暴击倍值 setattr(self, self.__AttrName % attrIndex, value) for attrIndex in self.__NolineAttrList: setattr(self, self.__AttrNameNoline % attrIndex, 0) @@ -3541,15 +3539,20 @@ Miss = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_AttrMiss) * fpParam.GetCftMiss() # 闪避值 AtkSpeed = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_AttrAtkSpeed) # 攻击速度(数值非攻击间隔) SuperHitRate = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_SuperHitRate) # 暴击率 - SuperHit = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_SuperHit) # 暴击伤害倍率 - SuperHitReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_SuperHitReducePer) * fpParam.GetCftSuperHitReduce() # 暴击伤害减免 + SuperHitRateReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_SuperHitRateReduce) # 暴击概率抗性 + SuperHit = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_SuperHit) # 暴击伤害固定值 + SuperHitReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_SuperHitReduce) * fpParam.GetCftSuperHitReduce() # 暴击固定减伤 + SuperHitPer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_SuperHitPer) # 暴击伤害万分率加成 LuckyHitRate = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_LuckyHitRate) # 会心一击 - LuckyHit = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_LuckyHit) # 会心一击伤害倍率 LuckyHitRateReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_LuckyHitRateReduce) * fpParam.GetCftLuckyHitRateReduce() # 会心一击概率抗性 + LuckyHit = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_LuckyHit) # 会心一击伤害固定值 + LuckyHitReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_LuckyHitReduce) # 会心一击伤害固定减伤 + LuckyHitPer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_LuckyHitPer) # 会心一击伤害百分比 SkillAtkRate = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_SkillAtkRate) * fpParam.GetCftSkillAtkRate() # 技能攻击比例加成 SkillAtkRateReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_SkillAtkRateReduce) * fpParam.GetCftSkillAtkRateReduce() # 技能攻击比例减少 - DamagePer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_DamagePer) * fpParam.GetCftDamagePer() # 伤害输出计算百分比 - DamReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_AttrDamReduce) * fpParam.GetCftDamReduce() # 伤害输出计算百分比减少, 伤害吸收 + DamagePVP = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_DamagePVP) * fpParam.GetCftDamagePer() # PVP固定伤害 + DamagePVPReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_DamagePVPReduce) * fpParam.GetCftDamReduce() # PVP固定减伤 + DamagePVE = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_DamagePVE) * fpParam.GetCftDamagePer() # PVE固定伤害 HPRestore = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_HPRestorePer) # 自动回复血量,固定值 DamBackPer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_DamBackPer) * fpParam.GetCftDamBackPer() # 反伤百分比 SpeedValue = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_AttrSpeed) # 移动速度值 @@ -3568,6 +3571,8 @@ FaintDefRate = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_FaintDefRate) * fpParam.GetCftFaintDefRate() # 击晕抵抗 FinalHurt = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_FinalHurt) # 最终固定伤害增加 FinalHurtReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_FinalHurtReduce) # 最终固定伤害减少 + FinalHurtPer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_FinalHurtPer) # 最终伤害万分率 + FinalHurtReducePer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_FinalHurtReducePer) # 最终伤害减少万分率 DamagePerPVP = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_DamagePerPVP) * fpParam.GetCftDamagePerPVP() # 伤害输出计算百分比PVP DamagePerPVPReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_DamagePerPVPReduce) * fpParam.GetCftDamagePerPVPReduce() # 伤害输出计算百分比PVP减少 JobAHurtAddPer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_JobAHurtAddPer) * fpParam.GetCftJobAHurtAddPer() # 对目标战士伤害加成 @@ -4635,8 +4640,8 @@ setAttrDict[ChConfig.AttrName_DefRate] = int(lvIpyData.GetReMiss() * attrPer) # 闪避 setAttrDict[ChConfig.AttrName_AtkSpeed] = int(lvIpyData.GetReAtkSpeed() * attrPer) # 攻击速度 setAttrDict[ChConfig.AttrName_SkillAtkRate] = int(lvIpyData.GetReSkillAtkRate() * attrPer) # 技能伤害比例 - setAttrDict[ChConfig.AttrName_DamagePer] = int(lvIpyData.GetReDamagePer() * attrPer) # 增加伤害 - setAttrDict[ChConfig.AttrName_DamReducePer] = int(lvIpyData.GetReDamReduce() * attrPer) # 减少伤害 + setAttrDict[ChConfig.AttrName_DamagePVP] = int(lvIpyData.GetReDamagePer() * attrPer) # PVP固定伤害 + setAttrDict[ChConfig.AttrName_DamagePVPReduce] = int(lvIpyData.GetReDamReduce() * attrPer) # PVP固定减伤 setAttrDict[ChConfig.AttrName_IgnoreDefRate] = int(lvIpyData.GetReIgnoreDefRate() * attrPer) # 无视防御比例 setAttrDict[ChConfig.AttrName_LuckyHitRate] = int(lvIpyData.GetReLuckyHitRate() * attrPer) # 会心一击率 setAttrDict[ChConfig.AttrName_LuckyHit] = int(lvIpyData.GetReLuckyHit() * attrPer) # 会心一击伤害 @@ -4972,9 +4977,6 @@ ChConfig.TYPE_Calc_HitSucessRate:ChConfig.Def_MaxRateValue, ChConfig.TYPE_Calc_CurePer:ChConfig.Def_MaxRateValue, - #ChConfig.TYPE_Calc_SuperHit:ChConfig.Def_SuperHitPercent, - #ChConfig.TYPE_Calc_GreatHit:ChConfig.Def_GreatHitVal, - #ChConfig.TYPE_Calc_LuckyHit:ChConfig.Def_LuckyHitVal, } for i in xrange(1, ChConfig.Def_Calc_AllAttrType_MAX): @@ -6296,16 +6298,19 @@ def SetJobCAtkReducePer(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_JobCAtkReducePer, value) #---特殊伤害减免--- -## 会心一击伤害减免 -def GetLuckyHitReducePer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_LuckyHitReducePer) -def SetLuckyHitReducePer(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_LuckyHitReducePer, value) +## 会心一击伤害减免固定值 +def GetLuckyHitReduce(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_LuckyHitReduce) +def SetLuckyHitReduce(curPlayer, value): + curPlayer.SetDict(ChConfig.Def_PlayerKey_LuckyHitReduce, value) + curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_LuckyHitReduce, value, False) + ## 卓越一击伤害减免 def GetGreatHitReducePer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_GreatHitReducePer) def SetGreatHitReducePer(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_GreatHitReducePer, value) -## 致命一击伤害减免 -def GetSuperHitReducePer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_SuperHitReducePer) -def SetSuperHitReducePer(curPlayer, value): - curPlayer.SetDict(ChConfig.Def_PlayerKey_SuperHitReducePer, value) +## 暴击伤害减免 +def GetSuperHitReduce(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_SuperHitReduce) +def SetSuperHitReduce(curPlayer, value): + curPlayer.SetDict(ChConfig.Def_PlayerKey_SuperHitReduce, value) curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_SuperHitReduce, value, False) ## 无视防御伤害减免 def GetIgnoreDefReducePer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_IgnoreDefReducePer) @@ -6320,9 +6325,11 @@ ## 抗卓越一击概率 def GetGreatHitRateReduce(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_GreatHitRateReduce) def SetGreatHitRateReduce(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_GreatHitRateReduce, value) -## 抗致命一击概率 +## 抗暴击概率 def GetSuperHitRateReduce(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_SuperHitRateReduce) -def SetSuperHitRateReduce(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_SuperHitRateReduce, value) +def SetSuperHitRateReduce(curPlayer, value): + curPlayer.SetDict(ChConfig.Def_PlayerKey_SuperHitRateReduce, value) + curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_SuperHitRateReduce, value, False) ## 抗无视防御概率 def GetIgnoreDefRateReduce(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_IgnoreDefRateReduce) def SetIgnoreDefRateReduce(curPlayer, value): @@ -6345,6 +6352,13 @@ def SetFinalHurtPer(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_FinalHurtPer, value) curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_FinalHurtPer, value, False) + +## 最终伤害减免百分比 +def GetFinalHurtReducePer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_FinalHurtReducePer) +def SetFinalHurtReducePer(curPlayer, value): + curPlayer.SetDict(ChConfig.Def_PlayerKey_FinalHurtReducePer, value) + curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_FinalHurtReducePer, value, False) + ## 最终固定伤害增加 def GetFinalHurt(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_FinalHurt) def SetFinalHurt(curPlayer, value): @@ -6507,15 +6521,22 @@ def SetSkillAtkRateReduce(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_SkillAtkRateReduce, value) curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_SkillAtkRateReduce, value, False) -#---伤害输出计算百分比---- -def GetDamagePer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_AttrDamagePer) -def SetDamagePer(curPlayer, value): - curPlayer.SetDict(ChConfig.Def_PlayerKey_AttrDamagePer, value) - curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_DamagePer, value, False) -#---伤害输出计算百分比对NPC附加---- -def GetDamagePerPVE(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_AttrDamagePerPVE) -def SetDamagePerPVE(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_AttrDamagePerPVE, value) - +#---PVP固定伤害---- +def GetDamagePVP(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_AttrDamagePVP) +def SetDamagePVP(curPlayer, value): + curPlayer.SetDict(ChConfig.Def_PlayerKey_AttrDamagePVP, value) + curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_DamagePVP, value, False) +#---PVP固定伤害减少---- +def GetDamagePVPReduce(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_AttrDamagePVPReduce) +def SetDamagePVPReduce(curPlayer, value): + curPlayer.SetDict(ChConfig.Def_PlayerKey_AttrDamagePVPReduce, value) + curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_DamagePVPReduce, value, False) +#---伤害输出固定值计算对NPC附加---- +def GetDamagePVE(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_AttrDamagePVE) +def SetDamagePVE(curPlayer, value): + curPlayer.SetDict(ChConfig.Def_PlayerKey_AttrDamagePVE, value) + curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_DamagePVE, value, False) + #---伤害输出计算百分比对玩家附加---- def GetDamagePerPVP(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_AttrDamagePerPVP) def SetDamagePerPVP(curPlayer, value): @@ -6612,6 +6633,16 @@ #法宝技能加成:法宝技能攻击附加的伤害百分比 def GetFabaoHurtPer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_FabaoHurtPer) def SetFabaoHurtPer(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_FabaoHurtPer, value) +# 暴击万分率加成 +def GetSuperHitPer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_SuperHitPer) +def SetSuperHitPer(curPlayer, value): + curPlayer.SetDict(ChConfig.Def_PlayerKey_SuperHitPer, value) + curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_SuperHitPer, value, False) +# 会心一击万分率加成 +def GetLuckyHitPer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_LuckyHitPer) +def SetLuckyHitPer(curPlayer, value): + curPlayer.SetDict(ChConfig.Def_PlayerKey_LuckyHitPer, value) + curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_LuckyHitPer, value, False) ## 计算功能背包物品属性 # @param curPlayer 当前玩家 -- Gitblit v1.8.0