QN誰か一人が成功するまで判定

discordで見かけたやつです。

パーティ全員で「誰か一人が成功するまで一人ずつ判定する」イベント。
判定→条件分岐→判定→…で作るのと結果は同じ。

イベント

イベントタイプ:継承にしているけどマルチなら全体で
  1. パーティメンバーを取得
    • パーティ全員のIDを配列変数「パーティのみんな」に取得している。
      ここでNPCとPCは区別されない。
  2. 繰り返し処理 タイプ:配列変数
    • さっき設定した配列の個数と同じ数だけ繰り返す。
      1人パーティなら一回、4人マルチなら4回……無駄に判定が起きたり少なすぎたりはしないということ。
    • 繰り返し処理の中で「\e.Argument」を対象にすると、配列に取得した内容(=配列変数に取得されているPCのID)を順に指定したことになる。
    • 判定に成功したら「判定成功~」のメッセージが出てイベント終了。よく見たら継続にしてるけど今回は終了/継続どっちでもいい。
      失敗したら何も起きないで、まだ判定していない人がいたら次の判定へ。もう全員が済んでいたら繰り返し処理終了。
  3. 終わり
    全員が判定を終えて、かつ誰も成功していない(=イベント終了/継続が起きない)場合は最後の「全員失敗!!」のコメントまで続く。

他1

イベントの中盤でこれをやったり、これの後に成功でも失敗でもイベントを続けたい場合、イベントの操作:終了だとイベントが終わってしまう。

このイベントだけ別に分けて、メインのイベントからイベントの呼び出しを使うのがいい。その場合、成功時の「イベントの操作」は終了ではなく継続で。
終了だと全てのイベントを打ち切るので、メインのイベントに戻らなくなる。んだっけ?継続なら今のイベントだけを終わらせて元のイベントに戻る。

成功者に回復ボーナスとかやりたいときは判定内にエフェクトを入れたらOK。
「結果がどうだったか」を判定内だけじゃなく大元のイベントでも使いたいときは、変数で取っておくとか、イベント呼び出し時点で引数戻り値で頑張ったらできそう。難しそう。頭が…

他2

成功するまで無限にやらせたい時は~どうするんだ!?

繰り返し処理を繰り返し処理の中に入れて(繰り返し処理を二重にして)、上側の繰り返し処理に無限の条件を設定するとかなんですかね。タイプ:条件、変数:判定成功の有無が「失敗のとき」みたいな。
事故/飽き防止を入れるなら、判定の「判定しないことを許可する」に✅したらいいかもしれない。