Oreno Combat AI

自作Mod

NPCの行動を増やすことで戦闘難易度を上昇させます。

ダウンロード

更新履歴

  • 2024/11/18 (未リリース)
    • 戦術において、近接以外はアタッカーにならないようにしました。これにより、遠隔のみが攻撃して近接が遠くで様子を伺うという状況が改善されます。
  • 2024/9/15
    • MCOをサポートしました。
    • よろめきをドッジでキャンセルする機能を廃止しました。かわりに、よろめきの硬直が解けた直後は積極的にドッジをするようにしました。
    • 戦闘レベルを動的に設定する機能が有効のときに、戦闘レベルが正しく設定されない不具合を修正しました。
    • 敵のドッジ直後は防御不可にしました。これに伴いBehavior Data Injectorが必要になります。
  • 2024/3/25
    • ドッジが出せない場合にアクションのほとんどが無効になる不具合を修正しました。
  • 2024/2/10
    • 戦術で役割に上限を設定できるようにしました。
  • 2023/12/29
    • 一部の環境でよろめきが発生しない不具合を修正しました。
    • PAPERを使うようにしました。OnHitExイベントのかわりにOnImpactイベントを使うようにしました。スクリプト負荷が下がると思います。
    • 戦闘中のマジカ回復速度を変更できるようにしました。
  • 2023/9/15
    • 待ち伏せ中の敵が待ち伏せを止めない不具合を修正しました。
    • CloakのIntervalがMCMの設定に関係なく10で固定になっている不具合を修正しました。
  • 2023/7/1
    • 戦術に参加できないNPCがいる際に全員がバックアップに割り当てられてしまうことがある不具合を修正しました。
    • Requiemで逃走状態となったNPCが発生した場合は戦術を構築しなおすようにしました。
    • Requiemがインストールされている場合は、NPCのドッジの使用可否がRequiem準拠になります。(重装を着ていない、Evasion_DodgeのPerkを持っている)
    • スクリプトの処理を調整しました。
    • 待ち伏せ中は透明化のスペルで隠れるようにしました。
    • MCMに動作状況を表示するページを追加しました。
  • 2023/4/18
    • バックアップの挙動を変更しました。
    • 役割の人数を自由に設定できるようにしました。
    • OnHitイベントのかわりにPO3 Papyrus ExtenderのOnHitExイベントを使うようにしました。パフォーマンスが改善すると思います。
    • ドラウグルとファルメルも対象になります。ただしアクションは適用されません。
    • ボスは待ち伏せしなくなります。
    • 待ち伏せを使うにはBe Quietが必要になりました。

これより前の分はOreno Combat AIの更新履歴にあります。

必要なMod

  • PAPER (攻撃を受けたことを検知するため)
  • Behavior Data Injector (防御不可のためのアニメーション変数を追加するため)

戦術

MCMで戦術を使うをオンにします。

スクリプト負荷は、誰かが戦闘に参加したり離脱したりといった戦況の変化ごとに処理するため、やや高めです。

戦術の詳細

NPCの数が多いと、彼らは役割を決めて戦います。

役割説明
タンク防御役です。標的に張り付き、バッシュ等を多用して足止めをさせます。
ヒーラー回復役です。標的から距離を取り、回復を中心に行動します。
バックアップ離れた位置で様子を伺います。
ただし、遠隔攻撃が可能な場合は離れた位置から攻撃してきます。
アタッカー攻撃役です。通常通りに攻撃してきます。

タンクは絶対に逃げず、他の役割も味方が多い間はほとんど逃げません。逆に味方が少なくなると逃げ出す確率が上昇します。

バックアップは殴り合いに参加する人数を間引くという効果があります。ただし、近接対近接の場合のみです。遠隔攻撃が可能な場合は離れた位置から攻撃してきます。相手が遠隔攻撃をしている場合も突っ込んできます。

役割の人数は細かく設定できます。

役割グループの最低人数人数にたいする割合グループにおける上限
タンク34なし
ヒーラー46なし
バックアップ23なし
アタッカー3

グループの最低人数を満たした時に、少なくとも1人が割り当てられます。例えばグループが3人ならタンクが1人だけ割り当てられますがヒーラーは割り当てられません。グループが2人の場合はタンクもヒーラも割り当てられません。

役割の人数はグループ人数にたいする割合で決まります。例えば4人に1人がタンクとなります。

上限を超えた場合は割り当てられません。どの役割にも割り当てられないとアタッカーになります。

アタッカーの上限に達した場合は最終的にバックアップに割り当てられます。

ステータス

MCMでステータスを使うをオンにします。

スクリプト負荷は、戦闘開始時と終了時に処理するため、低めです。

攻撃速度

NPCの武器を振る速度を変更できます。

