Conversation
## About The Pull Request I didn't realize that default aggro range for mobs is 9, so tendrils would try to attack you with their whips and spikes despite you being completely out of their range, which looks pretty funny. I've fixed this by separating out aggro ***grab*** range and aggro sustain ranges, lowering latter to 5 for tendrils, and adding checks for target distance for both abilities it has. The Thing also had a similar behavior but used rather jank code for that (which I don't think even worked), so I've modified it to use the new system as well. ## Why It's Good For The Game Stationary mobs probably shouldn't try to attack mobs completely out of their reach ## Changelog :cl: fix: Tendrils no longer try to attack you when you're out of their reach code: Cleaned up The Thing's aggro code /:cl:
## About The Pull Request `assign_reagent()` does not take paths ## Why It's Good For The Game fixes #96333 ## Changelog :cl: fix: Toxin bees get toxin /:cl:
## About The Pull Request
🚨THIS IS AN ADVANCED VERSION OF #96227 WITH NEW FEATURES, CLOSE #96227
IF THIS IS MERGED 🚨
this pr adds botanic trays - you can get one by filling an empty
hydroponic tray with any soil!
the botanic tray acts like a pile of soil but it can be upgraded, has
auto-grow and indicators.
once you fill the tray there is no way back - it becomes botanic
permanently (until you deconstruct it)
<details>
<summary> Sprites </summary>
<img width="856" height="846" alt="image"
src="https://github.com/user-attachments/assets/ca9e2a55-ba29-4d08-80e7-aa79e73bb79f"
/>
<img width="825" height="285" alt="image"
src="https://github.com/user-attachments/assets/815e93c2-47cd-4540-86ae-0d2bd8efd325"
/>
Default on the left, reskin on the right
sprites made by me (trays from #96227 made by kreks) (also works with
old-designed tray mode)
see #96227 for tray resprite old/new
</details>
## Why It's Good For The Game
soil is boring and almost no one uses it
emissive is cool
you can now see the type of soil in your tray even when the auto-growth
is on
## Changelog
:cl:
add: added botanic trays - hydroponic trays with soil instead of water,
just fill a tray with any soil and done!
image: resprited auto-growth mode and added emissives to it
image: resprited hydroponic trays
add: added old-designed mode for hydroponic trays - use a screwdriver or
a plant analyzer on the circuit!
image: added emissives to hydroponic tray indicators
/:cl:
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
## About The Pull Request Closes #96078 Cryox has been nerfcrept over the years so hard that at the moment you can use it to softlock people by trapping them inside with burn damage, as cryoxadone heals so slowly that the 73k air will hurt you nearly more than the cryox even heals you. This PR changes cryox so that sleeping is no longer a hard requirement, rather it simply doubles the "power" of the cryoxadone, like how being on fire doubles the power of pyroxadone. Even with this it's still not a great heal, doing about 2-3 of each damage per tick, far inferior to a proper healmix. When you're awake it heals you the same as it does now. ## Why It's Good For The Game Helps cryoxadone actually fill its niche a bit better (Healing wounds/triage with the cryo tubes/less efficient new player fallback option) without reintroducing the abusive abilities that got cryox nerfed in the first place, namely naked spacewalking since pressure damage has been doubled and waking cryox will no longer let you outheal it. The hard requirement on unconsciousness is also very uninteresting and anti-sandbox (you MUST use the cryo tube or this reagent does NOTHING) ## Changelog :cl: balance: instead of the hard requirement for sleeping, cryox's healing power is doubled by being asleep instead fix: on default settings a cryo tube filled with cryoxadone can no longer softlock you by outdamaging its own healing potential /:cl:
Straightforward conversion to basic mob. Only effective change is slight increase in movement speed. They're still walking punching bags. :cl: balance: polar bears are tiny bit faster /:cl:
## About The Pull Request A synchronous signal re-entrancy vulnerability caused a server crash when plasma-infused floor lights were ignited. When on_deconstruction() called break_light_tube(), the tube spawned sparks before updating its internal broken state. The sparks ignited the plasma, which triggered a secondary on_deconstruction() on the same tick, resulting in an infinite recursion loop and eventual Overflow. <img width="2559" height="1391" alt="Screenshot 2026-06-04 151658" src="https://github.com/user-attachments/assets/e8f1b5fa-826e-4c76-8d04-3ba6c424822a" /> This PR applies a State-Before-Side-Effects pattern, the status = LIGHT_BROKEN mutation is now applied before do_sparks() is invoked (caching the previous state for the effects). This kills any synchronous recursive loops originating from the sparks. <img width="2559" height="1389" alt="Screenshot 2026-06-04 155247" src="https://github.com/user-attachments/assets/db5b346e-d525-493b-ab64-00acc48493cd" /> Fixes #96126 ## Why It's Good For The Game Fixes a reproducible server crash that could be triggered by a single player in seconds if they got metalgen (funny but broken). It also hardens the core light machinery architecture against future re-entrancy bugs caused by synchronous environmental events. ## Changelog :cl: fix: Fixed a server crash caused by igniting plasma-covered floor lights. /:cl:
## About The Pull Request <img width="714" height="648" alt="dreamseeker_4N3ALTkuIp" src="https://github.com/user-attachments/assets/3a05782a-b620-4193-a6fe-b5797a16d586" /> By smoothing with natural walls and floors and utilizing overlays to add artificial smoothing with them, we can have nice-looking multi-type smoothing on the same tile without too much overhead. I've implemented this for both lavaland lava and water (despite latter only being mapped in near the raptor area which has guaranteed basalt flooring, it might be useful to have in the future for ruins and what not) ## Why It's Good For The Game Lava smoothing using basalt edges looks really weird and jank. ## Changelog :cl: refactor: Implemented overlay-based smoothing for lavaland lava and water /:cl:
…phisticated cave network system (#96026)
## About The Pull Request Checking `occupier` right after `occupier` is nulled Also, entirely unused signal, deleted. ## Why It's Good For The Game Runtime Error ## Changelog :cl: fix: Pinpointers stop tracking a shunted ai when that ai is no longer shunted /:cl:
## About The Pull Request The parameter is `atom_dir` not `dir` ## Why It's Good For The Game `dir` doesn't exist so it was always falling back to the default of north regardless of what you picked ## Changelog :cl: fix: fixed TGUI spawn panel direction option not working /:cl:
## About The Pull Request fixes `/datum/lootpanel` not being removed from SSlooting's backlog/processing when destroyed. another native reftracker W ``` [2026-06-04 15:54:59.739] REFSCANNER: native refscan complete for /datum/lootpanel ([0x21068f2e]), took 942 ms - === 2 finding(s)=== - [list] list #5085 [index 0] (len=1, refs=1) - [list_owner] datum #1977 (/datum/controller/subsystem/looting).processing -> list #5085 ``` also fixed a bug where SSlooting wouldn't really process after `backlog` was moved to `processing`. ## Why It's Good For The Game hard delete bad ## Changelog no player-facing changes
## About The Pull Request Adds COMSIG_BLOCK_RESIST. ## Why It's Good For The Game This functionality would be nice. ## Changelog Not player facing.
…s (#95636) (#96335) ## About The Pull Request This PR adds a `can_see_reagents()` check to the `examine()` function of the water cooler (`/obj/structure/reagent_dispensers/water_cooler`). It loops through the reagents and prints their specific volume and name, mirroring the behavior of standard transparent containers when examined by an authorized user. Fixes #95636 ## Why It's Good For The Game The current state of the water cooler is inconsistent with other reagent containers. As reported in the original issue, observers cannot see what custom reagents are inside. Furthermore, during local testing, I verified that this also negatively impacts active gameplay, Chemists and Scientists wearing Science Goggles are unable to read the chemical breakdown of the cooler's contents, breaking immersion. This PR implements the standard check without altering the cooler's opaque identity for regular players. **Before:** <img width="2559" height="1391" alt="Screenshot 2026-06-03 155849" src="https://github.com/user-attachments/assets/8b74fca7-5fe8-4a08-af23-9a1d4b5a5647" /> <img width="819" height="717" alt="Screenshot 2026-06-03 155929" src="https://github.com/user-attachments/assets/21150f27-9806-4a6a-90b0-2ec4129b5492" /> **After:** <img width="2559" height="1393" alt="Screenshot 2026-06-03 163407" src="https://github.com/user-attachments/assets/84b368c7-46e6-4134-9ccb-65956fa5d58f" /> <img width="2559" height="1390" alt="Screenshot 2026-06-03 163422" src="https://github.com/user-attachments/assets/7b13070f-193b-467f-9166-a00fdf8ea65e" /> ## Changelog :cl: fix: Water coolers now properly reveal their custom reagents when examined by ghosts or players with science goggles. /:cl:
…TA` calls into one. (#96330) ## About The Pull Request This PR bumps dreamluau to 0.2.1, which makes `DREAMLUAU_CLEAR_REF_USERDATA` into a variadic function. As such, we can replace all of the up to 8 byondapi calls in every call to Destroy with only 1. ## Why It's Good For The Game This should significantly improve the performance what is one of the hottest procs there is. ## Changelog No player-facing changes.
## About The Pull Request Fixes #96344 The `if(!continuous_move && movement_dir)` did not respect whether the "jetpack" was usable or not, allowing you to free-float regardless of context. I wrapped them in the same check and it seems to work fine in both contexts (stabilizers on or actively moving). I presume this affected more than just moth wings (empty jetpacks, probably) but I'm not going to check ## Changelog :cl: Melbert fix: Fix moths being able to fly in space /:cl:
## About The Pull Request Ports fulpstation/fulpstation#1380 giving coffins another direction. ## Why It's Good For The Game Minor edit that makes coffins look a little better. Why not. ## Changelog :cl: QuiteLiterallyAnything image: Added a directional sprite for coffins. /:cl:
…on-child, type from tier4 RPED (#96246) ## About The Pull Request So now Adming Outfit and Debug Outfit using AdminDebug RPED with 40 parts of each, and its another RPED, not tier4, which is the same RPED, which has spawnpoind at lavaland base ## Why It's Good For The Game 10 not so much, so its need to regive the RPED via regive of admin outfit, so 40 is enough if, f. e., you need to fully upgrade 10 thermo freezers for sm setup, emmiters and smes and you dont need to regive yourself new admin outfit, clicking buttons like "delete old items", "give outfit" and sm will not blew up on your localhost server - all that gone, cause now your Admin RPED wont let you down ## Changelog :cl: qol: now Admin RPED has 40 parts each code: now Admin outfit and Debug outfit(what is that) has AdminDebug RPED with 40 parts, and not just tier4 RPED, which is like game thing /:cl:
…r (#96240) ## About The Pull Request This adds apple fritters, a breakfast food that is strikingly absent considering we already have banana and pineapple fritters. I decided to make them terran food (unlike the other 2 fritter types) since they don't really fit with the martian theming. Sprite provided by Dendydoom. I kind of sort of updated the PR body to say I was using ArcaneMusic's sprite but they mentioned the sprite being used was ILLEGAL and STOLEN so I'm just going with the old one. Oops ## Why It's Good For The Game They're a staple of pastries. Now you can consume and absorb the nutrients of one. ## Changelog :cl: Rhials, Dendydoom add: Apple Fritters have been added to your local chef's cookbook! /:cl:
## About The Pull Request - Borg attack chain now passes modifiers to `attack_self()` so you can check for right click & other stuff - Omni Tool welder now won't turn on automatically when switching between inventory slots or switching to the tool from the radial menu - Omni Tool welder can now be turned on via LMB & not CTRL + LMB. To switch to another tool use RMB instead when using the welder ## Why It's Good For The Game - Closes #96213 - Closes #96214 ## Changelog :cl: code: borg attack chain now passes modifiers to its item `attack_self()` proc qol: omni tool welder now won't turn on automatically when switching to it via radial menu or using inventory button. This stops accidental combustion in hazardous areas qol: omni tool welder can now be turned on/off via LMB like regular welder & not CTRL+LMB. Use RMB to open radial menu to switch to other tools when using welder /:cl:
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.
🆑 MassMeta
add: Upstream 2026-06-06
/:cl: