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/Skill/PassiveBuffEffMng.py         |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/EffGetSet.py                 |   23 +-
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py                     |   25 +-
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PetControl.py               |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py               |    2 
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py                 |  114 +++++++-------
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py                   |    3 
 ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py                                          |   25 +-
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py            |   91 +++++++---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py |   44 +++--
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTJG.py                |   32 ++-
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py                        |   78 ++++-----
 12 files changed, 243 insertions(+), 198 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
index 678b0f6..fbff921 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
@@ -345,10 +345,10 @@
 Def_Effect_LuckyHitRateReduce = 17
 # 技能伤害加成 (用作伤害加成)其中a值为增加的万分率
 Def_Effect_SkillAtkRate = 18 #20032
-# 伤害加成, 技能百分比外层
-Def_Effect_DamagePer = 19
-# 伤害吸收(A值为具体值)
-Def_Effect_DamReducePer = 20
+# PVP固定伤害
+Def_Effect_DamagePVP = 19
+# PVP固定减伤
+Def_Effect_DamagePVPReduce = 20
 #生命回复固定值(A值固定值)
 Def_Effect_HPRestore = 21
 #反伤百分比(A值固定值)
@@ -775,12 +775,12 @@
 
 # 属性刷新类型定义, BYTE, 从146开始, C++定义到 IPY_PlayerDefine.CDBPlayerRefresh_OperateInfo
 (
-CDBPlayerRefresh_SuperHitReduce,        # 暴击抗性 146
-CDBPlayerRefresh_LuckyHitRateReduce,    # 幸运一击抗概率
+CDBPlayerRefresh_SuperHitReduce,        # 暴击固定值减少 146
+CDBPlayerRefresh_LuckyHitRateReduce,    # 会心一击抗概率
 CDBPlayerRefresh_SkillAtkRateReduce,    # 技能减伤
-CDBPlayerRefresh_DamagePer,             # 增加伤害
+CDBPlayerRefresh_DamagePVP,             # PVP固定伤害
 CDBPlayerRefresh_SpeedValue,            # 移动速度值 150
-CDBPlayerRefresh_151,                   # 
+CDBPlayerRefresh_DamagePVE,             # 对NPC的伤害固定值
 CDBPlayerRefresh_PetDamPer,             # 灵宠增加伤害
 CDBPlayerRefresh_IgnoreDefRateReduce,   # 无视防御抗性
 CDBPlayerRefresh_DamChanceDef,          # 概率抵御, 玩家每次被攻击有20%的几率减少伤害比率
@@ -820,7 +820,7 @@
 CDBPlayerRefresh_NPCHurtAddPer,         # 对怪物伤害加成
 CDBPlayerRefresh_FinalHurtPer,          # 最终输出伤害百分比
 CDBPlayerRefresh_TalentPoint,           # 天赋点数 190
-CDBPlayerRefresh_191,                   # 废弃 191
+CDBPlayerRefresh_DamagePVPReduce,       # PVP固定伤害减少
 CDBPlayerRefresh_GodWeaponLV_1,         # 神兵等级 - 类型1 192
 CDBPlayerRefresh_GodWeaponLV_2,         # 神兵等级 - 类型2 193
 CDBPlayerRefresh_GodWeaponLV_3,         # 神兵等级 - 类型3 194
@@ -839,7 +839,12 @@
 CDBPlayerRefresh_NormalHurtPer,         # 属性普通攻击加成:普通攻击附加的伤害百分比 207
 CDBPlayerRefresh_FabaoHurt,             # 属性法宝技能增伤:法宝技能攻击附加的固定值伤害 208
 CDBPlayerRefresh_FabaoHurtPer,          # 属性法宝技能加成:法宝技能攻击附加的伤害百分比 209
-) = range(146, 210)
+CDBPlayerRefresh_SuperHitPer,          # 暴击伤害加成 210
+CDBPlayerRefresh_SuperHitRateReduce,   # 暴击概率抗性 
+CDBPlayerRefresh_LuckyHitPer,          # 会心一击伤害加成 
+CDBPlayerRefresh_LuckyHitReduce,        # 会心伤害减免固定值 
+CDBPlayerRefresh_FinalHurtReducePer,   # 最终伤害减少百分比
+) = range(146, 215)
 
 TYPE_Price_Gold_Paper_Money = 5    # 金钱类型,(先用礼券,再用金子)
 TYPE_Price_Family_Contribution = 6 # 战盟贡献度(活跃度转换得来)
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')
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py
index ae42380..70aa00c 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/BaseAttack.py
@@ -77,7 +77,7 @@
 #    global hurtTypeIndance
 #    hurtTypeIndance = indance
 #
-### 获得本次攻击是否是致命一击
+### 获得本次攻击是否是暴击
 ##  @param 无参数
 ##  @return True or False
 ##  @remarks 函数详细说明.
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index 7368ff9..5f467ea 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -68,7 +68,7 @@
 Def_BuffValue_Count = 3     # buff记录的value个数
 
 #游戏对象属性--------------------------------------------
-Def_Calc_AllAttrType_MAX = 129
+Def_Calc_AllAttrType_MAX = 132
 #基本属性BUFF计算,顺序与 ObjProperty_AttrByIndex 对应,同时也为buff效果ID同步通知策划
 TYPE_Calc_AttrList = (
 TYPE_Calc_Metal,                        # 金 1
@@ -93,7 +93,7 @@
 TYPE_Calc_SuperHitRate,                 # 暴击概率 18 
 TYPE_Calc_SuperHit,                     # 暴击伤害(固定值) 19 
 TYPE_Calc_SuperHitRateReduce,           # 暴击概率抗性 20
-TYPE_Calc_SuperHitReducePer,            # 暴击伤害减免 21
+TYPE_Calc_SuperHitReduce,            # 暴击伤害减免固定值 21
 
 TYPE_Calc_GreatHitRate,                 # 卓越一击几率 22
 TYPE_Calc_GreatHit,                     # 卓越一击伤害倍率 23
@@ -101,9 +101,9 @@
 TYPE_Calc_GreatHitReducePer,            # 卓越一击伤害减免 25
 
 TYPE_Calc_LuckyHitRate,                 # 会心一击几率 26
-TYPE_Calc_LuckyHit,                     # 会心一击伤害倍率 27
+TYPE_Calc_LuckyHit,                     # 会心一击伤害固定值 27
 TYPE_Calc_LuckyHitRateReduce,           # 会心一击概率抗性 28
-TYPE_Calc_LuckyHitReducePer,            # 会心一击伤害减免 29
+TYPE_Calc_LuckyHitReduce,            # 会心一击伤害减免固定值 29
 
 TYPE_Calc_IgnoreDefRate,                # 无视防御几率, 攻击时百分比无视目标的防御 30
 TYPE_Calc_IgnoreDefRateReduce,          # 无视防御概率抗性, 受击时减少对方的无视防御属性 31
@@ -156,15 +156,15 @@
 TYPE_Calc_ReduceSkillCD,                # 减技能CD
 TYPE_Calc_SkillAtkRate,                 # 技能攻击比例加成
 TYPE_Calc_SkillAtkRateReduce,           # 技能攻击比例减少 75
-TYPE_Calc_DamagePer,                    # 伤害输出计算百分比
-TYPE_Calc_AttrDamReduce,                # 减少伤害
+TYPE_Calc_DamagePVP,                    # 伤害输出固定值
+TYPE_Calc_DamagePVPReduce,                # 减少伤害固定值
 TYPE_Calc_HurtPer,                      # 受伤计算百分比
 TYPE_Calc_BleedDamage,                  # 流血伤害
 TYPE_Calc_FinalHurt,                    # 最终固定伤害增加 80
 TYPE_Calc_FinalHurtReduce,              # 最终固定伤害减少
 TYPE_Calc_DamagePerPVP,                 # 伤害输出计算百分比PVP
 TYPE_Calc_DamagePerPVPReduce,           # 伤害输出计算百分比PVP减少
-TYPE_Calc_DamagePerPVE,                 # 伤害输出计算百分比PVE
+TYPE_Calc_DamagePVE,                 # 伤害输出计算固定值PVE
 TYPE_Calc_NPCHurtAddPer,                # 对怪物伤害加成 85
 TYPE_Calc_JobAHurtAddPer,               # 目标战士伤害加成
 TYPE_Calc_JobBHurtAddPer,               # 目标法师伤害加成
@@ -211,7 +211,9 @@
 TYPE_Calc_NormalHurtPer,                # 普通攻击加成 
 TYPE_Calc_FabaoHurt,                    # 法宝技能增伤 
 TYPE_Calc_FabaoHurtPer,                 # 法宝技能加成 
-
+TYPE_Calc_SuperHitPer,                  # 暴击伤害万分率加成
+TYPE_Calc_LuckyHitPer,                  # 会心一击伤害万分率加成 130
+TYPE_Calc_FinalHurtReducePer,           # 最终伤害减少百分比
 ) = range(1, Def_Calc_AllAttrType_MAX)
 
 
