Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IceBox Atmospherics Expansion - Infiltrate and Exfiltrate #67706

Merged
merged 25 commits into from Jun 22, 2022

Conversation

san7890
Copy link
Member

@san7890 san7890 commented Jun 11, 2022

About The Pull Request

Hey there,

image

image

Ok Mr. Diamond-And-Win. Watch and learn.

I've seen like three screenshots of people working on revamping IceBox's atmospherics but literally none of them have followed through on it, so I've decided to make Multi-Z Atmospherics (boo). Also, above screenshots.

HOWEVER, it's not what you think. I play an atmospheric technician in game, and I tried to get a consistent strike between having the bare basics set up- while still having plenty of freedom to set up stuff with as you wish and get all the stuff from the atmospherics loop. Here's the pretties:

New Loop:

image

New Hallway-Storage Sector:

image

The Project Zones and the "Minor Loop":

image

There's a little small portion hidden on the third z-level, but you can see a little bit peeking out. I have also tweaked the placement of the AI Satellite + transit tube, some things in the surrounding maintenance/chasms, and the incinerator room a bit.

This does add some complexity to the atmospherics loop- but I think that the simplicity it offers later on when you interact with the minor loop on the lower z-level can not be understated. I think toying around with the "Box" atmospherics system and loop is just... too much to handle right now, so I thought to just build off the current loop and make the "minor" loop.

I also played around with catwalks and decals- and I think the decals add a little more context to what the pipes do. I played around some with the industrial theme (having catwalks over the HFR area and the "minor loop"), and I like the way it comes off in game. I definitely took inspiration from stuff like Chernobyl as far as having catwalks directly above the optimal placement for the HFR. I decided to rely on shutters for more open flow rather than have obtuse windows.

Why "infiltrate" and "exfiltrate" for the minor loops? It sounds like "filtrate", which is something that you do in atmos (harvest and filter the gases you get from your various machinery). I also really wanted to ensure that any new terminology I introduce would not be used in any other application in atmospherics (stuff like "vent", "input/output", etc will simply not do), so I do not think I will change it unless a good idea is offered up by you fine people.

Why It's Good For The Game

Simply put: this is the atmospherics I want to see, and I think it's a good change. It adds features that IceBox simply did not have at all (making it worse than other maps), and pencils out the boundaries of atmospherics mapping+planning.

Changelog

🆑
add: Nanotrasen has now installed an HFR Room and an Atmospherics Project Room on IceBoxStation. The Atmospherics Storage Room has also had catwalks installed in to accomodate these rooms uninstalled around it.
add: The Atmospherics Loop on IceBoxStation has undergone some minor modifications to accomodate "feeding" these new rooms. Notably, there is now a "minor" loop on the lower Z-Level that you can push and pull gases towards to your (probable) heart's content.
add: The AI Satellite, Incinerator, and some sections of Maintenance have been shuffled around on IceBoxStation to accomodate these changes.
/:cl:

Hey there,

I've seen like three screenshots of people working on revamping IceBox's atmospherics but literally none of them have followed through on it, so I've decided to make Multi-Z Atmospherics (boo).

HOWEVER, it's not what you think. I play an atmospheric technician in game, and I tried to get a consistent strike between having the bare basics set up- while still having plenty of freedom to set up stuff with as you wish and get all the stuff from the atmospherics loop. Here's the pretties:

There's a little small portion hidden on the third z-level, but you can see a little bit peeking out.

This does add some complexity to the atmospherics loop- but I think that the simplicity it offers later on when you interact with the minor loop on the lower z-level can not be understated. I think toying around with the "Box" atmospherics system and loop is just... too much to handle right now, so I thought to just build off the current loop and make the "minor" loop.

I also played around with catwalks and decals- and I think the decals add a little more context to what the pipes do. I played around some with the industrial theme (having catwalks over the HFR area and the "minor loop"), and I like the way it comes off in game. I definitely took inspiration from stuff like _Chernobyl_ as far as having catwalks directly above the optimal placement for the HFR. I decided to rely on shutters for more open flow rather than have obtuse windows.

Why "infiltrate" and "exfiltrate" for the minor loops? It sounds like "filtrate", which is something that you do in atmos (harvest and filter the gases you get from your various machinery). I also _really_ wanted to ensure that any new terminology I introduce would not be used in any other application in atmospherics (stuff like "vent", "input/output", etc will simply not do), so I do not think I will change it unless a good idea is offered up by you fine people.

Simply put: this is the atmospherics I want to see, and I think it's a good change. It adds features that IceBox simply did not have at all (making it worse than other maps), and pencils out the boundaries of atmospherics mapping+planning.
@tgstation-server tgstation-server added Feature Exposes new bugs in interesting ways Map Edit Thank you for your tile-placing service. It's always appreciated. labels Jun 11, 2022
@LemonInTheDark
Copy link
Member

Not having the hfr was intentional, because it got too hot and icebox's planetary atmos couldn't contain it
That ought? to be solved now, but you should check to see what a delam is like

Some pipes were invisible, also the transit tube was borked.
@san7890
Copy link
Member Author

san7890 commented Jun 11, 2022

Not having the hfr was intentional, because it got too hot and icebox's planetary atmos couldn't contain it That ought? to be solved now, but you should check to see what a delam is like

I have no idea how to test the HFR but I'll look up a guide. If it doesn't work at all I will remove the HFR core materials and leave the room empty to spur on the coders to fix it.

@Barnet2
Copy link

Barnet2 commented Jun 11, 2022

For the main atmospheric room, could you have layer manifolds where the gas pumps for the main gasses are for the pure line? It's done on Delta and Meta, and it is nice to not have to replace them when you want plasma or some other gas for two different things.

@san7890
Copy link
Member Author

san7890 commented Jun 11, 2022

For the main atmospheric room, could you have layer manifolds where the gas pumps for the main gasses are for the pure line? It's done on Delta and Meta, and it is nice to not have to replace them when you want plasma for two different things.

Yeah, I get that sentiment since I did the same thing myself when I was really into atmospherics. I'll probably pass that in as well.

Edit: I looked into it and you'll need to MAJORLY overhaul the boxstation atmos loop to be bigger to accomodate for that change. I think that's too out-of-scope for this PR (read: I don't wanna waste the time doing it), but I'll keep it in mind for the future. Thank you for the suggestion though.l

@san7890
Copy link
Member Author

san7890 commented Jun 11, 2022

After a bit of struggling with the wiki, I have ascertained that I do not have any clue how to set up the HFR (is it disabled on Ice Box/Planetary Maps?). Please feel free to pull this branch onto your local machine and see if you can test it out if you're so willing, or let me know on Discord @san7890#7890 if you wanna walk me through it- I will not understand it any other way.

@san7890 san7890 added this to the IceBoxStation milestone Jun 11, 2022
@jwc1015
Copy link

jwc1015 commented Jun 11, 2022

Not having the hfr was intentional, because it got too hot and icebox's planetary atmos couldn't contain it
That ought? to be solved now, but you should check to see what a delam is like

Don’t we have the buffed thermomachines now without ballast? Shouldn’t be all that hard to deal with provided an atmos tech uses them afaik.

@Colovorat
Copy link
Contributor

Not having the hfr was intentional, because it got too hot and icebox's planetary atmos couldn't contain it

ARE YOU SERIOUS? HAHAHAHAHA

@D4C-420
Copy link
Contributor

D4C-420 commented Jun 12, 2022

https://www.youtube.com/watch?v=-vDnks-YIq0
Here ya go. HFR delam on icebox.
Some notes

  1. first time doing this kind of thing so uhh sorry for the poor quality
    2)I could not figure out how to get this PR's version of icebox onto my local machine and I decided to just record this on icebox as it currently is.
  2. this is filmed with the highest tier possible gasses for fuel and moderator. Your more likely to see lower quality fuels and such

TLDR. Icebox is perfectly habitable after the HFR blows up. The damage done is about on par with an sm explosion of decent size.

@san7890
Copy link
Member Author

san7890 commented Jun 12, 2022

https://www.youtube.com/watch?v=-vDnks-YIq0 Here ya go. HFR delam on icebox. Some notes

  1. first time doing this kind of thing so uhh sorry for the poor quality
    2)I could not figure out how to get this PR's version of icebox onto my local machine and I decided to just record this on icebox as it currently is.
  2. this is filmed with the highest tier possible gasses for fuel and moderator. Your more likely to see lower quality fuels and such

TLDR. Icebox is perfectly habitable after the HFR blows up. The damage done is about on par with an sm explosion of decent size.

