Add: 2887 【后端】封魔坛鼓舞效果修改(增加最终伤害比例buffID94 FinalHurtPer);
15个文件已修改
94 ■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/Pet_Attack_NormalNPC.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/Pet_Attack_Pet.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/Pet_Attack_Player.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/Pet_Attack_SummonNPC.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/Player_Attack_NormalNPC.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/Player_Attack_Pet.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/Player_Attack_Player.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/Player_Attack_SummonNPC.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/Player_Attack_Truck.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/EffGetSet.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py
@@ -1689,6 +1689,7 @@
        aDamagePer += PassiveBuffEffMng.GetValueByPassiveBuffTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AddDamagePer)
        
        aDamagePerPVP = PlayerControl.GetDamagePerPVP(atkObj)     # 外层PVP伤害加成
        aFinalHurtPer = PlayerControl.GetFinalHurtPer(atkObj) # 最外层伤害加成
        aFinalHurt = PlayerControl.GetFinalHurt(atkObj)     # 最终固定伤害
        # 被动增加最终伤害
        aFinalHurt += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AttackAddFinalValue)
@@ -1704,9 +1705,9 @@
            aSkillAtkRate += atkObj.GetSkillAtkRate()
        aDamagePer = 0      # 外层伤害加成
        aDamagePerPVP = 0   # 外层PVP伤害加成
        aFinalHurtPer = 0 # 最外层伤害加成
        aFinalHurt = NPCCommon.GetFinalHurt(atkObj) # 最终固定伤害
        aFightPower = NPCCommon.GetSuppressFightPower(atkObj)
        
    #防守方的类型
    if defObjType == IPY_GameWorld.gotPlayer:
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/Pet_Attack_NormalNPC.py
@@ -75,7 +75,6 @@
#  @return hurtType : HurtType 伤害结构体类 
#  @remarks 攻击
def DoAttack(curPet, curTagNPC, skill, skillValue, skillPercent, skillHurtList, tick):
    #finalHurtPer = SkillCommon.GetSkillFinalHurtPer(curPet, curTagNPC, skill, tick)
    curTagNPCHPBeforeAtk = GameObj.GetHP(curTagNPC)
    hurtType = AttackCommon.GetHurtHP(curPet, curTagNPC, skill, skillValue, skillPercent, tick)
    hurtHP = hurtType.HurtHP
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/Pet_Attack_Pet.py
@@ -82,7 +82,6 @@
#  @return hurtType : HurtType 伤害结构体类 
#  @remarks 攻击
def DoAttack(curPet, curTagPet, skill, skillValue, skillPercent, skillHurtList, tick):
    #finalHurtPer = SkillCommon.GetSkillFinalHurtPer(curPet, curTagPet, skill, tick)
    hurtType = AttackCommon.GetHurtHP(curPet, curTagPet, skill, skillValue, skillPercent, tick)
    hurtHP = hurtType.HurtHP
    #添加仇恨
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/Pet_Attack_Player.py
@@ -83,7 +83,6 @@
#  @return hurtType : HurtType 伤害结构体类 
#  @remarks 攻击
def DoAttack(curPet, curTagPlayer, skill, skillValue, skillPercent, skillHurtList, tick):
    #finalHurtPer = SkillCommon.GetSkillFinalHurtPer(curPet, curTagPlayer, skill, tick)
    curTagPlayerHPBeforeAtk = curTagPlayer.GetHP()
    hurtType = AttackCommon.GetHurtHP(curPet, curTagPlayer, skill, skillValue, skillPercent, tick)
    #伤血
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/Pet_Attack_SummonNPC.py
@@ -87,7 +87,6 @@
#  @return hurtType : HurtType 伤害结构体类 
#  @remarks 攻击
def DoAttack(curPet, curTagSummon, skill, skillValue, skillPercent, skillHurtList, tick):
    #finalHurtPer = SkillCommon.GetSkillFinalHurtPer(curPet, curTagSummon, skill, tick)
    hurtType = AttackCommon.GetHurtHP(curPet, curTagSummon, skill, skillValue, skillPercent, tick)
    
    hurtHP = hurtType.HurtHP
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/Player_Attack_NormalNPC.py
@@ -79,7 +79,6 @@
#  @return hurtType : HurtType 伤害结构体类 
#  @remarks 函数详细说明.
def DoAttack(curPlayer, curTagNormalNPC, skill, skillValue, skillPercent, skillHurtList, tick):
    #finalHurtPer = SkillCommon.GetSkillFinalHurtPer(curPlayer, curTagNormalNPC, skill, tick)
    curTagNPCHPBeforeAtk = GameObj.GetHP(curTagNormalNPC)
    hurtType = AttackCommon.GetHurtHP(curPlayer, curTagNormalNPC, skill, skillValue, skillPercent, tick)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/Player_Attack_Pet.py
