MC伤害减免的详细介绍 您所在的位置:网站首页 我的世界摔伤编程 MC伤害减免的详细介绍

MC伤害减免的详细介绍

2024-06-23 14:19| 来源: 网络整理| 查看: 265

你们好,这里是小花(●°u°●)这篇专栏主要讲的是MC的伤害减免计算方式。在这篇专栏中:

黑字是常规内容

红字是比较重要的内容

紫字代表下文的部分名词将用此简称

(小括号内通常是补充说明内容)

中括号内为注释标号[0]

注0:引号后的内容与中括号的注释标号对应,可能是由于比较长不适合放在正文的补充内容,也可能是举例解释的内容,主要助于细剖和理解

Part.0 序言

基岩版在伤害减免的方面很快也要和JAVA版同步了(跌落神坛?),具体更改版本为BE1.18.30.20。也就是在1.19时很可能已经和JAVA版一致,为了便于描述且考虑到玩家主要游玩版本为正式版,后文皆将其称为BE1.19。单独的BE默认指1.19前的基岩版,而单独的JE默认指1.9之后的JAVA版。

这篇专栏优先讲JE(和BE1.19)伤害减免的计算(JAVA版1.9之后至此文发布时的最新JAVA版1.18.2在伤害减免这方面计算方式一样)。关于BE伤害和JE1.9之前的减免计算会放在后面(基岩版1.18.30.20之前均为相同算法)。不过虽然如此,对只想知道后二者的依旧不建议直接跳到后面看,因为很多内容有重复,重复的内容如果在前面有细讲过我再讲可能就会讲得比较简略(绝对不是因为懒quq)。所以还是推荐也看看前面的Part.1(。・ω・。)

虽然随着版本改变很多东西都在变,不过在伤害减免的方面的计算总是遵循着一样的顺序:

护甲值的减免(通常由盔甲直接提供)→装备附魔的减免(五个保护类附魔)→状态效果的减免(仅抗性提升[1])

注1:假如实体免疫某种伤害(比如抗火状态效果能让生物免疫火焰伤害),则这类伤害不会参与该实体的伤害减免计算中。和抗性提升V直接减伤100%的区别在于前者受对应伤害时不会损耗装备耐久,而后者由于抗性提升计算优先级比护甲值小,会减少装备耐久

好的,让我们正式开始吧ヾ(๑╹ヮ╹๑)ノ”

Part.1 JE1.9之后及BE1.19之后

在这两个版本,JAVA版和基岩版分别加入了盔甲韧性这个属性,同时加入了伤害减弱护甲值减免能力的机制(俗称有穿甲、破甲等)。如果简单讲,就是对于同样的护甲值,减免前伤害(简称原伤害)越高,伤害减免率越低,而盔甲韧性可以减小这个影响。接下来我们来细讲一下这些属性:护甲值及盔甲韧性、保护类魔咒、抗性提升。

1、护甲值及盔甲韧性

通常情况下,所有盔甲均会提供护甲值。护甲值能够减免的伤害类型在护甲值、保护附魔和抗性提升三者中最少(高情商:第三少),而且护甲值能减免的伤害会损耗盔甲耐久[2],以下为护甲值不能减免的伤害类型(除这些外护甲值皆可减免):

摔落伤害、着火伤害[3]、窒息伤害、溺水伤害、饥饿伤害、魔法伤害(状态效果、荆棘和尖牙)、动能伤害(鞘翅)、闪电伤害、冰冻伤害(细雪)、虚空伤害、/kill。

注2:反之,护甲值不能减免的伤害不会损耗盔甲耐久,哪怕盔甲的附魔能减免这种伤害也不会损耗耐久。耐久减少的值为原伤害除以4向下取整,最少为1,也就是受到1至7点攻击力的攻击时盔甲均会掉1耐久,8至11点攻击力掉2耐久,依此类推。

(特殊:火焰伤害不会减少下界合金盔甲的耐久)

注3:着火伤害不等于火焰伤害,它是火焰伤害的一个子集,除了通常那种画面下方出现燃烧特效的着火伤害以外,两种营火造成的伤害也是着火伤害。其他火焰伤害护甲值是可以减免的,例如合金套无抗火泡岩浆浴。但是由于着火伤害不能被护甲值减免,因此能令人着火的伤害对全套装备无附魔的玩家依旧很有威胁。所以虽然合金套泡岩浆既不会掉耐久死了装备也不会被烧掉但还是不推荐尝试,除非出来后能尽快灭火(不过正常人真的会去试嘛)

