From e35ed3606a9dd4da24331cc520faf4b720d83f13 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 25 十二月 2023 13:52:23 +0800
Subject: [PATCH] 10019 【砍树】回合战斗(NPC支持暴击、吸血)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/EffGetSet.py | 4
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameObj.py | 20 ++++++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py | 28 +-------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py | 96 +++++++++++++++++--------------
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py | 8 +-
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerViewCacheTube.py | 6 +-
6 files changed, 85 insertions(+), 77 deletions(-)
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 7c17195..a40755f 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
@@ -1345,9 +1345,12 @@
calcTypeList += [ChConfig.Def_HurtType_LuckyHit, ChConfig.Def_HurtType_SuperHit,
ChConfig.Def_HurtType_Zhuxian, ChConfig.Def_HurtType_DeadlyHit,
ChConfig.Def_HurtType_ThumpHit]
+ elif atkObjType == IPY_GameWorld.gotNPC:
+ calcTypeList += [ChConfig.Def_HurtType_SuperHit]
+
if defObjType == IPY_GameWorld.gotPlayer:
calcTypeList += [ChConfig.Def_HurtType_Parry]
- # 暂时只计算玩家
+
if not calcTypeList:
return hurtType, hurtTypeResultDict
@@ -1422,7 +1425,7 @@
'''
if IsHappenStateByType(happenState, ChConfig.Def_Skill_HappenState_SuperHit):
- return True, atkObj.GetSuperHit(), PlayerControl.GetSuperHitReduce(defObj)
+ return True, atkObj.GetSuperHit(), GameObj.GetSuperHitReduce(defObj)
aSuperHitRate = atkObj.GetSuperHitRate()
dSuperHitRateReduce = GameObj.GetSuperHitRateReduce(defObj)
@@ -1434,7 +1437,7 @@
if superHitRate <= 0:
return
if GameWorld.CanHappen(superHitRate):
- return True, atkObj.GetSuperHit(), PlayerControl.GetSuperHitReduce(defObj)
+ return True, atkObj.GetSuperHit(), GameObj.GetSuperHitReduce(defObj)
return
def __HurtTypeHappen_Parry(atkObj, defObj, happenState, curSkill):
@@ -1469,7 +1472,7 @@
def __HurtTypeHappen_ThumpHit(atkObj, defObj, happenState, curSkill):
if IsHappenStateByType(happenState, ChConfig.Def_Skill_HappenState_ThumpHit):
- return True, int(atkObj.GetSuperHit()*1.5), PlayerControl.GetSuperHitReduce(defObj)
+ return True, int(atkObj.GetSuperHit()*1.5), GameObj.GetSuperHitReduce(defObj)
thumpHitRate = 0
thumpHitRate += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill,
@@ -1479,7 +1482,7 @@
if thumpHitRate <= 0:
return
if GameWorld.CanHappen(thumpHitRate):
- return True, atkObj.GetSuperHit()*2, PlayerControl.GetSuperHitReduce(defObj)
+ return True, atkObj.GetSuperHit()*2, GameObj.GetSuperHitReduce(defObj)
return
@@ -2058,13 +2061,13 @@
aLV = atkObj.GetLV() # 攻击方等级
dLV = defObj.GetLV() # 防守方等级
- aHit = atkObj.GetHit()
+ aHit = GameObj.GetMissDefRate(atkObj)#atkObj.GetHit()
if curSkill and atkObjType == IPY_GameWorld.gotPlayer and curSkill.GetFuncType() != ChConfig.Def_SkillFuncType_NormalAttack:
aHit = aHit*IpyGameDataPY.GetFuncCfg("FightHappenRate", 2)
aHitSuccessRate = PlayerControl.GetHitSucessRate(atkObj) if atkObjType == IPY_GameWorld.gotPlayer else ChConfig.Def_MaxRateValue
aHitSuccessRate += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_HitSuccess)
- dMiss = defObj.GetMiss()
+ dMiss = GameObj.GetMissRate(defObj)#defObj.GetMiss()
dMiss += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(defObj, atkObj, None, ChConfig.TriggerType_MissPer)
dMissSuccessRate = PlayerControl.GetMissSucessRate(defObj) if defObjType == IPY_GameWorld.gotPlayer else 0
dMissSuccessRate += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(defObj, atkObj, None, ChConfig.TriggerType_MissSuccessPer)
@@ -2584,51 +2587,58 @@
# @param defObj 防守者
# @return None
def CalcSuckBlood(atkObj, defObj, curSkill, resultHurtType, tick):
-
- if atkObj.GetGameObjType() != IPY_GameWorld.gotPlayer:
- return
+
hurtValue, hurtType = resultHurtType.RealHurtHP, resultHurtType.HurtType,
if not hurtValue:
return
- tick = GameWorld.GetGameWorld().GetTick()
- if tick - atkObj.GetTickByType(ChConfig.TYPE_Player_Tick_SuckBlood) \
- < ChConfig.TYPE_Player_Tick_Time[ChConfig.TYPE_Player_Tick_SuckBlood]:
- return
-
- atkObj.SetTickByType(ChConfig.TYPE_Player_Tick_SuckBlood, tick)
-
- suckHP = 0
-
- # 杀怪回血
- if defObj.GetGameObjType() == IPY_GameWorld.gotNPC and GameObj.GetHP(defObj) <= 0:
- suckHP += atkObj.GetKillBackHP()
-
- # 攻击吸血
- atkBackHP = PlayerControl.GetAtkBackHPPer(atkObj)
- if defObj.GetGameObjType() == IPY_GameWorld.gotPlayer:
- #PVP 攻击回血
- atkBackHP += PlayerControl.GetPVPAtkBackHP(atkObj)
- # 百分比吸血
- atkBackHPPer = PassiveBuffEffMng.GetValueByPassiveBuffTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_Buff_SuckBloodPer)
- atkBackHPPer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_Buff_SuckBloodPer)
-
-
- if hurtType == ChConfig.Def_HurtType_SuperHit:
- atkBackHPPer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_SuperHitSuckBloodPer)
- elif hurtType == ChConfig.Def_HurtType_ThumpHit:
- atkBackHPPer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_ThumpHitSuckBloodPer)
-
- atkBackHP += int(hurtValue * atkBackHPPer*1.0 / ChConfig.Def_MaxRateValue)
+ if atkObj.GetDictByKey(ChConfig.Def_Obj_Dict_TurnFightNum):
+ pass
+ else:
+ tick = GameWorld.GetGameWorld().GetTick()
+ if tick - atkObj.GetTickByType(ChConfig.TYPE_Player_Tick_SuckBlood) \
+ < ChConfig.TYPE_Player_Tick_Time[ChConfig.TYPE_Player_Tick_SuckBlood]:
+ return
+ atkObj.SetTickByType(ChConfig.TYPE_Player_Tick_SuckBlood, tick)
- suckHP += atkBackHP
+ atkObjType = atkObj.GetGameObjType()
+ defObjType = defObj.GetGameObjType()
- if suckHP <= 0:
+ suckHP = GameObj.GetAtkBackHP(atkObj) # 攻击回血固定值
+ if atkObjType == IPY_GameWorld.gotPlayer:
+ # 杀怪回血
+ if defObjType == IPY_GameWorld.gotNPC and GameObj.GetHP(defObj) <= 0:
+ suckHP += atkObj.GetKillBackHP()
+
+ #PVP攻击回血
+ if defObjType == IPY_GameWorld.gotPlayer:
+ suckHP += PlayerControl.GetPVPAtkBackHP(atkObj)
+ else:
+ pass
+
+ # 百分比吸血
+ suckHPPer = PassiveBuffEffMng.GetValueByPassiveBuffTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_Buff_SuckBloodPer)
+ suckHPPer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_Buff_SuckBloodPer)
+ if hurtType == ChConfig.Def_HurtType_SuperHit:
+ suckHPPer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_SuperHitSuckBloodPer)
+ elif hurtType == ChConfig.Def_HurtType_ThumpHit:
+ suckHPPer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_ThumpHitSuckBloodPer)
+
+ suckHPPer += GameObj.GetSuckHPPer(atkObj)
+ suckHPDefPer = GameObj.GetSuckHPDefPer(defObj)
+
+ suckHPPerFinal = max(0, suckHPPer - suckHPDefPer)
+ suckHPByPer = int(hurtValue * suckHPPerFinal*1.0 / ChConfig.Def_MaxRateValue)
+
+ suckHPTotal = suckHPByPer + suckHP
+ #GameWorld.DebugLog(" 吸血: atkID=%s,suckHPPer=%s,defID=%s,suckHPDefPer=%s,suckHPPerFinal=%s,suckHPByPer=%s,hurtValue=%s,suckHP=%s"
+ # % (atkObj.GetID(), suckHPPer, defObj.GetID(), suckHPDefPer, suckHPPerFinal, suckHPByPer, hurtValue, suckHP))
+ if suckHPTotal <= 0:
return
- GameObj.SetHP(atkObj, min(GameObj.GetMaxHP(atkObj), GameObj.GetHP(atkObj) + suckHP), False)
+ GameObj.SetHP(atkObj, min(GameObj.GetMaxHP(atkObj), GameObj.GetHP(atkObj) + suckHPTotal), False)
- ChangeHPView(atkObj, None, 0, suckHP, ChConfig.Def_HurtTYpe_Recovery)
+ ChangeHPView(atkObj, None, 0, suckHPTotal, ChConfig.Def_HurtTYpe_Recovery)
return
## 攻击者回蓝逻辑
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index 2862e46..18ff3d2 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -153,7 +153,7 @@
TYPE_Calc_HPRestorePer, # 自动回复血量 65
TYPE_Calc_KillBackHP, # 击杀回血
TYPE_Calc_KillBackMP, # 击杀回蓝
-TYPE_Calc_AtkBackHPPer, # 攻击回复血量固定值
+TYPE_Calc_AtkBackHP, # 攻击回复血量固定值
TYPE_Calc_AtkBackMPPer, # 攻击回复蓝量比率
TYPE_Calc_AddBackHPPer, # 暂无用 70
TYPE_Calc_ReduceBackHPPer, # 暂无用
@@ -4478,7 +4478,7 @@
AttrName_FightExpRate = "FightExpRate" # 杀怪经验倍率
AttrName_GameExpRate = "GameExpRate" # 游戏事件经验倍率
AttrName_SkillAtkRate = "SkillAtkRate" # 技能伤害加成 (用作伤害加成)
-AttrName_AtkBackHPPer = "AtkBackHPPer" # 攻击回复血量比率
+AttrName_AtkBackHP = "AtkBackHP" # 攻击回复血量固定值
AttrName_SuperHit = "SuperHit" # 暴击伤害固定值
AttrName_SuperHitRate = "SuperHitRate" # 暴击概率
AttrName_NPCHurtAddPer = "NPCHurtAddPer" # 对怪物伤害加成
@@ -4615,8 +4615,8 @@
ShareDefine.Def_Effect_ComboDamPer:[[TYPE_Calc_ComboDamPer], False, TYPE_Linear],
ShareDefine.Def_Effect_BleedDamage:[[TYPE_Calc_BleedDamage], False, TYPE_Linear],
AttrName_BleedDamage:[[TYPE_Calc_BleedDamage], False, TYPE_Linear],
- AttrName_AtkBackHPPer:[[TYPE_Calc_AtkBackHPPer], False, TYPE_Linear],
- ShareDefine.Def_Effect_AtkBackHP:[[TYPE_Calc_AtkBackHPPer], False, TYPE_Linear],
+ AttrName_AtkBackHP:[[TYPE_Calc_AtkBackHP], False, TYPE_Linear],
+ ShareDefine.Def_Effect_AtkBackHP:[[TYPE_Calc_AtkBackHP], False, TYPE_Linear],
AttrName_SuperHitRate:[[TYPE_Calc_SuperHitRate], False, TYPE_Linear],
AttrName_SuperHit:[[TYPE_Calc_SuperHit], False, TYPE_Linear],
AttrName_NPCHurtAddPer:[[TYPE_Calc_NPCHurtAddPer], False, TYPE_Linear],
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameObj.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameObj.py
index 02f8398..2f87806 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameObj.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameObj.py
@@ -226,6 +226,13 @@
if gameObj.GetGameObjType() == IPY_GameWorld.gotPlayer:
PlayerControl.SendPropertyRefresh(gameObj, ShareDefine.CDBPlayerRefresh_SuperHitRateReduce, value)
return
+def GetSuperHitReduce(gameObj): return gameObj.GetDictByKey(ChConfig.Def_PlayerKey_SuperHitReduce)
+def SetSuperHitReduce(gameObj, value):
+ ## 暴击伤害减免
+ gameObj.SetDict(ChConfig.Def_PlayerKey_SuperHitReduce, value)
+ if gameObj.GetGameObjType() == IPY_GameWorld.gotPlayer:
+ PlayerControl.SendPropertyRefresh(gameObj, ShareDefine.CDBPlayerRefresh_SuperHitReduce, value)
+ return
def GetFaintRate(gameObj): return gameObj.GetDictByKey(ChConfig.Def_PlayerKey_AttrFaintRate)
def SetFaintRate(gameObj, value):
@@ -293,5 +300,14 @@
if gameObj.GetGameObjType() == IPY_GameWorld.gotPlayer:
PlayerControl.SendPropertyRefresh(gameObj, ShareDefine.CDBPlayerRefresh_SuckHPDefPer, value)
return
-
-
\ No newline at end of file
+def GetAtkBackHP(gameObj):
+ if gameObj.GetGameObjType() == IPY_GameWorld.gotPlayer:
+ return gameObj.GetBattleValEx2()
+ return gameObj.GetDictByKey(ChConfig.AttrName_AtkBackHP)
+def SetAtkBackHP(gameObj, value):
+ ## 吸血固定值
+ if gameObj.GetGameObjType() == IPY_GameWorld.gotPlayer:
+ gameObj.SetBattleValEx2(value)
+ else:
+ gameObj.SetDict(ChConfig.AttrName_AtkBackHP, value)
+ return
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 62cc5d5..c5dd550 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -3861,7 +3861,7 @@
IgnoreDefRateReduce = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_IgnoreDefRateReduce) * fpParam.GetCftIgnoreDefRateReduce() # 无视防御概率抗性
DamChanceDef = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_DamChanceDef) * fpParam.GetCftDamChanceDef() # 20%的概率抵御伤害比率
BleedDamage = 0#getattr(self, self.__AttrName % ChConfig.TYPE_Calc_BleedDamage) * fpParam.GetCftBleedDamage() # 流血伤害
- AtkBackHP = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_AtkBackHPPer) # 攻击回复血量
+ AtkBackHP = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_AtkBackHP) # 攻击回复血量
FaintRate = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_FaintRate) * fpParam.GetCftFaintRate() # 触发击晕
FaintDefRate = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_FaintDefRate) * fpParam.GetCftFaintDefRate() # 击晕抵抗
FinalHurt = getattr(self, self.__AttrName % ChConfig.TYPE_Calc_FinalHurt) # 最终固定伤害增加
@@ -6796,19 +6796,9 @@
curPlayer.SetDict(ChConfig.Def_PlayerKey_SpeedValue, value)
SendPropertyRefresh(curPlayer, ShareDefine.CDBPlayerRefresh_SpeedValue, value, True) # 移动速度值暂定广播周围玩家
-#---攻击回复血量比率----
-## 获取玩家攻击回复血量比率
-# @param curPlayer 玩家实例
-# @return
-def GetAtkBackHPPer(curPlayer):
- return curPlayer.GetBattleValEx2()
-
-
-## 设置玩家攻击回复血量比率
-# @param curPlayer 玩家实例
-# @return None
-def SetAtkBackHPPer(curPlayer, value):
- curPlayer.SetBattleValEx2(value)
+# PVP攻击回血
+def GetPVPAtkBackHP(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_PVPAtkBackHP)
+def SetPVPAtkBackHP(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_PVPAtkBackHP, value)
## 获取玩家攻击回复蓝量比率
def GetAtkBackMPPer(curPlayer): return 0
@@ -6866,11 +6856,7 @@
## 卓越一击伤害减免
def GetGreatHitReducePer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_GreatHitReducePer)
def SetGreatHitReducePer(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_GreatHitReducePer, value)
-## 暴击伤害减免
-def GetSuperHitReduce(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_SuperHitReduce)
-def SetSuperHitReduce(curPlayer, value):
- curPlayer.SetDict(ChConfig.Def_PlayerKey_SuperHitReduce, value)
- SendPropertyRefresh(curPlayer, ShareDefine.CDBPlayerRefresh_SuperHitReduce, value)
+
## 无视防御伤害减免
def GetIgnoreDefReducePer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_IgnoreDefReducePer)
def SetIgnoreDefReducePer(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_IgnoreDefReducePer, value)
@@ -6970,10 +6956,6 @@
curPlayer.SetDict(ChConfig.Def_PlayerKey_OnlyFinalHurt, value)
SendPropertyRefresh(curPlayer, ShareDefine.CDBPlayerRefresh_OnlyFinalHurt, value)
return
-
-# PVP攻击回血
-def GetPVPAtkBackHP(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_PVPAtkBackHP)
-def SetPVPAtkBackHP(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_PVPAtkBackHP, value)
# 命中成功率
def GetHitSucessRate(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_HitSucessRate)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerViewCacheTube.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerViewCacheTube.py
index 243c324..935717b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerViewCacheTube.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerViewCacheTube.py
@@ -198,7 +198,7 @@
curPlayerPropDict["SuperHitRate"] = curPlayer.GetSuperHitRate() # 暴击概率
curPlayerPropDict["SuperHit"] = curPlayer.GetSuperHit() # 暴击伤害固定值
curPlayerPropDict["SuperHitRateReduce"] = GameObj.GetSuperHitRateReduce(curPlayer) # 暴击概率抗性
- curPlayerPropDict["SuperHitReduce"] = PlayerControl.GetSuperHitReduce(curPlayer) # 暴击伤害抗性固定值
+ curPlayerPropDict["SuperHitReduce"] = GameObj.GetSuperHitReduce(curPlayer) # 暴击伤害抗性固定值
curPlayerPropDict["IceAtk"] = curPlayer.GetIceAtk() # 真实伤害 固定值
curPlayerPropDict["IceDef"] = curPlayer.GetIceDef() # 真实伤害防御 固定值
curPlayerPropDict["IgnoreDefRate"] = curPlayer.GetIgnoreDefRate() # 无视防御几率
@@ -216,8 +216,6 @@
curPlayerPropDict["OnlyFinalHurt"] = PlayerControl.GetOnlyFinalHurt(curPlayer) # 额外输出伤害
curPlayerPropDict["DamChanceDef"] = PlayerControl.GetDamChanceDef(curPlayer) # 20%的概率抵御伤害比率
curPlayerPropDict["NPCHurtAddPer"] = PlayerControl.GetNPCHurtAddPer(curPlayer) # 对怪物伤害加成
- curPlayerPropDict["AtkBackHPPer"] = PlayerControl.GetAtkBackHPPer(curPlayer) # 攻击回复血量固定值
- curPlayerPropDict["PVPAtkBackHP"] = PlayerControl.GetPVPAtkBackHP(curPlayer) # PVP攻击回血
curPlayerPropDict["FaintRate"] = GameObj.GetFaintRate(curPlayer) # 触发击晕
curPlayerPropDict["FaintDefRate"] = GameObj.GetFaintDefRate(curPlayer) # 击晕抵抗
curPlayerPropDict["ComboRate"] = GameObj.GetComboRate(curPlayer) # 连击
@@ -226,6 +224,8 @@
curPlayerPropDict["AtkBackDefRate"] = GameObj.GetAtkBackDefRate(curPlayer) # 抗反击
curPlayerPropDict["SuckHPPer"] = GameObj.GetSuckHPPer(curPlayer) # 吸血比率
curPlayerPropDict["SuckHPDefPer"] = GameObj.GetSuckHPDefPer(curPlayer) # 抗吸血比率
+ curPlayerPropDict["AtkBackHP"] = GameObj.GetAtkBackHP(curPlayer) # 攻击回复血量固定值
+ curPlayerPropDict["PVPAtkBackHP"] = PlayerControl.GetPVPAtkBackHP(curPlayer) # PVP攻击回血
#推送提醒
curPlayerPropDict[ChConfig.Def_PDict_GeTuiSet] = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GeTuiSet)
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 61b5aca..a825d98 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/EffGetSet.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/EffGetSet.py
@@ -50,7 +50,7 @@
[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:GameObj.GetSuperHitRateReduce(curObj), lambda curObj, value:GameObj.SetSuperHitRateReduce(curObj, value), ShareDefine.CDBPlayerRefresh_SuperHitRateReduce, 1, 0],# 暴击概率抗性
- [lambda curObj:PlayerControl.GetSuperHitReduce(curObj), lambda curObj, value:PlayerControl.SetSuperHitReduce(curObj, value), ShareDefine.CDBPlayerRefresh_SuperHitReduce, 1, 0], # 暴击伤害抗性固定值
+ [lambda curObj:GameObj.GetSuperHitReduce(curObj), lambda curObj, value:GameObj.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], # 卓越一击伤害倍率
@@ -104,7 +104,7 @@
[lambda curObj:curObj.GetHPRestorePer(), lambda curObj, value:curObj.SetHPRestorePer(value), IPY_PlayerDefine.CDBPlayerRefresh_HPRestorePer, 1, 0], # 自动回复生命
[lambda curObj:curObj.GetKillBackHP(), lambda curObj, value:curObj.SetKillBackHP(value), 0, 0, 0], # 击杀回血
[lambda curObj:curObj.GetKillBackMP(), lambda curObj, value:curObj.SetKillBackMP(value), 0, 0, 0], # 击杀回蓝
- [lambda curObj:PlayerControl.GetAtkBackHPPer(curObj), lambda curObj, value:PlayerControl.SetAtkBackHPPer(curObj, value), IPY_PlayerDefine.CDBPlayerRefresh_BattleValEx2, 1, 0], # 攻击回复血量固定值
+ [lambda curObj:GameObj.GetAtkBackHP(curObj), lambda curObj, value:GameObj.SetAtkBackHP(curObj, value), IPY_PlayerDefine.CDBPlayerRefresh_BattleValEx2, 1, 0], # 攻击回复血量固定值
[lambda curObj:PlayerControl.GetAtkBackMPPer(curObj), lambda curObj, value:PlayerControl.SetAtkBackMPPer(curObj, value), 0, 0, 0], # 攻击回复蓝量比率
[lambda curObj:PlayerControl.GetAddBackHPPer(curObj), lambda curObj, value:PlayerControl.SetAddBackHPPer(curObj, value), 0, 0, 0], # 暂无用
[lambda curObj:PlayerControl.GetReduceBackHPPer(curObj), lambda curObj, value:PlayerControl.SetReduceBackHPPer(curObj, value), 0, 0, 0], # 暂无用
--
Gitblit v1.8.0