The changes that this covers are that the alloy furnaces now have one
"src" inventory instead of a "src" and "src2"; that the tool workshop
is now MV; and the existence of MV compressor, extractor, and centrifuge.
Squeeze the range of material shielding values. The strongest shielding
materials get weaker, and weaker shielding materials, especially low-end
ones such as dirt, get stronger. The radioactivity of the active
reactor core is increased so that the standard shielding is (still)
only narrowly sufficient.
Make the "radioactive" group value be the safe distance in millimeters
rather than meters, to allow for intermediate values. Use such
intermediate values for the uranium blocks, using the existing formula
with this finer quantisation. All other radioactive nodes retain their
existing radioactivity exactly.
Tool workshop can now accept tools to repair via tube. It has upgrade
slots. Battery upgrade reduces its power consumption. Tube upgrade
makes it eject fully-repaired (or unrepairable) items via tube.
Make the generic processing machine code willing to complete more than
one processing cycle in one ABM cycle, and more generally to carry
over leftover processing effort after completing a processing cycle.
The src_time meta item now represents accumulated processing effort
(time multiplied by speed) in a scaled form (to retain fractions),
rather than just time in integral seconds. This affects the MV furnace,
with speed 4 and most recipe times being 3 s, and will be essential for
faster furnaces.
The quarry used to get stuck when it encountered an undiggable node.
Change it to skip past that node, digging whatever later stuff it can.
Necessarily, the current digging position becomes semantically-significant
state: it is no longer sufficient to search the quarry cuboid from the top
on each iteration. The current digging height is reported in the quarry's
interaction form, and can be reset to the top using a button on the form.
Where there is a non-air node within the quarry directly above the
next node to dig, it blocks the quarry's access to that node, even if
everything involved is diggable. Thus an undiggable node casts a shadow
of undug nodes below it. Resolving undiggability of a node is a major
reason to use the restart button.
The switching station and supply converter only semantically connect to
cables in particular directions. Make them visually connect only in
the matching directions. This is done by special-casing in the cable
update logic. If more irregular items arise in the future, or the
existing items start to need facedir logic, this should be generalised
into something like the connect_sides system for pneumatic tubes.
If an operating music player was disconnected from the electrical network
or destroyed, it used to leave the music playing forever. There was
also a glitch upon starting playing, as the music was started by the
form handler but then stopped when the run function realised it wasn't
receiving any power, because it hadn't demanded any yet.
The new API function is now renamed to pipeworks.tube_inject_item(),
so use it under that name. If it is not available, synthesise the new
API in terms of the old one.
To ensure that only rubber tree trunk nodes that are part of trees
regenerate, rather than those that are used as building blocks, check
that they are sufficiently close to rubber tree leaves. This replaces the
older rule that naturally-grown trunks regenerate (regardless of leaves)
and manually-placed trunks don't (even though manually building a tree
otherwise works). The detection of manually-placed trunks was in any
case broken for users of moretrees, because that mod fails to set the
flag signalling manual placement.
Incidentally also fix a bug that caused rubber tree branches (horizontal
trunk nodes) to turn vertical when regenerating latex. Rather than set
the complete node structure, only switch the type name, as does the tree
tap when emptying the node.
Expand list of sections yet to be written. Arrange sections both written
and unwritten into a two-level structure, with a bit of consequential
reordering.
Added sections on the technic-specific kinds of item processing, and on
generic metal mechanics, and the specific trickery around iron (merging
in notes_on_iron).
Vanessa finds "altitude" to carry too much of an aviation connotation.
Zefram finds "elevation" to carry insufficient connotation of being
relative to sea level, so also adds a clarifying note. Beware of changing
this terminology without negotiation, as it aroused surprisingly strong
opinions.
With breaking an active reactor core now causing instant meltdown, having
it breakable by hand is too hazardous. Change it to match steel block,
which constitutes the main part of the rest of the reactor structure.
Make the injector's mode button lag-resistant. Display the mode on
the button, as is done with other machines' toggle buttons. Describe
the modes using the same words that are now used to distinguish the
corresponding pipeworks objects. Expand name to "self-contained
injector", now that the pipeworks objects are also called "injector".
Show injector item image along with the item name at the head of the form.
Taking the same time per alloying cycle as other alloys meant that carbon
steel was being produced painfully slowly, becuase it processes much less
material per cycle than other alloys. This change halves the cycle time,
which leaves it still processing less material per second than other
alloying processes, but by a less drastic margin.