对于上述未列出的伤害,每点护甲值能提供4%的伤害减免[4],至多减免80%[5]。但是在没有盔甲韧性的情况下,原伤害平均每有2点就能无视1点护甲值(无视量为原伤害的1/2),至多能无视4/5的护甲值,也就是护甲值保底能生效1/5[6]。

注4:我采用的是忽略护甲值的描述方式,即视每点护甲值提供的保护能力恒定,但是伤害会无视部分护甲值。Wiki上采用的描述方式是伤害会减弱每点护甲值的减免能力。个人感觉Wiki的讲法不能很好地表述每点盔甲韧性的影响,而且和公式对不上,所以这里采用自己的表述方法

注5:护甲值上限为30,不过原版的装备至多只能获得20点护甲值。玩家可以通过指令或模组等获得超过20点的护甲值,一些实体在特定装备下也能突破20护甲值。不过玩家状态栏至多只会显示20点。而且超过20点的护甲值在穿甲计算完毕后最多也只能生效20点(即护甲值减免率上限80%)。比如钻套僵尸有22护甲值,若不考虑盔甲韧性的影响,则其受到2点攻击力的伤害在穿甲计算后还有21点护甲值,但是超出的1点不会生效,只会生效20点即减伤80%

注6:例如铁套有15护甲值,普通模式苦力怕贴脸炸有43点伤害,如果普通模式苦力怕贴脸炸一个铁套玩家,虽然本应无视43/2=21.5点护甲值,但由于护甲值至多被无视4/5(至少生效1/5),所以实际无视护甲值为12点,造成伤害为43*(1-4%*3)=37.84点

可是尽管有保底的1/5,在高伤面前护甲值的保护还是显得太过无力了,像困难卫道士的19伤可以无视9.5的护甲值,这哪怕是20护甲值都基本无视一半了还得了?因此对于钻石盔甲和下界合金盔甲这两个毕业套(下界更新前的和下界更新后的),麻将给予了盔甲韧性的额外优待。(虽然这种伤害有盔甲韧性也是有点疼的)

看上去让人有点懵的伤害公式

盔甲韧性的计算方式其实不难懂,如果你已经理解了上面的穿甲机制,并且采用每点护甲值提供的减免率固定,伤害无视部分护甲值的角度去理解,那么这个公式就很好看懂了。盔甲韧性的效果就是:每有1点盔甲韧性,无视1点护甲值所需要的原伤害增加0.25。也就是原伤害平均每有2+(0.25*盔甲韧性)点才能无视1点护甲值[7]。

注7:例如钻套有8点盔甲韧性,因此对于钻套想无视1点护甲值需要4点原伤害,困难卫道士可以无视4.75点护甲值;合金套有12点盔甲韧性,因此对于合金套想无视1点护甲值需要5点原伤害,困难卫道士可以无视3.8点护甲值。和护甲值有些相似,盔甲韧性上限也不是正常途径能获取的最高值12,而是20。也就是原版属性上限最多只能提到每7点原伤害无视1点护甲。倘若通过指令获得能给予30护甲值和20盔甲韧性的物品,则对护甲值能减免的伤害除非原伤害超过140,否则减免率都能保持在80%(当然,即使保持80%的减免率,单次100伤害也足够杀死20血玩家了)

从图片的MAX和MIN函数不难看出,此机制与护甲值至多减伤80%和护甲值至少生效1/5均不冲突。此外,盔甲韧性只是为护甲值而服务的,自身并没有伤害减免的效果。即你如果没有护甲值光有盔甲韧性(可通过指令和模组等方式实现),那就和完全没有防御一样。所以前面提到有关的伤害减免的是三者而非四者。

2、保护类魔咒

在护甲值的伤害减免计算完成后就轮到盔甲上的保护类魔咒了。保护类魔咒以护甲值减免计算完成的数值作为新的原伤害(记为一削伤害)进行下一轮计算。

和护甲值一样,保护类魔咒的减免上限也是80%。不过计算方式和减免的伤害类型均不同。

火焰保护、爆炸保护、弹射物保护这三种属于针对类保护,根据名字就可以知道能减免的伤害类型了:

