自由移動に沼地移動とダークゾーン無視をつけました。ダメージ無効も統合。昨日までの段階ではHP減少処理を基点に少し戻った位置を書き換えてダメージ処理をスキップしていましたが、よく考えれば床の種類を判定しているところが必ずあるはずで、普段の自分のやり方なら移動処理直後のswitchを探してしかるべきでした。ともあれこれで本当にあらゆる地形を無視できるロイヤルロードの完成です。結局は以下の2点で全ての用を果たすので、合計3バイトで済みました。
・現在位置の床判定switchで通常床扱いとする(0x49937F,33,85)
・進行先の床判定後に移動可能地形扱いとする(0x49B60A,90E9,0F84)
なんだかほんの少しだけ動きがカクカクになるのが難点。まあREDCATさんの3倍速を合わせて使っていれば気にならないレベルなので、これで満足としておきます。今晩中にロイヤルロードだけSSG化して公開します。
あとは金不要と同じようにマナや熟練度も現在値に拠らず不要としたいのですが、このためには減らないようにすることに加えて、「現在値が足りているかどうか」の判定を騙す必要があります。金は足りているかどうかの判定が2箇所(アイテム自体が選択できるかどうか、数量を増やせるかどうか)だけでしたが、マナと熟練度の場合は判定が多すぎて単に「最大値代入」+「減らないようする」の方がスマートです。例えばマナなら
・レベルアップボタンが選べるかどうか
・0かどうか(0なら選べない)
・レベルアップできるキャラがいるかどうか
・レベルアップボタン選択後、それぞれキャラが選択できるかどうか
・レベルアップ画面で+が選択できるかどうか
・+を選択した時に足りているかどうか
といった判定があります。しかし最大値代入による無限化では、OFFにした時に完全に元には戻らないのが難点。実際には現在値が多いまま戻らなくても困ることはないでしょうが、なんとなく美しさに欠ける気がします。
かといって片っ端から判定を潰すのもやはり美しくないような……。困りました。
おまけ。私の場合の一撃死はこんな感じ。
0x461B00,00,05
HP変動処理後にHPが0になるので、敵がキュアーで自爆するようになりました。
|