@@ -221,10 +223,6 @@
 
 # 衰减递增的属性列表, 衰减递增算法: 1-(1-a1)*(1-a2);   非衰减递增算法:  a1+a2
 TYPE_Calc_DeclineList = []
-#TYPE_Calc_DeclineList = [TYPE_Calc_SuperHitReducePer, TYPE_Calc_LuckyHitRateReduce, TYPE_Calc_SkillAtkRateReduce, 
-#                         TYPE_Calc_AttrDamReduce, TYPE_Calc_DamagePerPVPReduce, 
-#                         TYPE_Calc_IgnoreDefRate, TYPE_Calc_IgnoreDefRateReduce, TYPE_Calc_DamChanceDef,
-#                         TYPE_Calc_FaintRate, TYPE_Calc_FaintDefRate, TYPE_Calc_ProDefAbsorb]
 
 #宠物属性列表
 Def_Pet_Attr = []
@@ -1105,14 +1103,6 @@
 Def_PlayerCanAttackBalk = 1
 #玩家攻击距离扩大N格子
 Def_PlayerAttackDistZoom = 2
-#致命一击的攻击力是普通攻击的2倍
-Def_SuperHitPercent = 20000
-#幸运一击的攻击力相对普攻倍值
-Def_LuckyHitVal = 11000
-#卓越一击的攻击力相对普攻倍值
-Def_GreatHitVal = 12500
-#富豪一击的攻击力相对普攻倍值
-Def_FuhaoHitVal = 11000
 #服务器统一使用万分率(用于计算百分比 10000为100%)
 Def_MaxRateValue = ShareDefine.Def_MaxRateValue
 Def_AtkSpeedBase = 1000.0   # 玩家攻击速度基础标准 1000毫秒
@@ -3015,6 +3005,8 @@
 
 #---SetDict 玩家字典KEY,不存于数据库---
 # key的长度不能超过29个字节
+Def_PlayerKey_LuckyHitPer = "LuckyHitPer"   # 会心一击伤害万分率
+Def_PlayerKey_SuperHitPer = "SuperHitPer" # 暴击伤害万分率
 Def_PlayerKey_NormalHurt = "NormalHurt"   # 属性普通攻击增伤:普通攻击附加的固定值伤害
 Def_PlayerKey_NormalHurtPer = "NormalHurtPer"    # 属性普通攻击加成:普通攻击附加的伤害百分比
 Def_PlayerKey_FabaoHurt = "FabaoHurt"    # 属性法宝技能增伤:法宝技能攻击附加的固定值伤害
@@ -3112,8 +3104,9 @@
 Def_PlayerKey_AttrComboDamPer = "ComboDamPer"        #连击伤害
 Def_PlayerKey_SkillAtkRateReduce = "SkillAtkRateReduce"    #技能攻击比例减少
 Def_PlayerKey_AttrDropEquipPer = "DropEquipPer"    #装备掉率
-Def_PlayerKey_AttrDamagePer = "DamagePer"    #伤害输出计算百分比
-Def_PlayerKey_AttrDamagePerPVE = "DamagePerPVE"    #伤害输出计算百分比PVE
+Def_PlayerKey_AttrDamagePVP = "DamagePVP"    #PVP固定伤害输出
+Def_PlayerKey_AttrDamagePVPReduce = "DamagePVPReduce"    #PVP固定伤害减少
+Def_PlayerKey_AttrDamagePVE = "DamagePVE"    #伤害输出计算固定值PVE
 Def_PlayerKey_AttrDamagePerPVP = "DamagePerPVP"    #伤害输出计算百分比PVP
 Def_PlayerKey_AttrDamagePerPVPReduce = "DamagePerPVPReduce"    #伤害输出计算百分比PVP减少
 Def_PlayerKey_AttrHurtPer = "AttrHurtPer"    #受伤计算百分比
@@ -3161,13 +3154,13 @@
 Def_PlayerKey_JobAAtkReducePer = "JobAAtkReducePer"  # 战士攻击伤害减免
 Def_PlayerKey_JobBAtkReducePer = "JobBAtkReducePer"  # 法师攻击伤害减免
 Def_PlayerKey_JobCAtkReducePer = "JobCAtkReducePer"  # 弓手攻击伤害减免
-Def_PlayerKey_LuckyHitReducePer = "LuckyHitReducePer"  # 会心一击伤害减免
+Def_PlayerKey_LuckyHitReduce = "LuckyHitReduce"  # 会心一击伤害减免固定值
 Def_PlayerKey_GreatHitReducePer = "GreatHitReducePer"  # 卓越一击伤害减免
-Def_PlayerKey_SuperHitReducePer = "SuperHitReducePer"  # 致命一击伤害减免
+Def_PlayerKey_SuperHitReduce = "SuperHitReduce"  # 暴击伤害减免固定值
 Def_PlayerKey_IgnoreDefReducePer = "IgnoreDefReducePer"  # 无视防御伤害减免
 Def_PlayerKey_LuckyHitRateReduce = "LuckyHitRateReduce"  # 抗会心一击概率
 Def_PlayerKey_GreatHitRateReduce = "GreatHitRateReduce"  # 抗卓越一击概率
-Def_PlayerKey_SuperHitRateReduce = "SuperHitRateReduce"  # 抗致命一击概率
+Def_PlayerKey_SuperHitRateReduce = "SuperHitRateReduce"  # 抗暴击概率
 Def_PlayerKey_IgnoreDefRateReduce = "IgnoreDefRateReduce"  # 抗无视防御概率
 Def_PlayerKey_LastHurtValue = "LastHurtValue" # 最后一次伤害值
 Def_PlayerKey_LastHurtNPCObjID = "LastHurtNPCObjID" # 最后攻击的NPCObjID
@@ -3175,6 +3168,7 @@
 Def_PlayerKey_ReduceSkillCDPer = "ReduceSkillCDPer" # 减技能CD万分率
 Def_PlayerKey_CommMapExpRate = "CommMapExpRate" # 常规地图经验倍率加成
 Def_PlayerKey_FinalHurtPer = "FinalHurtPer" # 最终伤害百分比
