Skip to content

Darkpack Pull 5/9/2026#52

Open
FalloutFalcon wants to merge 286 commits into
ApocryphaXIII:masterfrom
FalloutFalcon:darkpack-pull-5-9-26
Open

Darkpack Pull 5/9/2026#52
FalloutFalcon wants to merge 286 commits into
ApocryphaXIII:masterfrom
FalloutFalcon:darkpack-pull-5-9-26

Conversation

@FalloutFalcon
Copy link
Copy Markdown
Member

No description provided.

tgstation-ci Bot and others added 30 commits April 22, 2026 20:50
## About The Pull Request

Before: Internal bleeding `volume = rand(1, damage * coefficient)`

Bleeding could vary between 1 to 40, causing some attacks to drain you
of 0.1% of your blood, and other attacks to drain you of 7% of your
blood

After: Internal bleeding `volume = sqrt(damage) * coefficient *
rand(0.75, 1.5)`

Bleeding may vary between ranges like 5 to 16, amounting to 1% to 3% of
your blood

Also I broke it, now it's fixed oops

## Why It's Good For The Game

The variance in "internal bleeding" roll was so large that it could
practically instantly sign your death warrant or would never matter
across 100 attacks

This aims to raise the low end and lower the high end to bring a more
sensible range of "volume"

## Changelog

:cl: Melbert
balance: The amount of blood loss from an attack to an already bleeding
wound has been tweaked. As an example, a 20 force attack used to range
0.1% to 4% blood loss, and now ranges 1% to 3%.
/: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

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

This adds a new lava/ice ruin called the Shoe Factory. It's basically an
abandoned conveyor belt full of random shoes.

<img width="736" height="608" alt="StrongDMM-2026-04-16 20 02 24"
src="https://github.com/user-attachments/assets/113f1dc0-7ab7-48fa-9f4d-a32398e7d83d"
/>

There are 29 pairs of random shoes total. These use a new shoe random
spawner that spawns ANY subtype of shoes. (even admin shoe types like
disabler/bullet shoes) On top of this, the shoe spawner modifies the
`slowdown` anywhere between `-0.5` (fast) to `+0.5` (slow) via dice
rolls. (5d3) You basically need to roll a YAHTZEE to get super fast
shoes. Using the dice method results in ~60% of shoes being normal,
while ~20% are fast, and the other ~20% are slow. So you really need to
test each shoe individually Cinderella style.