@@ -92,7 +92,6 @@
#  @return hurtType : HurtType 伤害结构体类 
#  @remarks 攻击
def DoAttack(curPlayer, curTagPet, skill, skillValue, skillPercent, skillHurtList, tick):
    #finalHurtPer = SkillCommon.GetSkillFinalHurtPer(curPlayer, curTagPet, skill, tick)
    
    #攻击前血量
    curTagPetHP = curTagPet.GetHP()
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/Player_Attack_Player.py
@@ -86,7 +86,6 @@
#  @return hurtType : HurtType 伤害结构体类 
#  @remarks 攻击
def DoAttack(curPlayer, curTagPlayer, skill, skillValue, skillPercent, skillHurtList, tick):
    #finalHurtPer = SkillCommon.GetSkillFinalHurtPer(curPlayer, curTagPlayer, skill, tick)
    
    curTagPlayerHPBeforeAtk = curTagPlayer.GetHP()
    
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/Player_Attack_SummonNPC.py
@@ -94,7 +94,6 @@
#  @return hurtType : HurtType 伤害结构体类 
#  @remarks 攻击
def DoAttack(curPlayer, curTagSummon, skill, skillValue, skillPercent, skillHurtList, tick):
    #finalHurtPer = SkillCommon.GetSkillFinalHurtPer(curPlayer, curTagSummon, skill, tick)
    
    #攻击前血量
    curTagSummonBeHP = GameObj.GetHP(curTagSummon)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/Player_Attack_Truck.py
@@ -88,7 +88,6 @@
#  @return hurtType : HurtType 伤害结构体类 
#  @remarks 函数详细说明.
def DoAttack(curPlayer, curTagTruck, skill, skillValue, skillPercent, skillHurtList, tick):
    #finalHurtPer = SkillCommon.GetSkillFinalHurtPer(curPlayer, curTagTruck, skill, tick)
    
    curTagNPCHPBeforeAtk = GameObj.GetHP(curTagTruck)
    #攻击成功
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -177,7 +177,7 @@
TYPE_Calc_JobCAtkReducePer,             # 弓手攻击伤害减免
TYPE_Calc_CommMapExpRate,               # 常规地图经验倍率加成
TYPE_Calc_FujiaHitRate,                 # 富甲一击几率
TYPE_Calc_FinalHurtPer,                 # 最终伤害百分比
TYPE_Calc_FuhaoHitRate,                 # 富豪一击几率 95
TYPE_Calc_BossIDHurt,                   # 对指定boss伤害加成固定值
TYPE_Calc_BossIDHurtAddPer,             # 对指定boss伤害加成倍率
@@ -1096,8 +1096,6 @@
Def_LuckyHitVal = 11000
#卓越一击的攻击力相对普攻倍值
Def_GreatHitVal = 12500
#富甲一击的攻击力相对普攻倍值
Def_FujiaHitVal = 11000
#富豪一击的攻击力相对普攻倍值
Def_FuhaoHitVal = 11000
#服务器统一使用万分率(用于计算百分比 10000为100%)
@@ -3104,7 +3102,7 @@
Def_PlayerKey_LastHurtValue = "LastHurtValue" # 最后一次伤害值
Def_PlayerKey_ReduceSkillCDPer = "ReduceSkillCDPer" # 减技能CD万分率
Def_PlayerKey_CommMapExpRate = "CommMapExpRate" # 常规地图经验倍率加成
Def_PlayerKey_FujiaHitRate = "FujiaHitRate" # 富甲一击概率
Def_PlayerKey_FinalHurtPer = "FinalHurtPer" # 最终伤害百分比
Def_PlayerKey_FuhaoHitRate = "FuhaoHitRate" # 富豪一击概率
Def_PlayerKey_FinalHurt = "FinalHurt" # 最终固定伤害增加
Def_PlayerKey_BleedDamage = "BleedDamage" # 流血伤害
@@ -3897,7 +3895,7 @@
AttrName_GreatHitRateReduce = "GreatHitRateReduce"  # 抗卓越一击概率
AttrName_SuperHitRateReduce = "SuperHitRateReduce"  # 抗致命一击概率
AttrName_IgnoreDefRateReduce = "IgnoreDefRateReduce"  # 抗无视防御概率
AttrName_FujiaHitRate = "FujiaHitRate"  # 富甲一击概率
AttrName_FinalHurtPer = "FinalHurtPer"  # 最终伤害百分比
AttrName_FuhaoHitRate = "FuhaoHitRate"  # 富豪一击概率
AttrName_FinalHurt = "FinalHurt"  # 最终固定伤害增加
AttrName_FinalHurtReduce = "FinalHurtReduce"  # 最终固定伤害减少
@@ -4027,7 +4025,7 @@
    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_FujiaHitRate:[[TYPE_Calc_FujiaHitRate], 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],
    ShareDefine.Def_Effect_FinalHurtReduce:[[TYPE_Calc_FinalHurtReduce], False, TYPE_Linear],
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -6120,9 +6120,6 @@
    curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_IgnoreDefRateReduce, value, False)
    
