From 7fbb43a339c8b3536aface156013b49edcb6ad98 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 19 九月 2018 14:38:30 +0800 Subject: [PATCH] 3681 【后端】神兽基础战斗力 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py | 25 +++++++++++++++++++------ 1 files changed, 19 insertions(+), 6 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 b9a32cc..60ee246 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 @@ -1696,6 +1696,10 @@ if PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(defObj, atkObj, None, ChConfig.TriggerType_OneDamage): return 1, hurtType + worldLV = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_WorldAverageLv) + wLVIpyData = PlayerControl.GetPlayerLVIpyData(worldLV) + wReFightPower = 0 if not wLVIpyData else wLVIpyData.GetReFightPower() # 当前世界等级参考战力 + # 改变技能伤害 atkSkillPer, atkSkillValue = ChangeSkillHurt(atkObj, defObj, curSkill, atkSkillPer, atkSkillValue) @@ -1715,6 +1719,10 @@ # 暴击增加技能伤害 atkSkillPer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_SuperHitSkillPer) + + if isLuckyHit: + # 会心一击时增加会心伤害百分比 + aLuckyHit += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_LuckyHit) #参与运算的数值 rand = random.random() #种子数 0~1 @@ -1742,8 +1750,9 @@ aDamagePer += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AddDamagePer) aDamagePer += PassiveBuffEffMng.GetValueByPassiveBuffTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AddDamagePer) + aNPCHurtAddPer = PlayerControl.GetNPCHurtAddPer(atkObj) # PVE伤害加成 aDamagePerPVP = PlayerControl.GetDamagePerPVP(atkObj) # 外层PVP伤害加成 - aFinalHurtPer = PlayerControl.GetFinalHurtPer(atkObj) # 最外层伤害加成 + aFinalHurtPer = PlayerControl.GetFinalHurtPer(atkObj) # 最外层伤害加成, 可能为负值 aFinalHurt = PlayerControl.GetFinalHurt(atkObj) # 最终固定伤害 # 被动增加最终伤害 aFinalHurt += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AttackAddFinalValue) @@ -1752,17 +1761,15 @@ aOnlyFinalHurt = PlayerControl.GetOnlyFinalHurt(atkObj) # 额外固定伤害 aFightPower = atkObj.GetFightPower() - atkLVIpyData = PlayerControl.GetPlayerLVIpyData(aLV) - aReFightPower = 0 if not atkLVIpyData else atkLVIpyData.GetReFightPower() # 参考战力 - else: aIgnoreDefRate = 0 # 无视防御比率 aSkillAtkRate = NPCCommon.GetSkillAtkRate(atkObj) # 技能攻击力加成 if atkObjType == IPY_GameWorld.gotNPC and atkObj.GetGameNPCObjType() == IPY_GameWorld.gnotPet: aSkillAtkRate += atkObj.GetSkillAtkRate() + aNPCHurtAddPer = 0 # PVE伤害加成 aDamagePer = 0 # 外层伤害加成 aDamagePerPVP = 0 # 外层PVP伤害加成 - aFinalHurtPer = 0 # 最外层伤害加成 + aFinalHurtPer = 0 # 最外层伤害加成, 可能为负值 aFinalHurt = NPCCommon.GetFinalHurt(atkObj) # 最终固定伤害 aFightPower = NPCCommon.GetSuppressFightPower(atkObj) @@ -1842,7 +1849,13 @@ if suppressFormulaKeyRealm in hurtDist: SuppressValueRealmRate = int(eval(FormulaControl.GetCompileFormula(suppressFormulaKeyRealm, hurtDist[suppressFormulaKeyRealm]))) - + # 骑宠争夺最终伤害衰减 + if FamilyRobBoss.IsHorsePetRobBoss(defObj.GetNPCID()): + findBuff = SkillCommon.FindBuffByID(atkObj, ChConfig.Def_SkillID_HorsePetRobBossKillCntBuff)[0] + if findBuff: + reduceFinalHurtPer = findBuff.GetSkill().GetEffect(0).GetEffectValue(0) + aFinalHurtPer -= reduceFinalHurtPer + atkStateMark = GetObjAtkStateMark(atkObj) defStateMark = GetObjAtkStateMark(defObj) hurtFormulaKey = "%sV%s_%s" % (atkStateMark, defStateMark, atkType) -- Gitblit v1.8.0