Here is a [nice
chart](https://tadeohepperle.com/dice-calculator-frontend/?d1=%2B5d3)
showing the probability breakdown of dice rolls.

For atmosphere, there are crates full of leather/tanning/hides. Also,
there is a loom with durathread, cotton, and wool supplies.

## Why It's Good For The Game

<!-- 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. -->

More ruin content. Also gives a chance for players to obtain some super
rare shoe types.

## 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:
map: Add Shoe Factory to lava/ice ruins.
/: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

Continuation of tgstation/tgstation#78857

FOR TOOO LONG WE HAVE SUFF-
Ok yeah so like, we made them overlays to save on maptick, but with
threaded maptick that is potentially not an issue anymore.
I'm opening this pr so I can tm it and see. If it works, it'll save
about 50% of lighting object update costs, which is pretty damn good.

I'm also removing the fullbright light icon state, since it is barely
ever used (it was added as a clientside op, but we don't hit fullbright
very much at all so it does nothing but eat my cpu time)

Also also changing how SSlighting does its resolution. Rather then
waiting for all sources to process, then working on corners and objects,
instead we will do all the sources we had at the start, then all the
sources after, and so on.
The goal is to avoid churn causing the system to constantly choke. it is
better to potentially double operate then it is for things to feel
horrifically slow.

## Why It's Good For The Game

Faster. Also you won't be able to see lights through walls anymore, so
mesons will be less dumb. Can maybe bump their nightvision a bit idk
we'll see.

## Current Issues

to be found

## Changelog
:cl: Absolucy, LemonInTheDark
fix: You can no longer see lights through walls when using mesons or
when ventcrawling.
/:cl:

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
## About The Pull Request

Codex Cicatrix and Warren King's Welcome are moved from starting
knowledge to tier 1 knowledge. The Codex cannot appear in the draft,
though Warren King's Welcome can.

Warren King's Welcome received a rework, and now has additional effects:

- Requires 10 cable, 1 paper, 1 multitool
- Grants all IDs present on the rune + your worn/held ID access to
`maint`, `external airlock`, and `heretic`
- All nearby airlocks (7 tile radius, needs line of sight) have their
access overridden to `heretic` access (+ai wire cut)

Eldritch ID card also starts with "heretic" access (just for fun) 

## Why It's Good For The Game

1. The Codex Cicatrix was originally designed as an investment - you'd
put in points + effort + risk, and you'd get reward

But over time I think every aspect of it has been toned down
- It's free, so you no longer invest points
- It's significantly easier to create, so it's basically no effort
- You have x-ray when around a rift, so you can easily see if someone is
nearby, so it's far less a risk (besides being searched)

Now it serves as a major point injection into the heretic, which I'm not
sure they really need.
Putting it back in T1 at least brings back the point investment part. 

2. Warren King's Welcome is not a particularly problematic knowledge in
comparison but I made the decision to move it to reduce the
front-loaded-ness of heretic's starting knowledge. Having so many things
available off rip is a bit overwhelming.

Additionally, I prefer the idea of Warren King's Welcome being a point
trade-off for people who can't get access to maintenance another way,
rather than it being essentially free. You can spend 1 point for
otherwise free maintenance access - *or* you can get access from the
HoP, or you can steal an ID, or you can make an Eldritch Coin, or you
can rely on a spell like Ashen Passage, or you can just hack doors. More
sandboxxyness.

The rework happened because it needed a bit more to be its own
independent knowledge.

Addendum: I touched on it in 2, but the amount of starting knowledge can
easily overwhelm newer players. We should be careful adding multiple
rituals off rip.

## Changelog

:cl: Melbert
balance: Codex Cicatrix is now a tier 1 heretic knowledge, and can not
be drafted.
balance: Warren King's Welcome is now a tier 1 heretic knowledge, but
can be drafted.
balance: Warren King's Welcome soft reworked. Now needs 10 cable, 1
paper, 1 multitool. Now adds access to all IDs present, including worn
IDs. Now adds "heretic" access to the ID card. Now changes all nearby
airlocks to require "heretic" access, and cuts the AI wire.
balance: Eldritch ID card starts with "heretic" access. 
/:cl:
## About The Pull Request

<img width="120" height="125" alt="image"
src="https://github.com/user-attachments/assets/0eff5544-5cff-4ca4-ae44-d3329ed773bb"
/>

EVA helmets can have their visors pulled up to show off your face. 

Older models of space helmets don't have retractable visors

## Why It's Good For The Game

This was inspired by #95683 - I thought the potential behind being able
to flip up your visor to get rid of the dirt in your eyes was an
interesting lil gameplay interaction

Then I got thinking of sci-fi tropes and scenes where the guy says "time
to kick some ass" and rips his visor down, or scenes where the unknown
guy in a space suits says "well well well" and rips up is visor to
reveal he's the bad guy

Now does this make much sense from a space suit design perspective?
Well, not really... ideally you want that thing sealed as tight as
possible, but by 2566 you'd think they'd improve the seals on the things
to allow for it, right? (That was part of the reason why I didn't add it
to the older models of space suits)

## Changelog

:cl: Melbert
add: Some EVA helmets now have retractable visors, which you can pull up
or down at will, to reveal your face.
/:cl:

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
## About The Pull Request
The wrong data was passed to the random reaction initialization
Fixes #95830
## Why It's Good For The Game

<img width="498" height="302" alt="livrah-streamer"
src="https://github.com/user-attachments/assets/ec40d522-13ba-42cf-a769-8aece283c1ac"
/>

## Changelog
:cl:
fix: metalgen and secret sauce recipes are now loaded properly
/:cl:

---------

Co-authored-by: l0 <-->
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
## About The Pull Request

Hi, strange thing with tattoos.


https://github.com/tgstation/tgstation/blob/55366497a3f156f5553a6446edf4c0b0cbba6716/code/controllers/subsystem/persistence/tattoos.dm#L25-L42

The tattoo persistence version seems to be setting based on engravings'
persistence version, ``ENGRAVING_PERSISTENCE_VERSION``

Yet, in ``load_prisoner_tattoos()``, the conditional checks the value of
TATTOO_PERSISTENCE_VERSION

https://github.com/tgstation/tgstation/blob/55366497a3f156f5553a6446edf4c0b0cbba6716/code/controllers/subsystem/persistence/tattoos.dm#L10-L11

This PR just replaces the engraving version being set with the tattoo
version being set.
## Why It's Good For The Game

This seems rather blatantly incorrect. 
The TATTOO_PERSISTENCE_VERSION has no setter for its value other than
when defined.

Realistically? This does nothing. They are both 0 lol.
## About The Pull Request
Mushroom bowl no longer turns invisible
## Why It's Good For The Game
## Changelog
:cl:
fix: The mushroom bowl no longer turns invisible when filled with a
reagent.
/:cl:
## About The Pull Request
Alternative to tgstation/tgstation#95658 that
involves fewer lines rather than more.

## Why It's Good For The Game
Makes it possible to order crab rockets on the express console without
copypasta. I'm not sure if express consoles are supposed to be usable
for special/emag orders (there was a check against that in the code for
some reason), but because they've had the exact same options of a
standard cargo delivery console for such a long time and because I
haven't found any explicit reason for that to not be the case (in lieu
of that, I found a bit of a reference to homoerotic material in the code
comments), I guess it's fine and nothing bad will happen.

## Changelog

:cl:
fix: Packs exclusive to the express console (crab rockets for example)
can now be ordered from express consoles.
/:cl:
## About The Pull Request

sets the scrambled flag of easy_random_mutate to FALSE

## Why It's Good For The Game

