* BCI component expansion (#65616)
This PR adds 2 new BCI components: VOX component which allows to play vox announcements(for the user only!) and Thought Listener component which allows user to input a string upon activation.
I've also added a rotation port for the object overlay component so you can make pinpointers using it.
This PR requires #65604
* BCI component expansion
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
* Adds view sensor (#65624)
Adds view sensor component to circuits which allows to get all visible(no ghost detectors, sorry) movable atoms in a 5 tile range. It only works when your circuit's shell is placed on the ground or is held in hands.
* Adds view sensor
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
* Adds format (associative) list wiremod component (#65404)
Adds a wiremod component called "Format List" and one called "Format Associative List" that you get at round-start.
It accepts a format string and a list of parameters.
For "Format List":
The format string contains normal text, and codes of the form %n (eg. %1, %2, %3) that correlate to indexes in the param list.
For "Format Associative List":
The format string contains normal text, and codes of the form %key (eg. %name, %health) that correlate to keys in the associative param list.
The param list can contain any types, which will be automatically converted to strings.
Conversion of entities to strings still follows the range rule of To String. Important to keep in mind if you're formatting an NTNet transmission.
For the associative version, the keys must be strings comprised of letters, numbers, or underscore.
Simplest example that says "Bob McToolbox pressed the button.":
* Adds format (associative) list wiremod component
Co-authored-by: Tastyfish <crazychris32@gmail.com>
* Hand labeler paper roll and toner cartridge can be printed at autolathe and protolathes now (#65300)
About The Pull Request
You can print hand labeler paper roll to refill hand labeler now.
Edit: You can now also print toner cartridge as well to refill decal painter and airlock painter.
Previously you could print hand labeler, decal painter and airlock painter at autolathe and protolathes, but you couldn't print their refill at all. WHYYYYY, do you know how much it hurts the environment having to print another hand labeler once you ran out of paper roll.
Why It's Good For The Game
I mean, you can print hand labeler, decal painter and airlock painter already. I don't see why not being able to print their refill is a thing.
Changelog
cl
qol: hand labeler paper roll and toner cartridge can be printed at autolathe and protolathes now
/cl
* Hand labeler paper roll and toner cartridge can be printed at autolathe and protolathes now
Co-authored-by: Tortoise <64306407+OneAsianTortoise@users.noreply.github.com>
* fixes mod plating being called armor in some places (#65314)
* saucy jack
* wario
* fixes mod plating being called armor in some places
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Pepper spray module for sec modsuits, Atmos resin module and nukie pyro bundle flamethrower made into module (#64934)
Pyro bundle was broken as when you brought it you would get modsuit and pyro backpack forcing you to either use armor or use backpack without fire protection(which modsuit has). Thanks to Fikou work it became a module
Anti-Tider on the other hand is rarely used(i have never seen it used when i was playing sec or observing) and needed a little buff so now it will also became a module while i will make normal Anti-Tider stream wider(still working on it).
* Pepper spray module for sec modsuits, Atmos resin module and nukie pyro bundle flamethrower made into module
Co-authored-by: Cursed <47064429+Amrabol@users.noreply.github.com>
* Adds a trigger version of the variable setter component (#64820)
See title. Lets you use input and output signals to set variables instead of automatically setting them.
Gives more control, additionally there may be cases where you don't want this, and the normal component still exists.
They're two separate components so that the first one can be a lot more compact
* Adds a trigger version of the variable setter circuit component
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
* Actually fixes illegal tech. (#64696)
I had been pinged on the chat a few days ago about the Illegal tech node being still unobtainable, so I checked the code again and found out, to my surprise, that the SStraitors doesn't actually initialize and the list is actually populated on /datum/assets/json/uplink during the initialization of SSassets.
Thankfully enough, it doesn't seem assets registration is asynced, so simply changing the accessed object from SStraitors to SSassets in a few lines should be enough.
* Actually fixes illegal tech.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Adds basic list manipulation and fixes some performance issues with lists in integrated circuits (#64541)
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
* Adds basic list manipulation and fixes some performance issues with lists in integrated circuits
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
* Refactors pay stands + custom vendors (#63889)
I am disgruntled by the way pay stations work. They're not intuitive, they're a pain to build and have no interface. Basically: They don't get made, and the potential is lost.
Pay stands => Holopay
Summoned by right clicking your ID
Disappears if the card is out of range.
New TGUI window that offers more customization
Other bundled fixes:
Custom vendors become more user friendly
Code improvement
Lots of documentation + refactoring
New bundled number input will likely take place of animated number in tgui input number
Why It's Good For The Game
More RP opportunity for players, plus bug fixes. It's now much easier for players to start their own in game business selling substances clown shoes.
Changelog
cl
code: Created a new input component that accepts only integers. More usage to come.
refactor: Pay stands are now holographic. It's 2562! Create one by right-clicking your ID.
del: Circuit boards for pay stands.
refactor: Pay stands now have their own TGUI.
fix: Custom vendors now alert you when someone makes a purchase.
fix: Custom vendors now place items in your hand when you make a purchase.
/cl
* Refactors pay stands + custom vendors
* I edited these maps in a text editor
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Fixes the Illegal tech node being unobtainable (#64520)
* Fixes the illegal technology node not being researchable.
* litter
* Update all_nodes.dm
* Fixes the Illegal tech node being unobtainable
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* It begins.
* I should've made more commits
* Adding a new animation!
* This was a good day
* Adding the last missing items
Aka, the hydraulic clamps and the rapid mail delivery device
* It works and I couldn't be happier
At long last...
* I lied, but now it works
* Final little tweak to an icon
* Removes some unused icon_states
* Okay now everything's actually fixed and finished, minus balance changes.
* Whoops
* Fixed the shapeshifter borg and uses the RIGHT WIDEBORG SPRITES HOW DID I MISS THAT???
* Reverting the non-modular clipboard change because I actually did it upstream
* Revert "Reverting the non-modular clipboard change because I actually did it upstream"
This reverts commit bb475498d6a67410792a57e1d91ef5d2d25067dd.
* The clamps can place things on tables + adding chameleon stamp to emag modules
* Conveyors too, actually!
* I'm dumb
* Fixes to wideborgs
* Fixing the animations (thanks TG)
* No free secborgs :)
* Fixes animations and open cover sprites!
* Updates to the zoomba and MissM sprites and bounty cubes are now small, so they fit in both clamps (not even wrapped!)
* Yes I can code
* Fixes the zoomba sprites and transparency for hardlight paper planes!
* More fixes to the Zoomba icon, and to the hardlight paper planes (now it's actually transparent)
* Adds the flash because I forgor
* MODsuit Action Circuit Component (+ MODsuit circuit module fixes) (#63755)
This makes several small changes to the MODsuit circuit module:
Adds the MODsuit Action component. When selected, the circuit module opens a radial menu with which to select an action component to trigger.
Due to its similarity to the BCI Action component, both it and the BCI Action component have been made subtypes of an abstract equipment_action component that implements their shared functionality.
Renames the MOD component to the MOD circuit adapter core component.
Changes the "selected module" port on the MOD circuit adapter core to a string port, for consistency with the corresponding input port.
The circuit in the circuit module can be removed. Consequentually, the circuit module no longer comes with a pre-installed circuit.
The "Toggle Suit" signal port on the MOD circuit adapter core can now activate the modsuit.
Makes the circuit module printable in the component printer, for consistency.
Moves the circuit module's code to modules/wiremod, for consistency.
BCI action component properly typechecks the shell it's inserted in.
Co-authored-by: Watermelon914 <37270891+Watermelon914@ users.noreply.github.com>
* MODsuit Action Circuit Component (+ MODsuit circuit module fixes)
Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
* Sign Language translation glove changes (Plasmamen & MODsuits) (#64090)
Swaps the check for the gloves for people with the tongue-tied trait into a check for a clothing-based trait.
Makes a variant of the radio gloves for plasmamen, so they can be forced to use their hands too.
Makes a MODsuit mod that lets you sign over comms when your modsuit is activated.
* Sign Language translation glove changes (Plasmamen & MODsuits)
Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>
* MOD update: Modular Cores
* Fixing all dem conflicts
* Okay now it's going to compile too
* Fixing some Trigger() (they triggered me)
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* The Detective can now print .38 Rubber at the Security Protolathe. (#63855)
* Update weapon_designs.dm
* Update all_nodes.dm
* Update all_nodes.dm
* Update all_nodes.dm
* The Detective can now print .38 Rubber at the Security Protolathe.
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
* Circuit ID Components (#63817)
This PR adds several circuit components used for scanning and checking ID cards:
The Get ID component returns the ID the target is wearing or holding
The Read ID Info component returns the name, rank, and age registered on the ID
The Read ID Access component returns a list of all the accesses on the ID
The Access Checker component does comparisons on lists of numbers, specifically tailored for checking ID access
Due to the access checker using a similar UI element to the airlock electronics, that element has been moved to its own file in tgui/interfaces/common. This change is not player-facing.
* Circuit ID Components
Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
* [Ready] MODsuits
* we dont need to add these people as codeowners, goodness gracious
* have to remove this because upstream
* part 1 of these fixes
* EEEE
* Update peacekeeper_clothing.dm
* E
* E
* Auto stash before merge of "upstream-merge-59109" and "origin/upstream-merge-59109"
* E
* Update expeditionary_trooper.dm
* more removal
* nice
* modsuti modstui modusuti
* fixes
* E
* ITS MODsuit not HARDSUIT
* more hardsuit references
* MODSUIT NOT HARSUITEDSA
* Maps
* More ,map
* oop
* e
* oo aa
* 0
* ting tang
* Update modsuit_tailsprites.dm
* hi fikou
* bs tech update
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Upgrade module
* mechfab design
* techweb
* the guts of the pr
* give the module a construction time
* add a charge safety
* Update robot.dm
* rid the commented dmi
* begone single letter vars
out of this house
* begone comment
* no more INDUCER
* more single letter vars have been escorted to the graveyard
* W stands for Weapon
* how many fucking single letter vars can exist in one file
* man i should really compile this stuff
* replaces camels with snakes. terrible for camel sales.
* the FBI came and took the illegal camels in my basement
* Update modular_skyrat/modules/borg_buffs/code/robot.dm
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* annihilate the tool checks.
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* suggested variable rename
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* More variaable rename
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* falsify
* adds a proper health and safety check to the code
* oops
* makes the upgrade cheaper. ore silo rejoice
* Revert "makes the upgrade cheaper. ore silo rejoice"
This reverts commit d86de129995074073d67c22084f355f6ddebeceb.
Co-authored-by: Gandalf <jzo123@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Wiremod assoc_literal circuit component was missing from the lathe (#62818)
Was looking for a way to make a cache list when I noticed the assoc_literal component wasn't in the lathe
I rather cache a list of stuff than continuously run foreach/searchs on data from the ntnet or otherwise.
* Wiremod assoc_literal circuit component was missing from the lathe
Co-authored-by: WarlockD <warlockd@gmail.com>
* ports over work from before
* makes the roller bed dissappear after a set while
stockpiling is bad
* adds icons and makes it so there is only one bed spawned per turf.
* adds item to techweb
* Update modular_skyrat/modules/modular_weapons/code/modules/projectiles/guns/energy/cell_based/medgun/medcells.dm
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* applies suggestions from code review
* Update medcells.dm
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Reagents scanner circuit component (#62704)
It allows people to make circuits objects that interface with reagents.
* Reagents scanner circuit component
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Adds the assembly shell (#62307)
Adds the assembly shell, which can be attached to wires and other assemblies like proximity sensors, timers, etc. Because assemblies already have screwdriver interaction that gets overriden by the shell component, the regular assembly screwdriver interaction can also be performed with right-click. This can be seen on examine.
While currently, circuits can interact with wires and such using remote signalers and the radio component, this has its limits, such as the possibility that someone else uses the same frequency/code combo. With the assembly shell, you can put all your circuit logic into the attached assembly.
* Adds the assembly shell
Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
* Modernizing Radiation -- TL;DR: Radiation is now a status effect healed by tox healing, and contamination is removed
* Fixing conflicts
* Makes it compile, yeet all the RAD armor from everywhere (thanks RegEx!)
* Removing more lingering rad armor (woo)
* Damnit powerarmors
* Bye bye rad collectors!
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Integrated the component printer into the integrated circuit UI. You can now link integrated circuits to component printers (#62287)
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
* Integrated the component printer into the integrated circuit UI. You can now link integrated circuits to component printers
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>