Kenshi
Not enough ratings
MODガイド AI編
By Lucius
AIパッケージや一部のタスクについて解説します。
タスクは量が多いので随時追記予定です。
   
Award
Favorite
Favorited
Unfavorite
タスク(AI_TASK)
登録方法
大きく分けて3種類です。
  • 基本タスク
  • AIパッケージ
  • プレイヤーオーダー


classification
タスクの優先度を設定します。以下の3つが有効です。
  1. TP_URGENT
  2. TP_NON_URGENT
  3. TP_FLUFF

優先度の目安は以下の通りです。
  • 必要な時に最優先で使うべきタスクはTP_URGENT
  • 普段の行動に使うタスクはTP_NON_URGENT
  • フォールバック用のタスクはTP_FLUFF


ending
タスク完了時の削除有無を設定しますが、おそらく効果がありません。


targeting
タスクの対象を設定します。タスクによっては無視されます。
  • TARGET_SPECIFIC
    対象:タスクに依存

  • TARGET_SELF
    対象:自身

  • TARGET_LEADER
    対象:自部隊のリーダー

  • TARGET_SQUAD_MISSION
    対象:現在使用中のAIパッケージの目標
    例えばボディーガードは契約相手を対象にします。

  • TARGET_HOME_GATE
    対象:自宅
基本タスク
AIパッケージと独立して登録する基本的なタスクです。
以下の4種類あります。
  • キャラクター共通
  • 勢力固有
  • 種族固有
  • プレイヤー固有
※CHARACTERとANIMAL_CHARACTERのAI Goalsは無効


キャラクター共通
SELF_PRESERVATION(自己防衛)はデフォルトで登録されます。
  • 優先度:TP_URGENT相当
  • ウェイト:標準


勢力固有
FACTIONのAI Goalsを登録します。
  • val0:効果なし
    優先度はAI_TASKのclassificationで設定します。
  • val1:ウェイト

FACTIONのAI fallbackとは仕組みが異なり、互換性はありません。

注意事項
FCSのv2.13~2.14にはクリーンアップで参照が削除されるバグがありました。
該当のバージョンでクリーンアップしたMODは、プレイヤーのPROTECT_ALLIESが発動しないバグを抱えているため、修正または使用を中止してください。


種族固有
RACEのAI Goalsを登録します。
  • val0:効果なし
    優先度はAI_TASKのclassificationで設定します。
  • val1:ウェイト

NPCまたは動物に登録します。プレイヤーの人型キャラクターは対象外です。


プレイヤー固有
以下のタスクはデフォルトで登録されます。
  • AQUIRE_FOOD_AT_HOMEBASE(食料を探す)
    • 優先度:TP_URGENT相当
    • ウェイト:やや低い

  • GRAB_ONE_FOOD(地面の食料を食べる) ※動物のみ
    • 優先度:TP_URGENT相当
    • ウェイト:やや低い

プレイヤーの動物は死骸を食べるタスクが削除されます。

以下のタスクは設定次第で登録されます。
  • 負傷時にベッドで寝る
  • 回復後の起床
  • アイテムを収納
  • 椅子に座る
AIパッケージ(AI_PACKAGE)
AIパッケージで以下の要素を管理します。
  • タスクの開始時刻
  • タスクの終了時刻
  • タスクのウェイト
  • AIパッケージの開始条件
  • AIパッケージの終了条件
  • AIパッケージの連携条件
  • 目標・目的地
  • 他者への対応
  • デフォルトの移動速度
  • アンロード中の移動先


Leader AI Goals等
以下のルールでタスクを適用します。
  1. 部隊メンバー全員にLeader AI Goalsを適用
  2. Squad AI Goalsが存在する場合、部隊のリーダー以外に対してSquad AI Goalsに置き換え
  3. Squad2 AI Goalsが存在する場合、squad2とanimal2に対してSquad2 AI Goalsに置き換え
  4. 部隊が所有する奴隷にSlave AI Goalsを適用
設定値は以下の通りです。
  • val0:タスクの開始時刻
    0~24を設定します。

  • val1:タスクの終了時刻
    0~24を設定します。

  • val2:タスクのウェイト
    0は100扱いのため、ウェイトを上げようとして0を50にすると逆に下がります。
    タスク自体にもウェイトが存在しているので、val2が低くても優先される場合があります。


