From 9180097340810fe26051e115f7c0545588ae2371 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 11 九月 2018 11:14:40 +0800
Subject: [PATCH] 3372 【后端】【版本1.0.15】增加pve附加伤害属性丹药(伤血公式参数名: aNPCHurtAddPer , 战斗力公式参数名: NPCHurtAddPer)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/EffGetSet.py                 |    2 +-
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py                     |    5 ++++-
 ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py                                          |    5 ++++-
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py            |    6 +++++-
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py |    2 ++
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py                        |    1 +
 6 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
index df1c5e5..eb4bc97 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
@@ -478,6 +478,8 @@
 Def_Effect_SuiteBasePer = 87 # 套装基础属性百分比
 Def_Effect_PlusBaseAtkPer = 88 # 强化基础攻击百分比
 
+Def_Effect_NPCHurtAddPer = 89 # 对怪物伤害加成
+
 #增加%d物理伤害值,其中a值为伤害值
 Def_Effect_AddAtk = 1005
 #增加%d魔法伤害值,其中a值为伤害值
@@ -771,7 +773,8 @@
 CDBPlayerRefresh_FuncDef,               # 功能层防御 185
 CDBPlayerRefresh_TreasureScore,         # 寻宝积分
 CDBPlayerRefresh_Danjing,               # 丹精
-) = range(146, 188)
+CDBPlayerRefresh_NPCHurtAddPer,         # 对怪物伤害加成
+) = range(146, 189)
 
 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 36d921f..deaab62 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
@@ -1746,6 +1746,7 @@
         aDamagePer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AddDamagePer)
         aDamagePer += PassiveBuffEffMng.GetValueByPassiveBuffTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AddDamagePer)
         
+        aNPCHurtAddPer = PlayerControl.GetNPCHurtAddPer(atkObj)     # PVE伤害加成
         aDamagePerPVP = PlayerControl.GetDamagePerPVP(atkObj)     # 外层PVP伤害加成
         aFinalHurtPer = PlayerControl.GetFinalHurtPer(atkObj) # 最外层伤害加成
         aFinalHurt = PlayerControl.GetFinalHurt(atkObj)     # 最终固定伤害
@@ -1761,6 +1762,7 @@
         aSkillAtkRate = NPCCommon.GetSkillAtkRate(atkObj)   # 技能攻击力加成
         if atkObjType == IPY_GameWorld.gotNPC and atkObj.GetGameNPCObjType() == IPY_GameWorld.gnotPet:
             aSkillAtkRate += atkObj.GetSkillAtkRate()
+        aNPCHurtAddPer = 0  # PVE伤害加成
         aDamagePer = 0      # 外层伤害加成
         aDamagePerPVP = 0   # 外层PVP伤害加成
         aFinalHurtPer = 0 # 最外层伤害加成
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index 69587df..f40c664 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -4026,6 +4026,7 @@
     AttrName_SuperHitRate:[[TYPE_Calc_SuperHitRate], False, TYPE_Linear],
     AttrName_SuperHit:[[TYPE_Calc_SuperHit], False, TYPE_Linear],
     AttrName_NPCHurtAddPer:[[TYPE_Calc_NPCHurtAddPer], False, TYPE_Linear],
+    ShareDefine.Def_Effect_NPCHurtAddPer:[[TYPE_Calc_NPCHurtAddPer], False, TYPE_Linear],
     AttrName_JobAHurtAddPer:[[TYPE_Calc_JobAHurtAddPer], False, TYPE_Linear],
     AttrName_JobBHurtAddPer:[[TYPE_Calc_JobBHurtAddPer], False, TYPE_Linear],
     AttrName_JobCHurtAddPer:[[TYPE_Calc_JobCHurtAddPer], False, TYPE_Linear],
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 89d0aab..5e856d8 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -3399,6 +3399,7 @@
         
         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) # 对怪物伤害加成
         
         #其他需作为公式参数的系数
         AtkSpeedParameter = fpParam.GetCftAtkSpeed()
@@ -6059,7 +6060,10 @@
 
 ## 对怪物伤害加成
 def GetNPCHurtAddPer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_NPCHurtAddPer)
-def SetNPCHurtAddPer(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_NPCHurtAddPer, value)
+def SetNPCHurtAddPer(curPlayer, value):
+    curPlayer.SetDict(ChConfig.Def_PlayerKey_NPCHurtAddPer, value)
+    curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_NPCHurtAddPer, value, False)
+    
 #---职业伤害加成---
 ## 目标战士伤害加成
 def GetJobAHurtAddPer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_JobAHurtAddPer)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
index df1c5e5..eb4bc97 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
@@ -478,6 +478,8 @@
 Def_Effect_SuiteBasePer = 87 # 套装基础属性百分比
 Def_Effect_PlusBaseAtkPer = 88 # 强化基础攻击百分比
 
+Def_Effect_NPCHurtAddPer = 89 # 对怪物伤害加成
+
 #增加%d物理伤害值,其中a值为伤害值
 Def_Effect_AddAtk = 1005
 #增加%d魔法伤害值,其中a值为伤害值
@@ -771,7 +773,8 @@
 CDBPlayerRefresh_FuncDef,               # 功能层防御 185
 CDBPlayerRefresh_TreasureScore,         # 寻宝积分
 CDBPlayerRefresh_Danjing,               # 丹精
-) = range(146, 188)
+CDBPlayerRefresh_NPCHurtAddPer,         # 对怪物伤害加成
+) = range(146, 189)
 
 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 88dadc3..bef1678 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/EffGetSet.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/EffGetSet.py
@@ -119,7 +119,7 @@
    [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.GetNPCHurtAddPer(curObj), lambda curObj, value:PlayerControl.SetNPCHurtAddPer(curObj, value), 0, 0, 0],          # 对怪物伤害加成
+   [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],        # 目标法师伤害加成
    [lambda curObj:PlayerControl.GetJobCHurtAddPer(curObj), lambda curObj, value:PlayerControl.SetJobCHurtAddPer(curObj, value), 0, 0, 0],        # 目标弓手伤害加成

--
Gitblit v1.8.0