Discuz! Board

 找回密码
 立即注册
服务器名 开服时间 版本简介 版本类型 经验倍率 游戏线路 客服QQ 更多资料
霸气魔力 新开 千人在线,经典3.7仿官方、原汁原味、平稳稳定、特色任务极多 纯仿官方 游戏查看 双线 游戏查看 打开主页
霸气魔力 新开 千人在线,经典3.7仿官方、原汁原味、平稳稳定、特色任务极多 纯仿官方 游戏查看 双线 游戏查看 打开主页
盼望魔力 新开 千人在线、微变版本,特色任务极多,七年品牌保证 轻松不变态 10倍 双线 群125566802 打开主页
盼望魔力 新开 千人在线、微变版本,特色任务极多,七年品牌保证 轻松不变态 10倍 双线 群125566802 打开主页
妖城魔力3.7轻松区 新开 千人在线,经典3.7版本,特色任务极多,七年品牌保证 轻松不变态 5倍 双线 群125566802 打开主页
飘舞魔力3.7轻松区 即将新开 满级160、千人在线,微变版本,特色任务极多,白嫖一切 微变版本 5倍 双线 群818620782 打开主页
飘舞魔力3.7轻松区 即将新开 满级160、千人在线,微变版本,特色任务极多,白嫖一切 微变版本 5倍 双线 群818620782 打开主页
品味3.7怀旧 即将新开 满级130、千人在线,经典3.7版本,特色任务极多,白嫖一切 3.7怀旧> 游戏查看 双线 群775475882 打开主页
品味3.7怀旧 即将新开 满级130、千人在线,经典3.7版本,特色任务极多,白嫖一切 3.7怀旧> 游戏查看 双线 群775475882 打开主页
搜索
热搜: 活动 交友 discuz
查看: 738|回复: 0

物理攻击公式

[复制链接]

12

主题

12

帖子

64

积分

超级版主

Rank: 8Rank: 8

积分
64
发表于 2024-12-12 18:54:24 | 显示全部楼层 |阅读模式
物理攻击公式是很老很老的资料了,有非常多的前辈做了研究。
在我翻旧帖的过程中到也看到了一些正确的结论,只可惜没有记录到现行流通的错误资料中。

物理攻击公式除了系统阐述数值计算过程外,还涵盖了以下这些常被谈论的子话题:240理论,种族属性修正,防御和怕必杀,以及可以类比“精神魔法发动”的,“攻击物理发动”,以及其他许多使用方便的小推论。

因为某种朴素的观念,很多人都认为自然的好于合成的,手算要比自动算更准等等。这在其他条件等同时,并不成立。
但还是有很多人,在偶然心血来潮的冲动下,翻找出错误的物理攻击公式,然后计算器(也是手算,总而言之不是程序)直接得出小数点后三四位的高精确结果。这是可怜、可悲的事情。可怜的是计算者自己从错误的前提出发,经过自己缜密、正确的推算,得出了精度极高的错误结论;可悲的是,这种高精度的结论,使其他阅读者更容易盲目相信。

所以,我一直都不认为,公式是用来计算和显摆的。任何手算的细节,都可以被完整地整合到程序中去。
公式作为集体智慧的记录和结晶,是供其他研究者继承、分析、批判、讨论的公共知识。这才是公式应有的姿态。

§正文

物理攻击公式的完整形态(不考虑细节计算):
f-dam=Tech*Rebirth*Weaponkind*Defstatus*(Cri-dam+Unitstatus*Unitbonus*Weaponbonus*[Race+Ele-1]*b-dam*Float)
用语言描述是这样:
最终伤害=技能修正*精灵变身修正*武器种类修正*防守状态修正*(必杀伤害+单位状态修正*单位优先修正*武器修正*[种族修正+属性修正-1]*中值基础伤害*浮动系数)

下面就从中值基础伤害开始,一步一步详细介绍各个参数

