Files
dota_factory/docs
Malte Langkabel a012d1a658 give the smelter and the plant a recipe of their own
They had no recipe at all: their buffers were unioned over every recipe of
their type, so one smelter accepted all four ores at once, held three kinds of
ingot at once, and ran whichever recipe happened to have its inputs. That is
four recipes coexisting in one building.

New REQ-BLD-AUTO-RECIPE makes them ordinary selectable-recipe buildings that
size their buffers for the one recipe they hold, with a single addition: while
no recipe is set, the first material offered at an input port that any of their
recipes consumes selects it. That covers every intake path, direct coupling
included -- a building that accepts nothing would otherwise leave a coupled
producer stuck at its port forever. Ports in order, config order as tie-break,
so the choice is deterministic.

Once set the recipe never changes on its own, which is what settles the case of
recipes sharing some inputs but not others: there is no second guess to make.
The player changes it through the ordinary selection dialog, which clears the
buffers and so also frees a building holding part of a cycle nothing feeds any
more -- no separate clear action is needed. The dialog's clearing option reads
(Auto) rather than (None) there, since it returns the building to automatic
selection rather than leaving it idle.

Consequently these buildings can now be grey, have a recipe control in the
selection card, and drop the special cases they needed for having no recipe to
name: the buffer-chip union and the recipe summary's "recipe it ran last".

Requirements only; the implementation follows.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ne3mejABZoLWKLh8fgpM3x
2026-08-12 22:44:11 +02:00
..
2026-07-02 21:36:42 +02:00