## About The Pull Request
### Trimming
So as per #89165, paper below 5000 characters was getting cut off
despite being below the cap.
This seems to have been happening because of the following code:
https://github.com/tgstation/tgstation/blob/d8774f4c4176f09463457f04905570923b27b3de/code/modules/library/book_info.dm#L44-L50
Paper uses the raw text for its count and handles pen
color/font/boldness/such tgui-side, but books first expand that html
dm-side AND then encode it, significantly increasing the amount of
characters before trimming occurs.
This, obviously, leads to characters getting cut off!
Buuuuuuuut not trimming it at all isn't perfect. We know paper *should*
trim it, but we also know that's not gonna be all paper. There's gonna
be paper where it's inexplicably past the 5000 characters cap.
So, instead we use a second more lenient book limit, right now defined
as 2x the paper limit, which should stop the worst cases without
breaking for the best cases.
### Newlines
Second bit! Paper stores each writing attempt as a separate thing, but
turning them into books collapses these:
https://github.com/tgstation/tgstation/blob/d8774f4c4176f09463457f04905570923b27b3de/code/modules/library/book_info.dm#L46-L48
This, however, doesn't account for the part where paper tgui inserts
newlines between these inputs:
https://github.com/tgstation/tgstation/blob/d8774f4c4176f09463457f04905570923b27b3de/tgui/packages/tgui/interfaces/PaperSheet/Preview.tsx#L317-L318
Which book tgui doesn't! Cause it's just one big glob of text, not
separate entries.
Which in turn means paper written with multiple entries just... has all
of these put on the same line, which sucks.
So we make the paper entries collapsing actually add newlines the same
way, fixing our issue.
### Nitpicks
...We also change the `to_raw_html(...)` proc to re-use the same
`<font>` tag. Regrettably, we can't use the exact same setup as
paperwork uses on its tgui side because it uses `style` which would get
sanitized out, but there's no reason for us to double the amount of
characters behind the scenes by using multiple layered `<font>` tags for
no reason.
***Ideally*** I feel books and paper should just use the same tgui
systems, but I sure as hell wouldn't know how to do that without
breaking everything including old books, with how fickle paperwork code
already is.
## Why It's Good For The Game
Fixes#89165.
fix jank 👍
It *really* sucks when you make a book below the 5000 character cap, but
it somehow hits the character cap and gets trimmed anyway. I feel the
books using static ui data should avoid this being horrible.
## Changelog
🆑
fix: Books no longer get trimmed below the paper length limit.
fix: Books made using paperwork created with multiple inputs no longer
put all that text on the same line.
/🆑
## About The Pull Request
I forgot to add an ``inv_flag`` for when it's used in hand to flip so
it'd always keep the wearer's identity hidden even if their face were
pretty much exposed
## Why It's Good For The Game
Fixes an oversight of mine, the mask pretty much reveals your face when
flipped so it shouldn't keep the wearer's identity hidden
## Changelog
🆑 Hardly
fix: Kitsune mask no longer keeps the user's identity hidden while it's
flipped
/🆑
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
## About The Pull Request
Lawyers, Quartermasters, and Heads of Personnels can now purchase a
`"Briefcase Embedded Firearm Trigger"` from the traitor uplink for 4 tc.
The briefcase looks like a normal, unassuming briefcase - But when any
weapon is placed inside, you gain the ability to "fire" the briefcase,
which *actually* fires the weapon.
Only the first weapon found is fired, even if it's empty.
So while you CAN put 5 pistols inside, you'd have to cycle them in and
out manually.
This works with *any* weapon that can fit inside the briefcase, which
essentially restricts it to pistols and some laser weapons.
*No*, sniper rifles won't work in the briefcase. (You can't use it to
bypass weapons that require two hands.)
*Yes*, you can also handcuff the briefcase to your wrist as normal. (Who
knows what this will allow.)
---
Also purchaseable is an 8tc `"Briefcase Embedded Firearm (Combo Deal)"`,
which comes pre-loaded with a Makarov and 0 magazines.
This variant is also available to all Spies as a medium difficulty
reward.
---
Additionally I changed the boot-dagger's examine tell to only show to
people holding the item.
When I was implementing the briefcase gun I made the examine tell only
show while held and I thought "well, the boot-dagger should follow the
same logic". They're meant to be stealth objects so being able to figure
it out from across the room feels weird.
## Why It's Good For The Game
This was a random idea someone threw out that I thought fit the vibe and
gameplay of traitors and spies really well.
It's a very espionage-y idea, very James Bond.
It will definitely catch a lot of people off guard. It basically allows
the Lawyer to walk around with a pistol or revolver drawn at all times.
I'm a bit worried it'll be too potent combined with handcuffs (nodrop
revolver?), but the Lawyer doesn't get many Ws so maybe it's fine.
## Changelog
🆑 Melbert
add: Traitor Lawyers, Quartermasters, and Heads of Personnels can now
purchase a "Briefcase Embedded Firearm Trigger" from the uplink for 4tc
- a briefcase that allows any weapon stored within to be fired by
"firing" the briefcase itself. Weapon sizes are restricted to whatever
fits in a briefcase, meaning it practically only works with pistols and
some laser weapons. It has a subtle examine tell that only appears while
being held.
add: Also available for 8tc is a combo deal that comes pre-loaded with a
Makarov. This can also appear as a medium Spy reward.
balance: The Spy item "boot dagger"'s examine tell now only appears if
you're examining them WHILE holding them.
/🆑
<!-- 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
Converts the xenomorphs in the maintsrooms to be non reproductive, non
evolving and non hostile to the crew
## Why It's Good For The Game
Gateway antagonists are (in general) poor a poor idea.
## Proof Of Testing
Tested it, and it works. (if its still a branch that means it doesnt
work)
## Changelog
cleared out a bit of space in front of the tavern called the "edge of
the universe" so that its not blocked along with moving 1 shaggoth and 1
hound of tindalos so the turrets dont just shoot endlessly (as often)
made the xenos not hostile to crew (neutral technically so if you shoot
them they can shoot you)
🆑
balance: Made the maintsrooms xenomorphs friendly
/🆑
<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 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. -->
<!-- By opening a pull request. You have read and understood the
repository rules located on the main README.md on this project. -->
---------
Co-authored-by: Alexis <catmc8565@gmail.com>
Co-authored-by: gavla <96078776+shayoki@users.noreply.github.com>
## About The Pull Request
<img width="245" height="468" alt="image"
src="https://github.com/user-attachments/assets/e7924766-cf9a-4ca0-b3fb-a668d3d2cec0"
/>
## Why It's Good For The Game
shouldve been removed with the first pr
## Changelog
Removes everything for the caves and snowdin away missions except for
the original caves area because i used that in heretic, whoops.
not player facing there should be no CL
## About The Pull Request
- A body that revives as a zombie but has no player (IE never had a
player or the player DNR'd) becomes is ghost controllable: A poll is
immediately offered, and the body itself appears in the spawners menu.
- Zombies created from **mindless** mobs (such as monkeys or roundstart
morgue cadavers) are **Mindless Zombies**, a subtype of zombie which is
weaker (heal slower, move slower, not guaranteed to infect on hit)
## Why It's Good For The Game
- When zombies get rolling, there will no doubt be a few players that
DNR or a few DNR'd bodies that get infected, and it results in a lot of
zombies without players standing around, which is kinda lame. Giving
ghosts the options to take over seems like a no-brains-er to me, keeps
the horde a bit active even if some get decapitated.
- However, one big problem this allows for is that it provides a clear
vector for people spamming zombies out of hu-monkeys. Thus I changed
mindless bodies (bodies which never had a player, even a DNR'd one
(hu-monkeys)) to be easier to handle and far less deadly. That way
traitors are still encouraged to infect players over npcs.
## Changelog
🆑 Melbert
add: If a playerless body (DNR'd or otherwise) is raised as a zombie,
ghosts are given the ability to take control of it
add: If a body that never had a player control it is risen as a zombie,
they are risen as a weaker "mindless zombie" (moves and heals slower,
deals less damage, infection is not guaranteed on hit)
/🆑
## About The Pull Request
Removes a lot of cargo cult copypasta with
`default_deconstruction_screwdriver`, `default_deconstruction_crowbar`,
and to a lesser extent `default_pry_open` and
`default_change_direction_wrench`
ALL you gotta do now if you want your machine to have an openable panel
or be deconstructible with a crowbar is this
```dm
/obj/machinery/dish_drive/screwdriver_act(mob/living/user, obj/item/tool)
return default_deconstruction_screwdriver(user, tool)
/obj/machinery/dish_drive/crowbar_act(mob/living/user, obj/item/tool)
return default_deconstruction_crowbar(user, tool)
```
`default_deconstruction_screwdriver` no longer directly sets
`icon_state`, requiring the user pass in the open and closed icon
states. Now, it just calls `update_appearance`, and everything that once
passed the icon state now uses `base_icon_state` and
`update_icon_state`.
## Why It's Good For The Game
Many of these procs were terribly overcomplicated and difficult to work
with for what should be a relatively simple action
Streamlining it makes it easier for coders to understand and work with
## Changelog
🆑 Melbert
refactor: A majority of machines had their screwdriver/crowbar/wrench
interactions rewritten, report any oddities like being unable to open a
machine's panel or deconstruct a machine
/🆑
## About The Pull Request
Add the `ooc_colour` var to a `client`. admins can feel free to set it
to whatever. It will even override other admins ooc colour preferences!
GO be dickheads to each other!
## Why It's Good For The Game
Admin freedom is always good.
## Changelog
🆑
admin: admins can more freely mess with ooc colours
/🆑
Co-authored-by: Josh Powell <josh.powell@softwire.com>
## About The Pull Request
Title. I saw someone shaving Ian and it annoyed me it was using a welder
sound.
## Why It's Good For The Game
Yo ass ain' welding.
## Changelog
🆑
sound: Shaving Ian will no longer sound like you're using a Welder.
/🆑
## About The Pull Request
Gives Space Dragons an ability that lets them find out in what direction
an area of their choosing(from within their rift summon locations) is.
The ability acts very similarly to the heretic's living heart ability,
except it will provide direction even if you are above or below your
intended area.
## Why It's Good For The Game
It'd be nice to be able to find areas that you don't know the specific
location of due to a vague name or something, but the primary utility of
this is that Space Dragons spawn in space, away from the station,
without sight to the station. If they go the wrong direction, they'll be
stuck in deep space without a hope of navigation. This is a lesser
problem in real space, because you can navigate to some degree via the
background stars, but on Icebox you have precisely zero information and
precisely zero way to gain any besides simply stumbling upon the
station. This sucks, especially when you only have five minutes to find
the station, find a suitable location on the station, and place your
rift there.
## Changelog
🆑
add: Space Dragons have a new ability to locate the areas they need to
create rifts in.
/🆑
## About The Pull Request
Adds the sweater vest as an accessory in the autodrobe and loadout menu.
## Why It's Good For The Game
An alternative to the waistcoat.
<img width="704" height="82" alt="Screenshot 2026-04-07 140058"
src="https://github.com/user-attachments/assets/3ca13953-3866-4f35-9cb6-87e8c75348a8"
/>
## Changelog
🆑 Macaroni
add: Added the sweater vest
/🆑
## About The Pull Request
Updates the alien dissection guide to reflect the recent changes to
surgery.
## Why It's Good For The Game
To the captain we were operating on last night, who had to sit there
while we figured this out, consider this my apology.
## Changelog
🆑 Rhials
spellcheck: The alien dissection guide steps have been updated to
reflect changes to surgical processes.
/🆑
## About The Pull Request
Bot huds would sometimes dissappear when they're pathing to anything
that arent beacons
## Why It's Good For The Game
Bot huds would sometimes dissappear when they're pathing to anything
that arent beacons
## Changelog
🆑
fix: fixes bot huds randomly dissappearing
/🆑
## About The Pull Request
A new cybernetic eye implant, the tactical IFF visor, has been added to
the game, available in the combat implants research node. Its main
features are a cool LED display, dynamic color correction to make
distinguishing important objects easier, and inbuilt IFF systems capable
of distinguishing and highlighting allies and potential threats. They
also give flash/welding protection and mild night-vision capabilities.
However, this comes at a downside of making the user completely unable
to distinguish appearances or voices, or even examine others. Everyone
will simply show up as Unknown and be completely covered in static, bar
the threat assessment outline. Examining will only display their threat
status according to threat settings in the visor.
The parameters for threat assessment (both ID access and security
flag-based), as well as the visor display, can be configured by the user
at any time.
When emagged, the visor will instead completely hide and mute all mobs
except the user themselves, leaving them completely "alone" on the
station.
Deathsquads get an unmodifiable version, configured to treat anyone but
CentCom personnel as hostiles.
Settings can also be adjusted before installation with a multitool, and
locked using a screwdriver, preventing users from accessing them when
installed.
---
Eye rendering has been slightly refactored in order to support the
monovisor, as well as to get rid of duplicate code (and missing
features) on dismembered heads. Also moth eyes once again should block
emissives properly.
## Why It's Good For The Game
New content for both gameplay and roleplay, and fits deathsquad's
purpose very well.
## About The Pull Request
Changes Guardian HUD to use action buttons instead of HUD elements,
which means their buttons
1. Can now be moved
2. Can be binded
Other Holoparasite HUD changes:
1- Moves some special buttons like explosive's explosion ability to be
where the "Toggle Mode" button typically is, to be consistent with some
other modes (assassin, gas) that also works like their unique ability.
2- Gives non-dextrous holoparasites the ability to move floors, since
they float.
3- Fixes dextrous holoparasites having 2 health HUDs
4- Moves "Check Guardian Type" verb to a new action button meant to
mimick the Antag UI Info button.
Gives Soulscythes a Combat mode indicator
Locks Revenant's combat mode indicator (cause it does nothing)
Adds another hoverable HUD element, basic mobs can now hover over their
healthdoll to see their Health %
<img width="85" height="123" alt="image"
src="https://github.com/user-attachments/assets/ad660ba4-296c-4699-9ec4-03a6e7b97880"
/>
<img width="95" height="101" alt="image"
src="https://github.com/user-attachments/assets/12d4d9d3-cf2c-4c52-81aa-17ce538b9d48"
/>
Adds a Unit Test to ensure all basic mobs have a HUD that shows some
form of health & combat mode (unless unnecessary like Revenants), to not
lose any information from basic mob conversion now that they lose the
stat panel.
## Why It's Good For The Game
This is yet another supplement of
https://github.com/tgstation/tgstation/pull/95383 - Removing stat panel
entries for all basic mobs is a great move towards lessening the
reliance of mobs on the stat panel.
This is also just good QoL for Holoparasites, especially since their
stat panel had 2 entries for "Master HP" and your "Own" HP, despite
Holoparasites not even having their own HP at all.
## Changelog
🆑
qol: Holoparasites' abilities are now action buttons, so you can rebind
or move them.
qol: Holoparasites now have floor change buttons.
fix: Holoparasites and Soulscythes now have a combat mode indicator.
fix: Dextrous holoparasites now have their inventory slot again while
non-dextrous had it taken away (not that they could use it).
/🆑
## About The Pull Request
This PR readds a previously removed feature from cargo, that being a
global list of bounties that the whole station has access to, with some
tweaks and adjustments from the original system.
<img width="578" height="377" alt="image"
src="https://github.com/user-attachments/assets/c8e1cb8d-dda6-4983-8588-93dffffc2b4e"
/>
_Seen above: The new Global Bounty Interface._
The civilian bounty pad has a second tab added to it, which contains a
list of all the bounties that are available globally for all crew. You
can select one in order to view the contents of the bounty, as well as
have the option to send items on the pad to contribute to that global
bounty. You may also, as you could several years ago, print a sheet of
paper from the console that consists of all the global bounties on the
station, their their reward values. In addition to those bounties, some
bounties may be labeled has "High Priority", which means that they're
worth more to complete for both you and for cargo, and are denoted with
the different coloring and the star icon on the bounty list.
When a bounty is completed, it will create a bounty cube, the same as
personal bounties. However, for global bounties, multiple people may
contribute to their completion, and when the bounty cube is made and
sold, you will each get a cut of the profits proportional to your
individual contribution. So, if a bounty cube is sold worth 1000
credits, and Person A and Person B contribute 4 items and 6 items
respectively, the total "cut" of the profits crew would receive is 30%
of the total value, so 300 credits. Of those 300 credits, Person A would
receive 120 credits and 180 credits.
(In a real round, the value of the cube's 1000 credits may also increase
if the speedy delivery bonus is met by the cargo department.)
In addition, when a bounty goes from on the list to completed and cubed
up, the global bounty list will likewise automatically update, and
create a new bounty. The number of bounties available for the crew to
complete starts at 5 (Scaled to add one more for every 8 living players,
up to a maximum of 10 to begin with), and for every _3_ completed
bounties, that bounty maximum will go up by an additional 1 bounty. The
new bounty is random from all possible job categories. This may need to
be tweaked so that it pulls 1 bounty from each major department
category, but for now this is how it stands.
Most of the changes in this project fall under tweaks to the pricetag
component, UI work, and then a lot of file-cleanup and tweaking based on
testing.
## Why It's Good For The Game
There is something that was lost in the original shift from global
bounties to personal bounties. Cargo would reach out to crew in order to
get their assistance on projects that let them do their jobs better,
made forced them to have to work with the rest of the crew as opposed to
merely beating them to death when they break in to print their round
start multitools. One of the reasons that we justified that choice was
that bounties were very lopsided. You could be a a superstar helper and
complete a dozen bounties for cargo in a shift, but not only would you
run out of bounties to complete, but you would also receive nothing in
return. Switching to personal bounties did in fact let players generate
their own wealth, but now suddenly the impetus to complete bounties was
that cargo was more of a hang-up to the process than it actually being
part of their job responsibilities.
By re-implementing global bounties, we're giving crew the chance to not
only have that kind of soft community goal, but also we're incentivizing
people to contribute as much as they can to it's completion without
really requiring them to make it their whole shift as tends to be the
case with personal bounties.
There is more that could be done to this system, including using a
unique bounty pool, or at least unique "big" bounties that could be
rolled into the pool that would allow the crew to work on more varied
stuff, but for now this is at least a servable way to re-implement this
from both a longevity and nostalgia standpoint.
I also really, really like printing out sheets of paper and pinning them
to doors. Big mistake on my part by losing that.
## About The Pull Request
This adds a new positive quirk called "**Keen Nose**" that costs 3
points.
It lets you examine any open container with reagents to smell them. It
generates the smell based on the taste description. Also added an effect
to pepper spray, where it causes you to lose your sense of smell
temporarily.
This quirk is blacklisted against the Anosmia quirk, which is the
opposite. (no sense of smell)
## Why It's Good For The Game
Since there is a serious lack of positive quirks, I figured this one
might be useful as a utility quirk. It's a niche thing that could come
in handy. Keep in mind, there are several ways to identify chemicals,
like using the bartender's beer goggles, the science goggles, a chem
machine, or just eyeballing the color. Also, many chems have overlapping
taste descriptions (several different things taste like "death") so it's
not foolproof.
## About The Pull Request
When a mob enters a tile above the vent its top half (and the rig, if
the vent has been tapped) will turn transparent and clickthrough. The
bottom half residing on the tile below is still clickable.
https://github.com/user-attachments/assets/5ed1cd3a-4f33-4692-adce-471eb2942d45
Same applies to ore type overlays. Also I've cleaned up ore vent code a
bit.
## Why It's Good For The Game
During combat some mobs, especially legion skulls, can end up hiding
behind the vent and be extremely hard to hit, requiring the player to
pull up the alt click menu to dispatch of them. This should resolve that
issue.
## Changelog
🆑
qol: Ore vents now turn transparent and clickthrough when a mob enters
the tile above them. The bottom half of the vent is still clickable.
code: Cleaned up ore vent code
/🆑
## About The Pull Request
fixes https://github.com/tgstation/tgstation/issues/95493 aka rust armor
not getting buffed when floor under you becomes rusty, and missing
antimagic checks for void, also adds emissives for the heretic aura, it
looks dope, and besides, for hiding in the dark, you can still use robes
as those hide it.
also fixes a exploit where you can retract your robe hood and that would
let you exit space phase anywhere not just in space, now it no longer
forces you to exit phase if you loose your focus, instead it always
allows dropping out of phase if you're already phasing
## Why It's Good For The Game
fixes good and emissives look really nice
https://github.com/user-attachments/assets/5b725fad-2522-498a-8514-ca4a8d48fc64
## About The Pull Request
The code works exactly the same, because it didn't really need to be in
`fire_gun()`. The reason for this is that there are some ways that guns
are shot directly through `process_fire()`, such as clowns or mail,
which never end up applying multipliers.
## Why It's Good For The Game
I'd say that the distance from your hand to your foot is probably
point-blank.
## About The Pull Request
Restores keybindings to their original defaults, moves the new per-hand
bind options to Unbound by default. Partially reverts #92659
## Why It's Good For The Game
I've seen approximately zero players say the new binds are better, and
quite a lot of older players report the new bindings are confusing or
harder to use. I'm also not convinced that burning 2 buttons on hand
swapping is better than having one button to swap between hands.
I understand having roguetown bindings as an option given that it's
currently eating all of SS13's pop right now, which is why I've left in
the bindings set as Unbound for now, but we should really just add
buttons for players to pick binding defaults, so that we can go "coming
over from Goon/Roguetown/Whatever flavor of the month you're from? Click
here for those bindings" and sidestep this issue entirely.
If someone can provide some data proving this is actually better for new
players, I'll close this PR, but until I see some hard data or testimony
from newer players that they find this new control scheme easier to
understand, I'm not convinced.
## About The Pull Request
- Fixes#95441
Using the admin shuttle recall command no longer reveals the admins
location.
## Why It's Good For The Game
Less bugs.
## About The Pull Request
Second-choice headrevs after a first choice became indisposed did not
check client preferences.
Also, moves `ROLE_HEAD_REV` define into roundstart section of defines
because it is a roundstart ruleset
## Why It's Good For The Game
fixes#95742
## About The Pull Request
Whoops.
~~I missed some nuance when I made #94483, namely that while I didn't
want players requesting CRATES like guns, grenades, spare SM shards with
their department budgets, the logic also touches goodies and private
orders meaning that players were unable to place goodie orders for
things that they may not have explicit access to do so, which is part of
the reason why you'd be ordering them privately in the first place. It's
cargo responsibility to determine if the player should/not be receiving
that item.~~
I have meditated on the issue, and I realize, nah, this is probably both
a healthier design decision as well as the reason we have things like
the black market in the first place. The core of the PR below however is
however sound.
ALSO, I made a fairly confusing mistake with the TGUI where the goodies
category just... hasn't been visible! That's on me.
## Why It's Good For The Game
Makes cargo goodies viewable. Makes cargo goodies purchasable.
Fixes#94928🐛💥‼️
## Changelog
🆑
fix: Cargo goodies are now visible in the ordering and request consoles.
/🆑
## About The Pull Request
this translates some various
- `FLOOR(x, 1)` -> `floor(x)`
- `CEILING(x, 1)` -> `ceil(x)`
- `SIGN(x)` define is gone, just uses the native BYOND `sign()` now.
Also, the `MODULUS` define is just a wrapper for the [BYOND `%%`
operator](https://ref.harry.live/operator/modulomodulo) now.
would be nice if someone double checked to make sure there's no
potential subtle oddities resulting from this.
## Why It's Good For The Game
These procs presumably did not exist whenever the defines were written -
and they are BYOND builtins, meaning it will just be, say, one `sign`
instruction, instead of two comparisons and a subtraction.
## Changelog
no player-facing changes
## About The Pull Request
facehuggers are referred as simply "alien(s)" throughout the game,
except in lamarr s description, in which it is referred straight as
"xenomorph facehugger". This pr changes lamarr s desc to be more
"""mysterious""""
## Why It's Good For The Game
naming consistency
## Changelog
🆑
spellcheck: due to conflicts with the hive empress, lamarr has lost it s
diplomatic facehugger title
/🆑
## About The Pull Request
The plasma flower MOD core from the Garden of Eden ruin no longer spawns
butterflies as you run around, and the amount of pollen particles it
creates on the user has been quartered.
## Why It's Good For The Game
Butterflies are incredibly annoying to deal with and can block your own
swings in combat, and don't serve a purpose beyond creating a ton of
visual clutter. Same applies to the pollen particles, there's so many
you can barely see your own sprite underneath. Quartering them still
leaves plenty there to look nice.
## Changelog
🆑
del: Plasma flower MOD core no longer spawns butterflies around the user
qol: Plasma flower MOD core's pollen visual now spawns less particles
/🆑
## About The Pull Request
Adds 2 hoodie variants, the pullover and the zip-up.
Both recolorable via GAGs.
Both available in the clothesmate and in loadout.
(90% "vibe-coded" ((SORRY!!)) but thoroughly tested with no issues*)
*ok one little issue being recoloring a hoodie with a spraycan does not
recolor the hood and you need to also spray the hood itself to color it.
a problem that has already existed in the codebase and i was unable to
find a fix for.
###### Pullover hood-down / Pullover hood-up with random recolors
underneath.
<img width="192" height="192" alt="dreamseeker_3DwQU9FPb2"
src="https://github.com/user-attachments/assets/fce54ba7-138f-4961-ad87-de072fa1ab55"
/>
###### Zipup unzipped hood-down / Zipup unzipped hood-up / Zipup zipped
hood-down / Zipup zipped hood-up with random colors underneath.
<img width="320" height="192" alt="dreamseeker_COJPWnFa84"
src="https://github.com/user-attachments/assets/b91ba86f-36cc-4c89-99aa-c6848554ea1c"
/>
## Why It's Good For The Game
Hoodies are a staple to many and have been requested frequently over the
years.
## Changelog
🆑
image: Hoodies! Both pullover and zip-up hoodies are available in the
clothesmate and in loadouts!
/🆑
## About The Pull Request
seems like it was asking for a key since it was a subtype of
/obj/vehicle/ridden/lavaboat, so i set it s key_type to null
## Why It's Good For The Game
gbp pog. fixes#95634
## Changelog
🆑
fix: Deleted the misleading key request for the dragon lavaboat
/🆑
## About The Pull Request
See title. I looked pretty hard and only found these as having this
issue.
## Why It's Good For The Game
I'm mostly working off of other peoples wisdom here but `rank` is a
reserved word in sql, and as we do in MOST of our other querys.
backticking it prevents that from being an issue (and therefore fixes
some sql errors that CAN happen depending on version (my issues happened
with mysql, but apparently dont occur with heididb))
## Changelog
~~N/A as i dont acctually think this happens in TG rn unless yalls
housekeeping tab on the admin panel is broken as well.~~
🆑
fix: A handful of permissions panel querys now work again
/🆑
## About The Pull Request
As per the title. The unit test was never skipping any typepaths,
regardless of whether or not they were defined in the modular folders.
This made it so that even TG clothing was being checked. The regex which
was used to find the typepaths was also broken, as it was prematurely
cutting off at the letter `s`, and was also matching with typepaths that
weren't actual definitions/overwrites. It also stopped searching for
typepaths in the file after the first one was found.
## Why It's Good For The Game
Fixes a unit test.
## Proof Of Testing
<img width="258" height="56" alt="image"
src="https://github.com/user-attachments/assets/24b8f8d7-42d1-429d-9a48-30eb9ef95e6b"
/>
It compiled and run the test fine. Checking with the debugger confirmed
that the `typepaths_to_check` list (renamed from `typepath_files`) was
being properly filled with clothing from `modular_skyrat` and
`modular_zubbers` folders.
This screenshot shows the status of the `typepath_files` list before the
changes:
<img width="1703" height="332" alt="image"
src="https://github.com/user-attachments/assets/4e400269-016f-4a89-81b0-887b8f44d200"
/>
As can be seen, it is empty, meaning the `if(subtype_string in
typepath_files)` line is never going to fire, because there is no item
in the list.
This screenshot shows the status of the `typepaths_to_check` list after
my changes:
<img width="1600" height="548" alt="image"
src="https://github.com/user-attachments/assets/f0bf1fed-193d-41c0-950e-3c4285a6db3f"
/>
as you can see, it has 599 entries, all of which were defined or
overwritten in `modular_zubbers` or `modular_skyrat` files.
## About The Pull Request
It was me I broke it
## Why It's Good For The Game
Unchecking this should actually hide mismatched parts
## Proof Of Testing
Yes
## Changelog
🆑
fix: fixed mismatched parts toggle doing nothing
/🆑
## About The Pull Request
That part wasn't finished. It won't! The other change just makes it so
non-vox aug brains can die from emps.
## Proof Of Testing
it didn't work then, it's gone now
## Changelog
🆑
balance: vox get to keep their min brain health threshold from emps,
removed it from roundstart aug brains.
del: surplus cybernetic brain is gone again
/🆑
## About The Pull Request
This PR reverts part of a Skyrat-Era PR,
https://github.com/Skyrat-SS13/Skyrat-tg/pull/15950. The PR as a whole
was intended to fix an exploit where a retracted MODsuit's modules could
still be used, but did so by preventing any modules from being activated
at all if the MODsuit was not fully deployed and active, in addition to
deactivating them when the associated part was retracted.
TG eventually fixed retraction not deactivating modules, and the Skyrat
fix for that part is no longer in our codebase. The part preventing
modules from being activated unless the suit is fully deployed, however,
lingered, and nowadays it inconveniences me when I am trying to have hot
MODsuit sex. _This is unacceptable._
This change will bring MODsuit behavior closer to how TG has it, where
players don't need to wait for all 4 parts of the suit to activate
before using something that only needs the gloves deployed. There may be
some mild balance implications there, but given that it's moving to how
TG does it I'm not too concerned.
## Why It's Good For The Game
Keeps us closer to parity with TG, and allows for greater flexibility in
MODsuit use, rewarding players who are knowledgeable in their modules'
required parts with faster access to those modules' abilities.
## Proof Of Testing
<img width="853" height="449" alt="image"
src="https://github.com/user-attachments/assets/8acbb0ca-5852-4a65-acd8-80f9a2e92c58"
/>
## Changelog
🆑
del: Removed a Skyrat restriction on activating MOD modules with a
partially-deployed suit.
/🆑
## About The Pull Request
Pod wall storage tracks its own locked state and whatnot only to
hardblock based on security state, which is confusing especially to
those attempting to varedit.
Also, its initial icon is erroneously unlocked because it is updated by
the storage while the storage is being created, but as the storage is
still being created `atom_storage` hasn't been actually set yet.
## Why It's Good For The Game
Fixes it being locked when it shouldn't be(in varedits, but also in the
scenario someone launches the pod and later the security level is
lowered)
Fixes it appearing unlocked when it isn't.
## About The Pull Request
Fuckup from the refactor, this should give the action to the mob not the
owner of the action.
Fixes purple raptors, ninja katanas, etc
## Changelog
🆑
fix: Fixed conditionally added actions not appearing on player HUDs
/🆑