hxp
2023-12-25 e35ed3606a9dd4da24331cc520faf4b720d83f13
10019 【砍树】回合战斗(NPC支持暴击、吸血)
6个文件已修改
162 ■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameObj.py 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerViewCacheTube.py 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/EffGetSet.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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
## 攻击者回蓝逻辑
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],
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
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
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)
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)
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],  # 暂无用