+Def_PlayerKey_FinalHurtReducePer = "FHReducePer" # 最终伤害减免百分比
 Def_PlayerKey_FuhaoHitRate = "FuhaoHitRate" # 富豪一击概率
 Def_PlayerKey_FinalHurt = "FinalHurt" # 最终固定伤害增加
 Def_PlayerKey_BleedDamage = "BleedDamage" # 流血伤害
@@ -3948,8 +3942,8 @@
 AttrName_PoisonDef = "PoisonDef"    # 毒防
 AttrName_ThunderDef = "ThunderDef"  # 雷防
 AttrName_WindDef = "WindDef"  # 风攻
-AttrName_DamReducePer = "DamReduce"  # 伤害吸收
-AttrName_DamagePer = "DamagePer"  # 增加伤害
+AttrName_DamagePVPReduce = "DamagePVPReduce"  # PVP固定减伤
+AttrName_DamagePVP = "DamagePVP"  # pvp固定伤害
 AttrName_Speed = "Speed"    # 移动速度
 AttrName_BothAtk = "BothAtk"    # 双攻物魔
 AttrName_Hit = "Hit"    # 命中
@@ -3957,7 +3951,7 @@
 AttrName_GreatHitRate = "GreatHitRate"    # 卓越一击几率
 AttrName_GreatHit = "GreatHit"    # 卓越一击伤害倍率
 AttrName_LuckyHitRate = "LuckyHitRate"    # 会心一击几率
-AttrName_LuckyHit = "LuckyHit"    # 会心一击伤害倍率
+AttrName_LuckyHit = "LuckyHit"    # 会心一击伤害固定值
 AttrName_IgnoreDefRate = "IgnoreDefRate"    # 无视防御几率
 AttrName_AtkSpeed = "AtkSpeed"    # 攻击速度
 AttrName_ReduceSkillCD = "ReduceSkillCD"    # 减技能CD值
@@ -3974,8 +3968,8 @@
 AttrName_GameExpRate = "GameExpRate"  # 游戏事件经验倍率
 AttrName_SkillAtkRate = "SkillAtkRate"  # 技能伤害加成 (用作伤害加成)
 AttrName_AtkBackHPPer = "AtkBackHPPer"    # 攻击回复血量比率
-AttrName_SuperHit = "SuperHit"  # 致命一击伤害
-AttrName_SuperHitRate = "SuperHitRate"  # 致命一击概率
+AttrName_SuperHit = "SuperHit"  # 暴击伤害固定值
+AttrName_SuperHitRate = "SuperHitRate"  # 暴击概率
 AttrName_NPCHurtAddPer = "NPCHurtAddPer"  # 对怪物伤害加成
 AttrName_JobAHurtAddPer = "JobAHurtAddPer"  # 目标战士伤害加成
 AttrName_JobBHurtAddPer = "JobBHurtAddPer"  # 目标法师伤害加成
@@ -3984,13 +3978,13 @@
 AttrName_JobAAtkReducePer = "JobAAtkReducePer"  # 战士攻击伤害减免
 AttrName_JobBAtkReducePer = "JobBAtkReducePer"  # 法师攻击伤害减免
 AttrName_JobCAtkReducePer = "JobCAtkReducePer"  # 弓手攻击伤害减免
-AttrName_LuckyHitReducePer = "LuckyHitReducePer"  # 会心一击伤害减免
+AttrName_LuckyHitReduce = "LuckyHitReduce"  # 会心一击伤害减免固定值
 AttrName_GreatHitReducePer = "GreatHitReducePer"  # 卓越一击伤害减免
-AttrName_SuperHitReducePer = "SuperHitReducePer"  # 致命一击伤害减免
+AttrName_SuperHitReduce = "SuperHitReduce"  # 暴击伤害减免固定值
 AttrName_IgnoreDefReducePer = "IgnoreDefReducePer"  # 无视防御伤害减免
 AttrName_LuckyHitRateReduce = "LuckyHitRateReduce"  # 抗会心一击概率
 AttrName_GreatHitRateReduce = "GreatHitRateReduce"  # 抗卓越一击概率
-AttrName_SuperHitRateReduce = "SuperHitRateReduce"  # 抗致命一击概率
+AttrName_SuperHitRateReduce = "SuperHitRateReduce"  # 抗暴击概率
 AttrName_IgnoreDefRateReduce = "IgnoreDefRateReduce"  # 抗无视防御概率
 AttrName_FinalHurtPer = "FinalHurtPer"  # 最终伤害百分比
 AttrName_FuhaoHitRate = "FuhaoHitRate"  # 富豪一击概率
@@ -4020,7 +4014,7 @@
     ShareDefine.Def_Effect_Miss:[[TYPE_Calc_AttrMiss], False, TYPE_Linear],
     ShareDefine.Def_Effect_SuperHitRate:[[TYPE_Calc_SuperHitRate], False, TYPE_Linear],
     ShareDefine.Def_Effect_SuperHit:[[TYPE_Calc_SuperHit], False, TYPE_Linear],
-    ShareDefine.Def_Effect_SuperHitReduce:[[TYPE_Calc_SuperHitReducePer], False, TYPE_Linear],
+    ShareDefine.Def_Effect_SuperHitReduce:[[TYPE_Calc_SuperHitReduce], False, TYPE_Linear],
     ShareDefine.Def_Effect_Hit:[[TYPE_Calc_AttrHit], False, TYPE_Linear],
     ShareDefine.Def_Effect_MinAtk:[[TYPE_Calc_AttrATKMin], False, TYPE_Linear],
     ShareDefine.Def_Effect_MaxAtk:[[TYPE_Calc_AttrATKMax], False, TYPE_Linear],
@@ -4075,7 +4069,7 @@
     AttrName_GreatHit:[[TYPE_Calc_GreatHit], False, TYPE_Linear],
     AttrName_LuckyHitRate:[[TYPE_Calc_LuckyHitRate], False, TYPE_Linear],
     AttrName_LuckyHit:[[TYPE_Calc_LuckyHit], False, TYPE_Linear],
-    AttrName_LuckyHitReducePer:[[TYPE_Calc_LuckyHitReducePer], False, TYPE_Linear],
+    AttrName_LuckyHitReduce:[[TYPE_Calc_LuckyHitReduce], False, TYPE_Linear],
     AttrName_LuckyHitRateReduce:[[TYPE_Calc_LuckyHitRateReduce], False, TYPE_Linear],
     AttrName_IgnoreDefRate:[[TYPE_Calc_IgnoreDefRate], False, TYPE_Linear],
     AttrName_IgnoreDefRateReduce:[[TYPE_Calc_IgnoreDefRateReduce], False, TYPE_Linear],
@@ -4097,8 +4091,8 @@
     ShareDefine.Def_Effect_FaintDefRate:[[TYPE_Calc_FaintDefRate], False, TYPE_Linear],
     ShareDefine.Def_Effect_SkillAtkRate:[[TYPE_Calc_SkillAtkRate], False, TYPE_Linear],
     ShareDefine.Def_Effect_SkillAtkRateReduce:[[TYPE_Calc_SkillAtkRateReduce], False, TYPE_Linear],