火焰保护能减免所有火焰伤害(除了护甲值能减免的那些火焰伤害外,还包括着火伤害),此外还会减少着火时间[8]。

爆炸保护能减免所有爆炸伤害(烟花火箭的爆炸也属于爆炸伤害,能被爆炸保护减免),此外还会减少爆炸时受到的冲击效果[8]。

弹射物保护能减免所有弹射物伤害(只减少弹射物的撞击伤害,不会减少弹射物撞击附加效果的伤害。例如恶魂火球撞击产生的爆炸伤害是不能被它减免的,不过可以被爆炸保护减免)。

这三种针对类保护每级可以减免对应类型伤害8%[9],通常单件装备最多减免对应类型伤害32%

注8:二者的效果均取决于装备栏里最高级对应附魔的等级,最高级每有1级减少15%着火时间/爆炸冲击。一件7级火焰保护基本可以免疫着火,一件7级爆炸保护基本可以免疫爆炸的冲击(不过通常最高只能4级,也就是减少60%着火时间/爆炸冲击)

注9:Wiki采用EPF描述,不过这个名词有点专业,这里采用了更通俗的表述方法。如果用EPF描述就是针对类保护每级提供2点对应伤害类型的EPF,每点EPF提供4%伤害减免。后文同理

摔落保护[10]和上面三种针对类附魔类似,能减免所有摔落类伤害(末影珍珠的伤害也是摔落伤害)。不过它每级可以减免摔落类伤害12%而非8%,也就是单件最多减免48%摔落伤害。

注10:摔落保护是一个比较特殊的保护类魔咒。它的英文名为"Feather Falling",可以译为"羽落"。和"保护"("Protection")可以说没啥关系;也不像那四个保护类魔咒彼此互斥,它可以和任意保护类附魔相容;而且只能附在靴子上而非任意装备。但是它和四个保护类魔咒采用同样的算法,所以把它也归入保护类附魔也是可以的

接下来是最后一个保护类附魔:保护。它能减免几乎所有类型的伤害,只有四种伤害无法减免:饥饿伤害、虚空伤害、监守者的远程伤害和/kill。其他伤害均可减免,也就是包括护甲值和前面四种保护类附魔所能减免的所有伤害类型,同时还包括魔法伤害、窒息伤害[11]、溺水伤害等护甲值无法保护的伤害类型。每级提供4%伤害减免,单件最多减免16%绝大多数类型伤害(也就是一套保护IV可以减免64%绝大多数类型伤害,这已经接近80%的上限)。(保护为什么是神)

值得注意的是,这也意味着保护只要共计20级就达到上限了,所以从伤害减免方面上保护32567=保护20=4*保护5。

注11:由于JE和BE这里不太一样而且比较多人搞混,特此强调:这个大章节都是JE和BE1.19的情况,BE的保护附魔是无法减免魔法伤害和窒息伤害的

根据一削伤害的类型按四件装备对应伤害类型的减免率累加值进行减免[12][13],就能得到经过护甲值和魔咒双重减免后的伤害值,这里称为二削伤害。

注12:保护每级+4%减免率,针对类保护每级+8%减免率,摔落保护每级+12%减免率。假如一玩家装备两件保护IV、一件火焰保护IV、一件弹射物保护IV且摔落保护IV,则其对摔落伤害减免率为80%,对火焰伤害和弹射物伤害减免率为64%,对其他保护魔咒可减免伤害有32%的减免率。此外着火时间减少60%

注13:如果一削伤害同时受多个针对类保护减免,同样是把所有对应伤害类型的减免率累加后计算。例如烈焰人火球既是火焰伤害又是弹射物伤害,注12所举例的玩家对其减免率为MIN(16%+16%+32%+32%,80%)=MIN(96%,80%)=80%

新手特别需要注意的一个误区(我相信很多人都这样干过,可能有些人现在还在这样做):就是总以为四件套把五种保护类附魔都附上IV级是最好的(四个互斥的一件一个,靴子多附个摔落保护),因为看上去这样好像面面俱到。然而这样基本是完全亏的,这样附魔对三种针对类保护对应的伤害类型减免率为48%,摔落伤害减免率为64%,其他绝大多数伤害减免率为16%;相比于全套保护IV的绝大多数伤害减免率64%可以说是被完爆,"面面俱到"反而成了"面面俱失"。当然,说完爆可能有点瑕疵,因为全套保护IV没有减着火时间和减爆炸冲击力的能力。但是伤害减免率差距如此之大,这点不足基本是可以忽略的。

