* Add Etheral lungs to the limbgrower (#62469)
Saturday morning, calm shift.
I spend most of my time staring at CANARY waiting for an atmos alarm to pop up while I sit at the foyer hearing what random craziness Poly is spewing and wondering about the previous and more interesting shifts.
When suddenly, an atmos alarm pops up at the Incinerator.
"Fucks sake, I bet the other atmos are torching the place again..."
I rush there expecting to fix a fire, but instead I find the start of something great...
The madman kidnapped an Ethereal to use as an organic Hydrogen farm, nothing I haven't seen before but... my hands start shaking, a spark of brilliance and potential in my eyes as I mumbled the words:
"I always hear that organic things are healthier... so what if we throw the Electrolyzer away and instead, print Etheral lungs in the limbgrower and implant them on monkeys..."
To our sadness, Ethereal lungs weren't added to the Ethereal disk design, this fixes that!
* Add Ethereal lungs to the limbgrower
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
* cyborgs doing research is now logged IC (#62898)
AI's doing research is logged to the RD, but Cyborgs doing it just shows up as 'Unknown', which makes no sense because some AI can order a Cyborg to do research on their behalf so the RD doesn't know who did it.
It also makes the RD's job easier to find out what rogue cyborg is doing research when told not to.
* Cyborgs doing research is now logged IC
Co-authored-by: John Willard <53777086+JohnFulpWillard@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>
* Cyborg non direct "combat" rebalance. Airlock seal buffed, borg RCD nerfed. (#62621)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Cyborg non direct "combat" rebalance. Airlock seal buffed, borg RCD nerfed.
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ 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>
* Shapeshift code improvement (+vent gib fix) (#62444)
* fuck
* Update shapeshift.dm
* fuck it, just check if the old body is in the vents before swapping.
* Shapeshift code improvement (+vent gib fix)
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* 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>
* Patches out the latest BRPED remote bombing exploit. (#62447)
Reagent containers in BRPEDs can no longer have reagents inserted into them.
Does this by adding a signal for pre-reagent adding that accepts a cancel flag, which will stop the reagents being added.
Transferring reagents to things now actually checks the return value of add_reagent to stop people pouring chems that weren't added into the ether.
* Patches out the latest BRPED remote bombing exploit.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* removes double spaces before symbols (#62397)
This can apparently cause some bugs on occasions, so I thought I might as well try to kill them all.
* removes double spaces before symbols
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.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>
* Initial commit, first PR added, small sprite tweaks done myself
* hardsuit tail sprite and more modifications
* Language and stuff, most of second PR
* idk what I did here because I slept between commits but probably a lot
* Adds many many matrix coloured earsprites fuck me this was a lot of work
* Species page, body markings and final cosmetic changes
* Small tail tweak
* Small clothing sprite tweak
* Linter: trailing newline
* schechi icon made, code clothing moved to modular/master file
* Some suggestions implemented
* Comments etc
* snake_case
* Changes var names, rejects body size modification
* again but properly this time
* Moves clothing pixel stuff into defines
* Quirks can be restricted for some species now
* And now it actually works
* Move to modular file
* removes species quirk stuff
* Fixed Schechi
* Fixes 0 damage punch, made a husk sprite
* improves clothing sprites, fixes offsets of 'certain' bodyparts... :/
* Nevermind, it just doesn't work, no dicks for you
Co-authored-by: Ranged <nickvanderkroon@gmail.com>
* Binary and Decimal Conversion Components. (#61889)
Added a couple components that convert a number into an array of binary digits and viceversa.
May help players mak more complex and advanced components without filtering those lacking knowledge in the binary field.
* Binary and Decimal Conversion Components.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Updates the Goon Source code objective item to be on par with all other high risk items. (#62142)
Currently, all it takes to ruin an antagonist's round (assuming they have this objective) is to walk into the server room, and break the master server, as this will delete the drive inside. It is extremely weak, a fire axe will break it in less than 15 seconds.
Not only that, but the drive itself is also not resistant, making it relatively easy to lose it and have it destroyed in various station emergencies.
Compared to every other high risk item, this doesn't make much sense, as they are all supposed to be virtually impossible to get rid off.
This does not effect the ninja's objective of destroying the drive.
This ups the integrity of the master server, making it take ~15s longer to break it with a wielded fire axe, than it does to just deconstruct it. It also adds resistances to the drive itself, which brings it up to the same level as every other high risk item.
Closes#62128
* Updates the Goon Source code objective item to be on par with all other high risk items.
Co-authored-by: Seth Scherer <supernovaa41@protonmail.com>
* fixes pink crossbreeding allowing faction removal (#62090)
by the faction using real_name instead of a ref like all other factions that point to specific mobs do, the pink crossbreeding potion could be used to strip factions from mobs by setting your real name to the name of the faction and stripping it
* fixes pink crossbreeding allowing faction removal
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* Drowsiness refactor (#62104)
Creates two procs in /mob/status_procs for handling drowsiness changes (with check for negative values), and refactors all code to use these procs instead of assigning values to the mob's drowsiness themselves.
* Drowsiness refactor
* Fixing more stuff in our code
Co-authored-by: thatoneplebeian <67017991+thatoneplebeian@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Printer Circuit Component (#62012)
I'm adding a circuit component that can print text string on a paper object in a variety of colors and font typefaces (currently only web-safe ones are available, maybe i'll add some fancy ones in the future but they'd need to be imported either through @ import of @ font-face in a separate CSS not imported by every tgui UI).
It's important to note that because the UI sanitizes new text inputed by users and not what's already written on the paper (so the pen_color and pen_font don't be purged in the process), we can't safely have these strings "printed" into the info variable directly, because of that these values will be stored in two new list variables, one for the text and one for font color, face and the signature. When the paper sheet UI is opened, these will be sanitized and then parsed into the text, so the next time the paper is edited we can clear these two lists.
Obviously better than a hacky byond proc - parsemarkdown() is outdated af -, albeit a bit messy... like the rest of paper code.
Requires #62033.
* Printer Circuit Component
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Fixes filter list component not being a filter list component (#62019)
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
* Fixes filter list component not being a filter list component
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
* re-adds the yellow slimecore as an EMP-proof cell (#62013)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* re-adds the yellow slimecore as an EMP-proof cell
Co-authored-by: Invalid <51190031+InvalidArgument3@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* timepiece circuit module (#62039)
Adds a circuit component that outputs the station time in chosen format and unit of time when triggered. The options are currently 24-hour and 12-hour for the time format, hours, minutes and seconds for the unit of time.
The component is called timepiece because clock was already taken by another component that sends signal outputs at intervals.
* timepiece circuit module
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Rad collectors gone, tesla coils to generate power (#61917)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Rad collectors gone, tesla coils to generate power
* replaces rad collectors
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Kat <evesovereign@hotmail.co.uk>
* Fixed dispenser and new circuit list components not being available (#61960)
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Fixed dispenser and new circuit list components not being available
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Status Displays can be taken down (#61847)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Status Displays can be taken down
Co-authored-by: Mooshimi <85910816+Mooshimi@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Refactors the list datatype to support composite lists. Adapts a lot of circuits to be able to properly use composite lists. Adds the dispenser shell (#61856)
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
Co-authored-by: Colovorat <35225170+Colovorat@ users.noreply.github.com>
* Refactors the list datatype to support composite lists. Adapts a lot of circuits to be able to properly use composite lists. Adds the dispenser shell
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
Co-authored-by: Colovorat <35225170+Colovorat@ users.noreply.github.com>
* Removes dead code in techwebs, alongside some truly evil macros (#61936)
fuck you kevin
* Removes dead code in techwebs, alongside some truly evil macros
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Corrects mapload args that sprug up in the past few days (#61759)
See #61623 . These were either merged after the prior PR, coded before the prior PR, or were made in between and not updated.
* Corrects mapload args that sprug up in the past few days
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Replaces downloading research notes with a new antag objective and station sabotage point. (#61685)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Replaces downloading research notes with a new antag objective and station sabotage point.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>