Kenshi
32 ratings
MODガイド ダイアログの条件、効果、イベントの一覧
By Lucius
ダイアログの条件、効果、イベントの一覧と簡単な説明を記載しています。
2
2
2
   
Award
Favorite
Favorited
Unfavorite
ダイアログの設定について
各キャラクターのダイアログは以下の項目で設定します。
EV_PLAYER_TALK_TO_MEのみダイアログを直接設定可能で、他のイベントはダイアログパッケージから設定します。
ただし、以下のイベントはダイアログパッケージの対象外です。
  • EV_ANNOUNCEMENT
  • EV_CONTRACT_JOB_ENDED
  • EV_CROWD_TRIGGERED
  • EV_ENTER_BIOME

ダイアログパッケージはinheritsFromを再帰的に参照してダイアログを登録するので、循環参照に注意してください。

CHARACTER
dialogue
  • EV_PLAYER_TALK_TO_MEのダイアログを追加します。

dialogue package
  • NPC用のダイアログパッケージ
  • dialog leaderやdialog squadを設定している場合、この設定は無効になります。

dialogue package player
  • PC用のダイアログパッケージ
  • 未設定の場合は「player character default(SID:5369-gamedata.base)」を使用します。

SQUAD_TEMPLATE
dialog animal
  • 動物用のダイアログパッケージ
  • 動物はこの項目以外でダイアログパッケージを追加できません。

dialog leader
  • 部隊リーダー用のダイアログパッケージ
  • 部隊の1番目のキャラクターがリーダーになります。

dialog squad
  • 部隊メンバー用のダイアログパッケージ
  • 部隊リーダーは対象外です。

FACTION
dialog default
  • プレイヤー勢力に加入する際、dialogue package playerが未設定の場合に使用します。
  • 次回のキャラクターロードで「player character default」が適用されるため、バニラの設定を変更する意義がありません。

ANIMAL_CHARACTER
dialogue
  • 人間と同様にEV_PLAYER_TALK_TO_MEのダイアログを追加します。
  • 設定方法はこちらを参照
ダイアログの無効化
ダイアログパッケージとダイアログはNameに「Unfinished」が含まれると無効になります。
条件の比較について
整数型
  • 一部を除いて記号通りに("=="を「等しい」、">"を「より大きい」、"<"を「より小さい」として)比較します。

ブーリアン型(True・False)
  • Valueが正の値ならTrue、0または負の値ならFalseとして扱います。
  • 比較の設定は無視され、条件とValueの真偽値が一致していれば条件が成立します。

タグ(DC_HAS_TAGとDC_PERSONALITY_TAG)
  • 判定方法は以下とおりです。
    1. Valueが1なら許可リストに、Valueが1以外なら拒否リストに追加
    2. 対象者のタグが許可リストに存在し、拒否リストに存在しなければ条件が成立
    3. リストに何も追加されていなければチェックしない
  • ブーリアン型の条件と同様に比較の設定は無視されます。
条件上のspeakerとwhoについて
speaker
一部の条件はspeakerを対象にします。しかし、条件上のspeakerとダイアログのspeakerが異なる場合があります。

EV_PLAYER_TALK_TO_ME
条件上のspeakerは常にmeです。
とある状況下では条件上のspeakerをtargetにできますが、ここでは解説しません。

EV_PLAYER_TALK_TO_ME以外
表の通りです。

ダイアログのspeaker
条件上のspeaker
T_ME
me
T_TARGET
me
T_TARGET_IF_PLAYER
target
T_INTERJECTOR1
interjector1
T_INTERJECTOR2
interjector2
T_INTERJECTOR3
interjector3
T_WHOLE_SQUAD
me
T_TARGET_WITH_RACE
target raceを満たすキャラクター
Interjection Node
meの部隊員

T_TARGET_WITH_RACEはtarget raceで対象を確定した後に他の条件判定を行うため、併用は実用性に欠けます。
T_WHOLE_SQUADはT_MEと同じ扱いです。

Word Swaps
表の通りです。

ダイアログのspeaker
ワードスワップのspeaker
条件上のspeaker
T_ME
T_ME
me
T_ME
T_TARGET
target
T_ME
T_TARGET_IF_PLAYER
target
T_TARGET
T_ME
target
T_TARGET
T_TARGET
使用不可
T_TARGET
T_TARGET_IF_PLAYER
使用不可
T_TARGET_IF_PLAYER
T_ME
target
T_TARGET_IF_PLAYER
T_TARGET
使用不可
T_TARGET_IF_PLAYER
T_TARGET_IF_PLAYER
使用不可
T_INTERJECTOR1
T_ME
interjector1
T_INTERJECTOR1
T_TARGET
target
T_INTERJECTOR2
T_ME
interjector2
T_INTERJECTOR2
T_TARGET
target
T_INTERJECTOR3
T_ME
interjector3
T_INTERJECTOR3
T_TARGET
target

who
T_ME以外はtargetを参照し、T_MEは条件上のspeakerを参照します。
従って、実質的にT_MEとT_TARGETしか使えません。

また、T_TARGET_IF_PLAYERはwhoがどれでもtargetを参照するので、注意が必要です。
特にワードスワップのT_TARGETも条件上のspeakerがtargetになるので、targetのワードスワップはmeを識別できません。
Conditions:判定対象外
常に条件が成立します。no target race以外は他の条件と同様にscoreが加算されるため、score調整に使えます。
  • DC_END
  • DC_FACTION_VARIABLE
  • DC_IMPRISONMENT_IS_DEATHROW
  • DC_MY_MISSION_IS_FRIENDLY
  • DC_NONE
  • NULL_NULL_____DC_TARGET_SQUAD_SIZE
  • no target race
Conditions:勢力関係
DC_IS_ALLY
  • speaker勢力から見てwhoとの関係値が50以上であればTrue、そうでなければFalseを返します。
  • speakerとwhoが同じ勢力の場合はTrueを返します。

DC_IS_ENEMY
  • speaker勢力から見てwhoとの関係値が-30以下であればTrue、そうでなければFalseを返します。
  • speakerとwhoが同じ勢力の場合はFalseを返します。

DC_RELATIONS
  • speaker勢力から見たwho勢力との関係値を返します。
  • "=="と">"は"以上"として扱います。
  • speakerとwhoが同じ勢力の場合は100を返します。

DC_REPUTATION
  • who勢力のreputationを返します。
  • "=="と">"は"以上"として扱います。
  • reputationはセーブデータに保存されず、ゲームを再起動すると初期化されます。

DC_FACTION_RANK
  • speaker勢力のrankを返します。
  • 各勢力のrankの初期値は0で、DA_INCREASE_FACTION_RANKを使用して1ずつ増加可能ですが、減少は不可能です。また、「友好関係をインポート」のチェックを外さない限り引き継がれます。
Conditions:健康状態
DC_STARVING
  • whoが飢餓状態であればTrue、そうでなければFalseを返します。

DC_BROKEN_ARM
  • Whoの右腕または左腕が使用不可であればTrue、そうでなければFalseを返します。

DC_BROKEN_LEG
  • Whoの右脚または左脚のHPが0未満であればTrue、そうでなければFalseを返します。