个人推荐装备附魔通常全套保护IV即可,泛用性高。全套保护IV时摔落保护只需II级,如果去下界可以考虑把一件换成火焰保护IV,此时摔落保护需要III级才能到上限。因为全套保护IV如果将其中一件更换成针对类保护IV,相当于用绝大多数类型伤害的减免率去换单一类型伤害的减免率,而且是1:1地换(其他-16%,针对类-16%+32%=+16%),除了下界这种到处是火焰伤害的极端例子基本都是有些亏的。

3、抗性提升

视二削伤害为原伤害,每等级为绝大多数伤害类型(除饥饿伤害、虚空伤害和/kill外的所有伤害类型[14])提供20%减免率。

注14:你可能注意到了这几个词很眼熟,好像刚才在哪看到过?可能你还翻回去找了找,也可能你马上就想到了:这不是和保护附魔几乎一样嘛?没错,在JE和BE的1.19之前,抗性提升可以减免的伤害类型和保护附魔是完全一样的,在正常情况能达到的全套保护IV+抗性提升IV对绝大多数伤害类型减免率高达92.8%(高达?哪里有高达?),而且对护甲值能减免的伤害类型减免率还能更高。在1.19推出监守者后,保护附魔无法减免监守者的远程伤害,而抗性提升可以,是二者唯一的区别(不过监守者的各种能力基本都是麻将与玩家刻意作对的产物,这个效果很可能也是刻意针对的其中之一)

简单粗暴,正常最高获得4级(神龟药水II),同样是80%减免率。不过区别在于抗性提升没有锁减免率上限,5级时可以达到100%减伤,基本上无敌。(甚至不知道怎么样能多写点所以就这样吧)

那么这个大章节就讲得差不多了(๑•ωก๑)

总结一下:

1、伤害减免计算顺序:护甲值→保护类附魔→抗性提升;

2、护甲值每点对大部分伤害类型提供4%减免率,上限80%;

3、伤害会无视部分护甲值,每(2+0.25*盔甲韧性)点伤害能无视1点护甲值,至多无视4/5的护甲值;

4、保护类附魔里保护每级对绝大部分伤害类型提供4%减免率,火焰保护、爆炸保护和弹射物保护每级对对应伤害类型提供8%减免率,摔落保护每级对摔落类型伤害提供12%减免率。对任何类型伤害减免率在全部装备累加后不超过80%;

5、抗性提升每级对绝大部分伤害类型提供20%减免率。

Part.2 BE1.19之前

1.19之前的基岩版没有盔甲韧性的机制,每点护甲值提供4%减免率,可减免的伤害类型和JE相同,减免率上限也一样是80%,但没有穿甲机制。也就是只要是护甲值能减免的伤害类型,都能减免MIN(4%*护甲值,80%)。

保护类附魔每级的减免率分别提升为5%(保护)、10%(火焰保护、爆炸保护、弹射物保护)、15%(摔落保护),而且减免率上限同样是80%。也就是说一套保护IV就达到减免率上限,弹射物保护和摔落保护完全不需要,火焰保护和爆炸保护只有减着火时间和减爆炸冲击力的作用(不过基本怎么想都不值得用)。但是和JE的区别是保护魔咒除了不能减免饥饿伤害、虚空伤害和/kill外,还不能减免魔法伤害和窒息伤害[15]。

注15:在BE1.19之后保护魔咒就能减免这两种伤害了,也就是变得和JE一样。(虽然前面讲过不过还是再提醒一下)

抗性提升在BE和JE没有区别,无论是减免的伤害类型还是每级提供的减免率都完全一样。

总结:

和上面Part.1的总结基本一致,不过也还是有点不一样的。

1、伤害减免计算顺序:护甲值→保护类附魔→抗性提升;

2、护甲值每点对大部分伤害类型提供4%减免率,上限80%;

3、保护类附魔里保护每级对较大部分伤害类型提供5%减免率(相较于JE,不能减免魔法伤害和窒息伤害),火焰保护、爆炸保护和弹射物保护每级对对应伤害类型提供10%减免率,摔落保护每级对摔落类型伤害提供15%减免率。对任何类型伤害减免率在全部装备累加后不超过80%;

