* Globals work
* Double access works
* All other things
* Revert "All other things"
This reverts commit 6574442eb6.
* More changes that compile and work
* IT WORKS AAAAAA
* Changes even more .len to length()
* Apply suggestions from code review
* Update code/datums/mind.dm
* Update code/__HELPERS/sorts/InsertSort.dm
Co-authored-by: Deniz <66401072+Oyu07@users.noreply.github.com>
* Update code/__HELPERS/sanitize_values.dm
Co-authored-by: Deniz <66401072+Oyu07@users.noreply.github.com>
---------
Co-authored-by: FunnyMan3595 (Charlie Nolan) <funnyman@google.com>
Co-authored-by: Deniz <66401072+Oyu07@users.noreply.github.com>
* Switch a bunch of /obj/machinery from /New to /Initialize
This is an easy and uncontroversial batch.
No globs, no late init, and stuff.
* Move more machinery to Initialize
This time the ones dealing with GLOB vars,
as well as some simpler ones i missed previously.
* More tricky New -> Initialize migrations
* The last of machinery Initialize conversion
* fixups
* Newscaster armor fix
* styling
* Comment on armor handling
* Move newscaster armor definition back to datum
* farie82 review
* kill extra .=
Co-authored-by: Farie82 <farie82@users.noreply.github.com>
* farie's review part 2
Co-authored-by: Farie82 <farie82@users.noreply.github.com>
Co-authored-by: Farie82 <farie82@users.noreply.github.com>
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.
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 overhauls the examine system to baystation's latest system,
including a more efficient verb approach, and a new status panel tab,
which shows more information for pre-defined objects.
This commit first and foremost ports the -tg- atom pooling system, and
removes the old experimental system entirely.
Secondly, this PR modifies the qdel system to use a -tg- lookalike
"destroy hint" system, which means that individual objects can tell qdel
what to do with them beyond taking care of things they need to delete.
This ties into the atom pooling system via a new hint define,
QDEL_HINT_PUTINPOOL, which will place the atom in the pool instead of
deleting it as per standard.
Emitter beams are now fully pooled.
Qdel now has semi-compatibility with all datum types, however it is not
the same as -tg-'s "Queue everything!" system. It simply passes it through
the GC immediately and adds it to the "hard del" lists. This means that
reagents can be qdel'ed, but there is no purpose as of yet, as it is more
or less the same as just deleting them, with the added effect of adding
logs of them being deleted to the garbage collector.
- Adds the Syndicate depot, an outpost heavily guarded by turrets, and
proofed against telescience.
- Fixes gun_turrets not ID'ing syndicate agents properly, adds support
for different bullets.
- Adds support to make an area un-accessible to telescience. I wish
there was a better way to handle that in the telescience computer, but
noone I consulted could seem to figure a way out. Simply set the area
tag in question's tele_proof to 1 to disable telescience in that area.