DC_DAMAGED_HEAD
  • Whoの先頭部位のHPが0.2未満であればTrue、そうでなければFalseを返します。
    通常は頭部、スラルのように頭部がなければ胸部または下腹部が該当します。

DC_IS_NEARLY_KO
  • whoのいずれかの生身部位のHPが10%未満であればTrue、そうでなければFalseを返します。
    種族のis robotがTrueの場合は常にFalseです。

DC_NEARLY_KO
  • DC_IS_NEARLY_KOと同じです。

DC_IS_DEAD
  • whoが死亡していればTrue、そうでなければFalseを返します。

DC_IS_KO
  • whoが気絶中であればTrue、そうでなければFalseを返します。

DC_SQUAD_IS_DOWN
  • who部隊が全員意識不明または死亡していればTrue、そうでなければFalseを返します。
Conditions:キャラクターの性質・状態
DC_IS_PLAYER
  • whoがプレイヤー勢力であればTrue、そうでなければFalseを返します。

DC_IS_LEADER
  • whoが部隊のリーダーであればTrue、そうでなければFalseを返します。

DC_IS_FEMALE
  • whoが女性であればTrue、そうでなければFalseを返します。

DC_IM_UNARMED
  • whoが武器を所持していなければTrue、そうでなければFalseを返します。

DC_IN_COMBAT
  • Whoが戦闘中であればTrue、そうでなければFalseを返します。

DC_HAS_ROBOT_LIMBS
  • who種族のis robotがTrueまたは義肢を装備していればTrue、そうでなければFalseを返します。

DC_IS_RECRUITABLE
  • whoが以下の条件を満たしていればTrue、そうでなければFalseを返します。
    • プレイヤー勢力の人数がmax faction size未満
    • NPC Classが以下以外である
      • OT_LAW_ENFORCEMENT
      • OT_MILITARY
      • OT_TRADER
      • OT_DIPLOMAT
    • 素のステータスが「(Max(近接攻撃, 武術) + Max(近接防御, 回避) + Max(筋力, 器用さ)) / 3 <= 25」を満たす

DC_IS_RUNNING
  • whoが走る速度でspeakerから離れていればTrue、そうでなければFalseを返します。
  • whoとspeakerが同じであればTrueを返します。

DC_IS_SNEAKING
  • whoが隠密中であればTrue、そうでなければFalseを返します。

DC_PERSONALITY_TAG
  • speakerのpersonalityタグが許可リストに存在し、拒否リストに存在しないことを判定します。

has package
  • speakerが指定したダイアログパッケージを所持していれば条件が成立します。
  • inheritsFromに含まれている場合も条件が成立します。
  • 複数指定した場合はOR条件で判定します。

is character
  • speakerが指定したキャラクターであれば条件が成立します。
  • 複数指定した場合はOR条件で判定します。
  • dumb属性のキャラクター(アグヌやレイ)をinterjectorに選出する場合は必須条件になります。

my faction
  • speakerが指定した勢力であれば条件が成立します。
  • 複数指定した場合はOR条件で判定します。

target faction
  • targetが指定した勢力であれば条件が成立します。
  • 複数指定した場合はOR条件で判定します。
Conditions:部隊の性質・状態
DC_SQUAD_SIZE
  • who部隊の人数を返します。

DC_NUM_BACKPACKS
  • who部隊のバックパック装備者の人数を返します。

DC_IS_A_TRADER
  • who部隊のis traderがTrueであればTrue、そうでなければFalseを返します。

DC_HAS_AI_CONTRACT
  • speaker部隊がAI contractを実行中であればTrue、そうでなければFalseを返します。

DC_MIXED_GENDER_GROUP
  • who部隊に男性と女性が存在すればTrue、そうでなければFalseを返します。

DC_SQUAD_ONLY_ANIMALS
  • who部隊が動物のみであればTrue、そうでなければFalseを返します。
  • 一度でも人間が部隊に加入するとFalseになり、部隊データを再読み込みするまで更新されません。

target has item
  • targetまたはtarget部隊が指定したアイテムを所持していれば条件が成立します。
  • 複数指定した場合はOR条件で判定します。
  • mainとバックパックのみチェックします。

target has item type
  • targetまたはtarget部隊が指定したアイテムと同じitem functionのアイテムを所持していれば条件が成立します。
  • item functionがITEM_NO_FUNCTIONの場合は、アイテムの有無に関係なく条件が成立してしまいます。
  • バックパックに入れた場合は、後述のtargetが強制変更される現象のみ発生し、条件が不成立となります。
Conditions:種族
DC_IS_SAME_RACE_AS_ME
  • speakerとtargetのRACE_GROUPが同じであればTrue、そうでなければFalseを返します。
  • 条件上のspeakerがtargetの場合は、targetとmeで判定します。

my race
  • speakerが指定した種族と同じRACE_GROUPであれば条件が成立します。
  • 複数指定した場合はOR条件で判定します。

my subrace
  • speakerが指定した種族であれば条件が成立します。
  • 複数指定した場合はOR条件で判定します。

target race
  • targetまたはtarget部隊が指定した種族と同じRACE_GROUPであれば条件が成立します。
  • 複数指定した場合はOR条件で判定します。
  • EV_PLAYER_TALK_TO_ME以外でspeakerがT_TARGET_WITH_RACEの場合は、その行に限りtarget raceを満たすキャラクターが発言します。
  • EV_PLAYER_TALK_TO_ME以外でspeakerがT_TARGET_IF_PLAYERの場合は、条件が不成立となります。
  • ワードスワップではtargetのみが判定対象です。
Conditions:街・建物
DC_IN_MY_BUILDING
  • whoがspeakerの自宅にいればTrue、そうでなければFalseを返します。
  • speakerが自宅を持たない場合はwhoがspeakerと同じ建物にいればTrue、そうでなければFalseを返します。

DC_IS_INDOORS
  • whoが建物にいればTrue、そうでなければFalseを返します。

DC_BUILDING_IS_CLOSED_AND_SECURED
  • who部隊のhomelokを返します。
  • homelokは施錠タスク起動でTrue、解錠タスク起動でFalseになります。

DC_TOWN_HAS_FORTIFICATIONS_WALLS
  • whoがいる拠点に門があればTrue、そうでなければFalseを返します。

DC_TOWN_WALLS_LOCKED_UP
  • whoがいる拠点が以下の条件を満たしていればTrue、そうでなければFalseを返します。
    • 壁で囲まれている
    • 門が閉じている

DC_WITHIN_TOWN_WALLS
  • whoの現在地が壁と門(扉有)で囲われていればTrue、そうでなければFalseを返します。
  • 門付き建造物の門より内側にいる場合もTrueを返します。

DC_HAS_A_BASE_NEARBY
  • speakerに最も近いwho勢力の拠点とspeakerとの距離が23040(zone5つ分)未満であればTrue、そうでなければFalseを返します。
  • ブリスターヒルとバッドティース間の距離が目安になると思います。

DC_IN_A_NON_PLAYER_TOWN
  • whoがプレイヤー勢力以外の拠点にいればTrue、そうでなければFalseを返します。
  • TOWN_NESTとTOWN_NEST_MARKERはFalseを返します。
  • TOWN_RUINはspeakerのホームタウンであればTrueを返します。

