タグ: 戦闘系

アクティブ/ノンアクティブ索敵の設定

デフォルトAIではフィーリル・バニルミルトはアクティブに敵を攻撃しますが、
こっこAIでは基本的にノンアクティブの設定になります。
主人が攻撃した相手に対して攻撃しに行き、また主人や自分に対して攻撃してくる敵へ反撃します。
ActiveFlagtrueにすると、最初からアクティブに攻撃するようになります。

また、簡単な操作でゲーム中でアクティブに切り替えることが出来ます。
主人が座っている状態でAlt+Tを2回」押すと、ノンアクティブ→アクティブ→ノンアクティブ… と切り替わります。
(正確には休息状態から待機状態に移る時に主人が座っていると切り替わります)
切り替わる場合、アクティブになった時はホムンクルスが主人の1セル北へ、ノンアクティブに戻ったときは1セル南
移動して合図します。主人が座っていなければ切り替わらないので注意してください。
また、テレポートなどでAIが初期化されると初期設定状態に戻ります。

ActiveHPで指定した%以下のHPでは強制的にノンアクティブになるように設定できます。
デフォルトでは40%以下でノンアクティブになります。逃避行動がオンになっている場合はそちらが優先されますので、HomunculusSafetyHPよりは高い数値に設定することをお奨めします。

ActiveSPで指定した%以下のSPでは強制的にノンアクティブになるように設定できます。
デフォルトでは0%ですので、設定しない限りはSPに関係なく動作します。

「アクティブ切り替えに関する変数」カテゴリ内、ActiveFlagの値で設定変更可能。
ActiveFlag = false     ノンアクティブ
ActiveHP = 40     指定%のHP以下はノンアクティブ
ActiveSP = 0     指定%のSP以下はノンアクティブ
カテゴリー : AI機能, 戦闘系設定 タグ : , , ,

攻撃モーションキャンセラーの設定

ホムンクルスは進化するとモーション表示の関係でASPDが低下するという現象が起きるようです。
そのため、本来のASPDを発揮できず戦力が低下してしまうおそれがあります。
そこで、こっこAIでは以前よりその対策として攻撃・移動コマンドを複数回実行し、APSDの向上を図っていました。
(通称0移動キャンセルと呼ばれているもの)

しかし様々な原因により、場合によってはこの機能のためにROクライアントの実行する通信に悪影響を及ぼす
ことが稀にあるようです。そこで、この攻撃コマンドの送信回数をMultiAttackという変数で設定可能にしました。
デフォルトでは2であり、これは元々の攻撃コマンドに加え1回、合計2回の実行がされるということです。
値を3にすれば3回の実行になり、場合によってはより早くなることもありますが、
逆に致命的なラグの原因になりかねませんので、慎重に設定してください。
クライアントのラグが酷い場合は1にすれば直りますが、ASPDは低下する恐れがあります。

なお、クライアントのラグとサーバーのラグは別物ですので、サーバーそのものが重い場合は
AIの設定を変化させても軽くはなりません。


また、更に攻撃速度を上げる手段として、攻撃の合間に実際に移動を挟み、攻撃モーションをキャンセルすることで、
実質的な攻撃速度を上げるといった機能を実装しています。
ただしこの場合、戦闘中にHP・SPが回復しなくなるというデメリットもあります。
デフォルトではオフ(false)になっていますので、もしこの方法で攻撃速度を速めたい場合は
MovingCanceltrueにしてみてください。

また、SP温存のため、MovingSPで指定したSP以下では移動キャンセルをしないようにも出来ます。
デフォルトでは30%以下で移動キャンセルを一時停止します。
なお、ホムンクルスの種類やレベル(ステータスのAPSD数値)によっては大して効果が得られない場合もあります。
カテゴリー : AI機能, 戦闘系設定 タグ : , ,

アクティブ索敵範囲を設定

状態がアクティブ索敵の時は、索敵範囲を設定することが出来ます。
主人からの距離が指定セル以内に居るフリーのMobを攻撃しに行きます。
TargetDistanceの値で設定でき、デフォルトでは7になっています。

これはホムンクルスが索敵時に移動できる距離のことになりますので、実際はここで設定した値よりも1セル
AttackDistance2なら2セル)離れた位置に居る敵までがターゲットの対象になります。

「アクティブ切り替えに関する変数」カテゴリ内、TargetDistanceの値を変更可能。
TargetDistance = 7     アクティブ時の索敵範囲
カテゴリー : AI機能, 戦闘系設定 タグ : , , ,

アクティブ時の索敵範囲調整

アクティブ時の索敵範囲はTargetDistanceで設定しましたが、画面内に他プレイヤーが存在する場合は
この範囲を動的に変化させることが出来ます。

この機能を使うには、アクティブ状態に関する変数群、ActiveRangetrueにします。
他プレイヤーとホムまたは主人の距離(より近いほうが選択される)に応じて、索敵範囲が減少します。
距離が近いほど索敵範囲は狭まり、一定値からは索敵範囲を無し、つまりアクティブに攻撃しない状態になります。
この値はLimitRangeDistで設定し、デフォルトでは6になっています。

「アクティブ状態に関する変数」カテゴリ内、以下の変数によって設定。
ActiveRange = true     アクティブ索敵範囲を変化させるか否か
LimitRangeDist = 6     他PCの位置が指定距離内なら、アクティブ攻撃しない
カテゴリー : AI機能, 戦闘系設定 タグ : , , ,
top