【WFRP4e@FVTT】効果

Foundry Virtual Tabletopで動作するウォーハンマーRPGシステムに関する翻訳メモ。翻訳元はWFRP4eシステムのリポジトリ(GitHub)にあるドキュメント「Active Effect」です。

このページでは、ドキュメント、埋め込みドキュメント、百科事典などの概念に精通しているなど、Foundryエコシステムの基本を理解していることを前提としています。

アクティブ効果(以下、「効果」)は、基本的なFoundryレベルでは、親(または親の親)アクターのプロパティを変更する埋め込みドキュメントです。これは、アクターのデータ準備サイクル中に発生します。このサイクルでは、アクター内のさまざまな値を計算するすべての計算が行われます。データ準備は、ワールドのロード時またはアクターの更新時に発生します。

Foundryは、この基本的な実装をすぐに使用できますが、上記の内容に限定されており、アクターのデータ・ポイントを変更することしかできません。WFRP4eでは、これにはいくつかのアプリケーションがありますが、効果がより強力な操作を実行できるように、システムによって多くの高度な機能が追加されています。

基本を学習したい場合は、次に読み進めてください。そうでない場合は、スクリプトの章に進んでください。

効果の適用/転送

効果がどのようにデータを変更するかについて説明する前に、効果の適用という概念を理解することが重要です(ただし、適用 はUIを示しているのではなく、効果を適用する動作を指しているため、いつかは効果の転送に名前が変更される可能性があります)。

このセクションの以降の内容は、Warhammerシステム専用に作成した仕組みであり、他のシステムには関係ないか適切ではない可能性があります。

効果システムの重要な部分は、効果が「いつ」「どのように」適用および転送されるかを理解することです。【筋力】を増加する基本的な異能を考えてみましょう。この効果は、所有するアクターで実行され、その【筋力】を増やします。しかし、効果が呪文に適用される場合はどうでしょうか。呪文の効果は一般的に所有しているアクターでは実行するべきでは有りません、呪文の発動時は所有者ではまったく実行されずそのまま通過し、まったく別のアクターに転送される可能性があります。ただし、このシステムの重要な仕組みは、アクターが直接所有するすべての効果は適用済みと見なされることです。アイテムが所有する効果のみをこのように構成する必要があります。

効果がどのように移動し、いつ適用されるかを視覚的に表すには、下の図を参照してください。効果がアクターAのアイテムからアクターB(またはその逆)に移動すると、常にターゲットが直接所有するように移動され、また、効果がアクターによって直接所有されている場合は、常に適用済みと見なされ、そのアクターを変更します。

上述の問題を処理するために、次の要素がアクティブ効果の設定に追加されます。これらは、アイテムが効果に所有されている場合にのみ追加されることに注意してください。上で説明したように、アクターによって所有されているエフェクトはすでに転送/適用されているため、これらのフィールドは関係ありません。

1.効果の適用

これは、この効果の適用方法を決定する主要要素ですが、ドキュメントの種類(以下を参照)と連動して機能する。
選択肢は以下の通り:

  1. 所有ドキュメント:この効果を所有ドキュメントに直接転送する。

  2. ダメージ:この効果は、ダメージとして別のアクターに転送される。

  3. 目標:この効果は、ターゲット設定を介して適用される。

  4. 範囲:この効果は、エリア テンプレートを介して適用されます。テンプレートはキャンバス上に配置され、エフェクトはテンプレート内のトークンに与えられます。

  5. オーラ:この効果は、アクターに付与された範囲の型を介して適用される。オーラは、目標効果のように適用しますが、目標の周囲に範囲の型を作成します。

  6. その他:この効果はまったく適用されません(通常は、カスタム・スクリプトを使用して指定した方法で転送を処理するために使用されます)。

2.ドキュメントの種類

ドキュメントの種類は、効果の適用の指示子として使用されます。以下の例を参照してください。
オプションは次のとおり:

  1. アクター

  2. アイテム