Thank you so much!!! In the future, if you have Git, you can pull the exact code on this Pull Request onto your local machine via
a variety of ways: (more here: https://hackmd.io/@tgstation/ry4-gbKH5#General-Advicing ).

@san7890
Copy link
Member Author

san7890 commented Jun 12, 2022

Edit: I looked into it and you'll need to MAJORLY overhaul the boxstation atmos loop to be bigger to accomodate for that change. I think that's too out-of-scope for this PR (read: I don't wanna waste the time doing it), but I'll keep it in mind for the future. Thank you for the suggestion though.l

Disregard this, the latest commit has now mapped this change, with great thanks to the atmospherics technician's community for the advice. The PR Body will be updated with a screenshot of the latest revision (it required I remove a port and a radsuit, but you guys have plenty of those).

@tgstation-server tgstation-server removed the Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts label Jun 14, 2022
@github-actions github-actions bot added the Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts label Jun 15, 2022
@tgstation-server tgstation-server removed the Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts label Jun 15, 2022
@notfrying1pans
Copy link
Contributor

👀

image

@notfrying1pans
Copy link
Contributor

btw there are unmentioned science changes in this pr

image

@san7890
Copy link
Member Author

san7890 commented Jun 20, 2022

btw there are unmentioned science changes in this pr

image

oh fuck i accidentally reverted #67778 one second

@tgstation-server tgstation-server added the Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts label Jun 20, 2022
@tgstation-server tgstation-server removed the Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts label Jun 20, 2022
Copy link
Member

@Maurukas Maurukas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You have solved the problem of Ice's terrible atmos projects room.

Power looks good. Station atmos loops look good. No ATs or obvious map issues. The pipes work. The layout looks usable, spacious and well-decalled to me.

Now onto the stuff I found + suggestions:

Suggestions

Add a maint access door to the right side room (instead of pipe under R-wall)
image

Consider a window here, or some kind of visual indication that this scrubber vents directly outside and not to the waste loop:
image
image

Not a suggestion, just want to note that I like this area and it is a great use of multi-z

image

Missing shutter tag here Would also benefit from an additional light:

image

Disposal chute embedded in an R-wall

image
image

Big Uh-Oh - Layer adapter is bad here

This is crosslinking the airmix (cyan) with the pink waste pipe that connects HFR/Crystalizer/incinerator to the internal atmos waste loop. This will vent (slowly) the N2 tank if the pump in the incinerator is turned on. If waste gas is pumped into this pipe it will reach the airmix tank and contaminate the station's air supply.

image

@github-actions github-actions bot requested a review from Maurukas June 22, 2022 02:40
@Maurukas Maurukas merged commit 9ee1228 into tgstation:master Jun 22, 2022
github-actions bot added a commit that referenced this pull request Jun 22, 2022
san7890 added a commit to san7890/bruhstation that referenced this pull request Jun 23, 2022
ShizCalev pushed a commit that referenced this pull request Jun 27, 2022
Fixes IceBox Disposals

My bad, I broke it in #67706 (9ee1228).
Jacquerel pushed a commit to Jacquerel/orbstation that referenced this pull request Jun 27, 2022
Jacquerel pushed a commit to Jacquerel/orbstation that referenced this pull request Jun 27, 2022
Jacquerel pushed a commit to Jacquerel/orbstation that referenced this pull request Jun 27, 2022
EOBGames added a commit to EOBGames/tgstation that referenced this pull request Jul 4, 2022
commit f1e54d83b589de472036c66e3bd4f92f5d2de9c9
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jul 3 12:14:13 2022 -0700

    Automatic changelog generation for PR #68153 [ci skip]

commit 258d553b68b40d97098193547a646ce0f669745e
Author: Salex08 <33989683+Salex08@users.noreply.github.com>
Date:   Sun Jul 3 21:14:10 2022 +0200

    Crew starts with the right amount of breathing mask again (#68153)

    removes unnecessary codepiece

commit c086d58c2df896250a6ddd6888e74be10884e396
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jul 3 09:47:40 2022 -0700

    Automatic changelog generation for PR #68143 [ci skip]

commit 5dced48bd9b3d75456dada44374f19cb9cd50f43
Author: FinancialGoose <92416224+TheBoondock@users.noreply.github.com>
Date:   Sun Jul 3 12:47:36 2022 -0400

    Fixes crystalizer runtime (#68143)

    fixes crystalizer passing any item as the user

commit 832ae532766d491d91db53746d15b4b55be3f2b0
Author: Changelogs <action@github.com>
Date:   Sun Jul 3 00:25:13 2022 +0000

    Automatic changelog compile [ci skip]

commit d2c2f2b822da9d18731797feb081d503771c4bdb
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sat Jul 2 11:51:34 2022 -0700

    Automatic changelog generation for PR #68122 [ci skip]

commit 0af4f2b01f467860dfc261d44b6a90ce66c8a846
Author: Y0SH1M4S73R <legoboyo@earthlink.net>
Date:   Sat Jul 2 14:51:30 2022 -0400

    Maids in the Mirror take no damage from ghosts examining them (#68122)

    * maids in the mirror take no damage from ghosts

    * dead players in their mob shouldn't hurt either

commit d43fde75d362429b4b0d0525b2a9f169261fa99f
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sat Jul 2 11:26:49 2022 -0700

    Automatic changelog generation for PR #68132 [ci skip]

commit 2fc42f9fa416f19b337e1d4659cbac6f877eea24
Author: Pepsilawn <reisenrui@gmail.com>
Date:   Sat Jul 2 20:26:45 2022 +0200

    Removes counter-intuitive var edits off Kilo's SM's pumps (#68132)

    This isn't used on any other station, pressure_checks = 0 means that both Internal and External pressure targets start Off for the vents as opposed to External being on like it normally is at roundstart. This can have pretty bad drawbacks if the air alarm is set last as often recommended on most guides.

    Not even sure what the External target being set to 140 is about.

    Kilo's SM is now consistent with other stations', its pumps external target will no longer start Off.

commit e16dddf961645baa5b90371c63e5df1ba238d15d
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sat Jul 2 00:38:19 2022 -0700

    Automatic changelog generation for PR #68102 [ci skip]

commit 9c3f9101cb2346100fe46dc31d4427fe780b596f
Author: san7890 <the@san7890.com>
Date:   Sat Jul 2 01:38:15 2022 -0600

    Adds Preferences To Suppress Ghost Role Rolls (#68102)

    Hey there,

    Ever since November of 2021, I've wanted something where I could simply not get any ghost roles while adminned. Some people also do not want to get any ghost rolls whatsoever when they play, for it is their personal preference. This PR seeks to resolve both of these issues with two new preferences.

    The first preference will show up to everyone, Suppress All Ghost Rolls. It will return on the main proc that pops up the window, does the sound, all that. You will not hear a peep of a word out of your game. This is dangerous if you like playing as ghost roles, but if you abhor the thought of it... it's just for you.

    The second preference is for admins. You can selectively suppress ghost roles while adminned. This is useful because when you're running an event or doing stuff where you need to offer multiple ghost roles (or you need to focus on a ticket and someone is spamming Xenobiology mob spawns), this is absolutely perfect for suppressing. Same return as the player option, but it checks to see if you are currently adminned via the client.holder variable. This is just because some admins (i'm some admins) don't want to turn in on just in case they forget to turn it off down the line because they actually play the game (lying).

    There's probably a much cleaner way to do this code-wise, but I couldn't figure it out. Any help is appreciated. I tested it extensively on my local (even using a guest account), and everything seems to work rather nicely after about an hour of trial-and-error.
    Why It's Good For The Game

    Players who want to just alt-tab or maybe chill in deadchat (or have an extreme loathing of ghost roles) can just simply not get any of that. Admins who want to focus on tickets and not have windows pop up to interfere in good administrative work (and be the most annoying thing in the world) can also do that. Everyone is happy.
    Changelog

    cl
    qol: There is now a new preference in Game Preferences, Suppress All Ghost Rolls. If you tick this preference, you will not get a singular window pop-up whenever a Ghost Role is available. Intended for the few who really do need it.
    admin: Admins get another additional preference where Suppress All Ghost Roles only works while they are currently in an adminned state. They will still get ghost rolls normally when they are in a deadminned state.
    /cl

commit f0292e94b55d413530a25953d2e88edac7449078
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Fri Jul 1 19:29:27 2022 -0700

    Automatic changelog generation for PR #68125 [ci skip]

commit 0c447082e54b857a6e4117ada50167c32bdb72bb
Author: chesse20 <chesse20@gmail.com>
Date:   Fri Jul 1 19:29:23 2022 -0700

    Furry Pride with no Removal (#68125)

    About The Pull Request

    image
    art from @MrDoomBringer
    adds this furry pride spray without removal
    Why It's Good For The Game

    Same as #68077, just with out removal
    image
    Requested by maintainers in #68120
    Changelog

    cl
    add: Furry Pride large spraypaint added to spraycans
    /cl

commit e61ccb983347de8d3db36399d3e94f28f14c7512
Author: Changelogs <action@github.com>
Date:   Sat Jul 2 00:23:49 2022 +0000

    Automatic changelog compile [ci skip]

commit 8d60b1e56d91721a2ae92d848fd5e4ad2e3617c5
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Fri Jul 1 14:29:51 2022 -0700

    Automatic changelog generation for PR #67621 [ci skip]

commit 966b711e15bc6fd1af47f0f08b9815bab1625338
Author: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
Date:   Fri Jul 1 18:29:46 2022 -0300

    Removes the superfluous breathing mask from the survival box of clown/mime + New mime hugbox. (#67621)

    * Base box changes

    * Mime box + breathing mas removal

    * Mime hugbox back in

    * Fishing is back

commit ab229b95b1d9d6c657af26a161c31d7c21ae0e87
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Fri Jul 1 12:03:20 2022 -0700

    Automatic changelog generation for PR #68075 [ci skip]

commit b372162e70c39dfd9d71e465af5123479a2e0df1
Author: san7890 <the@san7890.com>
Date:   Fri Jul 1 13:03:15 2022 -0600

    Re-adds Standard Kitchen Fridge to IceBox (#68075)

    I fucked up and forgot this one that contains eggs and milk and stuff whoops.

commit caa0a8688c335bde076446d4efea57554234f12f
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Fri Jul 1 12:02:52 2022 -0700

    Automatic changelog generation for PR #68108 [ci skip]

commit 153126cfd098b7ad2a08209c7cab5d87b8965891
Author: Charlotte <98856144+orthography@users.noreply.github.com>
Date:   Fri Jul 1 12:02:46 2022 -0700

    Turns select prison intercoms to normal ones. (#68108)

    Changes intercoms that would only ever be utilized by sec from prison intercoms (transmit wire is cut) to normal intercoms.

    The warden now has both a normal intercom and a prison one.

commit 45d2cdb3187e9b1b5a03364907e67916529735f9
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Thu Jun 30 23:01:09 2022 -0700

    Automatic changelog generation for PR #67083 [ci skip]

commit f8f3dbed98e151080e9c25c793f0890795b03504
Author: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Date:   Fri Jul 1 01:01:02 2022 -0500

    Completely removes `proc_holders` from existence. Refactors all wizard, xeno, spider, and genetics powers to be actions. Also refactors and sorts ton of accompanying code.  (#67083)

    * destroy proc holder pt1
    - change proc_holder/spell to action/cooldown/spell
    - docs all the spell vars, renames some of them
    - removes some useless vars
    - start with pointed spells, as they're easy

    * kill proc_holder pt2
    - kill a buncha vars and replace it with flags
    - convert a ton over
    - general code improvements

    * kill proc_holders pt3
    - convert a good few more spells
    - rename some signals
    - handle statpanel
    - better docs

    * kiill proc_holder pt4:
    - restructure the file system of action.dm, separating a good amount of item actions and miscellaneous garbage into files where they belong slightly better. Also splits off item actions, cooldown actions, innate actions, etc. into their own files, overlal making it much better to work with
    - converts touch attacks to actions
    - converts blood crawl, jaunt subtype

    * kills proc_holder pt5
    - clears up some icon issues so all the currently converted pages don't have errors
    - shapeshift
    - some more action cleanup

    * kills proc_holder pt5.5:
    - some documentation
    - reworks feedback to prevent oversight with teleports and stuff

    * kills proc_holder pt6:
    - converted cult spells
    - converted magic missile
    - converted mime spells
    - chipped away at the errors
    - removed some vars which were too general, replaced them with more locally applicable vars. for example "range" which could mean "projectile range" or "aoe radius" or whatever - instead of having a broad net which everyone applies to in a confusing matter, instead lets each spell delegate on their own.
    - merged magic/spell and magic/aoe, as the comment intended
    - more unified behavior for spell levelling

    * kill proc_holders pt 6.5:
    - replacing a buncha old proc_holders that have been updated to reduce some errors. sub 900 baby

    * kills proc_holder pt 6.75:
    - minor fixes

    * kills proc_holder pt7:
    - cuts down on some errors
    - refactors some wiz events

    * kills proc_holder pt 7.5:
    - malf ranged modules
    - some minor errors

    * kills proc_holder pt 7.75:
    - mor eminor error handling, cleaning up changes

    * kill proc_holder pt8:
    - refactors spell book
    - refactors spell implant
    - some more minor error fixing

    * kill proc_holder pt 8.5:
    - scan ability

    * Adds some robust documentation

    * kill proc_holder pt9:
    - converts some / most mutations over

    * kill proc_holder pt10:
    - sort out all the granters
    - refactor them slightly
    - fix some compile errors

    * Some set-unset sanity - going to need to test removing Share()

    * Removes transfer actions. It doesn't seem to do anything.
    - Transfer_actions was called when current = new_character so locially speaking the early return in Grant() should cause it to NOOP. Test this in the future though

    * Removes sharing from actions, docs actions better

    * Some better documentation for spell and spell components

    * Kills proc_holder pt11:
    - Finally finishes ALL THE SPELLS IN THE SPELL FOLDER
    - Fixes some more errors

    * kills proc_holder pt11.5:
    - minor error fixing and sanity

    * Method of sharing actions. Can be improved  in the future, needs testing

    * Implements a way to update the stat panel entry for a spell. Also gets rid of VV stuff, as you can update the bigflags directly in VV now.

    * Curse of madness bug I put in.

    * kills proc_holder pt12:
    - sub 500 errors!
    - converts cytology mobs
    - converts and refactors spiders slightly
    - some minor fixing around the place as usual

    * kill proc_holder pt13
    - Finishes heretic spells
    - Sub 300 errors!
    - some touch refactoring to account for mansus grasp

    * kills proc_holder pt14:
    - revenant
    - minor bugfixing for heretic stuff

    * kills proc_holder pt14.5:
    - some missed stuff for revenant + heretic

    * kills proc_holder pt15:
    - alien abilities
    - more minor fixing
    - sub 100 errors. The end is nigh

    * kill proc_holder pt16? 17:
    - Finishes cult spells
    - sub 50 errors!
    - refactors the way charge works
    - renames / moves some signals

    * kills proc_holder pt final:
    - sdql spells
    - no more errors!

    * Bugfixes round 1

    * Various bugfixing
    - documentation done
    - give spell works
    - can cast spell gives feedback conditionally
    - is available takes into account casting ability

    * Some accidental reversions + fixes

    * Unit tests

    * Completely refactors jaunting
    - All bloodcrawling is now handled on the action itself instead of across various living procs
    - slaughter demons have their own blood crawls
    - jaunting dummies don't have side effects on destroy() anymore

    * Wizard spell logging and even more refactoring

commit 73a68dbbd8406d86ed6c12541a2a55677a5f2367
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Thu Jun 30 22:34:43 2022 -0700

    Automatic changelog generation for PR #68094 [ci skip]

commit 29b5eb7798cec025d74c79535743fa601e2603b1
Author: lizardqueenlexi <105025397+lizardqueenlexi@users.noreply.github.com>
Date:   Fri Jul 1 00:34:39 2022 -0500

    Fixed synthetic limbs to display the proper skin color. (#68094)

    Fixes a bug with the Limb Grower where synthetic limbs permanently revert to the default coloration when attached to a body. As it is now, the green coloration of synthetic limbs is stored in the mutation_color variable, which is nullified when attached. This makes all limbs draw with the default coloration - "albino" for humans and a neutral grey for other species. This PR updates the limb grower to use the species_color variable instead, which is maintained when attached/detached.

commit fcf0a347c535debc925da9930ffe2ae17f08b3ed
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Thu Jun 30 22:32:58 2022 -0700

    Automatic changelog generation for PR #68097 [ci skip]

commit 15054fe7c01610c27e3a5fcb289ce6d8c85eb46b
Author: NotZang <90739573+NotZang@users.noreply.github.com>
Date:   Fri Jul 1 01:32:54 2022 -0400

    Gives Sergeant-At-Armsky a unique description (#68097)

    * I noticed he didn't have his own description like all the other variants of Beepsky, so I thought I'd maybe give him one.

    Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>

commit 642877f915bc58bbb7b9183d221a0cf6b6f0eabf
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Thu Jun 30 22:29:24 2022 -0700

    Automatic changelog generation for PR #68083 [ci skip]

commit db3ee3a6cf2de817889e43a64586a756b2afed0d
Author: FinancialGoose <92416224+TheBoondock@users.noreply.github.com>
Date:   Fri Jul 1 01:29:20 2022 -0400

    Fixes teleporting gun with telekinesis (#68083)

    So when you fire a gun with the clumsy trait it has a chance to backfire at you and shoot yourself and if you dont have the no_drop trait will drop the gun on your location hence the teleporting gun bug with telekinesis. This pr adds a check to whether the user is firing via tele or not.

    Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>

commit f0ec14736c3fa1a83229885976795ded44c67cc0
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Thu Jun 30 21:52:21 2022 -0700

    Automatic changelog generation for PR #68055 [ci skip]

commit 100a9eeefb089808c771d8d422522622d83a0659
Author: Salex08 <33989683+Salex08@users.noreply.github.com>
Date:   Fri Jul 1 06:52:17 2022 +0200

    Adds cancel event option for midround random events (#68055)

    Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

commit 11aa6d48f37fbbd88f59f24667e364fec70e5ddc
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Thu Jun 30 20:17:31 2022 -0700

    Automatic changelog generation for PR #67856 [ci skip]

commit 709658026089495ae01e59cd06e80a69cc5943e4
Author: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Date:   Fri Jul 1 13:17:27 2022 +1000

    Updates the sprites for bullets (inflight), adds pellet sprites, redoes the thermal projectile sprites (#67856)

    imageadd: Improves the sprites for bullets, thermal projectiles, and introduces pellet sprites.

commit 4d04679994e0f1a29cc228d3bb25f827aa85ed8b
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Thu Jun 30 20:13:37 2022 -0700

    Automatic changelog generation for PR #68044 [ci skip]

commit 1047ebd3df0b403124e0ab10e8a0c6d67126c4ed
Author: Coffee <CoffeeDragon16@gmail.com>
Date:   Thu Jun 30 23:13:32 2022 -0400

    Resprites most of Chaplain's  choice beacon outfits (#68044)

    imageadd: new sprites for the Chaplain's crusader, ancient, profane and follower outfits.

commit a488fb40ba7c1e92f05ed158727e3d47eb0cfbf4
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Thu Jun 30 19:37:18 2022 -0700

    Automatic changelog generation for PR #68124 [ci skip]

commit 3e0aa74278186e463ad51b904f6c7acdb02604c4
Author: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Date:   Thu Jun 30 19:37:13 2022 -0700

    Hacking UI hotfix (#68124)

    fixed the issue

commit ec55908c62177ab14444895100ee2a40631776c0
Author: oranges <email@oranges.net.nz>
Date:   Fri Jul 1 13:04:46 2022 +1200

    Revert "remove y##f in h##l spray, adds furry pride spray" (#68120)

    Revert "remove y##f in h##l spray, adds furry pride spray (#68077)"

    This reverts commit 79cf75afdc0608faf769b3c919d9cfdae30122d8.

commit f99554bc4c749909072d4bc87c4c0944fc812b30
Author: Changelogs <action@github.com>
Date:   Fri Jul 1 00:25:04 2022 +0000

    Automatic changelog compile [ci skip]

commit 14e27b2c2d2e852d3de73ba77d52fbce99149654
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Thu Jun 30 17:11:28 2022 -0700

    Automatic changelog generation for PR #67967 [ci skip]

commit 2b1d231f684cf5b023607a245c6b553b2c9fe6d5
Author: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Date:   Thu Jun 30 17:11:24 2022 -0700

    Misc TypeScript conversions (#67967)

    About The Pull Request

    An atomization of #67809.

    This PR aims to convert some miscellaneous UIs into TypeScript. Some of these are low hanging fruit, don't hate me, I am working up the self hatred to do more.
    Why It's Good For The Game

    TypeScript is objectively better and provides great tools to debug code. We should really work to just convert all the UI into TSX
    Changelog

    cl
    code: Refactored a large number of TGUI interfaces into TypeScript. If something's broken, report it!
    /cl

commit 65d748ff6525477f67e97912333043653f410484
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Thu Jun 30 16:43:44 2022 -0700

    Automatic changelog generation for PR #68086 [ci skip]

commit ca79dcb6301cea1e755c7a6579a908c68c0e513f
Author: ShizCalev <ShizCalev@users.noreply.github.com>
Date:   Thu Jun 30 19:43:41 2022 -0400

    Makes gas filters smaller (#68086)

commit 83544552f0f89a363f1264fcd969cd2e3b2cafa2
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Thu Jun 30 16:41:46 2022 -0700

    Automatic changelog generation for PR #67674 [ci skip]

commit 6b73d4fcd33c0501846c987460a768b9c42dfbb1
Author: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
Date:   Thu Jun 30 20:41:42 2022 -0300

    Reworks (and nerfs) Hypernob internals for plasmamens (#67674)

commit 8a614c8f2a05267679ac21473fcf89f0372d8d4e
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Thu Jun 30 14:27:11 2022 -0700

    Automatic changelog generation for PR #68077 [ci skip]

commit 79cf75afdc0608faf769b3c919d9cfdae30122d8
Author: chesse20 <chesse20@gmail.com>
Date:   Thu Jun 30 14:27:07 2022 -0700

    remove y##f in h##l spray, adds furry pride spray (#68077)

commit 4adbdce49bce4097048482e594add8ca221993d3
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Thu Jun 30 13:44:33 2022 -0700

    Automatic changelog generation for PR #67285 [ci skip]

commit 294c89a32872168a5eb71bbdc9861f83db5360e4
Author: OrionTheFox <76465278+OrionTheFox@users.noreply.github.com>
Date:   Thu Jun 30 14:44:28 2022 -0600

    Lets SAW tools (and PKC) cut trees, MINING tools break rocks, and fixes e-blades cutting while off (#67285)

    * Adds TOOL checks combined with the lists
    * Chainsaws are now slow when turned off, and are pre-nerf speed when on
    * Adds a better disallowed_tools check

commit 77c9ab74d9281905e62c5d0aac1e082048801d33
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Thu Jun 30 02:38:59 2022 -0700

    Automatic changelog generation for PR #68065 [ci skip]

commit ae8cb8147bfa2e9c2ffaceeec0d97c94a7361481
Author: ‮ittaG ordnasselA <974661+Hamcha@users.noreply.github.com>
Date:   Thu Jun 30 11:38:54 2022 +0200

    Allow Agent cards to use numbers in their names (#68065)

commit 07f5201136bd8d529b795f811c0c9249f6b6caa3
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Thu Jun 30 01:50:29 2022 -0700

    Automatic changelog generation for PR #68062 [ci skip]

commit 8bad64ccb0ad81ba8b2a7ee9d70cbc31f2dad83b
Author: Salex08 <33989683+Salex08@users.noreply.github.com>
Date:   Thu Jun 30 10:50:26 2022 +0200

    Blacklists placeholder food items in the random food generator (#68062)

    blacklist empty items

commit 8cfa97d06ae3aadd9b40f356cc1ce2bd2aafa98b
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Wed Jun 29 18:42:10 2022 -0700

    Automatic changelog generation for PR #68071 [ci skip]

commit 527abb12426526914088c4baef5ccfa053e999c3
Author: private-tristan <54422837+private-tristan@users.noreply.github.com>
Date:   Wed Jun 29 21:42:06 2022 -0400

    metastation library no longer has 2 air alarms (#68071)

    removes one, moves another air alarm.

commit acfbd1eb65b18ec5dabc16026d840ff0e3db5845
Author: Changelogs <action@github.com>
Date:   Thu Jun 30 00:21:52 2022 +0000

    Automatic changelog compile [ci skip]

commit bcb97d9da62b9c0d50456f24096d446d4a1311e4
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Wed Jun 29 11:17:47 2022 -0700

    Automatic changelog generation for PR #68037 [ci skip]

commit 848b6ef8359b1b52d5a755a20bf378e4c139b85b
Author: Profakos <profakos@gmail.com>
Date:   Wed Jun 29 20:17:43 2022 +0200

    Toppings for rootbread slices (#68037)

    Toppings for korta bread slices

commit 0065b6b9c22b9113175fbccc3382dc5b97a375de
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Wed Jun 29 11:16:39 2022 -0700

    Automatic changelog generation for PR #68050 [ci skip]

commit 4eaacab7922dc1639232ef077167b0a76952d267
Author: ReinaCoder <83892995+ReinaCoder@users.noreply.github.com>
Date:   Wed Jun 29 18:16:33 2022 +0000

    Resprites the Makarov (#68050)

    * sprites

    * fixes sprite

    * moves the supressor up one tile

    * slightly tweaks a few colours (un rose golds it)

    * handle changes

    * suppresor

commit 9a360b1301cb768b979db8b57449b7b4ac2135fb
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Wed Jun 29 11:15:53 2022 -0700

    Automatic changelog generation for PR #68056 [ci skip]

commit d1724973b92407ca393596ab282d021dab1d3381
Author: 13spacemen <46101244+13spacemen@users.noreply.github.com>
Date:   Wed Jun 29 23:15:47 2022 +0500

    Directional Shutters For All Station Maps (#68056)

    added directional sprites for window shutters
    gave dirs to all shutters and window shutters (except zigzag pattern ones) on icebox, kilo, delta, tram
    replaced SM shutters on kilo with radiation shutters

commit a15f98ea38f721f22f701740535659c1297b18ab
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Wed Jun 29 10:06:38 2022 -0700

    Automatic changelog generation for PR #67848 [ci skip]

commit c6e07de4feaeedefaaf8e984c2bded1a7364f7c8
Author: Salex08 <33989683+Salex08@users.noreply.github.com>
Date:   Wed Jun 29 19:06:32 2022 +0200

    Adds Material tab for the autolathe to dispense the desired mats one put in and fixes a condition (#67848)

    In the Autolathe, moves all the matts from construction to the new tab Material which allows you to dispense all the mats you put in
    Also fixes missing "=" operator which wouldnt let you print 10 or 25 stack immiadetly once you reached it

commit 4da91f392d662c4ea5adaa0f1397ed50b6a9981d
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Wed Jun 29 08:11:12 2022 -0700

    Automatic changelog generation for PR #68042 [ci skip]

commit 9a783d9808e97f74ad855032abb1a2e81098f884
Author: ReinaCoder <83892995+ReinaCoder@users.noreply.github.com>
Date:   Wed Jun 29 15:11:07 2022 +0000

    Updates the ghoulbot sprite to match the new mulebot sprite (#68042)

    resprites the ghoulbot to conform to the new 3/4 mulebot sprite

commit d79928445a2d5b9b7978382d0e256933150a729e
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Wed Jun 29 08:09:46 2022 -0700

    Automatic changelog generation for PR #68059 [ci skip]

commit 2abace74ece228a8fffc36d99bf90473f018a4cc
Author: Nichlas Pihl <nichlas0010@gmail.com>
Date:   Wed Jun 29 16:09:32 2022 +0100

    Fixes the Orion Trail not working properly when emagged (#68059)

    fixes the Orion not working properly when emagged

commit 0dfeab2ebdbfee4bafa4c61a7456996802099fc0
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Wed Jun 29 08:09:16 2022 -0700

    Automatic changelog generation for PR #67846 [ci skip]

commit bcd16397d3490eeb04946821425deb5ae491923d
Author: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Date:   Wed Jun 29 10:08:08 2022 -0500

    Fixes some soulstone issues, overall makes soulstone behavior more consistent (#67846)

    Fixes

        Inconsistent behaviour of the cult's sacrifices. #67014

    Soulstones had a if(client) check prior to making a shade, which failed if the mob wasn't in their body.
    So, we just grab the ghost before making a shade on capture.

    This also allowed for the weird hack from #63707 to become unnecessary, so I reverted it.

        Fixes

        Cult can no longer shade soul-less mobs. #66629

    If you used a soulstone on a mindless mob, it would pass in is_sacrifice_target(null), which would always succeed if the cult team had an objective without a target. Which cults do have.

        Overall increases readability and reduces copypaste of soulstone code, making it a tad more consistent.

    Moved a lot of copy+pasted "theme" code to the appropriate update_x procs. Cleaned up code in general, as is tradition with cult code.

commit 9073e692ae8d095595f128b822c3cd2d7a5f4ebd
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Tue Jun 28 19:55:37 2022 -0700

    Automatic changelog generation for PR #67938 [ci skip]

commit fa722f6981711df0a63944d59e6b7899c60859e6
Author: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
Date:   Tue Jun 28 22:55:32 2022 -0400

    Patch out a method to bypass xenobio progression (#67938)

    * Patch out a method to bypass xenobio progression

    * Allow sentient humans to still turn into a random slime

    * Apply suggestions from code review

    Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>

    * Use helper procs

    * Add readability change to earlier lines as well

    Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>

commit 4ea9cf628b4738b4d05112f6d31a98fe4526a0be
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Tue Jun 28 19:52:30 2022 -0700

    Automatic changelog generation for PR #68048 [ci skip]

commit 7e49bc5b26ce769b68260a6dcd1d3892da5f1063
Author: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Date:   Tue Jun 28 21:52:25 2022 -0500

    Fixes being able to hack a comms console if it gets depowered or broken mid hack (#68048)

    Fixes hacking consoles after they're unpowered

commit b06f7fa6030e2be2634cdf97db5579835d9faa04
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Tue Jun 28 19:51:55 2022 -0700

    Automatic changelog generation for PR #68047 [ci skip]

commit 24b4109f1cdb92e55d1ddda0073425b824cc2e5f
Author: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Date:   Tue Jun 28 21:51:51 2022 -0500

    MULEbots uses the blood walking element (now component), fixes MULEs tracking blood infinitely  (#68047)

    Blood walking is a component, MULES use blood walking

commit c87ac01a65de8f7eab4d3d2890f26e1bc294d735
Author: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Date:   Tue Jun 28 17:34:37 2022 -0700

    Add style guide expectations for macros (#67868)

    Wake up honey new Mothblocks style guide just dropped

    Rendered

    Read closely as I make some new expectations that I think are very good for readability but that we don't tend to employ.

    @tgstation/commit-access

commit b59521952d38b50af0c5cfbd2cb5c393d4dd269d
Author: Changelogs <action@github.com>
Date:   Wed Jun 29 00:21:16 2022 +0000

    Automatic changelog compile [ci skip]

commit 8ad724558d6a88892d2bc40d8061ee203f153226
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Tue Jun 28 13:42:07 2022 -0700

    Automatic changelog generation for PR #68040 [ci skip]

commit 6f72388da163124caf4d03b4db27f01c38371a8d
Author: Salex08 <33989683+Salex08@users.noreply.github.com>
Date:   Tue Jun 28 22:42:01 2022 +0200

    fixes headspike runtime error and bug (#68040)

    * fixes headspike runtime error and bug

    * requested change

    * Revert "requested change"

    This reverts commit ab3aefa180ff32cee00c16b8baed3db1fe1b1fb0.

    * Revert "fixes headspike runtime error and bug"

    This reverts commit ed1f76e88b709064df0dbde655ca618ddbb78b3d.

    * actual fix

commit d8e0279dd359bdd8245aac73bb68669a68511726
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Tue Jun 28 08:01:57 2022 -0700

    Automatic changelog generation for PR #67898 [ci skip]

commit 9a086c1ff435662ab71ce15abf50c8356da18468
Author: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
Date:   Tue Jun 28 11:01:53 2022 -0400

    Makes the noblium gas shells experiment explicitly clear that it means hypernoblium (#67898)

commit f4ecd9c6e6ad2056360ea8cda2b991c47219d8f0
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Tue Jun 28 07:26:05 2022 -0700

    Automatic changelog generation for PR #67712 [ci skip]

commit f4512c98f50652f39f82fe5bea8e85d28ef80e83
Author: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
Date:   Tue Jun 28 11:26:00 2022 -0300

    Watering cans for botany (#67712)

    * Watering cans for botany

    * Clean up weird bugs by just coding the feature out

    * 70u for the old can and /// like it should be

    * Updated can icons courtesy of Wallem

    * Swaps botany buckets for watering can on maps

    * A line

commit afc099ab7316db37b14c1c1569919ec65fa1e1ea
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Tue Jun 28 07:25:40 2022 -0700

    Automatic changelog generation for PR #67586 [ci skip]

commit c9b3d9ab6780a4ce94c57f1bad3bcc4bb00572a5
Author: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Date:   Tue Jun 28 10:24:43 2022 -0400

    Fixes gravity gen sound & off gen loops (#67586)

    * Fixes some minor problems with grav gen

    * Fixes gravity generator completely obliterating your ears by having several gravity generator soundloops (now there's only 1) by starting soundloop on creation, during parent's Initialize (so it doubled since things like grav gen part (a generator inside the generator??), starts a soundloop too, now the station's gen just starts the loop if it spawns on)
    * Fixes offstation gravity generator looking like it's turned on when it isn't, and fixes it having sound when it's off.
    * Removes /station grav gen subtype, because it was frankly useless.
    * Adds some early returns to gravity generator's process, and removes the unused set_state proc, which was replaced with enable() and disable() in the radiation rework.
    * Lastly, removes grav gen parts from QDEL_NULL'ing their soundloop twice, since they called parent's Destroy() that did it for them anyways.

    * fixes minor typo

    Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

    * more grav gen code improvement

    This commit is solely focused on code improvement.

    * gravity_field and sound_loop was moved from gravity generator to main gravity generator, since they're the only place it was used.
    * Added checks for a main part across generator part procs, rather than using ? randomly.
    * Autodocs all Gravity generator vars
    * Adds better var names in for() loops, makes use of as_anything, and renames parts to generator_parts.
    * Adds some better var names in general.

    * Adds an UpdatePaths

    * fixes infinite del loop

    * fix to harddels

    * Update gravitygenerator.dm

    * merge conflict moment

    * fix maps

    * fixes merge conflict

    * Update gravitygenerator.dm

    * updates the updatepath

    * Update gravitygenerator.dm

    * Update gravitygenerator.dm

    * merge conflict

    * set_broken()

    * Update gravitygenerator.dm

    * unregister signal on destroy

    * Update gravitygenerator.dm

    * middle part

    * Update gravitygenerator.dm

    * more improvement + moves grav code to grav file

    * Update gravitygenerator.dm

    * handles map merge conflicts

    Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

commit 78050509159b19ffcf73fdf0da295efe5e3ba268
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Tue Jun 28 07:22:10 2022 -0700

    Automatic changelog generation for PR #67916 [ci skip]

commit d6fa504c2b55f9a6803e7efc0eff1e90b9de8fc8
Author: Sebbe9123 <31856346+Sebbe9123@users.noreply.github.com>
Date:   Tue Jun 28 16:22:05 2022 +0200

    Ert medic belts (#67916)

    * Adds belt

    * Adds belt to ERT medic

commit c19b3e0010db493c41759ed2ce42a1c97bb5cbd0
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Tue Jun 28 07:12:14 2022 -0700

    Automatic changelog generation for PR #67971 [ci skip]

commit c62195450d6b509b545ed7b2b76c4627621c9f29
Author: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Date:   Tue Jun 28 07:12:08 2022 -0700

    TGUI Say no longer deletes your currently typed message on history (#67971)

    first commit

commit c50c32e018c2440603ac7d83701db2d485e838f8
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Tue Jun 28 06:02:31 2022 -0700

    Automatic changelog generation for PR #68035 [ci skip]

commit 0c6dfc43f36c0d59190d9c53af8962897e19177a
Author: Salex08 <33989683+Salex08@users.noreply.github.com>
Date:   Tue Jun 28 15:02:27 2022 +0200

    Brand of Dance spell fix (#68035)

    spell fix

commit e9e7b5ed85da2d5d96beffa821a7354979c2bef0
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Tue Jun 28 05:58:50 2022 -0700

    Automatic changelog generation for PR #68030 [ci skip]

commit 43d09117ff1b8bbdd332beac3215008eb5c18886
Author: Y0SH1M4S73R <legoboyo@earthlink.net>
Date:   Tue Jun 28 08:58:45 2022 -0400

    Fixes a runtime when inflicting a blunt wound on an armless human (#68030)

    fixes a runtime when inflicting a blunt wound on an armless human

commit 511aa8a5ab47d1154a0b179d58682dc70db28f82
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Mon Jun 27 19:24:27 2022 -0700

    Automatic changelog generation for PR #67854 [ci skip]

commit a96df30028be276c82c3c2af592865321b664e11
Author: san7890 <the@san7890.com>
Date:   Mon Jun 27 20:24:23 2022 -0600

    Ice Box Station Kitchen Rework - Worthy Of The Name (#67854)

commit 2baaf5aa9962d8d03326de92c1bf719372c9648f
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Mon Jun 27 18:48:20 2022 -0700

    Automatic changelog generation for PR #68034 [ci skip]

commit 3e1c5dc7a0cd0f291e250971f26d44be0a84b969
Author: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Date:   Mon Jun 27 20:48:16 2022 -0500

    Fixes some door access on Deltastation. (#68034)

    Fixes some door access on deltastation.
    - Service Hall
    - Shipping Room

commit 917f57c7204e841b524706628fd19fe8402e3df8
Author: san7890 <the@san7890.com>
Date:   Mon Jun 27 19:47:52 2022 -0600

    Adjusts Door Mapping Helper Layers (#68032)

    Hey there,

    Access helper layers are great and all, but they tended to have this sort of effect on maps where since they were on the same layer as all of the other mapping helpers for doors, they would just tend to cover up the smaller sprites the others used, like this:

    So, this just switches up the layers a bit by having a new layer called `DOOR_ACCESS_HELPER_LAYER` (that is still above `OPEN_DOOR_LAYER`) just for Access Helpers, while every other airlock helper takes the `DOOR_HELPER_LAYER` (like before), which has been increased by 0.01 more funny number.

    Ok?

commit bd1893319a71e82c2ec2cf3febedd6e903634dad
Author: Changelogs <action@github.com>
Date:   Tue Jun 28 00:25:10 2022 +0000

    Automatic changelog compile [ci skip]

commit ee366187275a00716e160f1a781aa77511bd4e6a
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Mon Jun 27 14:14:47 2022 -0700

    Automatic changelog generation for PR #68028 [ci skip]

commit 7e2c6dca6a1dfd767363ff3997e905204705e048
Author: Comxy <tijntensen@gmail.com>
Date:   Mon Jun 27 23:14:43 2022 +0200

    martial arts bug fix (#68028)

commit 3d6800a997f2c17437cf7271314a86cef8eb8d05
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Mon Jun 27 14:13:33 2022 -0700

    Automatic changelog generation for PR #68013 [ci skip]

commit 4a8ba544eab855b33dbb37ff39f201cc46647dc1
Author: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Date:   Mon Jun 27 17:13:30 2022 -0400

    Snails have eyes again (#68013)

    * Fixes snail eyes being errors

    * Fixes the screenshot for the snails (smh there was an error in there Mothblocks)

commit 45609765f1465b31292f62bf4dd5a2fc8348c0ef
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Mon Jun 27 14:10:49 2022 -0700

    Automatic changelog generation for PR #68015 [ci skip]

commit 5512a1a12c0aa7f17c7606d0108236b45480d6df
Author: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Date:   Mon Jun 27 16:10:45 2022 -0500

    Fixes the frozen status trait never being applied (#68015)

    * Fixes the frozen trait never being applied

    * Don't apply if we already have the trait

    * Check the target obj

commit e3a497f700898de4e9a01fe78e1e7aa37cdfa46b
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Mon Jun 27 14:09:22 2022 -0700

    Automatic changelog generation for PR #68017 [ci skip]

commit 1a568a5e4c6af218f895fa18902c6d52aa443fbe
Author: dragomagol <66640614+dragomagol@users.noreply.github.com>
Date:   Mon Jun 27 14:09:18 2022 -0700

    Update brokentiling to match new tiles (#68017)

    update brokentiling

    Co-authored-by: tattle <article.disaster@gmail.com>

commit 708033365209292bd1214fde58aa1d0edb5efb98
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Mon Jun 27 14:02:13 2022 -0700

    Automatic changelog generation for PR #67944 [ci skip]

commit 79ae96d38bd69ffd2d94ebe2c4cc86aab2510402
Author: san7890 <the@san7890.com>
Date:   Mon Jun 27 15:02:08 2022 -0600

    Unearths A Covered Keycard Device in IceBoxStation (#67944)

    * Unearths A Covered Keycard Device in IceBoxStation

    Hey there,

    An electric sign was covering up the CE's Keycard Device (which looks ugly and confusing since you see the sign through the window, and you can't click on it).

    * Fixes merge conflicts and decalling

    may as well flatten some keys while i'm in the area y'know

commit 9904c5026b35b5e0067bb5c9f1655ffcc30754e4
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Mon Jun 27 12:17:50 2022 -0700

    Automatic changelog generation for PR #68020 [ci skip]

commit cb36fbca8a0662d573a6067e55a92590d3ca74e1
Author: cinder1992 <cinder1992@users.noreply.github.com>
Date:   Mon Jun 27 20:17:46 2022 +0100

    Fixed DeltaStation mining firelock placement (#68020)

    DeltaStation has a firelock placed adjacent to it's mining shuttle, meaning that once the shuttle departs it instantly triggers the firelock. This PR removes that firelock

commit a84dc2bfb76c954edfe7914dd6bf7e8048701faa
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Mon Jun 27 12:17:01 2022 -0700

    Automatic changelog generation for PR #68022 [ci skip]

commit 3ff5e9941c01a1e065d9b7c1623242c73252cd52
Author: Profakos <profakos@gmail.com>
Date:   Mon Jun 27 21:16:57 2022 +0200

    Replaces the tram generic construction console with an aux construction console (#68022)

    * Replaces the generic construction console on tramstation with an aux console

    * Readds a decal I accidentaly removed

commit 2aa62cd63b04f9c187ee80f3c12d66dde7318bd4
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jun 26 23:41:04 2022 -0700

    Automatic changelog generation for PR #67683 [ci skip]

commit b90a282074260ef36383d9f7c796650ed8ab4a78
Author: Son-of-Space <63861499+Son-of-Space@users.noreply.github.com>
Date:   Sun Jun 26 23:41:00 2022 -0700

    Revamps derelict1.dmm into a proper derelict (#67683)

    Replaces the barren derelict1.dmm with something of substance.

    This is the old version for those of you who were curious.
    And here is the new.

    This gives the ruin a little bit of extra panache, ties the world a bit more together, and is a nice homage to our sister server.

commit 3881f22ae49abffdf095ad411e68cec0abb0c580
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jun 26 23:04:11 2022 -0700

    Automatic changelog generation for PR #67884 [ci skip]

commit 99fce487d981820fdc536e6899f59fa3ab2a9b6c
Author: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Date:   Mon Jun 27 01:04:08 2022 -0500

    Refactors Knock to use Connect Loc (#67884)

    * Knock uses a new connect loc signal.

commit 53f19b85b36455b9bb904902333ecf4b32e2a73a
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jun 26 17:48:48 2022 -0700

    Automatic changelog generation for PR #67937 [ci skip]

commit b864589522f4f14183270a62dbea3df8028d2eb6
Author: 13spacemen <46101244+13spacemen@users.noreply.github.com>
Date:   Mon Jun 27 05:48:44 2022 +0500

    Examine Blocks (#67937)

    * adds examine_block class and a define for it
    made some outputs in chat use examine_block

    * add examine block to tip of the round
    clean up some ------ and ***** seperators
    added <hr> tags to divide sections
    cleaned up botany plant analyzer text outputs

    * bullet points for reagents

    * removes <hr> from mobs examines
    fixes AIs and borgs having a double "That's Default Cyborg!"
    removed some \n newlines
    minor code edits

    * removes all <hr>
    bold names in get_examine_name()
    cleaned up plant analyzer output formatting
    adjust colors and margins of examine_block class
    remove \a from borg examine()

    * remove max-width from css

    * changed margin and padding units from px to em

    * minor edit

commit 1cc53e4a7fffb67dbe967fe85b00443bd227d5e3
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jun 26 17:47:39 2022 -0700

    Automatic changelog generation for PR #68003 [ci skip]

commit 8a72cd9997d76483002203c33ac1adf8934bd409
Author: Coffee <CoffeeDragon16@gmail.com>
Date:   Sun Jun 26 20:47:35 2022 -0400

    Piano broken sprite, helper, and hit sound (#68003)

    * Does the PR

    * fixes playsound locations

commit d031e26824fb9d555298685dc0c714b221861235
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jun 26 17:45:08 2022 -0700

    Automatic changelog generation for PR #67864 [ci skip]

commit 73acc17d9c6d5b574bac314bb2f1577df5b106f6
Author: Y0SH1M4S73R <legoboyo@earthlink.net>
Date:   Sun Jun 26 20:45:03 2022 -0400

    fixes the worn sprites of the material knight armor (#67864)

    About The Pull Request

    The up and down directions of the greyscale knight armor's worn sprites were two pixels too high. I moved them down by that much.
    Why It's Good For The Game

    Fixes #67861
    Changelog

    cl
    fix: The runic knight helmet's worn sprites have had their alignment fixed.
    /cl

commit ce7b253a06ba4b90d3177f17161c0a4804f65303
Author: Changelogs <action@github.com>
Date:   Mon Jun 27 00:34:23 2022 +0000

    Automatic changelog compile [ci skip]

commit 39d337a55090a8485d79d162d4dd1637961b7ad3
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jun 26 17:32:31 2022 -0700

    Automatic changelog generation for PR #67877 [ci skip]

commit aa4fafa15adc8471057e58f9858ac27eb2be904c
Author: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
Date:   Sun Jun 26 20:32:28 2022 -0400

    Fix display formatting issue with operating computer UI (#67877)

    Fix display formatting issue with operating computer ui

commit 9132ecb9f8c86d772a9f4e15fc8ca4702d786882
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jun 26 17:29:20 2022 -0700

    Automatic changelog generation for PR #68012 [ci skip]

commit f4d2322c1d50220042400921559aa02dedabea52
Author: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
Date:   Sun Jun 26 20:29:17 2022 -0400

    Fixes the beach gateway to have atmos that's breathable (#68012)

    Did you know that the base type of the beach turf has different atmos to literally every other tile in that gateway?

commit ea493520a956c275161b7425dd72caabecc3f132
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jun 26 17:25:22 2022 -0700

    Automatic changelog generation for PR #67939 [ci skip]

commit 006990bd96fec56ad5c756b7dfb1333ec66daa3a
Author: san7890 <the@san7890.com>
Date:   Sun Jun 26 18:25:18 2022 -0600

    Fixes IceBox Disposals Being Broken in Maintenance (#67939)

    Fixes IceBox Disposals

    My bad, I broke it in #67706 (9ee1228a94a4899b73506489e62d8f17ff6d78aa).

commit 4db6afd71ae149e4b2a1f857f47303f2465c4889
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jun 26 17:24:13 2022 -0700

    Automatic changelog generation for PR #67955 [ci skip]

commit 31d6da68d03c38b8d5c0bdbe6ae07174056fe62d
Author: Profakos <profakos@gmail.com>
Date:   Mon Jun 27 02:24:10 2022 +0200

    Fixes an ert bounty hunter's outfit, and the bounty hunter ID in general (#67955)

    Fixes an ert bounty hunter's outfit, and the bounty hunter ID

commit acde596468e5f2b82aa3ec573f458b9f82e32ba0
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jun 26 17:23:49 2022 -0700

    Automatic changelog generation for PR #67957 [ci skip]

commit ddd83a192e1de5227695493d00260f263cf16217
Author: Coffee <CoffeeDragon16@gmail.com>
Date:   Sun Jun 26 20:23:45 2022 -0400

    Glass floor cracking now uses overlays, plasma glass floors display properly (#67957)

    * Renames plasma floor damage states

    * Fixes bug, updates to overlays

commit 31b339d594cb979a5bb59a37e65fc3d81f5734f5
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jun 26 17:20:56 2022 -0700

    Automatic changelog generation for PR #67961 [ci skip]

commit 940f8348f8f9d8bce826acd80bed4c47712c3b80
Author: Coffee <CoffeeDragon16@gmail.com>
Date:   Sun Jun 26 20:20:53 2022 -0400

    Fixes regenerative core implants not functioning (#67961)

    * Repaths regen_core

    * updates var names

    * updates var name

commit f556221182b2dcc1d87a6082a08b4f0a4e61b4d8
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jun 26 17:16:42 2022 -0700

    Automatic changelog generation for PR #67976 [ci skip]

commit a456add569162a46f15fd1c83dfebc88307b10c9
Author: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
Date:   Sun Jun 26 20:16:38 2022 -0400

    Fix reinforcement nukeops not getting their HUDs (#67976)

commit 935fbbe9c32d524620b2693b76b0cedb671c1f52
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jun 26 17:15:40 2022 -0700

    Automatic changelog generation for PR #67985 [ci skip]

commit 8dcbe5f730c7048b51b6361da29d7e627ca9a6d1
Author: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com>
Date:   Mon Jun 27 01:15:37 2022 +0100

    Scrubbers will now turn off when connected pipe disconnects. (#67985)

    Scrubber thing.

    Scrubbers will now turn off on atmos machinery disconnect() proc call.

commit c235c0b049a195dfdf7d33ec48525118630fe920
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jun 26 17:15:24 2022 -0700

    Automatic changelog generation for PR #67987 [ci skip]

commit e792e7f631f1d2b214dbe5be5522eefc67dcddeb
Author: Andrew <mt.forspam@gmail.com>
Date:   Mon Jun 27 03:15:21 2022 +0300

    Fullscreen, status bar hiding, chat input following the theme (#67987)

    * Initial commit

    * input is colored according to the theme

    * removed unused setting

commit 2002cb801a3829cc9aa982e004e369831ba8d156
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jun 26 17:13:47 2022 -0700

    Automatic changelog generation for PR #67993 [ci skip]

commit 1f38917c65a359d2c17ab9cf53de4f40ad588614
Author: private-tristan <54422837+private-tristan@users.noreply.github.com>
Date:   Sun Jun 26 20:13:44 2022 -0400

    meteor with engines strapped to it rocks now have air  (#67993)

    Update emergency_meteor.dmm

commit c128c08a8b1da33fd58894d520b3b8448b6c394f
Author: san7890 <the@san7890.com>
Date:   Sun Jun 26 18:12:19 2022 -0600

    Fixes Icon for the Station Crash Effect (#67994)

    Hey there,

    Apparently when balloons were split out of `items_and_weapons.dmi`, this was left behind causing stuff like this to happen:

    Pretty goofy, right? Let's update the DMI pathing to ensure we don't see the silly purple/white cube when we really want to see an effect that nearly no one knows of (it's the thing that helps you crash the shuttle into a station, I think?).

commit 8ae8761c406f62e17305f59f7229bb669e584215
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jun 26 17:11:53 2022 -0700

    Automatic changelog generation for PR #67995 [ci skip]

commit 118641cfb0299ab45121de39889bfc0ac67958c1
Author: san7890 <the@san7890.com>
Date:   Sun Jun 26 18:11:50 2022 -0600

    MetaStation Brig Underfloor and Decalling Audit (#67995)

    Hey there,

    I was enjoying a nice round of ss13 a few days ago, when I noticed this:

    That's very odd! The caution line was painted in game, but the decals overlapping in such a manner was definitely in the map. So I decided to hunt down and standardize the decalling for the brig to ensure that you wouldn't have to do this. While in the area, I found a lot of weird stuff like:

    * Unconnected shocked windows

    * Atmospherics/Wires running under tables

    * More Decalling Weirdness

    So, I just straighted that all out to the point where it hopefully looks better now.

commit 4b3845a740d5b3cdcf2fd0204055b44f70d29da2
Author: san7890 <the@san7890.com>
Date:   Sun Jun 26 18:10:41 2022 -0600

    Landmark Opportunities - In them their OBJ_LAYER hills (#67996)

    Hey there,

    Landmarks were in the `TURF_LAYER`... layer, so that means you would see bizarre stuff like this in mapping:

    Really obtuse to have everything, and I do mean everything, just be on the same layer of the turf just due to how often stuff gets covered up and left behind. So, I decided to make every single landmark (except for the jobstart ones, which were already on `MOB_LAYER`) to the `OBJ_LAYER` layer. This looks a lot better to my eyes, and the results speak for themselves:

commit 5377b470d85cd7fa3c38b1c16beb078ccaf860ab
Author: san7890 <the@san7890.com>
Date:   Sun Jun 26 18:07:55 2022 -0600

    Updates how holopads look like in map editors (#67997)

    Hey there,

    There was this really picky thing with Holopads being in `FLOOR_PLANE`, so you would get stuff like this since wires+pipes are in the `GAME_PLANE`:

    Looks ugly, right? So, let's set the holopad to `GAME_PLANE` for mapping purposes (since it'll help you visualize what you're looking at in game), and have it set to `FLOOR_PLANE` on Initialize. If we didn't set it on mapload, you'd get this really jarring shadow effect that doesn't really feel "in-place".

commit 2486950c0ef34d603c41daf3f78671456048c208
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jun 26 17:01:50 2022 -0700

    Automatic changelog generation for PR #68004 [ci skip]

commit 707fbfac7e11837865d70587011aa8197b1d0c35
Author: san7890 <the@san7890.com>
Date:   Sun Jun 26 18:01:45 2022 -0600

    [MDB Ignore] Shifts all (sane) varedited signs to directionals  (#68004)

    * [MDB Ignore] Shifts all (sane) varedited signs to directionals

    Hey there,

    So we have these cool new sign directionals now, but we still have all of the old pixel-shifted pre-fabrications lying around. So, I added an UpdatePaths (as well as Updated the Paths) to be a bit better at using directionals, because directionals are pretty neato.

    This should update every single var_edit that used the proper 32 pixelshift (some of them used 28, and I'm unable to account for that automatically with current tooling) into a proper subtype. Mappers tend to learn by looking at well established maps, so it's always important to ensure that the well-established maps use the most recent tooling (i.e.: bring them up to the surface) and avoid needless excess lines in maps.

    * The Commit With All The Maps

    OH GOD OH FUCK

    * Renames the UpdatePaths

commit 6ca5df16b7ae1edb8d9caa777065e327c93dea87
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jun 26 17:00:46 2022 -0700

    Automatic changelog generation for PR #68006 [ci skip]

commit eb9d793ad5e0fed93569d78f46baf12b0eda63af
Author: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
Date:   Sun Jun 26 20:00:42 2022 -0400

    [MDB Ignore] Makes mining and labor shuttle home docks their own type, rather than varedits (#68006)

    I'll have to do the others at some point

    I don't want to, but it'll happen

commit bae0c2815f707c0c633b040abc76e0122c2d9c7a
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jun 26 17:00:00 2022 -0700

    Automatic changelog generation for PR #68007 [ci skip]

commit e6a8ec6002dd3172b8717998c995f33688b4f6eb
Author: IndieanaJones <47086570+IndieanaJones@users.noreply.github.com>
Date:   Sun Jun 26 16:59:56 2022 -0700

    Gorillas Move Slightly Faster When Not Holding Anything (#68007)

    Gorilla speed change

commit e0c9eb3519ba4b5eff4f228ed007700a1537ac96
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jun 26 16:59:10 2022 -0700

    Automatic changelog generation for PR #68008 [ci skip]

commit 04e99080b3df3a68ec7676b2fea62af269a59e06
Author: ‮ittaG ordnasselA <974661+Hamcha@users.noreply.github.com>
Date:   Mon Jun 27 01:59:06 2022 +0200

    Fixes items disappearing in the suit storage slot (#68008)

    Original fix by SabreML
    Ported from github.com/pariahstation/Pariah-Station/pull/768

commit 2843f6c188cbae95a95a79bcd08b2e553a18ee00
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jun 26 16:58:24 2022 -0700

    Automatic changelog generation for PR #68009 [ci skip]

commit 99e5714184bbb4dd98dbc7f68f53d993a1573b76
Author: IndieanaJones <47086570+IndieanaJones@users.noreply.github.com>
Date:   Sun Jun 26 16:58:20 2022 -0700

    Fixes Invisible Equipment on Monkified Monkeys (#68009)

    Fix invisible monkey equipment

commit e93ed74a80501cb5b7dc9b05ba12cef8c72b5534
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jun 26 16:58:15 2022 -0700

    Automatic changelog generation for PR #68010 [ci skip]

commit 66a8b43aefb97279f0071b6adcd4771ea0bd0f82
Author: ‮ittaG ordnasselA <974661+Hamcha@users.noreply.github.com>
Date:   Mon Jun 27 01:58:11 2022 +0200

    Add monitor decryption key to Listening post (#68010)

commit cf8d705403bc0303b291ce1c03026b06a3f408e1
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jun 26 16:56:21 2022 -0700

    Automatic changelog generation for PR #68018 [ci skip]

commit 42dc0d9c167e463295d9866222d78e0c7ac16779
Author: 13spacemen <46101244+13spacemen@users.noreply.github.com>
Date:   Mon Jun 27 04:56:17 2022 +0500

    Gave dirs to all MetaStation shutters (#68018)

    gives dirs to all shutters on metastation

commit 9bb216634eda9ea0efeb6a0e4ab142fadbe09f2a
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sun Jun 26 14:24:59 2022 -0700

    Automatic changelog generation for PR #67986 [ci skip]

commit 583918b16a67e4d28e92a4a93c391cb043a01286
Author: 13spacemen <46101244+13spacemen@users.noreply.github.com>
Date:   Mon Jun 27 02:24:56 2022 +0500

    Adds Current Map To Hub Entry (#67986)

commit 3839bd4d751d5a4fc5b6e5d71de8f60e9130e875
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sat Jun 25 19:25:23 2022 -0700

    Automatic changelog generation for PR #67984 [ci skip]

commit b4eab1c357684eafe4f83e6559d29c88d920758f
Author: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
Date:   Sat Jun 25 22:25:19 2022 -0400

    Converts all* of the times in the food files into SECONDS (#67984)

    drink your processable component copy-paste

commit 1f1f9dc38e38e14abec300628d5d5bd173d362f1
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sat Jun 25 18:11:52 2022 -0700

    Automatic changelog generation for PR #67823 [ci skip]

commit 9bffdf96ed82184263e44863173046210d3934f2
Author: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Date:   Sat Jun 25 18:11:48 2022 -0700

    Dynamic 2022 part 1 tweaks (#67823)

        Renames low_pop_minimum_threat to low_pop_maximum_threat. Untested but it'll fail CI if it doesn't work
        Increases threat_per_midround_roll from 6.5 to 7, to slightly shift number of midrounds.
        Lowered the number of roundstart traitors. I intend to do more in the larger part 2 PR, but the crux of it is that Dynamic 2022 part 1 creates a lot of midround traitors, which is great, but now that means we can lower the amount of total roundstart traitors. This changes it from 1 traitor every 24 people to 38. Eventually I want to make traitor not scale so hard, but it'll be tough to do that and make sure it doesn't just roll extremely chaotic rulesets in its place.

commit 1efeb8fce904a526f0170e9a886b1c8afe91885f
Author: Changelogs <action@github.com>
Date:   Sun Jun 26 00:26:25 2022 +0000

    Automatic changelog compile [ci skip]

commit 446fd1d098e67ef4ef9cfe84bd598c246abd1c4b
Author: san7890 <the@san7890.com>
Date:   Sat Jun 25 13:57:51 2022 -0600

    Patches Rad_Area Directional Sign Helpers (#67945)

    Patches Rad_Area Directional Sign

    Hey there,

    I was trying to do something much more ambitious, but that completely fell through. I did catch this little mistake that caused this to occur though:

    This PR just makes it the correct pathing for the directional helpers.

commit a7813db2810aee569cb6523f44ac98f90ac7c65a
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sat Jun 25 12:54:28 2022 -0700

    Automatic changelog generation for PR #67963 [ci skip]

commit 5c30dd646228392f218cf371fc44ecba4148e4c4
Author: castawaynont <76170211+castawaynont@users.noreply.github.com>
Date:   Sat Jun 25 12:54:24 2022 -0700

    Allows roundstart access to icebox atmospherics APC (#67963)

    Allows Icebox's atmospherics APC to be accessible roundstart by moving a console.

commit 019f4940a2f74edeebcf422c2ab164bd0c2c0bfa
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sat Jun 25 12:47:13 2022 -0700

    Automatic changelog generation for PR #67954 [ci skip]

commit eaf161ffc07b45bda922fc1f1ef6d03d34714aad
Author: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
Date:   Sat Jun 25 15:47:09 2022 -0400

    Fix freon reacting instantly (#67954)

    So why this was happening was because in DM, - has a higher precedence than **, so instead of a nice Gaussian function, this was made, where the y-coordinate represents the amount of freon that's made as a percentage of the total possible amount, which meant that unless your temperature was basically right at 800K, the freon, even thousands of moles of it, would be made instantly (or nearly instantly).

commit 83ea2aa81a443f8dd978b1fe16b85d088ece587a
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sat Jun 25 12:45:34 2022 -0700

    Automatic changelog generation for PR #67970 [ci skip]

commit 0b267183dbbc0cc5d6230e2b5999104900eb03e0
Author: san7890 <the@san7890.com>
Date:   Sat Jun 25 13:45:30 2022 -0600

    Removes the Exclamation Point from the Server Hop Verb (#67970)

    Removes the Exclamation Point from Server Hop

    Hey there,

    Recently, I haven't been able to directly connect to Sybil. However, I am able to easily get onto Campbell, and use the Server Hop command to readily get over there. However, one small snag I've ran into is that the `Server Hop!` verb means that you have to type it in as `server-hop!` in the chat bar. This was really confusing to me the first few times because no other verb requires you input in the correct punctuation. So, I decided to prune out the exclamation point to get weird of this oddity.

commit 1ddf0d89a4d4d52e3ccdb30d12ae20ae92e4b387
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sat Jun 25 11:40:27 2022 -0700

    Automatic changelog generation for PR #67966 [ci skip]

commit 9d13ca227daf53eeaa129d1d7c59486f529ca158
Author: dragomagol <66640614+dragomagol@users.noreply.github.com>
Date:   Sat Jun 25 11:40:23 2022 -0700

    [NO GBP] Allow expanded hypospray chems to refill once more (#67966)

    Co-authored-by: tattle <article.disaster@gmail.com>

commit cd342520862d0b76d8a0ab04ebda2b6fa9050cf9
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Sat Jun 25 10:54:54 2022 -0700

    Automatic changelog generation for PR #67828 [ci skip]

commit bd44b995fdf05b72fe980d13c58bccdc3a879760
Author: Wallem <66052067+Wallemations@users.noreply.github.com>
Date:   Sat Jun 25 13:54:50 2022 -0400

    Adds the Active Sonar mod to the game.  (#67828)

    Adds the Active Sonar Module to the game, a module which lets you see the locations of living creatures within a 9 tile radius.
    It can be attained by researching Security Modules, and then printed like any other module.
    It takes 3 complexity to house, has a 25 second cooldown, and takes a good amount of energy to use.

commit fd862572a874109db70c975a902ec7ef62788a20
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Fri Jun 24 20:53:44 2022 -0700

    Automatic changelog generation for PR #67965 [ci skip]

commit cfa8f0819b0ef555ff98db61b8829ea0d49c11c8
Author: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
Date:   Fri Jun 24 23:53:40 2022 -0400

    Changes shutters & airlocks to glass in Icebox atmos (#67965)

    See title, the non-radiation shutters and non-maintenance airlocks in the new Icebox atmos were made transparent
    (Note: Not tested in game, but viewed in Dream Maker and looks fine)

commit cda64e41b76f3d94eb14160516aabf42b372cf61
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Fri Jun 24 18:35:23 2022 -0700

    Automatic changelog generation for PR #67952 [ci skip]

commit c3ba5e1922da336332a9a68610907187765df991
Author: Profakos <profakos@gmail.com>
Date:   Sat Jun 25 03:35:20 2022 +0200

    Fixes several spelling mistakes in ash lore (#67952)

    In several cases, the Nightwatcher has been called Nightwater. This PR fixes that.

commit 99910cc1add3d66c08818090c745b56a4b185572
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Fri Jun 24 18:10:20 2022 -0700

    Automatic changelog generation for PR #67989 [ci skip]

commit e3acf068bffc0700afce32b8529934989c1b8700
Author: Kylerace <kylerlumpkin1@gmail.com>
Date:   Fri Jun 24 18:10:16 2022 -0700

    fixes ghost hearing (#67989)

commit d77a1f30d4cb1c4b675e31cc3f9fdc9de6129e89
Author: Changelogs <action@github.com>
Date:   Sat Jun 25 00:22:22 2022 +0000

    Automatic changelog compile [ci skip]

commit 37861f2dfb1203030143a859051646639149925b
Author: tgstation-server <tgstation-server@tgstation13.org>
Date:   Fri Jun 24 17:01:49 2022 -0700

    Automatic changelog generation for PR #67949 [ci skip]

commit 110edaa153a6222de47fea37956ecee1fdb84269
Author: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
Date:   Sat Jun 25 01:01:45 2022 +0100

    Security Level Datums (#67949)

commit 120e…
Wallemations added a commit to Wallemations/heavenstation that referenced this pull request Jul 4, 2022
* Fixes for language headset keys. (#67881)

* Automatic changelog generation for PR #67881 [ci skip]

* Automatic changelog compile [ci skip]

* Adds Prettierx - or how I broke TGUI for the nth time (#67935)

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>

* Automatic changelog generation for PR #67935 [ci skip]

* (code bounty) The tram is now unstoppably powerful. it cannot be stopped, it cannot be slowed, it cannot be reasoned with. YOU HAVE NO IDEA HOW READY YOU ARE (#66657)

ever see the tram take 10 milliseconds per movement to move 2100 objects? now you have
https://user-images.githubusercontent.com/15794172/166198184-8bab93bd-f584-4269-9ed1-6aee746f8f3c.mp4
About The Pull Request

fixes #66887

done for the code bounty posted by @MMMiracles to optimize the tram so that it can be sped up. the tram is now twice as fast, firing every tick instead of every 2 ticks. and is now around 10x cheaper to move. also adds support for multiz trams, as in trams that span multiple z levels.

the tram on master takes around 10-15 milliseconds per movement with nothing on it other than its starting contents. why is this? because the tram is the canary in the coal mines when it comes to movement code, which is normally expensive as fuck. the tram does way more work than it needs to, and even finds new ways to slow the game down. I'll walk you through a few of the dumber things the tram currently does and how i fixed them.

    the tram, at absolute minimum, has to move 55 separate industrial_lift platforms once per movement. this means that the tram has to unregister its entered/exited signals 55 times when "the tram" as a singular object is only entering 5 new turfs and exiting 5 old turfs every movement, this means that each of the 55 platforms calculates their own destination turfs and checks their contents every movement. The biggest single optimization in this pr was that I made the tram into a single 5x11 multitile object and made it only do entering/exiting checks on the 5 new and 5 old turfs in each movement.
    way too many of the default tram contents are expensive to move for something that has to move a lot. fun fact, did you know that the walls on the tram have opacity? do you know what opacity does for movables? it makes them recalculate static lighting every time they move. did you know that the tram, this entire time, was taking JUST as much time spamming SSlighting updates as it was spending time in SStramprocess? well it is! now it doesnt do that, the walls are transparent. also, every window and every grille on the tram had the atmos_sensitive element applied to them which then added connect_loc to them, causing them to update signals every movement. that is also dumb and i got rid of that with snowflake overrides. Now we must take care to not add things that sneakily register to Moved() or the moved signal to the roundstart tram, because that is dumb, and the relative utility of simulating objects that should normally shatter due to heat and conduct heat from the atmosphere is far less than the cost of moving them, for this one object.
    all tram contents physically Entered() and Exited() their destination and old turfs every movement, even though because they are on a tram they literally do not interact with the turf, the tram does. also, any objects that use connect_loc or connect_loc behalf that are on the same point on the tram also interact with each other because of this. now all contents of the tram act as if theyre being abstract_move()'d to their destination so that (almost) nothing thats in the destination turf or the exit turf can react to the event of "something laying on the tram is moving over you". the rare things that DO need to know what is physically entering or exiting their turf regardless of whether theyre interacting with the ground can register to the abstract entered and exited signals which are now always sent.
    many of the things hooked into Moved(), whether it be overrides of Moved() itself, or handlers for the moved signal, add up to a LOT of processing time. especially for humans. now ive gotten rid of a lot of it, mostly for the tram but also for normal movement. i made footsteps (a significant portion of human movement cost) not do any work if the human themselves didnt do the movement. i optimized has_gravity() a fair amount, and then realized that since everything on the tram isnt changing momentum, i didnt actually need to check gravity for the purposes of drifting (newtonian_move() was taking a significant portion of the cost of movement at some points along the development process). so now it simply doesnt call newtonian_move() for movements that dont represent a change in momentum (by default all movements do).

also i put effort into 1. better organizing tram/lift code so that most of it is inside of a dedicated modules folder instead of scattered around 5 generic folders and 2. moved a lot of behavior from lift platforms themselves into their lift_master_datum since ideally the platforms would just handle moving themselves, while any behavior involving the entire lift such as "move to destination" and "blow up" would be handled by the lift_master_datum.

also
https://user-images.githubusercontent.com/15794172/166220129-ff2ea344-442f-4e3e-94f0-ec58ab438563.mp4
multiz tram (this just adds the capability to map it like this, no tram does this)
Actual Performance Differences

to benchmark this, i added a world.Profile(PROFILER_START) and world.Profile(PROFILER_START) to the tram moving, so that it generates a profiler output of all tram movement without any unrelated procs being recorded (except for world.Profile() overhead). this made it a lot easier to quantify what was slowing down both the tram and movement in general. and i did 3 types of tests on both master and my branch.

also i should note that i sped up the "master" tram test to move once per tick as well, simply because the normal movement speed seems unbearably slow now. so all recorded videos are done at twice the speed of the real tram on master. this doesnt affect the main thing i was trying to measure: cost for each movement.

the first test was the base tram, containing only my player mob and the movables starting on the tram roundstart. on master, this takes around 13 milliseconds or so on my computer (which is pretty close to what it takes on the servers), on this branch, it takes between 0.9-1.3 milliseconds.

ALSO in these benchmarks youll see that tram/proc/travel() will vary significantly between the master and optimized branches. this is 100% because there are 55 times more platforms moving on master compared to the master branch, and thus 55x more calls to this proc. every test was recorded with the exact same amount of distance moved

here are the master and optimized benchmark text files:
master
master base tram.txt
https://user-images.githubusercontent.com/15794172/166210149-f118683d-6f6d-4dfb-b9e4-14f17b26aad8.mp4
also this shows the increased SSlighting usage resulting from the tram on master spamming updates, which doesnt happen on the optimized branch

optimized
optimization base tram.txt
https://user-images.githubusercontent.com/15794172/166206280-cd849aaa-ed3b-4e2f-b741-b8a5726091a9.mp4

the second test is meant to benchmark the best case scaling cost of moving objects, where nothing extra is registered to movement besides the bare minimum stuff on the /atom/movable level. Each of the open tiles of the tram had 1 bluespace rped filled with parts dumped onto it, to the point that the tram in total was moving 2100 objects. the vast majority of these objects did nothing special in movement so they serve as a good base case. only slightly off due to the rped's registering to movement.

on master, this test takes over 100 milliseconds per movement
master 2000 obj's.txt
https://user-images.githubusercontent.com/15794172/166210560-f4de620d-7dc6-4dbd-8b61-4a48149af707.mp4

when optimized, about 10 milliseconds per movement
https://user-images.githubusercontent.com/15794172/166208654-bc10086b-bbfc-49fa-9987-d7558109cc1d.mp4
optimization 2000 obj's.txt

the third test is 300 humans spawned onto the tram, meant to test all the shit added on to movement cost for humans/carbons. in retrospect this test is actually way too biased in favor of my optimizations since the humans are all in only 3 tiles, so all 100 humans on a tile are reacting to the other 99 humans movements, which wouldnt be as bad if they were distributed across 20 tiles like in the second test. so dont read into this one too hard.

on master, this test takes 200 milliseconds
master 300 catgirls.txt

when optimized, this takes about 13-14 milliseconds.
optimization 300 catgirls on ram ranch.txt
Why It's Good For The Game

the tram is literally 10x cheaper to move. and the code is better organized.
currently on master the tram is as fast as running speed, meaning it has no real relative utility compared to just running the tracks (except for the added safety of not having to risk being ran over by the tram). now the tram of which we have an entire map based around can be used to its full potential.

also, has some fixes to things on the tram reacting to movement. for example on master if you are standing on a tram tile that contains a banana and the TRAM moves, you will slip if the banana was in that spot before you (not if you were there first however). this is because the banana has no concept of relative movement, you and it are in the same reference frame but the banana, which failed highschool physics, believes you to have moved onto it and thus subjected you to the humiliation of an unjust slipping. now since tram contents that dont register to abstract entered/exited cannot know about other tram contents on the same tile during a movement, this cannot happen.

also, you no longer make footstep sounds when the tram moves you over a floor
TODO

mainly opened it now so i can create a stopping point and attend to my other now staling prs, we're at a state of functionality far enough to start testmerging it anyways.

add a better way for admins to be notified of the tram overloading the server if someone purposefully stuffs it with as much shit as they can, and for admins to clear said shit.
automatically slow down the tram if SStramprocess takes over like, 10 milliseconds complete. the tram still cant really check tick and yield without introducing logic holes, so making sure it doesnt take half of the tick every tick is important
go over my code to catch dumb shit i forgot about, there always is for these kinds of refactors because im very messy
remove the area based forced_gravity optimization its not worth figuring out why it doesnt work
fix the inevitable merge conflict with master lol
create an icon for the tram_tunnel area type i made so that objects on the tram dont have to enter and exit areas twice in a cross-station traversal

    add an easy way to vv tram lethality for mobs/things being hit by it. its an easy target in another thing i already wanted to do: a reinforced concept of shared variables from any particular tram platform and the entire tram itself. admins should be able to slow down the tram by vv'ing one platform and have it apply to the entire tram for example.

Changelog

cl
balance: the tram is now twice as fast, pray it doesnt get any faster (it cant without raising world fps)
performance: the tram is now about 10 times cheaper to move for the server
add: mappers can now create trams with multiple z levels
code: industrial_lift's now have more of their behavior pertaining to "the entire lift" being handled by their lift_master_datum as opposed to belonging to a random platform on the lift.
/cl

* Automatic changelog generation for PR #66657 [ci skip]

* Fixes coffin's export values to what they actually should be (#67931)

* Adds coffins to crates' exclude_types.

Adds coffins to crates' exclude_types.

* Updates comment

Updates a years old comment with the current economy prices.

* Automatic changelog generation for PR #67931 [ci skip]

* All code files must now be included in the .dme, removes some old duplicate files that never were (#67887)

All files must now be included in the .dme, removes some old files

* Rename "Delimber" anomaly to "Bioscrambler" anomaly. (#67886)

Renames all occurrences of "delimber", "delimber_anomaly", "delimbering", etc. to "bioscrambler", "bioscrambler_anomaly", and "bioscrambling", etc.

* Automatic changelog generation for PR #67886 [ci skip]

* Re-add Send Admin Message functionality (#67874)

Re-adds the code that went missing when #65755 was merged.

* Automatic changelog generation for PR #67874 [ci skip]

* Silver golems text no longer tells them they are antimagic (#67775)

* remove trait_holy, add antimagic

* readds trait_holy and changes desc

* Automatic changelog generation for PR #67775 [ci skip]

* Soap and biopsy tool suit storage sprites (#67604)

Noticed some error sprites so went on with this PR. For all the soap sprites I just moved the inhand soap sprites to the suit storage position, the soap sprites were made by: epochayur and SweptWasTaken.

* Automatic changelog generation for PR #67604 [ci skip]

* Fixes supermatter cascade final objective rolling when the engine has already exploded (#67665)

Adds a check so that if there are no var/obj/machinery/power/supermatter_crystal/engine on the station. Testing was a bit hard because I didn't know how to test any of it with admin tools, so it involved a lot of running around doing objectives on local until I got a final objective. I'm pretty sure this PR works correctly.

* Automatic changelog generation for PR #67665 [ci skip]

* Fixes gunshot sound runtime (#67943)

* Fixes the bug

* Updates comment

* Inhand sprites for Bluespace RPED (#67932)

Adds an inhand sprite for the Bluespace RPED

* Automatic changelog generation for PR #67932 [ci skip]

* You can attach a bell to your wheelchair (#67821)

* Bells can now be attached to wheelchairs.

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>

* Automatic changelog generation for PR #67821 [ci skip]

* Removes a misleading tip + unused defines related to the Ballmer peak (#67906)

* Removes a misleading ballmer define, as drunken science points were removed in experisci.

* Automatic changelog generation for PR #67906 [ci skip]

* Re-adds freeform/purge boards to all AI uploads, removes from spawners (#67915)

Re-adds the freeform boards to an open table in all the AI uploads, re-adds the purge boards to the harmful table in all uploads, and removes them from their associated spawners so that all stations have them as roundstart guaranteed spawns.

* Automatic changelog generation for PR #67915 [ci skip]

* Adjusts Layering of Broken/Burnt Floor Helpers (#67958)

Small QoL thing for mappers. Mapping Helpers automatically go on the highest plane possible, POINT_LAYER. This would result in broken/burnt flooring having the following appearance in map editors:

This is just weird clutter that doesn't particularly look good. So, I just switched both of those subtypes to the same layer that we use for cleanable decal effects, just for nice visual clarify. Here's what that looks like:

* Fixes spontaneous test failure that made nuclear disks not teleport correctly in Multi-Z debug by adding the blobstart that it should have anyway (#67948)

Fixes #67789 

This was spontaneous because stationloving uses find_safe_turf, which has an iteration limit of 1,000.

* Fixes the white cane sounds, and blind mob's examine. (#67941)

* Automatic changelog generation for PR #67941 [ci skip]

* Security Level Datums (#67949)

* Automatic changelog generation for PR #67949 [ci skip]

* Automatic changelog compile [ci skip]

* fixes ghost hearing (#67989)

* Automatic changelog generation for PR #67989 [ci skip]

* Fixes several spelling mistakes in ash lore (#67952)

In several cases, the Nightwatcher has been called Nightwater. This PR fixes that.

* Automatic changelog generation for PR #67952 [ci skip]

* Changes shutters & airlocks to glass in Icebox atmos (#67965)

See title, the non-radiation shutters and non-maintenance airlocks in the new Icebox atmos were made transparent
(Note: Not tested in game, but viewed in Dream Maker and looks fine)

* Automatic changelog generation for PR #67965 [ci skip]

* Adds the Active Sonar mod to the game.  (#67828)

Adds the Active Sonar Module to the game, a module which lets you see the locations of living creatures within a 9 tile radius.
It can be attained by researching Security Modules, and then printed like any other module.
It takes 3 complexity to house, has a 25 second cooldown, and takes a good amount of energy to use.

* Automatic changelog generation for PR #67828 [ci skip]

* [NO GBP] Allow expanded hypospray chems to refill once more (#67966)

Co-authored-by: tattle <article.disaster@gmail.com>

* Automatic changelog generation for PR #67966 [ci skip]

* Removes the Exclamation Point from the Server Hop Verb (#67970)

Removes the Exclamation Point from Server Hop

Hey there,

Recently, I haven't been able to directly connect to Sybil. However, I am able to easily get onto Campbell, and use the Server Hop command to readily get over there. However, one small snag I've ran into is that the `Server Hop!` verb means that you have to type it in as `server-hop!` in the chat bar. This was really confusing to me the first few times because no other verb requires you input in the correct punctuation. So, I decided to prune out the exclamation point to get weird of this oddity.

* Automatic changelog generation for PR #67970 [ci skip]

* Fix freon reacting instantly (#67954)

So why this was happening was because in DM, - has a higher precedence than **, so instead of a nice Gaussian function, this was made, where the y-coordinate represents the amount of freon that's made as a percentage of the total possible amount, which meant that unless your temperature was basically right at 800K, the freon, even thousands of moles of it, would be made instantly (or nearly instantly).

* Automatic changelog generation for PR #67954 [ci skip]

* Allows roundstart access to icebox atmospherics APC (#67963)

Allows Icebox's atmospherics APC to be accessible roundstart by moving a console.

* Automatic changelog generation for PR #67963 [ci skip]

* Patches Rad_Area Directional Sign Helpers (#67945)

Patches Rad_Area Directional Sign

Hey there,

I was trying to do something much more ambitious, but that completely fell through. I did catch this little mistake that caused this to occur though:

This PR just makes it the correct pathing for the directional helpers.

* Automatic changelog compile [ci skip]

* Dynamic 2022 part 1 tweaks (#67823)

    Renames low_pop_minimum_threat to low_pop_maximum_threat. Untested but it'll fail CI if it doesn't work
    Increases threat_per_midround_roll from 6.5 to 7, to slightly shift number of midrounds.
    Lowered the number of roundstart traitors. I intend to do more in the larger part 2 PR, but the crux of it is that Dynamic 2022 part 1 creates a lot of midround traitors, which is great, but now that means we can lower the amount of total roundstart traitors. This changes it from 1 traitor every 24 people to 38. Eventually I want to make traitor not scale so hard, but it'll be tough to do that and make sure it doesn't just roll extremely chaotic rulesets in its place.

* Automatic changelog generation for PR #67823 [ci skip]

* Converts all* of the times in the food files into SECONDS (#67984)

drink your processable component copy-paste

* Automatic changelog generation for PR #67984 [ci skip]

* Adds Current Map To Hub Entry (#67986)

* Automatic changelog generation for PR #67986 [ci skip]

* Gave dirs to all MetaStation shutters (#68018)

gives dirs to all shutters on metastation

* Automatic changelog generation for PR #68018 [ci skip]

* Add monitor decryption key to Listening post (#68010)

* Automatic changelog generation for PR #68010 [ci skip]

* Fixes Invisible Equipment on Monkified Monkeys (#68009)

Fix invisible monkey equipment

* Automatic changelog generation for PR #68009 [ci skip]

* Fixes items disappearing in the suit storage slot (#68008)

Original fix by SabreML
Ported from github.com/pariahstation/Pariah-Station/pull/768

* Automatic changelog generation for PR #68008 [ci skip]

* Gorillas Move Slightly Faster When Not Holding Anything (#68007)

Gorilla speed change

* Automatic changelog generation for PR #68007 [ci skip]

* [MDB Ignore] Makes mining and labor shuttle home docks their own type, rather than varedits (#68006)

I'll have to do the others at some point

I don't want to, but it'll happen

* Automatic changelog generation for PR #68006 [ci skip]

* [MDB Ignore] Shifts all (sane) varedited signs to directionals  (#68004)

* [MDB Ignore] Shifts all (sane) varedited signs to directionals

Hey there,

So we have these cool new sign directionals now, but we still have all of the old pixel-shifted pre-fabrications lying around. So, I added an UpdatePaths (as well as Updated the Paths) to be a bit better at using directionals, because directionals are pretty neato.

This should update every single var_edit that used the proper 32 pixelshift (some of them used 28, and I'm unable to account for that automatically with current tooling) into a proper subtype. Mappers tend to learn by looking at well established maps, so it's always important to ensure that the well-established maps use the most recent tooling (i.e.: bring them up to the surface) and avoid needless excess lines in maps.

* The Commit With All The Maps

OH GOD OH FUCK

* Renames the UpdatePaths

* Automatic changelog generation for PR #68004 [ci skip]

* Updates how holopads look like in map editors (#67997)

Hey there,

There was this really picky thing with Holopads being in `FLOOR_PLANE`, so you would get stuff like this since wires+pipes are in the `GAME_PLANE`:

Looks ugly, right? So, let's set the holopad to `GAME_PLANE` for mapping purposes (since it'll help you visualize what you're looking at in game), and have it set to `FLOOR_PLANE` on Initialize. If we didn't set it on mapload, you'd get this really jarring shadow effect that doesn't really feel "in-place".

* Landmark Opportunities - In them their OBJ_LAYER hills (#67996)

Hey there,

Landmarks were in the `TURF_LAYER`... layer, so that means you would see bizarre stuff like this in mapping:

Really obtuse to have everything, and I do mean everything, just be on the same layer of the turf just due to how often stuff gets covered up and left behind. So, I decided to make every single landmark (except for the jobstart ones, which were already on `MOB_LAYER`) to the `OBJ_LAYER` layer. This looks a lot better to my eyes, and the results speak for themselves:

* MetaStation Brig Underfloor and Decalling Audit (#67995)

Hey there,

I was enjoying a nice round of ss13 a few days ago, when I noticed this:

That's very odd! The caution line was painted in game, but the decals overlapping in such a manner was definitely in the map. So I decided to hunt down and standardize the decalling for the brig to ensure that you wouldn't have to do this. While in the area, I found a lot of weird stuff like:

* Unconnected shocked windows

* Atmospherics/Wires running under tables

* More Decalling Weirdness

So, I just straighted that all out to the point where it hopefully looks better now.

* Automatic changelog generation for PR #67995 [ci skip]

* Fixes Icon for the Station Crash Effect (#67994)

Hey there,

Apparently when balloons were split out of `items_and_weapons.dmi`, this was left behind causing stuff like this to happen:

Pretty goofy, right? Let's update the DMI pathing to ensure we don't see the silly purple/white cube when we really want to see an effect that nearly no one knows of (it's the thing that helps you crash the shuttle into a station, I think?).

* meteor with engines strapped to it rocks now have air  (#67993)

Update emergency_meteor.dmm

* Automatic changelog generation for PR #67993 [ci skip]

* Fullscreen, status bar hiding, chat input following the theme (#67987)

* Initial commit

* input is colored according to the theme

* removed unused setting

* Automatic changelog generation for PR #67987 [ci skip]

* Scrubbers will now turn off when connected pipe disconnects. (#67985)

Scrubber thing.

Scrubbers will now turn off on atmos machinery disconnect() proc call.

* Automatic changelog generation for PR #67985 [ci skip]

* Fix reinforcement nukeops not getting their HUDs (#67976)

* Automatic changelog generation for PR #67976 [ci skip]

* Fixes regenerative core implants not functioning (#67961)

* Repaths regen_core

* updates var names

* updates var name

* Automatic changelog generation for PR #67961 [ci skip]

* Glass floor cracking now uses overlays, plasma glass floors display properly (#67957)

* Renames plasma floor damage states

* Fixes bug, updates to overlays

* Automatic changelog generation for PR #67957 [ci skip]

* Fixes an ert bounty hunter's outfit, and the bounty hunter ID in general (#67955)

Fixes an ert bounty hunter's outfit, and the bounty hunter ID

* Automatic changelog generation for PR #67955 [ci skip]

* Fixes IceBox Disposals Being Broken in Maintenance (#67939)

Fixes IceBox Disposals

My bad, I broke it in #67706 (9ee1228a94a4899b73506489e62d8f17ff6d78aa).

* Automatic changelog generation for PR #67939 [ci skip]

* Fixes the beach gateway to have atmos that's breathable (#68012)

Did you know that the base type of the beach turf has different atmos to literally every other tile in that gateway?

* Automatic changelog generation for PR #68012 [ci skip]

* Fix display formatting issue with operating computer UI (#67877)

Fix display formatting issue with operating computer ui

* Automatic changelog generation for PR #67877 [ci skip]

* Automatic changelog compile [ci skip]

* fixes the worn sprites of the material knight armor (#67864)


About The Pull Request

The up and down directions of the greyscale knight armor's worn sprites were two pixels too high. I moved them down by that much.
Why It's Good For The Game

Fixes #67861
Changelog

cl
fix: The runic knight helmet's worn sprites have had their alignment fixed.
/cl

* Automatic changelog generation for PR #67864 [ci skip]

* Piano broken sprite, helper, and hit sound (#68003)

* Does the PR

* fixes playsound locations

* Automatic changelog generation for PR #68003 [ci skip]

* Examine Blocks (#67937)

* adds examine_block class and a define for it
made some outputs in chat use examine_block

* add examine block to tip of the round
clean up some ------ and ***** seperators
added <hr> tags to divide sections
cleaned up botany plant analyzer text outputs

* bullet points for reagents

* removes <hr> from mobs examines
fixes AIs and borgs having a double "That's Default Cyborg!"
removed some \n newlines
minor code edits

* removes all <hr>
bold names in get_examine_name()
cleaned up plant analyzer output formatting
adjust colors and margins of examine_block class
remove \a from borg examine()

* remove max-width from css

* changed margin and padding units from px to em

* minor edit

* Automatic changelog generation for PR #67937 [ci skip]

* Refactors Knock to use Connect Loc (#67884)

* Knock uses a new connect loc signal.

* Automatic changelog generation for PR #67884 [ci skip]

* Revamps derelict1.dmm into a proper derelict (#67683)

Replaces the barren derelict1.dmm with something of substance.

This is the old version for those of you who were curious.
And here is the new.

This gives the ruin a little bit of extra panache, ties the world a bit more together, and is a nice homage to our sister server.

* Automatic changelog generation for PR #67683 [ci skip]

* Replaces the tram generic construction console with an aux construction console (#68022)

* Replaces the generic construction console on tramstation with an aux console

* Readds a decal I accidentaly removed

* Automatic changelog generation for PR #68022 [ci skip]

* Fixed DeltaStation mining firelock placement (#68020)

DeltaStation has a firelock placed adjacent to it's mining shuttle, meaning that once the shuttle departs it instantly triggers the firelock. This PR removes that firelock

* Automatic changelog generation for PR #68020 [ci skip]

* Unearths A Covered Keycard Device in IceBoxStation (#67944)

* Unearths A Covered Keycard Device in IceBoxStation

Hey there,

An electric sign was covering up the CE's Keycard Device (which looks ugly and confusing since you see the sign through the window, and you can't click on it).

* Fixes merge conflicts and decalling

may as well flatten some keys while i'm in the area y'know

* Automatic changelog generation for PR #67944 [ci skip]

* Update brokentiling to match new tiles (#68017)

update brokentiling

Co-authored-by: tattle <article.disaster@gmail.com>

* Automatic changelog generation for PR #68017 [ci skip]

* Fixes the frozen status trait never being applied (#68015)

* Fixes the frozen trait never being applied

* Don't apply if we already have the trait

* Check the target obj

* Automatic changelog generation for PR #68015 [ci skip]

* Snails have eyes again (#68013)

* Fixes snail eyes being errors

* Fixes the screenshot for the snails (smh there was an error in there Mothblocks)

* Automatic changelog generation for PR #68013 [ci skip]

* martial arts bug fix (#68028)

* Automatic changelog generation for PR #68028 [ci skip]

* Automatic changelog compile [ci skip]

* Adjusts Door Mapping Helper Layers (#68032)

Hey there,

Access helper layers are great and all, but they tended to have this sort of effect on maps where since they were on the same layer as all of the other mapping helpers for doors, they would just tend to cover up the smaller sprites the others used, like this:

So, this just switches up the layers a bit by having a new layer called `DOOR_ACCESS_HELPER_LAYER` (that is still above `OPEN_DOOR_LAYER`) just for Access Helpers, while every other airlock helper takes the `DOOR_HELPER_LAYER` (like before), which has been increased by 0.01 more funny number.

Ok?

* Fixes some door access on Deltastation. (#68034)

Fixes some door access on deltastation.
- Service Hall
- Shipping Room

* Automatic changelog generation for PR #68034 [ci skip]

* Ice Box Station Kitchen Rework - Worthy Of The Name (#67854)

* Automatic changelog generation for PR #67854 [ci skip]

* Fixes a runtime when inflicting a blunt wound on an armless human (#68030)

fixes a runtime when inflicting a blunt wound on an armless human

* Automatic changelog generation for PR #68030 [ci skip]

* Brand of Dance spell fix (#68035)

spell fix

* Automatic changelog generation for PR #68035 [ci skip]

* TGUI Say no longer deletes your currently typed message on history (#67971)

first commit

* Automatic changelog generation for PR #67971 [ci skip]

* Ert medic belts (#67916)

* Adds belt

* Adds belt to ERT medic

* Automatic changelog generation for PR #67916 [ci skip]

* Fixes gravity gen sound & off gen loops (#67586)

* Fixes some minor problems with grav gen

* Fixes gravity generator completely obliterating your ears by having several gravity generator soundloops (now there's only 1) by starting soundloop on creation, during parent's Initialize (so it doubled since things like grav gen part (a generator inside the generator??), starts a soundloop too, now the station's gen just starts the loop if it spawns on)
* Fixes offstation gravity generator looking like it's turned on when it isn't, and fixes it having sound when it's off.
* Removes /station grav gen subtype, because it was frankly useless.
* Adds some early returns to gravity generator's process, and removes the unused set_state proc, which was replaced with enable() and disable() in the radiation rework.
* Lastly, removes grav gen parts from QDEL_NULL'ing their soundloop twice, since they called parent's Destroy() that did it for them anyways.

* fixes minor typo

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* more grav gen code improvement

This commit is solely focused on code improvement.

* gravity_field and sound_loop was moved from gravity generator to main gravity generator, since they're the only place it was used.
* Added checks for a main part across generator part procs, rather than using ? randomly.
* Autodocs all Gravity generator vars
* Adds better var names in for() loops, makes use of as_anything, and renames parts to generator_parts.
* Adds some better var names in general.

* Adds an UpdatePaths

* fixes infinite del loop

* fix to harddels

* Update gravitygenerator.dm

* merge conflict moment

* fix maps

* fixes merge conflict

* Update gravitygenerator.dm

* updates the updatepath

* Update gravitygenerator.dm

* Update gravitygenerator.dm

* merge conflict

* set_broken()

* Update gravitygenerator.dm

* unregister signal on destroy

* Update gravitygenerator.dm

* middle part

* Update gravitygenerator.dm

* more improvement + moves grav code to grav file

* Update gravitygenerator.dm

* handles map merge conflicts

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Automatic changelog generation for PR #67586 [ci skip]

* Watering cans for botany (#67712)

* Watering cans for botany

* Clean up weird bugs by just coding the feature out

* 70u for the old can and /// like it should be

* Updated can icons courtesy of Wallem

* Swaps botany buckets for watering can on maps

* A line

* Automatic changelog generation for PR #67712 [ci skip]

* Makes the noblium gas shells experiment explicitly clear that it means hypernoblium (#67898)

* Automatic changelog generation for PR #67898 [ci skip]

* fixes headspike runtime error and bug (#68040)

* fixes headspike runtime error and bug

* requested change

* Revert "requested change"

This reverts commit ab3aefa180ff32cee00c16b8baed3db1fe1b1fb0.

* Revert "fixes headspike runtime error and bug"

This reverts commit ed1f76e88b709064df0dbde655ca618ddbb78b3d.

* actual fix

* Automatic changelog generation for PR #68040 [ci skip]

* Automatic changelog compile [ci skip]

* Add style guide expectations for macros (#67868)



Wake up honey new Mothblocks style guide just dropped

Rendered

Read closely as I make some new expectations that I think are very good for readability but that we don't tend to employ.

@tgstation/commit-access

* MULEbots uses the blood walking element (now component), fixes MULEs tracking blood infinitely  (#68047)

Blood walking is a component, MULES use blood walking

* Automatic changelog generation for PR #68047 [ci skip]

* Fixes being able to hack a comms console if it gets depowered or broken mid hack (#68048)

Fixes hacking consoles after they're unpowered

* Automatic changelog generation for PR #68048 [ci skip]

* Patch out a method to bypass xenobio progression (#67938)

* Patch out a method to bypass xenobio progression

* Allow sentient humans to still turn into a random slime

* Apply suggestions from code review

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>

* Use helper procs

* Add readability change to earlier lines as well

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>

* Automatic changelog generation for PR #67938 [ci skip]

* Fixes some soulstone issues, overall makes soulstone behavior more consistent (#67846)

Fixes

    Inconsistent behaviour of the cult's sacrifices. #67014

Soulstones had a if(client) check prior to making a shade, which failed if the mob wasn't in their body.
So, we just grab the ghost before making a shade on capture.

This also allowed for the weird hack from #63707 to become unnecessary, so I reverted it.

    Fixes 

    Cult can no longer shade soul-less mobs. #66629

If you used a soulstone on a mindless mob, it would pass in is_sacrifice_target(null), which would always succeed if the cult team had an objective without a target. Which cults do have.

    Overall increases readability and reduces copypaste of soulstone code, making it a tad more consistent.

Moved a lot of copy+pasted "theme" code to the appropriate update_x procs. Cleaned up code in general, as is tradition with cult code.

* Automatic changelog generation for PR #67846 [ci skip]

* Fixes the Orion Trail not working properly when emagged (#68059)

fixes the Orion not working properly when emagged

* Automatic changelog generation for PR #68059 [ci skip]

* Updates the ghoulbot sprite to match the new mulebot sprite (#68042)

resprites the ghoulbot to conform to the new 3/4 mulebot sprite

* Automatic changelog generation for PR #68042 [ci skip]

* Adds Material tab for the autolathe to dispense the desired mats one put in and fixes a condition (#67848)

In the Autolathe, moves all the matts from construction to the new tab Material which allows you to dispense all the mats you put in
Also fixes missing "=" operator which wouldnt let you print 10 or 25 stack immiadetly once you reached it

* Automatic changelog generation for PR #67848 [ci skip]

* Directional Shutters For All Station Maps (#68056)

added directional sprites for window shutters
gave dirs to all shutters and window shutters (except zigzag pattern ones) on icebox, kilo, delta, tram
replaced SM shutters on kilo with radiation shutters

* Automatic changelog generation for PR #68056 [ci skip]

* Resprites the Makarov (#68050)

* sprites

* fixes sprite

* moves the supressor up one tile

* slightly tweaks a few colours (un rose golds it)

* handle changes

* suppresor

* Automatic changelog generation for PR #68050 [ci skip]

* Toppings for rootbread slices (#68037)

Toppings for korta bread slices

* Automatic changelog generation for PR #68037 [ci skip]

* Automatic changelog compile [ci skip]

* metastation library no longer has 2 air alarms (#68071)

removes one, moves another air alarm.

* Automatic changelog generation for PR #68071 [ci skip]

* Blacklists placeholder food items in the random food generator (#68062)

blacklist empty items

* Automatic changelog generation for PR #68062 [ci skip]

* Allow Agent cards to use numbers in their names (#68065)

* Automatic changelog generation for PR #68065 [ci skip]

* Lets SAW tools (and PKC) cut trees, MINING tools break rocks, and fixes e-blades cutting while off (#67285)

* Adds TOOL checks combined with the lists
* Chainsaws are now slow when turned off, and are pre-nerf speed when on
* Adds a better disallowed_tools check

* Automatic changelog generation for PR #67285 [ci skip]

* remove y##f in h##l spray, adds furry pride spray (#68077)

* Automatic changelog generation for PR #68077 [ci skip]

* Reworks (and nerfs) Hypernob internals for plasmamens (#67674)

* Automatic changelog generation for PR #67674 [ci skip]

* Makes gas filters smaller (#68086)

* Automatic changelog generation for PR #68086 [ci skip]

* Misc TypeScript conversions (#67967)


About The Pull Request

An atomization of #67809.

This PR aims to convert some miscellaneous UIs into TypeScript. Some of these are low hanging fruit, don't hate me, I am working up the self hatred to do more.
Why It's Good For The Game

TypeScript is objectively better and provides great tools to debug code. We should really work to just convert all the UI into TSX
Changelog

cl
code: Refactored a large number of TGUI interfaces into TypeScript. If something's broken, report it!
/cl

* Automatic changelog generation for PR #67967 [ci skip]

* Automatic changelog compile [ci skip]

* Revert "remove y##f in h##l spray, adds furry pride spray" (#68120)

Revert "remove y##f in h##l spray, adds furry pride spray (#68077)"

This reverts commit 79cf75afdc0608faf769b3c919d9cfdae30122d8.

* Hacking UI hotfix (#68124)

fixed the issue

* Automatic changelog generation for PR #68124 [ci skip]

* Resprites most of Chaplain's  choice beacon outfits (#68044)

imageadd: new sprites for the Chaplain's crusader, ancient, profane and follower outfits.

* Automatic changelog generation for PR #68044 [ci skip]

* Updates the sprites for bullets (inflight), adds pellet sprites, redoes the thermal projectile sprites (#67856)

imageadd: Improves the sprites for bullets, thermal projectiles, and introduces pellet sprites.

* Automatic changelog generation for PR #67856 [ci skip]

* Adds cancel event option for midround random events (#68055)

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Automatic changelog generation for PR #68055 [ci skip]

* Fixes teleporting gun with telekinesis (#68083)

So when you fire a gun with the clumsy trait it has a chance to backfire at you and shoot yourself and if you dont have the no_drop trait will drop the gun on your location hence the teleporting gun bug with telekinesis. This pr adds a check to whether the user is firing via tele or not.

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>

* Automatic changelog generation for PR #68083 [ci skip]

* Gives Sergeant-At-Armsky a unique description (#68097)

* I noticed he didn't have his own description like all the other variants of Beepsky, so I thought I'd maybe give him one.

Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>

* Automatic changelog generation for PR #68097 [ci skip]

* Fixed synthetic limbs to display the proper skin color. (#68094)

Fixes a bug with the Limb Grower where synthetic limbs permanently revert to the default coloration when attached to a body. As it is now, the green coloration of synthetic limbs is stored in the mutation_color variable, which is nullified when attached. This makes all limbs draw with the default coloration - "albino" for humans and a neutral grey for other species. This PR updates the limb grower to use the species_color variable instead, which is maintained when attached/detached.

* Automatic changelog generation for PR #68094 [ci skip]

* Completely removes `proc_holders` from existence. Refactors all wizard, xeno, spider, and genetics powers to be actions. Also refactors and sorts ton of accompanying code.  (#67083)

* destroy proc holder pt1
- change proc_holder/spell to action/cooldown/spell
- docs all the spell vars, renames some of them
- removes some useless vars
- start with pointed spells, as they're easy

* kill proc_holder pt2
- kill a buncha vars and replace it with flags
- convert a ton over
- general code improvements

* kill proc_holders pt3
- convert a good few more spells
- rename some signals
- handle statpanel
- better docs

* kiill proc_holder pt4:
- restructure the file system of action.dm, separating a good amount of item actions and miscellaneous garbage into files where they belong slightly better. Also splits off item actions, cooldown actions, innate actions, etc. into their own files, overlal making it much better to work with
- converts touch attacks to actions
- converts blood crawl, jaunt subtype

* kills proc_holder pt5
- clears up some icon issues so all the currently converted pages don't have errors
- shapeshift
- some more action cleanup

* kills proc_holder pt5.5:
- some documentation
- reworks feedback to prevent oversight with teleports and stuff

* kills proc_holder pt6:
- converted cult spells
- converted magic missile
- converted mime spells
- chipped away at the errors
- removed some vars which were too general, replaced them with more locally applicable vars. for example "range" which could mean "projectile range" or "aoe radius" or whatever - instead of having a broad net which everyone applies to in a confusing matter, instead lets each spell delegate on their own.
- merged magic/spell and magic/aoe, as the comment intended
- more unified behavior for spell levelling

* kill proc_holders pt 6.5:
- replacing a buncha old proc_holders that have been updated to reduce some errors. sub 900 baby

* kills proc_holder pt 6.75:
- minor fixes

* kills proc_holder pt7:
- cuts down on some errors
- refactors some wiz events

* kills proc_holder pt 7.5:
- malf ranged modules
- some minor errors

* kills proc_holder pt 7.75:
- mor eminor error handling, cleaning up changes

* kill proc_holder pt8:
- refactors spell book
- refactors spell implant
- some more minor error fixing

* kill proc_holder pt 8.5:
- scan ability

* Adds some robust documentation

* kill proc_holder pt9:
- converts some / most mutations over

* kill proc_holder pt10:
- sort out all the granters
- refactor them slightly
- fix some compile errors

* Some set-unset sanity - going to need to test removing Share()

* Removes transfer actions. It doesn't seem to do anything.
- Transfer_actions was called when current = new_character so locially speaking the early return in Grant() should cause it to NOOP. Test this in the future though

* Removes sharing from actions, docs actions better

* Some better documentation for spell and spell components

* Kills proc_holder pt11:
- Finally finishes ALL THE SPELLS IN THE SPELL FOLDER
- Fixes some more errors

* kills proc_holder pt11.5:
- minor error fixing and sanity

* Method of sharing actions. Can be improved  in the future, needs testing

* Implements a way to update the stat panel entry for a spell. Also gets rid of VV stuff, as you can update the bigflags directly in VV now.

* Curse of madness bug I put in.

* kills proc_holder pt12:
- sub 500 errors!
- converts cytology mobs
- converts and refactors spiders slightly
- some minor fixing around the place as usual

* kill proc_holder pt13
- Finishes heretic spells
- Sub 300 errors!
- some touch refactoring to account for mansus grasp

* kills proc_holder pt14:
- revenant
- minor bugfixing for heretic stuff

* kills proc_holder pt14.5:
- some missed stuff for revenant + heretic

* kills proc_holder pt15:
- alien abilities
- more minor fixing
- sub 100 errors. The end is nigh

* kill proc_holder pt16? 17:
- Finishes cult spells
- sub 50 errors!
- refactors the way charge works
- renames / moves some signals

* kills proc_holder pt final:
- sdql spells
- no more errors!

* Bugfixes round 1

* Various bugfixing
- documentation done
- give spell works
- can cast spell gives feedback conditionally
- is available takes into account casting ability

* Some accidental reversions + fixes

* Unit tests

* Completely refactors jaunting
- All bloodcrawling is now handled on the action itself instead of across various living procs
- slaughter demons have their own blood crawls
- jaunting dummies don't have side effects on destroy() anymore

* Wizard spell logging and even more refactoring

* Automatic changelog generation for PR #67083 [ci skip]

* Turns select prison intercoms to normal ones. (#68108)

Changes intercoms that would only ever be utilized by sec from prison intercoms (transmit wire is cut) to normal intercoms.

The warden now has both a normal intercom and a prison one.

* Automatic changelog generation for PR #68108 [ci skip]

* Re-adds Standard Kitchen Fridge to IceBox (#68075)

I fucked up and forgot this one that contains eggs and milk and stuff whoops.

* Automatic changelog generation for PR #68075 [ci skip]

* Removes the superfluous breathing mask from the survival box of clown/mime + New mime hugbox. (#67621)

* Base box changes

* Mime box + breathing mas removal

* Mime hugbox back in

* Fishing is back

* Automatic changelog generation for PR #67621 [ci skip]

* Automatic changelog compile [ci skip]

* Furry Pride with no Removal (#68125)


About The Pull Request

image
art from @MrDoomBringer
adds this furry pride spray without removal
Why It's Good For The Game

Same as #68077, just with out removal
image
Requested by maintainers in #68120
Changelog

cl
add: Furry Pride large spraypaint added to spraycans
/cl

* Automatic changelog generation for PR #68125 [ci skip]

* Adds Preferences To Suppress Ghost Role Rolls (#68102)

Hey there,

Ever since November of 2021, I've wanted something where I could simply not get any ghost roles while adminned. Some people also do not want to get any ghost rolls whatsoever when they play, for it is their personal preference. This PR seeks to resolve both of these issues with two new preferences.

The first preference will show up to everyone, Suppress All Ghost Rolls. It will return on the main proc that pops up the window, does the sound, all that. You will not hear a peep of a word out of your game. This is dangerous if you like playing as ghost roles, but if you abhor the thought of it... it's just for you.

The second preference is for admins. You can selectively suppress ghost roles while adminned. This is useful because when you're running an event or doing stuff where you need to offer multiple ghost roles (or you need to focus on a ticket and someone is spamming Xenobiology mob spawns), this is absolutely perfect for suppressing. Same return as the player option, but it checks to see if you are currently adminned via the client.holder variable. This is just because some admins (i'm some admins) don't want to turn in on just in case they forget to turn it off down the line because they actually play the game (lying).

There's probably a much cleaner way to do this code-wise, but I couldn't figure it out. Any help is appreciated. I tested it extensively on my local (even using a guest account), and everything seems to work rather nicely after about an hour of trial-and-error.
Why It's Good For The Game

Players who want to just alt-tab or maybe chill in deadchat (or have an extreme loathing of ghost roles) can just simply not get any of that. Admins who want to focus on tickets and not have windows pop up to interfere in good administrative work (and be the most annoying thing in the world) can also do that. Everyone is happy.
Changelog

cl
qol: There is now a new preference in Game Preferences, Suppress All Ghost Rolls. If you tick this preference, you will not get a singular window pop-up whenever a Ghost Role is available. Intended for the few who really do need it.
admin: Admins get another additional preference where Suppress All Ghost Roles only works while they are currently in an adminned state. They will still get ghost rolls normally when they are in a deadminned state.
/cl

* Automatic changelog generation for PR #68102 [ci skip]

* Removes counter-intuitive var edits off Kilo's SM's pumps (#68132)

This isn't used on any other station, pressure_checks = 0 means that both Internal and External pressure targets start Off for the vents as opposed to External being on like it normally is at roundstart. This can have pretty bad drawbacks if the air alarm is set last as often recommended on most guides.

Not even sure what the External target being set to 140 is about.

Kilo's SM is now consistent with other stations', its pumps external target will no longer start Off.

* Automatic changelog generation for PR #68132 [ci skip]

* Maids in the Mirror take no damage from ghosts examining them (#68122)

* maids in the mirror take no damage from ghosts

* dead players in their mob shouldn't hurt either

* Automatic changelog generation for PR #68122 [ci skip]

* Automatic changelog compile [ci skip]

* Fixes crystalizer runtime (#68143)

fixes crystalizer passing any item as the user

* Automatic changelog generation for PR #68143 [ci skip]

* Crew starts with the right amount of breathing mask again (#68153)

removes unnecessary codepiece

* Automatic changelog generation for PR #68153 [ci skip]

* I'm Fucking Stupid - Actually Adds Eggs+Milk To IceBox (#68146)

WHY DOES THIS KEEP HAPPENING TO ME THERE'S LIKE FIFTEEN THOUSAND KITCHEN CABINETS WITH THE WORSE NAMES ON THIS PLANET EARTH AND I KEEP THINKING I HAVE THE RIGHT ONE BUT IT'S NEVER THE RIGHT FUCKING ONE

I also added a milk carton to the kitchen itself, as a reminder.

[x] i did test this time

* Automatic changelog generation for PR #68146 [ci skip]

* Pluoxium can now heal oxygen damage (#67990)

Pluoxium simply doesn't have much unique interaction beside requiring less partial pressure. This pr simply makes it more unique than being a better oxygen

* Automatic changelog generation for PR #67990 [ci skip]

* Completely rewrites the orbit screen (#68054)

I set about refactoring Orbit.js when I just decided to scrap it and maybe add in some different functionality.

This PR:
- rewrites orbit from the ground up in typescript
- color coded list + scrollable + wider
- adds some styling and effects to gauge "threat": icons change, buttons change color
- fixes button text overflow
- fixes issue where scrolling hides the search header
- fixes similar antags being grouped separately (nukie and nukie leader, etc)

* Automatic changelog generation for PR #68054 [ci skip]

* Fixes some cases which references are used in trait sources, potentially causing hard deletes (#67974)


About The Pull Request

Fixes some cases in which actual references were used in trait sources instead of keys (or ref() keys).

This can cause some rare and difficult to find hard deletes.

Trait sources should be a string key relating to the source of it, not an actual reference to what added it. References within trait sources are never handled in Destroy(), because it's not expected behavior, meaning it can cause hanging references.

So, I went through with a regex to find some cases and replaced them.
I used the following and just picked through the few by hand to find erroneous ones.
ADD_TRAIT\(.+, .+, [a-z]+\)
REMOVE_TRAIT_TRAIT\(.+, .+, [a-z]+\)
Why It's Good For The Game

Less hard deletes, probably.
Changelog

cl Melbert
code: Some traits which mistakenly were sourced from a hard reference are no longer.
/cl

* Automatic changelog generation for PR #67974 [ci skip]

* Automatic changelog compile [ci skip]

* Remove move and combat mode from the stat tab (#68150)

* Automatic changelog generation for PR #68150 [ci skip]

* Replace a statbrowser verb call with send message (#68151)

* Automatic changelog generation for PR #68151 [ci skip]

* Refactors canister damage calculation (#68142)

I think i managed to keep the old temp calculation one-to-one. Also added a currently unused ignore. Just to make the system more robust.

Temp calculation: Code nice :)
refactor: Generalized how the damage calculation is made in cans, pumps, and scrubbers. No significant gameplay changes

* Automatic changelog generation for PR #68142 [ci skip]

* Remove lights/signs in burn chambers (#68141)

Removes four lightbulbs from burn chambers on icebox and kilo ordinance, total.
Removes one mask sign from burn chamber of icebox atmos turbine.

They just burn when the chamber is lit so there doesn't seem to be a point to them.

* Automatic changelog generation for PR #68141 [ci skip]

* Adds windup autofire functionality. The future is now. (Later) (#67911)

Pulls the wind up autofire functionality from my energy weapon pr as a standalone code improvement.

* Automatic changelog generation for PR #67911 [ci skip]

* Fixes a big oversight with steal guns objective (#68093)

* Automatic changelog generation for PR #68093 [ci skip]

* Revert "Makes supermatter dusting independent of the reference frame." (#66491)



Reverts #66395
Can we not have supermatter launching murderbones? This was merged with 0 comment or discussion from the maintainer, with a literal 1 word "Why it's good for the game section". The PR was opened literally like 3 minutes after a discord discussion on why doing that would be a fucking bad idea

cl
balance: The supermatter running into you is no longer just as deadly as you running into the supermatter.
/cl

* Automatic changelog generation for PR #66491 [ci skip]

* little fixes

* gene

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: tgstation-server <tgstation-server@tgstation13.org>
Co-authored-by: Changelogs <action@github.com>
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Pepsilawn <reisenrui@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: skylord-a52 <skylord-a52@users.noreply.github.com>
Co-authored-by: ‮ittaG ordnasselA <974661+Hamcha@users.noreply.github.com>
Co-authored-by: private-tristan <54422837+private-tristan@users.noreply.github.com>
Co-authored-by: Ebb-Real <95765134+Ebb-Real@users.noreply.github.com>
Co-authored-by: Rhials <Datguy33456@gmail.com>
Co-authored-by: Coffee <CoffeeDragon16@gmail.com>
Co-authored-by: 13spacemen <46101244+13spacemen@users.noreply.github.com>
Co-authored-by: SMOSMOSMOSMOSMO <95004236+SmoSmoSmoSmok@users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Son-of-Space <63861499+Son-of-Space@users.noreply.github.com>
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
Co-authored-by: Profakos <profakos@gmail.com>
Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
Co-authored-by: dragomagol <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: tattle <article.disaster@gmail.com>
Co-authored-by: castawaynont <76170211+castawaynont@users.noreply.github.com>
Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
Co-authored-by: IndieanaJones <47086570+IndieanaJones@users.noreply.github.com>
Co-authored-by: Andrew <mt.forspam@gmail.com>
Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com>
Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
Co-authored-by: cinder1992 <cinder1992@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Comxy <tijntensen@gmail.com>
Co-authored-by: Salex08 <33989683+Salex08@users.noreply.github.com>
Co-authored-by: Sebbe9123 <31856346+Sebbe9123@users.noreply.github.com>
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
Co-authored-by: Nichlas Pihl <nichlas0010@gmail.com>
Co-authored-by: ReinaCoder <83892995+ReinaCoder@users.noreply.github.com>
Co-authored-by: OrionTheFox <76465278+OrionTheFox@users.noreply.github.com>
Co-authored-by: chesse20 <chesse20@gmail.com>
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: oranges <email@oranges.net.nz>
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: FinancialGoose <92416224+TheBoondock@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: NotZang <90739573+NotZang@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: lizardqueenlexi <105025397+lizardqueenlexi@users.noreply.github.com>
Co-authored-by: Charlotte <98856144+orthography@users.noreply.github.com>
Co-authored-by: magatsuchi <88991542+magatsuchi@users.noreply.github.com>
Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
Co-authored-by: Mooshimi <85910816+Mooshimi@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Exposes new bugs in interesting ways Map Edit Thank you for your tile-placing service. It's always appreciated.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants