史莱姆之神进入脱离动画的条件为:两种圣卫均未存活 或 脱战标记 或 不可逆标记。
脱离动画即史神在原地旋转并逐渐变透明。不可逆标记初始为否,当进入脱离动画且场上没有大圣卫时,不可逆标记变为是,即脱离动画会一直进行下去。
脱离动画执行到史神完全透明时,若脱战标记为是,则会直接消失,反之会正常击败史神并掉落战利品。
检测圣卫的方法是NPC序列中的序号slimeGodPurple和slimeGodRed,当此序号没有对应存活NPC时,场上存活的对应种类圣卫会将此序号改为自己的序号。
史神先后检测slimeGodPurple和slimeGodRed对应的NPC,若其死亡则标记对应种类圣卫未存活。若处于脱战流程则史神脱战标记也设为是,否则设为否。
一、圣卫消失直接获得胜利
现在圣卫会像普通NPC一样,玩家离远了被直接刷没,不会走圣卫自己的脱战流程,所以史神的脱战标记也是否,最后会掉落战利品。玩家死亡时可以观察到圣卫走脱战流程:向下落并逐渐变透明,此时史神不会掉落战利品。如果NPC序列被占满导致史神无法召唤圣卫,也会直接掉落战利品。
二、被标记小圣卫脱战提前结束战斗
史神按序号检测,也就是说同时只会检测一个小圣卫。由于是先检测紫圣卫后检测红圣卫,所以被标记的紫圣卫脱战而红圣卫没脱战时史神不受影响,红圣卫脱战时,史神因为脱战标记进入脱离动画,此时没有大圣卫存活则脱离动画不可逆。脱战红圣卫会比史神先消失,此时还有其他小圣卫正常存活,又会把脱战标记设为否,史神会掉落战利品。
三、被标记小圣卫死亡提前结束战斗
由于NPC序列执行顺序,当只剩同一种小圣卫,如果被标记的是NPC序列靠后的那个小圣卫,例如被标记的是b小圣卫,NPC序列里的顺序是:
史神→a→b,则b死亡→史神记录序号对应的b死亡故进入脱离动画→序号更新到a
a→b→史神,则b死亡→史神记录序号对应的b死亡故进入脱离动画→序号更新到a
a→史神→b,则b死亡→序号更新到a→史神记录序号对应的a存活
也就是NPC序列中俩小圣卫在史神同侧时,b被击杀史神会进入脱离动画,并正常掉落战利品。在史神两侧时史神会无缝记录到剩下的小圣卫,不会进入脱离动画。
同样的分析方法,可以得出如果标记的是a,则ab分布在史神两侧时才会触发脱离动画。
史神会先召唤紫圣卫,大圣卫分裂时会先召唤左边的小圣卫。所以在没有其他因素影响的情况下,被标记的是靠前的a,且ab均在史神后面不会造成问题。如果先击杀紫圣卫,此时红圣卫前面会有空位,则红圣卫分裂时a在红圣卫前面b在后面,红圣卫分裂完先执行b的ai导致被标记的是靠后的b,而ab均在史神后面,此时击杀b即可结束战斗。
综上所述,史神存在的主要问题是:
①没有考虑圣卫直接消失不走脱战流程的情况;
②脱离动画可逆性检测没考虑到小圣卫;
③脱战标记可以被重置,导致红干扰紫,及出现脱战但仍掉落战利品的情况;