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