Note
この記事は最近 JSON INFO から分割されたものであり、さらに加筆修正が必要な可能性があります。
レシピ
レシピは「製作」と「解体/分解」の両方のレシピを定義します。
"type": "recipe", // レシピのタイプ。設定可能な値: 'recipe' (製作レシピ) または 'uncraft' (解体レシピ)。
"reversible": false, // trueの場合、この製作レシピの逆工程となる解体レシピを自動生成します。
"result": "javelin", // 完成アイテムのID。既定値ではレシピ自体のIDとしても使用されます。
"id_suffix": "", // (任意) レシピIDをユニークにするための接尾辞。レシピの最終的なIDは "<result><id_suffix>" となります。
"category": "CC_WEAPON", // 製作レシピのカテゴリ。解体レシピには CC_NONCRAFT が使用されます。
"subcategory": "", // 製作レシピのサブカテゴリ。
"override": false, // (任意) falseの場合、IDが重複すると読み込みに失敗します。trueの場合、既存の同IDレシピをこの定義で上書きします。
"obsolete": false, // (任意) このレシピを廃止(レガシー化)します。セーブデータの互換性を保つため、完全に削除する代わりにこれを使用してください。
"delete_flags": [ "CANNIBALISM" ], // (任意) 製作時に完成品から削除するフラグ。フラグの継承設定より優先されますが、アイテムタイプ自体に組み込まれたフラグは削除できません。
"contained": false, // (任意) 完成したアイテムをコンテナ(容器)に入った状態で生成します。
"container": "can_medium", // (任意) アイテムを入れるコンテナを指定します(既定値はアイテムの基本コンテナ)。
"charges": 1, // (任意) 弾薬や食料など、スタック可能なアイテムの生成数を上書きします。
"result_mult": 1, // (任意) 1回の製作で生成される個数(またはスタック数)の倍率です。
"skill_used": "fabrication", // 製作時にトレーニングされ、成功判定に使用されるメインスキルです。
"skills_required": [["survival", 1], ["throw", 2]], // レシピをアンロックするために必要なスキルレベル。
"book_learn": [ // (任意) このレシピを学習できる本の配列。各エントリには、本のIDと、そのレシピを学習するために必要なスキルレベルが含まれます。
[ "textbook_anarch", 7, "something" ], // (任意指定の)3番目の項目は、本の解説文(説明欄)に表示されるレシピ名を定義します(既定は、そのレシピの完成アイテムの名前になります)。
[ "textbook_gaswarfare", 8, "" ] // (3番目の項目である)名前が空の場合、そのレシピは隠し状態となり、本の解説文(説明欄)には表示されません。
],
"difficulty": 3, // 成功判定の難易度
"time": "5 m", // 製作にかかる時間。時間文字列で指定(分(m)、時間(h)などが使用可能)
"time": 5000, // レガシーな時間形式。単位は moves。将来的にサポートされなくなる予定。ここでは 1000 ~= 10ターン ~= ゲーム内時間10秒に相当
"autolearn": true, // 必要スキルに達した際に自動的に習得します
"autolearn" : [ // 指定されたスキルに達した際に自動的に習得します
[ "survival", 2 ],
[ "fabrication", 3 ]
],
"decomp_learn" : 4, // 完成品と同じタイプのアイテムを解体した際、メインスキルがこのレベルであれば習得できます
"decomp_learn" : [ // 完成品と同じタイプのアイテムを解体した際、指定された各スキルレベルに基づき習得できます
[ "survival", 1 ],
[ "fabrication", 2 ]
],
"never_learn": false, // (任意、既定値は false) プレイヤーがこのレシピを習得できないようにする。デバッグやNPC用です。
"batch_time_factors": [25, 15], // (任意) まとめ製作(バッチ製作)時の時間短縮係数。1つ目の数字は最大短縮率(%)、2つ目の数字はその短縮率に達するために必要な最小バッチサイズ。この例では、バッチサイズ20の場合、最後の6個の製作にかかる時間は(本来の25%減である)3750タイムユニットとなります。
"flags": [ // レシピの論理的特徴を示す文字列のセット
"BLIND_EASY", // 暗闇でも製作が容易なレシピ
"ANOTHERFLAG" // その他のフラグ
],
"construction_blueprint": "camp", // 任意指定。update_mapgen_idを含む文字列。 派閥キャンプが建物をアップグレードするために使用されます。値が空でない場合、その関数(対応するIDの定義)が存在していなければなりません。
"on_display": false, // これは非表示の建設用アイテムです。派閥キャンプが建設時間を計算するために使用しますが、プレイヤーが(製作メニューなどで)利用することはできません。
"using": [ // (任意指定)文字列、または配列。使用するための追加の外部要件を指定します。
"butter_resealable_containers"
],
"qualities": [ // 製作に必要な道具の一般的な「性能」
{"id":"CUT","level":1,"amount":1}
],
"tools": [ // 製作に必要な「特定のツール」
[
[ "fire", -1 ] // ツール使用時に消費されるチャージ数。-1 はチャージを消費しないことを意味します
]],
"components": [ // 同一の括弧([])で囲まれたものは、同等のツールまたは材料として扱われます
[
[ "spear_wood", 1 ], // 必要とされるチャージ数、またはアイテムの個数
[ "pointy_stick", 1 ]
],
[
[ "rag", 1 ],
[ "leather", 1 ],
[ "fur", 1 ]
],
[
[ "plant_fibre", 20, false ], // (任意指定)回収可能性に関するフラグ。既定値は true です。
[ "sinew", 20, false ],
[ "thread", 20, false ],
[ "duct_tape", 20 ] // 一部のアイテムは、アイテム定義の段階で『回収不能(unrecoverable)』としてフラグが立てられています。
]
]
レシピ材料の重複要件
Note
このセクションは DDA(Cataclysm: Dark Days Ahead)から継承されたものであり、現時点で(Bright Nights でも)依然として適用されるかどうかは証明されていません。以下の内容は参考程度に留めておいてください。
レシピの要件(材料)に重複がある場合、ゲーム側でそのレシピがそもそも製作可能かどうかを計算することが困難になります。
例えば、サバイバー望遠鏡のレシピには(他の材料に加えて)以下の要件があります:
1 高品質レンズ ×1
かつ
1 高品質レンズ ×1 または 小型高品質レンズ ×1
これらは、両方のリストに「高品質レンズ」が含まれているため、重複しています。
少量の重複(上記のような例)であれば処理可能ですが、あまりにも多くの材料リストがあらゆる形で重複しすぎていると、レシピの確定時に「レシピが複雑すぎる」というエラーが表示されることがあります。この場合、ゲームは製作可能かどうかを正確に予測できなくなる可能性があります。
この問題を回避するために、レシピの要件自体を簡略化したくないのであれば、レシピを複数の段階に分割することができます。例えば、上記のサバイバー望遠鏡のレシピを簡略化したい場合、まず「サバイバー接眼レンズ」という中間アイテムを導入します。これにいずれかのレンズを要求するようにし、その上で望遠鏡本体のレシピには「高品質レンズ」と「接眼レンズ」を要求させるようにします。全体的な必要材料は同じですが、どちらのレシピにも重複はなくなります。