なかなか時間が取れず作業が進んでいませんが、僅かに余暇ができましたので地形適応計算の仕様変更案を形にしてみました。上の写真を見て頂くとお分かりのように、DC兵士が乗るドムの地形適応が「陸A」となっています。本来であれば下の写真のように「陸B」となるのですが、計算方法を変更した結果このような表示になりました。 ドムの機体としての地形適応 は次の写真のように「空-、陸A、海D、宇宙A」となっていますが、 仕様変更前は以下の写真のようにDC兵士の地形適応「空B、陸B、海B、宇宙B」のパラメーターに引っ張られる形で「空D、r陸B、海C、宇宙B」という結果になります。 これを仕様変更後はパイロットの地形適応を計算に入れないようにしています。それに伴い、現状では以下の写真のようにパイロットの地形適応表示を強制的に「-」で固定値にする(パイロットの地形適応は生きていますが、計算に使用しないので表示上は「-」とする)処理を追加して組み込んでいます。 これにより、見た目は単純に「機体の地形適応値=総合地形適応値」という処理(内部処理的には機体の地形適応値を再度加算)になっており、攻撃力や防御力の実効計算値も機体の地形適応値をそのまま使用したものになっています。この後はパイロットのパラメーター側のウィンドウのレイアウトを変更して撃墜数(これは単純に数値で表示できるように変更します。)と次のレベルまでの経験値を下側に表示、撃墜数と地形適応の表示欄を特殊技能のウィンドウとして拡張表示しスキルを6個まで表示できるようにできないか挑戦してみる予定です。
初期ROM版紋章の謎のバグ修正の進捗ですが、とりあえず「隠れた財宝の入手時にコントローラーのボタンを押すと使用回数がおかしくなるバグ」は修正できました。
バグの原因を簡単に説明しますと、隠れた財宝を入手する際には財宝のある場所に待機したユニットのクラスが盗賊かどうか判定し、盗賊であれば財宝を入手、そうでない場合は運のよさの確率で財宝を入手するというプログラムが組まれています。この時、財宝を発見すると「かくれたざいほうを はっけんした!」というウィンドウを表示するためのサブルーチンが展開するのですが、その際に一旦RAMの上位と下位を入れ替え、更にコントロールを制御するサブルーチンに飛んでいます。このサブルーチン内でアイテムの使用回数を一時的にRAMに読み込み、サブルーチンから戻る際に再びRAMの上位と下位を入れ替えてコントローラー制御を解除、そして元の状態に戻せばRAMに読み込んだ入手アイテムの使用回数が正常に書き込まれるのですが、この命令が記述されていないためにアイテムの使用回数ではなくコントローラーのボタンを押した数値が読み込まれてしまい、そのままサブルーチンが終了するのでアイテムの使用回数がおかしくなるというものでした。
バグの修正方法としてはこのRAMの上位と下位を入れ替えるコマンドを挿入すればいいのですが、挿入する余地がないので空きスペースにジャンプ処理をしてそこでRAMの上位と下位を入れ替えて再びジャンプで元の位置に戻ってくるという方法を採用しました(サブルーチン処理化すると何故かフリーズしてしまうのです)。この修正分だけをパッチ化してもいいのですが、さすがにこれ一つだけではほぼ需要がないと思われますので、もう幾つか不具合を修正するパッチとセットにしてから公開する予定です。
さて、バグの修正だけではつまらないので何かしらの改変要素を追加できるパッチを作ろうと思っているのですが、例えばホースメンが下馬するとスナイパーになる(=ハンターがホースメンにクラスチェンジ後に下馬するとスナイパーとして使える)というものや、以前も少し触れましたシューターを自軍で使用可能にする要素などはいかがでしょうか。シューターは戦士からオリオンの矢でクラスチェンジ可能なクラス(戦士ならば力があるのでバリスタを運べそうですし…)とし、通常は移動不能(その場で攻撃するしかない)ですが「おりる」で再び戦士として移動や斧による攻撃が可能というものです。またはSナイトやパラディンの下馬状態をソルジャーにすればナイトのクラスが余りますので、これをシューターの下馬(?)状態のクラスにするというのもいいかもしれません。何か面白そうなアイデアがあればご意見を頂けますと幸いです。
コメント
コメントを投稿