From b4fd23d449b0bd815f781e4e77707096fbe8a7e8 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 13 二月 2019 17:55:22 +0800 Subject: [PATCH] 5940 【后端】【1.6】跨服PK奖励配置规则优化(增加跨服分区名同步) --- ZoneServerGroup/map1_8G/MapServer/MapServerData/MapServerConfig/PlayerAttack/CalcAttackValue.txt | 34 +++++++++++++++++++++------------- 1 files changed, 21 insertions(+), 13 deletions(-) diff --git a/ZoneServerGroup/map1_8G/MapServer/MapServerData/MapServerConfig/PlayerAttack/CalcAttackValue.txt b/ZoneServerGroup/map1_8G/MapServer/MapServerData/MapServerConfig/PlayerAttack/CalcAttackValue.txt index c983101..b111b9a 100644 --- a/ZoneServerGroup/map1_8G/MapServer/MapServerData/MapServerConfig/PlayerAttack/CalcAttackValue.txt +++ b/ZoneServerGroup/map1_8G/MapServer/MapServerData/MapServerConfig/PlayerAttack/CalcAttackValue.txt @@ -1,6 +1,6 @@ #计算玩家本次攻击伤害 #计算类型: 1.物理攻击; 2.魔法攻击 -#对象标识: 玩家(P), 宠物(Pet), NPC(E); 除玩家及宠物外, 其他暂时都算NPC +#对象标识: 玩家(P), 宠物(Pet), NPC(E), 机器人(Robot), 助战机器人(HelpRobot); 除玩家及宠物外, 其他暂时都算NPC #公式key格式: # 1. 对象标识+V+对象标识_计算类型, 如 "PVP_1" 代表玩家对玩家物理攻击 # 2. 对象标识+V+对象标识_计算类型_地图ID, 如 "PVE_1_20000" 代表地图ID为20000的玩家对NPC物理攻击 @@ -27,6 +27,7 @@ # isLuckyHit 是否会心一击 0否1是 # isSuperHit 是否暴击 0否1是 # wReFightPower 世界等级对应等级表参考战力 固定值 +# isZhuxianHit 是否触发诛仙一击 # # 攻击方: # aLV 等级 固定值 @@ -46,6 +47,7 @@ # aOnlyFinalHurt 附加伤害 固定值 # aReFightPower 等级表参考战力 固定值 # aNPCHurtAddPer pve附加伤害 百分比 +# aZhuxianHurtPer 诛仙一击伤害百分比 默认0 # 防守方: # dMinAtk 最低攻击 # dMaxAtk 最高攻击 @@ -81,13 +83,19 @@ "EVPSuppressValueRealm":"max(min(suppressRealmHurtPer,10000),-1000)+10000", #常规公式-通用 - "PVP_1" :"int(SuppressValueRealmRate/10000.0*max((((max((aMaxAtk if isLuckyHit else (aMinAtk + (aMaxAtk - aMinAtk)*rand))- dDef*(1-max(aIgnoreDefRate - dIgnoreDefRateReduce,0)/10000.0),0))*(1+(aLuckyHit/10000.0 if isLuckyHit else 0))+ (aSuperHit*max(1-dSuperHitReduce/10000.0,0) if isSuperHit else 0)+ max(aIceAtkSuperHit*aIceAtk - dIceDef, 0))*(atkSkillPer+max(aSkillAtkRate-dSkillAtkRateReduce,0)/10000.0)*(1+(aDamagePer+aDamagePerPVP)/10000.0)*(1-min(dDamReduce,8000)/10000.0)*(1-min(dDamagePerPVPReduce,8000)/10000.0)*(1-min(dDamChanceDef,8000)/10000.0)+max(aFinalHurt+aOnlyFinalHurt-dFinalHurtReduce, 0)+atkSkillValue)*(1+dBeHurtPer/10000.0),(aMinAtk+aMaxAtk)/2*0.05 + (aMinAtk+aMaxAtk)/2*0.1*rand))", - "PVE_1" :"int(max((((max((aMaxAtk if isLuckyHit else (aMinAtk + (aMaxAtk - aMinAtk)*rand))-dDef*max(1-aIgnoreDefRate/10000.0,0),1))*(1+(aLuckyHit/10000.0 if isLuckyHit else 0))+(aSuperHit if isSuperHit else 0)+ max(aIceAtkSuperHit*aIceAtk - dIceDef, 0))*(atkSkillPer+aSkillAtkRate/10000.0)*(1+aDamagePer/10000.0)+max(aFinalHurt+aOnlyFinalHurt-dFinalHurtReduce, 0)+atkSkillValue)*(1+dBeHurtPer/10000.0)*max(1+aFinalHurtPer/10000.0,1)+aNPCHurtAddPer/10000.0*(aMinAtk+aMaxAtk)/2.0,(aMinAtk+aMaxAtk)/2*0.05 + (aMinAtk+aMaxAtk)/2*0.1*rand))", + "PVP_1" :"int(SuppressValueRealmRate/10000.0*max((((max((aMaxAtk if isLuckyHit else (aMinAtk + (aMaxAtk - aMinAtk)*rand))- dDef*(1-max(aIgnoreDefRate - dIgnoreDefRateReduce,0)/10000.0),0))*(1+(aLuckyHit/10000.0 if isLuckyHit else 0))+ (aSuperHit*max(1-dSuperHitReduce/10000.0,0) if isSuperHit else 0)+ max(aIceAtkSuperHit*aIceAtk - dIceDef, 0))*(atkSkillPer+(aZhuxianHurtPer/10000.0 if isZhuxianHit else 0)+max(aSkillAtkRate-dSkillAtkRateReduce,0)/10000.0)*(1+(aDamagePer+aDamagePerPVP)/10000.0)*(1-min(dDamReduce,8000)/10000.0)*(1-min(dDamagePerPVPReduce,8000)/10000.0)*(1-min(dDamChanceDef,8000)/10000.0)+max(aFinalHurt+aOnlyFinalHurt-dFinalHurtReduce, 0)+atkSkillValue)*(1+dBeHurtPer/10000.0),(aMinAtk+aMaxAtk)/2*0.05 + (aMinAtk+aMaxAtk)/2*0.1*rand))", + "PVE_1" :"int(max((((max((aMaxAtk if isLuckyHit else (aMinAtk + (aMaxAtk - aMinAtk)*rand))-dDef*max(1-aIgnoreDefRate/10000.0,0),1))*(1+(aLuckyHit/10000.0 if isLuckyHit else 0))+(aSuperHit if isSuperHit else 0)+ max(aIceAtkSuperHit*aIceAtk - dIceDef, 0))*(atkSkillPer+(aZhuxianHurtPer/10000.0 if isZhuxianHit else 0)+aSkillAtkRate/10000.0)*(1+aDamagePer/10000.0)+max(aFinalHurt+aOnlyFinalHurt-dFinalHurtReduce, 0)+atkSkillValue)*(1+dBeHurtPer/10000.0)*max(1+aFinalHurtPer/10000.0,1)+aNPCHurtAddPer/10000.0*(aMinAtk+aMaxAtk)/2.0,(aMinAtk+aMaxAtk)/2*0.05 + (aMinAtk+aMaxAtk)/2*0.1*rand))", "EVP_1" :"int(max(((max((aMinAtk+aMaxAtk)/2.0*(1+suppressValueLV)-dDef,0)+max(aIceAtk - dIceDef, 0))*(atkSkillPer+aSkillAtkRate/10000.0)*(1-min(dDamReduce,8000)/10000.0)*(1-min(dDamChanceDef,8000)/10000.0)+max(aFinalHurt-dFinalHurtReduce, 0)+atkSkillValue)*(1+dBeHurtPer/10000.0)*(1+suppressValueFP),aMaxAtk*0.05+rand*aMaxAtk*0.05))", "EVE_1" :"max(aMaxAtk-dDef,1)", - "PetVE_1":"max(((aMinAtk + aMaxAtk)/2.0-dDef)*(atkSkillPer+aSkillAtkRate/10000.0)*(1+aDamagePer/10000.0),(aMinAtk+aMaxAtk)/2.0*0.05 + (aMinAtk+aMaxAtk)/2.0*0.1*rand)", - "PetVP_1":"max(max((aMinAtk+aMaxAtk)/2.0-dDef,0)*atkSkillPer*(1+aDamagePer/10000.0)*(1-min(dDamReduce,8000)/10000.0)*(1-min(dDamChanceDef,8000)/10000.0),(aMinAtk+aMaxAtk)/2*0.05 + (aMinAtk+aMaxAtk)/2*0.1*rand)", - + "PetVE_1":"int(max(((aMinAtk + aMaxAtk)/2.0-dDef)*(atkSkillPer+aSkillAtkRate/10000.0)*(1+aDamagePer/10000.0)*(1+aFinalHurtPer/10000.0),(aMinAtk+aMaxAtk)/2.0*0.05 + (aMinAtk+aMaxAtk)/2.0*0.1*rand)*(1-min(dDamChanceDef,8000)/10000.0))", + "PetVP_1":"max(max((aMinAtk+aMaxAtk)/2.0-dDef,0)*atkSkillPer*(1+aDamagePer/10000.0)*(1-min(dDamReduce,8000)/10000.0),(aMinAtk+aMaxAtk)/2*0.05 + (aMinAtk+aMaxAtk)/2*0.1*rand)", + + #副本机器人 + "PVRobot_1" :"int(max((((max((aMaxAtk if isLuckyHit else (aMinAtk + (aMaxAtk - aMinAtk)*rand))-dDef*max(1-aIgnoreDefRate/10000.0,0),1))*(1+(aLuckyHit/10000.0 if isLuckyHit else 0))+(aSuperHit if isSuperHit else 0)+ max(aIceAtkSuperHit*aIceAtk - dIceDef, 0))*(atkSkillPer+aSkillAtkRate/10000.0)*(1+aDamagePer/10000.0)+max(aFinalHurt+aOnlyFinalHurt-dFinalHurtReduce, 0)+atkSkillValue)*(1+dBeHurtPer/10000.0)*max(1+aFinalHurtPer/10000.0,1)+aNPCHurtAddPer/10000.0*(aMinAtk+aMaxAtk)/2.0,(aMinAtk+aMaxAtk)/2*0.05 + (aMinAtk+aMaxAtk)/2*0.1*rand))", + "PetVRobot_1":"max(((aMinAtk + aMaxAtk)/2.0-dDef)*(atkSkillPer+aSkillAtkRate/10000.0)*(1+aDamagePer/10000.0),(aMinAtk+aMaxAtk)/2.0*0.05 + (aMinAtk+aMaxAtk)/2.0*0.1*rand)", + "RobotVP_1" :"int(0.03*(atkSkillPer+aSkillAtkRate/10000.0)*dMaxHP*min(max(0.5,aFightPower/dFightPower), 2))", + "RobotVRobot_1" :"int(dMaxHP*0.15)", + #世界小怪等级压制公式 "EVP_1_2" :"max(((max((aMinAtk+aMaxAtk)/2.0*(1+suppressValueLV*min(max((aMinAtk+aMaxAtk)/2.0-dDef,0)+max(suppressLV-20,0),1))-dDef,0)+max(aIceAtk - dIceDef, 0))*(atkSkillPer+aSkillAtkRate/10000.0)*(1-min(dDamReduce,8000)/10000.0)*(1-min(dDamChanceDef,8000)/10000.0)+max(min(suppressLV,1)*min(max((aMaxAtk+aMinAtk)/2.0-dDef,0),1)*aMaxAtk+aFinalHurt+suppressValueFP*dMaxHP-dFinalHurtReduce, 0)+min(suppressLV,1)*atkSkillValue*0.2+atkSkillValue*0.8)*(1+dBeHurtPer/10000.0),aMaxAtk*0.05+rand*aMaxAtk*0.05)", @@ -101,7 +109,7 @@ #渡劫 - "PVE_1_31110" :"int(SuppressValueRealmRate/10000.0*max((((max((aMaxAtk if isLuckyHit else (aMinAtk + (aMaxAtk - aMinAtk)*rand))-dDef*max(1-aIgnoreDefRate/10000.0,0),1))*(1+(aLuckyHit/10000.0 if isLuckyHit else 0))+(aSuperHit if isSuperHit else 0)+ max(aIceAtkSuperHit*aIceAtk - dIceDef, 0))*(atkSkillPer+aSkillAtkRate/10000.0)*(1+aDamagePer/10000.0)+max(aFinalHurt+aOnlyFinalHurt-dFinalHurtReduce, 0)+atkSkillValue)*(1+dBeHurtPer/10000.0)+aNPCHurtAddPer/10000.0*(aMinAtk+aMaxAtk)/2.0,(aMinAtk+aMaxAtk)/2*0.05 + (aMinAtk+aMaxAtk)/2*0.1*rand))", + "PVE_1_31110" :"int(SuppressValueRealmRate/10000.0*max((((max((aMaxAtk if isLuckyHit else (aMinAtk + (aMaxAtk - aMinAtk)*rand))-dDef*max(1-aIgnoreDefRate/10000.0,0),1))*(1+(aLuckyHit/10000.0 if isLuckyHit else 0))+(aSuperHit if isSuperHit else 0)+ max(aIceAtkSuperHit*aIceAtk - dIceDef, 0))*(atkSkillPer+(aZhuxianHurtPer/10000.0 if isZhuxianHit else 0)+aSkillAtkRate/10000.0)*(1+aDamagePer/10000.0)+max(aFinalHurt+aOnlyFinalHurt-dFinalHurtReduce, 0)+atkSkillValue)*(1+dBeHurtPer/10000.0)+aNPCHurtAddPer/10000.0*(aMinAtk+aMaxAtk)/2.0,(aMinAtk+aMaxAtk)/2*0.05 + (aMinAtk+aMaxAtk)/2*0.1*rand))", "EVP_1_31110" :"int(max(min(SuppressValueRealmRate/10000.0,1.1),0.9)*max(((max((aMinAtk+aMaxAtk)/2.0*(1+suppressValueLV)-dDef,0)+max(aIceAtk - dIceDef, 0))*(atkSkillPer+aSkillAtkRate/10000.0)*(1-min(dDamReduce,8000)/10000.0)*(1-min(dDamChanceDef,8000)/10000.0)+max(aFinalHurt-dFinalHurtReduce, 0)+atkSkillValue)*(1+dBeHurtPer/10000.0)*(1+suppressValueFP),aMaxAtk*0.05+rand*aMaxAtk*0.05))", #符印塔特殊公式等级压制 @@ -112,16 +120,16 @@ #BOSS境界压制公式 - "PVE_1_3" :"int(SuppressValueRealmRate/10000.0*max((((max((aMaxAtk if isLuckyHit else (aMinAtk + (aMaxAtk - aMinAtk)*rand))-dDef*max(1-aIgnoreDefRate/10000.0,0),1))*(1+(aLuckyHit/10000.0 if isLuckyHit else 0))+(aSuperHit if isSuperHit else 0)+ max(aIceAtkSuperHit*aIceAtk - dIceDef, 0))*(atkSkillPer+aSkillAtkRate/10000.0)*(1+aDamagePer/10000.0)+max(aFinalHurt+aOnlyFinalHurt-dFinalHurtReduce, 0)+atkSkillValue)*(1+dBeHurtPer/10000.0)+aNPCHurtAddPer/10000.0*(aMinAtk+aMaxAtk)/2.0,(aMinAtk+aMaxAtk)/2*0.05 + (aMinAtk+aMaxAtk)/2*0.1*rand))", - "EVP_1_3" :"int(SuppressValueRealmRate/10000.0*max(((max((aMinAtk+aMaxAtk)/2.0*(1+suppressValueLV)-dDef,0)+max(aIceAtk - dIceDef, 0))*(atkSkillPer+aSkillAtkRate/10000.0)*(1-min(dDamReduce,8000)/10000.0)*(1-min(dDamChanceDef,8000)/10000.0)+max(aFinalHurt-dFinalHurtReduce, 0)+atkSkillValue)*(1+dBeHurtPer/10000.0)*(1+suppressValueFP),aMaxAtk*0.05+rand*aMaxAtk*0.05))", + "PVE_1_3" :"int(SuppressValueRealmRate/10000.0*max((((max((aMaxAtk if isLuckyHit else (aMinAtk + (aMaxAtk - aMinAtk)*rand))-dDef*max(1-aIgnoreDefRate/10000.0,0),1))*(1+(aLuckyHit/10000.0 if isLuckyHit else 0))+(aSuperHit if isSuperHit else 0)+ max(aIceAtkSuperHit*aIceAtk - dIceDef, 0))*(atkSkillPer+(aZhuxianHurtPer/10000.0 if isZhuxianHit else 0)+aSkillAtkRate/10000.0)*(1+aDamagePer/10000.0)+max(aFinalHurt+aOnlyFinalHurt-dFinalHurtReduce, 0)+atkSkillValue)*(1+dBeHurtPer/10000.0)+aNPCHurtAddPer/10000.0*(aMinAtk+aMaxAtk)/2.0,(aMinAtk+aMaxAtk)/2*0.05 + (aMinAtk+aMaxAtk)/2*0.1*rand))", + "EVP_1_3" :"int(SuppressValueRealmRate/10000.0*max(((max((aMinAtk+aMaxAtk)/2.0*(1+suppressValueLV*1.3)-dDef,0)+max(aIceAtk - dIceDef, 0))*(atkSkillPer+aSkillAtkRate/10000.0)*(1-min(dDamReduce,8000)/10000.0)*(1-min(dDamChanceDef,8000)/10000.0)+max(aFinalHurt-dFinalHurtReduce, 0)+atkSkillValue)*(1+dBeHurtPer/10000.0)*(1+suppressValueFP)+min(max(suppressLV-80,0)*0.01,0.30)*dMaxHP,aMaxAtk*0.05+rand*aMaxAtk*0.05))", #抢boss - "PVE_1_5" :"int((wReFightPower/15.0+SuppressValueRealmRate/10000.0*max((((max((aMaxAtk if isLuckyHit else (aMinAtk + (aMaxAtk - aMinAtk)*rand))-dDef*max(1-aIgnoreDefRate/10000.0,0),1))*(1+(aLuckyHit/10000.0 if isLuckyHit else 0))+(aSuperHit if isSuperHit else 0)+ max(aIceAtkSuperHit*aIceAtk - dIceDef, 0))*(atkSkillPer+aSkillAtkRate/10000.0)*(1+aDamagePer/10000.0)+max(aFinalHurt+aOnlyFinalHurt-dFinalHurtReduce, 0)+atkSkillValue)*(1+dBeHurtPer/10000.0)+aNPCHurtAddPer/10000.0*(aMinAtk+aMaxAtk)/2.0,(aMinAtk+aMaxAtk)/2*0.05 + (aMinAtk+aMaxAtk)/2*0.1*rand))*(1+aFinalHurtPer/10000.0))", - + "PVE_1_5" :"int((wReFightPower/12.0+SuppressValueRealmRate/10000.0*max((((max((aMaxAtk if isLuckyHit else (aMinAtk + (aMaxAtk - aMinAtk)*rand))-dDef*max(1-aIgnoreDefRate/10000.0,0),1))*(1+(aLuckyHit/10000.0 if isLuckyHit else 0))+(aSuperHit if isSuperHit else 0)+ max(aIceAtkSuperHit*aIceAtk - dIceDef, 0))*(atkSkillPer+(aZhuxianHurtPer/10000.0 if isZhuxianHit else 0)+aSkillAtkRate/10000.0)*(1+aDamagePer/10000.0)+max(aFinalHurt+aOnlyFinalHurt-dFinalHurtReduce, 0)+atkSkillValue)*(1+dBeHurtPer/10000.0)+aNPCHurtAddPer/10000.0*(aMinAtk+aMaxAtk)/2.0,(aMinAtk+aMaxAtk)/2*0.05 + (aMinAtk+aMaxAtk)/2*0.1*rand)*0.8)*(1+aFinalHurtPer/10000.0))", + #助战机器人:参数: suppressNPCFightPower-助战玩家战力; fbFightPower-副本战力; fbBaseHurt-保底伤害 - "HelpRobot_Atk" :"fbBaseHurt*suppressNPCFightPower*1.0/fbFightPower", - "HelpRobot_Def" :"fbBaseHurt*fbFightPower/(suppressNPCFightPower if suppressNPCFightPower else fbFightPower)", + "HelpRobot_Atk" :"max(int(fbBaseHurt*suppressNPCFightPower*1.0/max(fbFightPower,1.0)),1)", + "HelpRobot_Def" :"max(int(fbBaseHurt*fbFightPower*1.0/max((suppressNPCFightPower if suppressNPCFightPower else fbFightPower),1.0)),1)", } ) -- Gitblit v1.8.0