signal func
設定値に応じて以下の要素が決定されます。
  • AIパッケージの開始条件
  • AIパッケージの終了条件
  • AIパッケージの連携条件
  • 目標・目的地
  • 他者への対応
  • デフォルトの移動速度


unloaded func
アンロード中の移動先を設定します。


clears existing jobs
効果なし


inherits from
以下の設定を継承します。
  • Leader AI Goals
  • Squad AI Goals
  • Squad2 AI Goals
  • Slave AI Goals
適用対象の判定は、AI_PACKAGEごとに行います。
従って、部隊メンバー全員に対して共通のタスクを追加する場合は、Leader AI Goalsの設定のみで十分です。


Leads to
連携先のパッケージを設定します。
連携元のパッケージが終了条件と連携条件を満たした場合に設定したパッケージが起動します。
AIパッケージ:種類と優先順位
  1. AI契約
    1. キャンペーン
    2. AI contract

  2. 通常のAIパッケージ
    1. replacement AI
    2. SQUAD_TEMPLATEのAI Packages
    3. FACTIONのAI fallback
AIパッケージ:通常のAIパッケージ
SQUAD_TEMPLATEのAI Packages
部隊に使用候補となるAIパッケージを登録します。
val0:優先度

この項目のみAI_PACKAGEのLeads toが有効ですが、同じAIパッケージをAI Packagesに設定しないと維持できません。


FACTIONのAI fallback
勢力に所属する部隊に使用候補のAIパッケージを登録します。
優先度が0かつ一番最初に登録するため、優先順位が最も低いAIパッケージです。


replacement AI
以下の状況でAI契約を除く他のAIパッケージを削除して指定のAIパッケージを使います。
  • DIALOGUE_LINEのchange AIを実行
  • 捕縛時
    一時的に本隊から分離すると再び合流するまで以下のAIパッケージを使います。
    • 奴隷のみString ID:5344-gamedata.base
    • 他はString ID:CAPTURED_NPC

PLATOONのreplacementAIに保存しており永続的に有効です。


デフォルトパッケージ
優先度0のAIパッケージはデフォルトパッケージとして扱います。
他のAIパッケージが開始条件を満たさない場合にデフォルトパッケージを無条件で開始します。
AIパッケージ:AI契約
AI契約を実行すると終了条件を満たすまで使用するAIパッケージが変更されます。
契約中のAIパッケージはPLATOONのcontractjobに保存されます。

AI契約は以下の方法で実行します。
  • DIALOGUE_LINEのAI contract
  • キャンペーン


AI contract
指定のAIパッケージを使用します。val0は契約期間(時)で、0以下は10分になります。

契約中に別のAIパッケージを指定すると上書きされます。ただし、同じAIパッケージを指定しても契約期間は更新不可です。


キャンペーン
キャンペーン発動中はフェーズに応じたAIパッケージを使います。また、雇用者が存在しないため、AI contractと挙動が異なります。
  • 第一フェーズ(進軍)
    • FACTION_CAMPAIGNのpt1 AI leader
    • FACTION_CAMPAIGNのpt1 AI others
  • 第二フェーズ(メイン)
    • FACTION_CAMPAIGNのpt2 AI leader
    • FACTION_CAMPAIGNのpt2 AI others
  • 第三フェーズ(撤退)
    • FACTION_CAMPAIGNのretreat AI leader
    • FACTION_CAMPAIGNのretreat AI others
※リーダー部隊はAI leader、他の部隊はAI others(未設定ならAI leader)を使用

最も優先度が高く、AI contractは解約されます。(後からAI contractを実行してもキャンペーンのAIパッケージに上書きされます)

DA_VICTORY_PHASEを実行すると第四フェーズに移行しますが、victory AI leaderとvictory AI othersは無効な設定項目のため、AI契約を上書きできません。
この仕様を利用してAI contractと同時に実行するとAI contractのAIパッケージを維持できます。
Signal 1, 25:撤退
担ぎ上げ後に自勢力の街へ帰還する目的で使います。
また、キャンペーンは開始条件を無視できるので、出発地点に撤退する用途で使用可能です。


開始条件
  • 部隊メンバーの1人以上が担ぎ上げ状態になる