#---特殊伤害概率---
## 富甲一击概率
def GetFujiaHitRate(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_FujiaHitRate)
def SetFujiaHitRate(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_FujiaHitRate, value)
## 富豪一击概率
def GetFuhaoHitRate(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_FuhaoHitRate)
def SetFuhaoHitRate(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_FuhaoHitRate, value)
@@ -6133,6 +6130,10 @@
    curPlayer.SetDict(ChConfig.Def_PlayerKey_BleedDamage, value)
    curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_BleedDamage, value, False)
    
## 最终伤害百分比
def GetFinalHurtPer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_FinalHurtPer)
def SetFinalHurtPer(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_FinalHurtPer, value)
## 最终固定伤害增加
def GetFinalHurt(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_FinalHurt)
def SetFinalHurt(curPlayer, value):
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py
@@ -303,14 +303,14 @@
    PetControl.DoLogic_PlayerPetLearnSkillList(rolePet, learnSkillList)
    
    #---刷新属性(不通知)---
    #GameWorld.DebugLog("ˢǰ: petID=%s,playerID=%s,npcID=%s,BindType=%s,AIMode=%s,PetIndex=%s,petFinalHurtPer=%s,grade=%s,qualLV=%s,"
    #GameWorld.DebugLog("ˢǰ: petID=%s,playerID=%s,npcID=%s,BindType=%s,AIMode=%s,PetIndex=%s,grade=%s,qualLV=%s,"
    #                   % (petStruct.PetID, petStruct.PlayerID, petStruct.NPCID, petStruct.BindType, petStruct.AIMode, petStruct.PetIndex,
    #                      rolePet.GetBattleValEx5(), rolePet.GetGrade(), rolePet.GetQualityLV()))
    #                      rolePet.GetGrade(), rolePet.GetQualityLV()))
    petControl = NPCCommon.NPCControl(rolePet)
    petControl.RefreshNPCState(canSyncClient=False)
    #GameWorld.DebugLog("刷后: petID=%s,playerID=%s,npcID=%s,BindType=%s,AIMode=%s,PetIndex=%s,petFinalHurtPer=%s,grade=%s,qualLV=%s,"
    #GameWorld.DebugLog("刷后: petID=%s,playerID=%s,npcID=%s,BindType=%s,AIMode=%s,PetIndex=%s,grade=%s,qualLV=%s,"
    #                   % (petStruct.PetID, petStruct.PlayerID, petStruct.NPCID, petStruct.BindType, petStruct.AIMode, petStruct.PetIndex,
    #                      rolePet.GetBattleValEx5(), rolePet.GetGrade(), rolePet.GetQualityLV()))
    #                      rolePet.GetGrade(), rolePet.GetQualityLV()))
    
    #当前血量(不通知)
    PetControl.SetPetHP(rolePet, rolePet.GetMaxHP(), False)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/EffGetSet.py
