レリック
レリック
レリックとは、特殊な「レリックデータ」が付与された通常のアイテムのことです。
レリックデータは、対応するアイテムタイプの定義内にある relic_data フィールドに JSON 形式で定義されます。アイテムが生成されるたびに、このレリックデータのコピーがアイテムのインスタンスに付与されます。
レリックデータオブジェクトには、以下のフィールドを含めることができます。:
{
"name": "Boots of Haste", // デフォルトのアイテム名を上書きします
"moves": 100, // (任意) 発動にかかる移動コスト (既定値 100)
"charges_per_activation": 1, // (任意) 発動1回あたりの消費チャージ数 (既定値 1)
"active_effects": [ {}, ... ], // (任意) 発動時に実行される呪文 (`hit_you_effect` と同一。詳細は MAGIC.md を参照)
"passive_effects": [ {}, ... ], // (任意) 常時発動効果(エンチャント)のリスト。詳細は MAGIC.md を参照
"recharge_scheme": [ {}, ... ], // (任意) 再充填(リチャージ)方法のリスト。詳細は以下を参照
}
レリックの再充填
レリックは特定の条件下でチャージを回復させることができます。再充填方法は以下のように定義されます(すべてのフィールドは任意です):
※この機能は「銃(guns)」「道具(tools)」「マガジン(magazines)」に対してのみ機能します。アイテムが別のアイテムの中に装填されている間は機能しません。
{
"type": "time", // 消費されるリソースの種類を定義。既定値: time
"req": "none", // 再充填が機能するための条件を定義。既定値: none (特殊な要件なし)
"field": "fd_blood", // typeが 'field' の場合に消費されるフィールドの種類
"trap": "tr_portal", // typeが 'trap' の場合に消費されるトラップの種類
"interval": "5 minutes", // 再充填の判定が行われる間隔。既定値: 1秒
"int_min": 1, // 関連する 'type' 効果の最小強度。既定値: 0
"int_min": 5, // 関連する 'type' 効果の最大強度。既定値: 0
"rate": 2, // 再充填が成功した際に回復するチャージ量。既定値: 0
"message": "Your body decays!" // (任意) 成功時に表示されるメッセージ
}
再充填タイプ
| ID | 説明 |
|---|---|
time |
追加のリソースを必要としません。 |
solar |
日光を消費します(キャラクターが日光の下にいる必要があります)。 |
pain |
再充填の際、痛みを引き起こします。強度は int_min と int_max で制御されます。 |
hp |
全身の部位にダメージを与えます。強度は int_min と int_max で制御されます。 |
fatigue |
疲労を引き起こし、スタミナを消耗させます。疲労は int_min と int_max で制御され、スタミナ消費は [ int_min*100, int_max*100 ] の範囲で決定されます。 |
field |
隣接するフィールド(雲、炎、血など)を消費します。許容される強度は int_min と int_max で制御されます。 |
trap |
隣接するトラップを消費します。 |
再充填の要件
| ID | 説明 |
|---|---|
none |
追加の要件なし(常に機能します)。 |
equipped |
防具なら装備、武器なら手に持っている必要があります。 |
close_to_skin |
他のすべての衣服の下に着用しているか、素手で持っている必要があります。 |
sleep |
キャラクターが眠っている必要があります。 |
rad |
キャラクターが眠っている必要があります。 |
wet |
キャラクターが濡れているか、雨が降っている必要があります。 |
sky |
キャラクターが地上(z=0)より上にいる必要があります。 |