終了条件
  • 自勢力の街に到着


目的地
  • SIG_RETREAT_C***_RAID
    ホームタウン
    ホームタウンがない場合は現在地に最も近い自勢力の街

  • SIG_RETREAT_C***_RAID_TO_NEAREST_NEST
    現在地に最も近い自勢力の街
Signal 4, 6, 23:パトロール
SIG_START_PATROL等は定期的な外出に使います。


開始条件
以下の全てを満たすこと
  • リーダーが街の外または街に入ってから8時間経過
  • PLATOONのintactがTrue
  • 部隊メンバー全員が何も担いでいない
  • 檻に空きがある ※SIG_C***_START_PATROLのみ


終了条件
以下のいずれかを満たすこと
  • PLATOONのintactがFalse
  • パトロール開始から12時間経過


その他
SIG_START_PATROL_RUNNINGは移動速度がRUN
Signal 5:部隊の負傷
SIG_SQUAD_NOT_INTACTはキャンペーンで出発地点に撤退する目的で使いますが、被害が軽微だと即座に終了条件を満たして別のAIパッケージに移行します。


開始条件
PLATOONのintactがFalse


終了条件
PLATOONのintactがTrue


目的地
ホームタウン
Signal 10, 24:囚人の回収
SIG_GATHER_UP_ALL_LOCAL_PRISONERS_UNHOLYはホーリーネーション用でパラディンが異種族または女性の囚人をリバース送りにするために使います。
一方、SIG_GATHER_UP_ALL_LOCAL_PRISONERSは種族・性別を問いません。

このパッケージは囚人を奴隷化して檻から出すまで実施可能で、連行はSignal 11と28で実施します。


開始条件
以下の全てを満たすこと
  • PLATOONのintactがTrue
  • 以下の条件を満たす街が存在する
    • 自勢力
    • TOWNのtypeがTOWN_SLAVE_CAMP、TOWN_PRISON以外
    • 収監中のキャラクターが存在する ※SIG_GATHER_UP_ALL_LOCAL_PRISONERS_UNHOLYは男性かつRACE_GROUPが同じキャラクターを除外


終了条件
以下のいずれかを満たすこと
  • 囚人が0人になる
  • 連行する人数が部隊人数の3倍を超える


目的地
ホームタウン
Signal 11, 28:奴隷の移送
開始条件
所有する奴隷が1人以上


終了条件
所有する奴隷が0人


目的地
以下の条件を満たす街
  • 非敵対勢力
  • TOWNのtypeがTOWN_SLAVE_CAMP

SIG_SLAVER_SHIP_TO_ANYWHERE_CLOSEは以下の街も対象
  • 非敵対勢力
  • TOWNのtypeがTOWN_TOWN
  • BD_SLAVE_STORAGEの建物を含む
Signal 16:各街を放浪
SIG_WANDERING_TOWN_TO_TOWNは主にフィールドの徘徊部隊が街を目指すために使います。


開始条件
以下のいずれかを満たすこと
  • 滞在時間(5~8)経過かつ6時~21時の間
  • 滞在中のプレイヤー拠点がプライベートになる


終了条件
開始地点を除く街の範囲内に入る
目的地以外でも条件を満たすので、通りがかっただけでも放浪が終了します。


目的地
以下全ての条件を満たす街が対象です。
  • 所属勢力と非敵対 ※FACTIONのdefault relationが-30未満の街は味方勢力であること
  • 所属勢力のnot realがFalse
  • 所属勢力のfundamental typeがOT_BANDIT以外 ※自勢力がOT_BANDITなら無視
  • TOWNのis publicがTrue ※自勢力はFalseも可
  • TOWNのtypeが以下のいずれか ※プレイヤー拠点はtypeに関係なく対象
    • TOWN_TOWN
    • TOWN_VILLAGE
    • TOWN_SLAVE_CAMP
    • TOWN_MILITARY
  • 自勢力のno-go zonesは除外

何故かTOWN_OUTPOSTが対象外のため、ウェイステーションに人が来ません。
キャラバンがニュークラリアに引き寄せられる原因でもありますが、対策として道を引いて誘導する方法があります。
Signal 17, 26, 27:街に滞在
SIG_HANG_OUT_AT_BARはBD_BARの建物に滞在します。
SIG_HANG_OUT_OUTDOORS_ONLYとSIG_C***_AT_HOMEは屋外に滞在します。


