changes:
rscadd: "Ported a new chat system, Goonchat, that allows for cool things like changing font style, size, spacing, highlighting up to 5 strings in the chat, and DARK MODE."
rscadd: "Repeated chat messages can now get compacted. You can disable this in goonchat settings."
rscadd: "You can change icon style to any font on your system."
tweak: "The game window has been altered a bit to adjust for this."
rscdel: "Removed skin style prefs as they are no longer used."
Converts reagents to use typepaths instead of IDs.
Centralises reagent spawning in a lot of places to use reagents_to_add instead of a variety of custom methods or initialise overrides.
First, cycle speed of all NTSL2+ programs has been increased by a factor of, on average 10. Cycles are much faster than I gave them credit for in my original pull.
Secondly, a bug in which programs could bug out and appear on multiple computers should have been squashed.
Thirdly and most importantly, NTSL2+ can now talk to Integrated Electronics via the Subspace Transmitter Part.
when net.subscribe("channel"){print(message)} and net.message("channel", "contents") can be used for this.
You can now put flags on windows without bashing them.
Compartmental circuit kits no longer display pickup error messages when you put it back in the big box.
Fixes#8185
Also light ICs no longer produce UV for Dionas to bask in
Light ICs now project a cone like flashlights rather than an omnidirectional light
Fixes the integrated circuits list item editing. Before, half the functions were broken (not allowing in-place modifications of any kind), the other half unused. This PR fixes in-place editing and adds buttons for selecting items to edit.
Part 1 in the "why my impact wrench no wrench bolt" saga
tl;dr for end users: combitools / impact wrenches now work on everything their non-powered versions do (except mechs and RIGs, tune in next time on dragon ball Z for that)
essentially all this PR does is murder every istype() check possible that could use a helper function instead, most notably many pen checks with ispen(). it also repaths combitools and powerdrills to /obj/item/weapon so they aren't instantly taken out of contention by half of the known attackby() prompts
I already squashed a couple runtimes here and there from the pen changes and it's possible I missed another because pencode is another scourge upon our lives
Shocker circuits had a complexity of 10, zero power draw per use, and general crap that allowed you to stack 9 of them inside a single device. Did they need a straight deleted from the code? Nah. They need some adjustment and I'll figure out how to do that.
They should be at least somewhat better then a stun baton, but they'll be a pain in the ass to keep charged if you're using them. Perhaps I'll figure out how to limit it by only allowing a single of these circuits into a device.
Fixes a myriad of issues with circuits:
Fixes scanners not working with circuit clothing.
Fixes buttons etc. not working with circuit clothing.
Fixes circuit sensors not working, period.
Fixes my accidental deletion of the temperature sensor aspect of the reagent sensor circuit. :'(
Fixes circuit gloves and glasses not triggering properly.
Makes it so that anchored items cannot be picked up. (Risky? Maybe!)