| RSTです。
ユニット情報関数の中にある、SpecialPower関数というものを使うと、 「ユニットが指定したスペシャルパワーの影響下にあるかどうか」を判定することができます。
また、Gotoコマンドというものを使えば、指定したラベルまでイベントを進める(飛ばす)ことができます。
この二つを利用して、 「ランダムで選ばれた精神がすでにパイロットAにかかっているときは、ランダムで精神コマンドを選ぶ処理まで飛ぶ」 というふうにすれば、想定している動作になると思います。
以下は、提示されたソースに少し手を加えてみたものなので、 ヘルプファイルを読みながら参考にしてみてください。
*ターン 全 味方: # Gotoコマンドで飛ぶためのラベルを設定 精神選びなおし: Switch Random(4) Case 1 # パイロットAに必中がかかっているとき If SpecialPower(パイロットA,必中) = 1 Then # 上で設定したラベルまで処理を飛ばす Goto 精神選びなおし # 必中がかかっていなければ Else # パイロットAに必中をかける SpecialPower パイロットA 必中 SpecialPowerAnime 必中 パイロットA EndIf Case 2 # 以下略 EndSw Exit
# ※集中は1ターンで効果が切れるので、永久に「精神選びなおし」に飛び続けるということはないはず。
|