当前位置: 首页 > news >正文

游戏中主流的护甲计算

文章目录

  • 1、护甲
    • 1.1、主流的护甲函数
    • 1.2、护甲穿透
    • 1.3、护甲穿透(按百分比)
    • 1.3、格挡
  • 2、攻速和DPS
  • 3、暴击
    • 3.1、暴击率
    • 3.2、暴击伤害
  • 4、最后一题

1、护甲

1.1、主流的护甲函数

  • 当护甲>0时,护甲函数如下:
    伤害减免 = 1 − 1 1 + 0.06 × 护甲 = 0.06 × 护甲 1 + 0.06 × 护甲 伤害 = 物理攻击 × 1 1 + 0.06 × 护甲 ————————————————————————————— \begin{aligned} &伤害减免=1 - \frac{1}{1+0.06\times护甲} = \frac{0.06\times护甲}{1+0.06\times护甲} \\ \\ &伤害=物理攻击 \times \frac{1}{1+0.06\times护甲} \\&————————————————————————————— \end{aligned} 伤害减免=11+0.06×护甲1=1+0.06×护甲0.06×护甲伤害=物理攻击×1+0.06×护甲1—————————————————————————————

  • 其中,0.06是护甲系数,是一个可调节的系数
    为方便后续的计算,把护甲系数改成0.01,护甲函数变成:
    伤害减免 = 护甲 100 + 护甲 伤害 = 物理攻击 × 100 100 + 护甲 ————————————————————————————— \begin{aligned} &伤害减免= \frac{护甲}{100+护甲} \\ \\ &伤害=物理攻击 \times \frac{100}{100+护甲} \\&————————————————————————————— \end{aligned} 伤害减免=100+护甲护甲伤害=物理攻击×100+护甲100—————————————————————————————

1.2、护甲穿透

  • 当护甲>护甲穿透时:
    伤害 = 物理攻击 × 100 100 + ( 护甲 − 护甲穿透 ) ————————————————————————————— \begin{aligned} &伤害=物理攻击 \times \frac{100}{100+(护甲-护甲穿透)} \\&————————————————————————————— \end{aligned} 伤害=物理攻击×100+(护甲护甲穿透)100—————————————————————————————
  • 计算题:敌方护甲=25;我方物理攻击=120,护甲穿透=5
    伤害 = 120 × 100 100 + 25 = 96 ————————————————————————————— \begin{aligned} &伤害=120\times \frac{100}{100 + 25} = 96 \\&————————————————————————————— \end{aligned} 伤害=120×100+25100=96—————————————————————————————

1.3、护甲穿透(按百分比)

  • 在主流游戏中,百分比甲穿的计算优先级更高
    伤害 = 物理攻击 × 100 100 + ( 护甲 × ( 1 − 百分比甲穿 ) − 护甲穿透 ) ————————————————————————————— \begin{aligned} &伤害=物理攻击 \times \frac{100}{100+(护甲 \times (1-百分比甲穿)-护甲穿透)} \\&————————————————————————————— \end{aligned} 伤害=物理攻击×100+(护甲×(1百分比甲穿)护甲穿透)100—————————————————————————————
  • 计算题:敌方护甲=200;我方物理攻击=180,护甲穿透=60,百分比甲穿=30%
    伤害 = 180 × 100 100 + ( 200 × ( 1 − 30 % ) − 60 ) = 100 ————————————————————————————— \begin{aligned} &伤害=180 \times \frac{100}{100+(200 \times (1-30\%)-60)}=100 \\&————————————————————————————— \end{aligned} 伤害=180×100+(200×(130%)60)100=100—————————————————————————————

1.3、格挡

  • 格挡的例子有:山岭巨人的皮肤、多兰盾……
  • 2种计算函数:
    伤害 = ( 攻击 − 格挡 ) × 100 100 + ( 护甲 × ( 1 − 甲穿比 ) − 护甲穿透 ) 伤害 = 攻击 × 100 100 + ( 护甲 × ( 1 − 甲穿比 ) − 护甲穿透 ) − 格挡 ————————————————————————————— \begin{aligned} &伤害=(攻击-格挡) \times \frac{100}{100+(护甲 \times (1-甲穿比)-护甲穿透)} \\&伤害=攻击 \times \frac{100}{100+(护甲 \times (1-甲穿比)-护甲穿透)}-格挡 \\&————————————————————————————— \end{aligned} 伤害=(攻击格挡)×100+(护甲×(1甲穿比)护甲穿透)100伤害=攻击×100+(护甲×(1甲穿比)护甲穿透)100格挡—————————————————————————————

2、攻速和DPS

  • 攻速 的其中2种表达式如下:
    1、每秒攻击次数(LOL),例如:
    2、每攻击1次所需的秒数(war3):
  • DPS(damage per second):每秒伤害
    目前主流游戏的攻速使用上面第1种表达式
    那么简单的DPS函数如下:
    D P S = 物理攻击力 × 攻速 ————————————————————————————— \begin{aligned} &DPS=物理攻击力 \times 攻速 \\&————————————————————————————— \end{aligned} DPS=物理攻击力×攻速—————————————————————————————

3、暴击