開始条件
以下のいずれかを満たすこと
  • 現在地がホームタウン
  • 現在地が非敵対勢力の街かつBD_BARの建物が存在する


終了条件
以下のいずれかを満たすこと
  • 開始条件を満たさなくなった時
  • 滞在中のプレイヤー拠点がプライベートになる


目的地
以下の優先順位
  1. 現在地の街
  2. ホームタウン
  3. 以下の条件を満たす現在地に最も近い街
    • 非敵対勢力
    • TOWNのtypeがTOWN_TOWNまたはTOWN_NEST ※TOWN_TOWNが優先


他者への対応
キャンペーン中は以下の全てを満たす部隊と敵対します。
  • is hostileがTrue
  • 訪問先の勢力
  • 第二フェーズ


その他
プレイヤー拠点に滞在させるにはデフォルトパッケージの利用がほぼ必須です。
ただし、プライベートな街や巣にも滞在します。
Signal 33:AI契約
SIG_TIMED_CONTRACTはAI contractを前提とします。


開始条件
常に成立


終了条件
契約期間満了


目標
ダイアログのターゲット


目的地
ホームタウン


他者への対応
キャンペーン中は以下の全てを満たす部隊と敵対します。
  • is hostileがTrue
  • 訪問先の勢力
  • 第二フェーズ
Signal 12:ボディーガード
SIG_BODYGUARDはAI contractを前提として雇用者を保護します。


開始条件
常に成立


終了条件
以下のいずれかを満たすこと
  • 契約期間満了
  • 裏切り行為が発覚
    攻撃や犯行が裏切り行為に該当します。


目標
ダイアログのターゲット


目的地
現在地に最も近いプレイヤー拠点


他者への対応
雇用者が所属する勢力の部隊と味方関係になります。
Signal 13:AI契約(奴隷からの脱却)
SIG_BECOME_EX_SLAVEはAI contractを前提として奴隷・逃亡奴隷以外になるまで同行を依頼します。
時間がかかるため、バニラはSIG_OUT_OF_DANGERを使っています。


開始条件
常に成立


終了条件
奴隷・逃亡奴隷以外になる


目標
ダイアログのターゲット


目的地
ホームタウン
Signal 14:AI契約(危険地帯からの脱出)
SIG_OUT_OF_DANGERはAI contractを前提として安全な場所への誘導を依頼します。


開始条件
常に成立


終了条件
以下の全てを満たすこと
  • 契約期間満了
  • 現在地が以下のいずれか
    • プレイヤー拠点
    • 味方勢力の街
    • 上記以外は以下の全てを満たすこと
      • 非戦闘状態
      • 周囲に敵がいない
      • 逃亡奴隷/元奴隷は現在地の街の勢力が主人の勢力でないこと


目標
ダイアログのターゲット


目的地
ホームタウン
Signal 15, 31:拠点防衛
ボディーガードの拠点版です。
SIG_DEFEND_PLAYER_TOWN_TIMEDとSIG_DEFEND_PLAYER_TOWN_CAMPAIGNで終了条件が少し異なります。後者の方がプレイヤーに有利な条件です。


開始条件
常に成立


終了条件
以下のいずれかを満たすこと
  • 契約期間満了
    SIG_DEFEND_PLAYER_TOWN_CAMPAIGNはプレイヤーに対する敵対的なキャンペーンが終了するまで延長します。

  • 裏切り行為が発覚
    攻撃や犯行が裏切り行為に該当します。
キャンペーンの場合は、各フェーズの制限時間に従います。(残り時間が表示されることがありますが、特に意味はありません)


目標
現在地に最も近いプレイヤー拠点


目的地
現在地に最も近いプレイヤー拠点


他者への対応
プレイヤー部隊と味方関係になります。
Signal 19:進軍
WAR_GATHER_FORCESはキャンペーンを前提として目的地を設定します。


開始条件
常に成立


終了条件
部隊がキャンペーンに未参加


目的地
キャンペーンの目的地
Signal 20, 32:拠点襲撃
WAR_ASSAULT_TOWNとWAR_ASSAULT_TOWN_C***はキャンペーンを前提として目的地で敵対化します。


