カスタム変換を作成する
ゲームにはいくつかのコンテナタイプがあり、それらはコンバーター(変換器)です。例えば、醸造樽、日干しラック、および 熟成棚 です。これらは腐敗することはなく、その内容物を製品に変換します。
しかし、これらの製品はすべてハードコーディングされています。CWL Trait CustomConverter と変換ルールファイルを使用することで、コンテナをカスタムコンバーターに変えることができます。
例えば、この行は brewery(醸造樽)からコピーされたものです:

trait セルには5つのパラメーターがあり、それぞれ CustomConverter、width(幅)、height(高さ)、inventory style(在庫スタイル)、inventory ID(在庫ID)、conversion rule ID(変換ルールID)です。第5のパラメーターである conversion rule ID を空白にすると、アイテムIDが使用されます。
変換ルールを定義する
変換ルールはシンプルなJSONファイルで、LangMod/**/Data/ フォルダーにあり、ファイル名は converter_ID.json です。このIDは変換ルールのユニークなIDであり、例えば converter_fruit_barrel.json のようなものです。
{
"DecaySpeed": 500,
"IdMsg": "driedFood",
"Conversions": {
"origin:fruit": [
{
"Id": "dried_fruit",
"Num": 1,
"PriceAdd": "base * 0.25"
}
],
"grape": [
{
"Id": "raisin",
"Num": 5,
"PriceAdd": "base * 0.06 + 5"
}
],
"tomato": [
{
"Id": "dried_fruit",
"Num": 1,
"PriceAdd": "0"
}
]
}
}DecaySpeed(腐敗速度)は変換速度で、500 はゲーム内の 醸造樽、日干しラック、および 熟成棚 のデフォルト値です。
IdMsg は変換が完了した際に表示される LangGame テキストIDで、関連するエントリーは LangGame テーブルで見つけることができます。または、Game テーブルで独自のフレーズを定義することも可能です。
Conversions は一連の変換ルールであり、各エントリーは初期アイテムのIDと一致する必要があります。または、origin:originID を使用して、同じ _origin を持つすべてのバリアントを含めることができます。特定のアイテムを上書きすることも可能で、例えば origin:fruit の中で grape エントリーを上書きできます。
各変換エントリーには製品の配列があり、各製品は StockItem からの同じフィールドを含んでいます。デフォルトのフィールドは省略可能です。PriceAdd フィールドは、製品に追加される追加価格を計算するための式であり、base は初期アイテムの価格です。
テスト変換ルール
ゲームが実行中に変換ルールを編集することができます。変更を保存した後、コンソールコマンド cwl.converter.reload を使用してすべての変換ルールを再読み込みし、テストを行ってください。