Skip to content

TG Update b3042a1 [IDB IGNORE] [MDB IGNORE] - #367

Open
TealSeer wants to merge 77 commits into
mainfrom
tgstation-8369aba
Open

TG Update b3042a1 [IDB IGNORE] [MDB IGNORE]#367
TealSeer wants to merge 77 commits into
mainfrom
tgstation-8369aba

Conversation

@TealSeer

@TealSeer TealSeer commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

Brings us up to tgstation/tgstation@b3042a1
Doing this one earlier than normal because it lets me add a behavior tree for eggbug and that is CODECON 1 top priority

tgstation-ci Bot and others added 30 commits July 28, 2026 00:00
## About The Pull Request
When pirates have a leader (all types of pirates besides greytiders),
prioritize spawning the "leader" type from the ghost poll

Also makes Heavy Pirates admin-configurable (Light Pirates already were)
## Why It's Good For The Game

Pretty small cosmetic change (well except for the medieval pirates where
the leader is a hulk) but idk it feels weird for the one labeled
"leader" to wake up 30 minutes later and have to ask the crew what's
going on
## Changelog
:cl: PapaMichael
balance: Pirates prioritize spawning their leaders
admin: Admins can configure Heavy Pirates
/:cl:
## About The Pull Request
Organ exports were designed so that human organs were meant to sell for
amounts like 40-20 credits when they come from human sources, like
monkeys. On live, however, organs are selling for 1 credits. They also
have a mechanic that multiplies the value of the exported organ if it's
sold and it originally belonged to a roundstart human.

This didn't work! It may have never worked, or it stopped working at
some point. Now it properly grabs the value of the organ, against the
roundstart value of the organ. This means that on the high end, a
roundstart heart is worth 400 credits. Roundstart, regular human organs
are also worth about 200 credits each.

Now, this has a knock on effect with the other organs in this folder. I
don't think we considered that when it was originally implemented, as
lizard tails, cat tails, and cat ears are subtypes with this same
behavior. Do with this what you will. I'm leaving it alone because I
think it'd be fucking hilarious.

## Why It's Good For The Game

Technically fixes an issue that everyone knew existed, but nobody wanted
to resolve for some unknown reason.

## Changelog

