* Fix skin tone sorting and refactor color procs (#63554)
* Remove superfluous hash from hex2rgb call
Add stack_trace to hex2rgb to catch future nonsense
* Fix skin tone sorting and refactor color procs
Co-authored-by: AndrewL97 <andrewjlove97@gmail.com>
* Minor improvements and fixes to the access report paper from the Plexagon computer program (#63262)
* Minor improvements and fixes to the access report paper from the Plexagon computer program
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Bot code improvement part 3 - Removes bot core. (#63321)
This deletes bot_core entirely, instead the access required is on the bot itself
My previous refactor broke bot access cover requirements, and that bug is what inspired me to make this refactor.
This is a stupid thing to have on the bot, I have no idea why it is a thing, and has only ever confused me since the very start. I find this functions better, and makes the code more easy to understand.
Closes#63259
* Bot code improvement part 3 - Removes bot core.
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Paintings improvements. (#63170)
About The Pull Request
Paintings can now do stroke painting.
Added painting management panel for admins.
Paintings now display author's character name, year of painting, medium and patron when hung on wall.
You can become new patron by paying more than the previous one.
Added painter's palettes to library vendor. (Sprites by @ Mickyan )
Backend changes:
Images are now stored in /data/paintings/images/*.png instead of /data/paintings/[category]/*.png
Old categories are now just tags
Screens & Video
Changelog
cl
add: You can now become patron of your favorite painting by buying sponsorship from Nanotrasen Trust Foundation.
add: Painter's palettes are now available at library vendor.
qol: Can use strokes in paintings now
/cl
* Paintings improvements.
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
* Adds Skill Tracker app for tablets (#63013)
Adds a skill tracker app for tablets.
I allowed all tablets to install it, but it is currently not pre-installed by default.
It is only available to tablets, with the conceptual compromise that it requires no extra hardware components, but uses sensors through your hands or something.
* Adds Skill Tracker app for tablets
Co-authored-by: Tastyfish <crazychris32@gmail.com>
* Fixed spelling of possession, separate, and cemetery (#63203)
Just fixes some spelling for gangs. I also fixed misspellings for "posession" to "possession". Fixed "seperate " to "Separate" Fixed "Cemetary" to "Cemetery"
* Fixed spelling of possession, Separate, and Cemetery
Co-authored-by: Doctor Pope <84367152+Dr-Pope@users.noreply.github.com>
* Upgrades the Fission360 app to be more on par to the old pinpointer (#63045)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Upgrades the Fission360 app to be more on par to the old pinpointer
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ 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>
* Fixes#62719, exploit that let players order crates marked as special. (#62723)
* Update orderconsole.dm
* Update orderconsole.dm
* Update budgetordering.dm
* Fixes#62719, exploit that let players order crates marked as special.
Co-authored-by: CocaColaTastesGood <47264839+CocaColaTastesGood@users.noreply.github.com>
* AtmoZphere also display the temperature in K (#62533)
* AtmoZphere (tablet program) will show the tile's temperature as both °C and K now.
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@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>
* runtime fix for borgs cryoing with upgrade modules + no more mmi laying around after they cryo, and various other runtime fixes
* Fixing conflicts
Co-authored-by: Seris02 <49109742+Seris02@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>
* Adds SHOULD_NOT_SLEEP to Destroy. Why didn't we do this before. (#61943)
* Adds SHOULD_NOT_SLEEP to Destroy. Why didn't we do this before.
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Allows emagged and syndicate borgs to self-detonate (#61915)
Once upon a time, when borgs could access machines from any distance once the window was open, borgs could self-detonate as a combat strategy. At some point, machine access for borgs was confined to being nearby the device, which removed self-detonation (except when near the console) as a side effect. This PR re-adds the ability for emagged and syndicate borgs by placing a confirm-type button into their RoboTact app (Actions section, under the Status tab).
Stunned or locked borgs cannot self-destruct.
Additionally, logging for borg detonations has been moved out of the robot console and into the borg self_destruct() proc, to avoid duplicate code, and emagged borgs now have their tablet theme and icon changed to syndicate versions.
* Allows emagged and syndicate borgs to self-detonate
Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>
* Add local APC cache to /area (#61655)
About The Pull Request
for(var/obj/machinery/power/apc/APC in GLOB.apcs_list) in get_apc makes chuck norris shed a tear
Why It's Good For The Game
tears are bad
Changelog
cl
code: /area now retains a local reference to the APC in the area, if any
/cl
* Add local APC cache to /area
Co-authored-by: esainane <esainane+github@gmail.com>
* Available/availability grammar fixes (#61753)
This PR fixes a few misspellings of the words "availability" and "available" that I could find in the codebase. The only player visibile fix is for the Plexagon HR Core app, where "availability" was misspelled.
This PR is a spiritual successor to #53046
* Available/availability grammar fixes
Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
* Fixing the chat client (#60920)
Corrects the chat restriction on using ASII characters only. (This PR was created for Skyrat-TG, but the collaborator of that repository asked me to adapt this PR for tgstation.)
This will fix#54598
In the original code, the chat client uses only ASII standard characters, which is very limited in its capabilities. For example, does not allow you to use specialized characters, which would have taken the atmosphere of the old messengers, as well as regional characters. The lack of regional characters complicates the game for non-English-speaking servers. For example, the Russian-speaking player community Space Station 13 The Fluffy Frontier uses the original Skyrat-tg build. And the players of this community almost do not use the chat client to communicate due to the fact that they can not use Cyrillic characters.
* Fixing the chat client
Co-authored-by: twilightwanderer <88540658+twilightwanderer@users.noreply.github.com>
* change job slot logging to use job_debug (#61688)
admin topics for updating available jobs weren't logged at all and that was kinda dumb
john willard logged the console to game which i disagree with so i want to move that also
* change job slot logging to use job_debug
Co-authored-by: windarkata <27014495+remove32@users.noreply.github.com>
* Changes paper bins to be easier to use (#61429)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Watermelon914 <37270891+Watermelon914@ users.noreply.github.com>
* Changes paper bins to be easier to use
Co-authored-by: Superlagg <sprambersonson@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Watermelon914 <37270891+Watermelon914@ users.noreply.github.com>
* [TM Candidate] Overhauls orbit and POI code to fix part of issue #61508 where players could observe /mob/living/new_player on the lobby.
* E
* Missed merge
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* tgui Preferences Menu + total rewrite of the preferences backend
* nah, we dont need to ping those people
* trying to remove the funny stuff
* unmodularizing this
* prefs reset
* this may need to be reverted, who knows
* okay, this part
* perhaps
* EEEEEEEEE
* unsanitary
* E
* Stage 1 + loadout system
* more fixes
* E
* I mean, it launches?
* More fixes and reorganisation
* E
* customisation code is spaget.
* disable ERP prefs
* Update erp_preferences.dm
* Update erp_preferences.dm
* E
* Slowly getting there
* It may be time for help :)
* tri...colors... help
* preferences now pass preferences
* Update dna.dm
* Fuck this man
* missing savefile return, set_species works, removed dumb stuff from updateappearance
* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8199
* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8224
* https://github.com/tgstation/tgstation/pull/61519
* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8278
* e
* le butonAZARAK HELLO
* hhh
* Proper recognition where it's due, MrMelbert!
* EEEE
* examine block
* Better gen hit sounds from whitedream
* final loadout touches, more bug fixes im sure to come
* i said there would be bugfixes
* Update LoadoutManager.js
* Missing preferences in the html menu
* LIVE TESTING PHASE BABY
* Update LoadoutManager.js
* EEE
* LAUNCH TEST FIRE
* Update job.dm
* Update new_player.dm
* 50gb DAY ONE PATCH
* EEE
* Update preferences.dm
* buggle fixes
* Update examine.dm
* >LOOC starts on
Co-authored-by: Mothblocks <35135081+Mothblocks@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: Azarak <azarak10@gmail.com>
* Eng/Atmos/CE tablet come with Canary (Alarm monitor) preinstalled (#61322)
Tablets are often found thrown around a corner of the foyer, and I'm tired of bullying people to use it at this point. It's IMO the most powerful tool engineering has to keep the station in good condition but only a few players ever download anything in a round.
So let's make their lives easier, engineering tablets come preinstalled with Canary and the Atmos with the Gas Scanner too. (Even if I never saw anyone use that, just because the tablet comes preinstalled with the sensor that enables it.)
Canary is a powerful tool to assist on station maintenance that is not well known to the player, maybe this will get people curious enough to open it and start to enjoy having all alarms green as much as I do.
Nothing hurts more than a small breach at science that goes unfixed for half an hour and slowly creep in turning the station into Firelock hell... and nothing is funnier than screaming "Atmos alarm at the HoS Office!" the second it pops up only for the AI to lock the shutters down and tell sec that a random lizard broke the window and is trying to Esword the HoS locker.
* Eng/Atmos/CE tablet come with Canary (Alarm monitor) preinstalled
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
* small refactor to can_interact() so that borg range is fully respected (#60693)
Its a relatively small refactor that changes the previous machinery "can_interact()" proc that literally did a full override despite half of their checks already existing in not one, but TWO parent procs, so i removed the redundant checks, added callbacks to its parents and then added the cyborg range check on the can_interact_with() itself. in doing so i also moved the interaction range var from silicons only, to mobs as a whole and defaulted it to a single tile, silicons override it to 7 (so pAIs and borgs like before) but then set AI and AI.eye to "null", because i have a check in can_interact that if there is no range set, then the range is effectively unlimited. and i even added code for when AI is carded and their wireless transmission is disabled it sets their range to "0" aka, it has no range to do anything even if it could
this was really complicated for me so despite my extensive testing it probably would be a bad thing if any of you want to test my code yourself to ensure there isnt a bug with this (theres no runtimes ive come across)
note: i did a lot of searching and going through machinery to ensure i caught all the little snowflake overrides and added can_interact() checks to them, but i may have missed one or two things, especially maybe a altclick or ctrlclick somewhere, however i believe i caught most of them
one nice side effect of this refactor is that you can actually set another mobs range to something other than 1 tile and they can interact at range, rather than only silicons getting this ability, an admin could VV a human to have a 3 tile arm reach as a meme if they want
* small refactor to can_interact() so that borg range is fully respected
Co-authored-by: 小月猫 <alina.r.starkova@gmail.com>
* Del The World: Unit testing for hard deletes (#59612)
Co-authored-by: SteelSlayer <42044220+SteelSlayer@ users.noreply.github.com>
* Del The World: Unit testing for hard deletes
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: SteelSlayer <42044220+SteelSlayer@ users.noreply.github.com>