Skip to content

Upstream 15.11.25#44

Merged
Bruh-24 merged 592 commits into
Alliance-codeBase:masterfrom
Artemchik542:master
Nov 16, 2025
Merged

Upstream 15.11.25#44
Bruh-24 merged 592 commits into
Alliance-codeBase:masterfrom
Artemchik542:master

Conversation

@Artemchik542

Copy link
Copy Markdown
Contributor

Месяц ожиданий

tgstation-ci Bot and others added 30 commits November 2, 2025 14:43
## About The Pull Request

New sprites for the turret controls!

<img width="303" height="259" alt="Снимок экрана 2025-11-01 143530"
src="https://github.com/user-attachments/assets/2efbbfae-e4d1-49d1-b49e-35edb2485e10"
/>

<img width="297" height="291" alt="Снимок экрана 2025-11-01 201328"
src="https://github.com/user-attachments/assets/2d405509-caf6-494f-b94b-41079c0c6b38"
/>

Moved the controls code into their own file

## Why It's Good For The Game

Better sprites, more in-style with other control panels

## Changelog

:cl:
image: New sprites for turret control
/:cl:

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
## About The Pull Request

Reworks Sleeping Carp significantly.

### Returning Moves: Stomach Knee and Wrist Wrench

Stomach Knee, much like the previous incarnation, causes the victim to
be winded and stunned, though this version only briefly stuns the
victim. It also deals stamina damage and silences the victim for five
seconds. It is performed by a Grab Punch combo. Named Kraken Wrack.

Wrist Wrench, much like the previous incarnation, disarms the victim of
their held items. It also potentially dislocates or breaks their arm, as
it rolls with a very high wound chance. It is performed by a Harm Grab
combo. Stole Gnashing Teeth's name.

### Gnashing Teeth (as it was) is gone

This move didn't do very much at all other than being a harmful punch
with more damage. Throwing a bunch of normal punches won't result in
anything now.

### Harm Punches are no longer have special overrides, but Sleeping Carp
does grant perfect accuracy.

Rather than use a bespoke override, Sleeping Carp now merely uses your
normal unarmed punch for its standard normal punch. However, rather than
leave things to chance, Sleeping Carp grants you perfect accuracy with
those standard punches.

### Grabs are treated as one stage higher

Now that martial arts can directly interact with grab state, as well as
some prior changes to how effective compared to actual grab state is
determined, I've reintroduced Sleeping Carp's stickier grabbing by
making it so that they elevate the effective grab state by one stage.

This is not instant aggro-grabbing like they used to have. This just
makes it so that if they try to resist out of a passive grab, they may
fail as though it was an aggressive grab, but it won't stun them until
it is elevated to a proper aggressive grab.

### What you wear is important for determining the effectiveness of your
Attack Dodging (and attack dodging is broader)

Sleeping Carp's projectile dodging and now attack dodging is based on
whether or not you're 'on theme'. That is, if you are wearing nautical
themed clothing and other factors.

At a baseline, Sleeping Carp has perfect projectile dodging and no
melee/unarmed avoidance.

To improve your chances, you need to;

- Wear martial arts or carp themed clothing on your head. (20% if one is
present, but it only counts one)
- Wear martial arts or carp themed clothing on your chest (20% if one is
present, but only counts one)
- Wear appropriate footwear, like sandals. (20%)
- Be a literal carp. (75% flat)
- Mutate yourself into a carp person. (20%)

However, your chances of avoidance diminishes if:
- You wear armored clothing on your head and chest. (based on Melee
armor)
- While lying on the floor (30%)

Holding objects diminishes your chances as well, This is based on the
weight of the object, and whether or not the object is wielded. Normal
sized objects, for instance, are -30%, and would be -60% if wielded.