4、抗性提升每级对绝大部分伤害类型提供20%减免率。

就。。讲完了?_(:з」∠)_BE的伤害减免计算还是蛮简单的(虽然JE也不难)。而且细节前面也都讲过了也没有再细剖的必要了。

Part.3 JE1.9之前

在战斗更新之前,JAVA版和BE类似:护甲值和抗性提升的相关机制和BE完全一样。但是,1.9之前的JAVA版(旧版JE)保护类魔咒的机制与BE和1.9之后的JAVA版(现在JE)均有较大的不同。

1、可减免伤害类型不同

Wiki记载旧版JE的保护魔咒能减免任何伤害。不过经个人测试,在1.8.9已经和现在JE一致,在1.6.2时能减免饥饿伤害但不能减免虚空伤害。其他版本未测试,不过从这两个结果可以看出实际情况和Wiki说的不太一样,不过和现在JE也不太一样(即饥饿伤害在一些版本是可以减免的)

2、保护类魔咒减免率计算方式不同

根据Wiki描述来看,旧版JE的保护类魔咒计算是比较复杂的,因为涉及到取整函数,而且存在一定的随机性。先展示一下Wiki上描述的计算方法:

首先,魔咒的EPF值(衡量魔咒保护因素的数值)为floor((6+魔咒等级²)*伤害修正权重/3)[16](这里的floor为向上取整函数)。

注16:伤害修正权重根据附魔的类型而定,保护为0.75,火焰保护为1.25,爆炸保护和弹射物保护为1.5,摔落保护为2.5

然后在减免率计算时,先将四件装备的对应类型EPF累加,上限25;然后再乘以0.5~1的一个随机数,向上取整且上限20;最后用这个值乘以4%,就是最后得到的减免率。

看上去很复杂(至少我这么觉得quq),不过还是能找出几个比较有用的数据(EPF暂时没想到什么比较好的代替算法,所以暂时只能用那个计算式了。下述X均指四件装备对应类型EPF之和):

1、保护类附魔减免率上限80%;(熟悉的配方)

2、保护类附魔最高减免率为:

MIN(X*4%,80%);

3、保护类附魔最低减免率为:

X*2%,X为偶;

(X+1)*2%,X为奇;

4、保护类附魔平均减免率[17]为:

0,X为0;

((3X-1)(X+1)/X)*1%,X为1~19的奇数;

(3X+2)*1%,X为2~20的偶数;

(((3X-39)(39-X)/X)+2X+2)*1%,X为21~25+[18]的奇数;

((-X²+158X-1520)/X)*1%,EPF为22~24+[18]的偶数;

注17:计算时由于考虑到向上取整函数和减免率上限,故准确计算式部分较为复杂(尤其是后两个)。不过根据我自己画的图象来看后两个图象是非常贴近的,所以对20以上的X进行粗略计算时推荐用第三个

注18:这些式子也可以计算理论上X超过25的情况,如下图所示(X为0是紫点,X为1~19奇数是蓝点,X为2~20偶数是绿点,X为21~39奇数是橙点,X为22~38偶数是红点)

不同EPF(横轴)下的减免率(纵轴)参考图

差不多就是这样啦(算这堆东西花了我好久quq),主要看的还是平均值。旧版JE即使把EPF拉满了平均减免率也只有72.16%左右,不能像现在JE拉满固定80%减免率(在旧版JE理论需要39点EPF才能做到,但是EPF上限为25)。而且在EPF达到20之前,减免率和EPF也是近似成正比的,这点和现在JE比较像。全套保护IV提供20点EPF,对应减免率为62%,和现在JE的64%也是比较接近的。减免率算完就按照之前的顺序求就可以(。・ω・。)ノ

Part.4 结言

肝了两天终于是把这个完成了,累死辽QAQ

一定是因为太久没这样肝了)

不过如果这篇专栏有帮各位更进一步了解MC的伤害减免就值得啦(。・ω・。)最近也是看到很多人对这方面一知半解,所以我才萌生了写这篇专栏的想法(开头提到的基岩版要和JAVA版同步其实也是查资料才看到的)

如果有部分内容错误也欢迎在评论区指出(●°u°●) 有想提的建议也可以说哒

那么就到这里啦(๑•ᴗ•๑)咱们下期见~



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有