DC_IN_A_PLAYER_TOWN
  • whoがプレイヤー勢力の拠点にいればTrue、そうでなければFalseを返します。

DC_TOWN_LEVEL_CURRENT_LOCATION
  • speakerがプレイヤー勢力の拠点にいれば拠点レベルを返します。
  • speakerがプレイヤー勢力の拠点にいない場合はValueに関係なく条件が不成立になります。
  • 拠点レベルはアイコンが×なら0、アイコンが街なら3です。

in town of
  • speakerが指定した勢力の拠点にいれば条件が成立します。
  • 複数指定した場合はOR条件で判定します。
Conditions:法・囚人・賞金
DC_COPS_AROUND
  • speakerの近くにNPC classがOT_MILITARYまたはOT_LAW_ENFORCEMENTであるNPCがいればTrue、そうでなければFalseを返します。
  • speakerと上記条件を満たしたNPCが互いに同盟関係である場合は、Falseを返します。

DC_HAS_ILLEGAL_ITEM
  • who部隊に対して禁制品チェックを行い、禁制品が検出されると1、そうでなければ0を返します。
  • mainインベントリのみチェックされます。
  • "=="と">"は"以上"として扱います。

DC_IS_IMPRISONED
  • whoが収監中であればTrue、そうでなければFalseを返します。

DC_IS_IN_LOCKED_CAGE
  • whoが収監中かつ檻が施錠されていればTrue、そうでなければFalseを返します。

DC_IMPRISONED_BY_OTHER
  • whoが相手勢力以外の檻に収監されていればTrue、そうでなければFalseを返します。

DC_IMPRISONED_BY_TARGET
  • whoが相手勢力の檻に収監されていればTrue、そうでなければFalseを返します。

DC_BOUNTY_AMOUNT_ACTUAL
  • speaker勢力から見たwhoの懸賞金額を返します。
  • speaker勢力が手配元表示対象外の場合は、現在地の勢力から見たWhoの懸賞金額を返します。
  • "=="と">"は"以上"として扱います。

DC_BOUNTY_AMOUNT_PERCEIVED
  • 犯行中または敵対関係である場合、speaker勢力から見たwhoの懸賞金額を返します。
  • "=="と">"は"以上"として扱います。

DC_CAN_AFFORD_BOUNTY
  • whoが以下の条件を満たしていればTrue、そうでなければFalseを返します。
    • プレイヤー勢力である
    • speaker勢力から見た賞金額が所持金以下
  • Whoがspeaker勢力から指名手配されていなければ懸賞金額を0として判定します。
  • Whoがプレイヤーでない場合は、Valueに関係なく条件が不成立になります。

DC_CARRYING_BOUNTY_ALIVE
  • whoが担いでいるキャラが以下の条件を満たしていればTrue、そうでなければFalseを返します。
    • speaker勢力から指名手配されている
    • speaker勢力が手配元表示対象外の場合は、現在地の勢力から指名手配されている
    • 生存している

DC_CARRYING_BOUNTY_DEAD
  • whoが担いでいるキャラが以下の条件を満たしていればTrue、そうでなければFalseを返します。
    • speaker勢力から指名手配されている
    • speaker勢力が手配元表示対象外の場合は、現在地の勢力から指名手配されている
    • 死亡している
Conditions:奴隷
DC_CARRYING_SOMEONE_TO_ENSLAVE
  • whoが担いでいるキャラをspeakerが奴隷にできる場合はTrue、そうでなければFalseを返します。

DC_IS_ESCAPED_SLAVE
  • whoが逃亡奴隷または元奴隷であればTrue、そうでなければFalseを返します。
  • 元奴隷のみ対象にする時は、「DC_IS_SLAVE == 0」を併用します。
  • 逃亡奴隷のみ対象にする時は、「DC_IS_SLAVE == 1」を併用します。

DC_IS_SLAVE
  • whoが奴隷または逃亡奴隷であればTrue、そうでなければFalseを返します。
  • 奴隷のみ対象にする時は、「DC_IS_ESCAPED_SLAVE == 0」を併用します。
  • 逃亡奴隷のみ対象にする時は、「DC_IS_ESCAPED_SLAVE == 1」を併用します。

DC_TARGET_IS_SLAVE_OF_MY_FACTION
  • targetがspeaker勢力の奴隷であればTrue、そうでなければFalseを返します。
  • 条件上のspeakerがtargetの場合は、meで判定します。

DC_WEARING_LOCKED_SHACKLES
  • whoが足枷等のロック属性がある防具を装備していればTrue、そうでなければFalseを返します。
Conditions:相手との関係性
DC_TARGET_IN_TALKING_RANGE
  • speakerとtargetの距離が260未満であればTrue、そうでなければFalseを返します。
  • 条件上のspeakerがtargetの場合は、targetとmeで判定します。

DC_TARGET_IS_MY_MISSION_TARGET
  • targetがspeaker部隊とAI contractで契約した部隊員であればTrue、そうでなければFalseを返します。
  • 条件上のspeakerがtargetの場合は、targetとmeで判定します。

DC_STRONGER_THAN_ME
  • whoの強さがspeakerの強さの1.5倍を超えていればTrue、そうでなければFalseを返します。
  • 強さは以下の要素で決まります。
    • 強さ = (筋力 + 近接攻撃 or 武術 + 近接防御 or 武術) / 3
    • 非武装の人間は強さが0.1倍になります。
    • 人間は手に持っている武器のカテゴリがSKILL_UNARMED以外なら近接攻撃と近接防御を参照し、SKILL_UNARMEDなら武術を参照します。
    • 動物は常に手に武器を持っている扱いとなり、近接攻撃と近接防御を参照します。
  • 上記の仕様により、武術の低い人間は、非戦闘時に「弱い」とみなされてしまいます。

DC_WEAKER_THAN_ME
  • speakerの強さがwhoの強さの1.5倍を超えていればTrue、そうでなければFalseを返します。
  • 強さについてはDC_STRONGER_THAN_MEを参照。

DC_MET_TARGET_BEFORE
  • speaker部隊にtarget部隊への任意のtagがあればTrue、そうでなければFalseを返します。
  • 条件上のspeakerがtargetの場合は、target部隊ではなくme部隊で判定します。

DC_TARGET_LAST_SEEN_X_HOURS_AGO
  • speaker部隊にtarget部隊への任意のtagがあれば現在の時間とtagtimeの差を返します。
  • tagがなければ9999以上10000未満の値を返します。
  • tagtimeはダイアログ関連ではEV_PLAYER_TALK_TO_MEによる会話終了後、またはDA_REMEMBER_CHARACTERを実行すると更新されます。
  • 条件上のspeakerがtargetの場合は、target部隊ではなくme部隊で判定します。

DC_HAS_TAG
  • speaker部隊のtarget部隊に対するlong term tagが許可リストに存在し、拒否リストに存在しないことを判定します。
  • 条件上のspeakerがtargetの場合は、target部隊とspeaker部隊が同一になってしまうため、実質的に使用できません。

DC_I_LOVE_THIS_GUY
  • speaker部隊のtarget部隊に対するlong term tagが以下のいずれかであればTrue、そうでなければFalseを返します。
    • LT_MY_LIFESAVER
    • LT_FREED_ME
  • 条件上のspeakerがtargetの場合は、target部隊ではなくme部隊で判定します。

DC_I_HATE_THIS_GUY
  • speaker部隊のtarget部隊に対するlong term tagが以下のいずれかであればTrue、そうでなければFalseを返します。
    • LT_STOLE_FROM_ME
    • LT_MY_CAPTOR
    • LT_DEFEATED_MY_SQUAD_ONCE
    • LT_KILLED_MY_FRIEND
  • 条件上のspeakerがtargetの場合は、target部隊ではなくme部隊で判定します。

DC_I_SHOULD_HELP_THIS_GUY
  • 以下の順に判定します。下が優先です。
    1. speakerとtargetのNPC Classが同じであればTrue
    2. speakerとtargetのNPC Classが異なっていればFalse
    3. speakerの性格がPT_TRAITOROUSであればFalse
    4. speakerのNPC ClassがOT_BANDITであればFalse
    5. speakerから見てtargetが味方であればTrue
    6. speakerとtargetの性格が共にPT_HONORABLEであればTrue
    7. DC_I_LOVE_THIS_GUYを満たしていればTrue
    8. DC_I_HATE_THIS_GUYを満たしていればFalse
  • 条件上のspeakerがtargetの場合は、targetとmeで判定します。

DC_I_SHOULD_SCREW_THIS_GUY_OVER
  • 以下の順に判定します。下が優先です。
    1. speakerのNPC ClassがOT_BANDITであればTrue
    2. targetのNPC ClassがOT_BANDITであればTrue
    3. speakerとtargetのNPC Classが同じであればFalse
    4. speakerの性格がPT_TRAITOROUSであればTrue
    5. speakerから見てtargetが味方であればFalse
    6. speakerの性格がPT_HONORABLEであればFalse
    7. speakerがtarget勢力の奴隷であればTrue
    8. DC_I_LOVE_THIS_GUYを満たしていればFalse
    9. DC_I_HATE_THIS_GUYを満たしていればTrue
  • 条件上のspeakerがtargetの場合は、targetとmeで判定します。
Conditions:プレイヤー
DC_PLAYER_TECH_LEVEL
  • プレイヤーの技術レベルを返します。

DC_PLAYERMONEY
  • プレイヤーの所持金を返します。
  • "=="と">"は"以上"として扱います。

DC_PLAYERS_BEST_TOWN_LEVEL
  • プレイヤー勢力の最大拠点レベルを返します。
  • 拠点レベルはアイコンが×なら0、アイコンが街なら3です。
  • 拠点がない場合は-1になります。
Conditions:その他
DC_TARGET_CHARACTER_EXISTS
  • whoが存在していればTrue、そうでなければFalseを返します。
  • 存在しない可能性があるのはtargetのみであり、targetの有無はイベントごとに決まるため、実用性は低いです。

DC_USING_MY_TRAINING_EQUIPMENT
  • whoがspeaker勢力のトレーニングダミー(施設?)を使用していればTrue、そうでなければFalseを返します。
  • トレーニング中はEV_I_SEE_NEUTRAL_SQUAD等の対象にならないため、EV_USING_MY_TRAINING_EQUIPMENTで起動する必要があります。

DC_NUM_DIALOG_EVENT_REPEATS
  • 任意のダイアログ起動回数を返します。
  • キャラクター、イベントごとにカウントされますが、セーブデータに保存されません。

DC_IS_OUTNUMBERED
  • whoが感知している敵の人数が味方の人数の1.3倍を超えていればTrue、そうでなければFalseを返します。

target carrying character
  • targetまたはtarget部隊が指定したキャラクターを担いでいれば条件が成立します。
  • 複数指定した場合はOR条件で判定します。

world state
  • 指定した条件を全て満たしていれば条件が成立します。
  • town okayは未実装です。
Effectの適用先について
Effectは基本的にspeakerに適用されますが、EV_PLAYER_TALK_TO_MEは、speakerに関係なくmeに適用されます。
Effects:効果なし
  • DA_NONE
  • DA_MATES_KILL_ME
  • DA_FREE_TARGET_SLAVE
  • DA_MERGE_WITH_SIMILAR_SQUADS
  • DA_ATTACK_TOWN
  • CHOOSE_CONSCRIPTION
  • CHOOSE_RECRUITING
  • CHOOSE_HIRING_CONTRACT
  • DA_PLAYER_SELL_PRISONERS
  • DA_PLAYER_SURRENDER_MEMBER_DIFFERENT_RACE
  • DA_END
  • lock campaign
  • unlock campaign
Effects:取引
DA_TRADE
  • 取引画面を表示します。
  • 実行中のダイアログを打ち切ります。

DA_TAKE_MONEY
  • 相手がプレイヤーの場合は、所持金がValueだけ減ります。
  • 足りない場合は所持金が減りません。

DA_GIVE_MONEY
  • 相手がプレイヤーの場合は、所持金がValueだけ増えます。

give item
  • 指定したアイテムが相手のインベントリに入ります。
  • val0が50以上の場合は、1個になります。
Effects:仲間の加入
DA_JOIN_SQUAD_WITH_EDIT
  • speakerが相手部隊に加入するのと同時にキャラクターエディット画面を表示します。
  • 相手勢力がプレイヤー以外の場合は、DA_JOIN_SQUAD_FASTと同じ扱いです。
  • 相手勢力のnot realがTrueの場合は、効果がありません。

DA_JOIN_SQUAD_FAST
  • speakerが相手部隊に加入します。
  • 相手勢力のnot realがTrueの場合は、効果がありません。

CHOOSE_ANIMALS_BUYING
  • 動物購入画面を表示します。
  • Valueは購入金額の基本値で、0以下は14000です。
  • 価格は「基本値 * (年齢補正 + 0.1)」
  • 購入時に以下のスキルが0.25倍になります。
    • 打たれ強さ
    • 近接攻撃
    • 近接防御
    • 武術
    • 回避
    • 隠密
    • 運動能力
    • 水泳
    • 集団戦闘 ※没スキル
Effects:勢力関係
DA_AFFECT_RELATIONS
  • speakerがNPCの場合は、相手に対する関係値がValueだけ変動します。

DA_AFFECT_REPUTATION
  • speakerのreputationがValueだけ変動します。

DA_DECLARE_WAR
  • 相手に対する関係値が-35より大きい場合は、関係値が-35になります。

DA_END_WAR
  • 相手に対する関係値が-30以下の場合は、関係値が-25になります。

DA_INCREASE_FACTION_RANK
  • speaker勢力のrankを上昇させます。
  • Valueが0以外かつ現在のrankがValue未満の場合は、現在のrankが1増加します。
  • Valueが0の場合は、現在のrankが1増加します。

change relations
  • 指定した勢力のプレイヤーに対する関係値がval0だけ変動します。
Effects:ダイアログ
DA_TALK_TO_LEADER
  • speaker部隊のリーダーが相手に対してPLAYER_TALK_TOタスクを実行します。

DA_FORCE_SPEECH_TIMER
  • ダイアログの表示時間をValueだけ増やします。

