This converts the machine and mob processes to the SMC. Additionally, it
adds the Atom subsystem, which handles all Initialize() calls in place
of the old gameticker. Due to incompatibility with our atmospherics
(FUCK OUR ATMOSPHERICS FOR FUCKING EVER JESUS CHRIST WHO THE FUCK MADE
THIS PIECE OF GODDAMN SHIT) atmospherics machines do not use
Initialize() as they should, instead opting for a custom atmos_init
proc that the air controller handles.
kills off anim() proc, removes ninja rigsuit electricity effect
gets rid of the flick() in temporary_visual.dm because pooling is dead
updates ethereal_jaunt.dm and makes it OOP, wraiths no longer show the wizard animation, jaunters cannot move after duration is over, fixes directions errors
turns many anim() into obj/effect/overlay/temp
smoother pet heart animation
Currently, to_chat is literally just a proc that does user << message.
But it'll let us do output modification in the future, especially for
something like Goon's HTML chat.
Big thanks to PJB for his to_chat script, see
https://github.com/d3athrow/vgstation13/pull/6625 for more details.
This commit removes code/defines/obj.dm and code/defines/obj/weapon.dm.
These files were only kept for legacy compatibility and do not fit into
the tree system at all. It doesn't even make sense since the base defines
are all that were in these, the actual code for the items was in the right
file.
Any new ports that use this file on a different codebase should be sorted
into the tree system anyways, new files if necessary. A giant defines
file is just wasting space and searching effort.