オート攻撃スキルの使用レベルはSetSkillLevelで設定しますが、Mob.luaの平均戦闘時間データを元に、
敵ごとにオートスキルのスキルレベルを動的に変化させることが出来ます。
戦闘データが無い対象にはSetSkillLevelの数値をそのまま使います。
スキルレベルの自動調整をONにする場合は、オートスキルに関する変数カテゴリ内のAutoAdjustをtrueにしてください。
調整の判定は、AS_threshold という配列内の数字で行います。配列内の数字と対象の敵の平均戦闘時間を比べ、
当てはまるところに対応したレベルをオートスキルでの使用レベルとします。
デフォルトではAS_threshold = {1500, 2000, 3000, 4000, 5000} このように設定されているので、これを例に説明します。
この設定で自動レベル調整をするとき、対象の平均戦闘時間が1500ミリ秒(1.5 秒)未満の時は、使用レベル0を返し、
オートスキルを使いません。1500ミリ秒以上2000ミリ秒未満の時には、オートスキルのレベルは1に調整されます。
更に、2000ミリ秒以上3000ミリ秒未満の時はレベル2を、3000~4000未満でレベル3、4000~5000未満でレベル4、
それ以上はレベル5を使用するようになります。
下記変数群は、AI本体での初期定義に使用する変数です。
設定エディタを使用する場合、スキルごとにこれらの設定を行えます。
「オートスキルに関する変数」カテゴリ内、以下の変数によって設定。
AutoAdjust = true スキルLv自動調整使用するか否か
AS_threshold = {1500, 2000, 3000, 4000, 5000} 調整用の閾値設定
AS_threshold[1] 以下 Lv0(使用しない)
AS_threshold[1]~[2] Lv1
AS_threshold[2]~[3] Lv2
AS_threshold[3]~[4] Lv3
AS_threshold[4]~[5] Lv4
AS_threshold[5] 以上 Lv5
平均戦闘時間のデータ無しの時 SetSkillLevelで設定したレベル
トリガー条件を満たした際に、オート攻撃スキルのスキルレベルがASL_Increaseの数値だけ上昇します。
Lv5以上にはなりませんので、こちらはデフォルトでは0です。
確率を変更するASP_Increaseと紛らわしいので間違えないように注意してください。
デフォルトでは「敵の数が EnemyBorder_N以上のとき」に割り当てられています。
「AS確率操作に関する変数」カテゴリ内、以下の変数によって設定。
ASL_Increase = 1 上昇させるスキルレベル(敵の数)
こっこ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 = {}
敵ごとにオートスキルのレベル、発動率など、細かな個別設定をする操作です。
これらのデータはMob.luaに保存されます。
総合ツールのMob設定エディタを使えば、ゲーム外でもこれらの設定を編集することができます。
複雑な操作の場合は、エディタの利用をお勧めします。
オートスキル攻撃をしない敵を登録
手動でムーンライト(カプリス)Lv1を使用すると、その相手を「オートスキルを使用しない相手」として登録し、
以後その敵に対してオート攻撃スキルを使用しなくなります。
他の登録操作と同様、既に登録されている敵にムーンライト(カプリス)Lv1を使用すると、登録が解除されます。
敵ごとに固定のスキルレベル指定
Alt+Tによる休息状態の時に手動でスキルを使用すると、その敵に対する固定スキルレベルを設定できます。
登録の際に使用したレベルが登録されます。同じレベルでスキルを使うと、デフォルトの設定に戻ります。
この登録操作を別の操作に割り当てた場合は、操作を行うとLv1が登録され、操作1回ごとにLvが1ずつ
上がっていきます。操作を5回でLv5に固定になり、更にもう一度操作をすると固定無しの設定依存に戻ります。
この固定レベルはSetSkillLevelの設定値や、 AutoAdjustによる調整を一切受けない完全に固定のものになります。
フルスキル対象登録
これによって登録された相手は、以後直接攻撃をせず遠距離からスキルのみで攻撃するようになります。
援護射撃モードとは若干違い、敵が近づいても逃げません。また、使うレベルは固定で指定し、
敵ごとに固定のスキルレベル指定と同様の登録動作になります。
この登録機能はデフォルトでは操作に割り当てられていません。利用したい場合のみ、登録操作カスタマイズにて、
操作変更して使ってください。
詠唱妨害する敵を登録
手動でムーンライト(カプリス)Lv2を使用すると、その相手を「詠唱妨害する相手」として登録し、以後戦闘中または
ターゲット追跡中に相手が詠唱を行うとスキル攻撃により詠唱妨害を試みるようになります(詠唱妨害の項目参照)。
他の登録操作と同様、既に登録されている敵にムーンライト(カプリス)Lv2 を使用すると、登録が解除されます。
特殊強化スキルを使う相手を登録
一部の強化スキルは特定の相手にのみ使う方が有効であるため、個別に登録することで自動使用するようになります。
主人が座っている時にShift+Alt+対象右クリックによって登録されます。
登録はスキルの使用レベルも兼ねており、登録操作を繰り返すと使用レベルが1ずつ上がり、5まで上がると0
(非使用)になります。
したがって、例えばある敵と戦う時はLv3のオーバードスピードが使いたい場合は主人が座っている時に
Shift+Alt+対象右クリックを3回行ってください。
解除したい場合はそこから更に同じ操作を3回すれば、 Lv4→Lv5→非使用と切り替わっていきます。
リーフの場合はスキルレベルの調整は必要ないので、2回目の登録操作ですぐに非使用になります。
登録中はホムンクルスが主人の1マス北へ移動して合図し、非使用になる(登録解除される)と主人の1マス南へ移動して合図します。