開始条件
進軍と同じ


終了条件
進軍と同じ


目的地
進軍と同じ


他者への対応
以下全ての条件を満たす部隊と敵対します。
  • 動物以外
  • FACTIONのnot realがFalse
  • FACTIONのfundamental typeがOT_BANDIT以外
  • 双方が目的地に滞在中


その他
WAR_ASSAULT_TOWN_C***は以下のいずれかを満たすと第三フェーズに移行します。
  • 3人担ぎ上げ
  • 1人以上担ぎ上げて一定時間経過
Signal 29:ランダムな拠点襲撃
SIG_PASSING_BY_TOWN_ASSAULTはキャンペーン以外でプレイヤーの拠点を襲撃する目的で使います。


開始条件
以下の全てを満たすこと
  • オプションの「敵が町を攻撃する頻度」が「決してない」以外
  • PLATOONのintactがTrue
  • 門または壁を設置している ※is gatewayがTrue(ラグーンの足場など)も対象
  • プレイヤー勢力と中立または敵対関係
  • 現在地の街の所属勢力がプレイヤー


終了条件
以下のいずれかを満たすこと
  • PLATOONのintactがFalse
  • 攻撃対象の街にいる気絶・死亡以外のプレイヤーが0人(開始時に遠く離れているキャラクターはカウント対象外)


連携条件
PLATOONのintactがTrue


目的地
現在地の街


他者への対応
攻撃対象の街が所属する勢力の部隊と敵対します。
Signal 30:拠点の占領
SIG_OCCUPY_CONQUERED_TOWNはLeads toによる連携を前提として対象の街を占領します。


開始条件
常に不成立
別パッケージのLeads toによる連携が必要です。


終了条件
全員戦闘不能の状態で一定時間経過


目的地
現在地の街


他者への対応
占領した街が所属する勢力の部隊と敵対します。
Signal 22:難民
SIG_REFUGEE_DISBANDはキャンプの徘徊部隊向けで、別のキャンプへ避難します。


開始条件
以下のいずれかを満たすこと
  • ホームタウンが死亡状態になる
  • 2人以下の部隊かつリーダーが奴隷状態(逃亡・元含む)になる


終了条件
目的地に到着


目的地
ホームタウンを除く自勢力の巣・キャンプ
目的地が存在する場合はホームタウンを目的地に変更します。


その他
移動速度はJOG
Signal:その他
上記以外のsignal funcは常に開始可能であり、常に終了不可です。
従って、優先度は0を推奨します。


開始条件
常に成立


終了条件
常に不成立


目的地
ホームタウン


他者への対応
キャンペーン中は以下の全てを満たす部隊と敵対します。
  • is hostileがTrue
  • 訪問先の勢力
  • 第二フェーズ


AI契約の挙動
SIGNAL_NONEのみ終了条件がSIG_CONTRACT_TIMEDと同じです。
他は終了条件を満たせずAI contractが永続化します。
とあるキャラクターは以下の仕組みで地の果てまで追いかけて来ます。
  • signal func:SIG_DEFEAT_SQUAD (AI契約が永続化)
  • unloaded func:UPJOB_TRAVEL_TARGET (アンロード中は目標を追跡)
  • 街の住人 (デスポーンしない)
  • 非ユニーク (アンロードしてもホームタウンに戻さない)
キャンペーンのsignal funcについて
キャンペーンの各フェーズごとに推奨のsignal funcを紹介します。


第一フェーズ
通常はこのフェーズで訪問先に移動させるのでSignal 19を推奨します。


第二フェーズ
以下を念頭に置いて目的に合うsignal funcを選択します。
  • 終了条件
    終了条件を満たすと通常のAIパッケージに切り替わってしまいます。

  • 目的地が訪問先
    これを満たさないと滞在が困難です。

  • 他者への対応
    敵扱いになると同盟関係でも攻撃が当たってしまいます。

対プレイヤー
  • 敵対的キャンペーン
    中立でも敵対化させるため、Signal 20を推奨します。
    誘拐が目的ならSignal 32を使います。

  • 友好的キャンペーン
    中立でも味方化させるため、Signal 31を推奨します。

  • 中立的キャンペーン
    他者への対応が変化しないSignal 19を推奨します。
    キャラバンの訪問イベントのように滞在なしで撤退させる場合はpt2 AI leaderを未設定にします。