-    ShareDefine.Def_Effect_DamagePer:[[TYPE_Calc_DamagePer], False, TYPE_Linear],
-    ShareDefine.Def_Effect_DamReducePer:[[TYPE_Calc_AttrDamReduce], False, TYPE_Linear],
+    ShareDefine.Def_Effect_DamagePVP:[[TYPE_Calc_DamagePVP], False, TYPE_Linear],
+    ShareDefine.Def_Effect_DamagePVPReduce:[[TYPE_Calc_DamagePVPReduce], False, TYPE_Linear],
     ShareDefine.Def_Effect_DamagePerPVP:[[TYPE_Calc_DamagePerPVP], False, TYPE_Linear],
     ShareDefine.Def_Effect_DamagePerPVPReduce:[[TYPE_Calc_DamagePerPVPReduce], False, TYPE_Linear],
     ShareDefine.Def_Effect_ComboRate:[[TYPE_Calc_ComboRate], False, TYPE_Linear],
@@ -4125,12 +4119,12 @@
     AttrName_JobBAtkReducePer:[[TYPE_Calc_JobBAtkReducePer], False, TYPE_Linear],
     AttrName_JobCAtkReducePer:[[TYPE_Calc_JobCAtkReducePer], False, TYPE_Linear],
     AttrName_GreatHitReducePer:[[TYPE_Calc_GreatHitReducePer], False, TYPE_Linear],
-    AttrName_SuperHitReducePer:[[TYPE_Calc_SuperHitReducePer], False, TYPE_Linear],
+    AttrName_SuperHitReduce:[[TYPE_Calc_SuperHitReduce], False, TYPE_Linear],
     AttrName_GreatHitRateReduce:[[TYPE_Calc_GreatHitRateReduce], False, TYPE_Linear],
     AttrName_SuperHitRateReduce:[[TYPE_Calc_SuperHitRateReduce], False, TYPE_Linear],
     ShareDefine.Def_Effect_SuperHitRateReduce:[[TYPE_Calc_SuperHitRateReduce], False, TYPE_Linear],
-    AttrName_DamReducePer:[[TYPE_Calc_AttrDamReduce], False, TYPE_Linear],
-    AttrName_DamagePer:[[TYPE_Calc_DamagePer], False, TYPE_Linear],
+    AttrName_DamagePVPReduce:[[TYPE_Calc_DamagePVPReduce], False, TYPE_Linear],
+    AttrName_DamagePVP:[[TYPE_Calc_DamagePVP], False, TYPE_Linear],
     AttrName_FinalHurtPer:[[TYPE_Calc_FinalHurtPer], False, TYPE_Linear],
     AttrName_FuhaoHitRate:[[TYPE_Calc_FuhaoHitRate], False, TYPE_Linear],
     ShareDefine.Def_Effect_FinalHurt:[[TYPE_Calc_FinalHurt], False, TYPE_Linear],
@@ -4157,6 +4151,7 @@
     ShareDefine.Def_Effect_ProDefAbsorb:[[TYPE_Calc_ProDefAbsorb], False, TYPE_Linear],
     ShareDefine.Def_Effect_OnlyFinalHurt:[[TYPE_Calc_OnlyFinalHurt], False, TYPE_Linear],
     ShareDefine.Def_Effect_PVPAtkBackHP:[[TYPE_Calc_PVPAtkBackHP], False, TYPE_Linear],
+    ShareDefine.Def_Effect_SuperHitPer:[[TYPE_Calc_SuperHitPer], False, TYPE_Linear],
     
     #战斗非线性
     ShareDefine.Def_Effect_MaxHPPer:[[TYPE_Calc_AttrMaxHP], False, TYPE_NoLinear],
@@ -4165,7 +4160,6 @@
     ShareDefine.Def_Effect_MissRate:[[TYPE_Calc_AttrMiss], False, TYPE_NoLinear],
     #ShareDefine.Def_Effect_AddMAtkByPer:[[TYPE_Calc_AttrMATKMin, TYPE_Calc_AttrMATKMax], False, TYPE_NoLinear],
     ShareDefine.Def_Effect_AddAtkByPer:[[TYPE_Calc_AttrATKMin, TYPE_Calc_AttrATKMax], False, TYPE_NoLinear],
-    ShareDefine.Def_Effect_SuperHitPer:[[TYPE_Calc_SuperHit], False, TYPE_NoLinear],
     ShareDefine.Def_Effect_SpeedPer:[[TYPE_Calc_AttrSpeed], False, TYPE_NoLinear],
     ShareDefine.Def_Effect_LuckPer:[[TYPE_Calc_Luck], False, TYPE_NoLinear],
     ShareDefine.Def_Effect_IceAtkPer:[[TYPE_Calc_AttrIceAtk], False, TYPE_NoLinear],
@@ -4388,7 +4382,7 @@
 TriggerType_AttackOverPassive, # 攻击(对敌技能)后被动技能被触发在其他被动效果处理后调用,触发顺序原因 47
 TriggerType_Buff_BeAttackSubLayer,  # BUFF类:被攻击减buff层,0消失 48
 TriggerType_OneDamage,   # 伤害降低到1点 49
-TriggerType_LuckyHit, # 会心一击时增加会心伤害百分比 50
+TriggerType_LuckyHit, # 会心一击时增加会心伤害固定值 50
 TriggerType_ChangeHurtToHP, # 把受到伤害的xx%转化为生命值 51
 TriggerType_AddLayer, # BUFF层级增加时 52
 TriggerType_ForbidenCure, # 禁止治疗 53
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
index 75f4082..b01f4b0 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
@@ -95,8 +95,6 @@
         
     #初始化处理间隔
     curNPC.SetIsNeedProcess(False)
-    #设定致命一击伤害百分比
-    curNPC.SetSuperHit(ChConfig.Def_SuperHitPercent)
     #初始化这个NPC的时钟
     curNPC.SetTickTypeCount(ChConfig.TYPE_NPC_Tick_Count)
     return
@@ -3711,7 +3709,6 @@
         ############################################
         #初始化状态
         curNPC.SetSpeed(curNPC.GetOrgSpeed())
-        curNPC.SetSuperHit(ChConfig.Def_SuperHitPercent)
         curNPC.SetAtkInterval(curNPC.GetBaseAtkInterval())
 
 #        #先清空异常
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
index 4fa6942..32f89b8 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -2602,62 +2602,64 @@
 #@return 返回值无意义
 #@remarks 客户端封包响应//04 02 获取鼠标左键点击之后对象的详细信息#tagCClickObjGetInfo
 def __Func_PlayerClickOtherPlayerGetInfo(index, tick):
