タグ: 退避

退避行動

トリガー条件を満たした時に退避行動に移ります。どのような退避方法をとるか、
何セル離れた位置へ退避するかの設定が出来ます。
デフォルトではHP30% 以下で退避を行い、主人の3セル後ろへ移動します。
これは行動系カスタマイズで指定されているため、機能自体のオン・オフはそちらを参照してください。

退避行動にはいくつかのパターンがあり、大きく分けて
「①主人とターゲットする敵の位置関係から任意の方向へ逃げる」ものと、
「② 自分が接敵された場合は旋回動作で逃げ回る」ものがあります。
EscapePatternで指定し、01~6の退避パターンになります。それぞれについて詳しく説明します。

の設定のときホムンクルス自身が攻撃されても、その相手には反応しません。
主人と、「主人がターゲットした相手(殴った相手)」の位置関係から、
基本的には主人の後ろに当たる位置へ移動
します。このとき主人が殴っていない相手の位置や行動は考慮されません。
常に主人と、主人の敵の2点の位置関係から退避位置を計算します。

また、この退避位置はEscapeDirectionの値によって変更することが出来ます。
例えば主人と敵の位置関係が下図のような場合、基本の退避位置は■です。
ここで EscapeDirection=2 にすると、図の②の位置が退避位置になります。
同様に、EscapeDirection=6 ならば⑥のへ退避します。
このように、EscapeDirectionは主人の真後ろの位置を基準として、値の数だけ時計回りに方向転換させる変数です。
これは退避位置を真後ろ以外の位置へ変更したい時だけ値を変えてください。EscapeDirectionの値域は-8~8です。
マイナスの値を入れた場合は反時計回りに数値分の転換をします。(つまり、7 = -1、6 = -2、…)

退避位置図

の設定の時は、「ホムンクルスを攻撃する敵が近づいたら旋回動作で逃げ回る」パターンになります。1~6は旋回ダンスの動きに対応しています。
例えば、主人の周囲を四角形に逃げさせたければEscapePattern=3になります。
常に旋回するのではなく、ホムンクルスを攻撃する敵が2セル以内に来たら逃げるようになっています。
主人が敵のターゲットを全て取っている場合は、平常時と同様に主人に追従します。

カテゴリー : AI機能, 戦闘系設定, 行動系設定 タグ : , ,

行動系カスタマイズ

こっこAIでは、「○○の時に、□□をする」といった条件と行動の組み合わせを
ある程度カスタマイズ可能です。
例えば従来の「HPが減った時に、退避行動をする」や、「敵の数が多い時に、AS発動率を上げる
というのもこれに当てはまります。

総合ツールの設定エディタでの設定をお勧めします。

