FC封神榜戰(zhàn)利品掉落與攻擊命中研究
2023-08-08 16:45 作者:紫夜之戰(zhàn) | 我要投稿

戰(zhàn)利品掉落:

$9133地址獲取$43地址的值存入累加器,這是一個(gè)00-FF的隨機(jī)數(shù),然后累加器的值與7F進(jìn)行與運(yùn)算,然后下一步就是累加器的值與敵人戰(zhàn)利品的掉率值進(jìn)行比較,如果大于掉率的值,則跳轉(zhuǎn)$9143地址,就是沒有獲得戰(zhàn)利品,只有小于才有戰(zhàn)利品

將$9133地址改成A9 00就是將00存入累加器,這樣就能必掉戰(zhàn)利品了。
攻擊命中:

這里是攻擊時(shí)進(jìn)入的斷點(diǎn),$850A地址是跳轉(zhuǎn)到$9B29地址,將會(huì)進(jìn)行是否命中的判斷,$850D地址代碼是根據(jù)C標(biāo)志位=1則跳轉(zhuǎn)到$851C地址,而$851C地址就是之前的文章里的是否連擊和連擊次數(shù)判斷的代碼。

$9B33地址是獲取$43地址的值存入累加器,這個(gè)值是個(gè)00-FF的隨機(jī)數(shù),然后和3F進(jìn)行與運(yùn)算,之后和偏移X的地址的值進(jìn)行比較,猜測是攻擊敵人MISS值,如果累加器的值大于這個(gè)MISS值則跳轉(zhuǎn)到$9B3E地址,$9B3E地址是清除C標(biāo)志位,讓C=0。根據(jù)上面的$850D地址的代碼,則代表沒有命中。當(dāng)累加器的值小于MISS值,繼續(xù)走$9B3C地址,將C標(biāo)志位=1,則代表命中敵人。

將$9B33地址改成A9 00就是將00存入累加器,這樣就能必定命中了。