e支叶子伞bug
昨天去研究了一下e支保护伞的反弹坦克为什么和栈位有关,用专栏记录下来(代码太乱力(悲)我真的看不太懂啊ヘ(;´Д`ヘ)所以可能会有错误,有奆佬发现了可以告诉我)。 1.*zombies+14c
这个指针本来我是用来找僵王不吐球bug的,但是反汇编看了以后发现是小丑用了这个指针判断数值563,没有研究这个指针是干什么的,但是这里的判断下面更改了*plants+d3指针使其循环
(d3指针的作用至3)
。(僵王14c的变动是因为这里没有判断僵王不变,可能是僵王不能吐球的修复地点之一。) 2.*plants+d7
在上述判断小丑这段代码下面,就是写在子弹销毁函数里用于判断篮球消失召唤小丑的一段。在这里有一段伪遍历(这段遍历没有最大植物数,而是固定循环16进制的400次),遍历中判断了本行且小于153列的保护伞植物,下断后得出这里让保护伞的d7指针归0来确定是否召唤小丑(可能是he对保护伞弹炸弹的修复),但是实测这里的d7并没有在游戏内发挥作用(可能是因为强行赋值寄存器了新的植物指针),这导致了保护伞并不能完美防住导弹。 3.*plants+d3
在伪遍历下面看到召唤小丑的同时改掉了植物的d3,并更改了小丑爆炸时间为1,实测让植物d3指针强行归0可以让小丑不秒炸。 4.修复
在伪遍历前段赋值eax为*board的地方用根据xy坐标取得列数call,取得行数call和原版寻找某格3*3范围内最小编号保护伞call最后取得的eax值判断并跳到遍历尾即可修复问题。 5.杂项
我还发现e支是用判断[740000]是否为1的方法确定是否让僵尸豌豆子弹变为篮球(也就是导弹),以此决定下一个僵尸豌豆子弹是不是发射的导弹(可能用于加农炮巨人或者潜水)。

