2022-07-10 00:01:46 -06:00
|
|
|
steam-engine
|
|
|
|
============
|
sync tags spreadsheet to git
spreadsheet - https://docs.google.com/spreadsheets/d/1hiDlo8M_bB_1jE-5HRs2RrrA_VZ4cRu9VXaTctX_nwk/edit#gid=170388995
sync command - for fname in *rst; do name=$(echo $fname | sed 's/[.]rst//'); tagline=$(egrep ",$name," ~/Downloads/DFHack\ taxonomy\ -\ Tool\ tags.csv | ~/Downloads/csvtotags.sh); sed -ri "s;[*]*Tags:.*;$tagline;" $fname; done
contents of csvtotags.sh -
fgrep . | sed -r 's/^[^,]+,([^,]+),[^.]+[.]"?,/\1,/' | awk -F, '
function tag(idx, tagname) {
if ($idx == "TRUE") {
if (hastag == 1) {printf(", ")}
printf("`tag/%s`", tagname)
hastag = 1
}
}
{
printf("%s", "**Tags:** ")
hastag = 0
tag(2, "adventure")
tag(3, "fort")
tag(4, "legends")
tag(5, "embark")
tag(6, "system")
tag(7, "dev")
tag(8, "auto")
tag(9, "productivity")
tag(10, "inspection")
tag(11, "design")
tag(12, "quickfort")
tag(13, "interface")
tag(14, "fps")
tag(15, "fix")
tag(16, "mod")
tag(17, "armok")
tag(18, "animals")
tag(19, "buildings")
tag(20, "items")
tag(21, "jobs")
tag(22, "map")
tag(23, "labors")
tag(24, "units")
tag(25, "stockpiles")
tag(26, "trees")
printf("\n")
}
'
2022-08-05 18:55:33 -06:00
|
|
|
**Tags:** `tag/fort`, `tag/mod`, `tag/buildings`
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-31 14:29:28 -06:00
|
|
|
Allow modded steam engine buildings to function. The steam-engine plugin detects
|
|
|
|
custom workshops with STEAM_ENGINE in their token, and turns them into real
|
|
|
|
steam engines!
|
|
|
|
|
|
|
|
The plugin auto-enables itself when it detects the relevant tags in the world
|
|
|
|
raws. It does not need to be enabled with the `enable` command.
|
|
|
|
|
|
|
|
Rationale
|
|
|
|
---------
|
|
|
|
The vanilla game contains only water wheels and windmills as sources of power,
|
|
|
|
but windmills give relatively little power, and water wheels require flowing
|
|
|
|
water, which must either be a real river and thus immovable and
|
2022-07-10 00:01:46 -06:00
|
|
|
limited in supply, or actually flowing and thus laggy.
|
|
|
|
|
2022-07-31 14:29:28 -06:00
|
|
|
Compared to the
|
|
|
|
:wiki:`dwarven water reactor <Water_wheel#Dwarven_Water_Reactor>` exploit,
|
|
|
|
steam engines make a lot of sense!
|
2022-07-10 00:01:46 -06:00
|
|
|
|
|
|
|
Construction
|
|
|
|
------------
|
2022-07-31 14:29:28 -06:00
|
|
|
The workshop needs water as its input, which it takes via a passable floor tile
|
|
|
|
below it, like usual magma workshops do. The magma version also needs magma.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-31 14:29:28 -06:00
|
|
|
Due to DF game limits, the workshop will collapse over true open space. However,
|
|
|
|
down stairs are passable but support machines, so you can use them.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-31 14:29:28 -06:00
|
|
|
After constructing the building itself, machines can be connected to the edge
|
|
|
|
tiles that look like gear boxes. Their exact position is extracted from the
|
|
|
|
workshop raws.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-31 14:29:28 -06:00
|
|
|
Like with collapse above, due to DF game limits the workshop can only
|
|
|
|
immediately connect to machine components built AFTER it. This also means that
|
|
|
|
engines cannot be chained without intermediate axles built after both engines.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
|
|
|
Operation
|
|
|
|
---------
|
2022-07-31 14:29:28 -06:00
|
|
|
In order to operate the engine, queue the Stoke Boiler job (optionally on
|
|
|
|
repeat). A furnace operator will come, possibly bringing a bar of fuel, and
|
|
|
|
perform it. As a result, a "boiling water" item will appear in the :kbd:`t`
|
|
|
|
view of the workshop.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
|
|
|
.. note::
|
|
|
|
|
|
|
|
The completion of the job will actually consume one unit
|
|
|
|
of the appropriate liquids from below the workshop. This means
|
|
|
|
that you cannot just raise 7 units of magma with a piston and
|
|
|
|
have infinite power. However, liquid consumption should be slow
|
|
|
|
enough that water can be supplied by a pond zone bucket chain.
|
|
|
|
|
2022-07-31 14:29:28 -06:00
|
|
|
Every such item gives 100 power, up to a limit of 300 for coal, or 500 for a
|
|
|
|
magma engine. The building can host twice that amount of items to provide longer
|
|
|
|
autonomous running. When the boiler gets filled to capacity, all queued jobs are
|
|
|
|
suspended. Once it drops back to 3+1 or 5+1 items, they are re-enabled.
|
|
|
|
|
|
|
|
While the engine is providing power, steam is being consumed. The consumption
|
|
|
|
speed includes a fixed 10% waste rate, and the remaining 90% is applied
|
|
|
|
proportionally to the actual load in the machine. With the engine at nominal 300
|
|
|
|
power with 150 load in the system, it will consume steam for actual
|
2022-07-10 00:01:46 -06:00
|
|
|
300*(10% + 90%*150/300) = 165 power.
|
|
|
|
|
2022-07-31 14:29:28 -06:00
|
|
|
A masterpiece mechanism and chain will decrease the mechanical power drawn by
|
|
|
|
the engine itself from 10 to 5. A masterpiece barrel decreases waste rate by 4%.
|
|
|
|
A masterpiece piston and pipe decrease it by further 4%, and also decrease the
|
|
|
|
whole steam use rate by 10%.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
|
|
|
Explosions
|
|
|
|
----------
|
2022-07-31 14:29:28 -06:00
|
|
|
The engine must be constructed using barrel, pipe, and piston from fire-safe,
|
|
|
|
or, in the magma version, magma-safe metals.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-31 14:29:28 -06:00
|
|
|
During operation, weak parts gradually wear out, and eventually the engine
|
|
|
|
explodes. It should also explode if toppled during operation by a building
|
|
|
|
destroyer or a tantruming dwarf.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
|
|
|
Save files
|
|
|
|
----------
|
2022-07-31 14:29:28 -06:00
|
|
|
It should be safe to load and view engine-using fortresses from a DF version
|
|
|
|
without DFHack installed, except that in such case the engines, of course, won't
|
|
|
|
work. However actually making modifications to them or machines they connect to
|
|
|
|
(including by pulling levers) can easily result in inconsistent state once this
|
|
|
|
plugin is available again. The effects may be as weird as negative power being
|
|
|
|
generated.
|