- “一次攻击”或“一次攻击流程”,指的是某个单位从索敌成功准备攻击,到准备进行下一次攻击的整个流程,可按照下表分为三个阶段。
我们在实战中计算得到的实际攻击间隔,就是这个单位的相邻两个“攻击流程”之间的时间差。
阶段名称
|
操作内容
|
备注
|
索敌阶段
|
- 单位上场后会每3帧扫描一次攻击范围内是否有敌对单位,<br到敌对单位后触发攻击动作。
|
- 攻击过程中索敌继续进行,以判断目标是否更改,
并在下一次攻击中体现。
|
从抬手阶段开始,单位视为发动了一次攻击
|
抬手阶段
|
- 第一次攻击开始前,检测这个单位是否存在“Attack_Begin”动画的设定。如果有则播放抬手动画,否则跳过抬手阶段。
|
第二次及以后的攻击动作从攻击前摇阶段开始计算
|
攻击前摇阶段
|
- 在攻击前摇结束时,单位将射出弹体或直接造成伤害。
这个阶段长度取决于不同单位的动画设置。
|
- 一般来说,前摇动画只占攻击动画的一部分,
剩余的攻击动画将在攻击后阶段播放。
|
攻击后阶段
|
- 在上述阶段完成后,单位将根据当前的实际攻击间隔,
计算这次攻击剩余的时间,并用剩余的攻击动画和待机动画填充。
- 由于第一次攻击的抬手阶段也计入当次攻击,
所以第一次攻击的攻击后阶段会相对较短, 导致视觉上第二次攻击会比其他的攻击快一些。
|
- 当更改攻击方式的技能开启后,
当前攻击动作会跳过剩余的攻击动画和待机动画,强制从攻击前摇阶段重新开始。 利用这一特点,在攻击后阶段手动释放技能以跳过攻击后阶段的操作,称为“重置普攻”。
|
如果攻击范围内依然存有敌对单位,那么攻击之后阶段结束后,会从攻击前摇开始循环,直至攻击范围内没有敌对单位,单位重新进入索敌状态。
|
- 类似“重置普攻”的现象也可以被自动释放技能触发:
- 如果自动释放技能在攻击动画结束之前已经准备好释放了,那么在攻击动画结束之后会跳过待机动画,直接释放技能。
- 为与“重置普攻”区分,这种现象也可以叫做“取消攻击间隔”。需要注意的是如果技能在待机期间准备好,则仍会正常经过待机阶段,在下一次攻击时释放。[理论参考 2]
索敌顺序
- 在明日方舟里,敌我的索敌优先级顺序和原则虽然表现上存在一定差异,但基本逻辑相同。以下是优先级由高到低的顺序;
1.最高优先度:“阻挡”:
- “阻挡”状态独立于索敌顺序,当近战单位被阻挡时会无视索敌顺序,依照阻挡接敌顺序依次攻击敌人。这一优先级对于所有敌方单位和我方近战单位都是有效的,但我方纯远程单位(纯高台单位)不存在这一优先级,故高台单位阻挡的敌方单位不会影响高台的索敌。
1.5.独立体系:“随机选择器”:
- “随机选择器”顾名思义,会随机选择范围内的敌人作为目标,消耗随机数轴吗?[需要验证 1]它的特点在于随机选择器和下文的“通用索敌顺序”是并行的两套逻辑,并非通用索敌体系的一部分。目前采用随机选择器索敌的攻击方式有
艾雅法拉的火山和
阿米娅的精神爆发。
2.通用索敌顺序的计算:“索敌权重值”[理论参考 3]
- 单位的索敌权重值是根据攻击特性,通用仇恨值,敌人到终点距离或干员的布置时间等数据计算出的一个浮点数,根据索敌机制的不同,权重算法也有差别。而最终的索敌顺序是在索敌权重值计算的基础上根据特性进行二次排序的结果,在无二次排序的情况下索敌权重值越低越先被攻击。
- 通用仇恨值是一般情况下的索敌顺序判据,同时也在很多其他权重算法中使用,其计算公式对于我方单位和敌方单位不同:
通用敌人仇恨值 = 1000 × 嘲讽等级[注释 1] - 敌人距离终点距离
通用我方单位仇恨值 = 10000 * 嘲讽等级 + 创建时间(单位为秒,范围为[0, 10000])
仇恨值算法列表一览
展开
算法名称
|
典型使用者
|
索敌权重值计算公式
|
全部 |
溅射攻击 |
未知
|
距离终点距离升序 |
无 |
距离终点距离
|
血量比例升序 |
苦艾 - 执法模式 |
血量百分比
|
血量未满目标中按血量比例升序 |
各类治疗 |
血量百分比
|
仇恨降序 |
一般攻击 |
通用仇恨值的相反数
|
只选血量未满目标 |
无 |
无
|
优先飞行目标,仇恨降序 |
仅安德切尔 |
通用仇恨值的相反数,非飞行单位1000006权重
|
优先远程单位,仇恨降序 |
无 |
通用仇恨值的相反数,非远程单位1000007权重
|
防御降序 |
史都华德 刻俄柏 - “很热的刀” |
防御值相反数*1000-通用仇恨值
|
防御升序 |
 守林人、安比尔 |
防御值*1000-通用仇恨值
|
距离来源距离降序 |
拉人干员 |
距离干员距离平方的相反数
|
距离来源距离升序 |
阿消 |
距离干员距离平方
|
只选未眩晕目标,仇恨降序 |
萨卡兹术师 - 枷锁 |
通用仇恨值相反数
|
距离来源垂直距离升序 |
食铁兽 - 崩拳式 铁意六合也是吗[需要验证 2] |
干员到敌人的向量在干员朝向方向上的投影
|
随机 |
刻刀 - 红移 |
随机
|
血量降序 |
W - D12 |
血量相反数*1000-通用仇恨值
|
血量升序 |
无 |
血量*1000-通用仇恨值
|
攻击力降序 |
无 |
攻击力相反数*1000-通用仇恨值
|
攻击力升序 |
无 |
攻击力*1000-通用仇恨值
|
最大血量降序 |
鼠王 - 唱沙 |
最大血量相反数*1000-通用仇恨值
|
最大血量升序 |
鼠王 - 沙暴 |
最大血量*1000-通用仇恨值
|
优先正前方,曼哈顿距离升序 |
 阿 - 爆发剂·γ型 / 爆发剂·榴莲味 |