3.1、暴击率

  • 当暴击率=25%时,攻击10000次,理论上会有2500次暴击
    通常暴击会造成2倍攻击力的伤害
  • 计算题:攻击力=160,攻速=1.2,暴击率=25%,存在 攻击前摇
    那么100秒攻击了120次,其中30次暴击320
    100 秒总伤害 = 320 × 30 + 160 × 90 = 24000 100秒总伤害=320 \times 30 + 160 \times90=24000 100秒总伤害=320×30+160×90=24000
    平均每秒伤害 = 240 平均每秒伤害=240 平均每秒伤害=240
  • 那么进一步的DPS计算函数如下:
    D P S = 物理攻击力 × 攻速 × ( 1 + 暴击率 ) D P S = 160 × 1.2 × ( 1 + 25 % ) = 240 ————————————————————————————— \begin{aligned} &DPS=物理攻击力 \times 攻速 \times (1+暴击率) \\&DPS=160 \times 1.2 \times (1+25\%)=240 \\&————————————————————————————— \end{aligned} DPS=物理攻击力×攻速×(1+暴击率)DPS=160×1.2×(1+25%)=240—————————————————————————————

3.2、暴击伤害

  • 暴击伤害的倍率通常是200%,但也会有别的情况,例如:
    致命一击的暴击伤害是400%;无尽之刃的暴击伤害是250%
  • 进一步的DPS函数如下:
    D P S = 攻击力 × 攻速 × 暴击率 × 暴击伤害倍数 + 攻击力 × 攻速 × ( 1 − 暴击率 ) ————————————————————————————— \begin{aligned} &DPS= \\&攻击力 \times 攻速 \times 暴击率 \times 暴击伤害倍数+ \\&攻击力 \times 攻速 \times (1-暴击率) \\&————————————————————————————— \end{aligned} DPS=攻击力×攻速×暴击率×暴击伤害倍数+攻击力×攻速×(1暴击率)—————————————————————————————
  • 计算题:攻击力=160,攻速=1.2,暴击率=25%,暴击伤害250%
    D P S = 160 × 1.2 × 25 % × 250 % + 160 × 1.2 × ( 1 − 25 % ) = 264 ————————————————————————————— \begin{aligned} &DPS=160 \times 1.2 \times 25\% \times 250\% + 160 \times 1.2 \times (1-25\%) = 264 \\&————————————————————————————— \end{aligned} DPS=160×1.2×25%×250%+160×1.2×(125%)=264—————————————————————————————

4、最后一题

  • 我方:攻击200,攻速2.0,暴击率100%,暴伤250%,甲穿20%+20,攻击前摇=0
    敌方:HP=5000,护甲=400,格挡=0
    求解:击杀敌人所需时间

  • 单次攻击 = 200 × 250 % = 500 单次攻击=200\times250\%=500 单次攻击=200×250%=500
  • 单次伤害 = 500 × 100 / ( 100 + ( 400 × ( 1 − 20 % ) − 20 ) ) = 125 单次伤害=500\times100/(100+(400\times(1-20\%)-20))=125 单次伤害=500×100/(100+(400×(120%)20))=125
  • 所需时间 = ( 5000 / 125 − 1 ) × ( 1 / 2.0 ) 所需时间=(5000/125-1)\times(1/2.0) 所需时间=(5000/1251)×(1/2.0)=19.5秒

相关文章:

  • 微信聊天助手
  • HarmonyOS系统开发基础环境搭建
  • 年轻人退休或失业?藏在身边的冷门暴利行业,2024适合年轻人轻资产创业项目!
  • 基于SpringBoot的招聘网站
  • 一键清除JavaScript代码中的注释:使用正则表达式实现
  • 三井住友保险中国区信息技术部负责人陈婧,将出席“ISIG-RPA超级自动化产业发展峰会”
  • Spring事件发布监听器ApplicationListener原理- 观察者模式
  • 策略分析:Atlassian Server版停止支持,Server版用户应该转向数据中心版本还是云版?
  • 探秘分布式神器RMI:原理、应用与前景分析(二)
  • python 运行环境(Docker 容器)
  • 执法仪主板方案定制_MTK平台安卓主板方案商
  • HSRP和VRRP
  • WPF —— ToolBar、Checkbox控价详解
  • 访问一次网站的全过程
  • SSM整合项目(使用Vue3 + Element-Plus创建项目基础页面)
  • [译]如何构建服务器端web组件,为何要构建?
  • Angular4 模板式表单用法以及验证
  • Angularjs之国际化
  • interface和setter,getter
  • Invalidate和postInvalidate的区别
  • java概述
  • LeetCode29.两数相除 JavaScript
  • October CMS - 快速入门 9 Images And Galleries
  • Python语法速览与机器学习开发环境搭建
  • rabbitmq延迟消息示例
  • React 快速上手 - 07 前端路由 react-router
  • Swoft 源码剖析 - 代码自动更新机制
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 观察者模式实现非直接耦合
  • 看域名解析域名安全对SEO的影响
  • 前嗅ForeSpider采集配置界面介绍
  • 全栈开发——Linux
  • 追踪解析 FutureTask 源码
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #if和#ifdef区别
  • $.ajax()
  • (06)Hive——正则表达式
  • (4)(4.6) Triducer
  • (BFS)hdoj2377-Bus Pass
  • (JS基础)String 类型
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (十八)SpringBoot之发送QQ邮件
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (转)Linux整合apache和tomcat构建Web服务器
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .NET 服务 ServiceController
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • :O)修改linux硬件时间
  • @Autowired注解的实现原理
  • [@Controller]4 详解@ModelAttribute
  • [ACTF2020 新生赛]Include