天地を喰らうシリーズは策略を使うにあたって「軍師」に任命された武将がいないと使用不能になるのですが、軍師に任命された武将は戦闘が開始されると隊列の一番後ろに配置され、隊列が6人以上になると直接戦闘に参加できなくなるというシステムになっています。これがいわゆる文官タイプ(武力や兵士数が低く知力が高い傾向の武将)であればまだいいのですが、劉備や馬謖や姜維のように文武両道の武将を軍師に任命する必要がある場合は事情が変わってきます。そこで、軍師に任命した武将がどのような処理で隊列の一番後ろに回されてしまうのか調べてみました。その結果、大まかに言うと「戦闘開始時にまず隊列の人数をチェックし、6人未満である場合は各武将の状態をチェックし、正常であれば隊列の位置そのまま、それ以外の状態の武将は隊列の最後尾に変更する。6人以上の場合は軍師を隊列の最後尾に移動させるが、負傷中の武将がいる場合は更に軍師の後ろに配置する」という処理内容でした。ここで言う武将の状態は「00=負傷中(戦闘不能)、40=軍師、80=正常、C0=正常かつ軍師」の4種類で、この処理内容を変更すれば軍師に任命した武将も隊列の変更がないまま戦闘に参加できそうです。つまり「隊列が6人以上でも6人未満でも武将が正常な状態であれば隊列の位置そのままを維持し、負傷中の武将のみ隊列の最後尾に変更する」とすればよいのではないでしょうか。この仮説を基に改変を行い、成功すればパッチとして公開する予定です。
色々と試してみたのですが残念ながら現在の私の知識では完全にオフセットを分割できないので、悔しいですが一旦グラフィックオフセットの増設は諦めて別の方面の解析に移ります。
第2次Gのグラフィック処理は基本的に攻撃アニメの際は機体グラフィックをBGレイヤーに、武器アニメーションをスプライトレイヤーに書き込む処理をしているのですが、パラメーター画面では逆にスプライトレイヤーに機体グラフィックを書き込む処理を行います。これだけであればそれぞれの処理に合わせて読み込むオフセットを分割できるのですが、問題は戦闘中にBGレイヤーとスプライトレイヤーの両方にリアルタイムで機体グラフィックを表示して入れ替える処理をするアニメがあるという事です。
例えば上の写真ではビームサーベルのエフェクトはスプライトレイヤーに、機体グラフィックはBGレイヤーに書き込まれています(シャッコーと背景のグラフィックがグチャグチャなのはオフセット切り替えが働いているためです)が、この後に避けるなりダメージを受けるなりして後退するVガンダムのグラフィックが問題で、それが下の写真です。
これがBGとスプライトの切り替えのないアニメ同士であればそれぞれに分割したオフセットの内容がきちんと反映されるのですが、現状では途中でレイヤー間のアニメ描写切り替えが発生するものに対して専用処理を用いてオフセットを分割適用する手段が思いつきません。少し冷静に考えをまとめつつ、いつか必ず再チャレンジしたいところです。
コメント
コメントを投稿