DA_LOCK_THIS_DIALOG
  • 現在のダイアログをロックします。
  • ダイアログ効果の適用先がme以外の場合は、ロックできません。
  • EV_PLAYER_TALK_TO_MEで会話ウィンドウが閉じた後のセリフの場合もロックできません。

locks
  • speakerに対して指定したダイアログをロックします。

unlock but keep me
  • speakerに対して指定したダイアログをアンロックします。

unlocks
  • speakerに対して指定したダイアログをアンロックし、現在のダイアログをロックします。
  • unlock but keep meとDA_LOCK_THIS_DIALOGを実行するのと同等です。
  • ロックの注意点もDA_LOCK_THIS_DIALOGと同じです。

crowd trigger
  • speaker部隊が相手に対して指定したダイアログをEV_CROWD_TRIGGERで起動します。
  • EV_PLAYER_TALK_TO_MEの場合は、会話ウィンドウ以外のセリフで実行する必要があります。
  • val0は何もしません。

interrupt
  • speakerのEV_PLAYER_TALK_TO_MEを一時的に指定したダイアログに置き換えます。
  • speakerがリーダーの場合は、DA_TALK_TO_LEADERと併用することで自動的に会話を開始できます。
Effects:AI
DA_ATTACK_CHASE_FOREVER
  • 相手を襲撃します。

DA_GO_HOME
  • speakerが家に帰ります。
  • bar squad等の住居を持たないキャラクターは、門の前でスタックします。

DA_CLEAR_AI
  • 現在のタスクをクリアします。
  • クリア後はAIパッケージからタスクが再設定されるので、AI contractやchange AIと併用しないと意味がありません。

DA_FOLLOW_WHILE_TALKING
  • 相手に対して追従タスクを実行します。

DA_THUG_HUNTER
  • 相手に対して追尾タスクを実行し、EV_HARRASSMENT_SHOUTSを起動します。

DA_RUN_AWAY
  • speakerが逃走します。
  • プレイヤーの場合は一定時間だけ走ります。

DA_SUMMON_MY_SQUAD
  • speakerの部隊員を呼び寄せます。

DA_ATTACK_STAY_NEAR_HOME
  • 相手を襲撃します。相手がホームから離れると追撃を諦めます。

DA_MASSIVE_ALARM
  • 周囲のspeaker勢力に対して以下の処理を実行します。
    • 相手の座標への移動命令
    • EV_I_SEE_ENEMY_PLAYERを起動

DA_ATTACK_IF_NO_COEXIST
  • 相手の勢力がspeaker勢力のcoexistenceに含まれていなければ、相手を襲撃します。

AI contract
  • speakerがtargetと契約し、指定したAIパッケージで行動します。
  • speakerがtargetの場合は、自分自身と契約してしまいます。
  • どうしてもtarget側から契約させたい場合は、代わりにcrowd triggerを実行して、crowd triggerのダイアログでAI contractを実行してください。

change AI
  • 指定したAIパッケージを実行します。
Effects:キャンペーン
DA_ASSAULT_PHASE
  • キャンペーンの第二フェーズに移行します。

DA_RETREAT_PHASE
  • キャンペーンの第三フェーズに移行します。

DA_VICTORY_PHASE
  • フェーズに対応するAIが存在しないので、単体では正常に動作しません。
  • AI contractと併用することで契約期間だけ第二フェーズに相当する行動を起こせます。

trigger campaign
  • 相手の勢力に対してキャンペーンを予約します。
  • キャンペーンにfaction overrideが設定されていない場合は、speakerの勢力が予約します。
Effects:法・囚人・賞金
DA_PAY_BOUNTY
  • 担いでいるキャラクターの懸賞金を受け取ります。

DA_ARREST_TARGET
  • speakerが相手を逮捕します。

DA_ARREST_TARGETS_CARRIED_PERSON
  • 相手の担いでいるキャラクターを投獄します。

DA_ASSIGN_BOUNTY
  • 相手のspeaker勢力からの懸賞金がValueだけ加算します。
  • 相手が犯行中かつspeakerのassigns bountiesがTrueの場合、犯罪に応じた懸賞金を加算します。

DA_CRIME_ALARM
  • 相手に対して警報を鳴らします。

CHOOSE_PRISONER_BAIL
  • 囚人釈放画面を表示します。

DA_CLEAR_BOUNTY
  • 現在アクティブになっている相手の懸賞金を0にします。
Effects:奴隷
DA_GIVE_TARGET_MY_SLAVES
  • 奴隷部隊の主人がspeaker部隊から相手部隊へ移ります。

DA_TAG_ESCAPED_SLAVE
  • 相手を逃亡奴隷にします。

DA_ENSLAVE_TARGETS_CARRIED_PERSON
  • 相手の担いでいるキャラクターを奴隷にします。

CHOOSE_SLAVES_SELLING
  • 奴隷売却画面を表示します。
  • Valueは取引価格です。
  • Valueが0以下の場合は種族とステータスで計算した結果を使います。

CHOOSE_SLAVES_BUYING
  • 奴隷購入画面を表示します。
  • Valueは取引価格です。
  • Valueが0以下の場合は種族とステータスで計算した結果を使います。

SURRENDER_NON_HUMANS
  • speakerとRACE_GROUPが異なる相手の部隊員を全て奴隷にします。
  • speakerとの距離が100より大きい場合は奴隷になりません。

DA_REMOVE_SLAVE_STATUS
  • 相手の各種奴隷状態を解除します。
Effects:その他
DA_CHARACTER_EDITOR
  • 相手のキャラクターエディット画面を表示します。

DA_REMEMBER_CHARACTER
  • speaker部隊に相手部隊からのLT_NONEを付与します。

DA_FLAG_TEMP_ALLY
  • speaker部隊に相手部隊からのST_TEMPORARY_ALLYを付与し、一時的に味方状態になります。

DA_FLAG_TEMP_ENEMY
  • speaker部隊に相手部隊からのST_TEMPORARY_ENEMYを付与し、一時的に敵対状態になります。

DA_MAKE_TARGET_RUN_FASTER
  • 移動速度の設定をRUNに変更します。

DA_SEPARATE_TO_MY_OWN_SQUAD
  • speakerが部隊から分離します。SQUAD_TEMPLATEは分離元と同じです。
  • change AIを併用しないとリロードするまで棒立ちになります。

DA_OPEN_NEAREST_GATE
  • speakerの近くの門が開きます。

DA_KNOCKOUT
  • speakerがValueの時間だけ気絶します。
Eventの仕様について
イベントが起動できないケース
  • 廃墟に入っているキャラクターは、EV_PLAYER_TALK_TO_MEを含むほとんどのイベントでmeにもtargetにもならず、起動できません。
  • 奴隷になっているキャラクターは、一部のイベントでmeにもtargetにもならず、起動できません

