本页面内容偏向于实战的表现,如需了解数据基础请移步至游戏数据基础
本页面内容偏向于实战的表现,如需了解数据基础请移步至游戏数据基础
公共机制
仇恨与索敌
从新手教程能得到的是,敌人会优先攻击射程内最后部署的干员。但是实际上仇恨机制远不止这些。
首先需要知道的是:
- 对于任何可以攻击的单位(敌我都是如此),TA会攻击进入其攻击范围的前n个单位(其中n=攻击目标数),而能够进行近战的单位更会优先攻击自己正阻挡着的敌人。
- 浮士德等能够超远距离打击的BOSS依然遵循仇恨机制,但他们的攻击行动看起来是“打全图的”和“我刚放下的”人。
这是因为他们的攻击半径长达20格,而目前他们出场的地图即使地图边长也达不到20格,因此可以等价地认为:他们会攻击全场最后部署的那个单位。
如果新手教程不能让您领悟仇恨机制的重要性,那么浮士德和他之后出场的无胄盟小队、深溟喷溅者会把您的干员一一射爆然后好好给您上这一课。
- 干员前摇锁定目标时,当次攻击的目标大部分情况下不会因为目标的可选性或位置而改变。
所以你可能会看到“白金射中一只7格外的狗”之类的“反常”情况,又或者是送葬人对着一条进入3次攻击范围离开三次攻击范围的狗发动了3次攻击又取消了3次攻击……
一般情况下:
- 敌方仇恨优先级:阻挡→特殊优先级→仇恨值(更容易被攻击→第二优先级→最后部署的目标→不容易被攻击)→最早出现
- 我方索敌优先级:阻挡→特殊优先级→第二优先级→仇恨值(更容易被攻击→剩余路径最短→不容易被攻击)→最早出现
其中:
- 阻挡,即干员与敌人之间互相被阻挡的状态。
- 不论敌我,只要阻挡成功且能够进入COMBAT状态机,便可以发动攻击,无论目标是否处于自身攻击范围(典型案例为要塞的攻击范围不包含自身所在格,但他们会优先攻击被自己阻挡的敌人)。
- 我方远程干员因没有COMBAT状态机不能进行近战攻击,故他们不会因为阻挡了敌人而优先清理被自己阻挡的敌人。
- 部分处于随机索敌的逻辑将无视阻挡状态进行攻击(其也不会优先清理被自己阻挡的敌人)
- 特殊优先级,来自于每个干员自身或其技能的索敌算法,通常而言具有最高的优先级(若未被阻挡)。此优先级只有在所有目标的参考数值相同或均不满足/均满足条件情况下才可能因为其他因素更改目标;如:
- 狙击分支“神射手”(远牙、守林人)的优先攻击防御力最低的单位等;
- 敌方领袖爱国者毁灭形态下的攻击半径20范围内的距离自身最远的高台干员等。
- 第二优先级,为在原本索敌上额外增加了一次排序导致的优先级调换。
对于干员而言,第二优先级会比嘲讽更加有效,但对敌人而言嘲讽会比第二优先级更加有效,如:
- 更容易被攻击与不容易被攻击,效果为增减目标的嘲讽等级,通常可以理解为1级嘲讽等级等效部署/出现了极长时间的干员,如:
- 我方嘲讽提升:拜松的技能“深化阵线”、夜莺的召唤物“幻影”,泡泡的技能“挨打”等;
- 敌方嘲讽提升:游击队盾卫和其变种的使自身容易受到敌人的攻击,爱国者行军形态的嘲讽等级增加2级等;
- 我方嘲讽降低:特种分支“伏击客”(水月、狮蝎)特性,以及触发第一天赋后的W的不容易成为敌人的攻击目标等;
- 敌方嘲讽降低:“红标”渗透者(及精英)的嘲讽等级减少1级等。
- 最早出现,通常是单位出现或部署的时间,且不存在“同时出现”(每个敌人出现都是有先后顺序的,哪怕同帧也不是同时)
- 若前面的所有索敌排序都无法导致干员优先选中某个敌人或敌人选中某个干员,那么他们就会选择那个“更早出现的”。
特殊情况下:
- 以生命值百分比为基准的苦艾和始海穿刺者的索敌逻辑“不适用仇恨值”。
- 这意味着只要目标的生命值相同,她们永远会攻击更早出现的那个目标——哪怕始海穿刺者理应攻击最后部署的干员。
- 以攻击力(数值)为基准的“左手”泰特斯·白杨降低攻击力能力的索敌计算中,1级嘲讽等级等效1点攻击力——听起来很奇怪,但是就是这样。
对应的,“1级嘲讽”在以下索敌机制中也会被“等效转换”:
- 以防御力(数值)为基准的守林人等干员的索敌,1级嘲讽等级等效0.1点防御力。
- 以生命值(数值)为基准的干员W技能“D12”的索敌计算中,1级嘲讽等级等效0.1点生命值。
- 以重量等级为基准的早露的全部索敌计算中,1级嘲讽等级等效0.1级重量等级。
- 以最大生命值(数值)为基准的鼠王技能索敌计算中,“唱沙”1级嘲讽等级等效1点的最大生命值;“沙暴”1级嘲讽等级等效-1点最大生命值。
- 对于阿的两个爆发剂技能,它的索敌计算中正前方角色的嘲讽权重较高,此时阿正前方的友方单位虽为特殊优先级,但阿却仍然会攻击更容易被攻击的。
值得注意的是,敌人会在自身被干员阻挡情况下强行无视对方可选性发动攻击(可以参考愚人号活动中,阻挡增加了1的原本无法被选为攻击目标的召唤物被攻击情况),即被我们称为“阻挡的敌人”。
- 处于隐匿异常效果: 隐匿
无法被敌对阵营选中(可选性效果)
※隐匿与“阻挡时解除”没有直接关系,该机制通常由其他效果实现、不可选中异常效果: 不可选中
无法被敌对阵营选中(可选性效果)、无敌异常效果: 无敌
无法被敌对阵营选中(可选性效果),受到的伤害变为0,元素值不会损失等效果的干员在这种情况下仍然会被阻挡的敌人选中并攻击。
- 当敌方被我方干员阻挡时候,他们必须要解除自身的隐匿一段时间,不然我方干员无法攻击到它们。
- 远程位干员通常而言不会优先攻击自己阻挡的目标;甚至如果这个目标被阻挡在该干员的身后,该干员可能因为敌人未处于自身攻击范围而无法攻击到这个敌人。
“隐匿”
隐匿效果使得获得该效果的单位无法被任何敌方的能力索敌选中,同时隐匿效果并不算作特殊能力(即沉默无法影响隐匿效果)。
- 对于绝大部分可隐匿的敌人而言,在被我方单位阻挡后会解除隐匿,不被阻挡的3秒后重新进入隐匿。这是敌方单位的隐匿所拥有的特殊机制,我方干员并不会因为阻挡而解除隐匿。
- 少部分的隐匿表现上与我方干员相同或是由长夜临光活动中的黑夜提供,可能不具有这样的特殊机制。请参阅相关页面,这里不多赘述。
- 要选中隐匿的目标,则该单位自身需拥有无视隐匿的效果,这也是一些能解除隐匿(反隐)的效果的先决条件。
例如技术侦察兵、银灰的第二天赋“鹰眼视觉”、月禾一技能“迹无”等反隐手段就必须要先无视目标的隐匿才可以解除其隐匿。
- “解除隐匿”本质上是使敌方获得一个反隐Buff,其隐匿、迷彩效果会因此失效。
隐匿本身只是针对于敌人的索敌的一种机制,进入隐匿的单位依然可以受到来自其他单位的选中,造成伤害或Debuff:
- 对于我方单位:
- 可以受到无来源的毒雾伤害、可以被阿的二技能或三技能选中并造成伤害、可以被断罪者眩晕等。
- 隐匿的我方干员阻挡敌人时,因为“阻挡优先级最高”的效果,敌人会无视一切可选性对该干员进行攻击。
- 对于敌人,可以受到无来源的热泵通道伤害、可以被传令兵增幅等。
- 一些单位的部分能力可以无视隐匿直接生效,例如:
除了技能造成干员隐匿外,干员入场的本质是会在入场动画期间进入短暂的无法选中设定(但不是异常效果的不可选中异常效果: 不可选中
无法被敌对阵营选中(可选性效果))。
- 该设定与入场动画绑定,在入场动画结束时该设定解除,没有入场动画的角色也不会有这样的设定。
如需详细了解隐匿、迷彩等效果的详细机制,请移步章节Buff判定与可选性。
伤害分类与附加效果
伤害分类
伤害描述
|
基本描述
|
备注
|
用例
|
按基础伤害类型分类
|
物理伤害
|
基本伤害类型,造成伤害时计算防御力。 造成的基础物理伤害=使用属性-目标防御力 ※其中“使用属性”大多数情况下为自身攻击力 也存在基于自身其他属性、目标其他属性或固定值作为使用属性的情况(下同)
|
/
|
|
法术伤害
|
基本伤害类型,造成伤害时计算法术抗性。 造成的基础法术伤害=使用属性*(100-目标法术抗性)%
|
/
|
|
真实伤害
|
基本伤害类型,造成伤害时不计算任何防御属性。 造成的基础真实伤害=使用属性
|
不指定伤害类型的伤判效果可以对真实伤害生效 也即真实伤害可以被减免或闪避
|
|
治疗
|
用于治疗行为的基本伤害类型。 造成的基础治疗量=使用属性
|
无特殊逻辑的治疗行为默认选择生命值不满的单位进行 治疗行为默认受禁疗异常效果: 禁疗 无法成为治疗类能力的目标(可选性效果),受到的治疗量变为0 ※增减“生命自然回复速度”的效果不属于治疗类能力制约
|
|
元素伤害
|
于2023年7月6日更新后加入的新伤害类型 可以自敌人受到元素爆发影响期间产生(或通过某种方式自行产生),造成伤害时计算元素抗性。 造成的基础元素伤害=使用属性*(100-目标元素抗性)%
|
与元素相关的另一个属性损伤抵抗也于此同时被添置 其作用为减免一定的元素毁损值。
|
|
按攻击伤害类型分类
|
普通伤害
|
种类为NORMAL的伤害
|
大部分技能逻辑为获得属性增益的同时替换普通攻击
|
——
|
溅射伤害
|
种类为SPLASH的伤害
|
仇白的天赋造成的伤害为SPLASH类型,仅用于判定天赋触发条件,不会出现天赋触发天赋自身的情况
|
|
持续伤害
|
种类为BUFF的伤害 或者说视觉上不依赖攻击,而是通过对目标施加一个持续效果造成的伤害
|
大多数“毒伤”或DOT伤害即为这一种表现形式目前已知的所有BUFF伤害: 【自残类型】各类持续受到真实/法术伤害的自残伤害,冰原卫法者/弧光锋卫失衡状态下的自残伤害 【地形/BUFF/装置/机制】烈焚灼息,梅什科线圈,废热喷口,源石污染区,活性源石风暴,熔岩裂隙,深水区/涨潮水蚀 【集成战略】悬丝傀儡(及其同类型),尖刺之手,净尘之手 【元素】凋亡损伤爆发的持续元素伤害 【来自干员天赋或特性】奥斯塔,蓝毒,阿斯卡纶,归溟幽灵鲨,温蒂/夜魔/钩索师X模组,棘刺(第一天赋),妮芙(第一天赋) 【来自干员技能】伊桑1技能,深靛2技能,和弦2技能,火哨技能,焰影苇草3技能,战车1技能,缄默德克萨斯1技能,波登可2技能,谜图2技能,伊内丝1技能,赫德雷3技能,戴菲恩2技能,伊芙利特2技能 【其他】妮芙1技能/3技能/伊芙利特Δ模组攻击对应损伤爆发期间敌人的元素伤害,鸿雪2技能三段伤害的后2段 常见表述形式为:(不依赖攻击行为的)每秒造成……/移动1格造成…… 锡人通过第二天赋为持续伤害提供增益的炼金单元可以为上述伤害提供加成
|
|
其他伤害相关分类
- 如无特殊说明,所有附加了额外伤害或效果的攻击,其效果都默认生效于主攻击之前。
伤害描述
|
基本描述
|
备注
|
用例
|
附加伤害
|
执行主攻击时(包括普通攻击、技能攻击等)附加的伤害
|
无特殊说明时,额外伤害或效果默认生效于其所属的主攻击之前 驭械术师未释放的浮游单元协同伤害属于这一范畴
|
|
技能直接伤害
|
非普通攻击的,①自己依靠技能制造的弹道 ②或者自己在技能期间产生的效果,所造成的直接伤害 ※会受到沉默异常效果: 沉默 无法触发技能 部分能力识别到沉默时自行失效/静默异常效果: 静默 无法触发技能 ※与沉默相近,但暂不会被我方干员添加或识别影响
|
景观喷泉会对这种伤害进行识别 常见的描述或现象:①技能描述为立即发射/造成/进行一次……②攻击改为释放弹道 自己提供但可以通过其他单位触发的效果属于这一范畴(例:未照耀的荣光) 驭械术师通过技能释放的浮游单元造成的伤害属于这个范畴
|
|
无来源伤害
|
造成伤害时被特殊定义的伤害,无法被追溯伤害来源,不造成有来源击杀
|
①伤害来源本身无法被选中时造成的伤害不属于这个范畴 ②衍生物造成的伤害不属于这个范畴,即使追溯伤害来源不会追溯到其主人
|
|
致命伤害
|
理论上(而非实际上)能令目标的生命值变为不大于0的伤害 即将造成致命伤害时将触发致命相关时点的效果
|
参阅:致命伤害
|
|
环境伤害
|
被定义为“自然环境”的伤害即是环境伤害;由游戏地块(特殊地形)产生的伤害都属于环境伤害
|
参阅:自然环境
|
|
视野范围
干员除了拥有攻击范围外,还存在一个“视野范围”。
通常情况下视野范围与攻击范围一致,但部分技能可以改变干员的视野范围,使得当前“攻击范围”与视野范围出现差异。例如铃兰三技能“狐火渺然”、澄闪三技能“澄净闪耀”都会使她们自身丢失视野范围。
- 一个简易的确认方式是通过选中干员的橙色斜条格来确认视野范围。如上述两个例子,选中后会发现她们的所在格也失去了斜条。
- 注意:技能范围不一定就是技能的攻击范围;对倾向于瞬发和目标选取的技能来说,其技能范围是目标的选取范围,而非攻击范围本身进行了扩大。
- 视野范围目前仅用于生息演算的“迷雾”机制与第十二章的“鉴定”机制,长夜临光的“视野”不使用这个视野范围系统。
职业与分支
在游戏中可以知道的是干员有八大职业若干分支,但实际上还有两个见过许多次但总是处于玩家视野之外的“职业”:召唤物与装置。
- 召唤物职业通常仅包括干员附属的召唤物,例如召唤师分支的召唤物、陷阱师的陷阱等。
- 装置职业为除干员附属召唤物外,由敌人和关卡所使用的各类装置,例如浮士德的弩炮台等。
需要特别说明的一点是,从程序意义上而言,职业与分支没有任何必然联系。更广泛的,职业、分支、干员特性和性能之间都没有任何必然联系。
例如傀影的召唤物镜中虚影具有与傀影相同的处决者分支,由此可以享受收藏品极速之手的攻速加成。
伤害、Buff与计算
伤害和治疗的生效流程
一般来讲,明日方舟中的一次“攻击”,在代码层面是一个包含了伤害(治疗)量和各种属性的一个小数据包。
这个数据包里除了攻击力,还包括例如伤害类型(物理/法术/真实/治疗),攻击类型(普通/溅射/Buff),是否可致死,是否属于环境伤害等等一系列属性,故我们在这里称其为“攻击属性数据”。
而一次攻击从发出到被结算需要经过以下流程:
流程顺序 |
流程名称 |
流程内容 |
应用举例
|
1 |
来源实体事件:ON_CALCULATE_DAMAGE。 |
获取modifier的各项属性,计算伤害并生成modifier |
攻击倍率调整
|
2 |
|
准备向目标实体应用modifier,检查modifier是否被cancel
|
3 |
目标实体事件:ON_BEFORE_APPLYING_MODIFIER |
|
4 |
来源实体事件:ON_OUTPUT_MODIFIER |
检查来源有效性。 |
造成治疗倍率调整
|
5 |
检查modifier目的, |
为伤害时执行来源实体事件:ON_OUTPUT_DAMAGE |
伤害倍率调整
|
6 |
目标实体事件:ON_APPLYING_MODIFIER |
受治疗倍率调整
|
7 |
执行On_Take_Damage/On_Take_Heal
|
1.取消掉隐匿/无敌状态下的攻击
2.取消试图非强制治疗不可治疗单位的治疗
3.检测modifier是否被cancel,反伤,闪避,抵挡,护盾。
|
未被cancel时对目标应用modifier
|
8 |
应用成功后, |
执行目标实体事件ON_APPLIED_MODIFIER |
|
9 |
检查modifier目的, |
为伤害时执行来源实体事件:ON_AFTER_OUTPUT_DAMAGE |
成功造成伤害为条件的效果触发判定
|
当即将造成的伤害不小于目标生命值时,即造成致命伤害。
- 也可以通过设置将某些不满足条件的伤害强行设置为致命伤害。无特殊说明时,生命流失(后述)效果也会致命。
- 由于计算精度原因,即将造成的物理/真实伤害不小于目标生命值时即为致命伤害;即将造成的法术伤害需严格大于目标生命值才为致命伤害(仅受到法术伤害的单位会出现真正的0血存活现象)
- 这种伤害会触发“受到致命伤害时”“被击倒时”等相应事件节点。
- 如斯卡蒂Y模组基础效果,即将受到致命伤害时将该致命伤害变为0,随后重设生命值为最大值
- 但虽然描述上都是在受到致命伤害时触发效果,但不同效果间的触发时点亦有差异,需要对具体触发时点有所区分(详见下表)。
致命伤害相关结算顺序
|
结算时点 从上到下执行
|
描述
|
用例
|
即将受到伤害时 OnTakeDamage
|
“我认为我受到了生命威胁,即将会死” 伤害正式应用前的事件触发时点 该时点生效的效果会对该次伤害进行预判,超过自身当前生命值便会触发效果(无论其是否为非致命伤害) ※也会预判生命流失
|
|
正在应用伤害时 DoApplyModifier
|
“看着很吓人,其实不会要命” 正式应用伤害的时点 非致命伤害等效果在该时点进行处理:该伤害为非致命伤害时,不会使目标生命值重设为低于1的值
|
|
重设目标生命值时 SetHpInternal
|
“这下有走马灯了” 根据伤害,重设目标生命值至指定值 对需重设的生命值进行判断,小于等于0时触发OnBeforeTrySetHpZero事件 不死异常效果: 不死 重设HP时不会使其低于1在触发上述事件后处理,修改重设生命值令其不低于1
|
|
无畏者协议提供的不死异常效果: 不死 重设HP时不会使其低于1效果仅在目标没有不死异常效果: 不死 重设HP时不会使其低于1效果时才会触发
|
|
机制意外举例:
因陀罗闪榴莲针
|
我刚刚闪了个什么?
|
现象:阿的远程攻击触发了因陀罗的近战攻击闪避天赋。
|
原理:攻击类型属于远程还是近战,是攻击属性数据里面的其中一项,用两位二进制数存储,无是00(0),近战是01(1),远程是10(2),近+远是11(3)。
在检查特效是否生效的时候,就用检测条件与远近数据进行“与”运算,之后看是否有变化,无变化则认为是近战,比如01&01=01(条件近战-数据近战,不变,判定成功),01&10=00(条件近战-数据远程,变了,判定失败)。
但是,阿的攻击因为伤害固定,做了特殊处理,伤害类型为00(无),01&00=00,无变化,所以被认成了近战,于是触发了闪避。
以及,有弹道的攻击固定为10,无弹道的攻击固定为01,所以无人机的无弹道远程攻击也可能会被闪避。
|
被护盾挡下的增伤拐
|
我红字呢?
|
现象:部分情况下,泥岩的法术屏障术语: 屏障 可以吸收一定数值的伤害 ※若无特殊说明,屏障可吸收全种类伤害 ※屏障成功完全吸收伤害(屏障量≥伤害)时,该次攻击视为被抵挡 ※拥有屏障的我方单位会在其生命值条右侧延伸淡蓝色的临时生命条作为计量提示 ※与其他伤判效果之间的互动请参考页面伤判效果存在时,会使其受到的法术伤害吃不到伤害加成。
|
原理:很明显,这二者在执行时并不会相互调用。
先结算屏障时,如果只抵消一部分,伤害倍率提升由于其逻辑只会对抵消后的modifier值生效;
先结算伤害倍率提升时,modifier值会被增加,屏障值的扣减也会被伤害倍率提升加成。
由于这二者的行为位于一个行动节点,按照鹰角目前的逻辑,其行动会按照其在buffContainer中的顺序(绝大部分时候为添加顺序)进行结算,也就是说:
先加屏障,再加易伤,护盾吃不到伤害加成,
先加易伤,再加屏障,护盾可以吃到伤害加成。
关于这类伤判效果的先后顺序现在已经有了更详细的解释,详见伤判效果一节。
|
AOE伤害判定的本质逻辑
AOE的判定是对攻击范围内的每个可以被选中的敌人进行判定,按照仇恨优先级(对于我方受到的AOE则是影响范围内的部署逆序)逐个判定伤害。
对于具有弹道的AOE攻击(例如狙击分支“炮手”的绝大多数干员),其机制为:先选择单体目标或者地点发动攻击,并在命中后立刻选取范围内全体目标造成伤害。
对于没有弹道的AOE攻击,依照对象的锁定方式分为两种情况:
- 锁定人数的无弹道AOE攻击(例如近卫分支“强攻手”),其机制为:在抬手时选取范围内的全体目标(不超过其攻击目标上限),并在攻击前摇结束时对这些目标造成伤害——即使目标已经离开攻击范围。
- 一个反直觉的例子是:霜星的冰环属于“锁定人数”的AOE。
- 锁定攻击范围的无弹道AOE攻击,其机制为:在攻击前摇结束时选取范围内的全体目标,同时造成伤害。
- 这也是伊芙利特炎爆打不中横着跑的狗的原因,因为前摇结束后狗已经跑出攻击范围。
- 由此,你无法用槐琥或红的二技能,以及傀影的三技能在不阻挡的情况下伤害一名具有隐匿效果的单位,因为这些技能都是“锁定范围”的AOE。
Buff判定与可选性
加Buff的原理
在2020年3月17日的更新之前,明日方舟中给某个范围内的单位加Buff的原理如下:
- 技能开启、有常驻性Buff的干员部署时,通过Buff选择器选中攻击范围内所有能选择的目标。
- 在Buff生效期间新单位进入生效区域时通过Buff选择器试图选中新单位并加Buff。
- 单位离开生效区域,技能结束或干员退场时强制清除目标身上的对应Buff。
- 由于这个兜底机制的存在,大部分光环类buff持续时间都是永久。
- 其他情况下基本不更新Buff状态。
在2020年3月17日的更新之后,Buff判定机制发生了一定的修改,但原机制仍然绝大部分有效,后文用到时会标注出已经更改的部分。
隐匿与Buff的关系
隐匿状态下的单位一般无法被敌方的索敌机制和Buff选择器选中为目标,直到状态被解除。
比较熟知的单位有我方守林人的一技能“环境伪装”,麦哲伦第二天赋“光学折射配件”影响下的无人机,敌方的潜伏者、隐形弩手等。
- 一个极其奇葩的例子是狮蝎的天赋“隐匿的杀手”带来的所谓“隐匿”,此“隐匿”实际为异常状态中的不可选中异常效果: 不可选中
无法被敌对阵营选中(可选性效果)套上了隐匿的特效。
相较于隐匿而言,这个“隐匿”不会被反隐影响——狮蝎并不会因为反隐而失去“隐匿”,因为她根本没有隐匿。
- 对于具有隐匿能力的敌方单位,其会受到阻挡开关的控制。
在被阻挡时开关会被关掉从而失去隐匿,阻挡状态解除后3s开关重新被开启而恢复隐匿。
目前明日方舟中使用能选中隐匿状态单位的Buff效果一定是无视隐匿状态起作用的。
- 准确来说是无视可选性,其中包括了敌方与我方的反隐能力,毕竟不无视隐匿怎么加上反隐Buff。
例如:
- 能够反隐的能力:银灰第二天赋“鹰眼视觉”、极境二技能“聆听”、月禾一技能“迹无”、敌方技术侦察兵、反隐装置的反隐Buff等。
- 不是反隐的、无视隐匿状态起作用的能力:莫斯提马第二天赋“主观缓时”、安洁莉娜三技能“秘杖·反重力模式”的全场敌人重量降低Buff、假日威龙陈技能生成的减速区域的减速Debuff、敌方寒霜的攻速下降Debuff等。
像隐匿这样直接禁止被索敌的异常效果还有很多,以下提到的异常效果都会阻止对应索敌机制锁上持有者。
不过请注意,隐匿只是针对于敌方单位选择器的一个Buff,不会应用于友方单位,下面这些就不一定了。
- 迷彩异常效果: 迷彩
无法被敌对方非溅射攻击类型动画能力和部分弹道选中(可选性效果);会因隐匿免疫而失效
※迷彩与“阻挡时解除”没有直接关系,该机制通常由其他效果实现:只会被部分特殊的索敌选中,但大部分与隐匿可以规避的能力重叠,会被反隐影响而失效。
- 迷彩不适用可选性,无视隐匿即可无视迷彩,但在某些设置中仍能够绕过可选性设置可否“无视迷彩”(例如第七章中的源石祭坛便是无视隐匿但无法“无视迷彩”的奇怪例子)。
- 不可选中异常效果: 不可选中
无法被敌对阵营选中(可选性效果):狮蝎专属的“隐匿”,上文提到了,不受反隐影响。
- 无敌异常效果: 无敌
无法被敌对阵营选中(可选性效果),受到的伤害变为0,元素值不会损失:不被选中的同时不会被反隐,还不会受到伤害。尤其注意不可选中,这和常规意义上“打中人没伤害”的无敌是两码事。
- 孤立异常效果: 孤立
无法被同阵营选中(可选性效果):无法被友方单位选中,也不会被反隐,可以理解为针对队友的“内鬼版隐匿”。
- 禁疗异常效果: 禁疗
无法成为治疗类能力的目标(可选性效果),受到的治疗量变为0
※增减“生命自然回复速度”的效果不属于治疗类能力:无法被治疗类效果选中,不论阵营。且受到的所有治疗效果无效化。可以理解为仅针对治疗的全阵营隐匿。
- 干员部署时的不可选择:无法被选中,无法被反隐,它甚至不是一个异常状态或者Buff。
- 当敌方单位被空降阻挡时,空降的我方单位在播放入场动画时就视为在阻挡状态。
而对于敌方而言,只要被阻挡,就会无视隐匿/不可选中/迷彩/无敌等影响可选性的能力进行强制攻击。
而大部分召唤物并没有入场动画,这些没入场动画的召唤物自然就没有这样的设定。
以上效果同样可以被无视或无法正常生效:
- 满足迷彩异常效果: 迷彩
无法被敌对方非溅射攻击类型动画能力和部分弹道选中(可选性效果);会因隐匿免疫而失效
※迷彩与“阻挡时解除”没有直接关系,该机制通常由其他效果实现奇怪的要求的索敌(即溅射类型的伤害)就可以无视迷彩造成伤害。
- 无敌异常效果: 无敌
无法被敌对阵营选中(可选性效果),受到的伤害变为0,元素值不会损失和不可选中异常效果: 不可选中
无法被敌对阵营选中(可选性效果)也会被无视隐匿(无视可选性)的索敌选中。
- 浊心斯卡蒂的鼓舞Buff可以无视孤立异常效果: 孤立
无法被同阵营选中(可选性效果)。
- 凯尔希的索敌中强行无视了Mon3tr的禁疗异常效果: 禁疗
无法成为治疗类能力的目标(可选性效果),受到的治疗量变为0
※增减“生命自然回复速度”的效果不属于治疗类能力效果,甚至凯尔希的治疗都无视禁疗异常效果: 禁疗
无法成为治疗类能力的目标(可选性效果),受到的治疗量变为0
※增减“生命自然回复速度”的效果不属于治疗类能力效果。
但对于Mon3tr以外的角色,凯尔希仍然受目标的禁疗异常效果: 禁疗
无法成为治疗类能力的目标(可选性效果),受到的治疗量变为0
※增减“生命自然回复速度”的效果不属于治疗类能力影响从而无法对其治疗。
- 即便是状态机带来的不可选择,若干员落地前便被阻挡便可因为阻挡的强制选择攻击而被攻击。
在以上情况的综合效应下,就会出现一些看似BUG但十分合理的情况:
- 留声机即使能奶我方单位,也会因为自己始终是敌方装置的缘故无法选中隐匿的我方单位。
- 反之,留声机打起“队友”(敌方)的时候完全无视隐匿,治疗“敌人”(我方)的时候也无视孤立。
- 阿即使能打我方单位,也会因为我方单位孤立异常效果: 孤立
无法被同阵营选中(可选性效果)的效果避开某些我方单位。
- 阿打起队友的时候完全无视隐匿和无敌。(由此,使用阿3技能攻击处于无敌期间的泥岩,泥岩会被击中,但不会受到任何伤害)
- 在2024年2月3日生息演算常驻前,原用于生息演算的超级装置坚固筑台除了能够使远程位单位部署其上,还能够赋予其上的我方单位无敌异常效果: 无敌
无法被敌对阵营选中(可选性效果),受到的伤害变为0,元素值不会损失,由此:
- 其上的单位不会受到任何外源伤害;只要筑台不被摧毁,其上的我方单位就不会退场。
- 可以解除缴械异常效果: 缴械
无法进行攻击,持有无敌时无效
※也无法进行其他攻击行为(如猎手装弹、秘术师储存能量)(本质是缴械自身失效),故林和携带2/3技能的安洁莉娜可以进行普通攻击(即使缺少动作模型)。
- 但是筑台还会赋予其上的干员孤立异常效果: 孤立
无法被同阵营选中(可选性效果)和禁疗异常效果: 禁疗
无法成为治疗类能力的目标(可选性效果),受到的治疗量变为0
※增减“生命自然回复速度”的效果不属于治疗类能力,由此其上的菲亚梅塔和阿无法受到任何治疗,且生命流失依旧有效。
- 随着生息演算常驻,坚固筑台被高台工事所取代,同时也对上述情况进行了修复。
机制意外举例:
与隐匿状态的联动
|
在睡眠之歌里蹦迪
|
现象:1.当隐匿敌人在进入空的“睡眠之歌”作用区域后因为被阻挡而显形不会使敌人进入沉睡状态。 2.在三秒显形时间内使敌人再次进入作用区域时,会进入沉睡状态,但隐匿恢复后的敌人会解除沉睡状态。
|
原理:在以隐匿状态进入buff区域后被阻挡显形无法触发目标更新机制,不会受到buff的影响。 此内容已在2020年3月17日的更新中被修复。
|
与无敌状态的联动
|
叠满Debuff的三级弑君者&龟速霜星
|
现象:1.在弑君者位移前摇时施加buff,如果位移后离开buff范围,则该buff在干员在场的情况下可无视攻击范围限制无限持续。 2.满足现象1的弑君者再次踏入同名buff中后,该buff在干员不在场的情况下也可无限持续。 3.延伸:用上述同样的办法,让霜星获得了永续停顿状态,移动速度降低到0.1的下限。
|
原理:(以弑君者为例)
- 弑君者施放技能时处于"无敌"状态,进入光环范围。
此时单位会被添加至m_invalidTarget列表中。
- 弑君者离开光环范围,解除"无敌"状态。
此时光环能力执行OnTick函数时,由于目标仍处在m_invalidTarget列表中,因此会被_DoTargetCheckAndEnter函数检查条件。 由于这个时候是符合条件的,因此弑君者会被添加buff,并被登记在m_targetMap字典中(即使处在范围外)。随后目标从m_invalidTarget列表中移除 (即达到buff在干员在场的情况下可无视攻击范围限制无限持续)。
- 弑君者再次进入光环范围,撤离干员,受到的光环效果永久持续。
此时会再次触发OnTriggerEnter2D函数并被添加buff(但是因为同名buff的默认叠加策略buff只能表现出一个),并登记在m_targetMap字典中。 但因为m_targetMap是字典,因此在登记的时候,键(key)还是不变的实体指针,值(value)已经被替换成了新buff的uid,而旧buff的uid因此被遗失(类似内存泄露)。 最后,不管光环能力通过什么手段试图结束buff,被结束的都只是新buff。而旧buff由于并不处于m_targetMap字典上,因此脱离了光环能力的掌控而永久生效。
此内容已在2020年8月25日的更新中被修复。
|
技能、天赋与沉默
和常规的以格为单位的可部署单位类似,敌方单位也拥有“技能”与“天赋”,但存在一些特殊的情况:
- 大多数敌方单位的技能不消耗技力,而是使用的“冷却”(Cooldown / CD)机制,只要冷却完成并且满足条件即可自动释放。
- 但这并不代表敌人不会使用类似技力槽的机制。例如岁相技能“十方吐纳”、寻路者系敌人/安多恩/圣徒卡门等的弹药都需要消耗技力才可释放,且可以自定义要消耗的技力数(如安多恩跳弹初始有5技力,每次发射只消耗1技力而不是全部消耗)。
- 正常情况下,所有冷却技能会同时各自进行CD和释放判定,并且会有一个“初始CD”以提前/推迟首次释放的时间点(效果和干员部署后的“初始技力”相似)。
- 如果有多个技能完成了CD,则会根据预先设定的优先级调整释放时间。相同优先级的情况下会随机进行释放。
- 天赋可以让该敌人获得各种常驻或临时性效果、特定时间点触发的机制、转阶段判定、监听所需的数据和记录等,其实际效果近似甚至远超干员的天赋结构。
沉默类能力的原本职能仅针对技能。技能类能力默认可以被沉默。
当敌人获得沉默异常效果: 沉默
无法触发技能
部分能力识别到沉默时自行失效时,如果沉默成功生效,则在沉默生效期间内该敌人的技能将会失效或无法应答。因此特定敌人会以各种方式规避沉默,包括但不限于:
- 获得沉默抗性异常效果: 沉默
无法触发技能
部分能力识别到沉默时自行失效
沉默免疫: 使自身的沉默失效,但不会清除相关BUFF(如大多数领袖级别单位)
- 强制让对应的技能无法被沉默(如暴鸰的投弹,即使该单位本身没有沉默抗性,投弹依旧能够被触发)
等。
部分敌人的特殊能力并非以技能形式体现,其默认为无法被沉默。
- 如果这个特殊能力拥有在其受到沉默影响时无效的特点,则对应的特殊能力可以被沉默。
伤害计算
红字显示算法
明日方舟里,伤害在实际计算时均保留小数取精确值,只有在显示时就近取整
- 比较经典的一例就是“0血干员”,但这不是这一小节的主要内容。
在计算之前,先复习一下攻击buff的种类:
- A类为面板攻击Buff(词缀为+X%攻击),所有同类型Buff为加算;
- B类为攻击倍率(词缀为造成相当于Y%攻击力的伤害);
- C类为最终攻击倍率(词缀为攻击力提升至Z%攻击力的伤害)。
那么:
- 先计算A类Buff后的面板攻击力,即:
A = 自身面板攻击力×(1+X%攻击)+友方面板攻击力×友方技能倍率
- 用A的攻击力攻击敌方,在防御/法术抗性和抛光机制的影响下能够造成的伤害记为Xa。
- 再在A类基础上考虑B、C类buff的加成,即:
B = A×造成Y%伤害×攻击力提升至Z%
- 最后引入降防/降抗和增伤Buff,计算以B的攻击力对削弱后的目标造成的伤害、记为Xb。
若Xb≥1.5×Xa,则显示以Xb为数值的红字。
- 目前红字没有下限,甚至因为0≥1.5×0,所以0也会显示红字,比如这只在受到攻击瞬间即闪现的弑君者。
- 但如果这次本可以造成红字的伤害被闪避,则当次伤害以黄字MISS替代显示。随着拥有闪避的敌我双方逐渐增多,MISS的出现频率也高了起来。
- 最多同时出现10个红字,后生成的红字会顶替已生成的红字。
- 在谜图实装后出现了一种特殊的蓝字,目前生成机制不明,可能与连续10次法术伤害未能击穿目标的法术屏障术语: 屏障
可以吸收一定数值的伤害
※若无特殊说明,屏障可吸收全种类伤害
※屏障成功完全吸收伤害(屏障量≥伤害)时,该次攻击视为被抵挡
※拥有屏障的我方单位会在其生命值条右侧延伸淡蓝色的临时生命条作为计量提示
※与其他伤判效果之间的互动请参考页面伤判效果有关。
且谜图攻击拥有护盾的“墓碑”“物欲拮抗者”时还会出现更奇怪的黄字BLOCK。
一些红字的计算举例
常规作战:7-18中,老鲤打出的109840
计算流程
|
- A=老鲤面板899×(1+不稳定血浆0.9+爆发剂·榴莲味0.5+精力充沛术语: 精力充沛
生命值高于一定比例时攻击力加成提升相应比例(同名效果攻击力加成取最高) ※实际为持有“根据当前生命值判定是否获得攻击力加成”的“精力充沛”效果,即该效果不会因为未满足攻击力加成条件而消失 ※生命值比例的判定每0.3秒进行一次0.5+协同作战0.36+青色怒火0.14+战术整理·VI0.2)+“潮涌,潮枯”445×(1+0.09+0.14)×1.1=3838.485
- 爱国者法抗=(面板0.45-灼地0.2-冻结术语: 冻结
无法移动、攻击及使用技能(通过寒冷触发);敌方被冻结时,法术抗性-15 ※敌方被冻结时,法术抗性的增减为直接加算0.15)×(1+行军姿态1)×精神融解0.56=0.112
- Xa=A×(1-爱国者法抗0.112)=3408.57468
- Xb=B×钙质化1.55×支援地雷1.5×灵知第一天赋1.54=109839.61477566
- Xb>1.5×Xa,所以显示红字,最终显示结果为Xb进位后的109840。
|
危机合约:荒野 无序矿区中,断罪者在支援合约的加成下打出的138152
计算流程
|
{[断罪者攻击力888×(1+活性源石50%+阿榴莲针50%+华法琳血怒90%+诗怀雅天赋36%+近卫小车天赋20%+近卫阿米娅天赋14%)+浊心斯卡蒂攻击力445×(1+浊心斯卡蒂天赋18%+波登可天赋11%+近卫阿米娅天赋14%)×技能倍率110%]×合约加成200%×伤害倍率800%-泥岩巨像防御力600}×慑砂天赋116%×W天赋121%×巫恋天赋[1+(33%×一技能1.8)]=138152.424433
|
集成战略:干员触发收藏品扼喉之手打出的6149994
计算流程
|
{[扼喉之手攻击力999999×文明的存续(1+150%)×支援地雷(1+50%)×灵知第一天赋[1+(32%×2)]=6149993.85
|
最小单次非零红字伤害:5-6中,刻俄柏打出的1
计算流程
|
- A=((220-高爆弹头210)×(1-碎甲箭-扩散0.35)×(1-聆听0.25)×(1-诅咒娃娃0.5))×刻俄柏剥壳0.4=0.975
- Xa=A×(1-目标的法抗0)=0.975。
- Xb=B×钙质化1.5×(1-目标的法抗0)=1.4625
- Xb>1.5×Xa,所以显示红字,最终显示结果为Xb=退位后的1。
需要特别说明的是,这个“1”实际为刻俄柏的天赋“剥壳”造成的法术伤害,实际给予的伤害还包括三技能打出的物理伤害,因此被击中的暴鸰·G依旧被击倒。
|
就近取整:四舍六入五成双
由于《明日方舟》使用Unity引擎编写,其有多处使用了Unity核心库中的Mathf结构函数对小数(浮点数,Float类型)进行取整处理,包括:
- Mathf.Floor(x) 向下取整(返回小于等于x的最大整数)
- Mathf.Ceil(x) 向上取整(返回大于等于x的最小整数)
- Mathf.Round(x) 就近取整
其中“就近取整”并非常见的“四舍五入”,而是“四舍六入五成双”(采用.NET中的MidpointRounding.ToEven规则)。
对于x的小数部分xf(此时0≤xf<1):
- 例:7.6 → 8,9.72 → 10
- 例:7.4 → 7,4.4999 → 4
- 例:7.5 → 8,6.5 → 6,1999.5 → 2000
当站内提及“就近取整”时,通常就指的是这样的取整方式。
例如:在集成战略探索者的银凇止境中,将所有文化比较研究完成后可以令干员在高难度(9+)情况下获得累积+23%的攻击力与防御力加成,该加成以符文的形式写入。
已知,符文加成后干员的数据将就近取整,则:
- 招募1星干员THRM-EX(30级,满信赖)的情况下,其原本攻击力为350。
- 加成后,攻击力变为430(350 × 1.23 = 430.5 → 430)。
- 招募2星干员12F(30级)的情况下,其原本防御力为50。
- 加成后,防御力变为62(50 × 1.23 = 61.5 → 62)。
伤判效果与生命流失
伤判效果 是对一类在 计算完防御/法术抗性 后 增加或减少伤害或直接让伤害归零的BUFF的统称。且不包括无敌异常效果: 无敌
无法被敌对阵营选中(可选性效果),受到的伤害变为0,元素值不会损失与重设伤害效果。
- 目前截止到客户端版本2.2.21,游戏内共有4种伤判效果的种类。
- 其中1种在攻击时进行计算的攻击伤判效果:
- 攻击命中:所有单位拥有初始100%的物理/法术命中率属性,会受到命中率降低效果的影响。进行攻击的单位的命中率低于100%而开始攻击时会进行命中判定,会出现攻击未命中现象。
- 另有3种在即将受到伤害时进行计算的受击伤判效果:
- 伤害修改 : 包括脆弱术语: 脆弱
受到的物理、法术、真实伤害提升相应比例(同名效果取最高)
※与其他伤判效果之间的互动请参考页面伤判效果、庇护术语: 庇护
受到的物理和法术伤害降低相应比例(同名效果取最高)
※与其他伤判效果之间的互动请参考页面伤判效果、屏障术语: 屏障
可以吸收一定数值的伤害
※若无特殊说明,屏障可吸收全种类伤害
※屏障成功完全吸收伤害(屏障量≥伤害)时,该次攻击视为被抵挡
※拥有屏障的我方单位会在其生命值条右侧延伸淡蓝色的临时生命条作为计量提示
※与其他伤判效果之间的互动请参考页面伤判效果(屏障量<伤害时)等。
- 抵挡 : 包括护盾术语: 护盾
每层护盾可以抵挡一次伤害
※若无特殊说明,护盾可吸收全种类伤害
※护盾成功抵挡伤害时,该次攻击视为被抵挡
※与其他伤判效果之间的互动请参考页面伤判效果、屏障术语: 屏障
可以吸收一定数值的伤害
※若无特殊说明,屏障可吸收全种类伤害
※屏障成功完全吸收伤害(屏障量≥伤害)时,该次攻击视为被抵挡
※拥有屏障的我方单位会在其生命值条右侧延伸淡蓝色的临时生命条作为计量提示
※与其他伤判效果之间的互动请参考页面伤判效果(屏障量≥伤害时)、星熊的概率伤害抵挡等。
- 闪避 : 包括焰尾的次数闪避、焰尾的概率闪避等。
- 每次进行攻击-受击的伤害交互时,将依次按照流程顺序、优先级与BUFF的获取顺序为顺序处理每个伤判效果。(攻击>受击,优先级>获取顺序)
- 如果攻击未命中,当次攻击的所有段数伤害均不会生效,部分附加buff也不会生效(主要包括:晕眩术语: 晕眩
无法移动、阻挡、攻击及使用技能、寒冷术语: 寒冷
攻击速度下降30,如果在持续时间内再次受到寒冷效果则会变为冻结&冻结术语: 冻结
无法移动、攻击及使用技能(通过寒冷触发);敌方被冻结时,法术抗性-15
※敌方被冻结时,法术抗性的增减为直接加算、缴械&战栗术语: 战栗
被阻挡后无法进行普通攻击
※可以变相阻止敌人发动部分技能(如需要数次攻击后触发的技能),附加脆弱术语: 脆弱
受到的物理、法术、真实伤害提升相应比例(同名效果取最高)
※与其他伤判效果之间的互动请参考页面伤判效果、虚弱术语: 虚弱
使目标攻击力降低相应比例(同名效果取最高)、停顿术语: 停顿
移动速度降低80%,属性偷取术语: 偷取
减少目标的基础属性作为自身加成,目标减少和自身加成的属性不超过指定上限(同类属性取最高)
※目标/自身的属性变化均使用最终加算
※若未指定上限,则双方属性增减益无上限;指定上限时,每个目标均可被偷取最多上限值的减益量
※目标受到来自多个来源的偷取属性减益时,每个受影响属性取各自的最高偷取减益值生效
※本质上为独立的目标属性减少与自身属性增加的两个效果,与目标是否具有相应数值的属性无关)
- 未命中的攻击因为没有成功造成伤害,故无法触发闪避/格挡/屏障/护盾效果,及其相应事件的衍生效果。
- 相应的,不需要判断伤害是否有效的事件(如反伤、追溯伤害来源)不受攻击是否命中影响。
- 受击伤判效果处理时,根据这个伤判效果的条件,检查该伤害与受击单位本身是否满足其伤判条件进行伤害的修改,只有当条件满足时才可正常规避/增加/减免伤害。(如血量要求、触发概率、应对伤害类型、屏障量、护盾次数等)
- 当伤害被成功规避为 0 时(如成功抵挡、成功闪避),将不再判定后续其他伤判效果。
- 反之,将继续判定后续的 伤判效果。
- 若所有伤判效果均被处理且伤害没有归零,则本次攻击将被视为 成功造成伤害 ,才可以正常享受 成功造成伤害时 节点的效果。
- 反之,若伤害在处理完成前归零,则根据伤害阶段的不同(攻击未命中/成功抵挡/成功闪避), 享受对应情况的效果。
下表展示了一些技能或天赋提供的伤判效果的优先级,你可以以此作为参考来确定其它伤判效果的结算顺序:
常见伤判计算特殊优先级
|
优先级
|
效果来源
|
效果描述
|
+2000
|
|
|
天赋【比肩的愿景】 部署后,使场上阻挡数大于等于3的友方近战单位获得1层物理护盾术语: 物理护盾 每层物理护盾可以抵挡一次物理伤害 ※护盾成功抵挡伤害时,该次攻击视为被抵挡 ※与其他伤判效果之间的互动请参考页面伤判效果,【卡西米尔】阵营干员额外再获得1层
|
+1000
|
|
|
天赋【造型仪调试】 ……使一名近战位上的单位……获得2层护盾术语: 护盾 每层护盾可以抵挡一次伤害 ※若无特殊说明,护盾可吸收全种类伤害 ※护盾成功抵挡伤害时,该次攻击视为被抵挡 ※与其他伤判效果之间的互动请参考页面伤判效果(持续25秒,防御加成不叠加)
|
±0
|
|
大多数非特殊伤判效果,如:脆弱术语: 脆弱 受到的物理、法术、真实伤害提升相应比例(同名效果取最高) ※与其他伤判效果之间的互动请参考页面伤判效果、庇护术语: 庇护 受到的物理和法术伤害降低相应比例(同名效果取最高) ※与其他伤判效果之间的互动请参考页面伤判效果 站内无优先级特殊说明的伤判效果其优先级均是±0
|
-1000
|
|
|
天赋【律法卫士】 部署后立即获得相当于生命上限55%的屏障术语: 屏障 可以吸收一定数值的伤害 ※若无特殊说明,屏障可吸收全种类伤害 ※屏障成功完全吸收伤害(屏障量≥伤害)时,该次攻击视为被抵挡 ※拥有屏障的我方单位会在其生命值条右侧延伸淡蓝色的临时生命条作为计量提示 ※与其他伤判效果之间的互动请参考页面伤判效果,每击倒一名敌人时获得相当于生命上限10%的屏障术语: 屏障 可以吸收一定数值的伤害 ※若无特殊说明,屏障可吸收全种类伤害 ※屏障成功完全吸收伤害(屏障量≥伤害)时,该次攻击视为被抵挡 ※拥有屏障的我方单位会在其生命值条右侧延伸淡蓝色的临时生命条作为计量提示 ※与其他伤判效果之间的互动请参考页面伤判效果(最多不超过生命上限300%) 技能【披荆斩棘】 立即获得相当于生命上限130%的屏障术语: 屏障 可以吸收一定数值的伤害 ※若无特殊说明,屏障可吸收全种类伤害 ※屏障成功完全吸收伤害(屏障量≥伤害)时,该次攻击视为被抵挡 ※拥有屏障的我方单位会在其生命值条右侧延伸淡蓝色的临时生命条作为计量提示 ※与其他伤判效果之间的互动请参考页面伤判效果……
|
-2000
|
|
|
技能【同归殊途之吟】 ……攻击范围内我方所有单位受到伤害的50%直接转移给浊心斯卡蒂承担(同类效果取最高)
|
-3000
|
|
|
技能【丛林之魂】 ……技能期间暂时只受到50%的伤害,其余伤害延后至技能结束,变为持续20秒等量的生命流失效果
|
此外部分干员/收藏品会提供将过量治疗进行转化的手段,其同样具有优先级。过量治疗的转换只能进行一次,进行了高优先级的转换后,将不再进行低优先级的转换。
过量治疗处理优先级
|
优先级
|
效果来源
|
效果描述
|
+2000
|
|
天赋【再回收】 超出自身生命上限的生命值可转化为屏障……
|
±0
|
|
|
天赋【交感神经激活】 治疗友方单位生命时,超过目标生命上限的治疗量可转化为不断快速衰减的屏障术语: 屏障 可以吸收一定数值的伤害 ※若无特殊说明,屏障可吸收全种类伤害 ※屏障成功完全吸收伤害(屏障量≥伤害)时,该次攻击视为被抵挡 ※拥有屏障的我方单位会在其生命值条右侧延伸淡蓝色的临时生命条作为计量提示 ※与其他伤判效果之间的互动请参考页面伤判效果
|
±0
|
|
【食腐者手杖】 所有我方单位受到的治疗溢出时,周围敌人会受到相当于该次溢出治疗量的法术伤害
|
在作战中,伤判效果 是非常常见的效果之一。有时,该类效果互相之间的使用顺序会极大地影响战局。
例1:赤冬的二技能“信影流·十文字胜”会给自身提供一层护盾,深海色“视觉陷阱”可为攻击范围内的我方单位提供物理闪避。
- 先开启赤冬的技能获得护盾,再开启深海色的技能获得物理闪避,则受伤时只会触发护盾,护盾消失后才能正常触发物理闪避;
- 反之,先开启深海色的技能,再开启赤冬的技能,则受到物理伤害时先计算闪避,闪避失败才消耗护盾。
例2:敌方泥岩拥有吸收法术伤害的屏障术语: 屏障
可以吸收一定数值的伤害
※若无特殊说明,屏障可吸收全种类伤害
※屏障成功完全吸收伤害(屏障量≥伤害)时,该次攻击视为被抵挡
※拥有屏障的我方单位会在其生命值条右侧延伸淡蓝色的临时生命条作为计量提示
※与其他伤判效果之间的互动请参考页面伤判效果,铃兰的三技能“狐火渺然”能赋予敌人脆弱术语: 脆弱
受到的物理、法术、真实伤害提升相应比例(同名效果取最高)
※与其他伤判效果之间的互动请参考页面伤判效果。
现在开启铃兰的技能为其赋予脆弱,然后使用法术伤害攻击泥岩。
- 若泥岩早已开启屏障,则其他干员造成的法术伤害将优先被屏障挡下而无法享受脆弱效果;
- 反之,若在泥岩屏障耗尽后使用铃兰为其赋予脆弱,之后即使泥岩再次开启屏障,也会因为法术伤害先判定脆弱效果,再被屏障吸收,导致屏障被其他干员更快击破。
值得注意的是,干员泥岩的护盾不是重新获得,而是在已有的护盾术语: 护盾
每层护盾可以抵挡一次伤害
※若无特殊说明,护盾可吸收全种类伤害
※护盾成功抵挡伤害时,该次攻击视为被抵挡
※与其他伤判效果之间的互动请参考页面伤判效果之上补充层数(即使剩余0层也如此)。这和敌方泥岩等"获得"护盾的方式不同,不会改变BUFF的获取顺序——它几乎永远是最先被获得的。
伤判效果 导致伤害被闪避或抵挡时,无法触发一些效果。
例3:雷蛇的第一天赋“战术防御”效果为:在成功受到伤害时,可以回复自己和周围一格内随机一名友方角色1点技力。
在1技能触发后,或拥有来自造型仪的护盾术语: 护盾
每层护盾可以抵挡一次伤害
※若无特殊说明,护盾可吸收全种类伤害
※护盾成功抵挡伤害时,该次攻击视为被抵挡
※与其他伤判效果之间的互动请参考页面伤判效果时,因为受到伤害失败(被抵挡),因此所抵挡的这次伤害不会触发该天赋。
- 同样的情况发生在雷蛇拥有一个比伤害更高的屏障术语: 屏障
可以吸收一定数值的伤害
※若无特殊说明,屏障可吸收全种类伤害
※屏障成功完全吸收伤害(屏障量≥伤害)时,该次攻击视为被抵挡
※拥有屏障的我方单位会在其生命值条右侧延伸淡蓝色的临时生命条作为计量提示
※与其他伤判效果之间的互动请参考页面伤判效果时(若更低,仍然会生效)。
- 同样的,砾2技能产生的屏障被能量聚合体击中而未耗尽时,不会使砾进入【烈焚灼息】状态。
例4:阿米娅的第一天赋“情绪吸收”在成功造成伤害时额外回复2点技力。
在不开启技能,首次攻击莱茵生命防卫科成员时,由于本次攻击被其护盾术语: 护盾
每层护盾可以抵挡一次伤害
※若无特殊说明,护盾可吸收全种类伤害
※护盾成功抵挡伤害时,该次攻击视为被抵挡
※与其他伤判效果之间的互动请参考页面伤判效果抵挡,故本次攻击造成伤害失败,无法获取额外技力。
- 同样的情况发生在攻击未被阻挡的深溟猎食者时,当攻击被其闪避,同样没能成功造成伤害,无法生效。
特别的,生命流失在本质上是一种在计算防御/法术抗性后跳过所有结算与伤判效果的伤害,会保留伤害类型与来源。
- 这意味着生命流失不会触发反伤、受击回复等受到攻击触发的时点(即使是有来源伤害,也会因整个反伤流程没有开始而不触发)
- 也不受脆弱、庇护等增/减伤效果影响。
- 也无法被闪避、格挡、护盾、屏障等效果规避。
无特殊说明的场合默认生命流失的伤害类型为真实
- 出现物理/法术(生命)流失的场合(例:法术流失400生命),说明这种生命流失会受到目标当前防御力/法术抗性影响而相应衰减。
敌方单位行动与坐标相关
行动的基本原理
敌人行动有一套最基础的采用SPFA寻路逻辑的算法,这套算法根据敌人是否为空中敌人还有不同之处。在理想状态和自然状态下:
- 所有敌人始终选择最短路径行动。相同路程的条件下,选择能够缩短空间距离的路线行动。
- 在包含能够<改变路线>的装置(以下简称障碍物类)参与的寻路过程中,还会计算他们的寻路代价。敌方优先选择能够抵达路径点/路径终点的、寻路代价最少的路线行动。
- 通常情况下,每个障碍物类的寻路代价为100,2023年2月14日闪断修复后,地穴的寻路代价为1,000,000。
- 如果此时路线将会穿过部分可以攻击的障碍物类,则路径会将这个障碍物类作为新的路径点,以主动被其阻挡,进而对其进行近战攻击或者技能等尝试将其摧毁。对于阻挡数为0的障碍物类(如破碎支柱)则会直接穿过。
在2023年2月14日闪断修复前,由于生息演算模式的上线,大多数敌人使用的是全自动寻路机制,导致有玩家发现了在特定情况下堵住线路导致敌人自行进入地穴的情况,就是因为地穴所在的路线权重最低所导致的。
修复后,1个地穴被赋予了1,000,000(一百万)级权重(即等效于一万只障碍物叠放在同一格),“敌人自动进坑”的盛况成为历史。
- 对于空中敌人,行动无视地形。
- 对于地面敌人,行动不会进入“不可进入地形/不可通行地块”(如:地穴、围栏、高台、部署了“视为障碍物的装置”的地块等)。
但由于敌人在地图中的行进路线定义,结合阻挡和攻击等情况,敌人的实际行动会非常复杂。
首先需要知道的是,所有敌人的行动路线都由一系行动指令组成。
路径点事件指令
|
TypeID |
ID |
事件名 |
备注
|
0 |
MOVE |
移动 |
移动到指定位置后执行下一步
|
1 |
WAIT_FOR_SECONDS |
停驻(到位置后计时) |
等待一定时间后执行下一步
|
2 |
WAIT_FOR_PLAY_TIME |
停驻(全局计时) |
全局时间达到一定值后执行下一步
|
3 |
WAIT_CURRENT_FRAGMENT_TIME |
停驻(兵团行动开始后计时) |
当前兵团开始后时间达到一定值后执行下一步
|
4 |
WAIT_CURRENT_WAVE_TIME |
停驻(波次行动开始后计时) |
当前波次开始后时间达到一定值后执行下一步
|
5 |
DISAPPEAR |
进入传送 |
进入消失状态(无敌且透明,发生任意移动后取消)并等待一定时间后执行下一步
|
6 |
APPEAR_AT_POS |
离开传送 |
离开消失状态,瞬移到指定位置后执行下一步
|
7 |
ALERT |
警报 |
可能作用于多维合作中,用于敌人进入下层时触发下层警告特效
|
8 |
PATROL_MOVE |
巡逻 |
于2023年1月29日首次加入并应用的路径指令 经过后不会从路径点序列中消失的路径点,会被敌方单位重复经过 存在巡逻路径点时,敌方单位将始终留在战场上沿闭合路径移动,除非其因某些特殊能力退场
|
9 |
WAIT_BOSSRUSH_WAVE |
引航者试炼-休整 |
于2023年8月1日首次加入,于2023年8月24日首次应用的路径指令 将自身移出当前波次,于下x个波次后被移入并执行下一步,以当前状态重新出现 也即未能击杀的场合进行休整,于下个波次继续追击
|
敌人在起点坐标出现时,位于方格正中心,终点坐标的判定点是位于终点格中心的一个半径不大的圆。
- 最基础的“行动”指令会让当前目标沿路线移动到指定位置,包含两个参数:“Position(位置)”和“ReachOffset(偏移量)”。
- “位置”参数是一组坐标,用于确定目标方格的位置;
- “偏移量”参数也是一组坐标,用于确定目标点相对于格子中心的偏移量,也影响行进过程中的路线偏移,这是因为寻路算法始终求近,因而路线偏移不为0即可使敌人不走直线(如“贴墙走”)。
但偏移量为零,在行动结束后目标的位置也不会在方格正中心。
- 确定以上参数后,敌人就会根据寻路逻辑 强行前往该地块。
此时终点若为“不可进入地形/不可通行地块”,敌人也会强行走进去,并受到地块效果和当前地块上的装置影响(如无序矿区中强拆碎石的石头人、DM-3中最后三个往坑里跳的冲刺手等),直至本指令结束。
- 由于“行动”指令只规定了要前往的地点,因此只要敌人没有收到返航指令而偏离路线,同时又存在寻路算法可发现的路线,就会尽一切可能前往该地点直到该指令结束(此时行动指令的目标点就成为了一个Checkpoint)。
- CB-EX2就活用了这个机制,配合障碍物实现了极具戏剧性的演出效果。
- “停驻”指令的效果是让当前目标在当前坐标保持不动,只有一个参数“Time(时间)”,单位为秒(可精确到一位小数)。
- 根据相对时刻的不同,停驻指令拥有不同的变体,但一定会让敌人在目标点停留给出的时间。
- 当停驻时间为0时,也可以视为一个Checkpoint,但大多数停驻是直接在上一次“行动”完成后立刻停驻的。
- 对于能“传送”的敌人(常见为进入通道入口后经过一段时间从通道出口出现),则需要通过“进入传送”和“离开传送”两个指令控制传送状态。
- “进入传送”指令会让目标获得传送门效果,此时该敌人隐形(与隐匿区分)并等待一定时间后执行下一步。
- “离开传送”指令会让目标立刻瞬移至目标位置。
大部分敌人的具体行动路线会在其将要出现在地图上,或者从停驻状态开始运动时,以红线(对于空中单位是黄线)标识在地图上。
- 一个比较冷的知识是黄线的位置是空中单位模型的位置而不是该单位对应的地块的位置。
- 从技术上而言,行动路线和地形/标识线是互相独立的,因此可以产生一些特殊的效果,比如:
- 因行动起点和终点是可以随意填写的,所以可以存在不从侵入点进入战场的单位(比如空降兵、黑水源石虫、从地图外飞入战场的无人机等),而有些地图也确实没有侵入点(如2-9,CA-1)。
- 此类凭空出现的单位的标识线就不会从侵入点开始标识,而是它们出现的地方。
- 上文提到的DM-3的跳坑冲刺手,他们的红线实际上是进入了保护目标点的,而对于黑水源石虫这种低威胁敌人甚至可以干脆不标红线。
- 在愚人节关卡LTTB中潜伏者的突然消失和出现实际也是传送,只是这些敌人没有走到视觉上的通道入口/出口就发生了。
理想状态下,当敌人从第一个行动指令(一般是确定起点)开始,完成所有行动指令后,敌人模型就会变黑消失,视为已处理并立即扣除对应的目标生命值并触发警报音效,且只要地图上还存在至少1名必须处理的敌人且目标生命值未耗尽,关卡就不会结束。
由于实际作战中敌人抵达的终点通常为保护目标点,因此这个操作并无任何问题,但是:
- 如果敌人路径终点不在保护目标点会让人感到迷惑(还是上文的DM-3的跳坑穿刺手,另外愚人节关卡BF-3中和大丑的战斗时间过久会立刻失败也是同样的原因)
- 对于赞助无人机这类扣除0生命值的敌人,依旧扣除生命值并触发音效(区别于“不扣除生命值”,这类敌人依旧扣除生命值但扣除值是0,而且如果想提前结算必须击败这类敌人)。
- 从GT-1开始引入的特殊的敌人属性isUnharmfulAndAlwaysCountAsKilled,会使得目标在自然行动完成后不触发生命值扣除和警报,仅判定为已处理(敌人计数+1)。
- 与必须处理的敌人相对应的,从遗尘漫步活动开始引入的特殊机制“非首要目标”,会使得对应敌人无需被处理即可正常结算通关(铁砧和破片及其上位,注亡拟嗣等敌人具有该属性)。
- 从理想城:长夏狂欢季开始出现了一种能够覆写其他敌人路径的敌人:全封闭沙滩车可以将特定敌人装载为乘客,此时被装载的乘客会原地隐形,被释放后行动路线会变更为沙滩车的路线,且关卡不会因此标注修改后的路线。
传送
上面提到,传送的本质是敌人接受“进入传送”和“离开传送”指令,从而(在消失一段时间后)进行瞬移的操作。
- 消失的实际效果为将自身状态机切换至DISAPPEAR。该状态下目标不会被阻挡,无法被选中为目标,不会执行“返航”指令(见下文“行动受阻”一节),也不会主动攻击。
- 如果在被阻挡时进入消失状态,也会立即停止攻击并解除阻挡状态。
- 消失不是隐匿,故该目标依旧会受到锁定其的攻击而受伤;在2021年7月9日修复前,锁定其的位移会拉出该目标,这时该目标的消失状态会被取消掉。
- 在2021年7月9日修复前,如果传送进入后的停留时间过短,传送的这一段位移可被“正比于距离的真实伤害”识别并造成伤害,由此可以出现因短时间长位移瞬移而导致的巨量伤害。
- 修复后,在0.066秒(2帧)内的位移超过4格时,这段位移将不会被识别,也就无法造成巨量伤害。
地穴
任何判定点被判定为进入地穴格的地面敌人都会被立即判定为死亡,该判定在敌人进入地穴时产生一次。
- 敌人判定死亡后,任何以其为目标的攻击都会无效,自然包括攻击带来的位移、眩晕等附加效应,所以这也是龙门市区剿灭空降兵在很长一段时间无法被救出的原因。
- 但在艾丽妮实装引入浮空术语: 浮空
变为空中单位,无法移动、攻击及使用技能;对重量大于3的单位持续时间减半
※不会对空中单位生效(也包括受浮空、近地悬浮影响的单位)
※效果持续时间取决于触发效果时敌人的重量;触发浮空时清除受到的推/拉力,浮空期间无法陷入失衡
※被阻挡的单位在触发浮空1帧后脱离阻挡后,可以抢在死亡判定发生前浮空敌人,使得敌人被判定为空中敌人而无法被地穴死亡。这次龙门市区剿灭的空降兵可以被救出来了。
- 又是DM-3,浮空穿刺手后,因穿刺手的终点正是地穴所在格,就会使穿刺手成功抵达终点而扣除生命值(由于此时是一列3个穿刺手因此实际情况为直接任务失败)。
- 即死判定只要识别到就立即触发,所以不存在“由于位移力度过大导致敌人飞跃地穴”的情况。
- 但由于即死判定时间点为“进入地穴时”,因此如果进入地穴时未能判定死亡,则直到该敌人离开此地穴,该敌人将会站在地穴上。
例如上文提到的浮空敌人;此外“物欲拮抗者”的初始状态为飞行单位,击破后的弹出状态为地面单位,在其飞到地穴上空后击破也能做到这一点。
行动受阻
如果一个敌人因为各种原因进入了本不会进入的“不可进入地形/不可通行地块”,此时敌人会行动受阻而发生特殊行动。
依旧是在理想状态下:
- 目标会立刻收到特殊的“返航”指令:缓慢移动到最近的可通行地形上。
此指令优先级高于除“进入传送”外的所有的常规行动指令,且会从收到指令起,根据是否离开了“不可进入地形/不可通行地块”持续覆盖原本的行动指令序列。
- 对于停驻类指令,会根据覆盖掉的时间相应扣除停驻时间。
- 对于传送的“进入传送”指令,会改为原地触发“进入传送”,之后“离开传送”并立即检测是否已返航。
- 如果该地块上有我方单位或装置,敌方会正常进行攻击判定和被阻挡。
- 如果返航后寻路算法找不到可以前往下一目标点的可用路径,敌人将会继续处于偏航状态并停止所有行动。
- 例如WR-EX-7,将一条路上的敌人通过围栏地形推到另一条路,敌人将永远“迷失方向”。
- 或许因为这个原因,自第11章起的关卡里,所有的围栏都变成了会阻止敌人进入的“围墙”——敌人会像撞到高台一样撞到围墙边缘,但围墙内是可以部署近战单位的。
闪现
弑君者等敌人拥有特别的“闪现”技能以穿过我方单位继续行进,此时若技能准备就绪触发闪现:
- 首先判断当前指令是否是“行动”;
- 之后判断自己的判定点与当前行动指令目标点连线上,距自己1.5格的地方是否为不可通行地块;
- 如果以上条件全部满足,则向当前行动指令目标点连线方向移动1.5格,并短暂的进入不可被阻挡状态。
- 闪现没有前摇,过程持续15帧,并有10帧的后摇,期间无敌。
- 如果闪现跳过了下一停驻点所在的地块,则对应停驻指令也会被跳过。
由于闪现的判断条件是“自己与当前行动指令目标点的连线方向”,因此只要地形和目标点足够巧合,可以做到让闪现敌人“后撤步”而非前进的效果(如黄铁峡谷和TN-4的弑君者)。
敌人模型相关
碰撞体积与位置识别
我方干员碰撞体积基本均为以0.25格为半径的圆形。
- 在2020年6月2日的修复前,伊芙利特的碰撞体积为半径为0.1格的圆形,这使得她可以在H7-4中间的高台上与爱国者二阶段面对面而不被爱国者攻击。
干员阻挡任何从其他方格进来的敌人时,敌人停止时二者碰撞箱并不紧密接触;同时如果敌人被干员阻挡时处于格子各边中点附近,那么敌人的碰撞箱并不会进入我方干员的格子内。
- 棘刺使用二技能“护身尖刺”时进行远程攻击,同样会失去“优先攻击阻挡单位”的特性。
- 特种分支“推击手”和“钩索师”的位移操作只会将自己攻击范围内的敌人识别为目标。从其他方向过来的敌人虽然并不在攻击范围内,但由于阻挡的仇恨机制会触发干员的攻击,此时自动触发的位移技能就会出现“反复释放但不造成伤害”的现象。
向一个已经有敌人的格子空降干员时,敌人会强行移到到圆形外,移动方向为以干员圆心为起点,连接敌方中心点方向的一条射线。
- 位于方格正中心(无偏移)的敌人在空降时不会移动。由于行动机制,这种情况只发生于在起点停顿的敌人。在其他情况下,只有当这种位移现象发生时,敌我碰撞箱才紧密接触。
敌方单位的远程攻击判定点是自己影子的中心,我方单位的远程攻击判定点则是干员的碰撞箱。
- 当远程攻击判定点进入对方的攻击范围时,就会遭到对方的远程攻击。
当多名敌人被同一名挡多干员阻挡时,第二名开始的敌人的碰撞箱会向行进方向的两侧进行微小偏移。
敌人朝向与相对方位
具有面向判定的敌人只有左右两种朝向,其朝向与其模型表现一致。敌人在进行行动时,朝向会在以下场合变化:
- 自主移动时:判断当前移动方向中左向量或右向量,取其中正值(如向右移动时自动变为向右),保持正向移动。
- 计算向量时以游戏内摄像机的POV为准,而非敌人在地图上的实际路线或其某个方向投影。其会受到拖动地图/选中干员造成地图倾斜的影响(对于在生息演算的大地图中沿纵向移动的敌人,这个效应尤为明显)
- 在路径极短时可能会出现倒退移动的敌人(如IC-5中互相拉扯的“太空步”杜林拳击手,此为刻意设置的路径诱发的演出效果)
- 特殊设置面向的敌人也会出现倒退移动的现象,如持有甲壳的狡兽会面向干员较多的方向,通过移动特殊的移动动画实现“倒着走”。
- 进行攻击时:如背对攻击目标,则会先面向攻击目标再进行攻击
- 特殊的攻击或技能不会调整面向,如火龙的甩尾攻击为刻意攻击背后的行为,其不会调整面向。
- 受推力影响的失衡移动时:面向指向造成失衡的来源。
落叶逐火活动开放后引入了与敌人面向相关的【弱点】机制,此时【弱点】方向将根据该单位朝向自动变化。
- 敌人所在格所在列的左侧所有地格的单位对该敌人造成的伤害,即为来自左侧的伤害;反之位于右侧的地格的单位造成的伤害即为来自右侧的伤害。
- 判断来自上/下方的伤害应用相似的规则(即以敌人所在格的所在行为分界)
- 位于所在格所在列的单位对该敌人造成的伤害与无来源伤害不属于上述情况的任意一种。
- 判断与朝向相关的效果时(如眩光手雷)应用一致的规则。
- 在此基础上,如敌人模型的正面指向左侧,则来自左侧的伤害即为正面伤害,来自右侧的伤害即为背面伤害,反之亦然。
扩展阅读:波次
在一个关卡中,所有的敌人被划分为许多“波次”(Wave),每个波次由许多“兵团”(Fragment)组成,兵团再细化成“小队”(Action),之后便是一个个单体敌人。
※“兵团”和“小队”仅仅是为了方便理解而采用的称呼。在实际代码中,“兵团”对应的Fragment应翻译为“碎片”,而“小队”对应的Action应翻译为“动作”。
- 小队是最小的波次单位,代表一个或几个行动一致的同种敌人。它们拥有相同的行动设置,可通过参数每隔一段时间才开始行动。
- 这里的“小队”不一定是敌人,实际上,小队也拥有许多动作指令,此时更接近于其“Action”的本意:
小队动作指令
|
TypeID |
ID |
事件名 |
备注
|
0 |
SPAWN |
召唤 |
将对应的敌人召唤到场上(即“出生”)
|
1 |
PREVIEW_CURSOR |
显示路径 |
以红/黄线形式显示绑定的路线
|
2 |
STORY |
显示剧情 |
读取对应的剧情并在关卡显示
|
3 |
TUTORIAL |
? |
?
|
4 |
PLAY_BGM |
播放BGM |
暂停当前BGM并播放指定的BGM
|
5 |
DISPLAY_ENEMY_INFO |
显示敌人信息 |
在画面右上角弹框显示敌人信息
|
6 |
ACTIVATE_PREDEFINED |
预部署单位生效(干员) |
使预部署但隐藏的单位立刻部署
|
7 |
PLAY_OPERA |
播放画面特效 |
执行特殊的画面效果
|
8 |
TRIGGER_PREDEFINED |
预部署单位生效(装置) |
使预部署但隐藏的装置立刻部署
|
9 |
BATTLE_EVENTS |
战斗事件 |
执行特定战斗事件
|
10 |
WITHDRAW_PREDEFINED |
预部署单位撤回 |
使在场特定预部署单位立刻撤退
|
11 |
DIALOG |
播放局内AVG剧情 |
读取对应的局内AVG剧情并在关卡内显示
|
12 |
E_NUM |
? |
执行特定函数动作
|
- 兵团是若干小队的集合,代表一定时间内的出兵。
- 波次是若干兵团的集合,代表较长一段时间内的出兵。
扩展阅读:地块
一个关卡包含若干个地块,组成一个程序意义上可读取的地图(战场)。
每个地块拥有一系列参数定义这个地块在程序意义上的存在,包括:
- tileKey-地块种类:定义基本地形,影响它可以被接受的参数;
- 包括且不限于:禁止部署地块、一般地面/高地、保护目标点、侵入点、传送入口/出口等各类可长按查看的其他特殊地形。
- heightType-地块高度:影响部分筛选和阻挡判定(低地/高地);
- buildableType-部署类型:允许由玩家部署于其上的近远程位类型(不可部署/仅近战/仅远程/全部)
- passableMask-通行类型允许进入该地块的敌人行动类型(仅飞行/全部);
- playerSideMask-多维合作模式下玩家侧的分配;
- 接受的附加参数。
等。
需要注意的是,游戏地图的外观(包括地块上的标志等)是由另外的模型与贴图完成渲染的(即外观意义),与此处的地块定义无关。
由此,一个地块能不能通行、能不能部署单位,和这个地块是什么(程序意义上的种类指定)、长什么样(外观意义上的种类指定)没有任何关系。例如:
- 在一些关卡中(一般是教程关或剧情演出关),由关卡控制而直接部署在不可部署位上的我方单位(即使将这个位置的我方单位撤掉后该位置真的不可部署我方单位);
- 主题曲第4章中的“活性源石”,有的可以部署,有的不允许部署;
- 赫拉格悖论模拟实装时,可以部署在石头中的Bug;
- 4-5失效的围栏(可以被琳琅诗怀雅二技能“见面礼”响应)。
同时地块的高度、部署类型、通行类型之间因互相独立的字段而互相没有直接关系,事实上也出现了远程位地面地块(玉门天灾工事)的样例。
敌方的位移
当一名敌方单位受到一个任意来源的力,并且 受力大小>0 时,该敌方单位将进入失衡(UNBALANCE)状态机(以下简称“失衡”)。
有关力、速度、摩擦力等内容的作用原理、公式等请见失衡位移机制,此处我们只讨论干员的推拉能力效果,以及一些有关实战效果的机制。
关于游戏中的受力,除了最基本的物理学参数外还具有以下性质,它们会连带影响经典物理学力模型的计算:
- 受力等级:由力度对应表和目标的重量可以得到一个差值,这个差值为受力等级。
- 方向性:分为两种径向和方向,方向力在满足一定条件情况下会变为径向力,这会影响力的大小。
- 作用时间:见下文。
接下来对该敌人进行受力分析。由于游戏内推、拉、以及捕网的实现的不同,故需要分开讨论。
推力:推开
将近处的敌人向远处推开即为推力,这种位移方法往往用于将敌人推至远处的地穴之中。
方向性修正:
- 如果该目标被沿着设定的方向推动,则该力是方向力,不做任何修正(常见的推击手特种干员的推力即为此种力);
- 如果该目标被沿着干员向自身中心点的射线方向推动,则该力为径向力,不做任何修正(除上述以外的推力均为此种力,此外像薄绿二技能“聚能涡旋”的“拉力”也是此种力);
- 特殊修正:在满足方向力的情况下,如果目标与干员的连线和部署方向的夹角大于45° 或 距离小于0.25格,该方向力会被修正为径向力,且受力等级-2。
- 部分干员的技能会对特殊修正进行干预(如见行者,莱伊),此时请以该干员的描述为准。
基础性质:
- 作用时间:瞬间,可以直接视为目标得到了一个大小等于“实际受力×1s”的动量
- 方向性:推力的方向性通常为方向,但也存在径向的推力,具体情况由方向性修正决定;
- 力的大小:可根据实际受力等级在游戏数据表中找到一个值(称为“列表值”),实际受力大小=列表值*0.01。
受力等级
|
列表值
|
受力(N)
|
初速度
|
理想移动距离
|
弹道 |
特效
|
≤-3 |
0 |
0 |
0 |
0 |
0
|
-2 |
100 |
1 |
1 |
0.11825 |
0.08492
|
-1 |
200 |
2 |
2 |
0.4403 |
0.37363
|
0 |
400 |
4 |
4 |
1.6958 |
1.56247
|
1 |
450 |
4.5 |
4.5 |
2.13705 |
1.98705
|
2 |
530 |
5.3 |
5.3 |
2.95013 |
2.77347
|
≥3 |
580 |
5.8 |
5.8 |
3.52392 |
3.33058
|
由\( F \Delta t=m \Delta v\)可以计算出目标的初速度,而之后目标的移动与推动无关。
在没有其他因素干扰的情况下,目标会在平面上做匀减速运动直到停止(见失衡位移机制),此时理想的移动距离如表所示。
- 弹道类推动与特效类推动由于命中帧的失衡位移运算结算顺序不同,即使是相同初速度的情况下也会导致其最终理想移动距离不同。
- 通常弹道类技能(例如温蒂的23技能、阿消的12技能)会比同力度下的特效类技能(例如食铁兽的12技能、见行者的12技能)推出更远的距离(差值体现在命中帧时有弹道类多一帧以初速度进行的失衡位移)。
拉力:拖拽
将远处的敌人拉至自身面前即为拉力,这种位移方法往往用于将敌人拉至干员面前的地穴之中。
与推力不同,拉力会绑定干员与弹道:所有拉力都与一名拉动者与一个弹道与绑定。
该弹道有时是隐藏的,有时干员也将其状态机绑定在其弹道上。
基础性质:
- 作用时间:如果受力等级<-1,作用时间为0.5s,否则作用时间为1s,特别的,肉鸽藏品神力与特殊地形特种战术点提供的力度加成不参与此时间的结算过程,钩锁师模组与雪雉天赋提供的力度加成正常参与时间结算。
- 拉力起点:大部分情下为干员前方0.5格距离处,歌蕾蒂娅3技能的聚怪部分拉力指向开技能时标记的敌人坐标,锏3技能的最后一拉指向自身格子中心;
- 方向性:大部分情况下为径向,方向通常指向拉力起点。
- 一些机制会修正拉力的方向性(如拐角冰面会强制修正为方向)。
- 力的大小:可根据实际受力等级在游戏数据表中找到一个值(称为“列表值”),实际受力大小=列表值。
受力等级
|
列表值
|
受力(N)
|
拖拽时间(秒)
|
初速度
|
理想移动距离
|
d=2
|
d=3
|
≤-3 |
0 |
0 |
0.5 |
0 |
0 |
0
|
-2 |
2 |
2 |
0.5 |
0 |
0.0320 |
0.0325
|
-1 |
10 |
10 |
1 |
0 |
0.5699 |
0.9240
|
0 |
40 |
40 |
1 |
0 |
拉至干员身上 |
拉至干员身上
|
1 |
42 |
42 |
1 |
0 |
拉至干员身上 |
拉至干员身上
|
2 |
44 |
44 |
1 |
0 |
拉至干员身上 |
拉至干员身上
|
≥3 |
46 |
46 |
1 |
0 |
拉至干员身上 |
拉至干员身上
|
※d为敌人在干员身前的位置(格)
|
拉力的大小在运动过程中会不断的产生变化,在默认情况下,开始运动后t时刻的拉力大小为:\( F_t = F_0(x_t/x_0)^4 \)
- 其中,\(x_0\)为当拖拽弹道命中目标时目标与拉力起点的距离,\(x_t\)则为t时刻时目标与拉力起点的距离。
- 由公式可知,不同于推提供固定的推力与速度,拉力大小和位移距离可受到\(x_0\)大小影响。因此在实战中表格中的拉力移动距离仅供一般情况下的参考值,精确解需要根据实际情况做更高精度的计算。
- 弹道命中时确定受力等级并确定后续拖拽的所需物理参数,因此拉动过程中力度与重量变化均不影响此次位移结果。
- 急停:若有且仅有单个拉力来源,大部分情况下,在拉力作用时间内目标进入拖拽者中心半径0.6708的圆形区域内,此敌人的失衡移速会归零。
- 目标将仍保持失衡状态至拉力作用时间结束为止;锏3技能除外,会立即结束拉力。
- 歌蕾蒂娅3技能的前6段拉力也有一个小的急停半径,同时自然结束(既不包括撤退干员)时,敌人也会清空失衡移速并退出失衡。
拉力在力的意义上的绑定:拉力实际为一个绑定的,持续变化的力(每帧生效一次),若角色撤退或弹道消失,该力将失去绑定,直接以当前速度依摩擦力规则自由滑动至退出失衡。
- 与推力不同,造成拉力的干员会与产生拉力的抛射物进行绑定,若拉力提前停止抛射物也会提前消失,若抛射物提前消失,拉力也会结束。
- 此外,急停机制也与抛射物绑定:若敌人以充足的速度被拉到干员急停范围前抛射物消失,敌人也会冲过干员。
- 默认情况下抛射物均为5s持续时间,且命中无法拖动单位时不判定“已经拉到目标”,必须等待5s抛射物默认持续时间结束才能结束拉动。
捕网
捕网是一种特制的拉动方式,其设计之初是为雪雉准备的特殊拉动方法:将敌人聚在一起,再一起拉到身前。
类似拉力,捕网也会绑定干员与弹道:所有捕网与一名拉动者与一个弹道相绑定。
该弹道有时是隐藏的,有时干员也将其状态机绑定在其弹道上。
基础性质:
- 作用时间:拉至身前行为同拖拽,聚怪时间可单独设置
- 方向性:拉至身前行为同拖拽,聚怪部分指向捕网中心,一般设置为锁定某敌人坐标;
- 力的大小:同拖拽。
待补充
代理运行与判定机制
为了简化玩家重复刷取素材的动作消耗,游戏中存在“代理指挥”功能,启用该功能后,游戏将会以一个先前记录的序列尝试复现玩家的操作直至关卡结束。
由此,每个关卡内实际有一个固定的随机数种子,这可以保证在理想状态下,整个关卡流程中产生的随机数串是极其稳定的,固定的关卡流程也不会出现各类意外情况。
代理失误
截至简体中文2.0.01版本,代理指挥已进行多轮优化避免代理指挥出错,包括但不限于:
- 干员的部署时间轴与技能时间轴互相独立;
- 干员各自的技能释放时间轴互相独立;
- 干员若未在应下场的时间点下场则会被代理指挥自动撤退。
等。
但在实际情况中,在多方因素的影响下,代理运行可能会出现误差,导致整个时间轴错乱,使得代理指挥失败。
原因1:干员能力变化
录制代理后影响代理的主要元凶。
各个方面的提升(等级、技能等级、信赖等)均可以导致升级后代理翻车,其共同点是在干员能力提升后,出现了相应的衍生事件,对原代理的某个或某些次级时间轴产生了扰乱。
这些情况包括并且不局限于:
- 费用不足。如:
- 干员精英化1级至少增加2点部署费用,如果之前卡费下人,则在这之后会因为缺少2点费用而导致干员出场推迟;
- 对于“击杀敌人回复费用”的情况,如果周围干员攻击力过高导致原本被击杀回费的敌人被抢了人头,就会缺少费用。
- 技能/SP相关。如:
- 自动触发的技能升级后SP需求降低,或者提升能力后获得/提升了SP供应的天赋,导致技能时间轴提前;
- 技能提升导致的效果提升,如推拉特种干员技能力度提升;
- 过早杀死作为攻击/受击回复SP来源的敌人,从而缺少SP无法准时开启技能;
- 技能升级只增加持续时间,而不减少SP需求时,连续卡点释放技能造成的误差累积。
- 单位生存/上下场问题。如:
- 需要特定单位激活地图装置的场合,干员或召唤物的排布与回收不对应战况,导致地图装置未能正确激活;
- 对于史尔特尔,精二后低等级使用3技能的代理,在等级提高后生命值上限也会提高,其自然流血速度可能会与治疗量出现不匹配。
- 敌人击杀问题。如:
- 过早击杀关键节点的敌人(BOSS一阶段、剿灭节点敌人)导致下一波次提前来临,或者未能控制某特定敌人的击杀位置和时机(比如冬灵血巫)导致非预期结果;
- 过早清理阻挡位,从而导致原计划中需要利用阻挡饱和而放过去的敌人,在提前清理阻挡位后反而将其挡住。
- 安装了模组。如:
- 使用的干员拥有模组并将非初始模组设置为默认后,未更新的代理中也会自动安装这个模组,从而带来诸多决定性能力变化(如莫斯提马的3级X模组可以减少全场敌人的移动速度从而导致其他干员技能空发)
- 其它细节问题。如:
- 对于维什戴尔,精一后解锁天赋好礼触发依赖于普通攻击溅射顺序,而该顺序在代理作战中不保存。
- 安洁莉娜服装“质素访客”的模型动画,由于法杖顶端位置与原版模型的位置差距,导致新动画模型下,对于距离自己近的目标,其弹道飞行时间比原皮肤少1帧(远端则是多1帧),在极其精细的情况下能够击中默认服装来不及击中的敌人(或反之)。
白金服装“灿阳朝露 SD05”也有这个问题,并且白金的天赋使得这个问题被放大(丢失输出)。
- 干员精英化后获得原本没有的随机判定天赋占用原本的随机判定数轴(见后述)导致全局随机判定紊乱,或改变索敌方式。
解决办法:接管代理或重打。
原因2:丢帧
明日方舟以帧为单位计算游戏内时钟,且帧率为30FPS(即每秒30帧)。
如果由于各种原因(常见的问题如手机或电脑模拟器性能问题导致的丢帧),使得游戏在运行时无法在一倍速模式下维持30帧每秒的帧率,则会导致丢帧现象的发生,可能导致某些效果释放失败,扰乱时间轴,严重者可导致代理失败。
- 一种常见的情况是,在一倍速下进行的无误操作,在二倍速运行的代理中就可能因为丢帧翻车。
- 通常说的代理偶尔失败在排除上述情况之后一般原因都是设备性能波动引起的。在一些需要极限操作的作战记录里丢帧的影响可以非常大。
解决办法:
- 保持一倍速;
- 修改作战记录以留出更大的容错空间;
- 使用更稳定的设备游玩。
原因3:版本更新
有时版版本更新可能会带来部分底层机制或者敌人逻辑的修改(通常这类修改不会写入更新公告中),这导致了一些非预期的效果:
- 在霜星登场的关卡里,即使干员能力保持稳定,也并没有修改代理指挥,但在更新安装包后,霜星掀地板的目标也会发生改变。
- 在5-10中,由于第六章更新后敌人技能释放优先级的改变,浮士德的攻击次序由原先的每5动1紫箭变为了现在的每4动1紫箭,从通道口出来第一箭也变成了紫箭,这使得快速复活吃箭的代理在再部署时间上非常吃紧,或者由于练度不够导致一些干员无法吃箭。
- 在一段时间里,自爆虫类敌人自爆的中心点向下偏移了一段距离,导致一些原本安全/危险的位置变得危险/安全起来,甚至影响了一些原本的关卡攻略方法(后被修复)。
解决办法:如果你需要去这些关卡刷素材,则需要每次版本更新后去验证代理。
玩家操作的代理原理
当玩家解锁/刷新了代理指挥后,程序将会执行下列动作:
- 将最后一次保存代理时的全部手动操作(部署、撤退、手动技能、手动装置)保存为按帧排列的序列,并在代理运作时复现。
- 如果如果出于某种原因(见上述),其中部分操作无法复现,就会将所有无法复现的操作按顺序放入一个存储序列,并在任何条件变化时扫描整个存储序列,执行其中任何可以完成的操作。
- 条件变化包括:费用变化,部署人数变化,存储序列变化等。两次扫描之间间隔1帧。
由于“复现”本身也使存储序列发生了变化,所以任何操作复现完成后的下一帧也会重新扫描并更新存储序列。
- 只要存储序列不为空,就会出现黄色标注:“检测到失误风险”。
- 只要在代理期间敌人进入保护目标点导致目标生命减少,无论是否出现过黄色标注,都会立即出现红色标注:“代理指挥已出现失误,请求人工接管作战”。
所以代理完全复刻了你的手动操作,而前脚代理正常运行,后脚代理报红的现象是完全可能的。
目标:利用代理原理和红的二技能“狼群”瞬发的特性,使得红一键秒杀源石虫海的同时使用两帧完成部署和撤离,造成只闻其声不见其人的演出效果。
第一步:设计并调整行动序列:
某次LS-4代理作战行动部分序列
|
行动序号
|
1 |
2 |
3 |
4 |
|
…… |
11 |
12 |
13 |
14 |
15 |
16 |
……
|
操作与实时状态
|
部署 |
部署 |
部署 |
部署 |
阵亡 |
…… |
部署 |
技能 |
部署 |
部署 |
撤退 |
撤退 |
……
|
对象
|
红豆 |
蓝毒 |
空 |
凛冬 |
红豆 |
…… |
巡林者 |
空 |
Castle-3 |
红 |
巡林者 |
红 |
……
|
剩余部署位数量
|
7 |
6 |
5 |
4 |
5 |
…… |
1 |
1 |
1 |
0 |
1 |
2 |
……
|
并且通过手动代理的方式,将撤退红(第16步行动)的时间调整到撤退巡林者(第15步行动)的2帧之后。
第二步:提升红豆练度,使红豆避免阵亡,此时代理序列变成了:
某次LS-4代理作战行动部分序列
|
行动序号
|
1 |
2 |
3 |
4 |
|
…… |
11 |
12 |
13 |
14 |
14 |
15 |
16 |
……
|
操作与实时状态
|
部署 |
部署 |
部署 |
部署 |
存活 |
…… |
部署 |
技能 |
部署 |
部署 |
撤退 |
部署 |
撤退 |
……
|
对象
|
红豆 |
蓝毒 |
空 |
凛冬 |
红豆 |
…… |
巡林者 |
空 |
Castle-3 |
红 |
巡林者 |
红 |
红 |
……
|
剩余部署位数量
|
7 |
6 |
5 |
4 |
4 |
…… |
0 |
0 |
0 |
-1 |
1 |
0 |
1 |
……
|
原本的第14步操作“部署红”由于部署位不足无法复现,被放在了存储序列里,而当“撤退巡林者”这一操作执行后,“部署红”满足了操作条件,所以在巡林者撤退的下一帧被部署。
由于原本“撤退巡林者”和“撤退红”之间只相隔一帧,所以当“部署红”移到这一帧后,代理的结果就是红在两帧之内完成了部署-释放狼群-撤退的效果,从视觉上表现为一帧秒杀虫群。
随机事件的代理原理
每次开始作战的时候程序会因为关卡种子和时间种子产生一个不同的随机数序列,这个序列将会决定这次作战之后所有随机判定的值。
如果某次作战被保存为了代理作战,那么这个序列也会跟随代理序列被随之保存下来。
- 换句话说,这次代理作战的任何衍生作战(代理中途取消代理手动操作)也都使用这个随机数序列。
这个序列会被用于所有作战时进行概率事件的判定并在代理运作时复现,直观体现就是“在这次之后的代理作战中,同一时间点的随机数判定是固定值”。
目前绝大多数的随机判定都使用该随机数列,如常见的:
- 所有的闪避/暴击判定
- 艾雅法拉“乱火”数值
- 华法琳的“不稳定血浆”、能天使“天使的祝福”选取的对象
- 霜星的“掀地板”、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
|
12F 闪避 (X%≤50%)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
红 处决模式闪避 (X%≤40%)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
伊桑 缠绕 (X%≤25%)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
槐琥 击退 (X%≤20%)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
断罪者 断罪暴击 (X%≤5%)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
注意:目前没有证据表明游戏内数值完全按照上述方法生成和判定,但根据目前测试本方法得到的结论和游戏内效果表现一致。
接下来我们将完成两个演出的实战:
要做到这些,可以选择一段离要求较近的随机数区间,最后利用其他干员将不满足条件的随机数用掉即可。
要实现这个演出,就需要保证12F有连续15次的闪避判定成功,我们就需要在上述序列中找到一个接近成功的序列,即第13~28次的标红序列:
计次
|
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%)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
由于只有第22次(对于12F则是第10次受到榴莲针攻击)一次判定失败,因此在即将进行这次作战的第13次判定前开启阿的技能,并在第9发榴莲针击中后用其他干员用掉这次原本对12F的失败判定,则12F将会闪避掉所有的榴莲针。
由于阿的十五连击速度为每帧一次攻击,所以某影视剧中的名台词“他的招式一共有72帧,而破绽就出现在第42帧上”确实出现在了实践中。
与上一个类似,我们需要保证断罪者有连续3次的暴击判定成功,此处选择第4~9次的标蓝序列:
计次
|
4 |
5 |
6 |
7 |
8 |
9
|
随机数(X%)
|
3 |
93 |
2 |
81 |
96 |
4
|
断罪者 断罪暴击 (X%≤5%)
|
|
|
|
|
|
|
将第5、7、8次失败的暴击判定用其他干员用掉即可达到效果。
“克洛丝单人1-12”为困扰了许多玩家的顶级课题之一:仅携带克洛丝,3星通关1-12。
此课题的一个难题是克洛丝天赋的暴击在理想状态下可能发生足够多次从而可能存在解,但无人给出证明,故在相当长一段时间内只能以实战方式不断调整步骤,但无人达成3星通关。
曾有计算认为达成概率为365/100,000,000,000(一千亿分之三百六十五),但直至2022年7月,该课题由B站UP主苏兰卡给出详细理论证明(包括随机数算法、索敌、装置启动时机、敌人击倒时机等各方面,并进行实战),最终确认:理想状态下有解(统计概率为4.2/1,000,000,000,十亿分之四点二),但在现有实际条件下,克洛丝单人1-12无解。
同时经过计算,至少增加1点克洛丝对W的攻击力,即可完成此课题。