+ Add a fabrication recipe to the simulator mid-mission — for example + when the crew receives schematics from an away team or an alien + transmission. Component and output names must match the ship's cargo + item names. +
++ Reveal a secret fabrication recipe to the crew. The recipe appears in + the schematic database as if it had been discovered. Use the recipe's + name exactly as it is configured on the simulator. +
+ + updateArgs("recipe", evt.target.value)} + /> ++ Take the ship's fabricator offline (jobs already running keep going, + but no new jobs can start) or bring it back online. +
+ + updateArgs("enabled", evt.target.value === "online")} + > + + + + ++ Show the crew the hint for a secret fabrication recipe. A "partial + schematic" entry appears in the fabricator database with the hint text + configured on the recipe. Use the recipe's name exactly as it is + configured on the simulator. +
+ + updateArgs("recipe", evt.target.value)} + /> ++ This output is delivered directly into the ship's system instead of + the cargo room. If the simulator doesn't have that system (or the + coolant tank / shields are already full), it falls back to cargo. +
+ )} + {!hideActions && ( +No fabrication jobs.
} + {activeJobs.map(job => ( ++ No recipes attached to this simulator. Add one here, or configure + them permanently in Simulator Config → Fabrication. +
+ )} + {recipes.map(recipe => ( ++ Drawing components from every cargo room aboard the ship. +
+ )} + {!shipWide && decks.length > 1 && ( ++ Select the room the fabricator should draw components from. +
+ )} + {(shipWide || roomId) && visibleStock.length === 0 && ( ++ {shipWide + ? "There are no usable components aboard the ship." + : "This room has no usable components."} +
+ )} + {visibleStock.map(([name, count]) => { + const remaining = count - slotted(name); + return ( +Projected Output
++ {recipe.output.count} x {recipe.output.name} +
+ {recipe.description && ( +{recipe.description}
+ )} ++ Output unknown — experimental mix +
++ Fabrication Queue + {activeJobCount > 0 && — {activeJobCount} running} +
+The fabricator is idle.
+ )} + {visibleJobs.map(job => ( ++ {message.text} +
+ )} +No schematics on file.
+ )} + {knownRecipes.map(r => ( +