upstream, I suppose? && Adds some of spy unique items to an regular uplink.#33
Merged
Conversation
…ting them. (#92864) ## About The Pull Request Currently `/obj/machinery/recycler` will just delete anything it eats and will only extract materials if they are retrieved from `/datum/component/material_container/insert_item()`. This change adjusts the recycler to call `deconstruct(FALSE)` on non-item objects so that they are properly destroyed and any special effects the object implements for this scenario aren't just lost. This change also makes the recycler consider if the object being destroyed is a secure, locked closet to prevent griefing heads by deleting all of their closet items or exploiting the recycler to possibly get at the contents of locked departmental orders. ## Why It's Good For The Game If you insert any non-item object into a recycler it will just straight up delete it. This appears to me as an oversight, as inserting things like locked closets/crates will just destroy anything in them, and things like reagent_dispensers/atmos canisters will completely delete the gases within. This allows non-item objects to react to their deconstruction when inserted into a recycler. Items are still recycled as they were originally. The alternative is to just prevent the recycler from consuming non-item objects. At the moment due to my lack of knowledge of all the game's stuff this may be the safer option. Currently the only safety added on top of what was already there is to prevent deconstructing locked closets, but there may be more things I'm not thinking of. However, its a lot less interesting to me to just block non-items and I would like to try this first.    ## Changelog :cl: sushi add: recyclers will now deconstruct non-item objects that they eat instead of just deleting them /:cl:
## About The Pull Request Does what it says, taking the slot machine from 6 seconds to 2 seconds to spin. ## Why It's Good For The Game Was playing a round of tram and was annoyed at how slow it was to gamble. It also makes sense the slot machine goes quick so you waste your money faster. :cl: Webcomicartist qol: The slot machine spins faster, allowing for more time-efficient gambling. /:cl:
…ers by making maploaded movables stay put (#92862) ## About The Pull Request Ever since tgstation/tgstation#91920 we have been getting a very persistent CI failure downstream, and upon investigating the transitions of this map seem weird and cut off, almost like it's taking pieces of the other side and trying to superimpose them on itself. <img width="1988" height="155" alt="image" src="https://github.com/user-attachments/assets/8533f966-2ccd-4e04-8855-384efc9a6e39" /> I looked at what it changed, and this line stuck out to me as suspicious. <img width="757" height="263" alt="image" src="https://github.com/user-attachments/assets/79994a3a-1208-49ca-8bfa-280d0c953c71" /> It stuck out to me because it seems like it might not appropriately handle space maps that have terrain near the borders (we have a map that is surrounded by an asteroid field, for instance, and that's the one that's been causing issues). <details><summary>Asteroid field map shown here</summary> <img width="873" height="801" alt="StrongDMM_BP2oO3sKtf" src="https://github.com/user-attachments/assets/d177cc89-de9f-4a93-8844-0aa2447edba6" /> </details> ~~@Time-Green Do you have any insights to this?~~ ~~I am drafting it for now because I don't think this is the right 'fix' as it will likely interfere with/break the icebox wilderness stuff.~~ ~~The main issue is (possibly?) that `atom/movable`s (including these rocks) which end up on the border of the map transition are being yeeted into space, on the opposite end of the map, because of their location.~~ ~~Movables that are maploaded probably shouldn't be transitioned, might be the solution there?~~ EDIT: Fairly certain that the issue has been found out, it's due to movable rocks which are mapped near the edge of the map getting instantly teleported upon maploading. Seems like this is something we should prevent from happening. ## Why It's Good For The Game Fixes an oversight ## Changelog Not player-facing
## About The Pull Request Adds text for when you use a stethoscope on a person having a heart attack(and removes a doubled check for `body_part == BODY_ZONE_PRECISE_GROIN` that's already handled with the `switch`) ## Why It's Good For The Game Closes #92865 ## Changelog :cl: qol: You can now hear heart attacks with a stethoscope /:cl:
… than item vending (#92857) ## About The Pull Request Previously, the arcade game win experiment succeeded upon the machine calling `prizevend()`, meaning the experiment completed upon tickets being inserted into the machine, counter to the experiment's text. This pr changes the experiment to succeed upon the machine calling the new `victory_tickets()`, which has replaced each instance of a won game dispensing tickets. ## Why It's Good For The Game fixes #80218 Standardized ticket dispensing ## Changelog :cl: fix: Arcade machine experiment now succeeds on output rather than input of tickets /:cl:
…#92842) ## About The Pull Request While not used elsewhere, the `ListInputModal` component makes internal use of `act` that isn't needed given the only (current) usage is in `ListInputWindow`, which handles all of the relevant logic. This PR removes that, relying instead on functionality passed in via its usage in `ListInputWindow`. ## Why It's Good For The Game A downstream of some of these more core interfaces [is intending to](goonstation/goonstation#24451) nest a `ListInputModal` in a different interface, and thus letting the implementation specific functionality be passed in facilitates this. Closer parity good.
## About The Pull Request Nerfs the wizard modsuit shield recharges, it takes 20 seconds (double the original time) for them to start recharging, and they recharge every 3 seconds (used to be 1 second). can tone it down a bit if its too much ## Why It's Good For The Game I know wizard is meant to be super busted and all that, but a shield that blocks 5 attacks and it recharges every 10 seconds is extremely frustrating if not impossible to play against unless you bring a bomb, specially if they had any form of teleport (i dont think we should make all antags be only countered by bombs), wizard modsuit is already stacked with armour, no slips, anti flashbangs and space proofing, i think the shields are overkill ## Changelog :cl: balance: wizard modsuit shield recharges slower /:cl:
…g (#92794) ## About The Pull Request A bit absurd, but we allow for this to happen with other alternate pools (like mansus rifts or hydroponic trays), so I'd say we should let it slide. (Plus fishing out a second skeleton from someone sounds both hilarious and extremely cursed) Closes #92792 ## Changelog :cl: fix: Fixed organ fishing blocking alternate material rod loot from spawning /:cl:
## About The Pull Request Fixes #85028 Obscured flags and covered flags are tracked on carbons, updated as items are equipped and unequipped. It's that shrimple. Closes #92760 Just removes the species exception checks for not making sense Also refactors handcuffs / legcuffs removal. In all of these situations they were hardcoded when they could easily just use an inventory proc to work. ## Why It's Good For The Game Stops a million excessive calls to `check_obscured_slots` Makes obscured behavior more consistent Makes obscured behavior easier to use Cleans up human rendering (There was some cursed stuff before with render item -> updated obscured -> update body -> cause side effects) ## Changelog :cl: Melbert del: Golems which somehow manage to grow wings and somehow manage to equip something that covers their jumpsuit can no longer fly. (Seriously, this will not affect anyone) refactor: Refactored clothing obscurity entirely. Items should be a loooot more consistent and what covers what, and should update a lot snappier. As always, report any oddities, like mysteriously disappearing articles of clothing, hair, or species parts refactored: Refactored handcuffs and legcuffs a bit, report any odd situations with cuffs like getting stuck restrained /:cl:
…#92766) ## About The Pull Request What it says on the tin. If you saw a PR similar to this one. You didn't. ## Why It's Good For The Game It's really weird that the X-01 is, for whatever reason, inferior to the energy gun in terms of lethal capacity but not in terms of nonlethal capacity. I don't really get it, so let's put in two shots. ## Changelog :cl: balance: The Multiphase X-01 has 12 lethal shots to match the capacity of the standard energy gun. /:cl:
<!-- 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 Converts the following into item interaction: - porta_turret - porta_turret_cover - plating/foam (Foam plating) - plate ~cup (and mortar subtype)~ - Recharger <!-- Describe The Pull Request. Please be sure every change is documented or this can delay review and even discourage maintainers from merging your PR! --> ## Why It's Good For The Game Conversion from afterattack to interaction <!-- Argue for the merits of your changes and how they benefit the game, especially if they are controversial and/or far reaching. If you can't actually explain WHY what you are doing will improve the game, then it probably isn't good for the game in the first place. --> ## 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: refactor: change some attack procs to use item interaction /: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. -->
…from turfs when deleted before Moved is invoked on its source (#92860) ## About The Pull Request * Fixes tgstation/tgstation#92759 * Fixes tgstation/tgstation#81474 The problem is that things like the recycler and bitrunner goal hole react to the crate Enter'ing them, and within their `COMSIG_ATOM_ENTERED` handlers will just outright delete the crate. However, `COMSIG_ATOM_ENTERED` is raised _after_ the crate's `loc` has been set, so upon its deletion the `element/elevation` that was attached to it would `Detach` and attempt to remove the `element/elevation_core` that it had attached to its turf, but will try to do so at the turf it was moved to, not where it was moved from. Thus, the `element/elevation_core` would be left on the tile and would still elevate mobs that moved onto it even though the crate was no longer there. The second issue linked above goes into more detail about the bitrunner crate case showing code and such. This pr attempts to solve this by introducing a new signal, `COMSIG_ATOM_EXITING`, which is raised in the same fashion as `COMSIG_ATOM_ENTERING`. It also splits `element/elevation/on_moved()` into `on_source_exiting()` and `on_source_entering()` so that `elevation` removes its `elevation_core` from the turf it was on immediately, before anything has a chance to delete it upon it entering something. I'm not TOTALLY confident in this being the proper way to go about this, but made sure that overlapping elevation things still interact like they used to, that the `elevation_core` is properly removed upon falling into a chasm and when entering wormholes, and most importantly that the two issues listed above no longer happen. This could still be an issue if there's anyway in game to get an atom to move w/o it going through `doMove` and raising the ENTERING and EXITING signals so let me know if there's anyway this can happen!!! ## Why It's Good For The Game  vs  ## Changelog :cl: sushi fix: crates and other objects causing elevation will no longer leave behind magic elevating turfs upon destruction /:cl:
## About The Pull Request <img width="1348" height="569" alt="91YPV6s2tG" src="https://github.com/user-attachments/assets/4c86243e-ac0d-4d39-8646-f55c314bb9d3" /> Saw this amusing runtime-dead bodies spawned in the morgue with randomized injuries have a chance to spawn with eyes that were damaged so much as to be qdeleted. The `check_damage_threshold()` proc occurs before the actual damage gets dealt, so it is possible to enter the blinking procs with eyelids that have become null. This just adds a safety check for that. ## Why It's Good For The Game silly bugfix ## Changelog :cl: fix: dead bodies in the morgue will no longer try to blink /:cl:
## About The Pull Request yeah ## Changelog :cl: fix: Fixed oversight from "Material tab for the autolathe" PR. You can now eject BS crystals, allien alloy and mythril from autolathe. /:cl:
## About The Pull Request https://github.com/user-attachments/assets/57930c18-3001-45d1-9023-58d9fd9f23b4 ## Changelog :cl: fix: Chemmaster highlights selected icon & has its window scaled up /:cl:
## About The Pull Request Toilets no longer act as infinite instant water sources, instead working like showers and sinks - requiring either plumbing, or water reclaimers to restore their cistern's supply. If a toilet has a large enough fish inside, or if someone accidentally drops a small item into it, when flushing it'll spew out all of its cistern's contents around itself (Dropped items can be removed using a plunger after a small delay). Also fixed plunger act code on some plumbing objects, and converted toilets to use item interactions. ### This is a commission for ImprovedName/Ezel ## Why It's Good For The Game Makes toilets more intresting with plumbing, and brings them more inline with other plumbing appliances so that way you can't just make a toilet with 1 material sheet and conjure a infinite water resouce anywhere you please without a water recycler. Also you can get up to some silly stuff with foam production. ## Changelog :cl: add: Toilets now require plumbing or water reclaimers to function, and can get clogged by small items. fix: Trying to use plungers on plumbing objects will no longer hit them after finishing the interaction. code: Updated toilet item interaction code /:cl:
## About The Pull Request Fixes the name of XL shotgun darts ## Why It's Good For The Game "A box full of shotgun darts with increased chemical storage capacity" barely fits on the screen as a tooltip ## Changelog :cl: LT3 fix: 'a box full of shotgun darts with increased chemical storage capacity' now has a shorter name /:cl:
## About The Pull Request Caches individual gases for gas reactions. ## Why It's Good For The Game Makes the lines shorter and more readable. ## Changelog :cl: code: Caches individual gases for gas reactions. /:cl:
## About The Pull Request Fixes #92374 <img width="1816" height="169" alt="image" src="https://github.com/user-attachments/assets/ffd5388b-7844-4ff1-9a35-2a99c6e55e89" /> Fixes this, one of the modules makes a door in the rec room which was missing a firelock sanity marker. ## Why It's Good For The Game Less flaky CI ## Changelog Not player facing
…material boulders (#92996) ## About The Pull Request - Fixes #92972 There were multiple problems with code that I can't be asked to explain but here is the intended output(`ore_vent_minerals` contains the copy of the list `ore_vent_minerals_lavaland` which we actually modify & not the global list itself) <img width="481" height="241" alt="Screenshot (512)" src="https://github.com/user-attachments/assets/ed4d2659-b78c-4b99-ae68-e6fad4f116e4" /> All ore vents will now have at most 4 minerals but because we use an associative list it is possible for a mineral to get picked more than once in the same iteration resulting in old values getting replaced which isn't a problem but just a point to be known so you don't always get vents with 4 minerals Another problem i ran into debugging is that some vents churn out 0 material boulders. That had to do with rounding down of the logarithmic function which returned 0. We now ensure that never happens ## Changelog :cl: fix: ore vents have unique distribution of at most 4 minerals without rare ones being repeated fix: ore vents should no longer be produce 0 material boulders /:cl:
…008) ## About The Pull Request Currently, for detecting issue-closing fixes, the labeler regex matches strictly things like: `Fixes #some_number_here` but sometimes people will paste the full issues url, which github renders as the issue number. Problem is the raw text still has the url, so it will not match when passed through the rest api. This PR just makes it a bit less restrictive, so that something like this: ``Fixes https://github.com/tgstation/tgstation/issues/some_number_here` will correctly get registered as a fix. ## Why It's Good For The Game More PRs getting autolabeled more correctly ## Changelog Not player-facing
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.
blah blah blah bleh bleh bleh bleh bleh bleh.
Bottom Text