* Machine list is now stored in SSmachines | Remove excessive use of global lists for specific machine types
* Resolve merge conflicts
* Modular adjustments
* destroy this double return on destroy
---------
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
* Refactors mind language holders into non-existent, fixes new languages being deleted on species swap + tests
* Fixing merge conflicts
* don't forget to ctrl+s!
* Another forgotten file
* urgh
* gets rid of vestiges of update_atom_languages()
and mind language holders
* No longer needed
* Fixes some modular grant_language calls
* Deprecated code
* This was up here before..
* Fixes failing unit tests, refactors silverscale lizards language a bit removing the need for skyrat edits
Removes some no longer needed code
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
* Refactors bardrone area based godmode into an element (#76619)
Let's this be used for more than just bardrones and for more than just
the exit shuttle in the future
* Refactors bardrone area based godmode into an element
---------
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
* [NO GBP] Music Request Credits changed to CKEY (#76751)
## About The Pull Request
I was requested by one of the game admins over in the TG discord to
change the credit from character name to ckey.
## Why It's Good For The Game
It's mostly a OOC thing, personally I don't know of a good enough reason
to put here other than its a PR someone requested of me.
## Changelog
🆑
fix: Music Request Credit shows CKEY instead of character name
/🆑
* [NO GBP] Music Request Credits changed to CKEY
---------
Co-authored-by: SomeRandomOwl <2568378+SomeRandomOwl@users.noreply.github.com>
* Fixes organ/implant manipulator creating implants in the void when failing to insert (#76602)
## About The Pull Request
When using the organ manipulator, implants that fail implant() would
still be created and be left out of the implantee.
Now, implants that fail insertion will self-delete and notify the menu
operator. This functionality has been extended to organs as well,
although I don't know of any cases where they could fail insertion.
I also touched up on the variable names while I was here, because they
needed a face-lift.
## Why It's Good For The Game
Prevents edge cases that could lead to orphaned implants or organs.
More readable code is neat too.
## Changelog
🆑 Rhials
fix: The organ manipulator menu will now delete implants or organs that
fail to properly insert.
code: The organ manipulator menu code now looks nicer :)
/🆑
* Fixes organ/implant manipulator creating implants in the void when failing to insert
---------
Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com>
* Don't do eligibility checks for debug spawn crew (#76374)
## About The Pull Request
Fixes#76372
Just Don't do eligibility checks for assigning the roles to the debug
crew.
## Changelog
🆑 Melbert
fix: Fix Debug verb "Spawn full crew"
/🆑
* Don't do eligibility checks for debug spawn crew
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Bloop <vinylspiders@gmail.com>
* service borg cookin fixin update (#76590)
## About The Pull Request
PR done for bounty:
https://tgstation13.org/phpBB/viewtopic.php?f=5&t=33988
borgs can now turn on stoves and griddles
borg click code has been reworked a bit to be closer to base mob, you
are now able to click on stuff within reach rather than just Adjacent
(might be buggy to introduce this? hopefully not. if anything we can
testmerge this), which lets us make the apparatus work to pick up stoves
on the range and such
Adds the Codex Cibus Mechanicus as an upgrade you can research in RnD
with the other service borg ones. When you use it it shows you the
cooking menu!

## Why It's Good For The Game
The service borg has the tools to prepare ingredients, but it can't
actually do anything with them, which severely limits it, only being
able to do slapcrafted foods.
The apparatus not working on items that are on top of stoves/griddles
seems to be just a bug with how cyborg click code is handled.
## Changelog
🆑 Fikou
fix: service borg apparatus now works on stoves and griddles and ovens
qol: borgs can now activate stoves and griddles
add: rnd can research a cookbook for service borgs
/🆑
* service borg cookin fixin update
---------
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Request Internet Sound Optional Credit User (#76453)
## About The Pull Request
What this PR does is it adds a small additional feature to the Request
Internet Sound verb to give users who request music an option to credit
themselves for the song request. It will use character name of the
person who submits the request, with the option to be anonymous. The
default will make users anonymous.
## Why It's Good For The Game
This differentiates songs that where requested by users and songs that
admins themselves played. And allows users to give themselves credit for
their 'Good' (or bad) music preferences.
<details>
<summary>Screenshot</summary>

</details>
## Changelog
🆑
qol: Request Internet Sound now has the option to credit the person who
requested the Sound. Defaults to anonymous.
/🆑
* Request Internet Sound Optional Credit User
---------
Co-authored-by: SomeRandomOwl <2568378+SomeRandomOwl@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* Petrify Smite (#75538)
## About The Pull Request
adds a smite to petrify someone forever, works like the wizard spell.
Adds support to make petrification brainless.
Creates a var to remove those annoying "you can not move while buckled
to X" messages for abstract items like statues.
## Why It's Good For The Game
Smite good. Message spam bad.
## Changelog
🆑 itseasytosee
spellcheck: You should see a lot less "you can not move while bucked too
X" messages where they don't make sense.
admin: Added a petrify smite. Try it out on your least favorite player!
/🆑
---------
Co-authored-by: san7890 <the@ san7890.com>
* Petrify Smite
---------
Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
* [s] Require affirmative input from the admin to run sdql2 verbs (#76276)
Powerful or dangerous admin verbs should have some prompt or forced
runtime input to lower the attack surface once somebody finds a href
exploit since topics can trigger commands and verbs.
* [s] Require affirmative input from the admin to run sdql2 verbs
---------
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
* Always contracts lists when VVing GLOB (#76091)
## About The Pull Request
This takes render times from like 20 seconds to maybe 2 Most of the time
appears to be clientside rn, so the best we could do further would be
reducing the amount of shit that actually needs to render
So like, removing the E C M buttons (or at least adding a toggle to
render them), that sort of thing
## Why It's Good For The Game
A glob vv you can actually use

## Changelog
🆑
admin: VV for global vars will now load MUCH faster, in exchange lists
are now perma contracted in that particular pane
/🆑
* Always contracts lists when VVing GLOB
---------
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Fixes admin setting job slot number to custom amount (#75887)
## About The Pull Request
Removed "jebs" typo from custom slot code.
Made cancel button not set job slots to 0.
## Why It's Good For The Game
It allows the custom slot menu to be cancelled without changing the
slots to 0, this makes admin job slot management less annoying to use.
## Changelog
🆑
fix: fixed admin custom job slot cancel button
spellcheck: fixed a typo that spelled "jobs" as "jebs"
/🆑
* Fixes admin setting job slot number to custom amount
---------
Co-authored-by: Archie <72550375+Archimus12@users.noreply.github.com>
* fix stupid error message in delay pre-game (#75824)
tabbing out during init after hitting the verb, while you wait for the
server to un-lockup and present you with the prompt, and coming back in,
noticing you were too late, and cancelling out of the time prompt, only
to get told the round had already started, was kinda fucking lame. I
know, thats why i fucking hit cancel you fucking robit.
also makes the proc more early return
* fix stupid error message in delay pre-game
---------
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
* Fixed a vulnerability introduced by the Request Music PR (#75691)
Admins can proccall the web_sound proc, completely bypassing the
shell_url_scrub done in other procs. Additionally, admins could just
directly modify the request URL stored in the request manager so that
it, again, bypasses the shell_url_scrub.
This PR just moves the shell scrubbing directly inside the proc, right
before the world.shelleo call, so that admins can't get around it with a
proccall.
* Fixed a vulnerability introduced by the Request Music PR
---------
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
* Fix: player panel encoding (#75584)
## About The Pull Request
Fixes ?typo? in player panel html. Now non English text looks fine.
## Why It's Good For The Game
Forks that allow non English names now can see them in player panel
properly.
## Changelog
🆑
admin: If you are on a downstream server using non-Latin fonts (e.g.
Cyrillic) for character/job names: The player panel encoding has been
fixed so it should show up properly for you now.
/🆑
* Fix: player panel encoding
---------
Co-authored-by: Furior <68264134+Furrior@users.noreply.github.com>
* Warn admins about active Internet sounds (#75400)
## About The Pull Request
For various reasons an admin may not be aware there is currently an
Internet sound playing. (Usually TGUI related or just recently logged
in.)
This provides a warning and optional override if they try to start an
Internet sound while one is already running.
https://github.com/tgstation/tgstation/assets/83487515/af4197c9-bf9d-43e4-a407-a556b88a6d30
## Why It's Good For The Game
Less "HEY I WAS ALREADY PLAYING SOMETHING!"
## Changelog
🆑 LT3
admin: Admins are now warned if they are going to override a currently
playing admin midi
/🆑
* Warn admins about active Internet sounds
---------
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* Corrects record_feedback()'s copy/paste comment (#74962)
## About The Pull Request
Corrects `record_feedback()`'s copy/paste comment.
## Pointless history
Originally being added in e2a8a5e, it kept its name and args for quite a
few years, that was until #32188 which had it renamed to
`record_feedback` and its args pretty much doubled. In between these
times the known copy/paste comment was already around, but that wasn't
updated, until now apparently.
* Corrects record_feedback()'s copy/paste comment
---------
Co-authored-by: Zandario <zandarioh@gmail.com>
* Fixes forcing night shift on/off (#74657)
## About The Pull Request
Fixes https://github.com/tgstation/tgstation/issues/74587
When nightshift is forced on/off by an admin the subsystem is in an idle
state, so the tick check always fails and the lights don't change.
## Changelog
🆑 LT3
fix: Fixed forcing night shift lighting on/off
/🆑
* Fixes forcing night shift on/off
---------
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* Refactors CTF (#74342)
## About The Pull Request
CTF code is rather infamous for being poor and hard to actually work
with, I wanted to add a feature for a mapping march project but the code
would not allow for it, so here we are refactoring the entire thing.
## Why It's Good For The Game
Replaces some really bad code with slightly less bad code. Should make
it much easier to add features onto CTF in the future.
## Changelog
🆑
refactor: CTF has been entirely refactored.
fix: Respawn times for CTF now work.
qol: CTF players are alerted during control point games when one team is
half way to winning.
admin: CTF instagib mode can now be toggled from the secrets panel.
/🆑
* Refactors CTF
---------
Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
* admin sound playing now tells the key, not the ckey (#74650)
## About The Pull Request
its meant for players, ckey is useless there
also mentions playing a sound, not specifically music
## Changelog
too minor to mention
* admin sound playing now tells the key, not the ckey
---------
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Fixes the basketball and thunderdome baseturf issue. (#74461)
## About The Pull Request
Simply modifies the should_place_on_top value on these maps templates so
that they overwrite their baseturfs rather that creating an evergrowing
stack. I've also done the same for Mafia and CTF which should also not
be creating stacked baseturfs.
Fixes#69711
Should fix#74443 too since its the same issue.
## Why It's Good For The Game
Bugfix good.
## Changelog
🆑
fix: Basketball and Thunderdome maps should not load with broken turfs
are several resets of their maps.
/🆑
* Fixes the basketball and thunderdome baseturf issue.
---------
Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
* Auxtools is now a config opt-in (#74501)
See https://github.com/tgstation/tgstation/pull/74497
Causes auxtools to not be a default part of the server environment and
requires server operators to manually enable it.
---------
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Auxtools is now a config opt-in
---------
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Block connections to the server from new ckeys if the panic bunker is up and not in interview mode (#74496)
The living hours check in client/New is still valid, this only cares
about never before seen players without regard for that config.
* Block connections to the server from new ckeys if the panic bunker is up and not in interview mode
---------
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
Refactor SPELL_REQUIRES_OFF_CENTCOM to SPELL_REQUIRES_STATION (#73348)
When I refactored stuff to use lazy templates it broke a few needed checks, this is one of those checks.
Although there is no reason this shouldn't have been checking for station level over not CC
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
* Play Internet Sound, Admin CKEY instead of character name (#74426)
## About The Pull Request
This fixes a minor oversight I had on my last PR that altered
`PlaySound.dm` Where it shows the admins character name instead of CKEY
like it was before I updated it. This wasn't intentional to show the
character name instead of CKEY.
## Why It's Good For The Game
Fixes a a unintended bug to return the name of the shown admin back to
how it was previously as being their CKEY rather than character name
<details>
<summary>Screenshots/Videos</summary>

</details>
## Changelog
🆑
fix: Play Internet Sound will no longer show an admins Character name
and returns back to showing CKEY as previously
/🆑
* Play Internet Sound, Admin CKEY instead of character name
---------
Co-authored-by: SomeRandomOwl <2568378+SomeRandomOwl@users.noreply.github.com>