エフェクト アプリケーションドキュメント タイプ を一緒に使用することが、エフェクトの転送方法を構成する主な方法です。

$$
\begin{array}{|l|l|l|} \hline
効果の適用 & ドキュメントの種類 & 結果 \\ \hline
所有ドキュメント & アクター & 所有するアクターに転送される。たとえば、異能は通常これを使用します \\ \hline
所有ドキュメント & アイテム & 所有するアイテムに転送される。通常は使用されない \\ \hline
ダメージ & アクター & アクターがダメージを与えると転送される(ダメージを受けるアクターに転送)\\ \hline
ダメージ & アイテム & アイテムがダメージを与えると転送される(ダメージを受けるアクターに転送)\\ \hline
目標 & アクター & 目標のアクターに転送する \\ \hline
目標 & アイテム & 目標のアイテムに転送する(アイテムは下述のフィルタで決定) \\ \hline
範囲 & アクター & 範囲の型をキャンバスに配置し、そこに入ったアクターに転送する \\ \hline
範囲 & アイテム & 所有するアクターに固定されたキャンバスにエリアテンプレートを配置し、そのエリア内のアクターに転送します。 \\ \hline
オーラ & アクター & キャンバスに所有するアクターに固定した範囲の型を配置し、範囲に入ったアクターに転送する \\ \hline
オーラ & アイテム & なし \\ \hline
その他 & アクター & 転送されない \\ \hline
その他 & アイテム & 転送されない \\ \hline
\end{array}
$$

(重要)効果がアイテムに対して適用された場合、効果は「アクター上に作成されます」が、通常は特定のアイテムで計算するようにシステムに内部的に示すデータがあります。これには明確な利点があります。Foundryは、アイテムが所有する効果をそのアイテム用ではなく、それを所有するアクターに向けることを意図しているからです。

3.無効テスト

効果が転送されるときに、このオプションを使用すると、特定の条件下でこの効果を無効にする(作成を中止する)メソッドを追加できます。

オプションは次のとおり:

  1. カスタム:実行されるカスタム・テストを定義します

  2. スクリプト:効果が無効化されるかどうかを決定するカスタム・スクリプトを記述します(無効にする場合は、真値;trueを返す)

4. テスト非依存

これは、種類が目標範囲および オーラのときに使用される非常に特殊なプロパティです。通常は範囲を配置する呪文はテストを介して適用される。しかし、このオプションを有効にすると、効果をアクター・シートから直接適用することができる。これは、鎧や異能など、テストを実行しないアイテムに使えます。

5.適用前スクリプト

これは種類が目標範囲および オーラのときに使用され、効果を適用する前にこのスクリプトを実行します。スクリプトが真値;trueを返すと効果が適用され、偽値;falseの場合は中止されます。たとえば、アクターが別のアクターに効果を適用する前にテストをロールする必要がある場合に使用できます。

6.装備時に転送

効果を持つ所持品は殆どの場合、着用または装備されているときにのみ効果を適用します。これは種類が所有ドキュメントおよびアクターのときに使用できます、さもなくば装備されているアイテムを考慮しないため、効果は常に所有アクターに転送されます。このプロパティは追加のチェックを追加し、効果を転送するにはアイテムを装備する必要があります。

7.有効化スクリプト

このスクリプトは、効果が有効か無効かを自動化できます。スクリプトはそれぞれ真値;trueまたは偽値;falseを返す必要があります。

8.フィルタ

このスクリプトは、さまざまな効果の適用ドキュメントの種類の組み合わせで使用され、いくつかの重要な用途があります。スクリプトが真値;true を返す場合、「フィルタ済み」 とみなされ、適用されません。

変更

アクティブ効果の変更は、Foundry がすぐに使用できるものです。効果には複数の変更があり、各変更にはキーモードと三種類のプロパティがあります。

  • キー:パス とも呼ばれ、変更されるプロパティです。各ドキュメントにはいくつかのデータ・プロパティがあり、一部のプロパティにもプロパティなどがあります。したがって、キーは変更する値へのパスです。たとえば、$${system.characteristics.ws.modifier}$$は、アクターの【武器技術度】を変更するためのパスです。

  • モード追加オーバーライドなど、実行する操作。他のオプションもありますが、システムで使用されるのはこれら 2 つだけです。

  • Value:プロパティを変更する値