1000*曼哈顿距离[注释 2]-通用仇恨值。非正前方时1000变为1000000
|
优先未阻挡目标,仇恨降序 |
刻俄柏 - “很冰的斧” |
通用仇恨值相反数,被阻挡单位1000022权重
|
血量未满目标中随机 |
清流 - 涌泉 |
随机
|
优先隐身目标,仇恨降序 |
极境 - 聆听 |
通用仇恨值相反数,非隐身单位1000024权重
|
优先最远,仇恨降序 |
爱国者 - 投枪 |
-1000000*距离-通用仇恨值
|
优先最近,仇恨降序 |
无 |
1000000*距离-通用仇恨值
|
重量降序 |
早露 |
重量等级相反数*1000-通用仇恨值
|
重量升序 |
无 |
重量等级*1000-通用仇恨值
|
- ↑ 一阶段爱国者的嘲讽等级为2,游击队盾卫,拜松二技能,鸟笼等单位嘲讽等级均为1,正常单位为0。
- ↑ 曼哈顿距离坐标差Δx与Δy的算数和,请与平方和(实际距离)区分
- 目前已知的二次排序只有三种情形:
- 安德切尔:优先远程单位
- 所有的对空狙击:优先飞行单位
- 格劳克斯:拥有某种(无人机)[需要验证 3]tag的敌人优先(需要配合filterTag变量填写对应的tag,)
- 二次排序会重新排列所有单位,且结果优先于索敌权重结果。比如安德切尔在遇到混合敌人时,会优先根据二次排序结果攻击远程敌人,之后根据索敌权重结果攻击飞行敌人,最后再攻击其他敌人。
3.兜底机制:“出怪顺序”:
- 由于仇恨值是浮点数变量,有效位数有限,遇到算法中出现“大数+通用仇恨值”的时候,容易出现由于精度不够而忽略微小的距离差异的情况。当权重差小于0.001,无法通过权重索敌的情况发生时,干员会根据敌人的编号(Fragments ID或Route Index)由大到小依次攻击。由于Route Index代表着出怪顺序,所以也可以理解为先攻击后出的怪[理论参考 4]。
机制应用举例:
现象:阿跨过站在正前方的塞雷娅攻击了能天使
原理:角色仇恨值 = 10000 * 嘲讽等级 + 创建时间(一个绝对的值,单位为秒,被限制在[0, 10000]),而阿的正前方索敌权重计算方式为1000*曼哈顿距离-通用仇恨值。
在这种情况下,1000s的创建时间带来的权重差距,足以抵消一格正前方曼哈顿距离带来的权重差距。所以,在一倍速塞雷娅放置后16分40秒(即1000s)后,在其前面一格放置能天使,阿可以优先攻击能天使。
原理参考:https://bbs.nga.cn/read.php?tid=22358536
现象:当使用一位干员同时攻击CE-5的3个重装防御组长时,史都华德、守林人等部分干员表现出了与其他干员不同的攻击顺序(下-中-上而非中-下-上)。
原理:CE-5的三个重装防御组长由于通用仇恨值差距很小而防御很高,防御相关算法在浮点精度下无法体现出索敌权重差异,所以根据出怪顺序进行攻击。
坐标相对于格子中心的偏移量 |
“仇恨降序”算法 |
“防御升序”算法 |
“防御降序”算法
|
(0.21,0.00) |
-12.8000 |
999987.2 |
-1000012.8
|
(0.22,0.01) |
-12.7877 |
999987.2 |
-1000012.8
|
(0.21,0.01) |
-12.8002 |
999987.2 |
-1000012.8
|
原理参考:https://bbs.nga.cn/read.php?tid=21728879
AOE攻击流程
|
一发打出的三个不同伤害
|
在方舟里,AOE可以认为是在极短时间内进行的多次单体攻击,基础攻击逻辑如下[理论参考 5]:
- 对攻击范围内的每个可以被选中的敌对单位进行锁定,如果成功被锁定,那么即使在伤害结算前离开攻击范围也会受到伤害。反之,如果未被锁定,无论如何都不会受到伤害。
- 按照索敌权重造成伤害并结算。如果锁定的人数大于目标人数,则只对索敌权重值最低的那些目标单位造成伤害。
- 对于有弹道的AOE攻击(例如群狙),目标锁定和伤害结算在命中目标时进行;
对于无弹道,类似于溅射的范围性攻击(例如群法、霜星的冰环),目标锁定在抬手时进行,伤害结算在前摇结束时进行;[作战记录 1]
对于少数根据位置判定的攻击(例如炎爆),目标锁定和伤害结算均在攻击前摇结束时进行。
- 由于伤害判定是逐个结算的,所以如果对前一个单位的攻击影响了攻击力之类的数值,效果也会在后一个单位上实时体现出来。
buff判定与隐匿状态
加buff原理
- 在2020年3月17日的更新之前,方舟中给某个范围内的单位加buff的原理如下:
- 技能开启、有常驻性buff的干员部署时通过buff选择器选中攻击范围内所有能选择的目标。
- 在buff生效期间新单位进入生效区域时通过buff选择器试图选中新单位并加buff。
- 单位离开生效区域,技能结束或干员退场时强制清除目标身上的对应buff。由于这个兜底机制的存在,大部分光环类buff持续时间都是永久。
- 其他情况下基本不更新buff状态。[理论参考 6]
- 在2020年3月17日的更新之后,buff判定机制发生了一定的修改,但原机制仍然绝大部分有效,后文用到时会标注出已经更改的部分。
- 对已存在某buff的单位再次施加同名buff,不论两次的buff之间有无数值差异,在绝大多数情况下只会更新第一次施加的buff的作用时间。
隐匿状态的机理[理论参考 7]
- 隐匿状态下的单位一般无法被敌方的索敌机制和buff选择器选中为目标,直到状态被解除。目前方舟中能处于隐匿状态的单位有:
- 具有隐匿效果的敌方单位
- 守林人的技能“环境伪装”
- 麦哲伦第二天赋“光学折射配件”影响下的无人机
- 进入草地等地形的单位
- 部署动画播放完之前的入场干员
- 隐匿状态受阻挡开关的控制,在被阻挡时会被关掉,阻挡状态解除后3s重新开启。所以,当敌方单位被空降阻挡时,空降的我方单位在播放入场动画时就视为在阻挡状态,不处于隐匿状态,所以相比正常入场的干员会更快的遭受到敌人的攻击。
- 目前方舟中使用能选中隐匿状态单位的buff效果包括三种:针对隐匿状态开关的[需要验证 4],无视隐匿状态起作用的和中立单位的效果。
- 针对隐匿状态开关的buff:银灰·天赋:鹰眼视觉,极境·技能:聆听,月禾·技能:迹无,敌方侦察兵和反隐装置的反隐buff[需要验证 5]。
- 无视隐匿状态起作用的buff:莫斯提马·天赋:主观缓时、安洁莉娜·技能:反重力模式的重量下降buff、寒霜的攻速下降、御4的防御力提升[理论参考 8]。
- 中立单位起作用的效果:地火的灼烧,源石地板的攻击力增加和血量减少等。
- 无敌状态和隐匿状态的区别只体现在对于伤害无敌方面[需要验证 6],不会受到星熊/年的反伤、毒雾的扣血等对隐匿状态起作用的伤害,但buff机制与隐匿状态无大区别。
机制应用举例:
|
在睡眠之歌里蹦迪
|
现象:1.当隐匿敌人在进入空的“睡眠之歌”作用区域后因为被阻挡而显形不会使敌人进入睡眠状态。
2.在三秒显形时间内使敌人再次进入作用区域时,会进入睡眠状态,但隐匿恢复后的敌人会解除睡眠状态。
原理:
- 在以隐匿状态进入buff区域后被阻挡显形无法触发目标更新机制,不会受到buff的影响。
- 此内容已在2020·3·17的更新中被修复
- 由于“睡眠之歌”的buff作用的单位不会移动,所以其作用方式不同于离开范围就消失的光环类,是通过频繁施加一个持续时间很短的buff实现的。在敌人恢复隐身后,buff无法再次选中隐身单位,故原有buff时间结束后就会解除睡眠状态。
原理参考:https://bbs.nga.cn/read.php?tid=20535163
|
叠满debuff的三级弑君者
|
现象:1.在弑君者位移前摇时施加buff,如果位移后离开buff范围,则该buff在干员在场的情况下可无视攻击范围,技能时间等限制无限持续。
2.满足现象1的弑君者再次踏入同名buff中后,该buff在干员不在场的情况下也可无限持续。
原理:暂缺[需要验证 7],尚不知位移技能逃脱范围外判定的机理。
现象参考:https://www.bilibili.com/video/BV1hi4y1G7Vh
|
死得早的下路大盾
|
现象:蓝毒对高甲敌人使用一技能时,对副目标造成的伤害可能比主目标大
解释:
蓝毒第一次攻击主目标是普攻,所以此时施加的神经毒素只是造成正常伤害的buff。
蓝毒第一次攻击副目标利用的是技能发动时的散射,由于蓝毒的特性,此时施加的神经毒素是造成技能倍率伤害的buff。
由于此后在buff消失前继续攻击无论攻击力多少,只改变原buff的持续时间,所以面对物伤抛光的敌人时有技能倍率加成的副目标毒伤可能会大于正常倍率的主目标毒伤+抛光伤害。
现象参考:https://bbs.nga.cn/read.php?tid=20554606</ref>
- 目前,明日方舟能够打断攻击或技能的方法有五种:处于眩晕状态、处于冻结状态(干员)、处于强制位移状态[注释 1](敌人)、被沉默(敌人)、处于行动受阻状态(敌人)。不同的打断方式对技能的影响不同,下面根据打断时机分类讨论:
在抬手时打断技能释放(打断前摇):
- 任何打断都需要以效果成功作用于被打断对象为基础,在技能前摇期间就进入无敌状态的技能(如陈的赤霄·绝影、弑君者的位移)不会被打断前摇。
- 敌我的普通攻击和一次、瞬发性技能均不会产生效果,并自动进入下一次冷却期。
- 持续时间无限的状态转换类技能(如白金的天马视域、煌的链锯延伸模块)由于转换过程属于瞬发过程,且没有第二次sp回复,故如果在转换动画时被打断则本次部署内无法转换状态。
在技能过程中打断技能释放:
- 敌我处在维持技能状态的技能被打断后会直接无视技能剩余时间结束技能释放、进入下一个冷却期。目前已知技能发动时处在“维持技能状态”的技能包括:煌·沸腾爆裂、星熊·力之锯、伊芙利特·灼地、莫斯提马·荒时之锁、萨卡兹术师·枷锁
- 在被冻结或眩晕时,干员的技能效果不会受到影响,但由于无法攻击,故只能展现出光环类效果。
- 比如夜莺在开启“圣域”时被冻结,则在冻结期间夜莺无法治疗我方单位,但法抗增加效果仍然存在。
- 如果冻结或眩晕状态解除时干员技能时间还未结束,则可继续释放技能。
在技能冷却时进入打断状态并持续到技能准备完成:
- 技能冷却:不受影响,充能型技能也能以正常速度充能。
- 手动开启型技能:无法启动,技能发动图标变灰,在状态结束后图标重新变亮。
- 自动开启型技能/已经满足发动条件的条件技能:无法启动,技能冷却完成后不再回复sp,在状态结束后自动开启。
蓄力型天赋与打断时间的互动:
- 目前存在蓄力型天赋的单位包括白金和萨卡兹穿刺手,通过测试可以得出结论:技能打断状态的持续时间(包括冻结时间、位移时间、行动受阻时间等)是计入蓄力时间的。[作战记录 2]
机制应用举例:
|
就是你小子把积怨者叫醒的?
|
现象:本应在血量低于99.9%时触发报警技能的萨卡兹哨兵在被崖心位移过程中和位移停止后均未报警。
原理:经测试,警报技能属于持续时间无限的状态转换类技能,且有两帧的前摇,所以可以通过打断这一前摇来避免警报触发。
由于这类技能被前摇打断后无法再次释放,所以哨兵停止位移后也不会成功发出警报。
鉴于哨兵有眩晕免疫效果,若不能在抬手动画瞬杀,则只能使用位移技能强制打断。
原理参考:https://www.bilibili.com/video/BV1954y1Q7GM?p=2
现象:若麦哲伦和梅尔的召唤物在技能结束时处于冻结状态,则当次技能将不会回收被冻结的召唤物。
原理:麦哲伦和梅尔的召唤物通过技能回收召唤物,是通过隐藏技能“回收”的发动实现的。
如果在“回收”发动时召唤物仍处于冻结状态,满足发动条件的技能“回收”无法发动。
而在冻结解除时,已经不再满足“回收”技能发动的先决条件——“本体技能刚刚结束”,所以会导致召唤物留在场上。
相关链接
理论参考:
实战参考:
这一节的内容基本写完了
但存在需要手动验证的内容,请参阅待测机制一览页面。
这一节的内容基本写完了
但存在需要手动验证的内容,请参阅待测机制一览页面。
代理失误的可能原因
- 第一种情况:由于干员精英化1级至少增加2点部署费用(对于群法是3点),这会导致原本一些卡点下人的操作无法准时复现,因此推迟整个操作时间轴。在游戏初期,由于精1的干员较少,加上干员总体能力不强,这种情况会频繁发生。
- 第二种情况:本来由撤回先锋完成的杀敌回费,由于周边干员能力提升从而被抢了人头,收不到应有的费用,从而卡了部署费。
- 解决办法:重打,或者通过潜能降低一部分的费用消耗
- 对于自动触发的技能,例如拉普兰德的狼魂、能天使的过载模式等,技力需求降低使得技能更早开启,导致原本的触发时刻变为充能期间,有可能导致无法及时击杀敌人(也就是轴乱了)。同时精二塞雷娅的二技能专精后CD降低,会更早更频繁提供SP,对于自动触发技能也会造成时间轴混乱,也有可能造成上述情况。
- 对于攻受回复类技能,出于各种原因(最可能的是周边干员等级提升的情况)有时会造成原本作为SP来源的敌人(持续攻击某个敌人或者被某个敌人攻击)过早死亡,导致自身技能槽少了若干SP,从而技能开不出来(特别是没有陈的代理)
- 对于一部分技能升级只增加持续时间,而不减少SP需求的情况,如果通关时是卡点释放的技能,技能升级后在代理中就会出现延迟,连续卡点开技能则这个误差会累积。
- 解决办法:技能等级提升降低CD,这个过程不可逆,如果代理因此崩溃基本上必须重打。
- 干员能力提升(等级/技能性能/天赋)或皮肤更改从而扰乱原战局
- 像剿灭作战一类,击杀特定敌人后才会进入下一战斗阶段。干员能力提升导致过早击杀该敌人,会提前进入下一战斗阶段,使得干员的技能回转可能无法及时完成。
- 过早击杀也可能导致原计划中需要利用阻挡饱和而放过去的敌人,在能力提升后提前清理阻挡位后反而将其挡住,从而影响后续作战。
- 另一种情况大多出现在新手期,在人口排满的情况下,代理储存的干员死亡后在其他位置部署,而在干员能力提升后不会死亡,而又没有对其施加撤退指令。此时就会因为人口部署已满而无法部署另一处的干员,甚者能够扰乱整盘作战。
- 皮肤更改影响战局的情况主要发生在安洁莉娜的“质素访客”皮肤上,由于法杖顶端位置与原皮肤的位置差距,导致新皮肤的弹道飞行时间比原皮肤少一帧。[理论参考 1]
- 解决办法:重打,或者中途接管代理
- 使用一些具备随机性的干员,例如远山、陨星、红豆、伊桑等,会由于其天赋或者技能的随机性,在通关时由于天赋触发/未触发从而通关,反而在代理时天赋未触发/触发从而无法完成。但是有代理学种子的存在,天赋复刻还是可以大幅度保证的,但是不一定完全不失误,比如说如果保存了一个含有陈的代理,之后将陈精二,持刀格斗术这个天赋会进行大量的闪避判定,导致霜星掀地板的判定种子和之前不一样,导致失误。
- 解决办法:要么通修代理学(见下文),要么重打并尽量使用不依赖随机性(可以选择不使用随机性的干员,或者将其能力提升至不需要其天赋触发也可通关的程度)。
- 经大量测试,明日方舟一般情况下是以帧为单位判断攻击动作,技能的冷却等操作的,因此如果由于各种原因(常见的问题如手机或电脑模拟器性能问题导致的丢帧),使得游戏在运行时无法在一倍速模式下维持30帧每秒的帧率,则会导致丢帧现象的发生,扰乱时间轴,严重者可导致代理失败。
- 当代理作战在二倍速模式下播放时,为了防止丢帧问题,需要游戏稳定维持60帧每秒的帧率,自然对设备性能提出了更高的要求,这种情况下的丢帧现象也更为常见。通常说的代理偶尔失败在排除上述情况之后一般原因都是设备性能波动引起的。在一些需要极限操作的作战记录里丢帧的影响可以非常大。
- 解决办法:要么保持一倍速,要么修改作战记录以留出更大的容错空间。
- 这个情况主要出现在和霜星有关的代理上:4-10、6-16、H6-4,也就是部分玩家抱怨的“4-10因为掀地板不能稳定代理”。
- 这两个关卡的代理,霜星的掀地板是可以稳定保存的(也许是以某种种子的形式,是否沿用代理保存的种子不得而知),除非干员能力过度提升导致整个战局发生了肉眼可见的变化(比如原代理霜星死在第二行,提升后反而死在了第一行)而版本更新由于需要重新下包安装,代理过程的种子会改变,从而导致霜星掀地板的位置变化,新的代理可能会掀掉关键位置的干员而翻车,又或者不会掀掉关键位置的干员从而卡住部署人口。
- 此外还有一个关卡5-10,在第六章更新后出于不明原因,5-10浮士德的攻击次序由原先的每5动1紫箭,变为了现在的每4动1紫箭(其实按照游戏数据,每4动1紫箭才是正确的行动次序),从通道口出来第一箭也变成了紫箭,这使得快速复活吃箭的代理在再部署时间上非常吃紧,或者由于练度不够导致一些干员无法吃箭。
- 解决办法:如果你需要去这些关卡刷素材,每次版本更新的时候去验证代理
或者用雪雉的二技能可以打断霜星的掀地板,冰环(上一条在2020年3月17日版本更新后已不可用)。
代理指挥复制玩家操作的工作原理是:
- 将最后一次保存代理时的全部手动操作保存为按帧排列的序列,并在代理运作时复现。
- 如果如果出于某种原因(见“容易出现代理失误的情形”章节),其中部分操作无法复现,就会将所有无法复现的操作按顺序放入存储序列,并在任何条件变化时扫描整个存储序列,执行任何可以完成的操作。
条件变化包括:费用变化,部署人数变化,存储序列变化等。两次扫描之间间隔为一帧。
- 如果同时有多个操作满足复现条件,则会按顺序在一帧之内复现。
由于“复现”本身也使存储序列发生了变化,所以任何操作复现完成后的下一帧也会重新扫描并更新存储序列。
- 只要存储序列不为空,就会出现黄色标注:“检测到失误风险”。
举例:LS-4源石虫海消失术[作战记录 1]
这一操作的目标是利用代理作战,使得红使用两帧完成部署和撤离。
第一步:设计并调整行动序列:
某次LS-4代理作战行动部分序列
|
行动序号
|
1 |
2 |
3 |
4 |
5 |
…… |
12 |
13 |
14 |
15 |
16 |
17 |
……
|
行动内容
|
部署红豆 |
部署蓝毒 |
部署空 |
部署凛冬 |
红豆阵亡 |
…… |
部署巡林者 |
空使用技能 |
部署近卫小车 |
部署红 |
撤退巡林者 |
撤退红 |
……
|
剩余部署位数量
|
8→7 |
7→6 |
6→5 |
5→4 |
4→5 |
…… |
2→1 |
- |
- |
1→0 |
0→1 |
1→2 |
……
|
并且通过手动代理的方式,将撤退红(行动17)的时间调整到撤退巡林者(操作16)的两帧之后。
第二步:提升红豆练度,使红豆避免阵亡,此时代理序列变成了:
某次LS-4代理作战行动部分序列
|
行动序号
|
1 |
2 |
3 |
4 |
…… |
11 |
12 |
13 |
14 |
14 |
15 |
16 |
……
|
行动内容
|
部署红豆 |
部署蓝毒 |
部署空 |
部署凛冬 |
…… |
部署巡林者 |
空使用技能 |
部署近卫小车 |
部署红 |
撤退巡林者 |
部署红 |
撤退红 |
……
|
剩余部署位数量
|
8→7 |
7→6 |
6→5 |
5→4 |
…… |
1→0 |
- |
- |
0→-1 |
0→1 |
1→0 |
1→2 |
……
|
原本的第14步操作“部署红”由于部署位不足无法复现,被放在了存储序列里,而当“撤退巡林者”这一操作执行后,“部署红”满足了操作条件,所以在巡林者撤退的下一帧被部署。
由于原本“撤退巡林者”和“撤退红”之间只相隔一帧,所以当“部署红”移到这一帧后,代理的结果就是红在两帧之内完成了部署和撤退,并释放了狼群的效果。
- 每次开始作战的时候会产生一个不同的随机数序列,而如果一次作战被保存为了代理作战,这个序列也会被随之保存下来。
- 换句话说,这次代理作战的任何衍生作战(代理中途取消代理手动操作)也都使用这个随机数序列。
- 这个序列会被用于所有作战时进行概率事件的判定并在代理运作时复现。
目前可以确定使用随机数序列的概率事件包括[注释 1]:
- 所有的闪避类判定
- 所有的暴击类判定
- 艾雅法拉的乱火
- 华法琳的血怒的随机对象选择
- 能天使的“天使的祝福”随机对象选择
- 霜星的“掀地板”判定(在无任何(包括霜星攻击我方干员)外界干扰(也就是一路不接敌走过去)的情况下)
- 阿的四选一攻击效果判定
- 雷蛇/华法琳的充电对象选择
- 空的安可天赋
- W的惊吓盒子地砖选择
下面介绍一个实例:
在进入代理并手动接管后,我们得到了一个随机数字序列,为了方便起见我们假设其为1-100范围内的随机整数,在某次实际通关过程中它的结果可能是这样的:
目前没有证据表明游戏内数值完全按照下述方法生成和判定,但根据目前测试本方法得到的结论和游戏内效果表现一致。
计次
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35
|
随机数(X%)
|
17 |
47 |
86 |
3 |
93 |
2 |
81 |
96 |
4 |
50 |
70 |
95 |
10 |
18 |
36 |
12 |
9 |
33 |
6 |
49 |
6 |
79 |
46 |
13 |
25 |
33 |
7 |
20 |
94 |
76 |
99 |
81 |
10 |
15 |
7
|
伊桑-特性闪避 (X%≤50%)
|
Y |
Y |
N |
Y |
N |
Y |
N |
N |
Y |
N |
N |
N |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
N |
Y |
Y |
Y |
Y |
Y |
Y |
N |
N |
N |
N |
Y |
Y |
Y
|
红-处决模式闪避 (X%≤40%)
|
Y |
N |
N |
Y |
N |
Y |
N |
N |
Y |
N |
N |
N |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
N |
Y |
N |
N |
Y |
Y |
Y |
Y |
Y |
N |
N |
N |
N |
Y |
Y |
Y
|
伊桑-天赋缠绕 (X%≤25%)
|
Y |
N |
N |
Y |
N |
Y |
N |
N |
Y |
N |
N |
N |
Y |
Y |
N |
Y |
Y |
N |
Y |
N |
Y |
N |
N |
Y |
Y |
N |
Y |
Y |
N |
N |
N |
N |
Y |
Y |
Y
|
槐琥-天赋击退 (X%≤20%)
|
Y |
N |
N |
Y |
N |
Y |
N |
N |
Y |
N |
N |
N |
Y |
Y |
N |
Y |
Y |
N |
Y |
N |
Y |
N |
N |
Y |
N |
N |
Y |
Y |
N |
N |
N |
N |
Y |
Y |
Y
|
断罪者-断罪 (X%≤5%)
|
N |
N |
N |
Y |
N |
Y |
N |
N |
Y |
N |
N |
N |
N |
N |
N |
N |
N |
N |
N |
N |
N |
N |
N |
N |
N |
N |
N |
N |
N |
N |
N |
N |
N |
N |
N
|
注意,这里的判定结果随机数序列虽然无法精确测出,但也不会因为接管了代理而变化,可以利用代理时携带的干员测试得到大概区间范围。
如果我们想实现某位干员的某种随机效果连续生效的效果,需要首先把这次代理的随机数序列测出来,然后选择一段离要求较近的随机数区间,最后利用其他干员将不满足条件的随机数用掉即可。
实例一:太子爷榴莲针十五连闪[作战记录 2]
我们假设想要实现12F每次闪避成功率50%的十五连闪,需要在上述序列中找到一个接近成功的序列,即第13次开始的标红序列:
计次
|
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28
|
随机数(X%)
|
10 |
18 |
36 |
12 |
9 |
33 |
6 |
49 |
6 |
79 |
46 |
13 |
25 |
33 |
7 |
20
|
12F-天赋闪避 (X%≤50%)
|
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
N |
Y |
Y |
Y |
Y |
Y |
Y
|
在测试完成后手动代理,在触发12次概率判定后启动阿的技能,并在攻击9次之后用其他干员触发一次闪避判定,所有的12F闪避都会被判定成功。
由于阿的十五连击速度为每帧一次攻击,所以某影视剧中的名台词“他的招式一共有72帧,而破绽就出现在第42帧上”确实出现在了实践中
实例二:断罪者三拳打死镇关西梅菲斯特[作战记录 3]
三拳打死梅菲斯特,就需要这三拳全部触发5%概率触发的800%伤害效果。经过和上面类似的过程后我们决定取第4次开始的标蓝序列:
计次
|
4 |
5 |
6 |
7 |
8 |
9
|
随机数(X%)
|
3 |
93 |
2 |
81 |
96 |
4
|
断罪者-断罪 (X%≤5%)
|
Y |
N |
Y |
N |
N |
Y
|
将第5、7、8次闪避判定用其他干员用掉即可达到效果。
顺便不要想着依靠这个原理减小危机合约刷概率的工作量,因为危机合约不能代理
相关链接
理论参考:
实战参考:
受力位移计算方法
|
触发位移
|
- 只有“失衡”状态下的单位才会作为刚体参照下述原则进行位移,“失衡”状态的进入需要单位受力>0。
- 进入“失衡”状态后,单位会有0.1s的“失衡硬直”
- “失衡”状态的维持需要满足以下几点条件:
- 单位没有“失衡免疫”属性
- 单位不是飞行单位
- 单位速度≥0.1m/s或仍处于“失衡硬直”期间
- 下面的讨论默认被讨论对象处于“失衡”状态
|
为了方便计算起见,下面的叙述会对游戏内的数值进行一些单位假设
|
环境模型
|
- 所有计算在二维平面内进行,故可以将单位看作一个大小等于影子面积的圆
- 所有的敌人视为质量为1kg的圆形刚体
- 方格的边长为1m
- 垂直于平面的重力加速度g=9.81kg/m·s^2
- 平面的动摩擦因数μ=0.5
|
受力分析
|
由力度对应表和目标的重量可以得到一个差值,这个差值设为受力等级(L)
|
推力
|
拉力
|
- 作用时间:瞬间,可以直接视为目标得到了一个大小等于“实际受力×1s”的动量
- 作用方向:推力的方向和大小会受目标位置的影响。
目前,游戏内施加推力的技能,索敌方式都是从释放技能的干员开始,沿部署方向寻找目标, 所以根据目标和干员、部署方向的关系可以将推力分为两种:
- 当目标与干员的连线和部署方向的夹角大于45°,或目标与干员的距离小于0.25格时,目标受到“溅射型推力”
方向为干员与目标的连线,受力等级L'=L-2
- 在其他情况下,目标受到“径向型推力”
方向为干员的部署方向,受力等级不变
- 作用大小:力的列表值可以根据实际受力等级在游戏数据表中找到,实际受力大小=数据表值*0.01。
|
- 作用时间:如果受力等级<-1,作用时间为0.5s,否则作用时间为1s
- 作用方向:钩爪受到牵引的方向
- 作用大小:力的列表值可以根据受力等级在游戏数据表中找到,初始受力大小F0=数据表值。
|
实际力的大小(N)
|
列表值
|
受力等级
|
列表值
|
实际力的大小(N)
|
0 |
0
|
≤-3 |
0 |
0
|
1 |
100
|
-2 |
2 |
2
|
2 |
200
|
-1 |
10 |
10
|
4 |
400
|
0 |
40 |
40
|
4.5 |
450
|
1 |
42 |
42
|
5.3 |
530
|
2 |
44 |
44
|
5.8 |
580
|
3[注释 1] |
46 |
46
|
由FΔt=mΔv可以计算出目标的初速度,之后目标在平面上做匀减速运动直到停止。
|
拉力的大小在运动过程中会不断的产生变化,在默认情况下,开始运动后t时刻的拉力大小为:
F(t)=F(0)*(x(t)/x(0))^4
其中,x0为当钩爪命中目标时,目标与干员的距离,x(t)则为t时刻时目标与干员的距离。
|
行动基本原理
敌人的行动由在起点坐标和终点坐标之间一系列“行动”和“停驻”的指令组成。
- 敌人在起点坐标出现时,位于方格正中心,终点坐标的判定点是位于终点格中心的一个半径不大的圆。
- “行动”指令会让当前目标沿路线移动到指定位置,有两个参数:“Position(位置)”和“ReachOffset(偏移量)”,确定好参数后当前目标便会根据SPFA寻路逻辑以自身移速向目标点移动。
- “位置”参数是一组坐标,用于确定目标方格的位置。
- “偏移量”参数也是一组坐标,用于确定目标点相对于格子中心的偏移量,也影响行进过程中的路线偏移。
对于绝大部分移动这个参数都为零,可以忽略,但也有一些移动利用这个偏移量实现了“贴墙走”的效果。
- 即使“行动”指令的目标点偏移量为零,在行动结束后目标的位置也不在方格正中心。
- “停驻”指令的效果是让当前目标在当前坐标保持不动,只有一个参数“Time(时间)”。
- “时间”参数是一个精确到小数点后一位的秒数,用于确定停驻时间。
大部分敌人的具体行动路线会在其出现在地图上时或者开始运动时,以红线(对于无人机是黄线)标识在地图上。
- 因为空降兵可以降落在地图特定位置,无人机可以从地图外进场,所以侵入点并不是所有敌人的路线起点,而有些地图也确实没有侵入点。
- 一些不从侵入点出发而是直接出现在地图上的敌人在行动前可能不会有红线指示。
- 绝大多数敌人的路线终点都是保护目标点,红线标注的也是实际运动路径,但:
- GT-1中有一名因为剧情需要回头报信的士兵,在一段时间的停顿后回到了侵入点,并被判定为成功拦截(防御点数不变,敌人处理数+1)。
- DM-3中有三名萨卡兹穿刺手红线标注的终点是保护目标点,但实际终点却是保护目标点旁的地穴。
特殊地块机制
传送行动的本质[1]:敌人进入传送通道入口判定点→进入停驻+隐形状态(与干员无法攻击但视觉可见的隐匿状态区分)→停驻一定时间→瞬移至通道出口处并继续行动。
- 敌人行动进入停驻+隐形状态时,判定模型依然存在于传送入口的位置。
- 隐身前锁定其为目标的攻击不会丢失,位移能使其强制显形[理论参考 2],显形后不会重新隐形。
- 停驻+隐形状态下不会被阻挡,不会执行“返航”指令(见下文“行动受阻的处理机制”一节),也不会主动攻击。
- 如果在被阻挡时进入隐形状态,也会立即停止攻击并解除阻挡状态。
- 离开传送通道时的瞬移位移可以被夜魔二技能识别,并造成相应的伤害。
地穴地块:任何判定点被判定为进入地穴方块的敌人都会被立即判定为死亡。
- 判定为死亡后,任何以其为目标的攻击都会无效,自然包括攻击带来的位移、眩晕等附加效应,所以这也是龙门市区剿灭空降兵原理上无法被救出的原因[作战记录 1]。
- 地穴的即死判定是只要识别立即触发的,所以不存在“由于位移力度过大导致敌人飞跃地穴”的情况。
- 地穴与SP回复:第六章修改
进入不可通行地块时的处理机制
进入不可通行地块包括进入可攻击地形、进入受阻地形两种情况。
- 可攻击地形包括箱子,显影装置等可以被敌方近战单位攻击的地形。
- 由于触发敌人近战攻击的原因是“阻挡优先索敌”机制,故尚未或无法被阻挡的单位不会攻击这些地形。
- 箱子可以认为是一个血量为100,防御为0的单位,但因为敌方单位最低攻击也有130,所以会被任何它阻挡的敌人的一次攻击干掉。
- 显影装置可以认为是一个无敌的单位,被它阻挡的敌人将会持续试图攻击它,直到脱离阻挡或者被干掉为止[作战记录 2]。
- 受阻地形,指其他对敌方单位的行动有阻挡效应的地形,包括地图中的各种高地、栏杆、提前进入的传送通道、控制终端[作战记录 3]、震撼装置等地形都属于受阻地形。
- 当敌人进入受阻地形时,会被给予一个立即执行的“返航”指令:缓慢移动到最近的可通行地形上。
- “返航”指令执行期间会按顺序覆盖掉原有行动的指令轴,返航完成后会继续通过寻路逻辑完成未被覆盖的指令。
覆盖量基于返航操作所用时间计算,如返航操作持续了15s,那么就会覆盖掉15s的停驻时间。
如果一次停驻时间不足就按顺序继续覆盖,直到完成覆盖或停驻时间用尽为止。
由于“行动”指令是否结束不是根据时间判断,所以持续时间视为零,遇到了就会立即被覆盖。
- 如果返航后发现没有能够前往下一个目标点的可用路径,将会继续处于偏航状态并停止所有动作[1]。
举例:1-12的W[1]
1-12的W的开头部分行动
|
操作序号
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7
|
行动类型
|
行动 |
行动 |
停驻 |
行动 |
行动 |
停驻 |
行动 |
行动
|
相应参数
|
(0,5) |
(1,5) |
(15.0s) |
(1,6) |
(2,6) |
(35.0s) |
(5,6) |
(7,6)
|
备注
|
此点为侵入点 |
|
|
|
|
此时W进入传送通道 同时被附加隐形状态 |
此时W走出传送通道 |
|
如果在不同的时间段将W推入附近的受阻地形,则会分别有以下效果:
- 在第一次停驻(操作2)结束前的任意时间将W推入受阻地形,停驻时间内放出:
- W会在原地停留至停驻时间结束后继续运动。(操作1将被跳过)
- 保证第一次停驻(操作2)结束后W仍然在停驻状态,第二次停驻(操作5)开始前放出:
- W会立即原地隐身(操作3、4将被跳过),在第二次停驻结束后瞬移至(5,6)。
- 保证第二次停驻(操作5)开始前W仍然被我方干员阻挡在停驻状态:
- W会立即停止移动,原地进入隐形状态,我方干员也不会继续阻挡W。在隐形状态被强制打断后W才会继续返航指令。
- 我方干员碰撞体积基本均为以0.25格为半径的圆形,伊芙利特的碰撞体积经测试,为半径为0.1格的圆形。
- 干员阻挡任何从其他方格进来的敌人时,敌人停止时二者碰撞箱并不紧密接触,敌方的碰撞箱并不在我方干员的格子内。
- 远程干员由于没有“优先攻击阻挡单位”的特性,无法攻击阻挡的单位。
- 位移特种干员的位移操作只会将自己攻击范围内的敌人识别为目标,从其他方向过来的敌人虽然并不在攻击范围内。
- 但由于阻挡的仇恨机制会触发位移干员的攻击,此时位移干员的自动触发位移技能就会出现“反复释放但不造成伤害”的现象。
- 向一个已经有敌人的格子空降干员时,敌人会强行移到到圆形外,移动方向为以干员圆心为起点,连接敌方干员中心点方向的一条射线。
- 位于方格正中心的的敌人,在空降时不会移动。由于行动机制,这种情况只发生于在起点停顿的敌人。
- 在其他情况下,只有当这种位移现象发生时,敌我碰撞箱才紧密接触。
- 敌方单位的远程攻击判定点是自己影子的中心为起始点,我方单位的远程攻击判定点则是干员的碰撞箱。
- 当远程攻击判定点进入对方的攻击范围时,就会遭到对方的远程攻击。
弑君者的瞬移操作机制:当弑君者被阻挡时,
- 首先判断当前指令是否是“行动”和技能CD是否冷却完成,
- 然后判断自己判定点与当前行动指令目标点连线上,距自己1.5格的地方是否为不可通行地块。
- 如果上面三条都满足瞬移要求,则向当前行动指令目标点连线方向移动1.5格,并短暂的进入不可被阻挡状态。
瞬移没有前摇,过程持续15帧,并有10帧的后摇,期间无敌。
- 弑君者瞬移操作如果需要跳过自己下一个停驻点所在的地块,则会同时跳过停驻操作[理论参考 4]。
相关链接
理论参考:
实战参考:
伤害计算
显示算法
明日方舟里,伤害在实际计算时均保留小数取精确值,只有在显示时四舍五入至整数位
在计算之前,先复习一下攻击buff的种类:
A为面板攻击buff(词缀为+X%攻击),所有同类型buff为加算
B为攻击倍率(词缀为造成相当于Y%攻击力的伤害)
C为最终攻击倍率(词缀为攻击力提升至Z%攻击力的伤害)
红字的计算过程:某个单位(敌我均可)造成伤害时,
- 先计算A类buff后的面板攻击力,即“自身面板攻击力×(1+X%攻击)+友方面板攻击力×友方技能倍率”这一公式得出的结果,记为A。
- 用A的攻击力攻击敌方,在防御/法术抗性和抛光机制的影响下能够造成的伤害记为Xa。
- 再在A基础上考虑B、C类buff的加成,即“A×造成Y%伤害×攻击力提升至Z%”这一公式的计算结果,记为B。
- 最后引入降防/降抗和增伤buff,计算以B的攻击力对削弱后的目标造成的伤害、记为Xb。
- 若Xb>=1.5×Xa,则显示Xb的红字。
- 目前红字没有下限,甚至因为0>=1.5*0,所以0也会显示红字。
计算举例
目前,非支援合约加成下的最大单次红字伤害为:PR-B-2中,格劳克斯在防空符文上打出的49940[作战记录 1]
计算过程:
- A=格劳克斯的面板563*(1+不稳定血浆0.9+爆发剂·榴莲味0.5+天使的祝福0.08)+战斗之歌385=1781.24
- Xa=A×(1-目标的法抗0)=1781.24。
- B=A×防空符文对空倍率1.7×二技能对无人机技能倍率8=24224.864
- Xb=B×钙质化1.55*虚弱化1.33×(1-目标的法抗0)=49939.55714
- Xb>1.5×Xa,所以显示红字,最终显示结果为Xb进位后的49940。
相关链接
理论参考:
实战参考:
这一节内容的数值测试和问题研究绝大部分由星空灵核测试完成
在此表达对其工作量的敬意。
这一节内容的数值测试和问题研究绝大部分由星空灵核测试完成
在此表达对其工作量的敬意。
攻击前摇指从攻击动画开始播放到攻击出手的时间,而攻击出手之后的攻击动画部分称为攻击后摇。
前摇在实战中的应用包括帧级别操作时提前量的计算和利用前摇打断取消攻击效果两种应用。
示例:暗杀萨卡兹哨兵
[作战记录 1]
萨卡兹哨兵检测到自己受伤之前会保持“锁血”状态,但检测到自己受伤之后又会立即发动警报技能,难以处理。
经测试,警报技能属于状态转换类技能,且有两帧的前摇,所以是可以通过打断这一前摇来避免警报触发的。
由于哨兵有眩晕免疫效果,故可以算准前摇,使用位移技能强制打断。[作战记录 2]
刚才提到了“攻击出手的时间”而可以避免了“造成伤害”的说法,是因为对于一部分远程攻击来说,从攻击发出到目标受伤是由时间差的。
由于这些时间差在游戏里一般是通过发射物的运动时间来表示的,这里称呼这个时间差为“弹道时间”。
也就是说,对于存在弹道时间的攻击,从攻击动画开始到造成伤害的时间差等于前摇+弹道时间。
由于弹体位置也是按帧判定的,所以可以根据测试得到弹体飞行匀速的结论,和轨迹形状无关。
举例:守林人核弹最速下落[作战记录 3]
帧对齐机制对攻速的影响
明日方舟的时间单位下限是一倍速下的一帧,即1/30s,当计算得到的时间不是整数帧时进行的取整机制即为“帧对齐”机制。
在2019年12月24日更新之后,帧对齐机制从原先的“非整数帧一律进一取整”更改为了“非整数帧一律四舍五入取整”。
示例一:能天使潜能与过载攻击次数差异:[理论参考 4]
现象:
(a) 能天使无论潜能,在12月24日更新前都只能在一个过载周期内打出21次攻击
(b) 12月24日更新后,三潜能天使能在一个过载周期内打出22次攻击
解释:
(a) 非三潜攻击间隔为0.696s,三潜攻击间隔为0.678s,在12月24日之前的帧对齐逻辑下均会取整为0.7s(21帧)
而15秒减去0.3秒左右的首次攻击抬手后,按照0.7秒的攻击间隔可以打出21次攻击。
(b) 12月24日更新后非三潜攻击间隔为0.696s,会取整为0.7s(21帧),而三潜攻击间隔为0.678s,会取整为0.6667s(20帧)。
而15秒减去0.3秒左右的首次攻击抬手后,按照0.6667秒的攻击间隔可以打出22次攻击。
但是,对于干员的攻击流程来说,抬手动画和攻击动画时长是无法被压缩的,所以攻速提高的效果就表现在了攻击后的读秒阶段上。
而当攻击后的读秒阶段为负,或者攻击动画循环播放而攻击速度与攻击动画周期不同,就会出现输出不稳定的情况。
示例二:安洁莉娜攻速不稳定的解释:[理论参考 5]
现象:
(a) 反重力模式攻击间隔为1.9/108×100×30=52.78帧(对齐后为53帧),但实际攻击间隔在42和56之间变化。
(b) 微粒模式攻速是(1.9×0.15)÷108×100×30=7.91帧,帧对齐后为8帧,但实际的攻击间隔为2~14帧的随机数
每次微粒模式都完全不同(但是可以被代理复制具体的随机波动),但平均攻击间隔和理论值8帧相等。
解释:
(a) 微粒模式和反重力模式共用的循环播放攻击动画时长为7帧前摇+7帧后摇=14帧,由于动画时长无法压缩,所以只能每14帧检测一次是否需要进行攻击。
反重力模式下,最接近理论攻击间隔53帧的周期长度为4个周期(56帧),但这样攻击4次后,由于误差累积,下一次攻击在第3个周期(42帧)就会打出来,导致了攻击间隔浮动。
(b) 类似的原因,微粒模式即使每次动画播放都攻击一次,在4轮动画后也需要攻击5次,所以在第四次攻击后两帧第五次攻击自动触发,导致攻击间隔差异。
但是,目前四舍五入的对齐机制并不能完全概括所有情况,有部分干员的攻击相比该机制存在误差。[理论参考 6],在更新前的对齐机制也不是简单的进位[理论参考 7],还需要研究。
在技能释放后,绝大部分技能不能马上开始sp回复过程或者接受充电(除推进之王),此时的表现一般为sp条变为橙色且逐渐减少、技能图标被橙黄色且逐渐减少的方块覆盖。
根据这一阶段“无法回复技力点”的特征,我们称其为“阻回时间”。
比如银灰的真银斩虽然技力值需要90,但是有30秒持续时间,这段期间是既不自回也不接受其他充电(外界技力恢复)。所以这30秒技能持续时间也相当于银灰的真银斩有30秒阻回时间。
- 根据测试,阻回时间完全等于相应技能的动画长度,但黄条显示时间被错误的设定为了攻击间隔[理论参考 9]。
- 当自身的攻击速度提高/降低时,黄条显示时间也会变短/变长。
- 推拉特种干员的技能阻回时间 = 抬手动画 + 弹体飞行(时间随距离变化) + 位移时间(时间随力度差变化) + 收手动画[理论参考 10]。
- 动画时长
相关链接
理论参考:
实战参考:
这一节内容涉及范围很广,本人收集难免有遗漏,如果有补充内容欢迎交流。
这一节内容涉及范围很广,本人收集难免有遗漏,如果有补充内容欢迎交流。
buff与时间
- 战斗之歌开启全程效果会以开启时空的攻击力为准,无论过程中空身上的buff变化
- 一个爆发技能如果被buff,这个buff是在伤害瞬间判定
- 所有干员的攻击在命中前撤离都会失去其天赋效果,同理,普攻在命中前使用取消后摇开技能的话该次普攻仍然会受到技能影响。
dm-ex-3 萨卡兹枪手上限
yj程序员偷懒导致需要原地停顿170s的萨卡兹枪手速度上限从25层变成了25+170×2=365层
基于攻击目标的判定bug
技能空放效果
- 断罪者
- 手动启动的一次性攻击技能攻击型技能,在攻击范围内没有对象时,无法在手操作战时启动技能,但是却可以被代理作战开启。
- 液氮大炮[理论参考 1]
阿的十五连
造成伤害不是上buff的必要条件,无敌/闪避均可
闪避,格挡与护盾
效果 |
荆棘 |
击回 |
充电 |
真伤
|
闪避 |
√ |
? |
? |
?
|
格挡 |
√ |
? |
? |
√
|
夜莺护盾 |
? |
? |
? |
?
|
自动防御 |
? |
? |
? |
?
|
闪灵护盾 |
? |
? |
? |
√
|
- 虽然看起来闪灵夜莺是对位的,但是夜莺二技能是法术盾,闪灵二技能是不分物法的真伤盾
被动画吞掉的攻击
- 真银斩类技能如果攻击前摇中时间结束,那次攻击会是一次带有技能特效的普通平a,这一点在莫斯提马身上最为明显(因为群法攻速太慢)
- 特殊情况下凝武只能造成2段伤害[作战记录 2]
阻挡数的相关互动
- 阿消/食铁兽推目标数错误(食铁兽是推等同于自己阻挡,可与年互动)
- tag的影响[理论参考 3]
装置的敌友加成
- 刻俄柏第二天赋加成会收到召唤物影响,包括赫默无人机,我方设施(侦测器已证实,箱子已证实,喧闹法则中的中枢未知)不会受到弩箭台,冰晶,冰封地板影响
- 刻俄柏天赋计算的阵营错误[理论参考 4]
- 支援弩炮加工bug[理论参考 5]
不是单纯的隐身,而是不会被选中
待汇总
- 抵抗是瞬时计算(直接作用于剩余debuff,效果结束立即恢复减益衰退速度)机制。
- 自爆虫的头朝向不同爆炸范围也不同,推测为位置判定问题
- 喧闹法则里的神射手是三连射
- 莱恩哈特释放二技能时不计入扩大范围内的隐身敌人[理论参考 8]
- 推力地板不加成水炮
- 巫恋和赫默的召唤物:都无阻回,但赫默无人机赫默撤退还在,巫恋不行,targetvalidator中有对于这个category的筛选,绝大部分buff都只能加给普通类别而不能加给赫墨无人机的trap类别
- 凛冬与撤离减费[理论参考 9]
- 当刻俄柏的一技能““很冰的斧””有充能时,攻击敌人前会先进行一次普通攻击再释放技能。若普通攻击命中,但技能未命中,则显示充能层数[不返还],但实际充能层数[返还]
- 阿的十五连发开始后就不会被除退场之外的任何情况打断[理论参考 10]。
- 灼地吞伤害[理论参考 12]
- 夜魔二技能效果debuff多次施加会单独叠加计算而非延长
- 攻回技能的释放错误[作战记录 3]
- 麦哲伦/送葬人与碰撞箱的错误[作战记录 4]
- 推进之王天赋错误(3技能阻回失效)
- 因陀罗天赋错误(闪避远程和友方伤害)[理论参考 13]
- 年铁御贴图错误(前摇被打断效果不消失)
- 格劳克斯无精英错误(优先攻击无人机)
- 安洁莉娜三技能普攻[理论参考 14]
- 阿消1技能错误(空中单位)
- 因陀罗回血错误(不计算易伤效果)
- 格劳克斯天赋加成错误(二技能)
- 阿消二技能效果:和食铁兽实际描述相同
- 夜魔一技能错误:实际是根据夜魔攻击力计算
引起过注意的已修复历史bug
参见客户端版本
- 麦哲伦进游戏卡死(2020.6.4修复)
- 伊芙利特碰撞箱?(2020.6.2修复)
- 维持技能状态(2020.6.2修复)
- 传送门无敌导致D12失效[作战记录 5](2020.6.2修复)
- 惊吓盒子释放前无法普攻(2020.6.2修复)
- 真理技能攻击数量(2020.4.21修复)
- 安德切尔天赋(2020.4.21修复)
- 刻俄柏真伤(2020.3.17修复)
- 雪雉二段位移(2020.3.17修复)
- 隐匿敌人免buff(2020.3.17修复)
- 寒霜影响赫默无人机(2020.3.17修复)
- 红的技能描述(2020.3.17修复)
- 二次呼吸(2020.2.5修复)
- 敌方sp回复机制(2019.12.24修复)
- 睡眠之歌vs眩晕免疫(2019.12.24修复)
- 白金攻击不稳定(2019.12.24修复)
- 强力击系列bug(2019.12.24修复)
- 麦哲伦再部署不回复无人机(2019.10.22修复)
- 祝福召唤物(2019.8.27修复)
- 猛男安塞尔(2019.8.27修复)
- 陈无法落地点火(2019.7.16修复)
- 白雪打隐匿[理论参考 15](2019.7.9修复)
- 天使祝福离场保留(2019.7.9修复)
- 箱子封路(2019.7.9修复)
相关链接
理论参考:
实战参考: