Jump to content

你真的了解PVP嘛


Recommended Posts

随着版本变动,PVP得到了越来越多的重视,这是一件非常好的事情。

 

但是大家肯定还有很多基础性的知识不过关,所以我打算每周用一两个问题来巩固大家的基础知识。欢迎大家回复自己的答案!

Link to post

第一问

 

35251047_1.thumb.png.5f51797a52504c1c620dcaafb7ae37e0.png

 

 

图片中是神奇宝贝百科对于伤害计算公式的具体描述,那么请问错误在哪?正确的伤害计算公式应该是怎么样的?

Link to post

ex.png.b3d136aa8160b374d90d5b7d198e0942.png

结合一个例子。

一只满攻命玉地龙对我的满hp、无防御努力老班(血和防御的个体都是v)点出地震,打出了205伤害。老班靠着最小随机数苟活并且打了一发冰拳。

如果根据前面的伤害公式,来算算看伤害。

 

先算基础伤害,也就是公式括号里的部分。

地龙的攻击为182,老班的防御为130。等级为50级,地震威力100。

(2x50+10)/100=0.44

0.44x182/130x100+2=63.6

在以上两个步骤中都没有舍弃小数,因为原公式的说明中提到最后的伤害舍去小数。所以暂且保留小数。

 

再来算加成后的伤害。

在这个过程里参与的加成包括地龙地震的本系加成,地震克制老班,命玉加成,最小随机数

63.6x1.5(本系)x2(克制)x1.3(命玉)x0.85(随机数)=210.834

我们的结果就是这个210.834,将其小数舍去,伤害就是210。

如果地震最小伤害是210,那上述情景就是确一,现在公式和游戏内计算结果的偏差的事实,正说明了公式有误。

 

我在另一家口袋百科(pokemon.name/wiki)找到了比较符合的伤害计算公式

(题外话,这个网页经常上不去,今天突然能上了。)

它的公式对于这一次攻击的计算过程如下:

 

1~3.读取招式威力,攻击力,防御力。没有多的计算。

4.基础伤害计算。这步很关键,公式如下:

  • 基础伤害=[[[攻击方等级×2÷5+2]×技能威力×攻击力÷防御力]÷50]+2

   标方括号的运算需要向下取整结果。计算结果为63。

 

5.随机修正。使伤害乘上[0.85, 1]的随机数。取0.85,相乘后再向下取整。这一步的计算结果为53。

6.属性修正。包括属性一致加成和克制。

  • 伤害=[[伤害×1.5]×属性相克倍率]。

   这里计算算完STAB之后要先取整,乘上克制倍率之后再取整。这一步计算结果为158。

7.实际伤害修正。在这个阶段有触发的是命玉,伤害修正=1.3。

  最终伤害=[伤害×伤害修正]。结果为205。

 

两种公式的计算的区别相当明显,前者只有最后一步舍去小数。而后者的计算过程中要多次进行取整,并且有严格的计算顺序要求。

因为中途的小数被舍去,这部分小数不会在被加成后达到整数部分,所以不同的公式计算结果会有出入。而正是因为这样,所以才要控制计算顺序,而不能简单地将各个因子相乘。游戏内的结果能证明这种中途舍去小数的计算结果才是对的。

 

公式的还有一个错误在于,并非所有修正都乘在最终伤害上。

像是技术高手、属性宝石、力量头带、猛火、强行这些加成,是乘在攻击或威力的修正中的。基础伤害里还有个常数“+2”,所以乘在威力或攻击上和乘在最终伤害上会有微小的区别。

 

 

 

Edited by dorybo
Link to post

dorybo兄是正解,在整个过程中是经过先取整再考虑加成的倍率关系的。举个很简单的例子,一级妙蛙种子不带道具打一百级的水箭龟,飞叶快刀的伤害会是2而非1,这就是因为经过取整后小于1而定为1,接着克制关系乘2使得伤害量变成2。还有很多例子,最直观的就是不考虑道具和特性,克制技能打出的伤害必定是2的倍数,如果先进行倍率加成的计算再取整,不可能总会是2的倍数的,所以实际上的计算公式,都是经过先取整再考虑倍率关系,而且每一次取整后小于1都要取1,考虑完倍率关系后,再进行一次最终的取整。

具体还有一些加成也不是在倍率当中计算的,这点dorybo兄也提到了,我认为他的答案是非常完整且具有参考价值的。

Edited by bingonb
Link to post
4小时前,dorybo 说:

ex.png.b3d136aa8160b374d90d5b7d198e0942.png

结合一个例子。

一只满攻命玉地龙对我的满hp、无防御努力老班(血和防御的个体都是v)点出地震,打出了205伤害。老班靠着最小随机数苟活并且打了一发冰拳。

如果根据前面的伤害公式,来算算看伤害。

 

先算基础伤害,也就是公式括号里的部分。

地龙的攻击为182,老班的防御为130。等级为50级,地震威力100。

(2x50+10)/100=0.44

0.44x182/130x100+2=63.6

在以上两个步骤中都没有舍弃小数,因为原公式的说明中提到最后的伤害舍去小数。所以暂且保留小数。

 

再来算加成后的伤害。

在这个过程里参与的加成包括地龙地震的本系加成,地震克制老班,命玉加成,最小随机数

63.6x1.5(本系)x2(克制)x1.3(命玉)x0.85(随机数)=210.834

我们的结果就是这个210.834,将其小数舍去,伤害就是210。

如果地震最小伤害是210,那上述情景就是确一,现在公式和游戏内计算结果的偏差的事实,正说明了公式有误。

 

我在另一家口袋百科(pokemon.name/wiki)找到了比较符合的伤害计算公式

(题外话,这个网页经常上不去,今天突然能上了。)

它的公式对于这一次攻击的计算过程如下:

 

1~3.读取招式威力,攻击力,防御力。没有多的计算。

4.基础伤害计算。这步很关键,公式如下:

  • 基础伤害=[[[攻击方等级×2÷5+2]×技能威力×攻击力÷防御力]÷50]+2

   标方括号的运算需要向下取整结果。计算结果为63。

 

5.随机修正。使伤害乘上[0.85, 1]的随机数。取0.85,相乘后再向下取整。这一步的计算结果为53。

6.属性修正。包括属性一致加成和克制。

  • 伤害=[[伤害×1.5]×属性相克倍率]。

   这里计算算完STAB之后要先取整,乘上克制倍率之后再取整。这一步计算结果为158。

7.实际伤害修正。在这个阶段有触发的是命玉,伤害修正=1.3。

  最终伤害=[伤害×伤害修正]。结果为205。

 

两种公式的计算的区别相当明显,前者只有最后一步舍去小数。而后者的计算过程中要多次进行取整,并且有严格的计算顺序要求。

因为中途的小数被舍去,这部分小数不会在被加成后达到整数部分,所以不同的公式计算结果会有出入。而正是因为这样,所以才要控制计算顺序,而不能简单地将各个因子相乘。游戏内的结果能证明这种中途舍去小数的计算结果才是对的。

 

公式的还有一个错误在于,并非所有修正都乘在最终伤害上。

像是技术高手、属性宝石、力量头带、猛火、强行这些加成,是乘在攻击或威力的修正中的。基础伤害里还有个常数“+2”,所以乘在威力或攻击上和乘在最终伤害上会有微小的区别。

 

 

 

多利兄很强啊

Link to post

第二问

 

索罗亚克,特性幻觉,会变成队伍末尾的宝可梦,而沙奈朵有个特性叫复制,会复制对面宝可梦的特性。那么请问在mmo的PVP中,当索罗亚克伪装成队伍末尾宝可梦在场上首发,而对方首发沙奈朵,那么沙奈朵会复制什么特性?

(墙裂建议自己去试一下)

Link to post
15小时前,bingonb 说:

第二问

 

索罗亚克,特性幻觉,会变成队伍末尾的宝可梦,而沙奈朵有个特性叫复制,会复制对面宝可梦的特性。那么请问在mmo的PVP中,当索罗亚克伪装成队伍末尾宝可梦在场上首发,而对方首发沙奈朵,那么沙奈朵会复制什么特性?

(墙裂建议自己去试一下)

复制失败()

Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.