対NPC
  • 敵対的キャンペーン
    プレイヤー含め街にいるキャラクター全員を攻撃対象にする場合はSignal 20で問題ありません。

    プレイヤーと協力して街を攻撃する場合はSignal 20が使えないので、以下の方針になります。

    • 攻撃先の勢力と敵対関係の場合
      Signal 19またはSignal 29を推奨します。

    • 攻撃先の勢力と中立関係の場合
      積極的に敵対化させるならSignal 29を推奨します。味方を守るAIを利用してプレイヤーの攻撃を起点に攻撃先と敵対化させるならSignal 19で問題ありません。

      本来、Signal 29は対プレイヤーのみ開始条件を満たせますが、開始条件を無視できるAI契約ならNPCに対して起動できます。

    • その他
      Signal 30を使うとNPCの街が占領された状態になります。

  • 友好的キャンペーン
    強制的な味方化は不可能です。Signal 31(Signal 16)を使うとプレイヤー拠点に向かいます。
    ただし、同盟関係を前提にSignal 19を使う分には問題ないです。

  • 中立的キャンペーン
    Signal 19を推奨します。


第三フェーズ
撤退を優先させたい場合はSignal 1を使います。
敢えて終了条件を満たす設定にして通常のAIパッケージを使うのもありです。
unloaded func
キャンペーン中はunloaded funcの設定を無視してUPJOB_TRAVEL_TARGETまたはUPJOB_TRAVEL_TARGET_FASTになります。


UPJOB_NONE
基本的に何もしませんが、以下のいずれかを満たすとUPJOB_GOHOME扱いになります。
  • ホームタウンとの距離が一定以上
  • 本隊から分離した部隊


UPJOB_PATROL_TOWN
効果なし


UPJOB_PATROL_SHORTRANGE
ホームタウンの近隣を徘徊します。


UPJOB_PATROL_LONGRANGE
効果なし


UPJOB_GOHOME
ホームタウンに移動します。


UPJOB_TRAVEL_TARGET
AIパッケージの目標に移動します。


UPJOB_TRAVEL_TARGET_FAST
AIパッケージの目標になるべく早く移動します。
タスク:LOOT_THE_DEAD
DC_I_SHOULD_SCREW_THIS_GUY_OVERがTrueなら味方を除く気絶中のキャラクターから略奪します。
従って、PT_TRAITOROUSは略奪する機会が多く、PT_HONORABLEは略奪する機会が少ないです。
タスク:JOB_MEDIC
治療対象は以下の通り
  • 味方

  • 以下を満たす気絶中の中立キャラクター
    • 治療側勢力のheals strangersがTrue
    • DC_I_SHOULD_HELP_THIS_GUYがTrue
      ※自分のNPC classがOT_BANDIT以外かつ相手のNPC classがOT_BANDITは対象外

  • 自宅の檻に収監中のキャラクター

  • 自勢力の奴隷

  • 以下を満たす担がれているキャラクター
    • 自身の現在地が街の外
    • 自勢力が担いでいる
    • 動物以外
タスク:RELAX_IN_TOWN_PACKAGE
Signal 17, 26, 27が前提です。他のSignalは効果がなく、場合によってはクラッシュします。

BF_CHAIRを使います。
Signal 17はBD_BARの建物、Signal 26, 27は屋外が対象です。
タスク:STAY_IN_HOME
自宅の家具を使用します。
  • BF_MINE
  • BF_RESEARCH
  • BF_REFINERY
  • BF_TRAINING
  • BF_CRAFTING
  • BF_CHAIR
タスク:SIT_AROUND
以下の自勢力の家具を使います。
  • BF_TRAINING ※NPCのみ
  • BF_CHAIR
  • BF_THRONE

対象の街は以下の通りです。
  • プレイヤーは自拠点
  • NPCはホームタウン
  • SIG_OCCUPY_CONQUERED_TOWNで占領した街
    占領した街の所属勢力の家具を使います。

プレイヤーは「仕事がない時に座る」で設定可能です。
タスク:SIT_ON_THRONE
ホームタウンのBF_THRONEを使います。
リーダーのみ使用可能です。
タスク:PATROL_TOWN
AI_PACKAGEのsignal funcによる目的地の設定が前提です。

