## About The Pull Request
Puts one service plumbing constructor in bartender's wardrobe vendor
Lets plumbing constructors actually build the chemical teleporters
(before this only the sender could be made)
## Why It's Good For The Game
An alcohol factory isn't anything game changing. Not forcing the
bartender to wait for very niche research nobody will ever do to play
with it is a good thing
## Changelog
🆑 Cat
balance: Bartender's wardrobe vendor starts with a service plumbing
constructor
/🆑
---------
Co-authored-by: John Doe <markkavalerov87@gmail.com>
## About The Pull Request
We don't need to create a new reagent datum every time, plus this allows
us to transfer data between two containers, if reagents with data
somehow end up in a borg hypo.
## Changelog
🆑
code: Improved borg hypo reagent handling
/🆑
## About The Pull Request
Sometimes we notice our mistakes only after the
[PR](https://github.com/tgstation/tgstation/pull/93945) gets merged.
This one's one me sorry!!
- The exosuit RCD now uses charge again when not connected to silo link
- The deconstruction RCD sound fx plays again for the borg RCD & RTD
## Changelog
🆑
fix: exosuit RCD uses charge without silo link
fix: deconstruct sound fx plays for borg rcd & rtd
/🆑
## About The Pull Request
Updates the laser gun into four proper subtypes: Standard, Pistol, Rifle
and Carbine.
<img width="229" height="210" alt="image"
src="https://github.com/user-attachments/assets/12c03076-8ebf-4d87-8c98-6a8cce6821db"
/>
Current sprites are pending a palette change.
**Standard:** Functions as you would expect. Same as ever.
**Pistol**: Lower charge, 20 force, normal sized, recharges faster.
**Carbine**: 15 force, 26 mag, two round burst. Projectiles flight
slightly faster. Cannot dual-wield.
**Rifle**: 20 force. 40 mag. Two round burst. EMP resistant (not
immune). Projectiles fly slightly faster. Cannot dual-wield (not that
you need to).
All but the rifle can be sourced from cargo. You can also buy the sovl
version of the laser gun if you're especially nostalgic.
### Armory Changes
The Armory now can potentially spawn either pistols, carbines or
standard. The weighting leans closer to spawning carbines and standard
as opposed to pistols.
### Lore Dump
The laser line of weapons now all have lore. That rich, deep lore that
every game needs and is totally not important at all to the meat and
potatoes of the game. I'm paid by the hour ($0.00)
### Code Tidying
Lasers are old and a total mess code-wise so we've tidied up while we're
here.
## Why It's Good For The Game
Variety is the spice of life and also some of these weapons could have
used a face lift. Especially the laser carbine. Both functionaltiy wise
and appearance wise.
A bit of randomness in the armory means some rounds might have unique
outcomes compared to others. Sometimes, items in cargo don't see
particularly much use, so peppering in a few random potential deviations
can maybe nudge people to utilize variant gear on future rounds.
I'm obsessed with writing too much information. I blame Hatterhat.
## Changelog
🆑
add: Three variants of the laser gun; Carbine (replacing the existing
one), Pistol and Rifle! Find it (possibly) in your armory today!
balance: The armory laser guns might be different variants of the laser
gun, rather than always being the standard. The standard is the same as
ever, even if it looks different.
add: If you care, the sovl version is available as a goodie. And in the
hands of pirates...
spellcheck: Lore! LORE FOR LASER GUNS! LOOOORE! Examine laser guns
closely and you might learn more about them.
balance: The new set of laser guns come with brand new sprites.
/🆑
---------
Co-authored-by: StaringGasMask <62149527+Exester509@users.noreply.github.com>
## About The Pull Request
Makes slime potions, injector, and cookies use item_interaction.
generizices behavoir that potions typed under
`obj/item/slimepotion/slime/` only affect slimes, moves the handful of
potions that did not do that out of that type.
removed a random type casting for slime cookies to verify there human
before it checks for `TRAIT_AGEUSIA` as there is no reason other mobs
wouldn't be able to taste it.
do to the refactor you wont "bash" a lot of items if the interaction
fails.
## Why It's Good For The Game
<img width="439" height="68" alt="image"
src="https://github.com/user-attachments/assets/f398fb6c-8cbd-4092-9a64-8cccce87f8b6"
/>
## About The Pull Request
Nerfs Cyborg hypospray:
- +20% recharge time (from 10s to 12s)
- +50% charge cost (from 0.5 Joules to 0.75 Joules)
- -17% reagent volume (from 30u to 25u)
## Why It's Good For The Game
I love mediborg, but the hypospray needs to be nerfed. It overshadows MD
like crazy and allows you to stabilize upwards of three people by
yourself at once. In my opinion, one of two things needs to happen:
- Reagents recharge slower and have a lower max capacity
- The charge cost of reagents is increased substantially to be *closer*
(note: Not nearly at the same level) to a tool like the borg RCD, where
a great deal of spam will have a noticable impact on your battery.
Either of these, if not overzealous, would reduce mediborg's ability to
heal multiple critical people at once without majorly impacting their
ability to heal slightly injured people or a single critical patient.
This PR mostly leans to the first solution. I don't expect this PR to
majorly impact the viability, but it should be a good "jumping off
point" to test the waters.
## Changelog
🆑
balance: Nerfed cyborg hypospray across the board, notably refilling
chems 20% slower.
/🆑
## About The Pull Request
Increase Captain's Sabre damage (15 -> 20).
For reference, a toolbox deals 13 (*unarmored).
## Why It's Good For The Game
- Captain's Sabre deals 15 Brute - unarmored comparison: miner's
survival knife(15), chaplain's base nullrod(18)/chap claymore(18+30%
block), craftable spears (18-21), vibro(18+35% AP) - Not including the
sabre's assistant buff 'bane effect'.
- Exclusive one-time item, given to the most important person, Captain.
It's supposed to be a sharp, scary sword.
- Little reason to use as a melee for it's damage. Usually just used as
off-hand blockchance, since it's damage is too low.
- Bulky, requiring you to take up your whole belt (and the special
sheathe alongside it).
- Git blame: The base damage has been left untouched for I believe 9
years (/ever since it came out).
- There is a craftable sub-variant of the captain's sabre, although a
meme, this is the 'powercrepe' - it's damage is comparable to an
Esword(30), double that of the Sabre's 15. It also has increased armor
penetration and block chance.
- Melee is always risky (stun territory), and requires a high skill cap.
Should be rewarded for opting into into this playstyle.
- Sabre suffers melee cooldown. For a sword with such status, it
currently takes too long to be effective in practice.
## Changelog
🆑 ArchBTW
balance: Increase Captain's Sabre damage [15->20]
/🆑
---------
Co-authored-by: Aki Ito <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
## About The Pull Request
About what it says on the tin. I don't know how long it's been broken
for but now you can finally use this as the funny explosive it was
always meant to be.
## Why It's Good For The Game
haha guncase go boom
## Changelog
🆑
fix: Makarov gun/ammo cases (the ones with the evil red S and the
evidence disposal bomb) no longer require you to be stunned to arm the
evidence disposal bomb.
/🆑
Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
## About The Pull Request
This 1st has to be PR'd so the integration tests can point out all
wallmounts that could not find a support structure to mount on. I then
will do many map edits to align them onto the closest atom
Yes we no longer use wall mount but atom mounted component. All objects
that are mounted on windows/tables & fences now also fall off when
destroyed
It'll probably be a WHILE before I can fix all wall mounts. Long day.
Expect me to misalign many stuff to fix failing CI so make sure to
provide suggestions when possible
Improved wallmount code overall
- Fixes#93793
## Changelog
🆑
fix: fixes all incorrectly maploded wall mounts that aren't actually
hanging on any support structure
fix: objects mounted on tables, windows & fences also fall off now when
destoryed
qol: lights can be mounted on windows
qol: cameras can be mounted on windows
qol: buttons can be mounted on tables
refactor: improved how wall mounts interact with objects as a whole
report bugs on github
/🆑
## About The Pull Request
You can't put more than one of the same dna in the vault, because the
probe checks when it scans you that your dna isn't in the probe's
storage or the vault's storage. But it doesn't check other probes, so
multiple probes can have the same dna, and can all upload the same dna
to the vault for duplicate DNA.
This PR adds a check when you upload to a vault that throws out dna
already in the vault before it's counted.
## Why It's Good For The Game
Duplicate DNA is clearly not intentional
## Changelog
🆑
fix: You can no longer duplicate DNA for the DNA vault objective by
scanning yourself on several probes at once.
/🆑
## About The Pull Request
Husk report priority is now ling -> unknown -> burns rather than burns
-> ling -> unknown.
## Why It's Good For The Game
Stops doctors from wasting time by hiding sources
## Changelog
🆑 Melbert
qol: Other forms of being husked are now reported before burns
/🆑
## About The Pull Request
`/obj/item/food/sandwich/cheese/grilled` inherited
`/obj/item/food/sandwich/cheese`'s `make_grillable()` definition so the
product of grilling a grilled cheese sandwich was a grilled cheese
sandwich. Repaths grilled cheese to not be a subtype of cheese
## Why It's Good For The Game
grilled cheese sandwiches should burn eventually
## Changelog
🆑
fix: fixed grilled cheese sandwich grilling into grilled cheese sandwich
/🆑
## About The Pull Request
Moves all blood handling into procs and adds ways to easily hook into
basically every basic blood behavior.
This PR is not meant to fix every single case of janky blood logic in
the game. The main point and motivation of this PR is to add hooks for
blood behaviors. This allows for way more flexibility with blood code.
I am not going to fix our 3000 instances of single-letter vars, wacky
blood transfers, etc. This is just the groundwork for future PRs to
build off of, and by itself, should do very little to change blood
behavior.
I also added a rigorous set of unit tests for verifying that all of the
basic blood volume procs work correctly.
## Why It's Good For The Game
Previously, blood was handled via directly reading/writing
[var/blood_volume]. This was INCREDIBLY inconsistent and there was no
way to hook into it. This PR makes blood handling way more consistent,
which is great for all sorts of features.
## About The Pull Request
Turns out ear protection was subtracting the values rather than adding
them to the protection, and I didn't notice that much until later (now).
Also flashbangs don't have much of a bang (flashbangs without the bang
basically) when there's no air.
## Why It's Good For The Game
Also everyone should know that IRL sounds don't work well in vacuums cuz
there are no molecules to carry sound waves around. Unfortunately we are
not so refined about it in game, which is a fucking shame. This is a
very simplistic implementation than anything. The fact that I'm adding
it to this PR as well is because being in a vacuum gives you plenty of
sound protection now. It's about *some* consistency.
## Changelog
🆑
fix: Fixes ear protection equipment doing nothing.
balance: Detonating a flashbang in space or any environment with little
to no air no longer stuns anyone NOT on the same tile as the flashbang
with loud bangs. Flashing still works as intended though.
/🆑
## About The Pull Request
- Fixes shears being unable to be stored in the surgery tray
- Adds shears to the debug surgery tray on runtimestation
## Why It's Good For The Game
- Shears can be consistently stored like other surgery tools
- Saves time debugging bodyparts with runtimestation
## Changelog
🆑 LT3
fix: Shears now able to be stored in the surgery tray
/🆑
## About The Pull Request
when taking a pizza slice, the message displayed to other plays says
"You take a slice of...", this is because the messages were backwards in
the visible message proc
## Why It's Good For The Game
Immersion broken that's not me taking the pizza slice
## Changelog
🆑
fix: fixes pizza slices displaying the wrong message when taken
/🆑
## About The Pull Request
This PR makes the flyswatter a bonus damage a bug bane restricted to
basic mobs(Since moths and fly people have their own snowflake
handling.)
The result of this is that the 24 extra damage flyswatters cause against
giant spiders now applies to more mobs like:
* flesh spiders
* mega arachnids
It also buffs the damage per unit caused by bugkillers from 0.4 to 1 and
the max damage per application is also increased.
Giant spiders now have a tox mod of 3 and flesh spiders have a tox mod
of 4.
## Why It's Good For The Game
I hate flesh spiders, the main thing I dislike about them, other than
them being incredibly OP and stacked statwise, is that they are not
spiders at all and none of the anti-spider tech even works on them, not
even a little bit!
They killed me recently, chasing me into the janitors closet while is
was desperately swatting it with a flyswatter, to no effect
If they are going to have such a heavy spider themeing, you'd at least
except the flyswatter to work on them. intuitively it should, and it is
such a niche interaction, most players probably thinks, like me, the
bonus damage applies to bugs in genereral.
I also decided to check out pest spray and see if that does something.
Currently a pest spray blast does 2(!) damage per application to any
bug.
A total joke even against a normal giant spider, let alone a 90 health
rapidly regenerating flesh spider.
I suspect it has been heavily hugboxed to prevent players from using the
sandbox to kill moths with pest killer foam, so I opted to mainly
increase the tox mod of the basics in question rather than increasing
the main bugkiller damage.
A normal little pest killer blast will still be pretty bad, but if you
can find ways to apply a lot of reagent, pest killer can now maybe be
effective against giant spider and flesh spiders.
## Changelog
🆑
balance: fly swatter now has bonus damage against all basic bugs.
balance: bug killer reagents now do slightly more damage.
balance: spiders and flesh spiders have greatly increased tox
vulnerability.
/🆑
## About The Pull Request
The Iaito now no longer has enough throw speed while active to embed
naturally. It requires speed boosts of some kind to embed (and get the
juicy embed damage as a result)
Holy energy swords also now operate on this logic rather than having no
embed chance at all.
The Iaito now loses charge whenever it blocks successfully.
## Why It's Good For The Game
> Embeds
People were using them as like, horrifically lethal throwing weapons
rather than swords. Funny, but the damn things are blunt. The only way
it is embedding is if you force it in.
It felt lame that the holy esword couldn't ever get in on the embedding
action at all, so this provides some avenue of accomplishing it.
> Blocking
I actually intended to add this and totally fucking forgot.
## Changelog
🆑
balance: The surplus energy sword and holy energy swords now require
throw speed boosters to embed into people.
balance: The surplus energy sword now loses charge whenever it
successfully blocks an attack.
/🆑
## About The Pull Request
closes#93805
## Why It's Good For The Game
we actually have almost no emp logging at all lol, not even emp chem
reaction, so you barely can track potential griefer?
## Changelog
🆑
admin: EMP logs are improved, additionally chemical EMP reactions are
now logged.
/🆑
## About The Pull Request
When a camera update is triggered, it is instead added to a queue on a
background subsystem
An AI entering a camera chunk which is queued to update will force the
update immediately (bypassing the queue)
While the root problem of this is, ultimately, not addressed...
<img width="554" height="58"
alt="467828777-eff3f0e5-49d6-4997-b4d7-05eff6432155"
src="https://github.com/user-attachments/assets/c2d6a5f5-d958-463e-959f-116bd0dab475"
/>
...the change will ultimately prevent update spam from consuming all of
the server's resources - instead allocating updates to the backburner in
times of high server stress (or on multi-z maps)
## Changelog
🆑 Melbert
refactor: Refactored the way camera updates are handled to hopefully
reduce some lag. Report any oddities
/🆑
## About The Pull Request
1. Monkeys will only seek out food to eat if they are actually hungry,
rather than on an arbitrary cooldown.
2. Monkeys will no longer teleport-yoink food out of your hands.
Instead, they may get angry at you for stealing their food, and fight
you over it. The hungrier the monkey, the more likely they are to fight.
3. Monkeys will discard trash and empty glasses (on the floor) after
eating or drinking them.
4. Monkeys can target soup to eat
5. PunPun will no longer seek out drinks if they are hungry.
6. PunPun will now, if the bartender is absent and there are multiple
patrons around, attempt to find filled glasses or food to hand out to
patrons.
7. Several places that sought edible items no longer include drinking
glasses as edible items
<img width="656" height="185" alt="image"
src="https://github.com/user-attachments/assets/8b3a6ac1-ae2c-41a0-919f-b471ad93bb0f"
/>
## Why It's Good For The Game
PunPun shouldn't be yoinking glasses out of patron's hands - their
intended behavior is to serve drinks not steal them
Otherwise, monkey eating was a bit jank due to it being some of our
oldest ai code. I largely just brought it up to more modern ai
standards.
## Changelog
🆑 Melbert
add: If the bartender is absent, PunPun will serve filled drink glasses
to patrons that don't have one.
add: PunPun will now ignore filled drinks and items being held when
looking for stuff to eat.
add: Monkeys can eat soup.
add: Monkeys will no longer seek out food if they are not hungry.
add: Hungry monkeys might fight you over the food you are holding. The
hungrier the monkey, the angrier the monkey.
fix: Monkeys can no longer teleport items out of your hands to eat.
/🆑
so, the current `COMSIG_CARBON_SOUNDBANG` signal is kinda lame because:
1) it's relegated to carbon mobs
2) it means ear protection equipment actually has no effect when
`get_ear_protection` is called instead.
3) It's sent in more than one place in the code
So I replaced it with another signal, this one properly sent in
`get_ear_protection`, and therefore `soundbang_act` as well.
What's also lame is that the code for both `get_ear_protection` and
`soundbang_act` can be easily moved to the living type, and it wouldn't
make a huge impact aside causing simple mobs to be stunned very briefly
by flashbangs since they cannot be knocked down anyway. The less the
code is specific to a subtype, the easier it's to work with, the fewer
the paradigms etc.
Another lame thing is some of the code being kinda old. Also I wanted to
fix an issue with the shriek ling ability detailed in #93401. I wanted
to make the ability more consistent with how other sound-related
abilities work by making it use `soundbang_act`, but with an intensity
higher than any other feature so far, beside point-blank flashbangs
(holding on standing on one). I've also buffed the "ear protection"
offered by vacuums from 1 to 3, meaning nothing but point-blank
flashbangs will go through. Yes, this means shrieks are not good in a
vacuum because sound generally propagate in absence of molecules that
can transmit the vibration... at least IRL. The game's an approximation
anyway, but it's still inconsistent, like a fuckton of other things that
are even more outside of the scope of this PR. Well, at least it affects
simple/basic mobs too now.
## Why It's Good For The Game
This will fix#93401 and make some code less old and bad.
## Changelog
🆑
refactor: refactored code for ear/soundbang protection. Flashbangs and
other things can now affect simple/basic mobs as well, not just carbon
and occasionally silicons.
balance: Aliens are no longer impervious to soundbang_act. Still very
resistant to it due to their hardcoded ear protection
balance: How the resonant shriek changeling ability works is now
slightly more consistent with the ear/soundbang protection, meaning it
won't work well in a vacuum, but at least it works on simple mobs now.
fix: Everyone can now hear a changeling shriek, unless they're already
deafened or in a vacuum.
/🆑
## 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
fixed wrong mob in span message
## Changelog
🆑
fix: Reversed bear trap now correctly displays name of person who put it
on you.
/🆑
## 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
🆑
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.
/🆑
---------
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
## About The Pull Request
removes oxygen jetpack subtype and makes empty jetpack actual oxygen
## Why It's Good For The Game
because our empty jetpack wasnt actually empty and we infact had two
oxygen jetpacks?
## Changelog
N/A
## About The Pull Request
Completing a combat bitrunning domain grants 0.8 score bonus per player
that escaped without being hit
## Why It's Good For The Game
I figured it be a fun challenge to try to nohit these things, especially
the megafauna ones. For a bonus.
## Changelog
🆑 Melbert
add: Nohitting a combat bitrunning domain rewards a higher score.
/🆑
## About The Pull Request
Most screen alerts that use the midnight hud style no longer have the
button baked in their icon. Other screen alerts with their own
background or shape (robot and mech alerts, atmos, heretic buffs or
debuffs etc.) are not affected. Also updated a couple sprites but didn't
spend too much time on them. Mostly reusing existing assets.
Montage of how the alerts look on threee different hud styles
(Operative, Trasen-Knox, Detective, ALSO I FIXED THE BUCKLED ALERT
ALREADY):
<img width="293" height="323" alt="image"
src="https://github.com/user-attachments/assets/3a2b972b-aa5a-4c27-a454-c8c39acf6e20"
/>
It looks only a smidge iffy on the syndicate since the top and bottom
borders aren't layered over all the overlays, but it isn't something to
worry about in this PR.
## Why It's Good For The Game
Screen alerts always had the midnight hud button baked in their icon
states (now overlays), which completely disregard the player's hud
setting, much unlike action alerts buttons. Melbert has also said that
it'd be nice if the code for action buttons could also be used in screen
alerts and viceversa, to slim things down. That's obviously not what I'm
doing today, but having most of the screen alerts already without the
baked background will surely help if we ever pursue that objective.
## Changelog
🆑
refactor: Refactored screen alerts a little. Most should now fit the
player's hud style. Report any issue.
imageadd: A few screen alerts have been polished/updated a little.
/🆑
## About The Pull Request
- Closes#93497
'Vend a trays' are not subtypes of machines but structures i.e. their
path is `/obj/structure/displaycase/forsale`. You can't create
structures with machine circuit boards so they runtime like hell
You can still create an Vend a tray by
- Creating a "display case chassis" with 5 wood
- Inserting a card reader in it
It's just this broken way of designing the tray has to go
## Changelog
🆑
del: Removes circuit board recipe for vend a tray. Use 5 wood to create
a "display case chassis" and insert a card reader to create the tray
instead
/🆑
## About The Pull Request
Exactly what it says on the tin. When you're forging an Agent ID if
you're a human your age will autofill. If you aren't a human (tested as
a gorilla) it will autofill the minimum age, which is what it currently
always does. This just makes forging quicker, you probably aren't using
an Agent ID to pass off as someone way older than yourself.
Also, when you inspect someone and check their displayed ID it'll show
you the job they entered while forging it and not the job that their
trim is associated with. I'm assuming this fixes an oversight because
you can already rename the ID to display a custom job, the inspection on
examine feature just lets you ignore this for some reason.
<img width="373" height="238" alt="Screenshot 2025-10-20 005151"
src="https://github.com/user-attachments/assets/38345d4b-65cf-4d01-bd88-015321687810"
/>
This lets you display jobs that don't exist. If I tried this on live
servers the job would be listed as "Admiral" while the ID's name would
still be "Nyaria Luma (Nuclear Disk Inspector), making it a dead
giveaway that the ID is fake.
## Why It's Good For The Game
Qol, also enables funny gimmicks.
## Changelog
🆑
qol: Agent IDs autofill the user's current age if they have one
fix: Agent IDs can display custom jobs upon close examination
/🆑
---------
Co-authored-by: Fghj240 <fakeemail@notrealemail.com>
## About The Pull Request
Adds lore to the stun baton and the contractor baton.
## Why It's Good For The Game
It's fun to include world snippets in the various notable items found in
the game world. The lore element basically exists to enrich the world,
after all.
## Changelog
🆑
qol: Adds lore text to the stun baton and contractor baton, detailing a
bit about their dynamic as tools of Nanotrasen and Cybersun Industries
respectively. Examine them closely to learn more.
/🆑
## About The Pull Request
It works now, I couldn't find what the problem was though.
## Why It's Good For The Game
Fix
## Changelog
🆑
fix: The syndicate rebar crossbow quiver's action button now functions
correctly.
/🆑
---------
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
## About The Pull Request
[previous PR](https://github.com/tgstation/tgstation/pull/93290)
now command ID (silver & gold IDs) priority remain unchanged
example 1
<img width="435" height="105" alt="Screenshot 2025-10-22 112002"
src="https://github.com/user-attachments/assets/44868d9c-7487-4a9a-b0d9-c94ff4182f92"
/>
before
<img width="87" height="87" alt="Screenshot 2025-10-22 111655"
src="https://github.com/user-attachments/assets/a4223d03-f03f-43f0-bb54-fc8795fd1fab"
/>
^ if you were to remove engi id from the wallet above, it will show
robotics id (instead of secoff)
^ before this PR, engi IDs even took priority over wardens
after
<img width="88" height="90" alt="Screenshot 2025-10-22 112010"
src="https://github.com/user-attachments/assets/a16d508c-4819-4d0a-8316-1372a39a25ff"
/>
example 2
<img width="426" height="111" alt="Screenshot 2025-10-22 111714"
src="https://github.com/user-attachments/assets/fd5b563a-e454-4e0e-be7b-7cfbd9507ca3"
/>
before
<img width="87" height="87" alt="Screenshot 2025-10-22 111655"
src="https://github.com/user-attachments/assets/a4223d03-f03f-43f0-bb54-fc8795fd1fab"
/>
after
<img width="85" height="85" alt="Screenshot 2025-10-22 111646"
src="https://github.com/user-attachments/assets/d6f35891-a29f-4d93-bc4f-899064fa6807"
/>
example 3
before the pr, a geneticist id would take wallet priority over a chemist
id (for instance)
priority used to tally up how many 'command/secure access' areas on the
ID, rather than simply sort order.
for reference, these were the areas:
`ACCESS_AI_UPLOAD, ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_ARMORY,
ACCESS_CHANGE_IDS, ACCESS_COMMAND, ACCESS_EVA, ACCESS_KEYCARD_AUTH,
ACCESS_MINISAT, ACCESS_RC_ANNOUNCE, ACCESS_TCOMMS, ACCESS_TECH_STORAGE,
ACCESS_TELEPORTER, ACCESS_VAULT`
ACCESS_FLAG_COMMAND -> ACCESS_FLAG_PRV_COMMAND
so now it only checks if you have specifically head of staff access
instead
## Why It's Good For The Game
- player friendly
- previously lead to wallet tediousness and unpredictability
- make the core functionality and purpose of wallets simple and easy to
understand
- the previous functionality was more unpredictable and confusing when
considering low pop granting extra access to IDs
## Changelog
🆑 ArchBTW
qol: Changes Wallet Priority: Standard ID cards now go in order
properly: from left to right
/🆑
## About The Pull Request
- Fixes#93392
- Replaces all custom callbacks with call to `deconstruct()`. The
callbacks weren't necessary as it did the same thing as `deconstruct()`
but in an round about way
- Removed duplicate `Initialize()` procs and the params `building` &
`ndir` from all wall mounts. Makes everything cleaner
## Changelog
🆑
fix: wall mounts placed by player now falls off when the wall they are
mounted on is destroyed
code: cleaned up wall mount code
/🆑