@@ -129,7 +129,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.GetFujiaHitRate(curObj), lambda curObj, value:PlayerControl.SetFujiaHitRate(curObj, value), 0, 0, 0],        # 富甲一击概率
   [lambda curObj:PlayerControl.GetFinalHurtPer(curObj), lambda curObj, value:PlayerControl.SetFinalHurtPer(curObj, value), 0, 0, 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伤害加成倍率
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillCommon.py
@@ -2078,61 +2078,6 @@
    return restoreMP
        
## 获取技能对最终伤害影响的效果比例
#  @param skill 使用的技能
#  @return
#===============================================================================
# def GetSkillFinalHurtPer(atkObj, defObj, skill, tick):
#
#    atkObjType = atkObj.GetGameObjType()
#    defObjType = defObj.GetGameObjType()
#
#    finalPer = ChConfig.Def_MaxRateValue # 默认10000
#
#    if atkObjType != IPY_GameWorld.gotPlayer:
#        return finalPer
#
#    # 技能对玩家的影响
#    if defObjType == IPY_GameWorld.gotPlayer:
#
#        # 减少值
#        reduceHurtPerEff = GetSkillEffectByEffectID(skill, ChConfig.Def_Skill_Effect_ReduceFinalHurtPer)
#        curReducePer = 0 if not reduceHurtPerEff else reduceHurtPerEff.GetEffectValue(0)
#        finalPer -= curReducePer
#
#        # 增加值
#        addHurtPerEff = GetSkillEffectByEffectID(skill, ChConfig.Def_Skill_Effect_AddFinalHurtPer)
#        curAddPer = 0 if not addHurtPerEff else addHurtPerEff.GetEffectValue(0)
#        finalPer += curAddPer
#
#        #根据防守方职业 计算攻击方伤害加成
#        if defObj.GetJob() in [ShareDefine.PlayerJob_Warrior, ShareDefine.PlayerJob_Knight]:
#            finalPer += PlayerControl.GetJobAHurtAddPer(atkObj)
#        elif defObj.GetJob() in [ShareDefine.PlayerJob_Wizard, ShareDefine.PlayerJob_ForceUser]:
#            finalPer += PlayerControl.GetJobBHurtAddPer(atkObj)
#        elif defObj.GetJob() in [ShareDefine.PlayerJob_Assassin, ShareDefine.PlayerJob_BowMaster]:
#            finalPer += PlayerControl.GetJobCHurtAddPer(atkObj)
#
#    # 对NPC的影响
#    elif defObjType == IPY_GameWorld.gotNPC:
#        finalPer += PlayerControl.GetNPCHurtAddPer(atkObj)
#        if defObj.GetNPCID() in ReadChConfig.GetEvalChConfig("PlayerSpecialAttrBossID"):
#            finalPer += PlayerControl.GetBossIDHurtAddPer(atkObj)
#
#    # 技能连击加成
#    curSkillTypeID = skill.GetSkillTypeID()
#    comboSkillTypeID = atkObj.GetDictByKey(ChConfig.Def_PlayerKey_ComboSkillTypeID)
#    # 如果是触发连击的技能, 则附加连击伤害加成
#    if curSkillTypeID == comboSkillTypeID:
#        comboAddPer = atkObj.GetDictByKey(ChConfig.Def_PlayerKey_ComboAddHurtPer)
#        finalPer += comboAddPer
#        GameWorld.DebugLog("连击最终伤害加成%s, skillID=%s" % (comboAddPer, curSkillTypeID))
#
#    finalPer = max(0, finalPer)
#
#    return finalPer
#===============================================================================
## 更新技能连击数
#  @param attacker 
#  @param skill 使用的技能