From be35331b8931d2829f014749a827a1c37c78feff Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 29 五月 2019 17:11:18 +0800 Subject: [PATCH] 6997 【后端】【2.0】战力计算整理 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 44 +++++++++------------ PySysDB/PySysDBPY.h | 16 +++---- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py | 20 +++++----- 3 files changed, 36 insertions(+), 44 deletions(-) diff --git a/PySysDB/PySysDBPY.h b/PySysDB/PySysDBPY.h index f9628fe..1b3f7e7 100644 --- a/PySysDB/PySysDBPY.h +++ b/PySysDB/PySysDBPY.h @@ -462,28 +462,26 @@ WORD _LV; //等级 DWORD CftHit; //命中系数 DWORD CftMiss; //闪避系数 - DWORD CftDamagePer; //增加伤害系数 - DWORD CftDamReduce; //减少伤害系数 DWORD CftIgnoreDefRate; //无视防御系数 DWORD CftDamChanceDef; //抵御系数 - DWORD CftBleedDamage; //流血伤害系数 DWORD CftFaintRate; //击晕系数 - DWORD CftSuperHitReduce; //暴击抗性系数 + DWORD CftSuperHitRateReduce; //暴击率抗性系数 DWORD CftSuperHitRate; //暴击率系数 DWORD CftLuckyHitRate; //会心一击率系数 DWORD CftLuckyHitRateReduce; //会心一击抗性系数 DWORD CftSkillAtkRate; //技能伤害系数 DWORD CftSkillAtkRateReduce; //技能减伤系数 - DWORD CftDamagePerPVP; //PVP伤害增肌系数 + DWORD CftFinalHurtPer; //最终伤害加成系数 + DWORD CftFinalHurtReducePer; //最终伤害减免系数 + DWORD CftDamagePerPVP; //PVP伤害增加系数 DWORD CftDamagePerPVPReduce; //PVP伤害减少系数 + DWORD CftNPCHurtAddPer; //PVE技能加成系数 + DWORD CftNormalHurtPer; //普通附加伤害加成系数 + DWORD CftFabaoHurtPer; //法宝附加伤害加成系数 DWORD CftDamBackPer; //伤害反射系数 DWORD CftIgnoreDefRateReduce; //无视防御抗性系数 DWORD CftFaintDefRate; //控制抵抗系数 DWORD CftAtkSpeed; //攻速系数 - DWORD CftLuckyHit; //会心一击系数 - DWORD CftSpeedPer; //移动速度百分比系数 - DWORD CftAtkPer; //攻击百分比系数 - DWORD CftMaxHPPer; //生命百分比系数 DWORD CftJobAHurtAddPer; //对目标战士伤害加成 DWORD CftJobBHurtAddPer; //对目标法师伤害加成 DWORD CftJobCHurtAddPer; //对目标弓箭伤害加成 diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py index 576779c..2a96f71 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py @@ -381,28 +381,26 @@ ("WORD", "LV", 1), ("DWORD", "CftHit", 0), ("DWORD", "CftMiss", 0), - ("DWORD", "CftDamagePer", 0), - ("DWORD", "CftDamReduce", 0), ("DWORD", "CftIgnoreDefRate", 0), ("DWORD", "CftDamChanceDef", 0), - ("DWORD", "CftBleedDamage", 0), ("DWORD", "CftFaintRate", 0), - ("DWORD", "CftSuperHitReduce", 0), + ("DWORD", "CftSuperHitRateReduce", 0), ("DWORD", "CftSuperHitRate", 0), ("DWORD", "CftLuckyHitRate", 0), ("DWORD", "CftLuckyHitRateReduce", 0), ("DWORD", "CftSkillAtkRate", 0), ("DWORD", "CftSkillAtkRateReduce", 0), + ("DWORD", "CftFinalHurtPer", 0), + ("DWORD", "CftFinalHurtReducePer", 0), ("DWORD", "CftDamagePerPVP", 0), ("DWORD", "CftDamagePerPVPReduce", 0), + ("DWORD", "CftNPCHurtAddPer", 0), + ("DWORD", "CftNormalHurtPer", 0), + ("DWORD", "CftFabaoHurtPer", 0), ("DWORD", "CftDamBackPer", 0), ("DWORD", "CftIgnoreDefRateReduce", 0), ("DWORD", "CftFaintDefRate", 0), ("DWORD", "CftAtkSpeed", 0), - ("DWORD", "CftLuckyHit", 0), - ("DWORD", "CftSpeedPer", 0), - ("DWORD", "CftAtkPer", 0), - ("DWORD", "CftMaxHPPer", 0), ("DWORD", "CftJobAHurtAddPer", 0), ("DWORD", "CftJobBHurtAddPer", 0), ("DWORD", "CftJobCHurtAddPer", 0), @@ -2194,28 +2192,26 @@ self.LV = 0 self.CftHit = 0 self.CftMiss = 0 - self.CftDamagePer = 0 - self.CftDamReduce = 0 self.CftIgnoreDefRate = 0 self.CftDamChanceDef = 0 - self.CftBleedDamage = 0 self.CftFaintRate = 0 - self.CftSuperHitReduce = 0 + self.CftSuperHitRateReduce = 0 self.CftSuperHitRate = 0 self.CftLuckyHitRate = 0 self.CftLuckyHitRateReduce = 0 self.CftSkillAtkRate = 0 self.CftSkillAtkRateReduce = 0 + self.CftFinalHurtPer = 0 + self.CftFinalHurtReducePer = 0 self.CftDamagePerPVP = 0 self.CftDamagePerPVPReduce = 0 + self.CftNPCHurtAddPer = 0 + self.CftNormalHurtPer = 0 + self.CftFabaoHurtPer = 0 self.CftDamBackPer = 0 self.CftIgnoreDefRateReduce = 0 self.CftFaintDefRate = 0 self.CftAtkSpeed = 0 - self.CftLuckyHit = 0 - self.CftSpeedPer = 0 - self.CftAtkPer = 0 - self.CftMaxHPPer = 0 self.CftJobAHurtAddPer = 0 self.CftJobBHurtAddPer = 0 self.CftJobCHurtAddPer = 0 @@ -2227,28 +2223,26 @@ def GetLV(self): return self.LV # 等级 def GetCftHit(self): return self.CftHit # 命中系数 def GetCftMiss(self): return self.CftMiss # 闪避系数 - def GetCftDamagePer(self): return self.CftDamagePer # 增加伤害系数 - def GetCftDamReduce(self): return self.CftDamReduce # 减少伤害系数 def GetCftIgnoreDefRate(self): return self.CftIgnoreDefRate # 无视防御系数 def GetCftDamChanceDef(self): return self.CftDamChanceDef # 抵御系数 - def GetCftBleedDamage(self): return self.CftBleedDamage # 流血伤害系数 def GetCftFaintRate(self): return self.CftFaintRate # 击晕系数 - def GetCftSuperHitReduce(self): return self.CftSuperHitReduce # 暴击抗性系数 + def GetCftSuperHitRateReduce(self): return self.CftSuperHitRateReduce # 暴击率抗性系数 def GetCftSuperHitRate(self): return self.CftSuperHitRate # 暴击率系数 def GetCftLuckyHitRate(self): return self.CftLuckyHitRate # 会心一击率系数 def GetCftLuckyHitRateReduce(self): return self.CftLuckyHitRateReduce # 会心一击抗性系数 def GetCftSkillAtkRate(self): return self.CftSkillAtkRate # 技能伤害系数 def GetCftSkillAtkRateReduce(self): return self.CftSkillAtkRateReduce # 技能减伤系数 - def GetCftDamagePerPVP(self): return self.CftDamagePerPVP # PVP伤害增肌系数 + def GetCftFinalHurtPer(self): return self.CftFinalHurtPer # 最终伤害加成系数 + def GetCftFinalHurtReducePer(self): return self.CftFinalHurtReducePer # 最终伤害减免系数 + def GetCftDamagePerPVP(self): return self.CftDamagePerPVP # PVP伤害增加系数 def GetCftDamagePerPVPReduce(self): return self.CftDamagePerPVPReduce # PVP伤害减少系数 + def GetCftNPCHurtAddPer(self): return self.CftNPCHurtAddPer # PVE技能加成系数 + def GetCftNormalHurtPer(self): return self.CftNormalHurtPer # 普通附加伤害加成系数 + def GetCftFabaoHurtPer(self): return self.CftFabaoHurtPer # 法宝附加伤害加成系数 def GetCftDamBackPer(self): return self.CftDamBackPer # 伤害反射系数 def GetCftIgnoreDefRateReduce(self): return self.CftIgnoreDefRateReduce # 无视防御抗性系数 def GetCftFaintDefRate(self): return self.CftFaintDefRate # 控制抵抗系数 def GetCftAtkSpeed(self): return self.CftAtkSpeed # 攻速系数 - def GetCftLuckyHit(self): return self.CftLuckyHit # 会心一击系数 - def GetCftSpeedPer(self): return self.CftSpeedPer # 移动速度百分比系数 - def GetCftAtkPer(self): return self.CftAtkPer # 攻击百分比系数 - def GetCftMaxHPPer(self): return self.CftMaxHPPer # 生命百分比系数 def GetCftJobAHurtAddPer(self): return self.CftJobAHurtAddPer # 对目标战士伤害加成 def GetCftJobBHurtAddPer(self): return self.CftJobBHurtAddPer # 对目标法师伤害加成 def GetCftJobCHurtAddPer(self): return self.CftJobCHurtAddPer # 对目标弓箭伤害加成 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 5910cfd..1b03e96 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py @@ -3579,9 +3579,9 @@ 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) * fpParam.GetCftSuperHitRate() # 暴击率 - SuperHitRateReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_SuperHitRateReduce) # 暴击概率抗性 + SuperHitRateReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_SuperHitRateReduce) * fpParam.GetCftSuperHitRateReduce() # 暴击概率抗性 SuperHit = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_SuperHit) # 暴击伤害固定值 - SuperHitReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_SuperHitReduce) * fpParam.GetCftSuperHitReduce() # 暴击固定减伤 + SuperHitReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_SuperHitReduce) # 暴击固定减伤 LuckyHitRate = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_LuckyHitRate) * fpParam.GetCftLuckyHitRate() # 会心一击 LuckyHitRateReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_LuckyHitRateReduce) * fpParam.GetCftLuckyHitRateReduce() # 会心一击概率抗性 LuckyHit = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_LuckyHit) # 会心一击伤害固定值 @@ -3594,7 +3594,7 @@ 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) # 移动速度值 - SpeedPer = getattr(self, self.__AttrNameNoline % ChConfig.TYPE_Calc_AttrSpeed) * fpParam.GetCftSpeedPer() # 移动速度百分比系数 + SpeedPer = 0#getattr(self, self.__AttrNameNoline % ChConfig.TYPE_Calc_AttrSpeed) * fpParam.GetCftSpeedPer() # 移动速度百分比系数 PetMinAtk = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_PetMinAtk) # 宠物最小攻击 PetMaxAtk = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_PetMaxAtk) # 宠物最大攻击 PetDamPer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_PetDamPer) # 宠物伤害百分比提升 @@ -3603,14 +3603,14 @@ IgnoreDefRate = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_IgnoreDefRate) * fpParam.GetCftIgnoreDefRate() # 无视防御几率 IgnoreDefRateReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_IgnoreDefRateReduce) * fpParam.GetCftIgnoreDefRateReduce() # 无视防御概率抗性 DamChanceDef = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_DamChanceDef) * fpParam.GetCftDamChanceDef() # 20%的概率抵御伤害比率 - BleedDamage = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_BleedDamage) * fpParam.GetCftBleedDamage() # 流血伤害 + BleedDamage = 0#getattr(self, self.__AttrName % ChConfig.TYPE_Calc_BleedDamage) * fpParam.GetCftBleedDamage() # 流血伤害 AtkBackHP = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_AtkBackHPPer) # 攻击回复血量 FaintRate = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_FaintRate) * fpParam.GetCftFaintRate() # 触发击晕 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) # 最终伤害减少万分率 + FinalHurtPer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_FinalHurtPer) * fpParam.GetCftFinalHurtPer() # 最终伤害万分率 + FinalHurtReducePer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_FinalHurtReducePer) * fpParam.GetCftFinalHurtReducePer() # 最终伤害减少万分率 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() # 对目标战士伤害加成 @@ -3621,9 +3621,9 @@ JobCAtkReducePer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_JobCAtkReducePer) * fpParam.GetCftJobCAtkReducePer() # 弓箭攻击伤害减免 NormalHurt = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_NormalHurt) - NormalHurtPer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_NormalHurtPer) + NormalHurtPer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_NormalHurtPer) * fpParam.GetCftNormalHurtPer() # 普通附加伤害加成 FabaoHurt = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_FabaoHurt) - FabaoHurtPer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_FabaoHurtPer) + FabaoHurtPer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_FabaoHurtPer) * fpParam.GetCftFabaoHurtPer() # 法宝附加伤害加成 Luck = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_Luck) ComboRate = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_ComboRate) # 连击几率 @@ -3634,11 +3634,11 @@ OnlyFinalHurt = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_OnlyFinalHurt) # 额外输出伤害 PVPAtkBackHP = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_PVPAtkBackHP) # PVP攻击回血 - NPCHurtAddPer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_NPCHurtAddPer) # 对怪物伤害加成 + NPCHurtAddPer = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_NPCHurtAddPer) * fpParam.GetCftNPCHurtAddPer() # 对怪物伤害加成 #其他需作为公式参数的系数 AtkSpeedParameter = fpParam.GetCftAtkSpeed() - LuckyHitParameter = fpParam.GetCftLuckyHit() + LuckyHitParameter = 0#fpParam.GetCftLuckyHit() #取总属性的 SuperHitRateTotal = curPlayer.GetSuperHitRate() -- Gitblit v1.8.0