-    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
-    
-    sendPack = IPY_GameWorld.IPY_CClickObjGetInfo()
-    sendPack_ID = sendPack.GetObjID()
-    sendPack_Type = sendPack.GetObjType()
-    
-    tagObj = GameWorld.GetObj(sendPack_ID, sendPack_Type)
-    
-    if tagObj == None:
-        #GameWorld.Log("玩家请求其他玩家的相貌信息失败, 对象不存在", curPlayer.GetPlayerID())
-        return
-    
-    dist = GameWorld.GetDist(curPlayer.GetPosX(), curPlayer.GetPosY(), tagObj.GetPosX(), tagObj.GetPosY())
-    #是否可以目标详细信息
-    canGetDetail = (dist <= curPlayer.GetSight())
-    #目标类型
-    tagObjType = tagObj.GetGameObjType()
-    
-    #仅处理Player和NPC
-    if tagObjType not in [IPY_GameWorld.gotPlayer, IPY_GameWorld.gotNPC]:
-        return
-    
-    #---玩家处理---
-    if tagObjType == IPY_GameWorld.gotPlayer:
-        #获取玩家详细信息成功
-        if canGetDetail:
-            extendDataDict = {}
-            extendDataDict['maxHP'] = tagObj.GetMaxHP()
-            extendDataDict['maxMP'] = tagObj.GetMaxMP()
-            extendDataDict['hit'] = tagObj.GetHit()
-            extendDataDict['miss'] = tagObj.GetMiss()
-            extendDataDict['atkSpeed'] = PlayerControl.GetAtkSpeed(tagObj)
-            extendDataDict['superHitRate'] = tagObj.GetSuperHitRate()
-            extendDataDict['superHit'] = tagObj.GetSuperHit()
-            extendDataDict['luckyHitRate'] = tagObj.GetLuckyHitRate()
-            extendDataDict['greatHitRate'] = tagObj.GetGreatHitRate()
-            extendDataDict['ignoreDefRate'] = tagObj.GetIgnoreDefRate()
-            extendDataDict['damageReduceRate'] = tagObj.GetDamageReduceRate()
-            extendDataDict['damageBackRate'] = tagObj.GetDamageBackRate()
-                        
-            extendData = str(extendDataDict)
-            extendDataLen = len(extendData)
-            curPlayer.PlayerClickOtherPlayerDetail(tagObj, extendDataLen, extendData)
-            return
-        
-        #获取玩家详细信息失败
-        curPlayer.Sync_GetPlayerInfoFail(sendPack_ID)
-        return
-    
-    #---NPC处理---
-    
-    #获取NPC详细信息成功
-    if canGetDetail:
-        curPlayer.PlayerClickOtherNPCDetail(tagObj)
-        return
-    
+    #===========================================================================
+    # curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
+    # 
+    # sendPack = IPY_GameWorld.IPY_CClickObjGetInfo()
+    # sendPack_ID = sendPack.GetObjID()
+    # sendPack_Type = sendPack.GetObjType()
+    # 
+    # tagObj = GameWorld.GetObj(sendPack_ID, sendPack_Type)
+    # 
+    # if tagObj == None:
+    #    #GameWorld.Log("玩家请求其他玩家的相貌信息失败, 对象不存在", curPlayer.GetPlayerID())
+    #    return
+    # 
+    # dist = GameWorld.GetDist(curPlayer.GetPosX(), curPlayer.GetPosY(), tagObj.GetPosX(), tagObj.GetPosY())
+    # #是否可以目标详细信息
+    # canGetDetail = (dist <= curPlayer.GetSight())
+    # #目标类型
+    # tagObjType = tagObj.GetGameObjType()
+    # 
+    # #仅处理Player和NPC
+    # if tagObjType not in [IPY_GameWorld.gotPlayer, IPY_GameWorld.gotNPC]:
+    #    return
+    # 
+    # #---玩家处理---
+    # if tagObjType == IPY_GameWorld.gotPlayer:
+    #    #获取玩家详细信息成功
+    #    if canGetDetail:
+    #        extendDataDict = {}
+    #        extendDataDict['maxHP'] = tagObj.GetMaxHP()
+    #        extendDataDict['maxMP'] = tagObj.GetMaxMP()
+    #        extendDataDict['hit'] = tagObj.GetHit()
+    #        extendDataDict['miss'] = tagObj.GetMiss()
+    #        extendDataDict['atkSpeed'] = PlayerControl.GetAtkSpeed(tagObj)
+    #        extendDataDict['superHitRate'] = tagObj.GetSuperHitRate()
+    #        extendDataDict['superHit'] = tagObj.GetSuperHit()
+    #        extendDataDict['luckyHitRate'] = tagObj.GetLuckyHitRate()
+    #        extendDataDict['greatHitRate'] = tagObj.GetGreatHitRate()
+    #        extendDataDict['ignoreDefRate'] = tagObj.GetIgnoreDefRate()
+    #        extendDataDict['damageReduceRate'] = tagObj.GetDamageReduceRate()
+    #        extendDataDict['damageBackRate'] = tagObj.GetDamageBackRate()
+    #                    
+    #        extendData = str(extendDataDict)
+    #        extendDataLen = len(extendData)
+    #        curPlayer.PlayerClickOtherPlayerDetail(tagObj, extendDataLen, extendData)
+    #        return
+    #    
+    #    #获取玩家详细信息失败
+    #    curPlayer.Sync_GetPlayerInfoFail(sendPack_ID)
+    #    return
+    # 
+    # #---NPC处理---
+    # 
+    # #获取NPC详细信息成功
+    # if canGetDetail:
+    #    curPlayer.PlayerClickOtherNPCDetail(tagObj)
+    #    return
+    # 
+    #===========================================================================
     #获取NPC详细信息失败
     #暂不处理
     return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PetControl.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PetControl.py
index 0e72461..827b656 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PetControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PetControl.py
@@ -239,7 +239,7 @@
 # @return 返回值无意义
 # @remarks 初始化宠物属性
 def InitRolePet(rolePet, canSyncClient=True):
-    #---初始化时钟,致命一击倍率---
+    #---初始化时钟---
     NPCCommon.InitNPC(rolePet)
     
     #---初始化仇恨列表---
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 当前玩家
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTJG.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTJG.py
index afc30f3..677e40b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTJG.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTJG.py
@@ -309,22 +309,25 @@
     aMinAtk = curPlayer.GetMinAtk()        # 攻击方最小攻击
     aMaxAtk = curPlayer.GetMaxAtk()        # 攻击方最大攻击
     aSuperHitRate = curPlayer.GetSuperHitRate() # 暴击率
-    aSuperHit = curPlayer.GetSuperHit() # 暴击伤害
+    aSuperHit = curPlayer.GetSuperHit() # 暴击伤害固定值
+    aSuperHitPer = PlayerControl.GetSuperHitPer(curPlayer) # 暴击伤害固定值
     aIceAtk = curPlayer.GetIceAtk()        # 真实伤害
-    aDamagePer = PlayerControl.GetDamagePer(curPlayer)     # 外层伤害加成
+    aDamagePVE = PlayerControl.GetDamagePVE(curPlayer)     # PVE固定伤害
     aSkillAtkRate = curPlayer.GetSkillAtkRate()    # 技能攻击力加成
     petMinAtk = PlayerControl.GetPetMinAtk(curPlayer)   #灵宠最小攻击
     petMaxAtk = PlayerControl.GetPetMaxAtk(curPlayer)   #灵宠最大攻击
     petDamPer = GameObj.GetPetDamPer(curPlayer)   #灵宠增加伤害
     atkSpeed = PlayerControl.GetAtkSpeed(curPlayer) # 攻击速度
     aIgnoreDefRate = curPlayer.GetIgnoreDefRate()  # 无视防御比率
-    aLuckyHit = curPlayer.GetLuckyHitVal()  # 会心一击
+    aLuckyHit = curPlayer.GetLuckyHitVal()  # 会心一击固定值
+    aLuckyHitPer = PlayerControl.GetLuckyHitPer(curPlayer)  # 会心一击万分率
     aLuckyHitRate = curPlayer.GetLuckyHitRate() # 会心一击概率
     aBleedDamage = PlayerControl.GetBleedDamage(curPlayer) # 流血伤害 万分率
     aFinalHurt = PlayerControl.GetFinalHurt(curPlayer)     # 最终固定伤害
+    aFinalHurtPer = PlayerControl.GetFinalHurtPer(curPlayer)     # 最终伤害加成万分率
     aFightPower = curPlayer.GetFightPower() # 战力
     aReFightPower = lvIpyData.GetReFightPower() # 等级表对应的战力