速すぎてついていけない時の調整に。

スタミナ

NPCのスタミナ量を増やせます。

スタミナゲームの調整に。

戦闘中のマジカ回復速度

NPCのマジカ回復速度を変更できます。

魔法が強すぎる時の調整に。

アクション

MCMでアクションを使うをオンにします。

スクリプト負荷は、戦闘中にたえず処理しているため、非常に高めです。

戦闘レベル

敵の賢さを表しています。戦闘レベルはMCMで固定値を設定することもできますが、自分と標的とのレベル差に応じて動的に決定させることもできます。

戦闘レベルが高いほど各種アクションの使用頻度が高くなります。

戦闘レベルが低いほど、届かない位置から武器を振ったり、暴れて攻撃を連打するという無駄な行動の頻度が高くなります。

攻撃を受けると一時的に戦闘レベルが低下します。逆に攻撃を防御すると戦闘レベルが上昇します。

フォロワーのタンクは行動が優遇されています。

  • 届かない位置から武器を振りません。
  • 標的が離れている場合は率先してジャンプ攻撃をします。スタミナが3割以上あることが条件です。
  • 標的が近い場合は防御を最優先します。

ジャンプ攻撃

敵がジャンプします。敵がジャンプ中に攻撃するにはCombat Gameplay Overhaul SEが必要です。

標的の目の前に向かって落下しながら攻撃しようとします。ジャンプ攻撃は予ダメージが上昇します。

たまに背面に着地することもあります。戦闘レベルが高いほど頻度が上昇します。

これにより、プレイヤーが高い所から一方的に攻撃することは難しくなります。

ドッジ

敵がドッジを使ってきます。任意のドッジModが使えます。

前方ドッジを至近距離で防御しようとすると仰け反ります。ガード崩しのようなものです。防御しなければ何も起こりません。敵はかなり的確に使ってきます。プレイヤーは位置調整や判定タイミングなどの関係で難しいです。

敵がドッジをした直後はさまざまなペナルティがあります。直前防御不可、受け流し不可、ガード時に吹き飛ぶ、などなど、攻撃を当てるチャンスです。(直前防御と受け流しはTimed Blockの機能)

敵がドッジをした直後は防御を不可にできます。Behavior Data Injectorの導入と、付属のCombatAI – Blocking.espの有効化が必要です。

ドッジ機能を有効にするには

パッチを作成する必要があります。かなり面倒なんですが、パッチを配布すると権利の侵害になってしまうのでご了承ください。

Combat AIのバージョンを上げたらパッチも作り直しです。ご注意ください。SSEEditでおかしな部分がないか確認すればOKなのですが、よくわからない場合は作り直すと確実です。

2020/4/28版にてパッチの作り方が変更になりました。いまのところパッチを作り直す必要はありません。

TK Dodge SE

  • Combat AI、TK Dodge SE、SSEEditをインストールします。
  • SSEEditを起動します。
  • CombatAI.espTKDodge.espだけにチェックを入れてOKを押します。
  • 左ペインからCombatAI.esp -> Quest -> aaaQuestDodgeの順に開いていきます。
  • aaaQuestDodgeを右クリックして、メニューから “Copy as override into…” を選びます。
  • “<new file>.esp [Template] ESL” にチェックを入れます。他に似ているのがいくつかありますが、ESLを選びます。これはいわゆるESPFE形式という意味です。
  • 名前を入れてください。例: CombatAI – TKDodge.esp
  • CombatAI – TKDodge.espを右クリックして “Add Masters” を選びます。
  • TKDodge.espにチェックを入れてOKを押します。
  • 左ペインからCombatAI – TKDodge.esp -> Quest ->  aaaQuestDodgeの順に開いていきます。
  • 右ペインからVMAD – Virtual Machine Adapterを探して開きます。
  • aaaIdleDodge*****のプロパティをaaaTKDodgeForward、aaaTKDodgeBack、aaaTKDodgeLeft、aaaTKDodgeRightにします。
  • SSEEditを終了します。CombatAI – TKDodge.espを保存するか聞かれるので保存します。
  • ModマネージャでCombatAI – TKDodge.espを有効化します。

The Ultimate Dodge Mod

TK Dodge SEとほぼ同じです。TK Dodge SE.espの部分をUltimate Dodge Mod.espに置き換えて作業してください。

パッチの名前をCombatAI – TUDM.espにしたとします。

Ultimate Dodge Mod.espのIdle AnimationからDodge Roll NPCを探して右クリック、”Copy as override into…” を選んでCombatAI – TUDM.espにコピーします。うまくコピーできると、以下のようになります。

