Fixes#4942
Makes setting a build state use a proc which automatically updates the icon of the machine frame so nobody accidentally sets build state without updating the look of the machine frame.
Improves some of the machine frame's attackby code, including - and this is beautiful, a system by which it spawns every object required to build when a circuit board is attached, reads the name, then deletes it immediately.
Material datum functionality changed to mimic that of reagents etc. by
using a global datum list and an assoc value list.
Material datums added at the atom level.
starting_materials var added - on New(), the materials in the list are
added to a datum. An empty list generates an empty datum, a null means no
datum.
m_amt, g_amt, and where applicable gold_amt, etc. completely removed,
replaced with starting_materials where applicable.
Fabricators
Fixed a bug with fabricators taking design cost, not shown cost.
Fixed a bug with fabricators taking costs before a design was shown
completable.
Fabricators now transfer the materials they use in the design to the atom
produced's material datum.
Designs are now world-consistent : scanning the same atom will ref the
same design, and scanning an atom with a design will fetch it.
Mechanic fabs now add plastic cost on top of the design, not to it.
Mechanic designs no longer require random extra materials.
Mechanic designs are now material-specific, not type-specific.
Mechanic blueprint uses have been removed, in favour of a consumable
system.
RnD wires moved to the datum system.
Autolathe moved under fabricators. It preserves as much functionality as
possible.
Framework added for plastic costs on mechanic fabs to be toggled, and for
removal of designs to be toggled also.
MoMMI nest now has double windoors and sulphuric acid.
Miners and xenoarch now start with tank dispensers.
HoP office expanded, charger placed on wall, accounts DB now accessible.
Engineering given more toolbelts.
Atmos large tanks fixed to start with proper gases in them.
Solar computers given correct wiring.
Captain's office now connected to grid, and contains antique laser display case.
Bhangmeter added to toxins.
Renamed Break Room airlock and removed sink.
Added desk bells where appropriate.
Extended Custodial closet by 1 tile.
Fixes#4625, fixes#4623, fixes#4624, fixes#4614, fixes some of #4629.
Fixes#4632, miners now have proper access around the station.
This should make it so that after screwdriving and crowbaring one of the other dispensers, it doesn't just make a chemical dispenser.
This will also be the first step in making it so that you can have methods of getting these machines in game with out admin assistance.
- Cell charger board can now be researched and used to build machinery,
needs engi, power and materials
- Add explicit emag message
- Cell charger cover can be removed, add special skin
- Cell charger can be deconstructed
The drop_item arg is now the loc placed, not the child of the loc or whatever.
Removed a few lines of items being placed into themselves, on themselves, into other things manually, into their users, etc.
Cleans up the fix for MoMMI recharger silliness.
This took about 2 hours of non-stop manual searches.