-    
+    aNPCHurtAddPer = PlayerControl.GetNPCHurtAddPer(curPlayer) #PVE 伤害加成万分率
     
     npcExp = npcData.GetExp()
     npcMaxHP = npcData.GetHP() + npcData.GetHPEx()*ShareDefine.Def_PerPointValue
@@ -359,16 +362,17 @@
     for i in range(len(skills)):
         locals()["skill%s"%(i+1)] = 1 if skills[i] in PassiveBuffEffMng.FindUsePassiveSkills(curPlayer) else 0  
              
-    
-    GameWorld.DebugLog("""CalcTJGExp--%s-%s-%s-%s-reExp:%s, attackEff:%s, aMinAtk:%s, aMaxAtk:%s, aSuperHitRate:%s, aSuperHit:%s, 
-    aIceAtk:%s, aDamagePer:%s, aSkillAtkRate:%s, petMinAtk:%s, petMaxAtk:%s, petDamPer:%s, atkSpeed:%s,
-    aIgnoreDefRate:%s, aLuckyHit:%s, aLuckyHitRate:%s, aBleedDamage:%s, aFinalHurt:%s, npcExp:%s, npcMaxHP:%s, npcCommendFightPower:%s,
-    petSkillLV:%s, petSkillPer:%s, skill:%s, petSkill:%s"""%(curPlayer.GetID(), curPlayer.GetLV(), times, npcData.GetNPCID(),
-        reExp, attackEff, aMinAtk, aMaxAtk, aSuperHitRate, aSuperHit,
-        aIceAtk, aDamagePer, aSkillAtkRate, petMinAtk, petMaxAtk, petDamPer,
-        atkSpeed, aIgnoreDefRate, aLuckyHit, aLuckyHitRate, aBleedDamage, aFinalHurt, npcExp, npcMaxHP, npcCommendFightPower, petSkillLV,
-        petSkillPer, eval("[" +", ".join(["skill%s"%i for i in range(1, 11)]) + "]"), 
-        eval("[" +", ".join(["PetSkill%s"%i for i in range(1, 10)]) + "]")))
+    if GameWorld.GetGameWorld().GetDebugLevel():
+        GameWorld.DebugLog("""CalcTJGExp--%s-%s-%s-%s-reExp:%s, attackEff:%s, aMinAtk:%s, aMaxAtk:%s, aSuperHitRate:%s, aSuperHit:%s,
+        aSuperHitPer:%s, aLuckyHitPer:%s, aNPCHurtAddPer:%s, aFinalHurtPer:%s, 
+        aIceAtk:%s, aDamagePVE:%s, aSkillAtkRate:%s, petMinAtk:%s, petMaxAtk:%s, petDamPer:%s, atkSpeed:%s,
+        aIgnoreDefRate:%s, aLuckyHit:%s, aLuckyHitRate:%s, aBleedDamage:%s, aFinalHurt:%s, npcExp:%s, npcMaxHP:%s, npcCommendFightPower:%s,
+        petSkillLV:%s, petSkillPer:%s, skill:%s, petSkill:%s"""%(curPlayer.GetID(), curPlayer.GetLV(), times, npcData.GetNPCID(),
+            reExp, attackEff, aMinAtk, aMaxAtk, aSuperHitRate, aSuperHit, aSuperHitPer, aLuckyHitPer, aNPCHurtAddPer, aFinalHurtPer,
+            aIceAtk, aDamagePVE, aSkillAtkRate, petMinAtk, petMaxAtk, petDamPer,
+            atkSpeed, aIgnoreDefRate, aLuckyHit, aLuckyHitRate, aBleedDamage, aFinalHurt, npcExp, npcMaxHP, npcCommendFightPower, petSkillLV,
+            petSkillPer, eval("[" +", ".join(["skill%s"%i for i in range(1, 11)]) + "]"), 
+            eval("[" +", ".join(["PetSkill%s"%i for i in range(1, 10)]) + "]")))
     
     # 1. 经验 
     exp = eval(IpyGameDataPY.GetFuncCompileCfg('TJG', 1))
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
index 678b0f6..fbff921 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -345,10 +345,10 @@
 Def_Effect_LuckyHitRateReduce = 17
 # 技能伤害加成 (用作伤害加成)其中a值为增加的万分率
 Def_Effect_SkillAtkRate = 18 #20032
-# 伤害加成, 技能百分比外层
-Def_Effect_DamagePer = 19
-# 伤害吸收(A值为具体值)
-Def_Effect_DamReducePer = 20
+# PVP固定伤害
+Def_Effect_DamagePVP = 19
+# PVP固定减伤
+Def_Effect_DamagePVPReduce = 20
 #生命回复固定值(A值固定值)
 Def_Effect_HPRestore = 21
 #反伤百分比(A值固定值)
@@ -775,12 +775,12 @@
 
 # 属性刷新类型定义, BYTE, 从146开始, C++定义到 IPY_PlayerDefine.CDBPlayerRefresh_OperateInfo
 (
-CDBPlayerRefresh_SuperHitReduce,        # 暴击抗性 146
-CDBPlayerRefresh_LuckyHitRateReduce,    # 幸运一击抗概率
+CDBPlayerRefresh_SuperHitReduce,        # 暴击固定值减少 146
+CDBPlayerRefresh_LuckyHitRateReduce,    # 会心一击抗概率
 CDBPlayerRefresh_SkillAtkRateReduce,    # 技能减伤
-CDBPlayerRefresh_DamagePer,             # 增加伤害
+CDBPlayerRefresh_DamagePVP,             # PVP固定伤害
 CDBPlayerRefresh_SpeedValue,            # 移动速度值 150
-CDBPlayerRefresh_151,                   # 
+CDBPlayerRefresh_DamagePVE,             # 对NPC的伤害固定值
 CDBPlayerRefresh_PetDamPer,             # 灵宠增加伤害
 CDBPlayerRefresh_IgnoreDefRateReduce,   # 无视防御抗性
 CDBPlayerRefresh_DamChanceDef,          # 概率抵御, 玩家每次被攻击有20%的几率减少伤害比率
@@ -820,7 +820,7 @@
 CDBPlayerRefresh_NPCHurtAddPer,         # 对怪物伤害加成
 CDBPlayerRefresh_FinalHurtPer,          # 最终输出伤害百分比
 CDBPlayerRefresh_TalentPoint,           # 天赋点数 190
-CDBPlayerRefresh_191,                   # 废弃 191
+CDBPlayerRefresh_DamagePVPReduce,       # PVP固定伤害减少
 CDBPlayerRefresh_GodWeaponLV_1,         # 神兵等级 - 类型1 192
 CDBPlayerRefresh_GodWeaponLV_2,         # 神兵等级 - 类型2 193
 CDBPlayerRefresh_GodWeaponLV_3,         # 神兵等级 - 类型3 194
@@ -839,7 +839,12 @@
 CDBPlayerRefresh_NormalHurtPer,         # 属性普通攻击加成:普通攻击附加的伤害百分比 207
 CDBPlayerRefresh_FabaoHurt,             # 属性法宝技能增伤:法宝技能攻击附加的固定值伤害 208
 CDBPlayerRefresh_FabaoHurtPer,          # 属性法宝技能加成:法宝技能攻击附加的伤害百分比 209
-) = range(146, 210)
+CDBPlayerRefresh_SuperHitPer,          # 暴击伤害加成 210
+CDBPlayerRefresh_SuperHitRateReduce,   # 暴击概率抗性 
+CDBPlayerRefresh_LuckyHitPer,          # 会心一击伤害加成 
+CDBPlayerRefresh_LuckyHitReduce,        # 会心伤害减免固定值 
+CDBPlayerRefresh_FinalHurtReducePer,   # 最终伤害减少百分比
+) = range(146, 215)
 
 TYPE_Price_Gold_Paper_Money = 5    # 金钱类型,(先用礼券,再用金子)
 TYPE_Price_Family_Contribution = 6 # 战盟贡献度(活跃度转换得来)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/EffGetSet.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/EffGetSet.py
