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