Skip to content

Upstream 2026-07-01#158

Merged
Glamyrio merged 87 commits into
masterfrom
upstream
Jul 1, 2026
Merged

Upstream 2026-07-01#158
Glamyrio merged 87 commits into
masterfrom
upstream

Conversation

@mass-bot

@mass-bot mass-bot Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

🆑 MassMeta
add: Upstream 2026-07-01
/:cl:
conflicts: code/modules/mob/living/carbon/human/human_update_icons.dm

CabinetOnFire and others added 30 commits June 25, 2026 00:05
## About The Pull Request

pirates were selling mobs on the station market, and the station market
does not allow ransoms (surprise)

in this house, we love ransoms. 


closes #93180 

## Changelog

:cl:
fix: You can now ransom mobs when pirateering again
/:cl:
## About The Pull Request
yea.
## Why It's Good For The Game
bad.
## Changelog
:cl:
code: Some ethereal emote sounds are properly loaded as part of rcs
/:cl:
…ining mobs having ai_retaliate (#96655)

target prioritization makes use of retaliation, but not all mobs had it,
now they do (should)

:cl: CabinetOnFire
fix: All mining mobs now remember who hit them, so target prioritization
works as intended
/:cl:
## About The Pull Request

Closes #96618

## Changelog
:cl:
fix: Fixed cyborg recharger panel unscrewing
/:cl:
## About The Pull Request
#95781 broke eye color overrides by defaulting to eyes' own color, which
should instead be a fallback as eyes add their own color as a lowest
priority override to the mob.

Closes #96567 

## Changelog
:cl:
fix: Fixed eye color effects not working
/:cl:
## About The Pull Request

Adds an option to the view variables dropdown for atoms that lets you
download the sprite (calls `GetFlatIcon` and then uses the `ftp` proc to
send it to the user)

## Why It's Good For The Game

Easy way to rip complex sprites where you can't just check the DMI file

## Changelog
:cl:
admin: added download sprite option to view variables dropdown
/:cl:
## About The Pull Request

Fixes this jank 

<img width="163" height="141" alt="image"
src="https://github.com/user-attachments/assets/496fb4d6-f376-472f-a8f7-736c83aca239"
/>

## Changelog
:cl:
fix: Fixed broken visuals on siderite/shale turfs when dug
/:cl:
## About The Pull Request

Closes #96601
Also fixes pref button breaking one of the modes permanently when
swapped within a round, rain not displaying (due to missing overlay
states) when particle weather is disabled, and weather particle plates
having the same name as weather planes (causes dupe entries in the
planecube debugger)

## Changelog
:cl:
fix: Radstorms (and other weather) no longer go over your hud on multi-z
maps
fix: Rain is no longer invisible when you have particle weather disabled
fix: Changing the particle weather pref no longer permanently breaks
some weathers for the round
/:cl:
## About The Pull Request

The `pull_request_target` trigger by default checks out the head ref of
the PR but runs with the secrets of the base ref, which a bad actor can
take advantage of, GitHub blocks the most common vector of this by
default now. Changes the workflows to explicitly check out the base ref
(the branch being PRed to, instead of the branch being PRed) because
neither of these jobs specifically requires that it be the head ref
being checked out

## Why It's Good For The Game

Changelogs and GBP will work again

## Changelog

No
## About The Pull Request


https://github.com/user-attachments/assets/a6c6d3d9-3284-4a45-80c4-14dbc4956cf8

Adds custom transfer amount functionality to the ChemMaster UI through a
number input (by the eject button) and paired button.

## Why It's Good For The Game

If I have to hit the one-off custom transfer button, several times in a
row, for my artisanal chemical atrocities one more time, I'm going to
lose it.

Less-jokingly, maybe someone has some oddly specific mixing things they
need it for (I know I do!).
…on (+ modernization) (#96421)

## About The Pull Request

Notable changes:

- Obsessed get a slight strength buff related to their obsession
- When grabbing any of your targets (your obsession included), your grab
is harder to escape from, and cause (slightly) more stamina damage from
failed escapes

- Obsessed also get a slight strength buff while standing near their
obsession (for at least 20 seconds). This effect is applied instantly if
the obsession is incapacitated.
- The grab strength bonus applies to all mobs, rather than just your
targets
   - You get a 25% reduction to incoming stamina damage 

- Psicodine or Alcohol will prevent Obsession stammering / emote tells,
but also prevents these beneficial effects from activating

- Witnessing the death of your obsession grants you a permanent positive
moodlet (until they are revived)

- Obsessed tells have been reworked a bit, being less obvious in general
and having their chance to trigger reduced the longer you stand around
your obsession (resetting after leaving their view)

- Obsessed stammer was also reworked a bit, now being closet to Social
Anxiety's stammer, also reducing in severity the longer you stand around
your obsession (resetting after leaving their view)

- Obsessed antag status is now lost when transferring out of the
affected brain and gained when transferring into the affected brain,
making it play nicer with slime clones or mindswap

Other changes:

- Modernized a bunch of obsession code
- Replaced hardcoded checks for grab resistance with a signal

## Why It's Good For The Game

I wanted to give Obsession just a *little* something to help enable
them. I figure grab strength and pain resistance is a pretty fitting /
flavorful place to start.

The grab strength is intended to give them more ability to detain their
targets (by means of wrestling). Even a passive grab isn't a guaranteed
escape.
The stamina damage resistance is intended to give them a slight chance
to resist being detained by security. Not a significant one, just a
slight one.

## Changelog

:cl: Melbert
balance: Obsessions get moderately stronger grabs against their
objective targets (this includes their obsession and any other
kill/theft targets they may have).
balance: While standing near their obsession (for 20 seconds or if they
are incapacitated), Obsessions get slightly stronger grabs against
anyone, rather than just their objective targets.
balance: While standing near their obsession (for 20 seconds or if they
are incapacitated), Obsessions get slight stamina damage resistance.
balance: Obsession stammering has been reduced in severity a bit, and
also becomes less likely the longer you stand around your obsession.
balance: Obsession emotes have been made a bit less obvious, and also
become less likely the longer you stand around your obsession.
balance: Taking Psicodine or drinking alcohol will prevent Obsessions
from stammering or emoting around their obsession, but also disables
their stamina resistance and stronger grabs.
balance: Obsessions get a "permanent" mood bonus for killing their
obsession (until they are revived).
refactor: Obsessed has been refactored significantly. It will now play a
lot nicer with mindswaps. Report any oddities.
refactor: Grab strength has been refactored a bit, primarily affects
martial arts and drunken brawling. Report any oddities.
/:cl:
…hacked upload boards. (#96323)

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
…6639)

Co-authored-by: Lucy <lucy@absolucy.moe>
Ghommie and others added 21 commits July 1, 2026 10:26
… 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.
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
## About The Pull Request
The button which allows you to manually toggle night lighting on APCs is
currently broken. When pressed outside of night shift, the APC will
briefly swap to night lighting before immediately going back to
standard. I suspect this might be caused by the changes to 'apc_main.dm'
which occured during PR #95744.

Additionally, the low power night light enabling introduced in #69374
doesn't seem to account for station security level when APCs get
repowered. If a whole station loses power while on red alert during
night shift (perhaps by a powersink) then the station will be entirely
on night lighting when repowered.

I assume neither of these quirks are intentional and have attempted to
fix them here.
## Why It's Good For The Game
Unless I've completely misunderstood something, this should (probably)
fix a bug as per local testing.
## Changelog
:cl:
fix: Night shift lighting can be manually enabled through APCs again.
fix: Night lighting is no longer automatically reenabled during red
alert night shifts when APCs are drained and recharged.
/:cl:
## About The Pull Request
Gives parrots hand (singular), removing snowflaked item carrying from
it. Parrots can now interact with items it's carrying. Tremble before
Poly's new strength!

Also made hand keybinds works on singlehanded mobs.
## Why It's Good For The Game
was bored, figured I can knock off parrots off the stat panel phase out.
looked at the code and realized that parrots have snowflaked item
pickup, thought to myself "wait, isn't there multihanded support? surely
that means that means theres one handed support too!" which is how this
PR came to be.

removes another thing from the stat-panel phase out and makes parrots
handling items much more intuitive.

## Changelog
:cl:
code: Swaps out parrot's sovlful unique item carrying ability with a
soulless hand (singular)
fix: Fixes specific hands hotkey breaking hands on singlehanded mobs
/:cl:

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
@Glamyrio Glamyrio merged commit a384064 into master Jul 1, 2026
17 checks passed
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.