Within my extensive geneticist playtime I have many times rushed the
avalible genome in a round by myself, having a somewhat fast time of
about 30 min, almost not exiting my lab in a non-stop A-T C-G frenzy. A
kind of painful process for a human hand because of the amounts of
clicking involved and our increasing number of avalible mutations, so i
came up with what i hope is an adequate solution. In the practice what
this pr does is allow for the random mutations caused by
easy_random_mutate, which if im not mistaken are:

toxin_reagents.dm | Unstable Mutagen 
body.dm | Unstable DNA mutation 
radiation_storm.dm | Radiation storm weather effects
floral.dm | Plant-mutating radiation projectiles
experimental_cloner_fuckup.dm  | Cloner malfunctions
eldritch_painting.dm | Heretic eldritch painting examines
_species.dm | Species radiation damage handling

to be saved to the dna consoles. under normal circumstances it means
that unstable mutagen (and i guess cloner malf mutations) can be saved
to dna consoles. IF im not mistaken and didnt miss anything, it
essentially means that geneticists can now cooperate with chemistry in
order to achieve a somewhat less click intensive, not necessarily much
faster decoding process of the genome, at the cost of cooperating with
your local chemist, and shorter lived test subjects (since it deals tox
damage while metabolizing). because of how unstable mutagen works, this
mostly means only unlocking negative mutations, since positives have a
2% of being unlocked and noted be mutagen only works first entering the
mob, not while metabolizing.

<!--EndFragment-->
</body>
</html>
## Changelog

:cl:
balance: mutations coming from most random mutation sources can now be
saved in dna consoles
/:cl:
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
## About The Pull Request

So it turns out that CSS validation in BYOND has been broken for some
time, and it was fixed in 516.1681. This fix uncovered errors in
`stylesheet.dm`, and per [this bug
report](https://www.byond.com/forum/post/2986950), the `animation` style
was never actually supported in DM CSS, we just didn't notice because
these styles are only used in TGUI (which properly displays them) and
the errors were being suppressed.

## Why It's Good For The Game

Makes the codebase compile on the latest BYOND version
darkpack13-api Bot and others added 17 commits May 7, 2026 19:27
## About The Pull Request
Adds a landmark that gets top billing when a cargo crate is looking for
a landing zone
## Why It's Good For The Game
For if the code i wrote for finding points for them to spawn is lacking.
## Changelog
:cl:
add: landmark for cargo crate delivery locations
/:cl:
## About The Pull Request

this should fix the 'you feel terribly bloated' plagueing fera chatboxes
<img width="298" height="36"
alt="{429E81D8-DE81-4E1C-A551-E2C7DA46D5BF}"
src="https://github.com/user-attachments/assets/9978adbc-266c-4b0f-910b-753fcdb7401c"
/>

## Changelog
:cl:
fix: fera no longer feel terribly bloated all the time
/:cl:
## About The Pull Request
Pulls the latest TGStation commits to keep us up-to-date
Please dont squash this one!!!

Highlights include:
Busting my balls because they reworked time pretty heavy and im needing
to revert a fair few parts of the pr (its a good pr just not for us).
Its prob gonna cause a few odditys, primarly, they shifted the alot of
timestamps to be the "time of the round" rather then time of day ic/ooc
Cute signboards
Ghost have runechat (or better runechat)

## Why It's Good For The Game
MODERN CODE

## Changelog
:cl: Beautiful TG coders
code: TG Pull. Thank you TG.
/:cl:
## About The Pull Request

stick rolls are private
## Why It's Good For The Game

rolling stealth telling everyone around that i rolled stealth defeats
the point
## Changelog
:cl:
fix: Rolls to not step on sticks are now private.
/:cl:
## About The Pull Request
Transformers were unfixable if someone botched the roll due to an
oversight, this PR should fix that
## Changelog
:cl:
fix: fixed transformers being unrepairable upon failing the roll
:cl:
## About The Pull Request

fixes the opacity issue on ghoul sprites. the smoke alpha was not being
reapplied after setting the color values

## Changelog
:cl:
fix: Ghoul auras are no longer fully opaque
/:cl:
## About The Pull Request
Bounty post:
https://discord.com/channels/1393132000583618701/1502440732051509450

Gives crinos and hispo/lupus flavor text that replaces the normal text.

<img width="691" height="367" alt="image"
src="https://github.com/user-attachments/assets/7dc21d4c-a5ee-4d56-b9d3-ffe96aae1c73"
/>
<img width="455" height="442" alt="image"
src="https://github.com/user-attachments/assets/cb578293-6da1-4842-9b94-6fb52c3d650c"
/>
<img width="1374" height="717" alt="image"
src="https://github.com/user-attachments/assets/12d255f9-2063-4c8d-ae7c-2eec7d16bd9e"
/>
## Why It's Good For The Game
doggy looks diffrent then human.
## Changelog
:cl:
add: Two separate fields for flavor text that overwrite existing one
when your in crinos or hispo/lupus respectivly
/:cl:
@FalloutFalcon FalloutFalcon requested review from a team as code owners May 10, 2026 00:24
@FalloutFalcon FalloutFalcon added the Upstream Merge Copy and paste Darkpack code. If it compiles, it ships! label May 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.