UNDERTALE战斗系统详解

您所在的位置:网站首页 undertale吉他谱finale UNDERTALE战斗系统详解

UNDERTALE战斗系统详解

2023-09-03 11:10| 来源: 网络整理| 查看: 265

(早期文章,基本全部为黑盒测试,后半部分一些错漏已经修正。)

主要从相关数据、存储调用、伤害计算以及特殊机制等方面讲解攻击与防御端的战斗细节,对于正常游戏流程来说以下内容可能对屠杀线最有用,不过即使是和平线也可以了解到不少关键知识。而如果是想通过修改存档文件来快速进入某段剧情/测试某场战斗的话,利用下述结论修改攻防数据也有利于更快得到结果。另外部分战斗数值的特殊设置也能看出些剧情中没能明说的隐藏信息。

使用工具包括纯净无补丁版游戏本体,GitHub上的Underwatch工具(有自用添加配置信息),Reddit用户HylianAngel提供的大量不同时间节点存档,国外数据网站(https://pcy.ulyssis.be/undertale/)的部分游戏内部数据信息,方便文件阅读的SublimeText。如果有人需要这些工具的话可以自行查找下载,不保证汉化版能正常使用。

如果嫌太长不想看,每段都有加粗字体作为重点知识与最终结论,可以节省些时间。

一、战斗系统数据基础

(旁白果然不靠谱……)

首先要明确一个重要的问题:在正常游戏界面(STAT,CHECK)查看到的敌我攻防数据,基本都是不准确的,倒不如说与游戏内部完全一致的才是少数。其实这点从一开始就应该能看出来了,毕竟Frisk的初始状态面板攻击完全是0,按理说怎么可能打出伤害?另外还有羊爸羊妈的双80攻防,如果真的都是这样的话那也没有战胜可能了。以下具体说说游戏中的数据都有哪些不是“所见即所得”的吧。

1.自机数据

先上图,用的是(关键部分)未修改过的存档,可以用来参考看一下游戏内的STAT。

LV部分没什么可说的,显示的基本就是游戏内的真实数据,在战斗内有一些特殊计算可以在后面说。由于各LV所需EXP以及战斗结算所得EXP的部分特殊设定,在完成部分战斗后LV会自动增加为9/19/20这些特定数值。

HP一行的两个数值分别是【当前HP】与【满格HP】,这两个概念应该都很容易理解,另外在旅店休息过的也都知道当前HP是可以超出满格一部分的,但也有上限。存档时当前HP自动加满,但不会减去溢出值。所以如果在Papyrus战前去过旅店加血,也可以放心地先存个档再出战。

AT,即攻击(Attack),括号前面的数值是当前自身攻击力减10,括号内的数值则是武器攻击力。同理,DF代表防御(Defense),括号前的数值是当前自身防御力减10,括号内的数值是防具的防御力。以本图为例,此时的总攻击力实际为13,总防御力也是13。而若是在拿到“最强装备”的屠杀线末期(LV19),对应的自身攻防分别为46和14,加上双99的武器,总攻防则会变成145和113。然而我们都知道这并没有什么卵用。

2.状态修改

虽然这么早就开始进入“肮脏黑客”领域有些奇怪,但为了下一小节一些特殊数值的讲解不得不提前说明如何修改这些游戏内数值,毕竟有很多测试是正常游戏流程中完全无法完成的。先讲解一下上述游戏状态的存储位置。

如图,在游戏中,非跨周目的存档数据一般都存储于C:\Users\【用户名】\AppData\Local\UNDERTALE文件夹中的file0/8/9中,这三个具体有什么区别其他文章再细讲,总之如果是关游戏读档的话我们会修改file0就可以了。推荐使用和图上所用的Sublime Text类似的文本编辑器,至少比记事本多了个行号,在修改序号比较靠后的那几行数据的时候不容易出错。不太明白的话这里还有个简单的GIF教程(Windows系统):

名字、金币之类和战斗系统无关的修改就不讲了,主要讲攻防血这些最重要的内容。

先是血量,图上已经给出了“当前HP”与“满格HP”的位置,虽然都能修改并反映在STAT里,但是,在【所有战斗中】,满格HP并不会按你修改过的数值出现,而是和自身的AT、DF一样,只和“当前LV”有关(唯一例外后面讲),具体计算公式放在下一节。而“当前HP”虽然能修改并正常体现在战斗中,却也有与当前LV相关的上限。。。不过并没有下限。把第三行修改成小数,甚至0和负数都可以正常读档进入游戏,只不过会在进入战斗的一瞬间灵魂破碎GAMEOVER而已。但在真和平结局之类的场景则完全不会出问题。这么一想突然觉得游戏世界观内的HP本质好迷啊。。。

攻击防御还是放一起讲,和HP类似,这两个在战斗中的自体数据还是只和LV有关,能通过修改file带来实际效果的只有【第6行武器AT】和【第8行防具DF】。和血量一样,这个也能改为小数、0及负数,但与血量不同的在于这个还能被改成超大数,在战斗中也一样能起效。后面在讲具体战斗时会给出许多由这些特点引申出的“特殊玩法”。

第9行的速度(Speed)单独解释一下,虽然在file里有数据,但无论如何改,都会在进入战斗时变回默认的4,所以也不用费劲了。而在战斗中能改变这个值的并不多,包括极少部分战斗的ACT选项,Vulkin的一组攻击。而能稳定改变速度值的,一方面是海茶在整场战斗中的加速作用(可叠加),另一方面则是长按X键的暂时减速作用(玩过东方的应该都熟悉?)。至于这两种功能的具体效果,我用录屏大致测试了一下,正常移动(sp=4)从一端到另一端是1.4秒,长按X是2.5秒(速度降了一小半)。用过一个海茶(sp=5)约为1.1秒,用过一个海茶加按X约为2.0秒。但海茶加速也有上限(sp=8),用了八个海茶也至少需0.7秒从一端到另一端。

值得一提的是,用了两个海茶后的速度加成有可能让我们追上Toriel正常打不着人的弹幕。。。RIP(无视为增加容错而改的LV)。

3.战斗状态

在一次正常进入战斗的过程中,游戏会依次进行下列几项判定:

【全程】检测当前HP,如≤0则灵魂破碎Gameover。(所以说改成非正数的话进不了战斗)

检测当前LV,并根据LV的不同值分类讨论——如LV<20,根据该值对当前HP、满格HP、自体AT、自体DF这四个值进行修正,其中【当前HP最大为LV×4+31,满格HP变成LV×4+16,自体AT变成LV×2+8,自体DF变成LV×0.25+9.75(向下取整)】。如LV≥20,则当前HP最大为111,满格HP变成99【大于计算值】,自体AT变成30(显示为38)【小于计算值】,自体DF变成30(显示为4)【大于计算值】。以上计算对正常不会出现的小数及负数也起作用。只想看正常游戏流程中数值的话这里有前19级的表格(表中HP为满格值,当前可改动的最大值要再加15):

检测本场战斗中的特殊设定——如小羊战开篇会给主角加满血,但如果此时LV为-4及以下(满格HP<0),当前HP却大于0(这样不会在之前的伪羊爸战中直接死),会因为血量被调整为0而直接灵魂破碎,接着But It Refused,然后再破碎,反反复复,永远进行下去。。。不要靠近我啊!

检测战斗双方回合先手,如鱼姐战的灵魂变色,屠杀终战的开场杀等。后续进入我方回合。

3.敌方数据

之前已经说过战斗中Check看到的根本不是实际数据。那么真实的战斗数据在哪里能看到呢?除了UTwiki,开头提到的数据网站Monster标签下也有完整的解包数据,相当全面,唯一的缺点就在于同一对手的多次不同战斗并没有一一标注,只能通过顺序及数据差异来自行分析。本文文末有该网站全数据的离线精修版打包下载,xlsx格式,能筛选排序,可以在读完后看一看。

上面是该表格的部分数据,与Frisk的LV1无加成数据稍微对比一下,可以看出大部分怪物的血量都能超出Frisk,但攻防却低了不少(实际上除了最后一行基本无意义的Gaster以外其他怪物最高攻击也就只有12而已)。但这样的差距对平衡并没有多少影响,具体原因我们将在下一部分,战斗伤害计算来说明。

二、战斗中的伤害值计算

(来啊,互相伤害啊!)

这部分含有多个公式,虽然已经尽量进行过简化,但还是需要至少初中水平的数学基础。如果讨厌数学的话可以跳过计算部分直接看实际应用。

1.受击伤害

让我们首先从数值比较小的开始算起,当我们(在一般战斗中)被怪物攻击时,受到的伤害值按下面(简化版)公式计算:

伤害=取整【怪物攻击力+HP模式-(LV决定的防御力+防具防御力)÷5】,最小为1

注:*当标注“取整”时,一般指四舍五入,特别的是UT中刚好为x.5会被取整为最近的偶数。

**怪物攻击力为上一部分提到的解包实际值,很多怪物不同的弹幕攻击力并不完全相同,如Toriel的一开始的火球攻击力有6和5的两种,在初始20HP与10防御的作用下减伤2点,最后打出来分别是4点与3点。部分怪物的弹幕还有伤害上限、下限、固定伤害等设定。

***HP模式:简单来说就是“当前HP越高单攻击伤害越高”,HP≤20时为0,之后每多10点加1,最大为HP>90时的+8【限定正常战斗中】。

由上面的公式可以看出,虽然我方初始血量不高,但至少受击掉HP没什么随机性,容易预测(关键是可以躲啊。。。);虽然我们防御超过了怪物,但整体计算时要缩水为1/5,整体来看也不高。于是在这样的一个方面达成了平衡。

在修改游戏数据的情况下,由于伤害最小为1的限定,我们唯一容易修改的防具防御力高到一定值后就完全没作用了,然而既然这个数可以是负数……那么如果改成绝对值远超过LV防御力的大负数(虽然正常人都干不出这种事儿),那么或许连最普通的Froggit都能一击打掉LV20的99血呢(图啥啊???)——当然,依旧限定为正常战斗中。

所以说肯定还有非正常的战斗了?举个例子,游戏一开始,小花的教学战,被打中后固定扣血19点(也就是说无聊的人改低点可以死在这里)。这场战斗中另外一处不同是开场血条固定为当前HP/当前HP,其他几行完全没用了。。。而在TPE小羊出现前的短暂小花战里,几次扣血同样是固定,只不过最后会至少锁1血,保证不死。再有就是屠杀线终战了,就算你防御力-99999999999,程序也还是固执地保证你每一受击一帧掉一点HP(并根据弹幕种类增长1到10点KR),所以才说本战中攻防无效嘛。

2.出击伤害公式

在一场正常的战斗中,每一击造成的伤害根据武器不同,有三种计算公式:

①挥砍类武器(包括Stick,Toy Knife,Worn Dagger以及Real Knife)

伤害值=取整【(LV决定的攻击力+武器攻击力-敌方防御力+{0~2随机值})×准确度系数b】

注:*{0~2随机值}并不单指0、1、2三个整数,也包括其中的大量小数。经个人实测发现多次攻击中本数值变化相对连续。

**准确度系数b,即根据攻击条距目标图案中心的距离来计算的一个值,对于本类武器来说,当攻击条(的中心)距图案正中心≤12像素时,b=2.2;超过12像素时,从中心到两端线性减小,如果初始位置在框外面甚至有可能小于1。看数字不明白的话下面有张图,说明了最高准确度系数的两个极点位置,可以看出还是有挺高容错率的:

***特别地,本类武器中,Toy Knife的攻击条移动速度比其他三种快25%。

②冲击类武器(仅有Tough Glove)

伤害值=向上取整【取整{(LV决定的攻击力+武器攻击力-敌方防御力+{0~2随机值})×准确度系数b}×(挥拳数÷4)】

注:*此公式中“向上取整”与“取整”分别计算,具体方法就不在这儿补义务教育课程内容了,反正游戏中影响也没那么明显。

**这里的准确度系数b最大值只有2.1,不过判定区域仍和前一部分的2.2区域一样大。

***“挥拳数”指在一定位置点下攻击条后按Z出拳的次数,最大为4。由于这一机制的存在,Tough Glove是所有武器中最容易打出“小于己方全攻击-敌方全防御”伤害数值的,只要控制好按Z次数和对方血量,就连Papyrus变为可Spare黄名的超降防状态后都能留下一点血量而不至于一击KO。

****Tough Glove攻击条的移动速度比基准值快20%。

③多次打击类武器(包括Ballet Shoes, Torn Notebook, Burnt Pan以及Empty Gun)

首先要额外定义一组新的变量:

距离distance=|向下取整【攻击条横坐标÷移动速度】-向下取整【图案中心横坐标÷移动速度】|,用人话来说就是输出单独一个攻击条与中心相差的【帧数】,即时间,而不是具体的距离(此帧数非游戏本体30帧/秒的那个帧数,相对更长一点。虽然因为两处向下取整可能会稍有偏差但影响不大)。其中前三种武器的攻击条移动速度为10,Empty Gun为15,所以移动较快的空枪仅从距离上来说判定区要比其他三种宽50%。

单次打击分数Score根据distance查阅下表:

。。。或者(空枪以外的武器)直接用这张图来看:

关于是否打到110分,有一个简单的判定方法:如果打完本类武器的全部攻击条后,出现的音调比平时高,攻击动画有金光特效,声效中有隐约的欢呼声,那么恭喜你已达成全Perfect攻击。如图(忽视改低攻击力带来的MISS):

Ballet Shoes有三个攻击条,Torn Notebook是两个,Burnt Pan和Empty Gun有四个。根据武器把本次攻击中全部的打击分数加起来,得到总分数ScoreSum,接下来还有两个简单的判定:

如果总分数≥400,该值乘以1.25。(因为单次攻击最多得110分,所以只有平底锅和枪两种武器有可能达到这一标准,还要打得相当准才能做到。)

如果总分数≥430,该值再乘以1.8。(还是只有后两种武器能达到,且必须每一击都达到110分的完美标准。与上一条合起来可以达到总共990分的超高加成。)

(坚持一下,下面这条是最后一个公式了!)

伤害值=取整【(LV决定的攻击力+武器攻击力-敌方防御力)×(总分数÷160)×(4÷武器攻击条数)】+取整【{0~2随机值}】

好了终于把全部的公式列完了,接下来这边幕后的各种计算全略过,让我们直接来看从这些公式里能看出什么信息吧!

3.实战应用

我想,即使没有看到伤害公式,玩过游戏的大家也应该对造成伤害的攻击力、准确度系数等因素有定性的印象,量化分析并没有太多反常识的存在,但还是能看出一些有用的东西。比如……

①攻击条并不一定非要打在正中心,稍微偏一点同样能得到最高准确度系数的加成值。

如上图空枪的完美攻击动画,可以看出第三个攻击条其实偏了不少,但对于速度较高的空枪来说与中心的帧数差依旧在1帧之内,所以照样得到110分,并在最后通过两次奖励乘算变成990的高分。即使在最终伤害公式中要÷160,仍然有6.1825倍的加成值。配合空枪12的高攻击力,就算自身只有LV1,在戴上+5攻击力的牛仔帽之后也还是能对【初始防御-30的Asgore】打出保底353的伤害(过程略)。

②平底锅与空枪适合善于瞄准的高水平玩家,生锈匕首适合打不准中心的手残玩家。

由于多次打击类武器在全完美攻击时的双重奖励加分,平底锅与空枪能打出的伤害上限相当高,然而如果打偏了的话伤害也相当感人。。。还是以Asgore战(毕竟和平玩家也得打)的牛仔套为例。如果每一次都打不到“完美评价”的区域而是只差一帧,总伤害即使在随机数取最大值时也只有130,1帧之差就已经掉了近三分之二的伤害。而如果单独把武器换成相对容易打出2.2系数的生锈匕首,随机数取最小值也有132伤害。手残程度越高,距中心偏离越远,生锈匕首的优势就越大。所以……多练习吧。

③如果对自己无伤的水平不够自信,把空枪换成伤害略低的平底锅优势更大。

Asgore战分析×3(点蜡)。本战的目标是打掉3500血中的3000血,而Asgore初始防御-30,用过Pie以后降5,Kill为0时Talk三次再降10,从第20回合开始每回合继续降10(怎么越列举越觉得惨呢。。。)。如果以最快结束战斗为目标,浪费回合数且效用不明显的各种降防措施完全不用考虑,直接连续攻击就能在9回合后结束战斗(LV1),经计算空枪与平底锅完全相同。但对于大多数普通玩家来说,全程无伤并不现实,于是能同时降攻的Pie以及增加其他食物回血量的平底锅就明显比空枪更有用了。二者伤害近似,不管用哪种都能保证回合数基本一致,那么明显是防御面更强的平底锅占优势了。

4.非正常情况

首先是普通游戏流程中能遇到的几次“非正常情况”,一般都是游戏特殊设定,可能与剧情有关,也可能。。。

①Jerry受到攻击的伤害值为正常的1/5,Glyde为1/3,So Sorry为固定值100。

②不灭Undyne虽然有23000血和5点防御,在我们能被允许攻击的怪物中算是防御面最强的了(999防的MTT盒子与9999防的合成怪不作考虑)。然而由于决心的融化副作用,她受到的每一次伤害都要乘以21倍,假如乘算后没超过600,还会自动替换为一个在600与666之间的数值。从开战的那一刻,Undyne的死亡结局就已经被注定。

③同样在屠杀线,最后能打出的三次伤害分别为定值:对MettatonNEO,固定为900000到999998之间的一个值。对Sans,固定为9999999(7个9)。对Asgore,固定为9999999999(10个9)。即使你的总攻击力是负数也一样。

说起总攻击力为负数,其实在其他战斗中负伤害有个很神奇的效果。。。那就是加血。没错,无视对方血条上限地往上加血。这种时候伤害值的位置显示“MISS”,但对方依旧判定你攻击过,只不过血条可能早就已经突破屏幕右边缘了。经过在和平路线Undyne战的测试(本战中途逃跑会存储Undyne当前血量),至少加到1.3亿血还没达到上限(我可能有什么毛病)。只可惜这个算法只能在己方应用,怪物的绿弹幕加血量依旧恒定,哪怕把自己修改成LV20,防具防御999999999,也还是没法让废墟的Vegetoid一根萝卜回99血。

不过这种设定其实能延伸出一种新的(且无聊到极点的)玩法,首先重开一条线,保证undertale.ini里有Won这个变量(不用打Asgore,可直接进真和平结局),接着把file0第六行【武器AT】修改为一个极大的负数(比如-99999999),然后读档进游戏。接着,在遇到每一个怪物时,在使用ACT让Ta可Spare之前,先在Fight里砍几刀,让Ta的血条突破上限。。。就这样走一路加一路血。此刻,你不再是屠杀的恶魔,而是治愈的天使!高呼三声万岁!

。。。咳咳,说起来即使在屠杀线(的大部分),这招也能用,用完了再改回来读档正常走或许能减小点负罪感(。。。)?只可惜这条线的最终boss可能是唯一一个从原理上就没法被负攻击加血的。。。这家伙甚至没在Fight界面亮过那只有1点HP的血条。【赎罪计划大失败】

关于修改LV再多说一句,虽然即使修改为负数只要当前血量不低于0都还能正常进入战斗,即使修改为小数也还会正常计算战斗中的攻防血(由此引申出自体攻击最大时的LV其实是在LV19.99时),但在这两种情况下,如果点击进入STAT,游戏会严重报错并强制退出。存档倒是不影响,只要记得别看状态就好。

5.完全论外的战斗

我为什么一直没提过Omega花的战斗?因为在这场特殊的战斗中,我们根本没有读档,几个file中的一切数值都完全没有作用。从某种意义上说,这是一场与UT战斗系统独立的“内置小游戏”。

甚至严格来说,通过修改ini,你可以在游戏的一开始就直接跳过全剧情进入这场战斗。简单教程(细节会在下一篇分析里讲):

在undertale.ini的[FFFFF]一栏,加入/修改F="1.000000",可保证打开游戏直接进入Omega花战。加入/修改P="n.000000"(n=1,2,...,7,其他非正常数值时Omega花会在攻击一段时间后停止所有活动,没有六魂战与呼救阶段,我方彻底被困住)。1~6分别对应拯救每个灵魂以及之前的小花战,7阶段对应拯救六魂后边躲避边加血边攻击的Finale过程。另外D代表死亡次数,E代表逃离阶段,这里不展开讲。

在本战中,你之前的所有攻防血全都无效,就连按X减缓移动速度的设定都没了。在前六阶段,攻击小花最多也只能根据战斗阶段,打出1~26点伤害。我方初始HP50,无敌时间略长于一般战斗,当前HP越高造成伤害越多,满血时受击13次后死亡。在六魂全来帮你的第七阶段,攻击小花根据时间造成150~1220点伤害,拖的时间越长伤害越高,满血时固定受击14次死亡,每吃到一个回复品就根据当前HP增加1~6点HP,HP越低加的越多。

三、Spare的本质

(温情,谎言与背叛)

通过在废墟与一只Froggit对话,我们可以修改【能够Spare】的怪物名字颜色,默认为黄色,可修改为粉色,脑回路不正常的可以选择保留白色。但我们以下依旧会将“能够Spare”的状态简称为“黄名状态”。

1.正常流程中黄名状态的主要特征

关于Spare,我们都能知道些什么?首先,当一些小怪的血量被降到足够低时,Ta可能会自动黄名(Pokemon玩家表示很熟悉,直到被Toriel的突然降防来了个措手不及)。其次,如果达到了特定条件,绝大多数怪物都可以变成黄名,但如果是头目怪物,此时攻击99%的可能都会造成超高伤害并一击KO,我们俗称“背叛杀”。在我们的攻击被修改为极大值时,甚至可以让遇到的任何小怪,包括部分头目怪物自动黄名。

那么,黄名状态的触发与哪些条件有关,应该已经呼之欲出了——敌方血量,敌方防御,以及我方总攻击(包括LV决定攻击与武器攻击,以下不赘述)。而经过数百上千次关于边界值的重复测试,我已经可以确定出第四个条件,那就是“怪物自身修正值”。

先把公式放在这儿,之后再解释:当我方总攻击>敌方血量+敌方防御+敌方修正值,怪物在Mercy界面的Spare和其他界面的名字会显示为黄名状态。大部分情况下可直接点击Spare结束战斗。但如果该敌人没有正常黄名状态点击Spare的剧情,则有可能出现三种状态:一,直接跳过后面大段剧情继续往下演,如MTT初登场的问答秀(这时出现的灰色立绘是字母表排首位的Aaron)。二,卡死,如MTTex战前的盒子状态。三,出现缩小灰色立绘,之后状况不明,如小羊战会回到Asgore刚展示六魂的画面,但剧情不推进,没有碰撞框,只是一个不跟随Frisk视角的无边界画面。Toriel的情况则如图所示:

公式中的前几项都很好理解,从理论上讲假如修正值为0的话,这个状态下“挥砍类武器”能打出的最低伤害应该与敌方剩余血量基本一致,算是通过威慑达成了结束战斗的目的?那么接下来重要的就是这个“修正值”了。

重新回到公式,我们可以看出,假如修正值为绝对值足够大的负数(比如Whimsun的-99),那么即使在初始状态的攻击下,我们也能直接Spare对方。而如果修正值为足够大的正数(如Undyne的9999999999【10个9】),那么即使我们把Ta的血量打到很低也无法黄名。如果修正值在0附近(如Froggit的-3),那么把血量打得低一点就能黄名捕捉Spare了。

四、其他不知道放哪儿的战斗数值细节

(震惊!关于UT的战斗数值,你不知道的N大秘密!)

1.几种锁血方式的异同

由于角色的设定(Toby的善意?),在部分战斗中,我们并不会直接按照伤害公式被打到Gameover,而是会在仅剩1血时暂时/永久掉不下去。但每场锁血的战斗使用机制都略有差别,下面分别说明:

①Toriel战。血量较低(约10血以下)时,Toriel会开始降低攻击,让每Hit只能打掉1点HP。HP≤2时,Toriel会立即结束当前回合,并在之后使用正常来说怎么都不可能撞上的放水攻击(上面用改存档作弊除外)。不过由于此战主要放水手段是降攻,所以把自身防御调到大负数以后还是能轻松地自杀的(Again,图啥呢???)。

②Papyrus战。如果一次攻击被判定会造成死亡,程序强制改为留1HP。哪怕进入战斗时就是1HP,也会在受到一次攻击(但不掉血)后才被送狗屋。想在这场战斗中死亡,除非一开始血量就是0,那么战斗界面还没出来就可以死了(无不无聊啊??)。

③MTT问答秀。与Papyrus战的锁血机制一模一样,只是“送狗屋”换成了“出Alphys抢答的那道动漫题”。

④Asgore战。如果一次Hit在HP不为1的情况下打中且被判定为会造成死亡,那么本次Hit判定为留1HP,然而本回合还在继续,无敌时间结束后依旧有可能被直接打死。

⑤屠杀线终战。KR伤害、菜单栏攻击、最终全方向乱摔都不会让HP掉到1血以下,否则真没法玩了。。。

2.KR伤害具体计算

这东西。。。简单不了,干脆直接翻译wiki上的内容吧。

对于不同的攻击,会分别让KR增加不同的数值:

纵向骨头循环:5

Gaster Blaster:10

单独菜单栏攻击(左上角):2

四种菜单栏攻击(底部):1

其他:6

只有在被不同弹幕攻击时,KR才会线性积累(例:三个Gaster Blaster,每个攻击一帧,共提升KR30点,算上每帧本身的1点伤害,一共能打出33点伤害)。而如果灵魂一直处在一个攻击的范围内,KR只会每帧加1(例:被一个Gaster Blaster攻击3帧只会让KR提升12点,算上本身的三帧攻击共造成15点伤害)。

KR最大值为40,此时每帧掉1点HP;KR为30到39时每两帧掉一点HP;20到29时每5帧掉一点HP;10到19时每15帧(半秒)掉一点HP;1到9时每30帧(一秒)掉一点HP。这说明当KR达到满值时,降到一半需要66帧(2.2秒),降光则需要491帧(约16.4秒)。

能够提升“无敌时间”的装备,Torn Notebook与Cloudy Glasses,在本战中能够略微带来一点无敌机会。Torn Notebook提升1/5的无敌时间,Cloudy Glasses能提升1/4,同时装备时(由于取整等原因)可以提升1/3。这意味着当两件装备都存在时,每受击三帧都可以无视其中一帧的伤害,这让每秒受击的最大次数从30次变为23次。这两件装备同时也能减缓KR掉血的速度,分别将各阶段的掉血帧数变为2,4,8,20与40帧。这让满值KR降到一半的时间变成114帧(3.8秒),降光的时间变成了682帧(约22.7秒)。

由于程序错误,单独装备其中一件时几乎没有任何减缓作用,但两件一起装备时的作用还是正常的。

3.可以无脑打出最多战斗回合数的方法

虽然极为无聊,但还算个挺特殊的?首先得是对方回合不需要尽力躲的,那么基本只剩Toriel战了。其次我方能够一直选择的选项必须不能推进剧情,所以我们选择使用“挥砍类武器”,LV1,并把武器伤害改到-26及以下,这样由于Toriel放水后防御-15,以及伤害公式中{0~2随机值}部分的存在,伤害的平均值也不大于0。大多数情况都会MISS。这时候不管是无脑按Z键,还是挂个按键精灵脚本按Z键,都能让这场“战斗”无限继续下去。互相放水以示友好。能这么玩一下午的我真的是很有毛病。

————————————————————

这篇文章就到这儿吧,虽然研究出来的不止这些,但剩下的实在太过琐碎所以连最后一部分都放不了,再说也没什么价值。接下来给出之前承诺过的【个人修改版】数据网站离线资源,包括一个xlsx总表、HTML格式的Papyrus&Undyne全电话表格、PDF格式的全NE电话条件流程图,以及下载并重命名的Room图包。链接在这里:https://pan.baidu.com/s/1zaw4IX5dDNNgCDLfVS9W3w

提取码:0pti



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3