* Refactors airlock wire messages
Makes it more straightforward to see that all the lights are off (i.e.
no power). Also differentiates between showing bolt status when the
indicators are on vs. off, as one is just a simple visual check while
the other would supposedly require a more close-up inspection.
It also makes it much easier to modify the conditions and text however
needed instead of using a bunch of ternaries for everything.
Additionally index_to_type uses the proper constants instead of
hardcoded numbers.
* Lights up the airlock indicator lights
Also does minor refactor of the wires file.
* Adds mechanics to toggle if AIs can bolt doors using AI control wire
* Moves most AI "welcome text" to a separate pop-up window and adds it as a verb
Also adds list of channels to the Radio-Settings verb.
* Moves Initialize, Destroy to beginning, merges the two Initializes
* Adds explicit override for admins and malfs, this allows them to (un)bolt stealthily should they choose to do so
Also adds name and area of the airlock to the UI and refactors it some.
* More better.
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."
Hacking no longer requires you to hold the tool (wirecutters, multitool, signaler) in your active hand, just that the tool is in one of your hands. This applies to cyborgs as well.
Fixes mech mounted autolathes.
Adds a hand-mounted toolset that has: a wrench, a crowbar, and a screwdriver setting.
Replaces the AI mech's drill with a hand-mounted toolset.
I need icon and on-mech sprites for the back-mounted autolathe and the hand-mounted toolset. Neither have to have any special animations or anything, static images are fine. Toolset sprite doesn't have to change with tool change.
So while I was doing completely different things, I remembered discussing, with Geeves, that our preferences toggles only save 16 bit flags. Despite BYOND now supporting 24 of them. Lo and behold, sanitization is at fault. So I fixed it.
Added a define BITFIELDMAX to indicate the max length of a BYOND bitfield. Replaced all relevant uses of 65535 with it. (Need to do a sweep for 0xffff as well, actually.)
Tweaked a hell of a lot of silicon code to make synthetics better.
Synths with scrambled codes that prevent them from being on robotics computers will now appear on Merc camera networks.
Both variants of the engineering borg can now deploy the malf borging machine.
Medical borgs no longer get polyacid sprays, instead getting Wulumunusha CMO Hyposprays, which cause muteness.
You must now be on help intent to use items like crowbars and screwdrivers on borgs. Otherwise you hit them with it.
This PR will lead us towards the Promised Day, for in its wake there shall be much celebration and ecstasy as this world becomes a world suitable for developer hegemony. The first strike is thusly;
All << is converted into to_chat().
* Base work for the unathi robot subspecies.
* Adds metabolism species, kidney vars, and the robot unathi organs.
* Moves some action buttons to organs, pretty much a bay port right now. Todo: the unathi and alien stuff should also go here.
* First autakh implant power.
* Fixes the organs action button this time.
* Finishes more implants, and interactions with flashs and vaurca.
* Prepare for great changes.
* Drops the real bomb, boss.
* He who fights with monsters.
* Far more work into augments and limb removing powers.
* Limb verbs should be good now.
* A LOT of work into the assited organ, allowing it to bleed and etc, as well adding a new chem that will stop bleeding in their case.
* Probably the last work on implants.
* Some extra touches.
* Some tweaks to the species.
* More fixes and adds kyre's sprites.
* More runtime fixes.
* Fixes the species name too.
* Fixes travis.
* Updates this file too to work with the new tools procs.
* Adds changelog
* Fixed changelog.
* Unathi hair and lore description.
* Some tweaks to this too.
* Locks away them for now, they will be released after we got all the events and etc done.
* Changes this chemical.
* Fixes an airlock runtime.
* Adds the non scan flag to the autakh, mostly due to some bizzare interactions with changelings and cloning.
* Organs removal changes; can't take out the organ if it is too damage.
* Restricts them back again.
* Robotic organs now have the proper icons and names.
* Adds sprites for their organs and some extra tweaks.
* Fixes this missing icon.
* emp should also now hurt assited organs.
* Tweaks more organ related things.
* Fixes the head not being properly set as well.
* Fixes their flags.
* fixes the flag for real this time.
* Poze's review.
* Changes the au'takh organ buttons to don't be animated.
* Helps with adminbus or something.
* Fowl's requested changes.
* Fixes a typo.
* Robotic limb's brute and burn mods are now controlled by the limb model.
* Fowl's changes once more.
* Stops some spam.
* More grammar.
* No eal.
* Skull's review.
Overview
This is the github WIP PR for the reagent system project. This is for other developers and users to track progress of the code if they're curious about it, as well as to show that it actually works.
changes:
/datum/wires no longer has an (init) proc.
SMES wires now use timers instead of spawn.
Cleanables' random_icon_states list is now lazy. (eliminates ~4000 lists from dirt)
/obj/effect can no longer be pushed around by conveyor belts.
Lighting overlays are now explicitly prevented from being moved by conveyor belts.
Merges the NanoUI subsystem with Nanomanager, as well as cleans up some nanomanager code.
Most of the files in this commit are changed as a result of removing the nanomanager global in favor of the SSnanoui global.
Ensures station bound synthetics will not be able to utilize Syndicate/Heist equipment/vessels, as well as the opposite for potential syndicate synths.
- Ports TSA Newmalf code.
- Complete overhaul of Malfunction. New modular abilities, 12 of which are in game by default.
- Adds AI hardware. AI may have only one piece and it gives unique boost in certain area (turrets strength, secondary power supply, etc.)
- Adds hardware drivers - these abilities control AI's hardware such as the APU power supply or self destruct explosives.
- Station overtake was changed to "hack all APCs" ability instead. When completed self-destruct is unlocked. Timer for station self destruct increased to 2 minutes. AI may activate/deactivate the self destruct at will.
Please bear in mind this is only INITIAL COMMIT. More commits are to follow. Minimal player count is now set to 1 but will be 2 when finished.
Fixes runtime when a borg is reset.
Fixes issue where /proc/select_active_ai_with_fewest_borgs() would not always return the intended AI.
Fixes issues with new borgs spamming the master AI with creation messages under some circumstances.
Related:
Cleans up airlock Topic()
Power and electricity is now also handled by process instead of sleeps().
Wires, remote door controls, etc. now use airlock procs instead of manhandling variables directly.