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

Adds new body type pref #51058

Merged
merged 6 commits into from
May 29, 2020
Merged

Adds new body type pref #51058

merged 6 commits into from
May 29, 2020

Conversation

Ryll-Ryll
Copy link
Contributor

@Ryll-Ryll Ryll-Ryll commented May 11, 2020

About The Pull Request

2020-05-11_04-24-24.png
Agendered spessmen can now choose between male and female body sprites, rather than defaulting to male. This option only appears when your character's gender is set to "Other" with a species that has selectable gender.

Also fixes a silent runtime with hardcore characters

Why It's Good For The Game

Being locked to male sprites with neutral gender was only because I thought it'd be much more annoying to change than it actually was, which I realized while reworking bodypart code for wounds.

Changelog

🆑 Ryll/Shaps
tweak: Characters of "Other" gender can now choose between male and female sprites in their preferences
/:cl:

@Iamgoofball

This comment has been minimized.

@Ryll-Ryll

This comment has been minimized.

@ATH1909
Copy link
Contributor

ATH1909 commented May 11, 2020

Could this become an option for spacemen of any gender, instead of only spacemen who choose to be referred to by plural pronouns?

@Iamgoofball
Copy link
Contributor

Iamgoofball commented May 11, 2020

agreed, allow any body type with any gender

@Iamgoofball
Copy link
Contributor

arguably i legit think we should swap the gender option to be pronoun selection tbqh

@haukeschuemann
Copy link
Contributor

haukeschuemann commented May 11, 2020

Seperating pronoun (dubbed gender in byond) and bodytype makes a lot of sense and also would make the code cleaner.

EDIT: Lowkey was hoping for fat sprites when I read the title. Kinda disappointed ngl.

@trollbreeder

This comment has been minimized.

@Iamgoofball

This comment has been minimized.

code/modules/client/preferences.dm Outdated Show resolved Hide resolved
code/modules/client/preferences.dm Show resolved Hide resolved
code/modules/mob/living/carbon/human/species.dm Outdated Show resolved Hide resolved
code/modules/mob/living/carbon/human/update_icons.dm Outdated Show resolved Hide resolved
code/modules/mob/living/carbon/human/update_icons.dm Outdated Show resolved Hide resolved
code/modules/surgery/bodyparts/bodyparts.dm Outdated Show resolved Hide resolved
code/modules/client/preferences_savefile.dm Outdated Show resolved Hide resolved
code/modules/client/preferences.dm Outdated Show resolved Hide resolved
@optimumtact
Copy link
Member

image

@Ryll-Ryll
Copy link
Contributor Author

totally rewriting the gender/pronoun handling code sounds like a lot of work for something that would only benefit a small minority of a small minority, and given i've got other projects I'm working on, I'm electing to just go with this

@ghost
Copy link

ghost commented May 11, 2020

I think this PR is good but I feel like Goof's post is bait for conflict.

Also I'd prefer this sticks to the other gender as it is in this PR.

@nianjiilical
Copy link
Contributor

speedmerge before people throw a hissy fit over completely non-game-affecting cosmetic options because waaah muh tumblrites

@ghost
Copy link

ghost commented May 11, 2020

speedmerging things like this is dumb and the same can be said about most PRs; someone will almost always complain.

@nianjiilical
Copy link
Contributor

speedmerging things like this is dumb and the same can be said about most PRs; someone will almost always complain.

okay yeah dont actually speedmerge, i just have low expectations of people reacting to it

@trollbreeder

This comment has been minimized.

@Punkinguy

This comment has been minimized.

@tmtmtl30
Copy link
Contributor

based PR. should've done this myself a while ago

@Punkinguy

This comment has been minimized.

@PKPenguin321
Copy link
Contributor

PKPenguin321 commented May 12, 2020

when i clicked on this i was really, really hoping it was gonna be cosmetic tattoos (or scars!)

@enthethan

This comment was marked as spam.

@necromanceranne
Copy link
Contributor

@PKPenguin321 ryll already is adding scars in the wound pr but it's not visible on your character. They're also persistent.

@optimumtact
Copy link
Member

it's always hippie players

@tmtmtl30
Copy link
Contributor

weren't felinids partially an example framework for tattoos, or am i misremembering

@optimumtact
Copy link
Member

Yes they were, but what has that got to do with anything?

@optimumtact optimumtact added RED LABEL This PR will not auto stale, this label should be green at all times. and removed RED LABEL This PR will not auto stale, this label should be green at all times. labels May 20, 2020
@kriskog
Copy link
Contributor

kriskog commented May 25, 2020

Merge conflict

@kriskog kriskog added the Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts label May 25, 2020
@tgstation-server tgstation-server removed the Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts label May 25, 2020
code/modules/mob/living/carbon/human/human_update_icons.dm Outdated Show resolved Hide resolved
@@ -48,7 +52,7 @@

///Setup a hardcore random character and calculate their hardcore random score
/datum/preferences/proc/hardcore_random_setup(mob/living/carbon/human/character, antagonist)
random_character(TRUE, antagonist)
random_character(FALSE, antagonist)
Copy link
Contributor

Choose a reason for hiding this comment

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

was this the fix? from a quick glance, this looks like it will allow people to de-fullrandom their character by picking their gender.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That argument doesn't accept "true", it's supposed to take the gender you're using to override. I assume hardcore sets the random gender flag elsewhere, but just in case it doesn't, I'll do another gender randomization on top

@@ -584,7 +591,8 @@ generate/load female uniform sprites matching all previously decided variables
else
. += "-not_coloured"

. += "-[gender]"
Copy link
Contributor

Choose a reason for hiding this comment

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

is this a fix? gender should be "male" or "female" or "other", which would be different than f/m

Copy link
Contributor Author

Choose a reason for hiding this comment

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

oop

@81Denton 81Denton added the Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts label May 26, 2020
@tgstation-server tgstation-server removed the Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts label May 28, 2020
@Rohesie
Copy link
Member

Rohesie commented May 29, 2020

Looks good.
Do you feel this is ready or do you want to do further changes to the PR?

@Ryll-Ryll
Copy link
Contributor Author

Should be good to go

@Rohesie Rohesie merged commit 6bf8748 into tgstation:master May 29, 2020
AzzyIsNotHere pushed a commit to NTCanadaTeam/NTCanada that referenced this pull request Jun 8, 2020
… (#11)

* [READY]Fixes the horticultural waders sprite. No more hidden hands! (tgstation#51147)

* waders sprite fixed

* fixies for real

* unfucks armor sprite

* Automatic changelog generation for PR tgstation#51147 [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile, [ci skip]

* Adds two new modular apps: Lifeline for tracking suit sensors, and the Syndicate-only Fission360 for tracking nuke-related items (tgstation#51152)

About The Pull Request

    Adds two new modular computer programs. Both use the same underlying parts;
    -- Lifeline is an improved suit sensor tracker, showing where the target is on a grid if they're within 24 tiles. The scan button has a two-second delay (since the program has to check every humanoid in glob.human_list for trackability and we don't want that spammed). The app works pretty much how you would expect.
    -- Fission360 uses the same processes as above but for the nuke disk and all nukes in the area (self destruct, beer, syndicate). Available only via emagging a tablet for the moment.
    --
    Rudimentary multiZ support exists, in the form of replacing the crosshairs icon with an up or down arrow (once it's visible within the circle) to indicate if the target is above or below, if both the target and the computer are on a station Z level of some sort. Also, the grid lines are exactly two-tiles apart.

    Added support for programs to list special assets to load, so that we don't have to have every program loading all modular program assets. The radar apps use this to load the background grid and the too-far-away-to-display arrow.

Why It's Good For The Game

More modular apps are good. I'm hoping to see a syndicate-version of the modular tablet in the hands of nuke ops at some point, which is really where Fission360 will make sense. Otherwise, it's an extra tool for traitors with the nuke theft objective, I suppose.
Changelog

cl
add: Two new apps for modular computers are available: Lifeline for Medical, and Fission360 for anyone with access to the Syndicate repository. Lifeline is an improved suit sensors tracker, and Fission360 is the same but for nuclear-related things.
/cl

* Automatic changelog generation for PR tgstation#51152 [ci skip]

* Removes Shotgun Ability (tgstation#51295)

* removes shotgunning

* removes shotgunning

* Automatic changelog generation for PR tgstation#51295 [ci skip]

* Don't throttle TGS commands (tgstation#51292)

* You can altClick to take out DNA Disks from DNA consoles (tgstation#51247)

* You can altClick to take out DNA Disks from DNA consoles

You can now altClick to take out a disk from a DNA Console, instead of having to use the GUI and clicking eject.

* Create eject proc, address code review concerns

* DMDOC additions

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>

* Automatic changelog generation for PR tgstation#51247 [ci skip]

* Makes some tweaks to Icebox's EVA and mining areas. (tgstation#51275)

* Initial changes.

* Oh right, consistancy.

* Automatic changelog generation for PR tgstation#51275 [ci skip]

* Fixing crew monitor suit sensors (tgstation#51268)

* first steps

* Update _under.dm

* time for bug testing

* Update clothing.dm

* Update clothing.dm

* Update clothing.dm

* Update clothing.dm

* Update clothing.dm

* Update clothing.dm

* Update clothing.dm

* Update clothing.dm

* more fixes and implementation

* Update crew.dm

* Update clothing.dm

* more bug fixing

* Update crew.dm

* debugging

* Update clothing.dm

* Update clothing.dm

* Update clothing.dm

* added stuff to nanites

* goddamn nanites

* nanite cleanup

* Update crew.dm

* Update crew.dm

* Automatic changelog generation for PR tgstation#51268 [ci skip]

* Changes the Ancient/Clockwork Spear Sprite. (tgstation#51258)

* Resprites the worst thing ever

* Try again?

* Automatic changelog generation for PR tgstation#51258 [ci skip]

* Adds two new biogenerator chemicals to botany. (tgstation#51304)

* Initial Commit, adds both sidegrade chems.

* Actually lets keep both plants distinct enough, ya know

* Automatic changelog generation for PR tgstation#51304 [ci skip]

* Tiny skill neatness tweaks (tgstation#51309)

* minor neatness tweaks

* topic

* Automatic changelog generation for PR tgstation#51309 [ci skip]

* Fixes scaling names (tgstation#51311)

* Automatic changelog generation for PR tgstation#51311 [ci skip]

* Fixes restricted roles in dynamic with configs.

Signed-off-by: TheChosenEvilOne <tceo-email@protonmail.com>

* Improves player retention by leveraging existing assets to incentivize higher average playetime (tgstation#51297)

* im a player ok that means i play

* FINE

* you win this time, shaps

* makes floyd happy

* Update code/__DEFINES/misc.dm

* i was just playing cyberboss dont be mad at me

* changes one character in a comment

* Automatic changelog compile, [ci skip]

* Automatic changelog compile [ci skip]

* remove unnecessary var/id from /datum/material (tgstation#51322)

* remove var/id from /datum/material

* nice commit message dot meme

* Automatic changelog generation for PR tgstation#51322 [ci skip]

* Fixes a small typo (intracies -> intricacies) in _skills.dm (tgstation#51324)

* critical atmos optimization please ignore

* undocumented change lmao

* Automatic changelog generation for PR tgstation#51324 [ci skip]

* Should fix a rare edgecase with explosions and shuttles (tgstation#51017)

* Automatic changelog compile [ci skip]

* Tools for your belt. (tgstation#51328)

* Automatic changelog generation for PR tgstation#51328 [ci skip]

* Glow no longer multiplies it's light strength with power (tgstation#51320)

* Automatic changelog generation for PR tgstation#51320 [ci skip]

* kill featurecoders (tgstation#51319)

* Automatic changelog generation for PR tgstation#51319 [ci skip]

* Alternate directions for arcade machines (tgstation#51313)

* Add files via upload

* Adds directional sprites to arcade machines

* Automatic changelog generation for PR tgstation#51313 [ci skip]

* A few small Cargo bounty tweaks (tgstation#51329)

* Removes the Phazon from the cargo bounty pool.

* Adds a bounty to Cargo requiring a tank of hydrogen

* Automatic changelog generation for PR tgstation#51329 [ci skip]

* Automatic changelog compile, [ci skip]

* OG (tgstation#51156)

Co-authored-by: Tad Hardesty <tad@platymuus.com>

* A fix for botany sprites showing ERRORs. (tgstation#51340)

* I did, I fixed botany forever

* Whoops, still need a min

* Update code/modules/hydroponics/hydroponics.dm

Fair point

Co-authored-by: nemvar <47324920+nemvar@users.noreply.github.com>

Co-authored-by: nemvar <47324920+nemvar@users.noreply.github.com>

* Automatic changelog generation for PR tgstation#51340 [ci skip]

* Adds new body type pref (tgstation#51058)

* tgdb

* tgdb

* Auto stash before cherry pick of "balance changes, enables burn surgery, various body improvements"

* moves unnecessary list out of client

* describes a var

* corrects

* Automatic changelog generation for PR tgstation#51058 [ci skip]

* stray pixel cleanup (tgstation#51338)

* Automatic changelog generation for PR tgstation#51338 [ci skip]

* Automatic changelog compile [ci skip]

* Delays loading of random books (tgstation#51144)

* delays loading of random books

* fix map var

* review

* return

Co-authored-by: Jordie0608 <=>

* Glowshrooms v1.0: Decay, spread "rework" and able to be analyzed (tgstation#51023)

* Added decay for glowshrooms

Glowshrooms now decay after a certain time. Also, reworked spreading algorithm.

* Planted glowshrooms can be analyzed now

* fucking newlines

* YOOOOOOO IT'S REVIEW TIME

* review time v2

* some suggested changes

* new shit

* Automatic changelog generation for PR tgstation#51023 [ci skip]

* Fix Nanite Programmer and Nanite Program Hub deconstruction (tgstation#51245)

* Fix Nanite Programmer and Nanite Program Hub deconstruction

Bug fix for the deconstruction process of the Nanite Programmer and Nanite Program Hub

* Use _act overrides, implement new icons

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>

* Automatic changelog generation for PR tgstation#51245 [ci skip]

* Automatic changelog compile, [ci skip]

* Increase Carp PRice by 1tc (tgstation#51330)

* removes a lot of free illegal tech items (tgstation#51357)

* Automatic changelog generation for PR tgstation#51357 [ci skip]

* Fix unit test logging (tgstation#51354)

* I did myself dirty. (tgstation#51342)

* Boxstation Piping Redone in Layers 1/3 (tgstation#51296)

* Boxstation piping redone

Replaces all of the messy piping on box with layer1/3 pipes, reserving layer 2 for misc work and power lines.

* Changed to fit map alterations

Map changes were integrated into this map.

* Revert "Changed to fit map alterations"

This reverts commit 4114343.

* Added moved AI area/grav gen

Changed map to be most current. Also removed a double cable on one of the upload doors.

* Fixed a small mistake

a slight cable error near the grav gen has been fixed

Co-authored-by: Bennen Sorensen <bennensorensen@gmail.com>

* Automatic changelog generation for PR tgstation#51296 [ci skip]

* Update clothing.dm (tgstation#51337)

* Automatic changelog generation for PR tgstation#51337 [ci skip]

* Automatic changelog compile [ci skip]

* Removes ability to do multiple simultaneous surgeries without Rod of Asclepius (tgstation#51369)

* Automatic changelog generation for PR tgstation#51369 [ci skip]

* removes king goat (tgstation#51366)

* Revert "Remodels king goat ruin (tgstation#50813)"

This reverts commit 26ffe3d.

* numba 1

* bye

* bye 2

* bye 3

* fuck bitches get money

* hey this was actually a good change

* goat sounds

* fuck

* h

* waaaaaaaaagh

* Automatic changelog generation for PR tgstation#51366 [ci skip]

* Better Player Ignore (tgstation#51353)

* Revamp the player ignore system

* Move a variable definition out of a loop

* Replace a |= with +=

* Improve some code

* Fix some code

Co-authored-by: Local <none>

* Automatic changelog generation for PR tgstation#51353 [ci skip]

* Fix achievements subsystem not initializing without the DB (tgstation#51355)

* pink belt fix attempt #2 (tgstation#51327)

h

* Automatic changelog generation for PR tgstation#51327 [ci skip]

* Automatic changelog compile [ci skip]

* Client vars (tgstation#51325)

* fixes grammar (tgstation#51387)

* Firesuits and Radsuits fit the big tanks now (tgstation#51395)

Changed the allowed suit storage items for firesuits and radsuits to allow any internals tank.

* Automatic changelog generation for PR tgstation#51395 [ci skip]

* Automatic changelog compile, [ci skip]

* Fixes glow/antiglow (tgstation#51378)

* Fixes glow

* Removes unneeded variable

* Picks random colors

* Applies the lower strength

* Automatic changelog generation for PR tgstation#51378 [ci skip]

* Chunky waddle (tgstation#51383)

* Automatic changelog generation for PR tgstation#51383 [ci skip]

* Copy: Minor changes to sec Hud icons tgstation#50685 (tgstation#51391)

* Incarcerated, warden, psych

* The second half

* Readds doorjack

* Accidentally added an extra doorjack

* Removes stray pixels

Co-authored-by: J? the J man <Zeldin.nick@gmai.com>

* Automatic changelog generation for PR tgstation#51391 [ci skip]

* Automatic changelog compile, [ci skip]

* Adds a knockedout trait, begins refactoring mobility 2.0 (tgstation#51348)

* ko

* change request

* Automatic changelog compile [ci skip]

* Fixes Icebox ladders and shuffles around icebox mining. (tgstation#51351)

* Fixes Icebox ladders and shuffles around icebox mining

* Re-applies decals.

* Haha whoops so that's how multiz ladders work,

* Automatic changelog generation for PR tgstation#51351 [ci skip]

* Temporary turf visuals fix. (tgstation#51399)

* [READY] Codename: Blue Eyes White Jumpsuit, the TG TCG, Part 1, Reborn (tgstation#51252)

* here goes nothing

no really this is basically nothing

* dme is less dumb

* aaaaa string files

* Card backend (#3)

* Adds card backend and hotloading

This is a combination of 2 commits.

OH SHIT THE SM IS ON FIRE

WE DONE LADS

* Woop

* Best we'll get

* fixed file system, courtesy of potato

* updated tools (thanks potato), now up to 40 cards

* Adds rarity (#4)

* Adds rarity

* just to be sure

* Adds it to cards

* Didn't read templates WHAT A NERD AMAROIGHT

* Commets

* Woop you'd think I'd know my own system

* There we go

* Fuck you EOF (#5)

* Makes rarity not suck (#6)

* Fuck you EOF

* Makes rarity not suck

* Auto stash before merge of "blueeyedwhitejumpsuit" and "origin/blueeyedwhitejumpsuit"

* Makes rarity work as expected, thanks dogman (#7)

* smolcards

* Adds datum cards (#8)

* Datum cards

* Some docs and a little bit of cleanup

* fuck

* problems be had

* Fuck (#9)

* fucko bungo RELASE ME FROM THIS HELL GIT

* datum FUCKING AHHHHHHHHHHH

* packs and games

* boomer mood (#10)

* Card debugging (#11)

* Adds debug vars

* that's a bit better

* shit

* unfucks rarity

* scales sorted

* That should do it

* Parity

* fun fact

* series 1 json

* and so it is done

* Don't need this, I'm dumb.

MacRo-Op???@?#?@??!#?!@

* BRAINDAMAGE

* resin redux, smaller cards

* shut up shut up shut up IT'S ASSUMED TYPE OK? *it's not all that bad*

* double rarity TABLELS, fixed the silly linter

* flippers and rarities

* guaranteed rarity, rarity tables

* fuck it let's ask

* resinfront

* 2560 core set

* fixes flippers

* template icon, extra variable juice

* ADDS SPEED (#12)

* FUCK FUCK FUCK SHIT I BROKE IT AGAIN

* Kills my dreams in the NAME OF SPEED

* and some cleanup

* Minor changes, some qol (#13)

* couple small changes, moved the datum procs around to make things cleaner, made some comments autodocced

* Let's be more clear,

* and a woooop

* Removing ids, carpel tunnel edittion (#14)

* Subsystem

* Carpel tunnel completed

* woop

* curator is no longer equipment

* I'm not dumb you're dumb (#15)

* minor rarity tweak

ladies and gents, it's finished

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>

* Automatic changelog generation for PR tgstation#51252 [ci skip]

* Removes mutation/chromosomes storage limit from DNA consoles (tgstation#51326)

* Removes mutation/chromosomes storage limit from DNA consoles

* Update tgui.bundle.js

* Automatic changelog generation for PR tgstation#51326 [ci skip]

* Automatic changelog compile, [ci skip]

* Automatic changelog compile [ci skip]

* replaces the mulebot 16 second hardstun with an 8 second knockdown (tgstation#51277)

* F

* Update mulebot.dm

* Automatic changelog generation for PR tgstation#51277 [ci skip]

* light floors emit colored lights (tgstation#51097)

* 1

* 2

* debines

* knojbhgfxychgvjbkn

* better emp (test later)

* alt

* | || || |_

* scewact

* Automatic changelog generation for PR tgstation#51097 [ci skip]

* Removes some dead code (tgstation#51426)

* Automatic changelog generation for PR tgstation#51426 [ci skip]

* Fixes boxstation grav gen power (tgstation#51425)

* Fixes boxstation grav gen power

* And AI sat too

* Automatic changelog generation for PR tgstation#51425 [ci skip]

* Remove DEBUG_ADMIN_HREF from default config (tgstation#51415)

* atmos jumpsuits now have the same protections as engi jumpsuit (tgstation#51243)

* fix (maybe)

* atmos jumpsuits now have the same protections as engi jumpsuit

* gosh i hate plasmem

* hhhnnn

* fuck

* Automatic changelog generation for PR tgstation#51243 [ci skip]

* Update precommit hooks to work in GitHub Desktop (tgstation#51404)

Turns out GitHub Desktop actually does bundle a sh.exe, just not a bash.

Also tries to look for the py launcher to help people who didn't check 
the "Add Python to PATH" option.

* Fixes neckgrabs being only escapable if RNGesus comes down and saves you from your fate (tgstation#51427)

* Fixes grabs being impossible to escape, at the expense of making it easier to escape a grab. Damage inflicted by resisting increased to compensate.

* Upped the time between resists a bit

* Automatic changelog generation for PR tgstation#51427 [ci skip]

* Fixes Get-Current-Logs (tgstation#51376)

* Adds coupons to cargo, turns small crates into goodies (tgstation#51216)

* Adds coupons

* fixes invalid var

* fixes old var name

* test

* does this please you travis?

* is that a prize, or....

* adjusts odds

* fikou owes me $10

* neatens code per review

* corrects bouncy

* corrects some errors

* redisables price gouging on goodies

* Automatic changelog generation for PR tgstation#51216 [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog generation for PR tgstation#51333 [ci skip]

* Fixes Pest/Weed Killer so that they don't act like hypertoxins, adds organic weedkiller to compensate. (tgstation#51293)

* Initial Commit.

* Fineeeeeee, added sanity check.

* Alright, nerfed according to corn on the cobby

* Automatic changelog generation for PR tgstation#51293 [ci skip]

* DMAPI 5.2.2 (tgstation#51100)

* Update DMAPI to v5.1.0

* Add more event handlers

* Patch

* DMAPI 5.2.0

* DMAPI 5.2.1

* Add missing trailing new line

* Fix the version we print after updates

* 5.2.2

* Automatic changelog compile, [ci skip]

* Supresses icon2html runtime spam. (tgstation#51438)

* replaces plasma in bluespace beaker with plastic (tgstation#51437)

* replaces diamonds in bluespace beaker with plastic

* ok cobert c chemicals

* Automatic changelog generation for PR tgstation#51437 [ci skip]

* Automatic changelog compile, [ci skip]

* Automatic changelog compile [ci skip]

* illustrious (tgstation#51418)

* Automatic changelog generation for PR tgstation#51418 [ci skip]

* I was bored (tgstation#51407)

* Automatic changelog generation for PR tgstation#51407 [ci skip]

* Fixes multiz lag. (tgstation#51454)

* Automatic changelog generation for PR tgstation#51454 [ci skip]

* Documents browserOutput.dm (tgstation#51439)

* Fixes sensors runtime. (tgstation#51445)

* Adds some card unit tests, cleans up some comments (tgstation#51434)

* Adds unit tests, some more checks, and improves some comments

* sweep sweep sweep?

* Braindamage

* Automatic changelog generation for PR tgstation#51434 [ci skip]

* Automatic changelog compile, [ci skip]

* Fixes turf atmos getting deleted. (tgstation#51453)

* Fixes turf atmos getting deleted.

* Moves the gas transfer procs to the gas mixture.

* Fixes emp act to behave like before

* Fixes tanks exploding

* Minor circle hand fixes (tgstation#51276)

* love being "the circle game" person now

* most useless flag ever

* Automatic changelog generation for PR tgstation#51276 [ci skip]

* Changeling on changeling absorb fix (tgstation#51444)

* adds changeling vars

needed due to changeling that absorbs a changeling that absorbs a changeling getting more chems

* Update changeling.dm

changes reset_properties() to reflect things that sohuldn't reset to baseline - this is not pretty

* fix spell error

* spelling error

* add some comment on why change was done

This really speaks for itself in my opinion

* Automatic changelog generation for PR tgstation#51444 [ci skip]

* Automatic changelog compile [ci skip]

* Fixes canister pain (tgstation#51074)

* fixes dumb canister shit

* Thanks anturk

* That good?

* moves the base icon state to the object def

* Automatic changelog generation for PR tgstation#51074 [ci skip]

* Automatic changelog compile [ci skip]

* Automatic changelog compile, [ci skip]

* improves dynamic ruleset scaling code (tgstation#51385)

* awful

dynamic code sucks ass

* distributive property

removes antags_rolled entirely. good riddance

* Automatic changelog generation for PR tgstation#51385 [ci skip]

* Some cleanup (tgstation#51315)

Signed-off-by: TheChosenEvilOne <tceo-email@protonmail.com>

* Automatic changelog generation for PR tgstation#51315 [ci skip]

* Dynamic hotfix (tgstation#51502)

* Dynamic hotfix

Signed-off-by: TheChosenEvilOne <tceo-email@protonmail.com>

* this was a dumb error

Signed-off-by: TheChosenEvilOne <tceo-email@protonmail.com>

* Automatic changelog generation for PR tgstation#51502 [ci skip]

* Automatic changelog compile, [ci skip]

* Automatic changelog compile [ci skip]

* Adds arguments to the rest of make_plating procs. (tgstation#51460)

* Replace BSQL with rust-g, paramaterize all queries (tgstation#51255)

cl
refactor: BSQL has been replaced with rust-g, improving SQL reliability and safety.
/cl

Queries were parameterized as much as possible. Careful code read by someone else also versed in SQL would be a good idea. Things seemed fine spot-testing roundstart, library, bans, and polls, but more stress-testing may be useful.

Also updates rust-g to v0.4.5:

    Improved Linux .so detection
    Perlin noise functions

Also updates Travis script to bionic.

* Automatic changelog generation for PR tgstation#51255 [ci skip]

* Automatic changelog compile, [ci skip]

* update_static_data now passes user to push_data() (tgstation#51485)

update_static_data now passes user to push_data().

I'm pretty sure no UIs currently use user in ui_static_data for... Anything. So that's why no one noticed this before. Well, better to pass it than not.

Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
Co-authored-by: tgstation-server <tgstation-server@tgstation13.org>
Co-authored-by: Changelogs <action@github.com>
Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
Co-authored-by: KathyRyals <65850818+KathyRyals@users.noreply.github.com>
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: MacBlaze1 <33578623+MacBlaze1@users.noreply.github.com>
Co-authored-by: nemvar <47324920+nemvar@users.noreply.github.com>
Co-authored-by: TheChosenEvilOne <tceo-email@protonmail.com>
Co-authored-by: MrDoomBringer <mrdoomboyo@gmail.com>
Co-authored-by: William Wallace <me@wiox.me>
Co-authored-by: spookydonut <github@spooksoftware.com>
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: AsphaltEvidence <64790412+AsphaltEvidence@users.noreply.github.com>
Co-authored-by: TheVekter <TheVekter@users.noreply.github.com>
Co-authored-by: Tad Hardesty <tad@platymuus.com>
Co-authored-by: Jordie <4343468+Jordie0608@users.noreply.github.com>
Co-authored-by: Shadark <fauglir@gmail.com>
Co-authored-by: GhostEcho <34822121+GhostEcho@users.noreply.github.com>
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Helianthus00 <64755361+Helianthus00@users.noreply.github.com>
Co-authored-by: Bennen Sorensen <bennensorensen@gmail.com>
Co-authored-by: PrimordialOoze <65879488+PrimordialOoze@users.noreply.github.com>
Co-authored-by: Fhaxaris <Chrisamcculler@gmail.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: BeeSting12 <zvmallol@gmail.com>
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: J? the J man <Zeldin.nick@gmai.com>
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
Co-authored-by: EOBGames <58124831+EOBGames@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Kelenius <kelenius@ya.ru>
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: Tlaltecuhtli <33834933+Tlaltecuhtli@users.noreply.github.com>
Co-authored-by: skoglol <33292112+kriskog@users.noreply.github.com>
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: Kaffe-work <leoo@student.chalmers.se>
Co-authored-by: tmtmtl30 <53132901+tmtmtl30@users.noreply.github.com>
Co-authored-by: TheChosenEvilOne <34602646+TheChosenEvilOne@users.noreply.github.com>
Co-authored-by: Trigg <36010999+TriggeredBoi@users.noreply.github.com>
@Ryll-Ryll Ryll-Ryll deleted the body-pref branch June 9, 2020 04:05
optimumtact pushed a commit that referenced this pull request Jan 14, 2021
About The Pull Request

An oversight made in #51058. Almost every other source of changing gender was complete with changing body_type as well, but not the ghost_role spawners.

Right now ghost roles can spawn with one gender, but get the other body_type.
This results in looking at "her", while the person in question got a surprise.

For such things, we already added "Other" gender.


cl
fix: Ghost roles can no longer spawn as a male with female body_type and vice-versa.
/cl
FernandoJ8 pushed a commit to FernandoJ8/tgstation that referenced this pull request Apr 13, 2022
* throw_at() will not quickstart a throw if the throw was triggered from the same stack as SSthrowing/fire() (tgstation#56004)

throw_at will not quickstart a throw if the throw was triggered from the same stack as SSthrowing/fire()

Infinite throwing loops are fine, as long as they don't loop at the stack level.

* what did he mean by this (tgstation#56042)

Potato goofed 7 months ago so here's a fix (Fridges were defaulting to a force of true, which was... jank)

* Automatic changelog generation for PR tgstation#56042 [ci skip]

* Banana & peel resprite. (tgstation#56015)

imageadd: Bananas & peels have been resprited.

* Automatic changelog generation for PR tgstation#56015 [ci skip]

* fixies (tgstation#56054)

You can now ride the banana glutton properly.

* Automatic changelog generation for PR tgstation#56054 [ci skip]

* Adds Rocket Backblast (tgstation#55681)

This PR adds the backblast element, which when attached to a gun, creates giant plumes of fire when said gun is fired. The PM9 rocket launcher that nuke ops can buy kinda sucks and even a direct hit with the standard rockets loaded isn't enough to guarantee a one-hit crit on a direct hit against an armored opponent, which sucks for how much you pay for it. In that vein, I've also buffed the standard rockets a bit, they now do 50 brute up from 30 on a direct hit, and they create flames on their explosion.

Also makes a tweak to /proc/get_turf_in_angle(), since tile coordinates start at 1,1 instead of 0,0 that proc is now clamped to min 1,1 rather than 0,0

* Automatic changelog generation for PR tgstation#55681 [ci skip]

* Sticky syndicate access (tgstation#56032)

Adds sticky access. Sticky access will be readded if removed in the identification console. Currently only used to fix tgstation#54429. Also converts some comments in card_ids.dm to DMdoc comments and adds some new ones.

* Automatic changelog generation for PR tgstation#56032 [ci skip]

* Fix wheel error for ci_suit workflow (tgstation#56053)

Adds wheel package since its required by some setup.py
Workflow run with this option added: https://github.com/Gamer025/tgstation/pull/1/checks?check_run_id=1672278250

Gets rid of all the
error: invalid command 'bdist_wheel'
errors in the ci_suite workflows

* Tweak the RD's suplexing ability into a skillchip (tgstation#55870)

Although this doesn't change the power level of the Research Director,
it's important to rework "job title" checks into traits or something
similar.

Moving job title specific behaviour out of checks by job name and into
traits means there's more flexibility to trigger behaviour. If an admin
feels the station really needs the ability, they can var edit it in, or
spawn the chip.

* Automatic changelog generation for PR tgstation#55870 [ci skip]

* tgui: List Input (tgstation#56065)

Ported over from https://gitlab.com/cmdevs/colonial-warfare/-/merge_requests/613 which provides an input box to select an option from a list.
Has a search bar to allow filtering for results and an onKeyDown event to replicate default behaviour from the default list input boxes that BYOND provides (where you are able to type the first letter of an element in the list and it'll jump to the first element that matches and then the next and so on)
Right now, it is only applied to the holopad and "Drop Bomb" verb for administrators.

Credits to bobbahbrown for the Loader element from AlertModal.js which allows for a timed input (was needed on the CM codebase for timed inputs) and for the majority of the DM code.

Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>

* Automatic changelog generation for PR tgstation#56065 [ci skip]

* Sets the charset and collation for the SQL schema to utf8mb4 (tgstation#56060)

Changes the charset and collation in the SQL schema to utf8mb4 (which is default in ubuntu 20.04 and debian 10 for MariaDB). This solves all the problems with russian or other non-latin1 characters in many cases related to the use of the database, because surprisingly the rest is already ready for such use cases.

I am not adding any SQL script to migrate from latin1 to utf8mb4, as this is an extremely destructive action. It must be performed manually with the data of all tables backed up before doing so.
However, this can be done by using the following queries, one time for database:
ALTER DATABASE databse_name CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
and one for each table:
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

* [READY] Nukes archeology component and icon_plating and environment_type in favor of base_icon_state. Dig behaviour code improvement (tgstation#55819)

* aa

* Removes archeology component. Nukes icon_plating and environment_type in favor of base_icon_state

* Actually maybe lets not use a proc for updating asteroid icon state when its dugged up

* Update plating.dm

* Automatic changelog generation for PR tgstation#55819 [ci skip]

* Correctly transfer skillchips when ahealing someone (tgstation#56064)

When ahealing someone via the player panel their skillchips weren't transfered correctly.
The actually skillchip object was left in the old brain and eventually hard deleted.
This caused a runtime when ahealing someone a second time (after the harddel).
This then caused the target to actually have 2 brains because of the runtime while ahealing

* Automatic changelog generation for PR tgstation#56064 [ci skip]

* Telekinesis can throw non items (vending machines, lockers) only 1 tile far (tgstation#56063)

Telekinesis users can now only throw items 10 tiles, everything else can only be thrown 1 tile

* Automatic changelog generation for PR tgstation#56063 [ci skip]

* Fixes 2 really annoying cytology virus bugs. (tgstation#56062)

This PR fixes the generate_sample proc so it properly uses virus_chance to determine when to generate a virus. Now most samples will be virus free as intended.

It also fixes the bug where virus penalty and spaceacillin consumption would be multiplied by the number of cell lines, rather than the number of viruses, as intended.

* Automatic changelog generation for PR tgstation#56062 [ci skip]

* Added a standardized json unit test results log and added my vscode test runner to recommendations (tgstation#56058)

Link to the test explorer: https://marketplace.visualstudio.com/items?itemName=Donkie.vscode-tgstation-test-adapter

The test explorer adapter lets you compile and run the code in one click of a button, with no messing about with defines necessary

The extension supports reading test results from the unit test logs, but its shitty having to parse logs for that, so this PR also adds support for a somewhat standardized method of logging unit test results to a json file instead.

* Automatic changelog generation for PR tgstation#56058 [ci skip]

* Xenomorph embryos now grow based on consistent timers instead of 100% RNG (3% chance every 2s) (tgstation#55755)

• Adds documentation to alien_embryo.dm
• Refactors how alien embryos increase their stage var, aka their cute ickle baby development stage. Now it increases stage every minute, which means 5 minutes to grow as opposed to taking 15 seconds to the end of time to grow.
• Growth time is now defined by a variable, so admins can var-edit it in game and future coders can easily change the variable to make it take more or less time to grow. It also means it's a simple one-line edit if any of TG's plentiful downstreams want to change this for their server.

* Automatic changelog generation for PR tgstation#55755 [ci skip]

* Removes the ANIMATION_PARALLEL flag from floating and fixes another issue with the refactor. (tgstation#55930)

Co-authored-by: Rohesie <rohesie@gmail.com>

* Automatic changelog generation for PR tgstation#55930 [ci skip]

* Automatic changelog compile [ci skip]

* Replaces 'Goebbles' random last name (tgstation#56074)

* Automatic changelog generation for PR tgstation#56074 [ci skip]

* Fixes removing AIs from mechs (tgstation#55986)

Basically the old code attempted to use locate(AI), but the AI in this case is a ref that is supposed to be provided by the card. Since the card is initially empty when removing AIs from the mech, it couldn't find the null in the occupants list and thus failed with a report that there was no AI in the mech.

Now it checks all occupants and makes a list of any AIs it finds, then gives the user the option to pick an AI (though since we don't have any multi-pilot mechs yet the most you can get is one AI, and input with one option just auto-chooses).

* Automatic changelog generation for PR tgstation#55986 [ci skip]

* Optimize mapmerge's DMM.generate_new_key method (tgstation#56068)

Tested on tgstation#55867, takes the merge driver's runtime from 148.1s to 4.8s

* stops code from seeping into ic chat (tgstation#56088)

changes the reference in the modular computer code from src to computer as src is a datum

* Automatic changelog generation for PR tgstation#56088 [ci skip]

* Flesh to stone no longer makes you immune to bleeding, refactors bleedsuppress into a trait (tgstation#56078)

Being hit by the Flesh to Stone makes you bleed immune to prevent you from getting petrified while bleeding, and bleeding out while turned into stone. However, it doesn't make you vulnerable when you get unpetrified. This is a bug. This also makes bleedsuppress into a trait, as both is broken and should be a trait.

* Automatic changelog generation for PR tgstation#56078 [ci skip]

* Fixes vehicles like skateboards and wheelys moving multiple times. (tgstation#56070)

 So wheelys would have 3 instances of the riding component attached on initialize with a different argument, causing them to move 3 tiles at once instead of 1. Skateboards will have 2 attached and move 2, etc.

* Automatic changelog generation for PR tgstation#56070 [ci skip]

* moves quirk stating from medhud to a button instead of being spammed on your chat (tgstation#56067)

 shift clicking people with medhud shouldnt fill your whole chat with stuff u dont want except when u press button to see it

* Automatic changelog generation for PR tgstation#56067 [ci skip]

* Move module creation up in Initialize (tgstation#56086)

This is caused by Initialize trying to link the Cyborg to an AI, when this is done successfully toggle_headlamp is called
Toggle_headlamp however calls update_icons which tries to set icon_state to module.cyborg_base_icon however module at this point is null because the default module is assigned later in Initialize.
This PR moves the module creation up inside Initialize to prevent this.

* Automatic changelog generation for PR tgstation#56086 [ci skip]

* Fixes tgstation#55670, AIs will be able to see clearly after getting un-pied (tgstation#56087)

Fixes tgstation#55670. There was a bug where AIs wouldn't have their blurriness lowered after getting cleaned up. This fixes it by enabling the system that allows living things to lower blurriness on AIs.

* Automatic changelog generation for PR tgstation#56087 [ci skip]

* Add nanite lab to Runtime Station (tgstation#56044)

Doing any testing of new nanite stuff involves spawning in a bunch of
machinery and equipment, so including it on Runtime helps with
development.

* Automatic changelog generation for PR tgstation#56044 [ci skip]

* Finishes the allocation refactor (tgstation#55965)

tgstation#53841 continuation
I recall that the reason for infinite stuns and such was that the priority wasn't being cleared properly when something hitched and I fixed it and I don't remember where exactly but it works now (TM)
A variation of this is TMed on TGMC and it works fine

* Automatic changelog generation for PR tgstation#55965 [ci skip]

* Adds forgotten kit to armament beacon (tgstation#56016)

Adds the forgotten kit to the armament beacon, holding the same stats as knight armor and stone sentinel, But with the sprites for the old clockwork armor and helmet, as they are very nice looking sprites. Moves said sprites to the suit and hat file respectively. as-well as adding forgotten helmet/armour to the game, which are said armors.

Makes it easier to do any clockcult themed gimmick as the chaplain without wearing the god awful craftable armor, uses sprites that really shoulden't die on the same hill as clockcult. a few others have also told me they'd love to see the old clockcult armor and helmet sprites used for something, as they look nice.

* Automatic changelog generation for PR tgstation#56016 [ci skip]

* Rework job food/alchohol benefits into livers  (tgstation#55721)

By moving the "special behaviour" of something like security officers
eating donuts, or engineers losing radiation by drinking Screwdrivers,
into traits on the liver, this makes the "origin" of that behaviour more
clearly defined, rather than something that's attached to the mind of
the person. (For example, now if a wizard mindswaps into a Security
Officer, they too can now digest donuts good.)

Having this behaviour be partially visible to the more medically
inclined members of the station (like doctors, and the chaplain for
"entrails reading mystic" themes), means that a dismembered liver tells
a story to those who know how to read it.

Some jobs have more "benefits" than others, for example the only thing
that the liver of a Quartermaster gives them is a sense of inadequacy
when consuming royal carpet.

Clowns having livers that honk make them easier to identify, and plays
into the retconned "bike horns are clown livers lore"? Also, why not cut
out a clown's liver then honk them with it? You monster.

* Automatic changelog generation for PR tgstation#55721 [ci skip]

* Makes it possible to create an /obj/item/sharpener with multiple uses (tgstation#55958)

Whetstones will now become worn when at 0 uses instead of being either used or not used. All currently existing whetstones start at 1 use.

* Automatic changelog generation for PR tgstation#55958 [ci skip]

* Refactor caltrop component into element (tgstation#56020)

Refactors the nearly completely stateless component "caltrop" into an
element. The previous limit on "one message per caltrop per second" has
been changed to "one message (about caltrops) per mob per second".

This avoids a unique component for each shard of glass, and each cactus
in the world, so saves some much needed memory.

A message about "sliding over" caltrops has been removed, since it's
now intended that you only trigger caltrops if you're not lying down.

* Automatic changelog generation for PR tgstation#56020 [ci skip]

* Regular CTF no longer has wounding (tgstation#56093)

:cl: coiax
tweak: Regular Capture-The-Flag players can no longer be wounded.
Simulated participants in the Medieval Shuttle can still be violently
murdered with wounds however.
/:cl:

CTF is very fast paced, and if you've taken damage without your shield,
you are nearly dead most of the time. However, if you do survive, you're
supposed to slowly heal, but wounds are untreatable on the battlefield.

People still being able to be bloodily stabbed in the Medieval Shuttle
is definitely a feature.

- Aliens (xenomorphs) are still immune to wounds, but that immunity is
  now done with a trait, rather than a typecheck.

* Automatic changelog generation for PR tgstation#56093 [ci skip]

* Automatic changelog compile [ci skip]

* [READY] A victory for revolutionaries will no longer end the round on dynamic, instead no new security and command will be allowed to join (tgstation#55956)

Currently, a victory for revoutionaries leads to the round abruptly ending on dynamic. This has been replaced by all revolutionaries being deconverted, and no new security or command positions being available.

Also attempts to unionize (pun intended) copy and paste code in the round start and late join revolutionary rulesets into being handled under the revolutionary team instead.

* Automatic changelog generation for PR tgstation#55956 [ci skip]

* Fixing bugs about the worst simple_animal coded in and material tiles. (tgstation#54885)

Fixed floorbots applying floor tiles onto already tiled turfs.
Fixed floorbot issues with material tiles.
Fixed emagged floorbots spawning lattice when deconstructing floor into plating.

* Automatic changelog generation for PR tgstation#54885 [ci skip]

* Makes jaunting work properly again (tgstation#56028)

Fixes an if check that was checking the area flags of a turf. Prevents a runtime in phased_check, and makes the area noteleport flag work properly. These were introduced by tgstation#55973

* Gives CE an engineering skillchip. (tgstation#56082)

Literally gives CE an existing skillchip.

* Automatic changelog generation for PR tgstation#56082 [ci skip]

* HFR: Better observation of delta_time (tgstation#56009)

This changes HFR's fusion_process() to better observe delta_time.

* Automatic changelog generation for PR tgstation#56009 [ci skip]

* Fix moth aheal runtime (tgstation#56109)

Fixes misplaced square bracket to solve runtime issue.

* Automatic changelog generation for PR tgstation#56109 [ci skip]

* Removes the gen_turfs from icebox arrivals, they don't god damn do anything because they are literally just placeholders for areas, and they aren't in the right fucking area. Also gets rid of some dumb plating that makes the area looks worse imo (tgstation#56107)

* Automatic changelog generation for PR tgstation#56107 [ci skip]

* Upgrade extools version (tgstation#56104)

thanks willox. fixes the game not working on BYOND 513.1539
.dll is from appveyor for the v0.0.7 tag: https://ci.appveyor.com/project/MCHSL/extools/build/job/gbyo64ou0ny01g75/artifacts

* Removes the firealarm from the meta freezer, it activated at roundstart due to the cold. (tgstation#56106)

* Automatic changelog generation for PR tgstation#56106 [ci skip]

* Fix runtime in bolts hallucination (tgstation#56108)

Fixes requesting .len from null when the list was never initialized.

* Automatic changelog generation for PR tgstation#56108 [ci skip]

* [bounty code moment] Adds a way to view the 'Server's Last Round' (tgstation#55646)

* Adds "View Last Server Round Report" option.

* Automatic changelog generation for PR tgstation#55646 [ci skip]

* Now brain trauma paralysis works in arms as intended (tgstation#56105)

Fixing issue tgstation#56076 making arms affected by the corresponding brain trauma. Fixing brain trauma paralysis in non-human limbs is impossible without a partial or complete refactor of paralysis code or species code, and since this situation happens very rarely, I doubt someone want to waste time in this. But if someone wants to do it anyway feel free to ask me about how it can be done.

* Automatic changelog generation for PR tgstation#56105 [ci skip]

* Fixes double catwalks on Delta Station. (tgstation#56110)

Removes double and triple catwalks from DeltaStation map.

* Automatic changelog generation for PR tgstation#56110 [ci skip]

* Added autofocus for the first button in the TGUI list input. (tgstation#56114)

Ported over from https://gitlab.com/cmdevs/colonial-warfare/-/merge_requests/647
When you open the TGUI list input, it'll auto-focus the first element so that you can easily navigate with the arrow keys without having to click on the page beforehand.

Small QoL when opening the thing, don't have to click on it if you want to navigate via arrows keys, etc.

* Automatic changelog generation for PR tgstation#56114 [ci skip]

* Automatic changelog compile [ci skip]

* [READY] Changes MetaSec Offices Layout, lathe location, and adds walls to maintenance by upload. (Attempt 2) (tgstation#55971)

* Try 2

* Missed the edits by Upload

* Someone threw the sec couch out the airlock.

* Added a few officer spawns

* Junk commit for mergability testing

* Yet another junk commit

* lathe moved.

* That gosh darn sec lathe has been moved with prejudice. Tricksy lathe.

* Automatic changelog generation for PR tgstation#55971 [ci skip]

* Revert "Finishes the allocation refactor (tgstation#55965)" (tgstation#56137)

This reverts commit 87234f3.

* Comms consoles now have a GPS signal. (tgstation#56121)

Helps solve the issue of hidden comms consoles delaying (or forcing) a round end.

* Automatic changelog generation for PR tgstation#56121 [ci skip]

* Fixes null-named painting issue (tgstation#56113)

There was an issue where you could name paintings nothing, which would cause issues with persistency. This was because the stripped_input didn't actually check that you put something in, so the PR adds that check. It now ensures, both when saved and loaded, that there is a title. If not, it sets them to the default 'Untitled Artwork'

* Automatic changelog generation for PR tgstation#56113 [ci skip]

* Prevents everything except carbons, PAIs and cats from resting to fix Ian paralysis (this time with bitflags). (tgstation#56089)

There is now a mobility flag that determines a mob's ability to rest. Only works with living mobs. Most living mobs shouldn't be able to rest, so it's only true for carbons, cats and PAIs. Fixes tgstation#56034. Fixes tgstation#55975 by making borgs unable to rest.

* Automatic changelog generation for PR tgstation#56089 [ci skip]

* Makes hulk more susceptible to cold damage (tgstation#56131)

cl Qustinnus
tweak: Hulks now get more damage from freeze damage, take it in brute, and get the damage at higher temps than normal
/cl

requested by oranges, makes the temp-gun better against hulkies

* Automatic changelog generation for PR tgstation#56131 [ci skip]

* Automatic changelog compile [ci skip]

* Add testing rule to contribution guidelines (tgstation#56147)

Adds a clause to the contributing guidelines that you are expected to have tested your code, which implicitly bans webedited larger PRs. Also updates the wording about changelogs.

* Fix elevators (tgstation#56117)

Currently elevators are broken since they try to use the z level of the assembly inside the button to determine how to move
The assemblies z level is however always 0 and instead the z level of the button containing the assembly must be used
This fixes this

* Automatic changelog generation for PR tgstation#56117 [ci skip]

* Fix briochecake icon, add tastes and foodtypes (tgstation#56125)

- Adds a missing `icon_state` to the full brioche cake
- Adds `SUGAR` to the brioche cake's and slice's `foodtypes`, as they're glazed (according to the description)
- Adds butter and cream to the `tastes` as well

* Automatic changelog generation for PR tgstation#56125 [ci skip]

* var/hacked now actually does something in vendor spawners (tgstation#56144)

Oversight made by @TiviPlus when making tgstation#55147
var/hacked wasn't actually used in code and instead, all spawner vendors were instantly hacked.
fixes tgstation#56101

* Automatic changelog generation for PR tgstation#56144 [ci skip]

* Common Build Tooling (tgstation#55373)

Add Common Build Tooling

## Information for Developers

On Windows, the build scripts will automatically install Node. Other 
platforms should use their package manager or download it from 
https://nodejs.org/en/download/

Pick one:

- VSCode: `Ctrl+Shift+B`
- VSCode: `F5` (build & run with debugger) or `Ctrl+F5` (build & run 
  without debugger)
- Windows: double-click root `Build.bat` (pause to see output) or 
  `tools/build/build.bat` (no pause)
- Git Bash and non-Windows: `tools/build/build`

## Information for Server Admins

- TGS scripts will automatically install the version of Node specified 
  in `dependencies.sh`
- Either use this build script, or compile tgui by running any script 
  in `tgui/bin` folder.

## Details

Both dm and tgui are now built with a single script. It's pretty easy 
to launch: just press `Ctrl+Shift+B` in VSCode, and tada! 🎉 

**It's smart.** It will skip certain steps if source files were 
untouched for that step. So, if you're only touching dm code, it will 
only rebuild dm code, and will skip tgui.

**Syntax is fairly readable and maintainable.**

```js
const { Task, runTasks, exec } = require('./cbt');

const taskTgui = new Task('tgui')
  .depends('tgui/yarn.lock')
  .depends('tgui/packages/**/*.js')
  .provides('tgui/public/*.bundle.*')
  .provides('tgui/public/*.chunk.*')
  .build(async () => {
    await exec('tgui/bin/tgui');
  });

runTasks([taskTgui]);
```

**This is a long term solution to the js bundle hell.** Now that we 
have a single script to build everything, bundles have been excluded 
from the repo, and they will no longer cause conflicts in PRs. This 
results in quicker PR turnaround time and less time wasted on 
rebuilding tgui for PRs.

**CI pipelines have been updated.** They're not coded in the most 
optimal way, just making them green for now.

## Possible future work

- Support compiling with DM defines by passing them as an argument, 
  like `-D LOWMEMORYMODE`.
- Instead of explicitly listing the task sequence in `runTasks()`, 
  support specifying tasks in `.depends()`, which in turn will allow 
  building a graph of dependencies and running things in parallel.

Co-authored-by: Tad Hardesty <tad@platymuus.com>

- Add root Build.bat
- Add trio of tools/bootstrap/ scripts for Node
- Add tools/build/README.md
- Ensure build script and VSC configuration works properly on Linux
- Update TGS4 PreCompile scripts

Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>

- Keep PreCompile scripts compatible with TGS3 as well
- Update LinuxOneShot PreCompile scripts
- Update TGS4 configuration

* Fixes checking a person's inventory requiring a do_after and causing a buckle notification. (tgstation#56153)

`/atom/movable/proc/mouse_buckle_handling(mob/living/M, mob/living/user)` has functionality that is too generic for `/mob/living/carbon/human/`

`/mob/living/carbon/human/MouseDrop_T(mob/living/target, mob/living/user)` contains code that is better suited for `mouse_buckle_handling()`

`/mob/living/carbon/human/MouseDrop_T()` results in a call stack that calls the generic `/atom/movable/proc/mouse_buckle_handling()` when the prerequisites for piggybacking or fireman carrying are not satisfied. But this makes no sense and means that when the game state is such that you should be inspecting the inventory, the game state is ALSO such that you are attempting to erroneously buckle a player to yourself.

In addition, `MouseDrop_T()` should really not be holding mouse buckling logic in this scenario. As a result, this proc override has been removed from /living/carbon/human entirely. All functionality has been shifted into an overriden `mouse_buckle_handling()` at the /living/carbon/human level.

Piggybacking and fireman carrying now actually return a value on success.

Finally, if we have successfully handled the MouseDrop_T event through a parent proc call chain, we no longer go on to show the mob's inventory.

All these tweaks combined mean that you can now click-drag to view inventories without a do_after and without attempting buckling, /mob/living/carbon/human buckling logic is now appropriately in `mouse_buckle_handling()` and no longer falls through to generic buckling checks, which is not relevant when trying to air quotes "buckle" a mob to a /mob/living/carbon/human. Successfully buckling a player to yourself (in this scenario through fireman carrying) no longer opens the inventory window.

I have tested the following behaviours and they work as intended.

- [x] Piggybacking
- [x] Fireman carrying
- [x] Inspecting inventory of /mob/living/carbon/human
- [x] Inspecting inventory of /mob/living/simple_animal/pet/dog/corgi/ian
- [x] Buckling /mob/living/carbon/human to a chair.
- [x] Buckling /mob/living/simple_animal/pet/dog/corgi/ian to a dog bed.

* Automatic changelog generation for PR tgstation#56153 [ci skip]

* Fixes ghost_roles spawning as transgenders. (tgstation#56151)

About The Pull Request

An oversight made in tgstation#51058. Almost every other source of changing gender was complete with changing body_type as well, but not the ghost_role spawners.

Right now ghost roles can spawn with one gender, but get the other body_type.
This results in looking at "her", while the person in question got a surprise.

For such things, we already added "Other" gender.


cl
fix: Ghost roles can no longer spawn as a male with female body_type and vice-versa.
/cl

* Automatic changelog generation for PR tgstation#56151 [ci skip]

* Automatic changelog compile [ci skip]

* ID Card access change logging, Part 2 (tgstation#56155)

I've condensed the logging into a single define, to allow ID card logging to be easily tweaked and to clean up some messy copy-pasted code.

There is no longer admin messaging for Head of Staff accesses, but it's all still logged as it was before.

There is a new option for the Investigate verb.

Which has the complete logging history for ID card changes that are currently tracked, all in one place.

Which admins can ALSO access from Get Current Logs and Get Server Logs for past rounds via id_card_changes.html

* Automatic changelog generation for PR tgstation#56155 [ci skip]

* Fixes comms console runtime that stops you paying off pirates (and reply to any other messages) (tgstation#56135)

This is because JS-side it does a string concat instead of integer addition at messageIndex + 1, as messageIndex is a string and nothing in JS is typed because it is an evil programming language that is a cross between Hitler and Skeletor, with piss of pure liquid malevolence.

We appropriately parse the messageIndex to an int radix 10 before adding 1, and everything just works.

Also removes two text2num conversions following a recent tgui change that made this no longer necessary.

* Automatic changelog generation for PR tgstation#56135 [ci skip]

* Icebox Xenobio maint fixes (tgstation#56139)

Fills in a hole in Icebox lower Xenobio maint causing active turfs and replaces a magic locker that I'm told is unintentional with a regular one.

* Automatic changelog generation for PR tgstation#56139 [ci skip]

* fixes grenades with prox sensors (landmines) not working (tgstation#56150)

* Automatic changelog generation for PR tgstation#56150 [ci skip]

* Improves Bleeding Feedback + Misc Wound/Organ Decay Tweaks (+ Removes Teeth) (tgstation#56056)

* Automatic changelog generation for PR tgstation#56056 [ci skip]

* Update build process in documentation (tgstation#56173)

Building tgstation is a bit different nowadays, so I've updated the 
docs a bit.

* Makes build all default task in vscode. (tgstation#56178)

* Update Dockerfile for CBT (tgstation#56175)

Follow-up to fix the failing Docker CI on master.

- Reorganize the entire Dockerfile to be more readable
- Inline the tgstation/byond Dockerfile into our own, so we can change the base distro at will
- Also allows us to trash the dependencies.sh<->Dockerfile hack
- Use 32-bit libs on a 64-bit distro so that we can download and run recent 64-bit Node binaries
- Call tools/build/build rather than DreamMaker directly

* Force UTF-8 encoding in tools/bootstrap/node_.ps1 (tgstation#56177)

* Try to not do anything after calling TgsReboot() (tgstation#56161)

We want to use the script TGS executes when calling this to do ops stuff

* Replaces iftrue for scope building with do while in compile overlays (tgstation#56159)

* Updates Contribution Guidelines regarding Prior Approval for Station Maps (tgstation#56166)

Updates the contribution guidelines to require the addition, removal or replacement of station maps to require prior approval before making the PR.

Ultimately shouldn't change much about how the PRs are handled, but gives an early warning that approval should be sought and should help cut down on lost time mapping if I would reject a PR outright. With how long station maps take to make, prior warning that it outright won't be merged is, in my opinion, good.

* Explosive lance icons update properly (tgstation#56164)

Fixes tgstation#56154. Spears were missing an update_icon on initialize, this adds one. Now, spears will show their grenade upon construction. Works just fine in testing.

* Automatic changelog generation for PR tgstation#56164 [ci skip]

* Wooden tables now obey The Law of Conservation of Mass (tgstation#56156)

## About The Pull Request
Fixes Issue tgstation#56152 making wood tables deconstruct at they should be.

Bug vivisection:
Okay, see here? This is the proc for creating a table, we can introduce three arguments. One of them is _buildstack. _buildstack overrides Buildstack on initialize, a variable used for storing the type of raw "ore" that the table is supposed to drop in deconstruction. Here is supposed to be null unless we want to override the buildstack with another ore.

```DM
/obj/structure/table_frame/proc/make_new_table(table_type, custom_materials, _buildstack) 
	var/obj/structure/table/T = new table_type(loc, _buildstack)
	T.frame = type
	T.framestack = framestack
	T.framestackamount = framestackamount
	if(custom_materials)
		T.set_custom_materials(custom_materials)
	qdel(src)
```

What happened? The proc for building a wood table from a wooden frame, shown below, passed the "type" variable, used for storing the type of table_frame, as a _buildstack argument to the make_new_table proc. This overrides the buildstack variable of the final wooden table, causing it to drop a wooden frame as it was an ore on deconstruction. 

```DM
/obj/structure/table_frame/wood/attackby(obj/item/I, mob/user, params)
[...]
		if (toConstruct)
			if(material.get_amount() < 1)
				to_chat(user, "<span class='warning'>You need one [material.name] sheet to do this!</span>")
				return
			to_chat(user, "<span class='notice'>You start adding [material] to [src]...</span>")
			if(do_after(user, 20, target = src) && material.use(1))
				make_new_table(toConstruct, null, type)
```
This is funnier (not very much, to be honest) when we consider that deconstructing with a screwdriver would drop a frame normally, causing it to drop two frames. We could repeat this ad nauseam, essentially cloning wood frames in place as we pleased.

So TL;DR: this is another of those simple but hard to hunt bugs that would be prevented with testing and a null on its right place.

* Automatic changelog generation for PR tgstation#56156 [ci skip]

* Allow dynamic to be configured when used as the forced secret mode (tgstation#56122)

Allow dynamic to be configured (roundstart rulesets) when used as the forced secret mode

* Automatic changelog generation for PR tgstation#56122 [ci skip]

* Makes excited breakdowns independent of adding new turfs. This prevents the dreaded stationwide firelock, at least mostly, and moves us away from being dependant on room size. As a downside, we're closer then ever to ZAS. This also allows us to raise the breakdown timer and decrease the amount of overtime experienced in each tick. (tgstation#56081)

## About The Pull Request

This prevents the dreaded station-wide firelock, at least mostly, and moves us away from being dependent on room size. As a downside, we're closer then ever to ZAS, and the transition between pre-breakdown and post-breakdown is a lot more visible. This also allows us to raise the breakdown timer and decrease the amount of overtime experienced in each tick.

See video, I'm not sure I'm happy with the current rate, it does look somewhat shit. I'm considering tweaking the alpha curve for gas visuals to try and make it look less not good. [Video](https://cdn.discordapp.com/attachments/326831214667235328/797766078389813298/2021-01-10_01-55-53.mp4)

Closes tgstation#56066

## Why It's Good For The Game

Station spanning excited groups are rarer, and will settle down more often. Cold things like space will cool down their group faster, preventing station spanning non updating excited groups.

* Automatic changelog generation for PR tgstation#56081 [ci skip]

* separates malf ai from traitor dynamic ruleset (tgstation#56090)

Separates malf ai from traitor so admins can treat it separately

* Automatic changelog generation for PR tgstation#56090 [ci skip]

* Redone Metastation Science (tgstation#55867)

* fixed conflicts

updated the branch and pasted in all the changes again, conflicts and all roundstart turf diffs should be gone now

* Update MetaStation.dmm

Opened up the cytology lab directly to xenobio, its all one room, with shutters to lockdown cytology in case of an emergency - Nari

* Update MetaStation.dmm

softened some internal walls on xenobio sat, they dont need to be reinforced, added a small weakpoint to xenobio sat, its not a secure area and doesnt need to be a roundstart gigafort, removed the windows the buttons were on for the slime pens, buttons directly on windows looks bad, replaced with a table - Nari

* Remove minor tweak

remove the biobag and labcoat tweak from this branch

* Update MetaStation.dmm

tile under a door had a random disposals pipe, but missing a wire. fixed - Nari

* Update MetaStation.dmm

fixed merge conflict

* Update MetaStation.dmm

why???

* Update MetaStation.dmm

fix?

* Update MetaStation.dmm

cant fix sorry

* Update MetaStation.dmm

trying a fix

* fixed conflicts?

i think this fixes it?? - Nari

* Update MetaStation.dmm

Added experimentor - Nari
re-tiled sec post -Nari
rearranged mech bay so it actually works - Nari
re-did the connection between xenobio and the cytology area - Nari
added a few requests consoles - Nari
added a sci drobe - Nari
removed one of the extra deliveries areas - Nari

* Update MetaStation.dmm

fixed the department request consoles departmentType and name - Nari

* Update MetaStation.dmm

fleshed out the support line for the bomb site - Nari

* Update MetaStation.dmm

removed lattices under catwalks, hopefully this fixes

* Update MetaStation.dmm

fix

* Automatic changelog generation for PR tgstation#55867 [ci skip]

* Makes the manifest always have a certain department order (tgstation#55917)

Makes the manifest always have a certain order to the departments in it.

* Automatic changelog generation for PR tgstation#55917 [ci skip]

* Infinite Gun Culling: Gun Kit Edition (tgstation#56133)

Every prototype firearm in the game now utilizes crafting to construct it, usually sacrificing a standard version of that firearm in order to produce the new one. The guns are made using gun part kits you print from the security protolathe (or buy, in the case of hellfire lasers).

* Automatic changelog generation for PR tgstation#56133 [ci skip]

* Use draft pull requests instead of the 'Work In Progress' and 'Needs Review' labels. (tgstation#56168)

* Automatic changelog compile [ci skip]

* 513.1536 is the stable BYOND version (tgstation#56182)

* Stack overflow detection for the Master Controller. (tgstation#56008)

* Stack overflow detection for the Master Controller.

Using a weakref, we can detect if the mc's stack was ended by byond due to a stack overflow, and restart it without waiting the entire defcon countdown in the failsafe controller.

I built a system around this concept under /datum/stack_end_detector and deployed it to the MC's main loop with checks in the failsafe controller.

* Makes wayfinding great again (tgstation#56055)

Interacting with the wayfinding pinpointer dispenser recently after leaving it untouched basically since I added it I realised it has a bunch of bad design decisions that make it unpleasant to interact with so while this can never solve the lack of desirability of the pinpointers themselves hopefully it prevents the machine from contributing to the problem.

* Automatic changelog generation for PR tgstation#56055 [ci skip]

* Fix Docker build failing on a clean checkout (tgstation#56190)

Follow-up to tgstation#56175 which turned out to be accidentally relying on Node already being downloaded.

* Makes the rest of large guns bulky (sans traitor objectives and a few others) (tgstation#56132)

## About The Pull Request

What it says on the tin.
Practically everything but pistols, SMGs, and traitor weapons can no longer be stashed into bags.

I had considered making some large guns that traitors can order (like the blast cannon) also bulky, but concealment is important for some of those things.
However, the bulldog shotgun and sniper rifle have been made bulky, because they're shotguns and sniper rifles!

Traitor objectives are still normal size and can fit in backpacks.

## Why It's Good For The Game

Makes previous changes to weapons and thus balance consistent across our full list of guns. Players can clearly understand what can fit in the bag based on the size of the weapon.

* Automatic changelog generation for PR tgstation#56132 [ci skip]

* Superior auto comment blocks VSCode extension (tgstation#56194)

* Adds toggling shower's refills (tgstation#55895)

Adds the ability to toggle showers water reclaimers with a multitool
Adds some delta_time handling to showers.

* Automatic changelog generation for PR tgstation#55895 [ci skip]

* Fixes parallax runtime when observing someone without client (tgstation#56092)

When observing someone without client (because they for example disconnected) a runtime happened:
This was because update_parallax didn't take a mob as parameter but instead always updated the parallax of the mob to which the HUD datum belonged (which was the HUD of the person who you tried to observe)
If that mob had no client this caused a runtime.
If you observe someone now the game updates parallax for your client and not the client of the person you tried to observe.

* Automatic changelog generation for PR tgstation#56092 [ci skip]

* [READY] Bespoke Datum Mats (tgstation#55296)

* Bespoke Material Backend

- Adds support for bespoke materials:
  - Reimplements [/datum/material/var/id]
  - Ports GetIdFromArguments from SSdcs
  - Adds a wrapper define for GetMaterialRef
  - Adds [MATERIAL_INIT_BESPOKE]
  - Adds [/datum/material/proc/Initialize]
- Does not actually add any bespoke materials

- [ ] TODO: Code docs
- [ ] TODO: Actually adding bespoke materials

* Some has_material procs and cleaning up some spaghetti

- Adds a pair of has_material procs for use in checking whether a given atom has a given material

* Adds meat

- Adds bespoke meat variants
  - Does not make them accessible
- Shuts up the linter

* Implements bespoke meat

- Makes the material container preserve bespoke materials
- Makes the sheetifier accept bespoke materials
- Makes the autolathe accept bespoke materials
- Makes the gibber produce bespoke meats

* Makes butchering produce bespoke meats

This is jank and really needs to be folded into a unified butchering and gibbing system

* Material documentation

- Adds, fixes, and touches up some documentation

* Material container insertion callback

- Changes the proc used to expand the material container's material list ot a proc used to check whether a material fits into a material container
- Instantiating new materials is no longer O(n) relative to the number of autolathes in existence.

* Makes processing meat conserve materials

- Makes bespoke meat carry over into meatballs

* Makes preserving custom materials an option

- Implements the ability to turn preserving custom materials _off_ for processor recipes

* Fixes all bespoke materials of the same type using the same singleton

- We use ids now, not just types.

* Makes the fat sucker produce bespoke meats

- Because consistency is good.

* Fixes autolathes merging bespoke stacks into normal stacks.

* Makes the callback to test materials for holdibility optional

- @floyd

* GetMaterialRef -> GET_MATERIAL_REF

- We capitalize macros.

* Removes an extraneous callback

- Makes the sheetifier use functionality I didn't notice I implemented a few commits ago.

* Makes mob and species meat null compatible

* Fixes the ore silo

- The ore silo had really snowflake material handling that has been brought in line with the rest.
- The materials should show up in the correct order.

* Fixes minor lathe bugs

- Fixes stack_traces caused when lathes tried to fetch materials using reagent typepaths
- Fixed the selective reagent disposal topic. I have no idea how long this has been broken.

* Various documentation fixes

- Clarified a couple comments
- Removes an extraneous ?. operator
- Fixed mat floor tiles having bugged reagent temperatures

* More fixes

-/datum/material/meat/mob -> /datum/material/meat/mob_meat
- Adds atom typecheck to material containers.

* Fixes old typepaths

* Automatic changelog generation for PR tgstation#55296 [ci skip]

* Fixes showers overexposing washed targets (tgstation#55894)

Makes showers consistently expose washed atoms to 5u of their internal reagents
Makes showers effectively double the reagents targets are exposed to as per a comment by ArcaneMusic

Apparently there were balance concerns over synthflesh showers capable of instantly healing and de-husking anyone you put under them.

* Automatic changelog generation for PR tgstation#55894 [ci skip]

* Temperature Pump Sanity (tgstation#55926)

* fix temperature pump

* Cleanup and ui stuff

* Punctuation is important you know

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

* tgui rebuild

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

* Add weakref support to qdel (tgstation#56171)

qdel() should allow usage of weakrefs to avoid harddels on long duration qdel_in usage

* invert an if statement in beefmen code

linter was complaining about returning inside a spawn call and this made enough sense to just flip

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
Co-authored-by: spessbro <51048066+spessbro@users.noreply.github.com>
Co-authored-by: tgstation-server <tgstation-server@tgstation13.org>
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
Co-authored-by: interestingusernam3 <51925758+interestingusernam3@users.noreply.github.com>
Co-authored-by: Gamer025 <33846895+Gamer025@users.noreply.github.com>
Co-authored-by: coiax <yellowbounder@gmail.com>
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
Co-authored-by: Vladimir Veisman <v.veisman@fl45h13.me>
Co-authored-by: Azarak <azarak10@gmail.com>
Co-authored-by: Donkie <daniel.cf.hultgren@gmail.com>
Co-authored-by: KathrinBailey <53862927+KathrinBailey@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Changelogs <action@github.com>
Co-authored-by: Coffee <CoffeeDragon16@gmail.com>
Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>
Co-authored-by: Tad Hardesty <tad@platymuus.com>
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Tlaltecuhtli <33834933+Tlaltecuhtli@users.noreply.github.com>
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Coastfront <50342376+Coastfront@users.noreply.github.com>
Co-authored-by: coiax <jack@billbuddy.co.uk>
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: EgorDinamit <53223414+EgorDinamit@users.noreply.github.com>
Co-authored-by: esainane <esainane+github@gmail.com>
Co-authored-by: Emmanuel S <mrdoomboyo@gmail.com>
Co-authored-by: Manybones <miguelbasket1@gmail.com>
Co-authored-by: Cartographer-D <63861499+Cartographer-D@users.noreply.github.com>
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Rob Bailey <actioninja@gmail.com>
Co-authored-by: Alex 'Avunia' Takiya <git@takiya.cloud>
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: dragomagol <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
Co-authored-by: EOBGames <58124831+EOBGames@users.noreply.github.com>
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: 小月猫 <alina.r.starkova@gmail.com>
Co-authored-by: Seris02 <49109742+Seris02@users.noreply.github.com>
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Ghilker <minefap44@gmail.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: spookydonut <github@spooksoftware.com>
Co-authored-by: windarkata <windarkata@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.