This PR finishes work started in #17300 by making all the machines use apply_default_parts(src) for components initialization.
It also adds two new board sprites, one for Abductor boards and one for Ravtar boards:
board board_a board_r
There are no deconstructable Ravtar machines yet, sprites are added for future use. Abductor sprite is used only by Seed Vault's plant DNA modifier. It wasn't made by actual abductors, but it was surely made by aliens.
Boards now have a new var: def_components. It is a list containing replacement paths for default parts. For example, list(/obj/item/weapon/stock_parts/matter_bin = /obj/item/weapon/stock_parts/matter_bin/super) would make machine spawn with super matter bins instead of basic ones by default.
Console screens that were used in machines instead of glass sheets are replaced with actual glass sheets. Support for sheets as machine components was added in a previous PR
Also fixes#18352.
Slime colour and adulthood are specified in New(), which is a lot better
than having an ugly spawn(0) in the middle of a New(). Slimes also only
update their names when growing or shrinking when it matches their
existing name format.
So if you happen to be a slime called Carl Lagerfield, it won't change
your name if you grow up to adulthood.
In addition non-standard xeno names are preserved while evolving.
And it also applies your old dir to the new xeno, because that looks
slightly better.
This is mostly a pre-setup for my greater-bag-of-holding stuff.
You can't use bluespace crystals/jaunters/hand teleporters to access bluespace-proofed areas. at the moment, this only applies to shuttles and centcomm.
Teleport beacons placed in bluespace proofed rooms can't be teleported to, except via teleporter station hub.
A little concerned because now 'hijack' antags cant use teleprods to fling everyone out of the shuttle while in transit. q_q could easily just make the shuttle non-bluespace proof though.
Note for mappers: This means you can create ruins that can't be teleported into using bspace crystals by setting the area "noteleport" to 1. This can be used to force players to travel through the ruin the way they're intended to. Or to prevent them from gaining access to areas they shouldnt normally be able to. (ie. the wishgranter ruin)
You can now remove all plants and weeds from a hydroponics tray by using a spade on it. This process takes five seconds.
Hydroponics trays now have a unique variable, using_irrigation, that replaces the previous iteration of irrigation hoses that used the anchored variable to track it instead.
Fixes a possible runtime error that can occur when using irrigation hoses to transfer non-water reagents (specifically nutrients, although it hasn't been tested with any other reagents).
Added meatwheat, which is mutated from normal wheat plants. It's essentially a blood-red version of wheat that can be crushed into a meat slab by activating it with an empty hand. These meatwheat clumps are slightly bloodier than normal meat, but it still works for recipes that use normal meat slabs.
Added ambrosia gaia, which is mutated from ambrosia deus. It's yellow, glows brightly, and contains only earthsblood (renamed adminordrazine). The plant is destroyed after a single harvest, and its product can be planted in an empty hydroponics tray to cause it to become self-sufficient, no longer requiring nutrients, water, or weed/pest removal. Gaia-blessed trays will glow bright yellow in comparison to normal trays, and gaia-blessed soil will turn yellow. Both will emit light.
Added cherry bombs, which are mutated from blue cherries. They're orange and have a black stem, and start with a tiny amount of black powder in them. Activating them in an empty hand will ignite them and cause them to explode after three seconds, with explosion strength varying based on potency (at the most, it's around that of a minibomb).