targetなしのイベント
EV_ANNOUNCEMENTなどのtargetが存在しないイベントは、条件のwhoにT_TARGETを指定するとプレイヤーキャラクターを参照します。
Events:効果なし
以下は機能していない疑惑のあるイベントです。
  • EV_BAR_TALK
  • EV_FIRSTAID_KIT_EMPTY
    • バグでトリガー不可?
    • キットがなくなるとタスクが終了し、EV_BEING_HEALED_FINISHEDまたは、EV_HEALING_OTHER_FINISHEDが起動します。
  • EV_I_SEE_PLAYER_NICE_BUILDING
  • EV_I_SEE_RAGDOLL
  • EV_LAUNCH_ATTACK
  • EV_SOUND_THE_ALARM
  • EV_WINDY
Events
EV_PLAYER_TALK_TO_ME
プレイヤーから話しかけられると起動します。

T_TARGET:話しかけたプレイヤー

EV_BETRAYAL
保護契約相手から攻撃や窃盗されると起動します。

T_TARGET:相手

EV_EATING_SOMETHING_SOUNDS
相手を食べている間起動します。

T_TARGET:相手

EV_ENTER_TOWN
部隊のリーダーが拠点に入ると起動します。
NPCの拠点は開発者モードで表示される白線の内側に入ったタイミングで起動され、プレイヤーの拠点は白線の約310dm外側から内側に入ったタイミングで起動されます。また、一度入った後は白線より約620dm外側へ離れないと再び起動されません。
また、拠点にいるという条件(DC_IN_A_NON_PLAYER_TOWNやin town of)を満たす前に起動され、会話が不発する確率が高いので、二言目以降に条件を付けることを推奨します。

T_TARGET:なし

EV_GET_UP_FIGHT
以下の条件を満たすと起動します。
  • 気絶から復帰
  • 敵対または中立のキャラクターがいる
  • 味方のキャラクターがいる

T_TARGET:なし

EV_GET_UP_PEACE
以下の条件を満たすと起動します。
  • 気絶から復帰
  • 敵対または中立のキャラクターがいない

T_TARGET:なし

EV_GET_UP_UNNECCESSARY_FIGHT
以下の条件を満たすと起動します。
  • 気絶から復帰
  • 敵対または中立のキャラクターがいる
  • 味方のキャラクターがいない

T_TARGET:なし

EV_GIVE_UP_CHASE
戦闘中に相手を見失うと起動します。

T_TARGET:相手

EV_HARRASSMENT_SHOUTS
DA_THUG_HUNTERを実行すると起動します。

T_TARGET:相手

EV_I_DEFEATED_SQUAD
攻撃で相手部隊を倒すと起動します。

T_TARGET:倒した敵

EV_I_SEE_ALLY_PLAYER
同盟関係にあるプレイヤーを目撃すると起動します。
プレイヤー同士でも起動します。
動物はEV_I_SEE_NEUTRAL_SQUADに最低1つダイアログを登録しないと起動できません。

T_TARGET:相手

EV_I_SEE_ANIMAL_SQUAD
動物のみの部隊に所属するキャラクターを目撃すると起動します。
動物はEV_I_SEE_NEUTRAL_SQUADに最低1つダイアログを登録しないと起動できません。

T_TARGET:相手

EV_I_SEE_ENEMY_PLAYER
敵対関係にあるプレイヤーを目撃すると起動します。
動物はEV_I_SEE_NEUTRAL_SQUADに最低1つダイアログを登録しないと起動できません。

T_TARGET:相手

EV_I_SEE_NEUTRAL_SQUAD
同盟関係でない部隊に所属するキャラクターを目撃すると起動します。
どちらかが戦闘中だと起動しません。

T_TARGET:相手

EV_LOST_ARM
腕を失うと起動します。

T_TARGET:なし

EV_LOST_LEG
脚を失うと起動します。

T_TARGET:なし

EV_MARKED_FOR_DEATH
「無作為に囚人を食べる」、「無作為に囚人を殺す」の対象になると起動します。

T_TARGET:タスクを実行しているキャラクター

EV_SCREAMING_TORTURE
生きたまま食われる、ピーラーマシンなどでダメージを受けると起動します。

T_TARGET:タスクを実行しているキャラクター(ピーラーマシンは自分になる)

EV_SPEECH_INTERRUPTED_ATTACKED_BY_STRANGERS
会話中に第三者から攻撃されると起動します。

T_TARGET:攻撃してきた相手

EV_SPEECH_INTERRUPTED_ATTACKED_BY_TARGET
会話中に会話相手から攻撃されると起動します。

T_TARGET:攻撃してきた相手

EV_SQUAD_BROKEN
相手の攻撃で部隊のintactがFalseになると起動します。
persistentがTrueかつホームタウンがある部隊は、部隊人数が少ないと全員倒れるまでintactがFalseにならないので、実質使用不可になります。

T_TARGET:相手

EV_TAKEN_OVER_PLAYER_TOWN
プレイヤー拠点の占拠が完了すると起動します。

T_TARGET:なし

EV_UNLOCK_MY_CAGE_ATTEMPT
相手が自分の檻や枷の解錠に失敗すると起動します。

T_TARGET:相手

EV_UNLOCK_MY_CAGE_OR_SHACKLES
相手が自分の檻や枷の解錠に成功すると起動します。

T_TARGET:相手

EV_USING_MY_TRAINING_EQUIPMENT
同盟関係でない相手が自分の建物にあるトレーニングダミーを使用しているのを目撃すると起動します。

T_TARGET:相手

EV_WORSHIPING_SOMETHING
崇拝中に起動します。

T_TARGET:崇拝対象
Events:治療
EV_BEING_HEALED_FINISHED
相手からの治療が終わると起動します。
ただし、3点ほど動作に問題があります。
  • 治療する側が治療キットと修理キットを所持しないと起動しない
  • 治療キットや修理キットが尽きて中止すると起動してしまう
  • 自分自身への治療でも起動してしまう

T_TARGET:治療タスクを実行していたキャラクター

EV_BEING_HEALED_START
相手からの治療が始まると起動します。

T_TARGET:治療タスクを実行するキャラクター

EV_HEALING_OTHER_FINISHED
自分が相手の治療を終えると起動します。
EV_BEING_HEALED_FINISHEDと同様の問題があります。
また、治療中に相手が死亡しても起動するため、DC_IS_DEADの使用を推奨します。

T_TARGET:治療相手

EV_HEALING_OTHER_START
自分が相手の治療を始めると起動します。

T_TARGET:治療相手
Events:天候・地形
EV_ACID_FEET
以下の条件を満たすと起動します。
  • 酸耐性のない種族
  • 地面が酸性のバイオーム
  • 靴装備なし
  • 水泳以外

T_TARGET:自分

EV_ACID_WATER
以下の条件を満たすと起動します。
  • 酸耐性のない種族
  • 水が酸性のバイオーム
  • 水泳

T_TARGET:自分

EV_ACID_RAIN
以下の条件を満たすと起動します。
  • 酸耐性のない種族
  • 装備の酸耐性が合計100%未満
  • 天候が酸性雨
  • 屋外(天候を防ぐ建物にいない)

T_TARGET:自分

EV_BURNING
以下の条件を満たすと起動します。
  • 熱耐性のない種族
  • 装備の熱耐性が合計100%未満
  • 天候が熱(ヴェンジのビーム)
  • 屋外(天候を防ぐ建物にいない)

T_TARGET:自分

