パーティ全員で「誰か一人が成功するまで一人ずつ判定する」イベント。
判定→条件分岐→判定→…で作るのと結果は同じ。
イベント
イベントタイプ:継承にしているけど、マルチなら全体で。
- パーティメンバーを取得
パーティ全員のIDを配列変数「パーティのみんな」に取得している。
ここでNPCとPCは区別されない。 - 繰り返し処理 タイプ:配列変数
さっき設定した配列の個数と同じ数だけ繰り返す。
1人パーティなら1回、4人マルチなら4回。無駄に判定が起きたり、少なすぎたりはしない。
繰り返し処理の中で「\e.Argument」を対象にすると、配列に取得した内容(=配列変数に取得されているPCのID)を順に指定したことになる。
判定に成功したら「判定成功~」のメッセージが出てイベント終了。よく見たら継続にしてるけど、今回は終了/継続どっちでもいい。
失敗したら何も起きないで、まだ判定していない人がいたら次の判定へ。もう全員が済んでいたら繰り返し処理終了。
終わり
全員が判定を終えて、かつ誰も成功していない(=イベント終了/継続が起きない)場合、最後の「全員失敗!!」のコメントまで続く。
他1
イベントの中盤でこれをやったり、これの後に成功でも失敗でもイベントを続けたい場合、イベントの操作:終了だとイベントが終わってしまう。
このイベントだけ別に分けて、メインのイベントからイベントの呼び出しを使うのがいい。その場合、成功時の「イベントの操作」は終了ではなく継続で。
終了だと全てのイベントを打ち切るので、メインのイベントに戻らなくなる。継続ならば今のイベントだけを終わらせて元のイベントに戻る。
成功者に回復ボーナスとかやりたいときは、判定内にエフェクトを入れたらOK。
「結果がどうだったか」を、判定内だけじゃなく大元のイベントでも使いたいときは、変数で取っておくとか、イベント呼び出し時点で引数戻り値で頑張ったらできそう。難しそう。頭が…
他2
成功するまで無限にやらせたい時は!?
繰り返し処理を繰り返し処理の中に入れて(繰り返し処理を二重にして)、上側の繰り返し処理に無限の条件を設定するとかなんですかね。タイプ:条件、変数:判定成功の有無が「失敗のとき」みたいな。
事故/飽き防止を入れるなら、判定の「判定しないことを許可する」に✅したらいいかもしれない。