たとえば、【協調力】を10減らすを場合、キーには$${system.characteristics.fel.modifier}$$、モードを$${追加}$$、を$${-10}$$とする。

(重要)アイテムはアクターのデータ・プロパティではないため、変更で技能にボーナスやペナルティを追加できないことを覚えておくことが重要です。これは、ユーザーが変更を使用して実行しようとする一般的なことですが、サポートされていません。効果を介して技能に修正値を適用する場合は、@@SCRIPTS@@ セクションの @@LINK@@ の例を参照してください

キー

アクターを変更するために使用する便利なキーのリストを次に示します

能力値

$$
\begin{array}{|l|l|} \hline
能力値 & 値 \\ \hline
【武器技術度】 & system.characteristics.ws.* \\ \hline
【射撃技術度】 & system.characteristics.bs.* \\ \hline
【筋力】 & system.characteristics.s.* \\ \hline
【頑健力】 & system.characteristics.t.* \\ \hline
【機転】 & system.characteristics.i.* \\ \hline
【敏捷力】 & system.characteristics.ag.* \\ \hline
【器用度】 & system.characteristics.dex.* \\ \hline
【知力】 & system.characteristics.int.* \\ \hline
【意志力】 & system.characteristics.wp.* \\ \hline
【協調性】 & system.characteristics.fel.* \\ \hline
\end{array}
$$

ここで、$${*}$$には幾つかの選択肢があります

$${initial}$$:能力値の初期値を変更します(《分別》《低姿勢》などの異能で使用)

$${modifier}$$:能力値の合計値を変更する

$${calculationBonusModifier}$$:長いですが、特性修飾子を相殺し、派生値の変更を防ぐ便利なツールです (例を参照)

移動力

$${system.details.move.value}}$$:移動力の元の値を修正

【武器技術度】に+10の修正値を追加

$$
\begin{array}{|l|l|l|} \hline
キー & モード & 値 \\ \hline
system.characteristics.ws.modifier & 追加 & 10 \\ \hline
\end{array}
$$

移動力を1減らす

$$
\begin{array}{|l|l|l|} \hline
キー & モード & 値 \\ \hline
system.details.move.value & 追加 & -1 \\ \hline
\end{array}
$$

【頑健力】の修正値に20追加

$$
\begin{array}{|l|l|l|} \hline
キー & モード & 値 \\ \hline
system.characteristics.t.modifier & 追加 & 20 \\ \hline
system.characteristics.t.calculationBonusModifier ※ & 追加 & ー2 \\ \hline
\end{array}
$$

※$${calculationBonusModifier}$$とは?
このプロパティは、派生プロパティに影響する特性の一時的な変更をシステムが処理する方法です。たとえば、「耐久値」は派生プロパティで、【筋力】、【頑健力】、【意志力】から計算されます。【頑健力】を変更する効果が「耐久値」も変更するかどうかは、効果の性質によって異なります。Cubicle 7 のFAQでは、特性の一時的な増加(呪文や奇跡など)は「耐久値」を変更しないと説明されています。これがこのプロパティの目的であり、計算時に、数式で使用する前にこの特性からのボーナスを変更するようにシステムに指示します。この例では、+20の修正値から発生する+2の【頑+】を -2して相殺しています。

ただし、これはWFRP4eでの変更のサポート範囲に関するものです。以下の スクリプトの章では、効果で実現できるさらに強力な機能について説明します。

スクリプト

適用は効果が適用される場所や対象を定義しますが、スクリプトは効果が実際に何かを実行する方法です。効果の背後にある仕組みを実装する方法の詳細については、スクリプトの章セクションを参照してください。


いいなと思ったら応援しよう!