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