* Adds support for self-filling reagent containers
* Sets tool_behaviour on the default set of tools
* Fixing merge conflicts
* Refactors welder to use tool behaviour
* The refactor: part I
* The refactor: part II
* Tool Refactor Part III: Revenge of the Maint
* Tool Refactor Part IV: A New Hope
* Tool Refactor Part V: The Oldcoder Strikes Back
* Tool Refactor Part VI: Return of the Coder
* VII
* Holy shit, it compiles?!
* Nannek I completed your TODO, you owe me ice cream
* Tool helpers; telepad is compliant
* Bugtest, Round 1: Fight
Fuck refactoring disposals
* Buggfixing, Round 2: Electric Boogaloo
* Personal crafting uses tool behaviours now
* Construction datums use new tool behaviours; better way of handling fueltank refuelling; more bugfixing
* multitool_check_buffer change; removes some useless things in tool_helpers
* proc name change
* TRUE/FALSE changes
* Bugfixing, Round 3: A Good Day To Bugfix Hard
Fixes multiple issues raised by the testmerge
* Minor style changes
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 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.
This commit refactors light_color definitions for most machines and
consoles that use light_color's. Instead of having the same color repeated
over and over again, there are #defines for most of the common ones.
Some machines and other places may not use lighting defs- this is
intentional. The defines as they are, are relatively clean, and machinery
was where the bulk of repeated light definitions were. Other, special
colors, can just be defined in the same file that they are used once in.
This commit adds custom color definitions to almost every computer that
did not already have them. It also causes cigarretes to very dimly glow.
Also contains custom colors for candles, flashlights, and the mentioned
cigarretes.
Oh, and beepsky flashes red and blue now while in hunt mode. FTW
This commit ports the base system of LINDA from TG. This version of linda
is the original version, with none of -tg-'s fixes, rewrites, or other
such improvements attached.
The mob ignite system has been 100% removed, as LINDA does not support
this normally. It may be added back in when the improvements and refactors
to LINDA have been ported.
Also cleans up attackby while we're at it.
Conflicts:
code/game/dna/dna_modifier.dm
code/game/machinery/computer/arcade.dm
code/game/supplyshuttle.dm
code/modules/mining/mine_items.dm
code/modules/reagents/Chemistry-Machinery.dm
code/modules/research/research_shuttle.dm
code/modules/research/server.dm