目的地の中心から一定距離以内を徘徊します。
タスク:STAND_AT_GUARD_NODE_HOMETOWN_OUTSIDE
ホームタウンの屋外のNODE_GUARD_SPOTで待機します。

屋外のNODE_GUARD_SPOTはドアの両斜め前方に自動配置されます。通常のドアは2か所ですが、門は4か所配置されます。
また、このノードはbar squadsの出現位置も兼ねています。


注意事項
NODE系のタスクはNODEを使う前に担いでいるキャラクターを降ろします。
担ぎ上げ系のタスクと担ぎ降ろし系のタスクは別になっているので、ウェイトに気を付けないと「担ぐ→NODEに反応→降ろす→担ぐ→...」の無限ループが発生します。
タスク:STAND_AT_SHOPKEEPER_NODE
自宅のNODE_SHOPKEEPERで待機します。
このノードはresidentsの出現位置も兼ねています。
タスク:STAND_AT_GUARD_NODE_HOMEBUILDING
自宅の屋内外のNODE_GUARD_SPOTで待機します。
NODE_GUARD_SPOTがない場合はNODE_GENARALで待機します。

また、STAND_AT_GUARD_NODE_HOMEBUILDING_INDOORS_ONLYは屋内のみ対象です。
タスク:WANDER_TOWN
現在地の屋内のNODE_GENERALで待機します。
使い勝手が良くなく、バニラでは未使用です。
タスク:MAKE_ANNOUNCEMENT_FAST
キャンペーンのみ使用可能で訪問先に到着するとEV_ANNOUNCEMENTが起動します。

MAKE_ANNOUNCEMENTもありますが、特に違いはありません。
タスク:TRAVEL_TO_TARGET_PACKAGE
AIパッケージまたはキャンペーンの目標に向かって移動します。

キャンペーンの目標は以下の通りです。
リーダー部隊:訪問先
他の部隊:リーダー部隊
タスク:TRAVEL_TO_TARGET_TOWN_FAST
AIパッケージの目的地に移動します。

TRAVEL_TO_TARGET_TOWNとの違いはデフォルトの移動速度だけです。
ただし、AIパッケージや部隊の設定を優先します。
タスク:RUN_AROUND_TOWN_LOOKING_FOR_PEOPLE
AI_PACKAGEのsignal funcによる目的地の設定が前提です。

ランダムに目的地にある建物に侵入します。
おまけ:プレイヤー拠点に酒場を作る
以下の手順でセーブデータを編集すればプレイヤー拠点にもNPCが滞在可能な酒場を用意できます。
  1. SQUAD_TEMPLATEのbuilding designationがBD_BARであるString IDをメモ
    バニラデータなら「14487-rebirth.mod」等が該当します。

  2. 普段通りに拠点を作成する

  3. 酒場にする建物を選定

  4. 開発者モードで建物の座標をメモ

  5. セーブ(念のため別名でセーブ)

  6. zoneファイルを特定
    以下の計算でzone.X.Z.zoneを特定します。
    X = floor(32 + X座標 / 4608)
    Z = floor(32 + Z座標 / 4608)

  7. FCSで開く

  8. 対象の建物を探す
    nameでフィルタリングすると見つかるはずです。
    同じ種類の建物が複数存在する場合は、以下の方法で座標を調べると対象かどうか判別可能です。
    • String IDの末尾「-S23」を除いた文字列をメモ
    • String ID: 0-buildinglistのInstancesからメモした文字列の名前を探す
    • ダブルクリックしてInstanceを開いてPositionを確認

  9. 対象のsquad templateにBD_BARのString IDを設定
    ついでにnameを変更して名前を付けた方がわかりやすいです。

  10. 保存してFCSを閉じる

  11. セーブデータをロード

  12. 椅子やテーブルを設置して拠点をパブリックにする

滞在中のNPCが椅子に座れば成功です。
おまけ:NPCの街にプレイヤーが運営する酒場を作る
MODで実現可能です。物件を購入しても建物にsquad templateの情報が残る仕様を利用します。

residentsに以下のSQUAD_TEMPLATEを設定し、購入可能な酒場を出現させます。
  • sell home:True
  • building designation:BD_BAR