重装机兵4--回复/战斗道具无中生有(B篇:详解)

本文根据站中重装机兵4(Metal Max 4, mm4)的“道具栏40页bug”视频抽象出游戏中物品类道具和回复类道具的数据结构及关联,然后从数据的角度对物品类道具的无中生有操作进行详解。本操作可以用于生成回复类道具和大部分人类战斗道具。
1. 无中生有回复/战斗类道具的思路及步骤
回复/战斗类道具的无中生有步骤上十分简单,但是在理解上和物品类道具的无中生有不一样。如果我们单纯用物品类道具的数量来决定目标产物,直接将其移入物品类40页第4栏,我们会发现,不管怎么样,虽然出现了我们想要的物品,但是数量始终为0。这归因于不管我们怎么折腾,产物回复道具的数量对应着原料物品类道具的数量高位,而我们的操作没办法改变数量高位。所以,如何改变数量高位,就是回复/战斗类道具的无中生有的关键所在。
下面,我们从全满饮料的无中生有来理解此操作:


从上图可以看出,99就直接复制在了数量高位。也正是这一个举动,解决了回复/战斗类道具无中生有的关键性问题。而在后续的操作中我们发现,随着物品栏操作的进行,数量低位并没有变化,即99并没有变化,这也是后续战车类道具无中生有的基础。


注意step 3中的数量低位和数量高位的变化(12被直接替换成4)。所以笔者进行以下猜测:在进行购买操作时,系统遍历所有材料,发现没有修理套机,所以按照系统设置确定新买的修理套件放在40页2栏。因此,直接赋值名称低位为243,数量低位为4。如果遍历到有修理套件,则在此修理套件所在的数量低位进行。

2. 一些关键道具的序号
这里提供一些道具的数量高位和低位的值,这些道具包括外道兴奋剂、再生胶囊等强力道具。前文中提到的道具的“序号”就是高位为0时,道具对应低位的值:

3. 回复类道具与战斗类道具的连通及道具转移
如果我们用上述方法产生了战斗道具,但是此时它是出现在回复栏的,我们没办法使用,这时,我们需要把它放到战斗类道具栏中。这不得不提到回复类道具与战斗类道具的连通规则:
(1)回复类道具5页第10栏不显示道具;
(2)回复和战斗类道具均只占用两字节;
(3)当有道具放入回复类道具5页第10栏时,如果战斗类1页第1栏为空,则该道具出现在战斗类1页第1栏,数量名称不变;否则替换。
所以想把道具从回复栏放到战斗栏就清空战斗栏1页第一栏,把想转移的道具放入回复类道具5页第10栏即可;如果把道具从战斗栏放到回复栏就将其置于战斗栏1页第一栏,把任意道具放入回复类道具5页第10栏即可。

这里把与物品类道具连通的示意图也补充进来。这里需要注意两点:1. 联系是相邻两种道具栏的联系;2.关联是有顺序的,我们只能通过上方道具栏的操作改变下方道具栏的值,下方道具栏被改变的数据长度(2字节还是4字节)取决于在上方道具栏每栏的长度。

图4 回复类道具与战斗类道具的连通示意图
4. 本操作的用途与限制
本操作主要用于获取强力回复、战斗道具,同时可以用于打破是由再生胶囊的数量限制。换句话说,再也不用担心药不够用了。由于购买道具的数量不得超过99个,所以产出的道具数量不会超过99个,也不可产出100号及以后的道具(100号以后道具的无中生有方法请关注后续作品)。
5. 致谢
感谢“孙dark眉”提供的封面图片与游戏存档。 感谢“孙dark眉”的“测序”工作。
