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.
make environment_smash into bitflags
add obj_damage for simple animals
make default max_integrity and obj_integrity INFINITY for non-defined objects, until we can move more objects to obj_integrity/take_damage() system
adds examining objects to roughly check damage
more obj_defense.dm procs
tables can be attacked with items, glass tables have a narsie_act()
fixes, changes to make it compile
This commit does a *lot*
Main points of shit changed:
- Breathing for carbons is now partially handled at a carbon/Life()
level; Humans still use their species bullshit and all.
- Most shit has been pushed up the chain to living/Life().
- Simple_animals no longer use the fucking stupid Die() proc, they use
death() like a consistant fucker.
- Human vision is now handled via species.
- Lots and lots of robot copypasta cleaned
- AI is still a terrifying mess, not even -tg- touches it
I have tested this, and everything I thought to test worked:
- Aliens breathing
- Humans breathing
- Human vision
- Robot HUD
- human HUD
- Simple animals automatic systems
- Simple animals dying properly
- Robot goggles working