スキップしてメイン コンテンツに移動

最新の投稿

第4次スーパーロボット大戦 合体式複数パイロット乗り機体用特殊台詞の設定アイデア

 第4次スーパーロボット大戦ではコン・バトラーVダンクーガ、ザンボット3といった合体後に複数パイロットが乗るようになる機体のサブパイロットの台詞を反映させる機能はありませんが、以前作成したゲッターチームの仕様変更のシステムを応用すれば「F」以降のコン・バトラーVのように合体後専用の特殊台詞を反映させる事が可能であると判明しました。  具体的な手法は「特定のパイロットが特定の機体に搭乗している場合はSRAM上のパイロットIDを保持したままRAM上のパイロットIDを入れ替える」というもので、これは以前にも少し触れたハイパーモードや暴走システムの手法と同じものですが、これを応用すれば、例えばバトルジェット搭乗時の豹馬とコン・バトラーV搭乗時の豹馬のパイロットIDを個別に用意する事で異なる台詞パターンを適用できるという事も可能になります。また、同時に複数精神コマンドのサブパイロット適用パターンも変更できるため、非分離型のコン・バトラーVを用意するといった必要もなくなります。但しこの方法には欠点もあり、例えば敗北条件に豹馬の撃墜が設定されている場合にこのパイロットIDが合体前と合体後で別々であると、パイロットIDが合致しなくなってしまった途端に敗北条件を満たしてゲームオーバーとなってしまいます(これはハイパーモードや暴走の再現時にも当てはまる問題です)。そのため、台詞の変更のみに留めるのであれば特殊サブルーチンを組んで特定のパイロットが特定の機体に搭乗している場合は台詞の参照IDを変更(例えば、豹馬がコン・バトラーV搭乗の場合は通常の台詞IDではなく専用の台詞IDを参照)するという手法の方がいいのかもしれません。もっとも、シナリオ上での敗北条件を設定する際にそれら両方のパイロットIDを全て確認できなかった場合にのみ敗北とすれば問題はないので、あくまで好みの問題とも言えそうです。

第4次スーパーロボット大戦 ゲッターチームの仕様変更不具合の修正完了


 少々手間取りましたが、何とかゲッターチームの仕様変更に伴う不具合を修正できました。不具合の内容は「ゲッター2系やゲッター3系の状態でレベルアップした場合、WRAMのパイロットIDがSRAM側の内容に書き換えられて竜馬の状態に戻ってしまったり(変形を実行すると隼人や弁慶に戻る)、SRAMのデータ上ではレベルアップしているがWRAMにその内容が反映されずシナリオ終了まで上昇したパラメーターが反映されない事があるがシナリオが終了するとレベルアップ後のパラメーターになる」というものでした。これは一時データを保存する際に使用するRAM領域の選定がまずかったり、レベルアップ時にパラメーターを再計算する際に使用するサブルーチンの組み立て内容に起因するものでした。


 今回は一時データの取得方法自体を見直し、「戦闘後に経験値を取得できた場合はその戦闘で戦ったパイロットのWRAM側のIDを保存し、レベルアップの際に読み込んだSRAM側のパイロットIDがWRAM側に書き込まれた直後にそのデータを参照、IDが竜馬であると判定された場合は直前の戦闘で経験値を取得したWRAM側のパイロットIDで再度上書きする」という方法に改めてみました。ゲッターチームの場合はSRAMのパイロットIDは竜馬で固定のため、レベルアップの都度WRAM側のパイロットIDを現在のゲッターロボの状態に合わせたパイロットIDに変更する必要があるのですが、よく考えてみればSRAMでのIDが竜馬で固定されているとなればそれ自体を判定基準にすればよいという事にようやく気が付いた次第です。これにより判定の精度が向上し不具合が発生しなくたった…と思いたいところです。

コメント

人気の投稿

第4次スーパーロボット大戦 HPゲージ仕様変更パッチを公開しました