EV_POISON_GAS
以下の条件を満たすと起動します。
  • ガス耐性のない種族
  • 装備のガス耐性が合計100%未満
  • 天候がガス
  • 屋外(天候を防ぐ建物にいない)

T_TARGET:自分
Events:法・囚人・賞金
EV_ALMOST_WOKE_UP
就寝時に相手が窃盗に失敗、または、隠密移動中に確率で起動します。
NPC専用です。

T_TARGET:相手

EV_ASSASSINATION_FAILED
相手が暗殺に失敗すると起動します。

T_TARGET:相手

EV_BOUNTY_SPOTTED
相手が自勢力から指名手配された賞金首だと認識すると起動します。
NPC Classによって相手が賞金首だと認識できる懸賞金額が決まっています。
  • 1以上
    OT_LAW_ENFORCEMENT
  • 1,000以上
    OT_ADVENTURER
  • 2,000以上
    OT_MILITARY (部隊リーダー)
  • 4,000以上
    OT_MILITARY
  • 10,000以上
    OT_NONE、OT_DIPLOMAT、OT_TRADER、OT_CIVILIAN、OT_SLAVER、OT_BANDIT
  • 認識不可
    OT_SLAVE
また、隠密を見抜く(視線が赤色になる)と賞金首であることも認識します。

T_TARGET:相手

EV_EATING_MY_CROPS
作物の窃盗で犯行中になっている相手を目撃すると起動します。

T_TARGET:相手

EV_ESCAPED_PRISONER_SOPTTED
脱獄した囚人を発見すると起動します。

T_TARGET:相手

EV_I_SEE_ILLEGAL_PLAYER_BUILDING
プレイヤーの拠点で自勢力のillegal buildingsに該当する建造物を目撃すると起動します。

T_TARGET:最も近くにいるプレイヤーキャラクター

EV_I_SEE_UNIFOR_IMPOSTER
変装を見破ると起動します。

T_TARGET:相手

EV_INTRUDER_FOUND
プライベートである自分の拠点に入られると起動します。

T_TARGET:相手

EV_KIDNAPPING_MY_ALLY
味方に対する誘拐で犯行中になっている相手を目撃すると起動します。

T_TARGET:相手

EV_LOOTING_EVERYTHING
アイテムの略奪中に起動します。

T_TARGET:相手

EV_LOOTING_WEAPON_ONLY
武器の略奪中に起動します。

T_TARGET:相手

EV_PRISONER_FREE_TO_GO
囚人を釈放すると起動します。

T_TARGET:相手

EV_SHOO_FROM_MY_BUILDING
プライベートである自分の建物に入られると起動します。

T_TARGET:相手

EV_THIEF_CAUGHT_STEALING_FROM_ME
自部隊に対する窃盗や略奪で犯行中になっている相手を目撃すると起動します。

T_TARGET:相手

EV_WITNESS_GENERIC_ASSAULT
襲撃で犯行中になっている相手を目撃すると起動します。

T_TARGET:相手

EV_WITNESS_LOOTING_ALLY
味方に対する窃盗や略奪で犯行中になっている相手を目撃すると起動します。

T_TARGET:相手

EV_WITNESS_THIEF_OR_LOCKPICK
侵入窃盗で犯行中になっている相手を目撃すると起動します。

T_TARGET:相手
Events:奴隷
EV_BOUGHT_ME_FROM_SLAVERY
奴隷購入で解放されると起動します。

T_TARGET:購入したキャラクター

EV_ESCAPED_EX_SLAVE_SPOTTED
以下の条件を満たすと起動します。
  • 自勢力のanti slaveryがFalse
  • 自勢力がNPC(プレイヤーではない)
  • 相手が元奴隷であることが発覚する

T_TARGET:相手

EV_ESCAPING_SLAVE_SPOTTED
以下の条件を満たすと起動します。
  • 自勢力のanti slaveryがFalse
  • 自勢力がNPC(プレイヤーではない)
  • 相手が逃亡奴隷であることが発覚する

T_TARGET:相手

EV_INTRODUCING_NEW_SLAVE
奴隷のマスターになった時に起動します。

T_TARGET:相手

EV_RECAPTURED_A_SLAVE
相手を奴隷にする時に起動します。

T_TARGET:相手

EV_SHOUT_AT_SLAVE_WORKER
奴隷を働かせる時に起動します。

T_TARGET:相手

EV_SLEVE_DELIVERY
奴隷を届けると起動します。

T_TARGET:届け先のキャラクター

EV_SLAVE_ESCAPE_OPPORTUNITY_ALONE
奴隷主人の部隊が倒れると起動します。

T_TARGET:なし

EV_SLAVE_ESCAPE_OPPORTUNITY_SAVIOR
奴隷主人の部隊が戦闘で倒れると起動します。

T_TARGET:奴隷主人を倒したキャラクター
Events:ダイアログパッケージ以外のイベント
以下のイベントはダイアログパッケージ以外で設定します。

EV_ANNOUNCEMENT
キャンペーンで街に到着した時に起動します。

FACTION_CAMPAIGNのdialog announcementが未設定の場合、到着時にキャンペーンが終了してしまうため、必須です。

EV_ANNOUNCEMENT自体はダイアログパッケージ経由でも設定可能のため、スコアを調整すればダイアログパッケージの方を発言します。

T_TARGET:なし

EV_CONTRACT_JOB_ENDED
代わりにAI Packageのcontract end talk passiveで設定します。

AI契約が終了した時に起動します。

T_TARGET:契約対象

EV_CROWD_TRIGGERED
ダイアログのcrowd triggerを実行すると起動します。
ルート行の各条件は無視します。
speakerがT_TARGETの場合はT_MEとT_TARGETを入れ替えて起動します。

T_TARGET:起動元ダイアログイベントのT_TARGETまたはT_ME

EV_ENTER_BIOME
代わりにBIOME_GROUPのarrival dialogで設定します。

別エリアに進入すると起動します。

T_TARGET:なし
その他の設定
Object Type:DIALOGUE
for enemies
  • 効果なし

locked
  • 初期のロック状態を設定します。

one at a time
  • 発言可能な人数を1人に制限します。
  • クールタイムの仕様上、repetition limitがDR_NO_LIMITのみ効果があります。


Object Type:DIALOGUE、DIALOGUE_LINE
chance permanent
  • 使用可能になる確率で99以上は100%使用可能です。
  • キャラクターごとに管理しており、キャラクターのロード時に判定します。
  • ロードするたびに結果が変わります。

chance temporary
  • 行を抽選対象にする確率です。
  • 99以上は100%抽選対象です。
  • 都度判定します。

repetition limit
行のクールタイムを設定します。
  • DR_NO_LIMIT
    クールタイムなし
  • DR_SHORT_2
    2時間
  • DR_MIDIUM_6
    6時間
  • DR_LONG_48
    48時間
  • DR_LONG_1WEEK
    168時間
  • DR_ONCE_ONLY
    1回切りではなく、5000時間(208日と8時間)です。
  • DR_VSHORT_020
    20分

score bonus
  • スコアが増減します。

target is type
  • 相手のNPC classを条件にします。相手がいないイベントは条件を満たせません。
  • OT_NONEは無条件にします。
  • OT_SLAVEは以下の挙動になります。
    • NPC classが異なっていても相手が奴隷か逃亡奴隷なら条件を満たします。
    • Conditions(タグ系やis characterなどの参照項目以外)とchance permanentを無視します。


