こんにちは、まとんです。
いつも酒場で飲んだくれている不滅のウスガルドさんですが、見飽きてきたので、ちゃんと就労させようと思います。

(本音)毎日しみったれた顔して、ちびちび飲んでる姿にイラっときた。
しかし、ウスガルドさんのヘタレっぷりは非常に有名なので、「AI Overhaul」のような有名MODでもあえて触れられてなかったりします。
なかなか良いMODに巡り合えなかったので、AIパッケージを自作してみました。
飲んだくれの原因
まず、飲んだくれている原因を調査します。
SSEEditでウスガルドさんのレコード(Form ID : 000918E2)を見てみると、次のようにAIパッケージが指定されています。

AIパッケージは、上から順に優先的に適用される仕組みになっていて、上位パッケージの条件に合わない場合に下位パッケージが使用されます。
この場合、パッケージの内容は以下の通りです。
| ID | パッケージ名 | 説明 |
|---|---|---|
| 0 | WhiterunuthgerdScenePackage | 没パッケージ。バニラでは絶対に使われない。 |
| 1 | WhiterunUthgerdBanneredMarePackage | バナードメアで飲食するパッケージ。 |
実質、有効なパッケージは一つだけで、かつこのパッケージにはスケジュールが設定されていないため、ずっとバナードメアに滞在することになっています。
修正方法は2通り
AIパッケージの修正方法は二つあります。
修正方法1 : スケジュールを設定する
一つ目の修正方法は、WhiterunUthgerdBanneredMarePackage にスケジュールを設定することです
こうすることで、指定時間以外はデフォルトパッケージが動くようになります。

デフォルトパッケージの詳細はよく分かってないのですが、その辺をうろつくようになるパッケージらしいです。
修正方法2 : 別パッケージを挿入する
2つ目の修正方法は、WhiterunUthgerdBanneredMarePackage より優先度の高いパッケージを別途指定することです。
こちらの方が、より生活感が出るようになるためおすすめです。
今回は、こちらの方法でウスガルドさんのAIパッケージを改善してみようと思います。
AIパッケージの作成方法
スケジュールを決める
AIパッケージを作る前に、まずウスガルドさんの新スケジュールを決めます。
日中は市内をパトロール、夜にバナードメアで食事を取り、家に帰って就寝という流れにしてみました。
なお、就寝パッケージは USSEP を導入すると適用されますので、それ以外の部分を作っていこうと思います。
| 時間 | 説明 | AIパッケージ |
|---|---|---|
| 10:00-20:00 | 市内をパトロール | 新規作成 |
| 20:00-22:00 | バナード・メアで食事 | デフォルトパッケージ |
| 22:00-6:00 | 家に帰って就寝 | USSEP |
| 6:00-10:00 | 家でリラックスタイム | 新規作成 |
AIを作る
SSEEditを開き、ベースとするパッケージを「Copy as new record into…」でコピーします。

適当なEditorIDを付けて、

ESPファイルに保存します。


パトロール用に「GuardWhiterunPatrolDayPatrol」(Form ID : 00037090)、リラックスタイム用に「WhiterunCarlottaHomePackage」(Form ID : 0002C3B0)を使いました。
レコードを編集する
コピーしたレコードを編集します。
次のように、パッケージを開始する時間と長さ(分指定)を設定します。

さらに、リラックス用のAIパッケージについては場所を「ウスガルドの家(Form ID : 000918D3)」に変更します。

編集が完了したら、左上のハンバーガーメニューから「Save」をクリックします。

パッケージを適用する
AIパッケージが完成したら、それをNPCレコードに適用します。
SSEEditで追加しても良いのですが、Spell Perk Item Distributor (SPID) を使うと互換性が高められるのでおすすめです。
任意の名前で _DISTR.ini ファイルを作成し、次のように記述します。
Package = MyWhiterunUthgerdPatrol|NONE|Uthgerd|NONE|NONE|1
Package = MyWhiterunUthgerdHomePackage|NONE|Uthgerd|NONE|NONE|2
動作確認
完成したら、プラグインを有効にしてゲームを起動しましょう。
ウスガルドさんを1日ストーキングしてみて、意図通りのパッケージで動いてくれれば成功です。

パトロール範囲を変更してみる
ベースにした衛兵のパトロールパッケージは、「Link Reference」でパトロールする場所が決まるようになっています。
これはNPCのリファレンスレコードにある「Linked Reference」値が参照されます。
ウスガルドさんは、デフォルトでホワイトランのパトロールマーカーを持っているため、このパッケージ指定だけでホワイトランを巡回できるようになるわけです。

「Linked Reference」は複数持つことができるため、新しいリファレンスを追加することで、巡回範囲を拡張することができます。
例えば、次のようにバトルボーン農場付近のマーカー(Ref ID : 000B1FFD)を指定すると、市内だけでなく外も巡回するようになります。


まとめ
ウスガルドさんが無事ニートから脱却しました。おめでとう!
ウスガルドさんに限った話ではないのですが、雇用しやすいようにするためか、傭兵はあまり歩き回らないように設定されていることが多いです。
他にも「こいつ、いっつもここにいるな。。」と思ったら、AIパッケージを見直してみると幸せになれるかもしれません。
ではでは~。

コメント