天地を喰らうシリーズは策略を使うにあたって「軍師」に任命された武将がいないと使用不能になるのですが、軍師に任命された武将は戦闘が開始されると隊列の一番後ろに配置され、隊列が6人以上になると直接戦闘に参加できなくなるというシステムになっています。これがいわゆる文官タイプ(武力や兵士数が低く知力が高い傾向の武将)であればまだいいのですが、劉備や馬謖や姜維のように文武両道の武将を軍師に任命する必要がある場合は事情が変わってきます。そこで、軍師に任命した武将がどのような処理で隊列の一番後ろに回されてしまうのか調べてみました。その結果、大まかに言うと「戦闘開始時にまず隊列の人数をチェックし、6人未満である場合は各武将の状態をチェックし、正常であれば隊列の位置そのまま、それ以外の状態の武将は隊列の最後尾に変更する。6人以上の場合は軍師を隊列の最後尾に移動させるが、負傷中の武将がいる場合は更に軍師の後ろに配置する」という処理内容でした。ここで言う武将の状態は「00=負傷中(戦闘不能)、40=軍師、80=正常、C0=正常かつ軍師」の4種類で、この処理内容を変更すれば軍師に任命した武将も隊列の変更がないまま戦闘に参加できそうです。つまり「隊列が6人以上でも6人未満でも武将が正常な状態であれば隊列の位置そのままを維持し、負傷中の武将のみ隊列の最後尾に変更する」とすればよいのではないでしょうか。この仮説を基に改変を行い、成功すればパッチとして公開する予定です。
以前から気になっていた武将の兵士数設定ですが、少し前に兵士数を規定したオフセットテーブルを見つけていたのでそこから逆算したところ、各武将のパラメーターを設定している項目に辿り着く事ができました。この設定の中に武将ごとの兵士数の設定もあり、兵士数設定は自軍所属時と敵軍所属時でそれぞれ別に設定されている事が判明しました。例えば関羽や張飛のような「敵対せず自軍所属のままで兵士数が成長する」武将は自軍所属設定でも敵軍所属設定でも80h以上の黄忠や馬超といった「敵対時は兵士数が固定だが自軍に加わると兵士数が成長するようになる」武将は自軍所属設定では80h以上、敵軍所属設定では任意のテーブルが指定されており、兵士数が成長しない武将は自軍所属でも敵軍所属でも同じテーブルが指定されているのです。 これで任意の武将の兵士数をレベル成長型に変更できるようになったので、次はBNE2で各武将のパラメーターを自由に変更できるようにしたいと考えています。とはいえ現状ではROMの空き容量が足りず、ROMサイズの拡張とRAMバンクの切り替え変更は必須となります。幸いにしてRAMバンクの切り替え方法は無事に発見できましたので、この処理を参考に拡張したデータ項目や追加サブルーチンなどを増設できるように解析を進めていく予定です。