※用意されている条件
MANY_ENEMYS			-- 敵の数がEnemyBorder_N以上
TOUGH_ENEMY			-- 平均戦闘時間がEnemyBorder_T以上
ALT_T_TO_REST			-- Alt+Tで休息状態になった時
ALT_T_TO_IDLE			-- Alt+Tで待機状態になった時
ALT_MY_CLICK			-- 自分の居るセルをAlt+右クリックした時
ALT_OWNER_CLICK			-- 主人の居るセルをAlt+右クリックした時
ALT_FRIEND_CLICK		-- 友達の居るセルをAlt+右クリックした時
MY_HP_UNDER_SAFETY		-- 自分のHPがHomunculusSafetyHP(%)以下の時
MY_SP_UNDER_SAFETY		-- 自分のSPがHomunculusSafetySP((%)以下の時
OWNER_HP_UNDER_SAFETY		-- 主人のHPがOwnerSafetyHP(%)以下の時
OWNER_SP_UNDER_SAFETY		-- 主人のSPがOwnerSafetySP((%)以下の時
MY_HP_EMERGENCY			-- 自分のHPが1秒間でFallMyHpRateで指定した%以上減った時の行動
MY_SP_EMERGENCY			-- 自分のSPが1秒間でFallMySpRateで指定した%以上減った時の行動
OWNER_HP_EMERGENCY		-- 主人のHPが1秒間でFallOwnerHpRateで指定した%以上減った時の行動
OWNER_SP_EMERGENCY		-- 主人のSPが1秒間でFallOwnerSpRateで指定した%以上減った時の行動
OWNER_MOTION			-- 主人のモーションがT_OwnerMotionで指定した状態である時の行動

「トリガーに関係する設定変数」カテゴリ内、以下の変数によって設定。
EnemyBorder_N = 3        MANY_ENEMYS条件に使用:敵の数
EnemyBorder_T = 7000      TOUGH_ENEMYに使用:平均戦闘時間(ミリ秒)
HomunculusSafetyHP = 30     MY_HP_UNDER_SAFETYに使用:HPの%
HomunculusSafetySP = 30     MY_SP_UNDER_SAFETYに使用:SPの%
OwnerSafetyHP = 30       OWNER_HP_UNDER_SAFETYに使用:HPの%
OwnerSafetySP = 30       OWNER_SP_UNDER_SAFETYに使用:SPの%
T_OwnerMotion = -1       OWNER_MOTIONに使用:主人のモーション
FallMyHpRate = 20       1秒間に自分のHPが低下する時の閾値%
FallMySpRate = 5       1秒間に自分のSPが低下する時の閾値%
FallOwnerHpRate = 20       1秒間に主人のHPが低下する時の閾値%
FallOwnerSpRate = 5       1秒間に主人のSPが低下する時の閾値%

※用意されている行動
TRIGGER_OnESCAPE		-- 退避状態化
TRIGGER_OnSEARCH		-- サーチング
TRIGGER_OnFORWARD		-- 先行移動化
TRIGGER_OnSHOOTING		-- 援護射撃化
TRIGGER_ACTIVE			-- アクティブ化
TRIGGER_CHANGE_OWNER		-- オーナーチェンジ
TRIGGER_ASP_INC			-- AS時の確率増加
TRIGGER_ASL_INC			-- AS時のレベル増加
TRIGGER_OnMOVE			-- 指定座標へ移動
TRIGGER_CHANGE_MODE  		-- モードチェンジ
TRIGGER_PRIORITY_oENEMY		-- 主人の敵優先
TRIGGER_PRIORITY_mENEMY		-- 自分の敵優先
TRIGGER_ASP_DEC			-- AS時の確率低下
TRIGGER_ASL_DEC			-- AS時のレベル低下
TRIGGER_FOLLOW_CMD_ST		-- 休息状態に切り替え

条件に対して行動を割り当てていくことで設定できます。例えば、

MANY_ENEMYS = {TRIGGER_ASP_INC, TRIGGER_ASL_INC}

これは、「敵の数が指定数以上(MANY_ENEMYS)の時、AS確率上昇(TRIGGER_ASP_INC)とASレベル上昇(TRIGGER_ASP_INC)を行う」という意味になります。これを「敵の数が指定数以上の時、退避行動をとる」としたい場合は、

MANY_ENEMYS = {TRIGGER_OnESCAPE}

このように書き換えます。特に何も割り当てない場合は、

MANY_ENEMYS = {}

このようにしておきます。{}は決して消さないでください。
複数の行動を割り当てる場合は、最初の様にカンマ( , )で区切って書きます。
デフォルトの設定は以下のようになっています。
「トリガー系編集に関する変数」カテゴリ内、以下の変数によって設定。
MANY_ENEMYS = { TRIGGER_ASP_INC, TRIGGER_ASL_INC }
TOUGH_ENEMY = { TRIGGER_ASP_INC }
ALT_T_TO_REST = {}
ALT_T_TO_IDLE = {}
ALT_MY_CLICK = { TRIGGER_OnSEARCH }
ALT_OWNER_CLICK = {}
ALT_FRIEND_CLICK = { TRIGGER_CHANGE_OWNER }
MY_HP_UNDER_SAFETY = { TRIGGER_OnESCAPE }
MY_SP_UNDER_SAFETY = {}
OWNER_HP_UNDER_SAFETY = {}
OWNER_SP_UNDER_SAFETY = {}
MY_HP_EMERGENCY = {}
MY_SP_EMERGENCY = {}
OWNER_HP_EMERGENCY = {}
OWNER_SP_EMERGENCY = {}
OWNER_MOTION = {}

カテゴリー : AI機能, 行動系設定 タグ : , , ,
top