* Sideports a couple of init unit tests from Neb.
* Trying to unfuck initialize logic.
* Removing del()s.
* Adjusting return values to Initialize().
* Moving some dangerous object logic from obj onto the two types that use it.
* Rolling back some init changes and commenting out initialized atom unit test.
* this comment formatting is a minor war crime
* Removed sleep() from signaler circuit Initialize().
* Additional Init fixes post-rebase.
* Uncomments subsystem test since that's passing.
* Porting Fixes
- Ores now properly initialize
- Spawned in characters now have languages set
* Update ore.dm
* More Hard Delete Fixes
* Fixes compile issue
Xenobio slimes will now count other slimes as taking space instead of reproducing uncontrollably in astronomical stacks per tile when not confined in a 2x1 tile cell.
* Make Butchering more modular. Don't tell the demon lords.
* No guts no glory. That was far more work than expected to get organs to just process and work for butchering holy shit.
* Chitin and hides oh my.
* squeak. ..Why did this not fire on local?
* Squelch.
* Seven cubed livers, for the doctors in their sterile halls.
* Changeling
* Prep for Datums
* Fix Broken Broken Guns
* Redundancy
* F l a g s
* Allow mechs to butcher things with their drill.
- Vague copy of a TG feature, made difficult by their different code. Still, it works.
* Add changelog
The default "threaten" timer was 3 seconds, meaning that as soon as world.time advanced beyond that, the merc would shoot you. If there's TIDI/lag or other issues, you'd immediately end up getting shot.
30 seconds is more reasonable, allows you time to back away from the merc without being shot at, and it keeps the mercs from being cheesed easily.
This also fixes the merc aggression sounds. Actual voicelines incoming once I get help from a contributor!
Mercs are also SMART now and will not move if confused/disoriented.
Fixes mice having no melee damage stats, meaning they just inherited the default values, which are apparently enough to one-click delete lockers and crates and stuff like that.
Adds a HUD for observers
Adds a HUD for rigs and mechs
Adds up/down buttons for AI hud
Add more tg style alerts
Fix some bugs with the tg alerts
Improve icon_states usage by caching it
Redo how respawning works, add a button to ghost hud for it
This is to make it more visible whenever a mob actually reloads. Currently, a slight second of a break doesn't look like much on the opposing end.
The noise has been increased to 70 to make more likely someone actually hears it in the chaos.
This adds throw_alert() and /obj/screen/alert, a system that allows you to do custom hud alerts for any variety of things from "You're too cold!" to mecha status indicators for the pilot.
There's quite a few things that actually got replaced; the
fire/oxy/tox/co2 alerts are all now just alerts, as is nutrition. There's also a number of new alerts, such as blindness, highness, legcuffed, buckled, handcuffed, and probably some more I missed; read code/_onclick/hud/alert.dm and see for yourself!
Additionally, a number of tweaks have been done to resisting code, to make it so that there's an indicator when you're buckled or handcuffed, and can just click the alert to start resisting. This includes a refactor that combines the logic for lockers, holders all into one proc, called container_resist().
Also, the health and internals indicator got moved down one tile each. Needed room for the alerts. If we add the oxygen tank action buttons from /tg/ and remove the internals indicator, the health indicator can go back where it was originally.
Alerts, pictured in the top right.

* Large amount of work; Animal taming, shearing. Random animal spawns on sif grass/forest turfs. New PoIs, thermal poncho.
* Combat drone DMI moved to drones folder. Mining Drone subtype added. "Tameable" with ores, will collect and store ores when not in active combat.
* Port ParadiseSS13/Paradise#2100 - Saycode refactor
* Removed unused old carbon slimes code
* Port ParadiseSS13/Paradise#5099 - Saycode part 2
* Ported ParadiseSS13/Paradise#7170's /datum/browser Check Known Languages
* Port ParadiseSS13/Paradise#9240 - Get rid of alt_name in favor of GetAltName()
* Port ParadiseSS13/Paradise#10330 - You can now use multiple languages in one message
* Addressed Atermonera's review.
Translators now print the full message if they find any languages within the
message that the user doesn't understand, minus languages it cannot translate.
Additionally, the combine_message proc has been significantly simplified
by eliminating an ugly tree structure with the help of a little helper
proc.
The removal of the extra span inside each piece doesn't seem to have
visually changed the messages in any other way than changing where the
wordwrap happens, strangely enough. Must be something in IE's code being
picky about invisible elements. On the bright side, it splits *later*
than it did before, thus reducing the lines a message will take up by a
tiny amount.
Also, a bunch of things now have the 'filter_say' class from
PolarisSS13/Polaris#6998. Since span classes with no definition are
totally valid and just don't do anything, this PR does **not** depend on
that PR being merged first.
* Always gotta be one