なかなか時間が取れず作業が進んでいませんが、僅かに余暇ができましたので地形適応計算の仕様変更案を形にしてみました。上の写真を見て頂くとお分かりのように、DC兵士が乗るドムの地形適応が「陸A」となっています。本来であれば下の写真のように「陸B」となるのですが、計算方法を変更した結果このような表示になりました。 ドムの機体としての地形適応 は次の写真のように「空-、陸A、海D、宇宙A」となっていますが、 仕様変更前は以下の写真のようにDC兵士の地形適応「空B、陸B、海B、宇宙B」のパラメーターに引っ張られる形で「空D、r陸B、海C、宇宙B」という結果になります。 これを仕様変更後はパイロットの地形適応を計算に入れないようにしています。それに伴い、現状では以下の写真のようにパイロットの地形適応表示を強制的に「-」で固定値にする(パイロットの地形適応は生きていますが、計算に使用しないので表示上は「-」とする)処理を追加して組み込んでいます。 これにより、見た目は単純に「機体の地形適応値=総合地形適応値」という処理(内部処理的には機体の地形適応値を再度加算)になっており、攻撃力や防御力の実効計算値も機体の地形適応値をそのまま使用したものになっています。この後はパイロットのパラメーター側のウィンドウのレイアウトを変更して撃墜数(これは単純に数値で表示できるように変更します。)と次のレベルまでの経験値を下側に表示、撃墜数と地形適応の表示欄を特殊技能のウィンドウとして拡張表示しスキルを6個まで表示できるようにできないか挑戦してみる予定です。
全面が空中という異色のマップ「キリマンジャロの嵐」は飛行適性がない機体は出撃できないのですが、その特殊な処理(実は空中マップと見せかけた陸上マップで、ユニットは全て「空」や「雲」という名の陸上地形パネルに着陸しているという扱いなのです)の影響で地形適応は「空」ではなく「陸」が参照されてしまい、正常なダメージ計算が適用されません(通称「キリマンジャロバグ」)。少し解析してみたところ地形適応をチェックするプログラム内にはこれをどうこうするような対策はされておらず、結局のところこれを解決するには専用の新たな地形適応チェックのルーチンを組むしかなさそうです。…というわけで、修正パッチを作成してみました(パッチ名は「地形適応バグ修正パッチ」です)。以下のURLからダウンロード可能です。本来のソフトに存在する不具合なのでパスワードは設定していません。
以前、私の友人がこの不具合の解決に取り組んだのですが、参考までにその方法を聞いてみたところ「RAMのシナリオIDをチェックして現在のマップが『キリマンジャロの嵐』であれば陸の地形適応判定を強制的に空の地形適応判定に変更するサブルーチンにジャンプする」というものだったそうです。なかなか面白そうな処理ですが、その場合は他に同じような空中マップを自作する場合に応用が利かないという欠点があります。そこで私は「RAMのマップ状態設定IDがキリマンジャロ(=空中マップ)のIDである場合は地形適応判定を全て空の地形適応判定に変更する」という方式にしてあります。これならば他の空中マップを作製した場合でもそのまま使用できますし、応用として月や火星の地形適応を第3次スーパーロボット大戦やスーパーロボット大戦F完結編のように宇宙扱いに変更する(あまり知られていませんが、F完では月や火星は陸上でも空中でも宇宙扱いの計算が適用されます)にできます。今回公開したパッチはキリマンジャロ上空の場合は強制的に空、月の場合は強制的に宇宙の地形適応が参照されます。火星に関しては処理を組み込んだのですが、ダンバイン系の機体が活躍できなくなる事を考慮し、処理の作成後に「EA」で消去しています。これを再現するにはパッチ適用後にノーマル版であれば29FFD4~29FFD7を、4M版であれば3FEDA4~3FEDA7を「C9 12 F0 0A」に置き替えて下さい。
コメント
コメントを投稿