index 28d4073..66230c8 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/EffGetSet.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/EffGetSet.py
@@ -47,10 +47,10 @@
    [lambda curObj:PlayerControl.GetSpeedNotBuff(curObj), lambda curObj, value:PlayerControl.SetSpeedNotBuff(curObj, value), 0, 0, 0],  # 移动速度
    [lambda curObj:PlayerControl.GetAtkSpeed(curObj), lambda curObj, value:PlayerControl.SetAtkSpeed(curObj, value), IPY_PlayerDefine.CDBPlayerRefresh_BattleValEx1, 1, 1],  # 攻击速度
    
-   [lambda curObj:curObj.GetSuperHitRate(), lambda curObj, value:curObj.SetSuperHitRate(value), IPY_PlayerDefine.CDBPlayerRefresh_SuperHitRate, 1, 0],                                        # 暴击概率
-   [lambda curObj:curObj.GetSuperHit(), lambda curObj, value:curObj.SetSuperHit(value), IPY_PlayerDefine.CDBPlayerRefresh_SuperHit, 1, 0],                                                # 暴击伤害
-   [lambda curObj:PlayerControl.GetSuperHitRateReduce(curObj), lambda curObj, value:PlayerControl.SetSuperHitRateReduce(curObj, value), 0, 0, 0],# 暴击概率抗性
-   [lambda curObj:PlayerControl.GetSuperHitReducePer(curObj), lambda curObj, value:PlayerControl.SetSuperHitReducePer(curObj, value), ShareDefine.CDBPlayerRefresh_SuperHitReduce, 1, 0],  # 暴击抗性
+   [lambda curObj:curObj.GetSuperHitRate(), lambda curObj, value:curObj.SetSuperHitRate(value), IPY_PlayerDefine.CDBPlayerRefresh_SuperHitRate, 1, 0],     # 暴击概率
+   [lambda curObj:curObj.GetSuperHit(), lambda curObj, value:curObj.SetSuperHit(value), IPY_PlayerDefine.CDBPlayerRefresh_SuperHit, 1, 0],                 # 暴击伤害固定值
+   [lambda curObj:PlayerControl.GetSuperHitRateReduce(curObj), lambda curObj, value:PlayerControl.SetSuperHitRateReduce(curObj, value), ShareDefine.CDBPlayerRefresh_SuperHitRateReduce, 0, 0],# 暴击概率抗性
+   [lambda curObj:PlayerControl.GetSuperHitReduce(curObj), lambda curObj, value:PlayerControl.SetSuperHitReduce(curObj, value), ShareDefine.CDBPlayerRefresh_SuperHitReduce, 1, 0],  # 暴击伤害抗性固定值
    
    [lambda curObj:curObj.GetGreatHitRate(), lambda curObj, value:curObj.SetGreatHitRate(value), 0, 0, 0],                                        # 卓越一击几率
    [lambda curObj:curObj.GetGreatHitVal(), lambda curObj, value:curObj.SetGreatHitVal(value), 0, 0, 0],                                          # 卓越一击伤害倍率
@@ -58,9 +58,9 @@
    [lambda curObj:PlayerControl.GetGreatHitReducePer(curObj), lambda curObj, value:PlayerControl.SetGreatHitReducePer(curObj, value), 0, 0, 0],  # 卓越一击伤害减免
    
    [lambda curObj:curObj.GetLuckyHitRate(), lambda curObj, value:curObj.SetLuckyHitRate(value), IPY_PlayerDefine.CDBPlayerRefresh_LuckyHitRate, 1, 0],  # 会心一击几率
-   [lambda curObj:curObj.GetLuckyHitVal(), lambda curObj, value:curObj.SetLuckyHitVal(value), IPY_PlayerDefine.CDBPlayerRefresh_LuckyHitVal, 1, 0],  # 会心一击伤害倍率
+   [lambda curObj:curObj.GetLuckyHitVal(), lambda curObj, value:curObj.SetLuckyHitVal(value), IPY_PlayerDefine.CDBPlayerRefresh_LuckyHitVal, 1, 0],  # 会心一击伤害固定值
    [lambda curObj:PlayerControl.GetLuckyHitRateReduce(curObj), lambda curObj, value:PlayerControl.SetLuckyHitRateReduce(curObj, value), ShareDefine.CDBPlayerRefresh_LuckyHitRateReduce, 1, 0],# 会心一击概率抗性
-   [lambda curObj:PlayerControl.GetLuckyHitReducePer(curObj), lambda curObj, value:PlayerControl.SetLuckyHitReducePer(curObj, value), 0, 0, 0],  # 会心一击伤害减免
+   [lambda curObj:PlayerControl.GetLuckyHitReduce(curObj), lambda curObj, value:PlayerControl.SetLuckyHitReduce(curObj, value), ShareDefine.CDBPlayerRefresh_LuckyHitReduce, 1, 0],  # 会心一击伤害减免固定值
 
    [lambda curObj:curObj.GetIgnoreDefRate(), lambda curObj, value:curObj.SetIgnoreDefRate(value), IPY_PlayerDefine.CDBPlayerRefresh_IgnoreDefRate, 1, 0],   # 无视防御几率
    [lambda curObj:PlayerControl.GetIgnoreDefRateReduce(curObj), lambda curObj, value:PlayerControl.SetIgnoreDefRateReduce(curObj, value), ShareDefine.CDBPlayerRefresh_IgnoreDefRateReduce, 1, 0],  # 无视防御概率抗性
@@ -113,15 +113,15 @@
    [lambda curObj:PlayerControl.GetReduceSkillCD(curObj), lambda curObj, value:PlayerControl.SetReduceSkillCD(curObj, value), 0, 0, 0],          # 减技能CD值
    [lambda curObj:curObj.GetSkillAtkRate(), lambda curObj, value:curObj.SetSkillAtkRate(value), IPY_PlayerDefine.CDBPlayerRefresh_SkillAtkRate, 1, 0],                                        # 技能攻击比例加成
    [lambda curObj:PlayerControl.GetSkillAtkRateReduce(curObj), lambda curObj, value:PlayerControl.SetSkillAtkRateReduce(curObj, value), ShareDefine.CDBPlayerRefresh_SkillAtkRateReduce, 1, 0],# 技能攻击比例减少
