EoC関連

このページは0.Gから利用可能になった外部拡張言語EoCの説明であるEFFECT_ON_CONDITION.mdを機械翻訳したものをもとに加筆中のページです。
まだノウハウが溜まっていないため、ガリガリ加筆してくれる有識者を募集しています。

effect_on_condition

effect_on_condition は、ダイアログの条件と効果を組み合わせて、ダイアログの外で使用できるようにするオブジェクトです。 呼び出されると、 conditionをテストします。 conditionが有効な場合、それらは効果を引き起こします。 それらは、任意の頻度で自動的にアクティブ化できます。
(Note: effect_on_conditions は、npc ダイアログの条件と効果の構文を使用します。これにより、npc に関連するチェック、または npc での効果をターゲットにすることができます。 (for example: `npc_has_trait`). effect_on_condition でこれらのコマンドを使用することはサポートされていません。)

Fields

Identifier Type Description
recurrence 整数またはオブジェクトまたはArray effect_on_condition は、この秒数の間に自動的に呼び出されます (アクティブ化されます)。 オブジェクトの場合は、文字列 `name`、`type`、および `context` が必要です。 `default` は int または期間を表す文字列のいずれかです。 `global` はオプションの bool (デフォルトは false) です。true の場合、使用される変数は常に、ダイアログのターゲットではなくプレイヤー キャラクターからのものになります。 配列の場合、int または varible_objects のいずれかである 2 つの値が必要です。
condition condition この effect_on_condition がアクティブ化されると、その効果が発生する条件。 完全な構文については、[NPCs](NPCs.md) の「対話条件」セクションを参照してください。
deactivate_condition condition *オプション* effect_on_condition が自動的にアクティブ化 (呼び出され) され、その条件が失敗した場合、deactivate_condition が存在し、false_effect エントリがないかどうかがテストされます。 true が返された場合、この effect_on_condition は「recurrence」秒ごとに自動的に呼び出されなくなります。 プレーヤー/npc が特性またはバイオニックを獲得/喪失するたびに、無効化されたすべての effect_on_conditions で `deactivate_condition` が実行されます。 false が返されると、effect_on_condition の実行が再び開始されます。 これは、ターゲットのバイオニック/特性がない場合に、実行時間を無駄にしない特定の特性またはバイオニックに effect_on_conditions を追加できるようにするためです。 完全な構文については、[NPCs](NPCs.md) の「対話条件」セクションを参照してください。
effect effect アクティベーション時に `condition` が true を返す場合に生じる効果。 完全な構文については、[NPCs](NPCs.md) の「対話効果」セクションを参照してください。
false_effect effect アクティベーション時に `condition` が false を返す場合に発生する効果。 完全な構文については、[NPCs](NPCs.md) の「対話効果」セクションを参照してください。
global bool これが true の場合、この繰り返し eoc はプレーヤーとグローバル キューのすべての npc で実行されます。 無効化条件はアバターに基づいて機能します。 false の場合、アバターとすべてのキャラクターは、独自のコピーと独自の無効化されたリストを持ちます。 デフォルトは false です。
run_for_npcs bool global が true の場合にのみ true になります。 false の場合、eoc はアバターに対してのみ実行されます。 true の場合、アバターとすべての npc に対して eoc が実行されます。 デフォルトは false です。
EOC_TYPE string ACTIVATION…何らかの外的要因で起動。省略時はこれ。
RECURRING…別途指定間隔で起動。(recurrence指定時は自動でこれ。)
SCENARIO_SPECIFIC…シナリオ開始時に一度起動。
AVATAR_DEATH…現在のアバター死亡時にアバターをu、殺害者をNPCとして起動。
NPC_DEATH…NPCが起動した場合に起動。
OM_MOVE…プレイヤーがマップ画面のマスをまたいだ時起動。
PREVENT_DEATH…現在のアバターが死ぬたびに、アバターをuとして起動。その後、プレイヤーが死んでいない場合は死なず、複数ある場合は、プレイヤーが死んでいないまですべて実行されます。

Examples:

  • 毎秒起動し(recurrence記述)、特質霊感がある場合(condition記述)、状態異常感染症を1秒付与する(effect記述)。特質霊感持っていない場合や後天的に失った場合、このEoCを停止する(false_effectがないため)が、再度獲得した場合は再開する(deactivate_condition記述)。deactivate_condition記述はなくても機能するが、recurrenceなEoCは処理時間を食うため明示的に停止している。
{
 "type": "effect_on_condition",
 "id": "test_deactivate",
 "recurrence": 1,
 "condition": { "u_has_trait": "SPIRITUAL" },
 "deactivate_condition": {"not":{ "u_has_trait": "SPIRITUAL" } },
 "effect": { "u_add_effect": "infection", "duration": 1 }
},

  • XX秒ごとに起動し(recurrence記述)、筋力が7以下の場合(condition記述)、状態異常感染症を1秒付与する。(effect記述)
{
 "type": "effect_on_condition",
 "id": "test_stats",
 "recurrence": [ 1, 10 ],
 "condition": { "not": { "u_has_strength": 7 } },
 "effect": { "u_add_effect": "infection", "duration": 1 }
}

  • 倦怠に+40するACTIVATION型EoC。
{
 "type": "effect_on_condition",
 "id": "EOC_SLEEP",
 "effect": [ { "u_message": "You feel very sleepy…" }, { "arithmetic": [ { "u_val": "fatigue" }, "+=", { "const": 40 } ] } ]
}

  • 上記EOC_SLEEPを起動するアイテムの記述。use_action記述を確認されたし。
{
 "id": "poppy_sleep",
 "type": "COMESTIBLE",
 "comestible_type": "MED",
 "name": { "str": "poppy sleep" },
 "description": "A potent sleep aid extracted from mutated poppy seeds.  Effective, but as an opiate it can be addictive.",
略
 "use_action": {
   "type": "effect_on_conditions",
   "description": "Can be used to treat insomnia.",
   "effect_on_conditions": [ "EOC_SLEEP" ]
 }
}

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2023年03月10日 21:16