レリック

レリック

レリックとは、特殊な「レリックデータ」が付与された通常のアイテムのことです。

レリックデータは、対応するアイテムタイプの定義内にある 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_minint_max で制御されます。
hp 全身の部位にダメージを与えます。強度は int_minint_max で制御されます。
fatigue 疲労を引き起こし、スタミナを消耗させます。疲労は int_minint_max で制御され、スタミナ消費は [ int_min*100, int_max*100 ] の範囲で決定されます。
field 隣接するフィールド(雲、炎、血など)を消費します。許容される強度は int_minint_max で制御されます。
trap 隣接するトラップを消費します。

再充填の要件

ID 説明
none 追加の要件なし(常に機能します)。
equipped 防具なら装備、武器なら手に持っている必要があります。
close_to_skin 他のすべての衣服の下に着用しているか、素手で持っている必要があります。
sleep キャラクターが眠っている必要があります。
rad キャラクターが眠っている必要があります。
wet キャラクターが濡れているか、雨が降っている必要があります。
sky キャラクターが地上(z=0)より上にいる必要があります。