Object Type:WORD_SWAPS
persistent use
効果なし
スコアと行選択について
ダイアログの分岐は以下のように選択します。
  1. スコアの大きい順に判定
  2. 判定に成功するとスコアがより小さい行の判定をスキップ
  3. 判定に成功した行が複数ある場合はランダムに1つ抽選
    基本的にスコアが同値の場合にランダム抽選しますが、target raceを満たすと一時的にスコアが2増加するため、判定に成功したスコア-2以内であればランダム抽選対象になります。
EV_PLAYER_TALK_TO_MEの応答(TARGET行)は、分岐を全行判定してスコアの大きい順に並べます。


スコアの計算
以下の合計値がスコアになります。
  • score bonus:設定値分増減
  • speakerがT_TARGET:+1
  • speakerがT_TARGET_IF_PLAYER:+1
  • speakerがT_INTERJECTOR1:+2
  • speakerがT_INTERJECTOR2:+2
  • speakerがT_INTERJECTOR3:+2
  • speakerがT_WHOLE_SQUAD:+2
  • speakerがT_TARGET_WITH_RACE:+1
  • interjection node:+2
  • chance permanentが99未満:+1
  • lockedがTrue:+2
  • target is typeがOT_NONE以外:+1
  • conditions:+参照数 (許可リストに追加したタグは更に+参照数)
  • give itemが1個以上:+2
  • has packageが1個以上:+2
  • in town ofが1個以上:+2
  • is characterが1個以上:+2
  • my factionが1個以上:+2
  • my raceが1個以上:+2
  • my subraceが1個以上:+2
  • target carrying characterが1個以上:+2
  • target factionが1個以上:+2
  • target has item typeが1個以上:+2
  • target has item:+2 * 参照数
  • target raceが1個以上:+4 (Trueの場合、更に+2)
  • world state:+2 * 参照数
補足:targetを強制変更する条件
以下の条件はtargetではなくtargetの部隊が条件を満たしたときにダイアログのtargetを変更する効果を持っています。
  • DC_HAS_ILLEGAL_ITEM
  • target carrying character
  • target has item
  • target has item type
  • target race

以下の条件を満たすとtargetが強制変更されます。
  1. 条件を満たすキャラクターがダイアログ所有者に感知される(離れてもしばらく継続します)
  2. 同じ部隊の条件を満たさないキャラクターをtargetとして会話が始まる
  3. 会話が上記の条件を追加した行に対して条件判定を行う
ただし、以下の行に上記の条件を追加した場合は、強制変更されません。
  • EV_PLAYER_TALK_TO_MEで最初のME行直下のTARGET行
  • EV_PLAYER_TALK_TO_ME以外で最初のME行
また、複数のキャラクターが条件を満たす場合は、部隊員の一覧の中で最も左にいるキャラクターが優先されます。
補足:指名手配
  • 手配元表示条件
    offers bountiesがTrue、またはlegal systemに自身を指定した勢力

  • legal system
    指定した勢力が手配元になり、同じlegal systemを指定した全勢力が一体となって指名手配します。
    バニラを例にすると、テックハンターから指名手配された場合は、都市連合が手配元になり、トレーダーズギルドやマシニスト等からも指名手配されている状態になります。(実際に逮捕するかどうかはダイアログやAI次第です。)
補足:座標・距離
Kenshiの座標は、デシメートル(dm)になります。
FCSで設定する座標・距離は、基本的にデシメートルですが、War Campaignsはメートルです。
補足:AIの優先順位
優先度はWar Campaigns > AI contract > change AIです。

  1. War Campaigns
    最も優先度が高く、「戦争の指導者」や「リーダー」が表示されている間は、War CampaignsのAIで行動します。

  2. AI contract
    AI contract中にWar Campaignsの対象部隊になると強制解除されます。
    また、War Campaigns中に実行した場合は、AI contractが即解除されます。

  3. change AI
    replacementAIは変更されますが、War CampaignsとAI contractが終了するまで反映されません。
補足:long termタグ
  • long termタグ(長いので以後タグと書きます)は特定のイベントをトリガーに相手から付与されます。
  • タグには付与した部隊の識別子が含まれており、ダイアログのDC_HAS_TAGはtarget部隊の識別子とタグの識別子を突合して判定しています。
  • また、プレイヤーキャラクターが付与したタグは、識別子が特別な値(999)となり、タグのチェックが全てのプレイヤー部隊で合致するようになっています。

タグの種類
  • LT_NONE
    EV_PLAYER_TALK_TO_MEによる会話終了後、またはDA_REMEMBER_CHARACTERを実行すると付与されます。

  • LT_MY_INTRUDER
    侵入窃盗されたことが発覚すると付与されます。

  • LT_MY_LIFESAVER
    現在は機能していません。
    セーブデータを編集してタグを付けるとLT_FREED_MEと同様に味方扱いの緑カーソルになります。

  • LT_FREED_ME
    相手に檻や枷を解錠してもらうと付与されます。

  • LT_STOLE_FROM_ME
    窃盗されたことが発覚すると付与されます。

  • LT_MY_CAPTOR
    檻に入れられると付与されます。
    DA_PAY_BOUNTY、DA_ARREST_TARGETS_CARRIED_PERSON、DA_ENSLAVE_TARGETS_CARRIED_PERSON
    でも付与され、引き渡した部隊と引き取った部隊が記録されます。

  • LT_FRIENDLY_AQUAINTANCE
    現在は機能していません。

  • LT_DEFEATED_MY_SQUAD_ONCE
    戦闘で自部隊員が全員気絶すると付与されます。

  • LT_SQUAD_LOST_TO_ME_ONCE
    戦闘で相手部隊員を全員気絶させると付与されます。

  • LT_KILLED_MY_FRIEND
    戦闘で自部隊員が一人でも死亡すると付与されます。

  • LT_I_SCREWED_THIS_GUY
    現在は機能していません。

  • LT_MAX
    現在は機能していません。

タグの確認方法
quick.saveのPLATOONに記録されています。
  • taglong
    各タグをビットで管理
    LT_NONEが1ビット目、LT_MAXが12ビット目となり、
    例えばLT_STOLE_FROM_ME、LT_DEFEATED_MY_SQUAD_ONCE、LT_KILLED_MY_FRIENDが同一部隊に起因しているなら656(16+128+512)になります。

  • tags
    相手部隊の識別子

  • tagtime
    タグが付与された時間
    ダイアログではDC_TARGET_LAST_SEEN_X_HOURS_AGOのみ参照しています。
特殊なワードスワップ
  • MYNAME
    speakerの名前に変換されます。

  • YOURNAME
    targetの名前に変換されます。
    targetの行では使えません。

  • TARGETFACTION
    targetの勢力名に変換されます。

  • PLAYERFACTION
    プレイヤーの勢力名に変換されます。

  • COST
    同一行に設定したDA_GIVE_MONEY、DA_TAKE_MONEYまたはDC_PLAYERMONEYの値に変換されます。
    いずれも設定していない場合は0です。