* Defer admin profiling access until the admin logs in - Saves 69ms (#71680)
Just some unnecessary costs. We create `/datum/admins` for every admin
in the txt and database. It might sound silly, but it ends up being
useful for things like the permissions panel. Anyway, admins are usually
given profiling access, but the SetConfig call is extremely slow. So
slow that we have it config'd off on Campbell, AFAIK. This defers that
cost to when an admin joins.
This could in theory cause issues with latejoining admins getting debug perms, but it appears to work in testing. noting for far future
* Defer admin profiling access until the admin logs in - Saves 69ms
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* 3/4ths-ify some wall mount sprites (by Kryson and Viro) (#71788)
posters are now 24px tall, new sprites for nanomeds, emergency safes, and ticket machines
(by Kryson)
* 3/4ths-ify some wall mount sprites (by Kryson and Viro)
* DON'T INCLUDE FUCKING OVERRIDES IF THEY DON'T DO ANYTHING HHHNGH MY CI IS FAILING CODERS
* FUCK
Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Jolly-66 <70232195+Jolly-66@users.noreply.github.com>
* Fixes fake links in Adminwho that led to "no_feedback_link" (#71804)
## About The Pull Request
Basically, sometimes, very rarely, it was possible for this to happen,
when it shouldn't be happening. I was wondering for a little while what
it was about, and then I finally downloaded my chat logs for a round and
realized what was going on. It should no longer happen.
## Why It's Good For The Game
Clickable links that lead nowhere (and thus don't do anything) aren't
very good for the game.
## Changelog
🆑 GoldenAlpharex
fix: There shouldn't be clickable names in Adminwho that don't do
anything anymore.
/🆑
* Fixes fake links in Adminwho that led to "no_feedback_link"
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Atmospheric machineries now interact with each other directly, rather than going through a radio layer -- saves about 0.4s of init time
* updatescript maps
* Merge conflicts
* Tarkon atmos
* tick file
* that file was supposed to be removed
* tarkon cringe
* tarkon tweaks after testing
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Patches Admin_Teleport Location Logging Error (#71770)
## About The Pull Request
Hey there,

This admin didn't actually send that player to the secret nullspace
room, they sent them to somewhere stationside. This is because the
logging in admin_teleport only reads the location of the current
mob/atom's location, not the actual location of where they are going to.
Silly error, but I've fixed it now.
## Why It's Good For The Game

Logs being _correct_ is quite important, I feel.
## Changelog
🆑
admin: Whenever you teleport an atom/mob using the Get function found in
many admin utilities, rest assured that it will actually log the
destination location of where you are teleporting that thing to- rather
than the location they were pre-teleportation.
/🆑
* Patches Admin_Teleport Location Logging Error
Co-authored-by: san7890 <the@san7890.com>
* Change "End Round Normally" -> "Undelay Round End" (#71681)
## About The Pull Request
This is right under a button that says "End Round Now" so I was scared
as piss to click on it in a live server to undelay round end
## Changelog
🆑
admin: Renamed "End Round Normally" in Check Antagonists to "Undelay
Round End"
/🆑
* Change "End Round Normally" -> "Undelay Round End"
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* Fixes a transofrm animation todo (#71496)
makes it pass appearance
Co-authored-by: TiviPlus <572233640+TiviPlus@ users.noreply.com>
* Fixes a transofrm animation todo
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: TiviPlus <572233640+TiviPlus@ users.noreply.com>
* Fixup list helpers, remove listoflist footgun from generic list procs, remove duplicated procs. (#71280)
Add helper defines for handling list values in lists to remove the
footgun where `+=` and `-=` with lists as the Right hand side argument
causes the list contents to be added or removed, not the list itself.
Use said helpers to remove the footgun from list helpers that could
reasonably be expected to get called on list of lists.
Remove duplicated clear nulls from list proc. this pr will fail to
compile until i go move those over to the preexisting one, but the
compile errors will tell me where all the consumers are.
This likely fixes some bug(s) in the issue tracker, but we don't know
what they are.
* Fixup list helpers, remove listoflist footgun from generic list procs, remove duplicated procs.
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
* Improves Readability/Documentation of SSTicker.force_ending (#71329)
## About The Pull Request
Hey there,
force_ending was a boolean (with inconsistent usage, flip-flopping
between using TRUE/FALSE and 1/0 variables), so let's just change it all
over to the macros and call it a good day.
I also updated documentation of the variables in that "code block" in
SSTicker while in the area because changing just one line made it look
ugly. Some of the documentation was no longer current to it's... current
use in code, so I updated those as well.
## Why It's Good For The Game
Pure code improvement, DMdocs are swell, and readability is kino.
## Changelog
Nothing here should affect players.
* Improves Readability/Documentation of SSTicker.force_ending
Co-authored-by: san7890 <the@san7890.com>
* Particle editor (#71110)
## About The Pull Request
Demo: https://streamable.com/wnj3mf
Features:
- Full support for most gradients/vectors/numbers/generators/transforms
( I might have forgotten some of the more esoteric ones)
- A "tutorial" section that explains the different rand/generation types
and how physics works with pictures
- Button for viewing what each var does
- Selecting a particle type to set immediately
- The generator types use defines now
Not included:
Color matrix support for color generators (I'm sorry but hell no)
Special thanks to @ jlsnow301 for explaining js things to me
## Why It's Good For The Game
Making cool stuf
## Changelog
🆑
refactor: Added a particle editor to VV dropdown which can be used by
coders and admins to edit particle values on the fly easily.
/🆑
Co-authored-by: TiviPlus <572233640+TiviPlus@ users.noreply.com>
* Particle editor
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: TiviPlus <572233640+TiviPlus@ users.noreply.com>
* Adding the ability to load the configuration of custom maps. (#71277)
## About The Pull Request
By default, all custom maps are assigned one standard configuration.
This option rather limits the possibilities for creating custom levels.
For example, you can not use multilevel maps, because with this
configuration will always be loaded only one level. With this PR I want
to provide the ability to load a configuration file for a custom map
similar to the standard map.json configs.

## Why It's Good For The Game
Allows administrators to flexibly configure custom maps. For example for
events, etc.
## Changelog
🆑
admin: Adding the ability to load the configuration of custom maps
/🆑
Co-authored-by: twilightwanderer <twilightwanderer@ users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
* Adding the ability to load the configuration of custom maps.
Co-authored-by: twilightwanderer <88540658+twilightwanderer@users.noreply.github.com>
Co-authored-by: twilightwanderer <twilightwanderer@ users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
* Moves flick_overlay to atom instead of being global (#71045)
## About The Pull Request
Moves flick_overlay and flick_overlay_view to atom instead of being a
global proc
## Why It's Good For The Game
General performance and syntaxical improvements, makes it easier to
retrieve iconstates
## Changelog
🆑
fix: flick_overlay is an atom proc
/🆑
Co-authored-by: etherware-novice <candy@ notarealaddr.com>
Co-authored-by: Candycaneannihalator <candycane@ thisisnotarealaddr.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Moves flick_overlay to atom instead of being global
* modular flick
Co-authored-by: texan-down-under <73374039+etherware-novice@users.noreply.github.com>
Co-authored-by: etherware-novice <candy@ notarealaddr.com>
Co-authored-by: Candycaneannihalator <candycane@ thisisnotarealaddr.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
* Strays away from GLOB.machines when possible (#71100)
## About The Pull Request
This replaces needless GLOB.machines with more precise lists whenever
one existed, plus adding a new one for CTF machines.
## Why It's Good For The Game
GLOB.machines holds every single /obj/machinery in the game, so checking
the whole list for stuff is pretty big. This aims to cut that down by
using smaller lists whenever possible. I also gave CTF a new list
because it checked machines very often.
## Changelog
Nothing player facing.
* Strays away from GLOB.machines when possible
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Prettifies adminmoreinfo into a neater Examine Block (#71170)
Updates the Adminmoreinfo button (also known as the '?' button)
to be cleaner and easier to understand/read, and also makes it
an examine block so it doesn't blend in with the rest of chat.
* Prettifies adminmoreinfo into a neater Examine Block
Co-authored-by: san7890 <the@san7890.com>
* Ensures bunkering someone doesn't runtime due to a divide by 0 error (#71081)
## About The Pull Request
HAHHHHHHHHHHHHHHHH
* Ensures bunkering someone doesn't runtime due to a divide by 0 error
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* adds applying client quirks to player panel (#70923)
## About The Pull Request

this is terribly annoying for any sort of testing. especially if you
were to have a blind or crippled character.
instead of that, we now just make it a button in player panel
## Why It's Good For The Game
fuck
## Changelog
🆑
admin: ctrl shift click spawning no longer applies quirks
admin: adds quirk applying button to player panel
/🆑
* adds applying client quirks to player panel
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Fix admin 2fa not syncing authorized admins to the player table in the db. (#70910)
* Fix admin 2fa not syncing authorized admins.
* make it a bit more clear what this code does, since the if wording is misleading.
* Fix admin 2fa not syncing authorized admins to the player table in the db.
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
* Admin verb to send message on PDA (#70790)
* base
* oh, oh.
* uh, dots?
* no hdd, only computer
* kill let in UI(but not in func)
* Admin verb to send message on PDA
Co-authored-by: Yaroslav Nurkov <78199449+AnywayFarus@users.noreply.github.com>
* Admins can now safely cancel the "Admin PM" verb (#70705)
* Admins can now safely cancel the "Admin PM" verb
Co-authored-by: Funce <funce.973@gmail.com>
* Wizard DLC - Tower of Babel (#69629)
About The Pull Request
This adds a new status effect called - Tower of Babel
Any carbon mob afflicted by the status effect will lose knowledge of every known language and gain a randomized one as a replacement. The affected mob will also be hit with a depressing moodlet that lasts for 15 seconds. Silicons are immune to all effects.
This effect is implemented in several ways:
Tower of Babel wizard event (all crew on the station z level are affected. The wizard is not and gains mastery of every language to taunt their victims)
Admin smite option
Admin secret event (can be reversed)
Staff of Babel (formerly the Staff of Sapping) will spawn during spawn magic wizard event
Magicarp will randomly shoot bolts of babel
Staff of Chaos will randomly shoot bolts of babel
Overdosing on Mushroom Hallucinogen will temporarily and sporadically acquire the effect
The effect can be blocked or cured in several ways:
Curators are given immunity
Reading a book of babel (via lavaland loot) cures and gives immunity
Reading a language book cures and gives immunity ONLY for that particular language
Note - The Tower of Babel does not allow tongueless, mute, or tongue tied people the ability to speak
* Wizard DLC - Tower of Babel
Co-authored-by: Tim <timothymtorres@gmail.com>
* Player Panel's "Make AI" Now Respects Closing The Input Menu (#70449)
Player Panel's Make AI Now Respects Closing
Hey there,
Before, this wouldn't respect it if the user calling this via the Player Panel just hit the X button, instead of "cancel" on the TGUI input message. If you hit the X button, it would just create an AI at the normal AI landmark anyways (very stupid!). I fell for this like twice in the last week, so let's get this outta here.
* Player Panel's "Make AI" Now Respects Closing The Input Menu
Co-authored-by: san7890 <the@san7890.com>
* makes radios use paths instead of new (#70252)
* makes radios initialize in Initialize instead of init()
* makes radios use paths instead of new
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* List Them Out - A Modern Revision On Extracting Global Lists (#70080)
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
* List Them Out - A Modern Revision On Extracting Global Lists
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>