左ペインでDodgeRollNPCを選んでから右ペインを見ます。Conditionsの最後に “Subject.GetGlobalValue(UDNPCDodgeAIGlobal [GLOB:0700C9F5]) = 1.000000 AND” という項目があるので、CombatAI – TUDM.espの方を右クリックしてRemoveを選び削除します。

左ペインでaaaQuestDodgeを選んでから右ペインを見ます。aaaIdleDodge****のところにDodgeRollNPCを指定します。

ドッジ機能を使うときの注意事項

TK Dodge SE

特にありません。

ちなみに、TK Dodge SEはプレイヤー専用なのでNPCはドッジしませんが、同じ作者のUltimate Combatを入れるとNPCがドッジするようになりますので、Combat AIを無理に使う必要はありません。

The Ultimate Dodge Mod

The Ultimate Dodge ModにはNPCもドッジするようになる機能が付いています。これがCombat AIと被るので動作がおかしくなる恐れがあります。ドッジ機能はどちらか一方だけを有効にすることをオススメします。

The Ultimate Dodge Mod側のドッジ機能を使う場合は、The Ultimate Dodge ModのMCMでNPCのドッジ機能を有効にして、Combat AIはパッチを作らなければOKです。

Combat AI側のドッジ機能を使う場合は、The Ultimate Dodge ModのMCMでNPCのドッジ機能を無効にしてください。

YASH2

YASH2には攻撃時にスタミナを消費させる機能があります。内部的にStaminaRateを0にしてスタミナがしばらく回復しないようにしているようです。

TUDMはStaminaRateが0のときはドッジが出ないようになっています。よって、YASH2とTUDMを組み合わせると、敵が攻撃した直後はドッジが出ません。

YASH2のスタミナ消費を無効にして本Modのスタミナ消費を有効にするか、TUDMからStaminaRateの検査を無くす必要があります。

Requiem

RequiemもYASH2と同様にスタミナを消費させる機能があり、TUDMと相性が悪いので、StaminaRateの検査を無くした方がいいでしょう。

MCMでRequiem準拠のドッジを有効にすると、ドッジの発動条件がプレイヤーと同様の、重装を着ておらず、Evasion_DodgeのPerkを持っていること、になります。

この条件を満たすNPCは意外に少なく、滅多にドッジをしなくなります。

Combat Gameplay Overhaul SE

The Ultimate Dodge Modと競合します。Combat AI + TUDM + CGOで共存させる方法についてドッジの環境を作るにてまとめています。

その他の機能

警戒行動

敵の存在を察知すると、敵がいる場所に探索しに行くようになります。

裏手に回り込むことで、敵の目を誤魔化すことができます。

スクリプト負荷は、Actorが警戒態勢にある間は定期的に処理しているため、やや高めです。

待ち伏せ行動

死角になりそうな場所で潜んで奇襲を仕掛けてきます。

待ち伏せはプレイヤーを認識できるまで敵が待機することになります。ですので、ダンジョンにたくさん敵がいるのに大半が入り口になだれ込んで来て乱戦になり、結局入り口だけで方が付いてしまったということが減ります。

待ち伏せ場所データを手動で作っていますので、データが用意されている場所でのみ機能します。

データは随時追加していく予定です。

待ち伏せ中の敵がしゃべらないようにするにはBe Quietが必要です。

スクリプト負荷は、定期的にセルをスキャンして待ち伏せ候補を選出したり、待ち伏せ中のActorの行動を定期的に処理しているため、やや高めです。

その他

ドラウグルの揺ぎ無き力の効果を吹き飛ばしからよろめきに変更することができます。よろめきは防御で防ぐことができます。バニラ限定です。

MCOについて

MCMでMCOサポートを有効にすると、近接武器のコンボ中に攻撃をキャンセルしなくなります。

また、Requime準拠のドッジは無効にすることをオススメします。

CombatAI – Blocking.esp

敵の防御の可否を実装します。このプラグインはIdle Animationを編集しており、競合しやすくなっています。

現在はFor Honor Power Attack用に作っており、For Honor Power Attackの後にロードする必要があります。

CombatAI – Requiem.esp

RequiemのドラウグルはRequiem専用の揺ぎ無き力を使ってきます。これを吹き飛ばしからよろめきに変更して、防御可能にします。

Requiemは敵味方問わず、走っている最中はスタミナが回復しなくなります。これが敵の場合、スタミナが少なくてもプレイヤーと距離がある限りは走るのをやめないため、スタミナが回復しません。そこで、敵に限ってスタミナが50%未満の時は無効にします。

併用をオススメするMod

本Modは敵のCombat Styleには手を入れないため、Combat Styleを強化するMod(Combat Evolved)を併用することをオススメします。

敵の手数を増やすTimed Blockも合わせてどうぞ。

タイトルとURLをコピーしました