AI切り替え条件メモ

 

 

[state -2]
type = varset
triggerall = !ishelper
triggerall = var(58) = 3
trigger1 = roundno = 1
trigger1 = roundstate = 0
var(59) = (random % 2) + 1


[state -2, AImode切替]
type = varset
triggerall = !ishelper
triggerall = var(58) = 3
triggerall = roundstate = 0
triggerall = roundno > 1
trigger1 = (Win) && (Life <= 300)
trigger2 = (Lose) && (Enemy(0),Life > 300)
var(59) = ifelse(var(59) = 1, 2, 1)

まだ実装はしてないので上手く行くかどうかは分からんが、大体こんなイメージ。
試合中に切り替えるのはリスク高いので想定しない。
基本的に変数の中身はラウンドを跨ぐと初期化されてしまうのだが、cnsファイルの[Data]部分に「IntPersistIndex=〇〇」を記載すると、〇〇以上のvar変数を次ラウンドに持ち越しできる。
それを利用して、1ラウンド終了時に勝敗、体力の確認を行い、条件によって必要があればvar(59)の値を変更しておく。
そして次のラウンドに持ち越され、AIの動きが変化するというギミック。

普通のキャラの場合は特別こういうことをするメリットが無いのだが、天探女は元より近接と遠距離を使い分けて戦えるキャラである。
つまりは相手との相性に合わせて、AIが自力で立ち回りを変えられるという強力なメリットを手に入れられる。
黄龍(慨世)の剣質変更や、秦こころの感情変更を、ラウンド単位でやるイメージになるのかな。
そういうのも新鮮味があって面白いと思う。

追記:
通常modeでAI切り替え条件揃ってるけど実は射撃でしかダメ通ってない、みたいな状態をケアするために、攻撃技のステート番号洗い出して打撃系と射撃系それぞれで与えたダメージ量を監視する必要がありそう。