It will not diminish your chances if:
- The object is Small or smaller.
- The object is an abstract object or hand grafted object and it doesn't
have block chance.
- The object is in the exceptions list.
	- **The exception list is as follows:**
	-  Nunchaku (this is spies exclusive)
	- Bo Staff (the unobtainable one)
	- Monk's Staff (the chaplain's null rod)
	- Bamboo staff
	- Cane (like, walking cane)
	- Knives
	- Bolas
	- Toolboxes
	- Spears
	- Shortswords (the ones from the medieval pirates)
	- Nullblade (it's a shortsword)
	- Extendohands (because lol)
	- Mops
	- Push Brooms
	- Baseball Bats
	- Claw Hammers
	- Carp plushies.

<details>
  <summary>A list of appropriate clothing</summary>

Headwear

- Strange Bandana (which come in the kit)
- Maid headband
- Fancy Hairpin
- Carp Mask
- Carp-skinned Fedora
- Carp Costume Hood (this comes with the costume)
- Carp Costume Spacesuit Helmet (as above)

Chestwear

- Martial Gi (which come in the kit)
- Carpskin Suit
- Carp Costume
- Carp Spacesuit
- Maid Outfit
- Kimono
- Yakuta
- Trenchcoats
- Geisha Outfit
- [Swag Outfit](https://www.youtube.com/watch?v=l6DmoPlq3S4)
- Eastern Monk's Outfit (the chaplain outfit)
- Buttoned down line of clothes
- Blazer jacket
- Lawyer jackets


Footwear
- Sandals (which come in the kit)
- Swag Shoes
- Laceup Shoes
  
</details>

As an example of being OFF theme, being in a full security outfit would
reduce your avoidance chance by a whopping 80%.

You avoid attacks while in combat mode, much like projectile deflection
does on live. You can only get up to a 75% chance melee/unarmed
avoidance.

## Why It's Good For The Game

> Returning Moves

People quite liked some of the older moves, and there weren't as many
dials around at the time to make them particularly more interesting when
I first removed them. We were aiming for an out and out stun removal as
a whole codebase, but largely we're ended up still being comfortable
with minor stuns here and there. Stomach Knee can be one of them.

Wrist Wrench was something I realized I could reintroduce with literal
limb breaking thanks to wound changes. Arm dislocations/breakages are
surprisingly rare as a wound type, and since it is an attack on a
specific arm, not quite as good for bringing someone to death, but quite
good for leaving someone with a maiming wound they now need to fix to
keep pursuing you. Highly useful for those stubborn stun immune targets,
who Sleeping Carp struggles to fight. As in, they can't really fight
them.

> Grab Stage

A bit of my work and a bit of Melbert's has resulted in this being a lot
more reasonable to reintroduce as a benefit. The original instant
aggro-grabbing was definitely very oppressive, since it was a
pseudo-hardstun that lead into a hardstun. Now this is a bit softer by
comparison, and surprisingly quite important. I think the loss of good
grabbing ended up filtering a lot of folk somewhat hard.

> Removal of the override

I was really taken with Spider Bite using baseline punches as the
groundwork for the martial art and I wanted to work into that. Not only
does it mean becoming a carp person is actually a great idea beyond the
avoidance mechanic, but also for your actual basic punches improving. It
just in general feels like it opens up possibilities in the game world
to experiment and the design of martial arts in general. We should make
more martial arts work like this.

> Avoidance

My original rework had one glaring flaw that continues to haunt it to
this day. Defense stacking on Sleeping Carp is ridiculous. Layering
defense upon defense makes the one particular immunity it grants,
projectile immunity, all the more oppressive. Hiding behind high block
and high armor makes you a menace.

The end result is that more people utilize Sleeping Carp not for the
martial art part, but for the projectile immunity part, usually using
something else instead like a baton.

This rubs me the wrong way. You would think and hope that the reason
people take the martial art is to be a goofy martial artist in space.

So, I'm implementing an idea I knew I could never pull off in the
framework at the time.

I'm implementing Unarmored Defense, bitch.

(I was totally also not inspired by Payday 2 in any fashion, nope, not
at all)

I like the idea of forcing a choice between the goofy outfit that gives
you bonuses over just getting the biggest armor you can find and
turtling like a motherfucker. And I want people to focus on the martial
arts and benefit from the martial arts when you're specifically unarmed.

Maybe right now some of the restrictions are a little severe, so if
anyone has any opinions, lemme know.

## Changelog
:cl:
balance: Completely reworks Sleeping Carp, again.
balance: The return of Stomach Knee (Kraken Wrack) and Wrist Wrench
(Gnashing Teeth). Time is a flat circle.
balance: Sleeping Carp has better grabs (no instant aggro grabs)
balance: Sleeping Carp integrates normal unarmed punch by not overriding
your normal punches.
balance: Sleeping Carp's deflection weakens if you wear armored headwear
and body armor, or while carrying objects. However, by wearing martial
arts (or carp) themed outfits, you can improve your defenses instead,
allowing you to not just dodge bullets, but also incoming melee attacks.
balance: Some objects are exempt, like staff weapons (such as mops or
the monk's staff), short blades (like knives and shortswords), club-like
(baseball bats and toolboxes), or thematic (like extendo hands and carp
plushies)
balance: You can also get these improvements by being a literal carp or
being a carp person.
/:cl:

---------

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
## Ragghhh I will suck your blood

Replaces a lot of crappy placeholder sprites used by vampires with new
ones. Also renames the vampire tongue to "vampire teeth" and adds
descriptions to the teeth and heart.

Vampire teeth: 
<img width="295" height="278" alt="image"
src="https://github.com/user-attachments/assets/2a776371-1073-48ed-8edf-3a2b923ea4c8"
/>

Vampire heart:
<img width="317" height="316" alt="image"
src="https://github.com/user-attachments/assets/a004c0d7-4bc3-40a6-a7c3-da12b2e25cf1"
/>

Blood drain ability:
<img width="103" height="93" alt="image"
src="https://github.com/user-attachments/assets/049a4ed0-f5fc-43b3-85a2-a2e59560d62e"
/>
## Why It's Good For The Game

<img width="350" height="704" alt="image"
src="https://github.com/user-attachments/assets/8b5571c9-07b2-4abd-af83-7b8d4eaa034e"
/>

## Changelog
:cl:

add: Vampire tongues are now vampire teeth.

image: Vampire hearts and tongues have unique sprites. Also their one
ability icon too.

/:cl:

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
## About The Pull Request

fixed wrong mob in span message

## Changelog

:cl:
fix: Reversed bear trap now correctly displays name of person who put it
on you.
/:cl:
## About The Pull Request

- Fixes synthflesh feedback messages
- When applied via touch, synthflesh isn't stored in the body and needs
a different set of feedback messages compared to when applied by
patch/gel.
- Applies a cooldown on the touch application message, so that if
someone builds a shallow pool of synthflesh the chat isn't spammed every
tick

## Why It's Good For The Game

Fixes tgstation/tgstation#93582

## Changelog

:cl: LT3
fix: Synthflesh feedback messages properly reflect the method of
application
fix: Synthflesh feedback messages won't spam the chat log
/:cl:
## About The Pull Request

Title

## Why It's Good For The Game

Want to use absolute minimum flag but don't want the server to close
when I exit dreamseeker

## Changelog

N/A
## About The Pull Request

This was an error from
tgstation/tgstation#93676, they are meant to be
replaced (which happens in the line below the deletion one).
## About The Pull Request

Adds `GLOB.unrecommended_builds`, for byond build which are broken for
the end user in some way, but not in a way that warrants outright
blacklisting players from connecting with them

Looks like this (Ignore the number I changed it for testing purposes) 

<img width="493" height="267" alt="image"
src="https://github.com/user-attachments/assets/d31636e8-a106-4d13-a8fa-aee6a50c6d27"
/>

Uses this system for the new byond build, 1670+, which breaks text
rendering

Also adds 1670+ to the list of builds to warn on compile

## Why It's Good For The Game

1670 broke the compilation step, probably permanently

Whether we will fix this or flip a pragma or w/e remains to be seen, but
until then we can tell people to compile an earlier version

1670 also broke the user experience, causing map text to show up as
really big. This will be fixed in an upcoming version
<https://www.byond.com/forum/post/2983385>

## Changelog

:cl: Melbert
qol: If you are on Byond 516.1670+, you will get an alert on login that
your build is less than functional
/:cl:
## About The Pull Request

Damaged brains turns partially grey - the more damage, the more grey

<img width="181" height="148" alt="image"
src="https://github.com/user-attachments/assets/eee4e37e-46dd-4165-b1d6-468b967a1ba9"
/>

Top brain is fully damaged, left brain is undamaged, top left stool is
the weapon I used to damage the brain

## Why It's Good For The Game

Reflects the description visually

## Changelog

:cl: Melbert
qol: Brains actually turn grey as damage progresses 
/:cl:
…es (with bonus neat repathing) (#93704)

## About The Pull Request

/area/station/ai_monitored's behaviour was isolated into a component,
`/datum/component/monitored_area`, which itself uses
`/datum/motion_group`s to query cameras. Functionally, it (should) work
identically to the old implementation. I'm sure that behaviour could
have been further cleaned up, camera code is quite dreadful, but it's
better to focus on isolating the behaviour first. Baby steps.

Areas that want to opt into monitoring can set `var/motion_monitored` to
TRUE (this approach was taken to make subtyping easier).

The following non-AI areas were changed:
- /area/station/ai_monitored/security/armory ->
/area/station/security/armory
- /area/station/ai_monitored/command/nuke_storage ->
/area/station/command/vault
- /area/station/ai_monitored/command/storage/eva ->
/area/station/command/eva

All other `/area/station/ai_monitored` subtypes were repathed into
`/area/station/ai` and cleaned up in a way that I thought made logical
sense. It is **much** more readable now. For example:

- /area/station/ai_monitored/turret_protected/aisat ->
/area/station/ai/satellite
- /area/station/ai_monitored/command/storage/satellite ->
/area/station/ai/satellite/maintenance/storage
- /area/station/ai_monitored/turret_protected/ai ->
/area/station/ai/satellite/chamber
## About The Pull Request

Closes #93643

## Changelog
:cl:
fix: Fixed burnt out cyborg flashes triggering flash VFX
/:cl:
## About The Pull Request

The check was flipped, oops.

Closes #93709

## Changelog
:cl:
fix: Fixed Spray Tan not doing anything until ODd
/:cl:
…ve (#93749)

## About The Pull Request

Closes #93746

## Changelog
:cl:
fix: Fixed transfer animations playing even when the item has failed to
move
/:cl:
## About The Pull Request
The statue abused abstract types to prevent itself from being carved,
duh.
Also changed the wording to not call generic material-specific statues
abstract

Closes #93747

## Changelog
:cl:
fix: Fixed elder atmosian's statue showing up as abstract
/:cl:
## About The Pull Request

You can now use any melee weapon to bash shields with

<img width="312" height="216"
alt="{013D1FE3-ED14-4743-AF45-857740F702C0}"
src="https://github.com/user-attachments/assets/6214eea5-91e8-49f5-8956-f0b235a305bf"
/>

## Why It's Good For The Game


![oypwozqu7vze1](https://github.com/user-attachments/assets/32acce24-126d-454c-a353-36bbd177ad2d)

more *menacing* moments

## Changelog

:cl:
add: You can now bash shields with any melee weapon
/:cl:
tgstation-ci Bot and others added 19 commits November 13, 2025 18:20
## About The Pull Request

Arithmetic circuit components are given the ability to calculate powers.

## Why It's Good For The Game

This is necessary for certain calculations like finding the distance
between two points, allowing greater creativity in circuit design.

## Changelog
:cl:
add: Added powers to arithmetic circuit components.
/:cl:
## About The Pull Request

untrue: "take 5 hits"
grammar

## Why It's Good For The Game

correction

## Changelog

:cl: ArchBTW
spellcheck: unfathomable curio "take 5 hits" && grammar
/:cl:
## About The Pull Request

title

## Why It's Good For The Game

well to_chat feedback supposed to start with capital letter

## Changelog
:cl:
spellcheck: Flash message now starts with a capital letter.
/:cl:
## About The Pull Request

When take a ghost role from a ghost role sleeper, if you became a ghost
by observing you will be offered the opportunity to spawn in as your
static. Obviously if you joined the round normally or have already
spawned in as a ghost role you won't be prompted. No cloning yourself
allowed.

Not every ghost role allows this, and you won't get the prompt if your
static is a race that breathes plasma (basically just those purple
skeletons) because that opens up a giant can of worms. However, you
_will_ get the prompt if you are playing as any other race. (I'm pretty
sure every ghost role has power for ethereals besides ashwalkers but
that's not one of the ghost roles that lets you spawn as your static for
super obvious reasons)

Some ghost roles, like pirates, will allow you to spawn in as your
static but overwrite your name.

## Why It's Good For The Game

Felinid comms agent felinid comms agent felinid comms agent felinid
comms agent felinid comms agent felinid comms agent felinid comms agent
felinid comms agent felinid comms agent felinid comms agent felinid
comms agent felinid comms agent felinid comms agent felinid comms agent

## Changelog
:cl:
add: You may now spawn in as your static when picking a ghost role
/:cl:

---------

Co-authored-by: Fghj240 <fakeemail@notrealemail.com>
## About The Pull Request

Fixes some incorrectly capitalized, poor grammar writing I put in with
the RETA airlock examine.

## Why It's Good For The Game

Fix, clarity

## Changelog

:cl:
spellcheck: Fixed some RETA examine text
/:cl:
@Bruh-24 Bruh-24 merged commit 0e35ede into Alliance-codeBase:master Nov 16, 2025
12 of 27 checks passed
Bruh-24 pushed a commit that referenced this pull request Apr 15, 2026
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.