* The cryopod simply qdel's the datacore records. Old garbage.dm hard-del()'d datums, so it was fine. Now we need to make sure they are actually removed from the data_core.
* Testing shows this fixes#1713 and in most cases the objects also GC cleanly. However some older computers still retain hard references to data_core entries. But even in the cases where that prevents a clean GC, the player is still removed from the manifest successfully and promptly, so that can wait.
* Fixes Baystation12/Baystation12/issues/17443 - Runtime in radiation.dm,30: illegal: sqrt(-2.857143)
* Updating radiation power to below zero should simply delete the source.
* Fixes at least one cause of Runtime in radiation.dm,41: Cannot read null.z in an effort to fix Baystation12/Baystation12/issues/17411
* Optimized garbage collection of radiation sources until we get qdel() hints.
* Made the RADIATION_LOWER_LIMIT configurable (option for people to save some cpu time)
* Added some comments and broke the proccessor into separate procs for profiling purposes
* Added a changelog.
s = Speedloaders. (Functionally the same as clips, but they're not
_really_ the same thing, just in case we change these later.)
c = Clips. (Can also be used to fill other magazines.)
m = Magazine. (Holds ammo rounds.)
a = Ammo. (Individual rounds of ammo.)
* The performance of the radiation controller as-is was not fast enough for inclusion in production servers, but it has some nice featuers, so rewrote it to be more performant.
* Instead of storing the radiation strength for every turf, we only store the sources of radiation, and calculate the strength only for mobs who might be in range.
* Old method was ray-tracing to every turf in range whether anything was there to be irradiated or not. Could be hundreds of turfs. New method only lazily calcualtes strength at a turf if we actually need to know it. Often times this is zero turfs if nobody is standing in engineering.
* Removed the automatic processing of objects with "rad_power" set. Objects are responsible for calling the repository to create/update their radiation sources. Saves some extra overhead that in practice was redundant with other process controllers.
* Also tweaked to be more respectful of qdel'd objects and added some comments.
While I was rooting around in hydroponics code, I saw that a list was being regenerated with UI interaction, so I threw the list into the plant controller.
No proper sprites for the Floral Somatoray's new mode yet, but it uses the gun sprite from mutate mode, and the projectile sprite from yield mode.
Adds them to loadout options and departmental uniform lockers as appropriate.
One new (Old Woman Attire) as equivalent to old man suit.
Some are unused, but now skirt sprites exist.
Recreation: - Recreational Restraints, all the kind of stuff you might need to restrain someone but still showing you care, whip included.
Science: - Dangerous Predator Crate, contains a random common predator for science analisys, a system that might come in the future!
(Contraband) Extremely Dangerous Predator Crate, Contains a random yet quite mortal predator, for analiisys only by the bravest or fooliest people in the crew.
Species now 'suggested' by robolimb manufacturer, helps with getting the correct hairstyle choices for each synth, so Taj have access to Taj hair styles and whatnot in mirrors if they are using a Taj-based synth. Also adds a DSI Akula variant that Zalvine should touch up later hopefully.