【解決しました】人間、ペットの混成パーティで、人間が全滅したらゲームオーバーにする方法はありますか?(MVT)

リンク

ユーザー
SwitchのMV Trinityで作ってます。

以下の様な戦闘システム考えています。
人間と、ペットがいて一緒に戦います。
ペットは戦闘不能になっても問題ありません。
しかし、人間が全て戦闘不能になると、ペットが戦闘不能でなくとも、ゲームオーバーになるシステムです。
ドラクエIVで、導かれし者メンバーが全滅すると他のメンツ(ドランとか)が生きていても全滅扱いになるイメージを考えて下さい。

最初この様なものを考えました。
バトルイベントを使い、スパンをターンにして、人間の誰かがHP<=0になったら、他の人間のHPをチェック(想定される人数分イベントページを作ります)。
そのHPが既に0だったら、コモンイベントを呼び出しゲームオーバーにする。

しかしこれだと一つ穴があることに気付きました。
例えば人間AとB、他にペット(この中でずっと生存だと仮定して下さい)がいて、あるターンでAのみが戦闘不能に(ここでイベント発生するも、B生存でゲームオーバー回避)。
次のターンでBがAを蘇生させる。(ターン開始時にAはまだ戦闘不能故、同一のイベントが発生するもB生存で回避)
その後、B→Aの順で戦闘不能になると、既に同ターンでAの戦闘不能分のコマンドが消費されている為、バトルコマンドが発生しなくなってしまい、ゲームオーバーが発生しなくなってしまいます。

色々考えているんですが、突破口が見えません。
コモンイベントで常時監視する手も考えましたが、コモンイベントの並列処理はマップ中のみで戦闘中には動作しない仕様だと書いていました。
また、バトルイベントの「モーメント」は、並列処理に対応していない為、これに設定してしまうと無限ループになってハングアップしてしまいます。

要は「戦闘不能」になった瞬間に動作し、その後は戦闘不能状態が継続しても重複動作しない。
しかし、一旦戦闘不能が解除されるとリセットされ、同ターンであっても再度戦闘不能が発生すると、また一度だけ動作する。

良い方法は無いでしょうか?
突破口を探すも
・コモンイベントの並列処理は戦闘中には回らない
・バトルイベントの「モーメント」は並列処理に対応しない
・動作条件にアクターのHPに関してはXX「以下」しか設定できない(「以上」が設定できるなら2個のスイッチを使って相互にモーメント設定でトグル動作させる手法があるのに)
・スパンに、バトル、ターン、モーメントはあるけど、「アクション」は無い(敵味方全ての誰かが行動終了する時に毎回実行される、的なものを想定して下さい)

これがネックになっています。
うまい方法はなんかあるでしょうか?
 

ゼゼゼ

ユーザー
Trinityの仕様がちょっとわからないので、可能かどうかはわかりませんが、敵の攻撃スキル全てにコモンイベントを設定するというのはどうでしょう? 毒で死んだ時に困るかな……。
 
同じくMVTの仕様は詳しくないですが……
バトルイベントの条件をターン終了、スパンをターンにして、
イベント内で人間AとBが戦闘不能かどうか判定したらいいんじゃないかな?
 

リンク

ユーザー
Trinityの仕様がちょっとわからないので、可能かどうかはわかりませんが、敵の攻撃スキル全てにコモンイベントを設定するというのはどうでしょう? 毒で死んだ時に困るかな……。
ありがとうございます。

ゼゼゼ様のやり方を試みたら、想像に即した動作ができました。
チョコ輪部様の方法ですと、戦闘不能になるタイミングがターン終了時とは限らないので、残念ですが、ダメそうな気がしました。

ただ、この「全滅処理をカスタム化」する方法だと、そのままだと敗北イベントに注意が必要でした。
敗北イベント中は「敗北可」にチェック入れるだけでなく、別途スイッチ管理も行い、ゲームオーバー処理の直前でこのスイッチが0の時のみゲームオーバーにし、1の時は代わりに戦闘中断を発生させる様にしました。
(但しこれだと戦闘は「逃走」扱いになるらしく、敗北可逃走不可になっている相手だと、そのままでは勝利と敗北の区別ができない(逃走不可の敵には逃走の分岐が発生しない)ので、勝利以外は全て敗北扱いにして、勝利した時のみ敗北イベントをジャンプ処理で回避する必要がありそうでした)
まあもっとも、敗北イベントは勝利することは考えられないことがほとんどなので、分岐内は無記入にして、分岐後に直接敗北イベントを続けて書いても良さげですね。

あと、スリップダメージでの全滅は元々行わない設定にしたので、毒問題は大丈夫です。
 
トップ