ぼうれい武者のバグ

大雑把な下書きです。完全には調べてません。

ぼうれい武者が特定の部屋で左下に向かっていくバグについて。
条件としては、鬼面武者系が召喚ワナで召喚されることで起こる。

召喚ワナによって出現するモンスターを決定する際、まず(0,0)の位置にモンスターを1体発生させ、
種族を取得し、そのモンスターをすぐに消去するという処理が行われる。
出現するモンスターが鬼面武者系の場合、(0,0)でぼうれい武者出現フラグが設定される。
ぼうれい武者は(0,FF)か(1,FF)に出現する。(出現後どこまで動く?)
このときぼうれい武者は部屋番号0の部屋にいて、フロアのどこからでも左下の位置にいると認識される。(常にそうか?)
そのため、部屋番号0にいるぼうれい武者は左下にいる(と認識される)ぼうれい武者に向かおうとする。

(2016/2/21追記)
参考: 【資料】 ぼうれいバグ@天馬峠 - ニコニコ動画

ぼうれい発生時、X座標がFFのマスが選択されることがある。しかしその場合失敗と見なされるため、通常より発生が遅くなる X座標がFFのマスは選択されない。(2016/4/9修正)

(0,FF)で参照されるマスの地形のアドレスは$7EE920となり、未使用領域なのでおそらく通常は0(=部屋番号0の部屋)になると思われる。(1,FF)も同様。

(0,FF)にいるキャラはアドレス$7ED41Fで参照され、これは倉庫の39番目のアイテム、すなわち山頂の町の10番目のアイテムの呪いの値を表す。そのため山頂の町の10番目と11番目の位置にアイテムがあり、呪いの値が0x80未満の場合バグは発生しない?

通常状態では移動先のX座標ないしY座標の最上位ビットが立っているとき(=0x80以上のとき)は移動できないため、発生地点から移動できない。多分
目潰し状態の場合、X座標については同じだがY座標については0x80以上でも移動できる。

ぼうれいが(2,FD)にいて右上を向いている時を考えると、正面の座標は(3,FC)で、この座標にいるキャラは$7ED362によって参照される。これはイベント進行度CEの値だが未使用のため0になる。よって目潰し状態のぼうれいはキャラ番号0のキャラに攻撃対象を設定し、この際ダッシュも妨げられる。