Skip to content

Upstream 2026-06-06#140

Closed
mass-bot[bot] wants to merge 46 commits into
masterfrom
upstream
Closed

Upstream 2026-06-06#140
mass-bot[bot] wants to merge 46 commits into
masterfrom
upstream

Conversation

@mass-bot

@mass-bot mass-bot Bot commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

🆑 MassMeta
add: Upstream 2026-06-06
/:cl:

SmArtKar and others added 30 commits June 4, 2026 17:17
## 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:
lelandkemble and others added 16 commits June 5, 2026 12:02
## About The Pull Request

Blood-drunk miner has been reworked to change it from a DPS race into a
more dynamic fight

- Buffed health from 900 to 1300 (45% increase), slightly increased
speed (3 -> 2.5), increased saw damage (6/10 -> 8/12) to compensate for
other changes below
- Slightly reduced PKA shot damage (20 -> 18)
- Saw attacks now have a slightly longer delay inbetween hits
(especially in unfolded form), ***no longer are guaranteed to hit no
matter what*** (was a bug which forced players to eat 50 damage to the
face) and slow down the miner during the combo
- Singular PKA shot has been replaced with a telegraphed barrage of 3
projectiles, during which the miner cannot move, letting players gain
some distance
- Dash is no longer a teleport but a proper charge akin to that of
lobstrocities with a very short chargeup that deals no damage or
knockdown, but allows the miner to travel further
- Miner's attacks no longer give the target stun immunity for a brief
moment (why?)
- Default PKA it drops has been replaced with an infernal version, which
comes with a cheaper (30% vs 50% of the default one) in-built rapid
repeater (that also has a less punishing miss delay)

<img width="169" height="143" alt="Aseprite_UfXRbgVuqB"
src="https://github.com/user-attachments/assets/3ac257a4-5443-4c7f-a891-4e69f8188cb4"
/>

---

Full fight with a single basic pen and 2 legion cores, no PKC trophies:
(fumbled a bit midway though, pre-PKA projectile damage nerf)


https://github.com/user-attachments/assets/40c8af0d-035c-49da-861b-5e74ca7d7551

## Why It's Good For The Game

Current blood-drunk miner is a hard DPS check with unavoidable damage
(both due to the bug and instant dashes/PKA hits) that simply requires
you to facetank the damage using heals and kill it first before it kills
you.
This should make the fight a bit longer, more engaging and fairer than
it is right now.

## Changelog
:cl:
add: Blood-drunk miner now drops an infernal PKA with an in-built
improved rapid repeater modification
balance: Blood-drunk miner has been reworked with new attacks and
patterns
fix: Blood-drunk miner's combos are no longer guaranteed to land even if
you move away from it
/:cl:
## About The Pull Request

Pretty minor version bump, just a bugfix that I figure oughta see the
light of day.
Might be faster now? I bumped the dmi crate and that got optimized some
a few months back

See https://github.com/spacestation13/hypnagogic/releases/tag/v5.0.1 for
specifics.
…s it on looping sounds. (And also some tweaks to fall-off) (#96018)

## About The Pull Request

This pull request implements sound tokens, based on the implementation
by Kapu at DaedalusDock/daedalusdock#1379

I've taken that implementation and extended it to looping_sounds,
allowing us to have spatial audio that updates much more nicely when
players walk closer. This system also lets players that walk into range
after the sound has started playing to also hear the sound, before if
you missed the sound, you would never hear it. This is particularly
noticeable with long sounds (Which is lame!)

**VIDEOS**:
griddle:
https://streamable.com/v7ayqm

engineering / SM:
https://streamable.com/5lr1oj


The system essentially sends the sound to every client, and changes the
volume based on distance to the sound. There are some performance
concerns here, so we will need to testmerge this and see how impactful
it is. It is in a subsystem though, so there is some limit to the amount
of cpu it will use. Do keep this in mind when watching the videos; it
will probably not be AS responsive as in there.

I've also changed how intense our fall-off is, making sounds lose their
volume slower. Before taking one step away from a 50 volume sound would
make it 18 volume, this is way too big of a drop and it became
particularly jarring with the changes in this PR.

Some sounds might be too long range now, but I think we should just
reduce the max range of those sounds as we were basically playing them
at <5 volume after 10 tiles, at which point we should maybe just reduce
the range a bit since at those volumes theyre really not audible.

**OLD FALLOFF;** note the MASSIVE drop from 1 tile to 2 tiles
<img width="1416" height="897" alt="image"
src="https://github.com/user-attachments/assets/805b270e-6aa5-4e84-868e-39585966f0a4"
/>

**NEW FALLOFF:**
<img width="1418" height="905" alt="image"
src="https://github.com/user-attachments/assets/eabbd592-ae9c-4690-8945-fbd0b4f6614f"
/>

Also tweaked a few looping sounds (deep-fryer in particular got some
clean-up, as its mid-length was way too short for the sounds and it had
a double-definition)


## Why It's Good For The Game

This system allows us to have a richer audio experience, I really don't
like how choppy our looping sounds are, especially in some areas where
you hear them a lot (kitchen and engineering)



## Changelog

:cl: CabinetOnFire, Kapu
sound: Changed our falloff to be less intense, as it was punching volume
down way too fast.
refactor: Implements a system for spatial audio to improve our looping
sounds
/:cl:

---------

Co-authored-by: mrmanlikesbt <99309552+mrmanlikesbt@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.