TG Pull 7/1/2026#1187
Draft
FalloutFalcon wants to merge 398 commits into
Draft
Conversation
…del when clients logged out while hearing sound tokens (#96472) 🆑 fix: Fixes a hard-del and signal override with sound tokens /🆑 The comsig issue was basically: both source and listener register for qdel, but they can be the same thing resulting in a double register. lame! the hard-del was caused by me running remove_listener when a client logged out of a mob...but at that point the client is null...so we cant clear its sound tokens. boo! not smart!
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. --> <!-- You can view Contributing.MD for a detailed description of the pull request process. --> ## About The Pull Request Basically, if it's forced, we rely on create_vote to catch the "no options" case. This used to be the behavior, but it was removed in persistant tallies. I have no idea why. I've also cleaned up the quite dubious caching code to avoid the bugs I was getting when testing locally. ## Why It's Good For The Game S been causing forced icebox (15 pop min, meta can't replace it because meta's the only one with 0 minpop) on the servers, that's silly. Of note, it's possible this will still be an issue due to the stale map system, but yaknow, one thing at a time, and that'll be louder so we should find out pretty fast (fix would be defaulting to some marked default map if only one can be rolled). ## Changelog <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and its effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> :cl: fix: End of round mapvotes will now properly default to the only option if only one map is votable. /:cl: <!-- Both :cl:'s are required for the changelog to work! You can put your name to the right of the first :cl: if you want to overwrite your GitHub username as author ingame. --> <!-- You can use multiple of the same prefix (they're only used for the icon ingame) and delete the unneeded ones. Despite some of the tags, changelogs should generally represent how a player might be affected by the changes rather than a summary of the PR's contents. -->
## About The Pull Request Gizmo sends a message when turning on and off ## Why It's Good For The Game Makes it a bit more clear what's going on. ## Changelog :cl: Melbert qol: Gizmo sends a message when turning on and off /:cl:
## About The Pull Request Baby stoats can now grow into adult stoats. ive also included kits into the spawn pool of maints, (the overall chance of running into a stoat whether adult/baby remains the same), and you can also now find baby stoats rummaging through bins. since baby stoats are cute ive made their growth rates slow so people can enjoy them at their youths for longer. ## Why It's Good For The Game fixes an oversight. ## Changelog :cl: fix: baby stoats can now become adults add: baby stoats are added to the spawn pool of maints, (the overall chance of running into a stoat whether adult/baby remains the same) /:cl:
… (#96490) ## About The Pull Request If your gun is empty and you are on combat mode and you are adjacent to someone and you click on them, you will perform a gun bash rather than just dry firing ## Why It's Good For The Game If your gun is empty and you are on combat mode and you are repeatedly click on someone you PROBABLY just want to smash the guy instead of dry firing repeatedly ## Changelog :cl: Melbert qol: If your gun is empty, and you are on combat mode, and you are adjacent to someone, and you click on them: you will perform a gun bash rather than just dry firing. /:cl:
## About The Pull Request Early return if no fish. The signalling stays despite no reward because the heretic enchanted rod doesn't care if there wasn't a reward ## Why It's Good For The Game <img width="591" height="89" alt="image" src="https://github.com/user-attachments/assets/c9258e5f-f1e3-43d3-b346-12011cd1560d" /> ## Changelog :cl: fix: fixed a runtime when fishing up no fish /:cl:
## About The Pull Request This was supposed to be icon_state_to_use ## Changelog Not player-facing
…cle weather toggle) (#96510) ## About The Pull Request Due to a BYOND bug, large amounts of particles will cause immense lag and framedrops on AMD GPUs, no matter how good the GPU itself is. Unfortunately this is most noticeable with new particle weather, to the point where storms reduce framerate to single digits for players who haven't invested into NVIDIA before the AI market boom. By rendering overlays twice and only enabling one of the planes, we can allow players to toggle between new particle weather (semi-transparent overlays + particles) and old (fully opaque overlays) Unfortunately we don't have a way to check the player's GPU (at least not easily) so players will have to change it themselves https://github.com/user-attachments/assets/0c36fca4-c8a4-42ed-895f-42e853b10f44 (Particle weather is a bit more dense without ghost vision but i'm too lazy to re-record) Closes #96460 (Sort of) ## Changelog :cl: qol: Particle weather can now be disabled in favor of old weather. !!! AMD GPU USERS NEED TO SWITCH TO OLD WEATHER TO FIX THE LAG!!! /:cl:
## About The Pull Request Particle weather changes for additional optimization on hide_weather_planes broke non-particle weather rendering on multiz maps. Oops. Closes #96527 ## Changelog :cl: fix: Fixed weather on multi-z maps /:cl:
## About The Pull Request Groups need to be set to smth or otherwise they show up as uncategorized in both admin observe and antagpanel menus. <img width="257" height="89" alt="4uXQEAamCb" src="https://github.com/user-attachments/assets/4fd859b6-38e2-4366-b5ba-e0d9ce468a88" /> ## Changelog :cl: fix: Fixed recovered crew showing up as uncategorized antags /:cl:
…5369) ## About The Pull Request Re-did blips to be significantly nicer sounding and way better. Alien speech you don't understand now comes through as Blips. If you have TTS entirely disabled, you won't hear blips. Blips also now include more customization options, and a dedicated Blips preview button by clicking the leaf icon. <img width="1749" height="354" alt="ApplicationFrameHost_5nKJEvaNV1" src="https://github.com/user-attachments/assets/ef6c6b61-7c22-4a87-94c9-be50e89c65bb" /> https://github.com/user-attachments/assets/8cab7e55-6370-4e4e-99ba-ea2475569453 Radio TTS has been implemented. By default, you will hear all TTS over the radio, but will not hear yourself over the radio. You can configure this in Game Settings. https://github.com/user-attachments/assets/94a44d84-17a9-4e6e-ac5c-3b800b11c159 <img width="743" height="193" alt="chrome_MOIcXaC2gh" src="https://github.com/user-attachments/assets/907379b7-0689-486c-b29c-9be0a2259b05" /> The new TTS stack is located at https://github.com/Iamgoofball/tgtts-qwen3 and is AGPLv3 licensed. The new blips design was inspired by https://github.com/joshxviii/animalese-typing. The configuration to disable TTS on whispering has been removed, as it is no longer needed and also interferes with radio TTS functioning properly. The Tram now utilizes TTS, and has had a general audio tune-up. https://github.com/user-attachments/assets/f532d002-939c-43a1-95d0-0f0c43048997 TTS audio is now 3D and in space, see attached. https://github.com/user-attachments/assets/b00df49a-9d1d-4b27-a8a0-d103099f5c7e ## Why It's Good For The Game Quality of life improvements to the TTS system, long overdue. Also, TGMC can migrate to this new method of doing radio audio so they aren't sending double the TTS requests anymore. ## Changelog :cl: add: Added support for Radio TTS. You will now hear players over the radio via the TTS system. add: Configure this in Game Options under the Sound tab. sound: Re-did blips to be significantly nicer sounding and way better. sound: Alien speech you don't understand now comes through as Blips. If you have TTS entirely disabled, you won't hear blips. sound: The Tram and Computers now utilize the TTS system. Configs have been added to set a consistent voice. sound: TTS audio now utilizes 3D audio; you can now walk away from people saying stupid shit and it gets quieter. sound: Blips also now include more customization options, and a dedicated Blips preview button by clicking the leaf icon. del: The configuration to disable TTS on whispering has been removed, as it is no longer needed and also interferes with radio TTS functioning properly. /:cl: --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Lucy <lucy@absolucy.moe> Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
…and the food folder inside module/food_and_drinks. (#96526) ## About The Pull Request Title. ## Why It's Good For The Game In the case of materials. the two folders had roughly the same names, and material_containers rely on materials to work anyway so they belong inside the materials folder, instead of a separate directory with the same name (minus an s). As for food, the food items have filepaths that differ too much from the corresponding recipe files, despite the two being closely connected as far as features and game mechanics go, and that makes moving back and forth between these files a pain in the ass with a standard file manager, workspace viewer etc. ## Changelog N/A
## About The Pull Request title ## Why It's Good For The Game because being forcefemmed/forcemasced instantly sucks cmon, not a big problem but its honestly weird that potion doesnt have a do after. ## Changelog :cl: balance: Gender changing potion has a 5 seconds do_after now. /:cl:
… and adds support for it to emotes. (#96519)
## About The Pull Request Adds `MOB_SKELETAL|MOB_UNDEAD` to affected biotypes of mutation toxin ## Why It's Good For The Game This solely stemmed from the discovery that you can mutation toxin into plasmamen but you cannot mutation toxin out of plasmaman. Then I figured "why not vampires and zombies too" ## Changelog :cl: Melbert balance: Mutation toxins now work on plasmamen, skeletons, zombies, spirits, and vampires /:cl:
## About The Pull Request This PR adds Jet Boots, a new pair of footwear that can be purchased from cargo as an import item. Jet boots share behavior with their parent, the rocket boots, featuring the long range jet dash that already comes with rocket boots, though this differs from the jump boot's dash due to being a shorter distance as well as being far less safe as a result. The main draw for this item is that it has a toggle action to enable sustained jet flight. That sustained flight behaves the same as a flight potions, offering the ability to fly over tables, as well as a passive movement when applied. One issue with these boots, matching flight with wings, is that you need to be in suitable atmosphere in order to be able to propel yourself. An additional restriction is that due to your propulsion being based on your shoes, being leg-cuffed (such as from bolas or bear-traps) will prevent you from being able to fly. One pair of Jet Boots requires **40,000 credits**. ### Minor things In adding this, most of the code was applied from the existing logic already used for mob flight and the flight organs. Considering this is like, the 3rd thing that has consistent flight behavior(?) I'm tempted to try and refactor it into a component, but in the interest of being somewhat lazy I held off for this moment. I could be easily convinced to do so, however. These boots arrive via a gold crate. They sell for the same amount, but the only way to let us do that was to tweak the gold crate code so that they're not hardcoded to always arrive with gold bars and the champion's belt. As such, there's an update map's script attached to this PR to move existing gold crate subtypes to a "stocked" variant. <img width="336" height="224" alt="image" src="https://github.com/user-attachments/assets/1209e6d8-0ccb-411f-b5f6-56a808709911" /> ## Why It's Good For The Game The last few weeks I've kinda challenged myself with the following question and began working backwards: "What should cargo be able to buy for 40,000 credits?". I mulled over a few ideas, including being able to drop in map templates onto the station, additional cargo shuttle upgrades (In the vein of the atmos refill upgrade from my last PR), etc. I decided on trying and making something that is inherently a selfish purchase. Not quite to the level of buying a cargo shuttle that kills the entire crew, but the kind that makes you think "Oh my god, cargo just blew their entire budget on a pair of shoes". That said, offering players flight is a rare, and expensive upgrade, based on the fact that flight potions and the like are similarly a rare upgrade. The alternative, training and breeding a raptor capable of flight, is also already in cargo's domain, but typically reserved for shaft mining use. The main give here is that in exchange for flight, it's still bound to an item. Someone can still murder you for your shoes, or stun you and take them off your body, especially with the increased stun multiplier while in propelled flight. ## Changelog :cl: add: Cargo may now purchase jet boots, boots that enable sustained flight, for 40,000 credits via the imports section. /:cl:
…version', adds female gender shaping to digi sprites (#96633) ## About The Pull Request Adds female gender shaping to digi species (such as lizards), for the top half only. <details><summary>Shown here</summary> <img width="337" height="464" alt="dreamseeker_HhKjfrmJ1f" src="https://github.com/user-attachments/assets/a5a57580-6798-40e4-925c-b3a63e0e540e" /> </details> Also just adds a bunch of bodyshape args now that we are passing that to the clothing rendering. This will help with anything where you want unique digi handling for any specific items. Also fixes some missing args and even improper args in some of these proc overrides. ## Why It's Good For The Game Makes things more convenient for coders. Adds some more customization options for feminine lizardfolk. ## Changelog :cl: code: bodyshape is now accessible in build_worn_overlays() and similar procs. image: lizards now have support female gender shaping for their suits /:cl: --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
… mail items, special bar kegs on St Patrick Day, Beer Day and Talk-Like-a-Pirate Day. (#96509) ## About The Pull Request This PR adds a simple holiday spawner type that can be used for objects that are only spawned if the holiday they're associated with is being celebrated. Right now it has three subtypes, all related to the kitchen (liquid ingredient, powdered ingredient, meat ingredient). The involved holidays are the fictional tiziran and mothic festivities Atrakor's Might and Fleet Day. Extra stuff is also spawned on Bee Day and Beer Day. On Vegan Day, the monkey meat slabs in the meat fridges are replaced with plant-based meat slabs (killer tomato slices and pod people meat, plus veggies) and the fridge is renamed from "meat fridge" to "vegan fridge". This PR also adds a few more holiday-specific mail objects such as Speak-Like-a-Pirate Day, Fleet Day, Atrakor's Might, Chernobyl's Disaster Anniversary (it's just a geiger counter), Monkey Day and Draconic Language Day. EDIT: I've decided to make the bar backroom beer keg into a spawner that will spawn special kegs on specific days (otherwise it's a 1 in 25 chance). These kegs can contain drinks a little more refined than the average beer keg. Also it comes with a resprite of kegs because the old one was starting to look a little ass compared to other reagent dispensers. ## Why It's Good For The Game For being fictional festivities revolving around food and culture, and despite the lot of recipes for moths and lizard people, we aren't offering anything to chef players to let them cook said recipes beside what's given on any bog-generic round. This is a step toward a slightly less lackluster implementation of those festivities and recipes into the game. Also chance for cooler kegs for the bartender. ## Changelog :cl: add: The kitchen fridges may have additional ingredients on certain holidays, in particular Atrakor's Might (lizardpeople) and Fleet Day (mothpeople), and Vegan Day. add: Added a few more holyday-specific mail items. add: Replaces the beer keg in the bar backroom with special kegs on St. Patrick's Day, Beer Day and Speak-Like-a-Pirate day. On any other day, there's a chance that the beer keg will be replaced with one containing whiskey or rum, or in rare cases, one of those special kegs. imageadd: resprited the keg as well. /:cl:
## About The Pull Request Fixes the power crowbar from being rejected despite being in the EMT belt's allow list. ## Why It's Good For The Game Fix bug ## Changelog :cl: LT3 fix: Fixed jaws of recovery not being able to be stored in the paramedic EMT belt /:cl:
## About The Pull Request Fixes #96687 Basically, /datum/element/climb_walkable makes it so that if you share a turf with this object, you can keep walking onto other objects with that component. so if you're on a crate you can step onto tables for example. Issue was, if an with /datum/element/climb_walkable gets initialized it would give itself this trait via COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON, and if it then moved and would be blocked by a crate, it would instead move "onto" the crate. This is not a perfect fix, I think in general this is not an ideal way to handle elevation movement, but fixing that would turn this into a big refactor. ## Why It's Good For The Game Prevents roundstart crates from clipping into the backrooms ## Changelog :cl: fix: Fixes crates not respecting density in all cases and being able to move into other crates or tables /:cl:
## About The Pull Request I changed how `add_bodypart_overlay` works and then forgot to update its return value ## Changelog :cl: Melbert fix: Fix emote overlays sticking /:cl:
## About The Pull Request headmin disabled this map and asked i removed these i dont think these things are too impactful as they are purely defensive meaning theyre meaningless save for like, icebox security, and escape shuttle but its whatever in the end. ## Why It's Good For The Game no more mounted guns. ## Changelog removes both the mounted guns. :cl: del: Removed both mounted guns in the heretic gateway per headmin request /:cl:
## About The Pull Request We were iterating all cargo packs once per cargo pack, and for each subgroup we were regenerating all their ui data info. This wastes a catastrophic amount of time. Instead, let's just build a list of group -> list(pack data 1, 2, ...) and send over that, since that's what the ui is ultimately asking for. Should reduce a semi prominent source of overtime on live.
…darkpack-7-1-2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
About The Pull Request
Pulls the latest TGStation commits to keep us up-to-date
Please dont squash this one!!!
Highlights include:
Mobs arent dropped from ambience subsystem randomly.
Crates cant "climb" themselves to get pushed around weirdly.
More lovely reworks to human overlays by Melbert.
Some more item_interaction refactors on random items,
Why It's Good For The Game
MODERN CODE
Changelog
🆑 Beautiful TG coders
code: TG Pull. Thank you TG.
/:cl: