* Move current pick_weight consumers to not pass in zeros (#62940)
About The Pull Request
pick_weight_allow_zero was a backwards compatible hack, so it exists alongside pick_weight.
I would really like to just remove the old proc and just rename it, so I want to log what, if anything, is relying on this behavior, to see if it's a bug or if it needs to be handled especially in that case.
* Move current pick_weight consumers to not pass in zeros
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* Makes hypnosis victims more visible to admins (#62745)
Gives hypnotized victims a visible antag hud for admins, puts them in the Check Antags panel, and makes their objectives visible in the Traitor Panel and on the round end report.
Why It's Good For The Game
Right now, victims of hypnosis are very difficult to visually identify as an admin. This not only distinguishes them easily but makes their objective easily visible too.
Changelog
cl
admin: hypnotized players now have a visible antag hud, are visible in the check antag panel, and have objectives visible on the traitor panel
expansion: hypnotized victims and their objectives are now visible on the round end report
/cl
* Makes hypnosis victims more visible to admins
Co-authored-by: dragomagol <66640614+dragomagol@users.noreply.github.com>
* Makes sure the abandoned crates anti-tamper mechanism is reenabled only when the crate is locked. (#63012)
* Makes sure the abandoned crates anti-tamper mechanism is reenabled only when the crate is actually locked.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Vampire victims no longer receive messages about bloodsucking while unconscious. (#62953)
* Vampire victims no longer receive messages about bloodsucking while unconscious.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Make varedited pumps/pipes keep their varedited part of their names (#62782)
* Make varedited pumps/pipes keep their varedited part of their names
* Make name override system still use initial
* Make varedited pumps/pipes keep their varedited part of their names
Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
* fix message spam for atmos construction (#62796)
About The Pull Request
partial fix to #62783
the check was never meant to have feedback messages added in it because it runs every UI tick. Added the message as additional requirement text.
GBP no update please
Why It's Good For The Game
fix
Changelog
cl
fix: fix message spam for manual pipe crafting
/cl
* fix message spam for manual pipe crafting
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
* Replaces Batform with Vampire houses (#62516)
Permissions for species change
image
About The Pull Request
Goodbye batform
Hello, new preference called vampire status. Outcast vampires act just like normal, Inoculated vampires join their department under a unified "vampire house name" everyone shares.
image
image
image
Why It's Good For The Game
I've heard people complain about batform for years now, if vampires aren't gone by next halloween we can at least enjoy making them far less griefy (ruining a lot of the fun of halloween as just a dumb grief holiday) and more roleplay oriented. I don't even know why vampires got a griefy spell when they already have their main mechanic encourage randomly attacking people and stealing their blood to stay alive
Changelog
cl
del: Batform is gone!
add: ...Replaced by vampire houses as a preference. Join your department as a vampire ménage!
/cl
* Replaces Batform with Vampire houses
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* Add Etheral lungs to the limbgrower (#62469)
Saturday morning, calm shift.
I spend most of my time staring at CANARY waiting for an atmos alarm to pop up while I sit at the foyer hearing what random craziness Poly is spewing and wondering about the previous and more interesting shifts.
When suddenly, an atmos alarm pops up at the Incinerator.
"Fucks sake, I bet the other atmos are torching the place again..."
I rush there expecting to fix a fire, but instead I find the start of something great...
The madman kidnapped an Ethereal to use as an organic Hydrogen farm, nothing I haven't seen before but... my hands start shaking, a spark of brilliance and potential in my eyes as I mumbled the words:
"I always hear that organic things are healthier... so what if we throw the Electrolyzer away and instead, print Etheral lungs in the limbgrower and implant them on monkeys..."
To our sadness, Ethereal lungs weren't added to the Ethereal disk design, this fixes that!
* Add Ethereal lungs to the limbgrower
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
* space_heaters on process_atmos() (#62760)
Consistency between the various systems, space heater affected how atmos worked, should be processed on the same level (Maybe makes it operate twice as "strong"? but that's ok it's a bit bad now anyway -Lemon)
* move space heaters on process_atmos()
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
* Fixes some issues and an exploit with abandoned crates. (#62949)
* Fixes some issues and an exploit with abandoned crates.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Hair gradient preference no longer shows for species that don't have hair (#62950)
* Hair gradient preference no longer shows for species that don't have hair
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Fixes a mistake that made space bartenders sad. (#62978)
* Fixes a mistake that made space bartenders sad.
* Update drinkingglass.dm
* Fixes a mistake that made space bartenders sad.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* The bureaucratic mistake station trait can now truly chose any job. (#62960)
Too many Captains. So little time.
* The bureaucratic mistake station trait can now truly chose any job.
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
* Washing machines can now shrink old t-shirts. (#62296)
About The Pull Request
image
Worn T-shirts, found in maintenance are now susceptible to shrinkage after repeated washing machine washings.
Too many machine washes can cause the shirts to shrink to the point that they simply disappear to the laundry dimension, as does real clothes in real life.
Why It's Good For The Game
Fun little hidden interaction with laundry machines due to my having noticed that laundry machines exist in the code still.
Changelog
🆑
expansion: Laundry machines can shrink particularly old, worn t-shirts. Remember kids, hand wash only.
/🆑
* Washing machines can now shrink old t-shirts.
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
* Forces areas to create their lighting objects when loaded from a map template (#62931)
Continues the journey of #61730. This time, all map templates will see their area lighting objects created upon getting loaded if they have static_lighting = TRUE. This means that places like Hilbert's hotel, as well as any map placed by an admin during the round, will now be able to properly have dynamic lights without any need for VV shenanigans.
Tested and working, I tested with Hilbert's hotel and by spawning a couple of other map templates to confirm.
Fixes#61558, closes#61340 (kinda not, but it's already fixed anyway, and loosely related to this) and should be the final nail in the coffin of #61349.
Courtesy ping to @ TiviPlus, just in case you had anything to say about it.
* Forces areas to create their lighting objects when loaded from a map template
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Bonfire can be made with wood (#62939)
Co-authored-by: Colovorat <lolqwert569@ gmail.com>
* Bonfire can be made with wood
Co-authored-by: Colovorat <35225170+Colovorat@users.noreply.github.com>
Co-authored-by: Colovorat <lolqwert569@ gmail.com>
* Adds an additional queue to the qdel subsystem to quickly filter out things that garbage collect within the first second. (#62969)
Before, all items deleted would sit in a queue for 5 minutes, with all shrinks and expansions of said queue requiring byond to copy all of these items over to the new list.
Theory: 99% of items soft-delete within byond within the first second. (5 minutes is only needed because a byond quirk with items referenced by verbs)
Result:
Within the first 7 minutes of a local test launch and round start, ~35,000 things get qdeleted.
Of those 35 THOUSAND things, only 12 things failed as still referenced with a 1 second pre-queue.
Said 12 things passed as garbage collected at the 5 minute queue.
(Note: 30 thousand of these items are from world start and round init.)
I have no data on how much this speeds anything up, leaving a 30 thousand list (that has to be copyed every time qdelete processes it and cuts off the items it processed) hanging around for no reason for the first 5 minutes of the round was all i needed to justify the pr.
* Adds an additional queue to the qdel subsystem to quickly filter out things that garbage collect within the first second.
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
* Stun Batong now turns off/on constantly for short time after emp (#62943)
About The Pull Request
title
Why It's Good For The Game
i dunno, seems funny it gives more depth or something allows for more intresting interactions
Changelog
🆑
expansion: Stun Batong now turns off/on constantly for short time after emp
* Stun Batong now turns off/on constantly for short time after emp
Co-authored-by: Colovorat <35225170+Colovorat@users.noreply.github.com>
* Refactors Sign Language & Fixes Inconsistency (#62836)
Refactors Sign Language code so instead of copy-pasting the same giant wall of checks we can just use a proc.
Also now checks to see if your limb is disabled, which fixes people with disabled robotic limbs being able to sign still.
Finally, the tongue only has ORGAN_UNREMOVABLE if you attained it from the trait. I've been told that the tongue could be attained from meateors and I think that's funny as hell so I swapped that over.
* Refactors Sign Language & Fixes Inconsistency
Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>
* Votes work again (#62973)
So, it was runtiming because it wasn't checking for the length of the list, so it was failing to display the results and failing to do anything about the results of said vote. That means map votes didn't do anything.
* [FUCK] Votes work again
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Allows players to send more visible adminhelps when no admins are on, which'll definitely alert admins
* db portion sorted out
* now it really is
* should work about fine
* one last touch
* well, one more
* also botched comment
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
* Exempts non-deadminned admins from all the chat filters so they can break the server rules and get banned if they want to. (#62944)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Exempts non-deadminned admins from all the chat filters so they can break the server rules and get banned if they want to.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Allows shells that requiring anchoring to take power from APCs (#62907)
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
* Allows shells that requiring anchoring to take power from APCs
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
* Fixes stale data when a user performs a refresh of a TGUI page (#62930)
We should send a full update when a user refreshes a TGUI web page. Refreshes can be performed by pressing F5 while focused within a TGUI window.
* Fixes stale data when a user performs a refresh of a TGUI page
Co-authored-by: raffclar <gavxn@zanidrak.com>
* prevents mindswaping into ghost poly (#62554)
About The Pull Request
Closes#62465
Also makes ghost poly technically designated as a boss in the code as their sentience type, as far as I can tell this doesn't actually change anything other than the ability to make it sentient, but it also makes sense for a creature effectively incapable of death to be designated as a boss in the code.
Why It's Good For The Game
As funny as it is, mindswapping (blood into a rainbow slime extract gives you a mindswap potion) into ghost poly, or otherwise making ghost poly sentient, is an exploit that should be patched. Ghost poly is as fast as a ghost, can move through walls, has godmode, and if you give it a fugu gland it can beat people up. It can also pick up things, such as the nuke disk, which would make nukeops rounds pretty unfair and unfun.
Changelog
cl
fix: Aspiring xenobiologists and ambitious wizards can no longer mindswap into ghost poly or otherwise make them sentient in an attempt to gain godmode + ghost speed + the ability to go through walls.
/cl
* Prevents mindswaping into ghost poly
Co-authored-by: Bond <58570888+TheBonded@users.noreply.github.com>
* Replacing more C-style for loops with the faster, traditional ones. (#62908)
* Replacing more C-style for loops with the faster, traditional ones.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Move conveyor belts to their own system, rename conveyor2 (#62911)
Renames conveyor2.dm to conveyor.dm, and removes the historical comment about "new conveyor belts". As a reminder, comments should be about what the code is now, not what it used to be. (Muh history -Lemon)
Moves conveyor belts to their own SS with an identical wait. It is very common, as an admin, for me to want to adjust conveyor belt processing, either to make it faster (for laughs) or to disable it when it is causing heavy lag. It is very difficult to do this (especially the former) because it just uses fast process.
* Move conveyor belts to their own subsystem for easier disabling, rename conveyor2 to conveyor
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* HoS, warden and officers no longer spawn with a stunbaton in their bags. (#62861)
* HoS, warden and officers no longer spawn with a stunbaton in their bags.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Adds a new poster to commemorate the end of an era (#62885)
* Added a new poster
* Adds an extra layer of grime.
Co-authored-by: Farquaar <(tgGithubPW0)>
* Adds a new poster to commemorate the end of an era
Co-authored-by: Farquaar <44147031+Farquaar@users.noreply.github.com>
* Pacifists can no longer attach c4 to other living creatures. (#62903)
* Pacifists can no longer attach c4 to other living creatures.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* cyborgs doing research is now logged IC (#62898)
AI's doing research is logged to the RD, but Cyborgs doing it just shows up as 'Unknown', which makes no sense because some AI can order a Cyborg to do research on their behalf so the RD doesn't know who did it.
It also makes the RD's job easier to find out what rogue cyborg is doing research when told not to.
* Cyborgs doing research is now logged IC
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Improve the bureaucracy system (#61323)
Adds a blank printing system.
Virtually every Space Station 13 server has its own system of bureaucracy. As a rule, it is some kind of Wiki page with markup tags and a few sample forms. And that's usually the end of it. With stamps and a filing system in place, people rarely use them. This PR takes it upon itself to remedy this situation by introducing form standards into the game itself and adding the ability to print them.
Co-authored-by: twilightwanderer <twilightwanderer@ users.noreply.github.com>
Co-authored-by: tralezab <40974010+tralezab@ users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>
* Improve the bureaucracy system
Co-authored-by: twilightwanderer <88540658+twilightwanderer@users.noreply.github.com>
Co-authored-by: twilightwanderer <twilightwanderer@ users.noreply.github.com>
Co-authored-by: tralezab <40974010+tralezab@ users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>