4581 【后端】【1.3.100】上古战场优化和分线调整——机器人AI、属性、伤害
| | |
| | | },
|
| | |
|
| | | # 动态等级的地图ID列表,默认已刷新出来的NPC等级不会再变更,下次刷出来的怪物等级变更 [地图ID, ...]
|
| | | [31170,31080],
|
| | | [31160,31170,31080],
|
| | |
|
| | | # 动态人数系数的地图ID {地图ID:是否马上刷新属性, ...}
|
| | | {31170:1, 51010:1, 31210:1},
|
| | |
| | | #计算玩家本次攻击伤害
|
| | | #计算类型: 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物理攻击
|
| | |
| | | "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)",
|
| | |
|
| | | |
| | | #副本机器人
|
| | | "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*dMaxHP*min(max(0.4,aFightPower/dFightPower), 2))",
|
| | | "RobotVRobot_1" :"int(dMaxHP*0.05)",
|
| | | |
| | | #世界小怪等级压制公式
|
| | | "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)",
|
| | |
|