-   [lambda curObj:PlayerControl.GetDamagePer(curObj), lambda curObj, value:PlayerControl.SetDamagePer(curObj, value), ShareDefine.CDBPlayerRefresh_DamagePer, 1, 0],                  # 伤害输出计算百分比
-   [lambda curObj:curObj.GetDamageReduceRate(), lambda curObj, value:curObj.SetDamageReduceRate(value), IPY_PlayerDefine.CDBPlayerRefresh_DamageReduceRate, 1, 0],  # 减少伤害
+   [lambda curObj:PlayerControl.GetDamagePVP(curObj), lambda curObj, value:PlayerControl.SetDamagePVP(curObj, value), ShareDefine.CDBPlayerRefresh_DamagePVP, 1, 0],     # PVP固定伤害
+   [lambda curObj:PlayerControl.GetDamagePVPReduce(curObj), lambda curObj, value:PlayerControl.SetDamagePVPReduce(curObj, value), ShareDefine.CDBPlayerRefresh_DamagePVPReduce, 1, 0],  # PVP固定减伤
    [lambda curObj:PlayerControl.GetHurtPer(curObj), lambda curObj, value:PlayerControl.SetHurtPer(curObj, value), 0, 0, 0],                      # 受伤计算百分比
    [lambda curObj:PlayerControl.GetBleedDamage(curObj), lambda curObj, value:PlayerControl.SetBleedDamage(curObj, value), ShareDefine.CDBPlayerRefresh_BleedDamage, 1, 0],              # 流血伤害
    [lambda curObj:PlayerControl.GetFinalHurt(curObj), lambda curObj, value:PlayerControl.SetFinalHurt(curObj, value), ShareDefine.CDBPlayerRefresh_FinalHurt, 1, 0],                  # 最终固定伤害增加
    [lambda curObj:PlayerControl.GetFinalHurtReduce(curObj), lambda curObj, value:PlayerControl.SetFinalHurtReduce(curObj, value), ShareDefine.CDBPlayerRefresh_FinalHurtReduce, 1, 0],      # 最终固定伤害减少
    [lambda curObj:PlayerControl.GetDamagePerPVP(curObj), lambda curObj, value:PlayerControl.SetDamagePerPVP(curObj, value), ShareDefine.CDBPlayerRefresh_DamagePerPVP, 1, 0],            # 伤害输出计算百分比PVP
    [lambda curObj:PlayerControl.GetDamagePerPVPReduce(curObj), lambda curObj, value:PlayerControl.SetDamagePerPVPReduce(curObj, value), ShareDefine.CDBPlayerRefresh_DamagePerPVPReduce, 1, 0],# 伤害输出计算百分比PVP减少
-   [lambda curObj:PlayerControl.GetDamagePerPVE(curObj), lambda curObj, value:PlayerControl.SetDamagePerPVE(curObj, value), 0, 0, 0],            # 伤害输出计算百分比PVE
+   [lambda curObj:PlayerControl.GetDamagePVE(curObj), lambda curObj, value:PlayerControl.SetDamagePVE(curObj, value), ShareDefine.CDBPlayerRefresh_DamagePVE, 1, 0],            # 伤害输出计算固定值PVE
    [lambda curObj:PlayerControl.GetNPCHurtAddPer(curObj), lambda curObj, value:PlayerControl.SetNPCHurtAddPer(curObj, value), ShareDefine.CDBPlayerRefresh_NPCHurtAddPer, 1, 0],          # 对怪物伤害加成
    [lambda curObj:PlayerControl.GetJobAHurtAddPer(curObj), lambda curObj, value:PlayerControl.SetJobAHurtAddPer(curObj, value), 0, 0, 0],        # 目标战士伤害加成
    [lambda curObj:PlayerControl.GetJobBHurtAddPer(curObj), lambda curObj, value:PlayerControl.SetJobBHurtAddPer(curObj, value), 0, 0, 0],        # 目标法师伤害加成
@@ -132,7 +132,7 @@
    [lambda curObj:PlayerControl.GetJobCAtkReducePer(curObj), lambda curObj, value:PlayerControl.SetJobCAtkReducePer(curObj, value), 0, 0, 0],    # 弓手攻击伤害减免
    
    [lambda curObj:PlayerControl.GetCommMapExpRate(curObj), lambda curObj, value:PlayerControl.SetCommMapExpRate(curObj, value), 0, 0, 0],    # 常规地图经验倍率加成
-   [lambda curObj:PlayerControl.GetFinalHurtPer(curObj), lambda curObj, value:PlayerControl.SetFinalHurtPer(curObj, value), 0, 0, 0],        # 最终伤害百分比
+   [lambda curObj:PlayerControl.GetFinalHurtPer(curObj), lambda curObj, value:PlayerControl.SetFinalHurtPer(curObj, value), ShareDefine.CDBPlayerRefresh_FinalHurtPer, 1, 0],        # 最终伤害百分比
    [lambda curObj:PlayerControl.GetFuhaoHitRate(curObj), lambda curObj, value:PlayerControl.SetFuhaoHitRate(curObj, value), 0, 0, 0],        # 富豪一击概率
    [lambda curObj:PlayerControl.GetBossIDHurt(curObj), lambda curObj, value:PlayerControl.SetBossIDHurt(curObj, value), 0, 0, 0],            # 对指定boss伤害加成固定值
    [lambda curObj:PlayerControl.GetBossIDHurtAddPer(curObj), lambda curObj, value:PlayerControl.SetBossIDHurtAddPer(curObj, value), 0, 0, 0],# 对指定boss伤害加成倍率
@@ -168,6 +168,9 @@
    [lambda curObj:PlayerControl.GetNormalHurtPer(curObj), lambda curObj, value:PlayerControl.SetNormalHurtPer(curObj, value), ShareDefine.CDBPlayerRefresh_NormalHurtPer, 1, 0],  # 属性普通攻击加成
    [lambda curObj:PlayerControl.GetFabaoHurt(curObj), lambda curObj, value:PlayerControl.SetFabaoHurt(curObj, value), ShareDefine.CDBPlayerRefresh_FabaoHurt, 1, 0],  # 属性法宝技能增伤
    [lambda curObj:PlayerControl.GetFabaoHurtPer(curObj), lambda curObj, value:PlayerControl.SetFabaoHurtPer(curObj, value), ShareDefine.CDBPlayerRefresh_FabaoHurtPer, 1, 0],  # 属性法宝技能加成
+   [lambda curObj:PlayerControl.GetSuperHitPer(curObj), lambda curObj, value:PlayerControl.SetSuperHitPer(curObj, value), ShareDefine.CDBPlayerRefresh_SuperHitPer, 1, 0],   # 暴击伤害加成
+   [lambda curObj:PlayerControl.GetLuckyHitPer(curObj), lambda curObj, value:PlayerControl.SetLuckyHitPer(curObj, value), ShareDefine.CDBPlayerRefresh_LuckyHitPer, 1, 0],   # 会心一击伤害加成
+   [lambda curObj:PlayerControl.GetFinalHurtReducePer(curObj), lambda curObj, value:PlayerControl.SetFinalHurtReducePer(curObj, value), ShareDefine.CDBPlayerRefresh_FinalHurtReducePer, 1, 0],      # 最终伤害减少百分比
 ]
 
 ## 通过索引获得属性值
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py
index b38ce07..f27f111 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/PassiveBuffEffMng.py
@@ -332,7 +332,7 @@
              4048:ChConfig.TriggerType_MissSkill,   # 闪避后触发释放技能
              4049:ChConfig.TriggerType_MissSuccessPer, # 闪避成功率提升
              4050:ChConfig.TriggerType_OneDamage,   # 伤害降低到1点
-             4051:ChConfig.TriggerType_LuckyHit, # 会心一击时增加会心伤害百分比 50
+             4051:ChConfig.TriggerType_LuckyHit, # 会心一击时增加会心伤害固定值 50
              4052:ChConfig.TriggerType_Buff_SuckBloodPer,   # 攻击 百分比吸血
              4053:ChConfig.TriggerType_AddLayer, # BUFF层级增加时 52
              4054:ChConfig.TriggerType_AttackAddSkillPer,  # 所有攻击伤害(SkillPer)增加,含普攻,计算时 5

--
Gitblit v1.8.0