基础伤害由攻击方的攻击和防御方的防御决定,基础伤害并非连续的函数,在攻击力等于0和防御力等于0的时候,会套用不同的算法。使用条件函数可以把基础伤害的计算汇总成一个式子:
b-Dam=(Atk!=0)*(rAtk/(rDef/rAtk+1/3) +(Def<0)*(-Def))+ (Atk==0)*1【注1】
用语言描述是这样:
攻击等于0的时候,基础伤害等于1;
攻击大于0,防御大于0的时候,基础伤害等于 折算攻击/(折算防御/折算攻击+1/3)
攻击大于0,防御小于0的时候,基础伤害等于 折算攻击/(折算防御/折算攻击+1/3)-实际防御 【注2】

【注1】:逻辑运算也有数值,条件为真是1,条件为假是0.
【注2】:实际防御小于零,所以减号的结果就是增加了基础伤害

式子中的一些具体解释
Atk 玩家的攻击力示数,不包括小数点后的部分。如果受伤或者使用了改变攻击力的技能,则用不包括小数点的数值乘以修正后,再略去小数点。

Def 玩家的防御力示数,具体计算同上

rAtk:当Atk数值不超过241时,与atk相等;当Atk超过241后,为240+round((Atk-240)*0.3+0.1),其中,round为四舍五入
可写为 rAtk=(Atk<=241)*Atk+(Atk>241)*(240+round((Atk-240)*0.3+0.1))

rDef:当Def小于0时,等于0;当Def数值不超过241时,与Def相等;当Def超过241后,为240+round((Def-240)*0.3+0.1)

"!="   :不等于运算,如果两边不等于,则返回1,否则返回0.
"==","<" :“等于"和"小于"运算,返回数值的情况同上,其他的逻辑运算也是类似性质,若成立则返回1,不成立返回0.
例如 “800!=0” 返回值为1.

【辟谣】240理论指的就是折算攻击/防御和实际攻击/防御的换算过程。换算中包括了乘以系数0.3的过程,所以很多人都认为攻击、防御突破240之后,“效果”、即攻击-伤害的增幅关系变为原来的30%。这不是正确的理解,240理论若被称作“240修正”,会更能体现其原本的意义。

攻击公式的设定中,本来就是使伤害和攻击力成线性关系。(防御0的情况下)但由于被攻击方的防御力的影响,这个线性关系被歪曲,成为两段,前半段近似二次曲线,后半段逐渐过渡回线性。所谓的“越涨越快突破天际”,只是错把公式看成二次函数而已。





图片中的攻击-伤害曲线,整体来看其实很接近一条直线



防御力的影响使得前期的攻击力收益远低于后期收益。240修正的出现就是对整个伤害曲线进行平衡调整,使玩家早期加攻可以获得较大的收益,算是对初期玩家的照顾。所以,在玩家早期(20级前),装备的意义非常大。相对于“攻击超过了240之后,效果变差”的说法,更正确的理解是“攻击在240之前,收效更高”。
这就是240修正的作用,不坑爹,只是让攻击-伤害在很大的范围内保持准线性关系。

由于防御和伤害的关系和反比例关系接近(类似y=1/x),所以防御的收益并没有攻击显著,在具体考察如何增加生存能力时,需要结合物理攻击公式的所有参数综合计算,才可能得出纯物理伤害的条件下,是先增加防御更好、还是先增加体力更好。

看完上篇,你应该知道传统观点的“240理论”毫无例外全都是错的。240修正只不过是平衡游戏的一个参数,并不坑爹。你要高伤害,就要加高攻,高必杀;你要耐揍,就要考察防御和生命的分配比例。

个人认为,游戏除了要控制参数收益外,还要控制战斗节奏。所以防御不可能比攻击收益更高,否则一场战斗就要打半个小时了。因此,攻击的地位比防御更高。




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-4-12 21:03 , Processed in 0.074144 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表