UnmappedIsland ソースリファレンス - v0.1.0
    検索インデックスを準備しています...

    型エイリアス CraftingInput

    CraftingInput:
        | {
            consumed: boolean;
            count: number;
            emptiedInto?: ObjectGlobalId;
            kind: "object";
            objectGlobalId: ObjectGlobalId;
        }
        | {
            consumed: boolean;
            count: number;
            emptiedInto?: ObjectGlobalId;
            kind: "tag";
            tagGlobalId: TagGlobalId;
        }

    工程への入力1つ。型そのもの(object)か、タグで指した相手(tag)のどちらか。

    型宣言

    • {
          consumed: boolean;
          count: number;
          emptiedInto?: ObjectGlobalId;
          kind: "object";
          objectGlobalId: ObjectGlobalId;
      }

      consumedは、この工程がその入力を使い切るか——消す(destroy・レシピのconsume)か、抱えていた 中身を外へ出す(transfer)か。どちらも使えば減るので、繰り返し使える道具だけが偽になる。 countは1回の実行で要る個数(レシピのcount、既定1)——工程は1つの材料を複数個要ることがあるので、 総コストを出す側はこれを掛けないと1本ぶんで数えることになる。

      確率でしか消えない入力では1を下回る。 殴って仕留められるのは21回に1回で、外した回の獲物は その場に残る——1回の実行で要るのは獲物1匹ではなく、その確率ぶんだけ。中身だけを持ち出す 入力も同じで、1杯250mLを4000mL抱えた甕から汲むなら、要るのは甕1つではなく16分の1 (craftingSteps.consumptionOf)。

      emptiedIntoは、中身が尽きたときに手元へ残る型(空になった器)。器そのものは戻ってくるので 払っていない——値段を積む側は、中身入りと空との差額だけを数える(balanceTables.Acquisition)。 空の器は繰り返し使えるので、1回あたりへ按分しない——繰り返し使えるものを按分するには「何回 使うか」の仮定が要り、その仮定が数字を支配する(#550)。丸ごと使い切る入力と、戻る先が 定義から解けない入力ではundefined。

    • {
          consumed: boolean;
          count: number;
          emptiedInto?: ObjectGlobalId;
          kind: "tag";
          tagGlobalId: TagGlobalId;
      }