【WFRP4e@FVTT】スクリプト
Foundry Virtual Tabletopで動作するウォーハンマーRPGシステムに関する翻訳メモ。翻訳元はWFRP4eシステムのリポジトリ(GitHub)にあるドキュメント「Script」です。
効果には、1つ以上のスクリプトが含まれることがあります。ゲーム内の一部の複雑な動作には、複数のスクリプトと、効果で適用するデータの特定の設定が必要になる場合があります。
すべてのスクリプトには、発動に関わる独自の引数がありますが、すべてのスクリプトには、$${this}$$を介してアクセスできるコンテキストがあります。
$${this.script}$$:スクリプト・オブジェクト自体 (以下を参照)
$${this.effect}$$:スクリプトを所有するアクティブ効果
$${this.item}$$:スクリプトを所有するアクティブ効果を所有するアイテム (nullの場合もある)
$${this.actor}$$:スクリプトを直接所有するアクティブ効果を所有するアクター、またはアクティブ効果を所有するアイテムを所有するアクター
スクリプト・オブジェクト
スクリプト・オブジェクトには、ラベルやコードなどのスクリプトに関するデータがありますが、便利なヘルパー関数もいくつかあります。
$${script.scriptNotification(content, type)}$$:「効果名:メッセージ」という形式の通知を作成
$${script.scriptMessage(content, chatData)}$$: 効果を所有するアクターまたはアイテム名の$${alias}$$と、効果名としての$${flavor}$$を使用してチャットメッセージ;ChatMessageを作成
$${script.getChatData()}$$:上述のようにエイリアスとフレーバーが設定されたチャット・データ・オブジェクトを作成
ソース・ヘルパー
アクティブ効果のクラスには、便利なゲッターもいくつかある。
$${effect.sourceTest}$$:この効果が、目標に適用される呪文の効果などのテストから発生した場合、この方法でそのテストからデータを取得する。
$${effect.sourceActor}$$:前項と似ているが、テスト自体を取得する代わりに、そのテストを実行したアクターを取得する。
$${effect.sourceItem}$$:元々効果を持っていたアイテムを取得する。
追加のヒント
いつでも$${console.log(args)}$$を追加して、スクリプトで利用可能なものを正確にコンソールに記録できる
このステートメントに到達したら中断するようにスクリプトに$${debugger}$$を追加する(DevTools(F12)を開いていると想定)
コマンド$${CONFIG.debug.scripts = true}$$を入力すると、すべてのスクリプトの先頭に$${debugger}$$が追加される