:cl:
fix: Selling organs in cargo once again works properly. As a reminder,
Normal human organs sell for 20 credits. The organs of a roundstart
human are worth 10x as much, however.
/:cl:
…g (#97171)

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

We need to call update_hair() and update_eyes() in update_body_parts
when creating a mob because a lot of code relies on it and doesn't
explicitly call those updates, and head is no longer keyed by hair/eyes
so it doesn't trigger an update.
Also mob spawners were not assigning skin color

## 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:
fix: Fixed cardboard cutouts having an incorrect assistant sprite
fix: Fixed some effects not updating hair when they should
/: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

fixes this runtime i saw in CI:
```
  [18:45:50] Runtime in code/modules/mob/living/basic/lavaland/mook/mook_abilities.dm,59: Cannot execute null.is blocked turf().
    proc name: launch towards target (/datum/action/cooldown/mob_cooldown/mook_ability/mook_leap/proc/launch_towards_target)
    src: Mook leap (/datum/action/cooldown/mob_cooldown/mook_ability/mook_leap)
    call stack:
    Mook leap (/datum/action/cooldown/mob_cooldown/mook_ability/mook_leap): launch towards target(Dark Wizard (/mob/living/basic/dark_wizard))
    /datum/callback (/datum/callback): InvokeAsync()
    Timer (/datum/controller/subsystem/timer): fire(0)
    Timer (/datum/controller/subsystem/timer): ignite(0)
    Master (/datum/controller/master): RunQueue()
    Master (/datum/controller/master): Loop(4)
    Master (/datum/controller/master): StartProcessing(0)
```

also some minor improvements to the code in general

## Why It's Good For The Game

runtime fix good
ci failure bad

## Changelog

no user-facing changes, this really only visibly matters in CI
## About The Pull Request

It's an `attackby()` to `item_interaction()` conversion issue, again,
but this one was only like, three-fifths my fault. I didn't make this
one.

unit test covers unlocking, opening, placing a cookie within, and
closing a locked crate, and opening, placing a cookie within, and
closing a bodybag.

## Why It's Good For The Game

You figure it out

## Changelog
:cl:

fix: You can place items within bodybags by clicking on them again

/:cl:
## About The Pull Request

- Renames "Hot Chili" to Chili Con Carne, moves it to the Mexican
cuisine category
- Renames "Cold Chili" to Chili Frio, moves it to the Mexican cuisine
category
- Moves "Chili Con Carnival" to the Mexican cuisine category
- Moves "Chili Sin Carne" to the Mexican cuisine category
- Allows you to make "Ghost Chili Con Carne" and "Ghost Chili Sin Carne"
by replacing the chili in the recipe with ghost chilis. The recipe is
otherwise identical.

## Why It's Good For The Game

Renames: Done for consistency. We had "Hot Chili" and "Chili Sin Carne".
Category shuttle: For consistency again. All of them are in the Mexican
category now. Easier to find (and Vegan Chili is not particularly
Mothic)
Recipe: I found it a little silly that I couldn't make hotter chili with
the hotter chili. Now you can make even hotter chili.

## Changelog

:cl: Melbert
spellcheck: Renames "Hot Chili" to "Chili Con Carne"
spellcheck: Renames "Cold Chili" to "Chili Frio"
qol: Chili Con Carne, Chili Sin Carne, Chili Con Carnival, and Chili
Frio are now all in the "Mexican" cuisine category
qol: You can now use ghost chilis in the chili recipes, making "Ghost
Chili Con Carne" or "Ghost Chili Sin Carne".
/:cl:
## About The Pull Request
Nightwatcher's Lantern, in Ash Path, is free to research, which is an
oversight
Mask of Madness costed 2, so it only makes sense for Nightwatcher's
Lantern, which takes its place, to cost 2
## About The Pull Request
Adds the icon state for the lionhunter ammo box without ammo
## Why It's Good For The Game
Closes #97215
…nestly I'm surprised no one has said anything (#97213)

## About The Pull Request

yeah I think the title explains this one pretty thoroughly

## Changelog

:cl: Melbert
fix: Fix slot assigned job saving 
/:cl:
## About The Pull Request

Revenant movement costs as much as all other client inputs in a tick
combined due to them updating all of their abilities every time they
move. In practice they don't need to update anything except said
ability's color, and we can run the density check once rather than
separately for each ability and share the result when checking for
castability from a forced update (nor do we need to do said checks if
any other check, like cost, fails to pass).

## Changelog
:cl:
code: Optimized revenant abilities
/:cl:
## About The Pull Request

Goes over Kilostation and redoes the lighting to be a more ambient and
moody, removing a lot of excess lighting (overlighting)

<Details>

<Summary> Some example shots </Summary>

<img width="737" height="712" alt="image"
src="https://github.com/user-attachments/assets/9d82d76a-299d-4304-b3a2-785bb86300da"
/>

<img width="1081" height="533" alt="image"
src="https://github.com/user-attachments/assets/554c5fe3-57de-491d-be14-0948774fb9aa"
/>

</Details>

Also just cleans up random stuff while I'm looking at the entire map -
largely minor stuff like pipe runs and decals

## Why It's Good For The Game

Overlighting can spoil the otherwise excellent moody ambience of a map

## Changelog

:cl: Melbert
map: [Kilostation] Redid lighting over the whole station to be more
ambient/moody and less overlit
map: [Kilostation] Many small tweaks and nudges, primarily with decals
or pipe runs
/:cl:
## About The Pull Request

Atmos tanks are one of the hottest machine procs by both self and total
time consumed due to incredible overlay churn each one of them does.

<img width="583" height="35" alt="image"
src="https://github.com/user-attachments/assets/d1382bde-a2ef-4689-8705-61664cb6f9b7"
/>
<img width="780" height="26" alt="image"
src="https://github.com/user-attachments/assets/2a5b2385-4ad9-4b15-bb00-7ed61b8c9153"
/>

Instead of constantly churning appearances each tick, gas tanks can use
vis_contents similarly to how turfs display their gases via an
intermediate that holds gases, and a second object that displays the
window as to render ontop of them.

<img width="1282" height="378" alt="image"
src="https://github.com/user-attachments/assets/edbe2027-3ceb-4b54-9d69-f903e008bedc"
/>

We can't use original gas overlays as BYOND's render stack prioritizes
planes over identity, so for ``KEEP_TOGETHER`` on the gas holder to work
(and thus share the alpha filter) we need to create copies of all
relevant overlays with ``VIS_INHERIT_ID | VIS_INHERIT_PLANE`` so they
render within it and get properly masked.

## Changelog
:cl:
code: Improves gas tank window performance
/:cl:
@github-actions github-actions Bot added Tools We pretend to be a real development community Github Remember that time they had to get us to send them a copy of the repo. Map Edit Thank you for your tile-placing service. It's always appreciated. Sprites A bikeshed full of soulless bikes. Sound Oh god my ears, they bleed, did you normalise the volume? UI Make that round TGUI square. labels Jul 30, 2026
@TealSeer TealSeer linked an issue Jul 30, 2026 that may be closed by this pull request
@TealSeer
TealSeer force-pushed the tgstation-8369aba branch from b9778d5 to a0f75e9 Compare July 30, 2026 18:18
@TealSeer TealSeer changed the title TG Update 8369aba [IDB IGNORE] [MDB IGNORE] TG Update b3042a1 [IDB IGNORE] [MDB IGNORE] Jul 30, 2026
@github-actions

Copy link
Copy Markdown

Behavior tree diff

local/code/modules/mob/living/basic/vermin/eggbug.bt.json

Show diff

diff

@TealSeer
TealSeer marked this pull request as ready for review July 30, 2026 19:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Github Remember that time they had to get us to send them a copy of the repo. Map Edit Thank you for your tile-placing service. It's always appreciated. Sound Oh god my ears, they bleed, did you normalise the volume? Sprites A bikeshed full of soulless bikes. Tools We pretend to be a real development community UI Make that round TGUI square.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Eggbug needs a JSON AI behaviour tree