PROPERLY allows unathi to wear boxing gloves.
PROPERLY and completely removed the buckle resist cooldown by fixing code oversights.
Removes duplicate definition of ethanol in the scrubber alert reagent table.
Fixes Xenoarch floating light and clean tiles outside the airlock.
Overview
Now that when scrubbers hit you, you will breathe in the reagents along with digesting and touching them. Since breathing in is 50% more effective than digesting, this nerfs scrubber reagent potency by reducing the amount of chemicals each smokecloud has.
Also added the following reagents to reagent scrubber RNG:
paint, luminol, fuel, blood, sterilizine, ipecac
changes:
Maps are no longer compiled in, instead loaded directly from the DMMs at runtime.
Z level defines have been moved from the config to map datums.
Unit tests now use typecaches.
DMMS now actually works.
DMMS has been updated slightly.
DMMS is now capable of loading simple lists of non-text types.
DMMS is now faster when loading many types without mapped in attributes and when loading area instances.
Asteroid generation is now defined on the map datum instead of being hard-coded in SSasteroid.
Holodeck presets are now defined on the map datum.
Atmos machinery now uses Initialize().
Removes a whole bunch of in world loops.
Reworks SSmachinery to hold two lists: all_machines and processing_machines. all_machines contains all machines 5ever. All of them. Literally. Forever. And ever. processing_machines only contains machines that process with the SSmachinery controller.
I checked most types at runtime on the live server to see whether they're in processing_machines or in all_machines, and did debug to ensure that most machinery ends up and stays in all_machines.
Includes a basic UT to make sure all mapped in machinery types remain within the all_machines list post-init.
The announcement system just got an upgrade.
Also made the delta siren more concerning.
And made a custom slightly annoying sound for the night mode announcement.
New PR to fix merge issues
Porting an event from tg. Scrubbers get clogged and eject some chemical smoke with potentially fun effeects
I looked through chemsmoke code while doing this, and found it wanting, so i improved it. Added a duration input, adjusted all uses of chemsmoke in the code. Generally gave them all higher durations, chemsmoke grenades were a disappointing poot
Adds a new mundane event, false alarm.
It picks a random moderate or severe event and fakes its announcement without actually running the event.
Three minutes later, CC sends another announcement apologising for the false alarm
Also added an event var allowing events to exclude themselves from being picked for faking