Commit Graph

45818 Commits

Author SHA1 Message Date
SmArtKar
d28a8581e4 [NO GBP] Fixes space suit helmets still having slowdown (#91202)
## About The Pull Request

I'm stupid and in #89610 gave suits their second half of the slowdown
back but forgot to remove it from the helmets.

Closes #91006
Closes #89765

## Why It's Good For The Game
## Changelog
🆑
fix: Fixed space suit helmets slowing you down
/🆑
2025-05-20 12:11:07 +03:00
MrMelbert
f245d8ab79 Screenshot Tests Airlocks (#91203)
## About The Pull Request

Tests that both normal and glass airlocks, and some of their overlays
work.
2025-05-20 12:07:13 +03:00
SyncIt21
82eb3bfb65 Fixes runtimes with splashing reagents (#91219)
## About The Pull Request
- Fixes #91207

We have 2 checks to see if the throwing datum is null meaning it's an
expected condition

6094f8a522/code/modules/reagents/reagent_containers.dm (L217-L218)

6094f8a522/code/modules/reagents/reagent_containers.dm (L232)

So we obtain the thrower only if the datum is available which was the
cause of the runtimes


## Changelog
🆑
fix: fixes runtimes with splashing reagents
/🆑
2025-05-20 12:00:07 +03:00
Roxy
de35c4411b Fix express console goody orders being empty (#91224)
## About The Pull Request

`/datum/supply_pack/goody` now has `crate_type = null`, meaning separate
handling is required for them in express consoles

## Why It's Good For The Game

Fixes #90142 

## Changelog
🆑
fix: fixed express consoles taking your money and sending nothing when
you ordered goodies
/🆑
2025-05-20 11:19:45 +03:00
OnlineGirlfriend
e38cebfc96 Horse plushie :) (#91229)
## About The Pull Request

Adds horse and unicorn plushies. Available from cargo, plus horse
plushie is available as a loadout option.

![Screenshot 2025-05-18
183315](https://github.com/user-attachments/assets/bfa9a05e-dd4b-4b48-89e6-979325241753)
## Why It's Good For The Game

Horses are the original sports car. They're like big dogs you can ride.
They're like motorcycles that love you back. We have horses to thank for
pulling our ambulances and fire trucks before engines were invented. God
I fucking love horses.

Unicorns are okay.
## Changelog
🆑
add: horse and unicorn plushies
/🆑
2025-05-20 14:03:34 +10:00
moocowswag
32abbcc58f Adds Modular Shield Cables and wrench connection QoL, Spraypainting the generator now causes it to color the shields on next activation (#91122)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2025-05-19 16:48:53 +02:00
MrMelbert
5261efb67f Re-refactors batons / Refactors attack chain force modifiers (#90809)
## About The Pull Request

Melee attack chain now has a list passed along with it,
`attack_modifiers`, which you can stick force modifiers to change the
resulting attack

This is basically a soft implementation of damage packets until a more
definitive pr, but one that only applies to item attack chain, and not
unarmed attacks.

This change was done to facilitate a baton refactor - batons no longer
hack together their own attack chain, and are now integrated straight
into the real attack chain. This refactor itself was done because batons
don't send any attack signals, which has been annoying in the past (for
swing combat).

## Changelog

🆑 Melbert
refactor: Batons have been refactored again. Baton stuns now properly
count as an attack, when before it was a nothing. Report any oddities,
particularly in regards to harmbatonning vs normal batonning.
refactor: The method of adjusting item damage mid-attack has been
refactored - some affected items include the Nullblade and knives.
Report any strange happenings with damage numbers.
refactor: A few objects have been moved to the new interaction chain -
records consoles, mawed crucible, alien weeds and space vines, hedges,
restaurant portals, and some mobs - to name a few.
fix: Spears only deal bonus damage against secure lockers, not all
closet types (including crates)
/🆑
2025-05-19 13:32:12 +10:00
Jacquerel
26b0843fd2 Killing yourself with a fish kills you (#91190) 2025-05-18 11:57:58 +03:00
Krysonism
7da71f32e7 Fixes bungotoxin dizziness to confusion translation mechanic. (#91194)
## About The Pull Request

This PR fixes the long broken, lesser known secondary effect of
bungotoxin, where it sets the victims confusion to their dizziness.

## Why It's Good For The Game

bug are bad mkay

And our valued players can make funny deathmixes again.

## Changelog

🆑
fix: Bungotoxins secondary effect that sets the victims confusion
depending on their dizziness now works again.
/🆑
2025-05-18 11:49:19 +03:00
Tim
25610fa4f3 Remove dead code from gas canisters (#91196)
## About The Pull Request
This removes the `existing_mixture` argument from canisters
`Initialization()` proc.

I tried searching for its use in the original PR it was added via:
- #57083

And via searching regex patterns for canisters in the codebase and found
nothing. So right now it's just dead code that can be removed.

## Why It's Good For The Game
Dead code should die.

## Changelog
🆑
qol: Remove dead code from gas canisters
/🆑
2025-05-18 11:48:23 +03:00
Krysonism
b3580b8a8d Clown Abomination Rebalance! #Cytology2025 (#91000)
## About The Pull Request

This PR includes a number of fixes, buffs and improvements to the clown
mobs to make them more playable and worthwhile.

### Atmos tolerance buffs
This PR removes the insane unsuitable atmos and temperature damage clown
mobs used to take and bring it in line with other mobs.

In addition, clownanas can tolerate lower oxygen levels and are immune
to carbon dioxide due to their half plant biology.

### Movement speed changes

A lot of these mobs were previously unviable due to their slow speed,
one of the most important stats.

This problem will only get worse for basic mobs if the proposed basic
mob stamina changes get implemented.

Most of them are still slower than humans but now have some chance to
corner a human in some circumstances.

(I plan to add more ways to modify basic mob run speed in the future to
help with this.)

The flesh clown and honkling are now fast again, I remember the original
speed nerf of fleshclown upset the very few fleshclown enjoyers once i
PR'd in the initial balance pass years back.

### Glutton buffs

The banana glutton is now given a mechanical incentive to eat lots of
foods to nudge them into good RP.

They heal for every item and gain max health every 5 items eaten!

The banana glutton can now smash doors.

They can now prank the crew with ink sacs should they find them.

### Biotype update

Clownana has gained the plant biotype.

Living lube has gained the slime biotype.

### cell lines & samples

clownana and longface; the two other clown cell lines now have samples
associated with them and can be biopsied to create pure samples of each
cell line.

The clownana banana bunch can also be swabbed for the pure clownana cell
line!

### death drop changes

The death drop element now spreads the items out slightly instead of
stacking lots of drops in the center of the tile.

Clown mobs now drop less soap and more peels, with some of the rarer
ones dropping mimana, bluespace or gros michel peels.

The clownana now has a chance to drop full bananas or even a full banana
bunch.

The banana glutton has a chance to drop a heart of freedom. 

The flesh clown now drops a meatclown instead of soap, and a piece of
human skin instead of a bloated human suit.


### other stat changes

living lube is now highly resistant to brute damage

longface can now acutally fight a little bit, still kinda terrible
though.

## Why It's Good For The Game

These mobs are quite beloved but their level of playability is low due
to poor balance.

The main problem is atmos.

Even a whiff of bad atmos would gib these mobs before they could get to
safety.

Many of them had their speed set way too high or way too low when they
were first added, even after i adjusted their speeds years ago I was
being too conservative.

Their loot tables were too similar, this helps with that a little bit. A
couple of them might even be worthwhile farming for their drops in
certain niche situations!

The banana glutton has such a cool sprite but has been neglected
mechanically, this helps make him a little more worthwhile and the extra
obj damage helps him not be in that sucky place where he is too large to
vent crawl and not powerful enough to break down doors.

Ideally in the future we should probably be more restrictive with
allowing mobs to smash airlocks and give them another way of opening
doors via armblade -like prying or ID implants.

## Changelog

🆑
add: banana gluttons gain max health and heal by eating foods! And they
can smash doors.
balance: clown mobs no longer get nuked by bad atmos.
balance: blown mobs have new death drops.
balance: most clown more are now faster!
balance: clownanas are now plants and are immune to carbon dioxide.
balance: living lube is now a slime and highly brute resistant.
balance: longfaces now hit decently hard.
fix: clownanas and longfaces can now be biopsied.
/🆑

---------

Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2025-05-17 16:36:04 +00:00
SyncIt21
5682423c4c Simplifies borg omnitool test (#91026)
## About The Pull Request
Makes the unit test much more light weight & faster

Testing individual tools in the toolkit is redundant, We only need to
test 1 & can know the others will work for all borg model types as we
only need to check if it reaches the attack chain or not

## Changelog

🆑
code: borg omnitool unit test is much faster
/🆑

---------

Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
2025-05-17 16:19:18 +00:00
Rhials
bd320c9a95 Voidwalkers can convert soft space-bordering walls into void windows (#91004)
## About The Pull Request

Voidwalkers can now convert walls into "void windows". These slightly
stronger and visually distinct windows, open up an area to ambush from,
or to startle unsuspecting passersby from. To do so, you must
right-click on a wall that is bordering space/nearstation/asteroid, and
only works on normal or weaker walls (no rwalls!).

![voidwalker
POC](https://github.com/user-attachments/assets/5f5715ac-bdb7-4edc-9ba4-6b39bd3c267b)

This ability has 2 charges, with a 60s cooldown and a 8s windup. You can
replenish charges by kidnapping players.

To accompany this, voidwalkers can now walk at normal speed in
nearstation/asteroid areas.

![voidwalker
WALKING](https://github.com/user-attachments/assets/a430ae9c-b563-4302-aca4-89610bd5f6f6)
## Why It's Good For The Game

I'm not gonna beat around the bush here: Voidwalker gets absolutely
shafted on some maps. Tramstation in particular is a real nightmare. The
"asteroid station" designs we've been getting recently are VERY
unfriendly to voidwalkers, especially compared to the more conventional
windows-and-walls design of Meta/Delta.

Being able to carve out areas in maintenance or workplaces to snatch
bodies from allows voidwalkers to play in a way that isn't suuuuuper
passive on these maps.

The nearstation movement buff also accomplishes this, and also feels
appropriate given how the station edges on most asteroid maps are.
There's nowhere to hide in space and take advantage of your space dive
from anyways. Conveniently, this solution also doesn't force mappers to
compromise the integrity of their design for the sake of gameplay.

Lastly, this lets voidwalkers play a bit more aggressively and "claim"
areas, something the original PR (#84674) proposed in considerations.
## Changelog
🆑
add: Voidwalkers can now convert soft walls into void windows, using the
right-click of their Void Eater.
balance: Voidwalkers can now walk full-speed on nearstation tiles.
/🆑
2025-05-17 16:17:52 +00:00
LemonInTheDark
fed87bd5c9 Removes clickturf debug code (#91191)
Tiviiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii's pr had debug
code left in it, this removes that. what I get for not fine toothing
this shit #90480
2025-05-16 23:08:55 -07:00
SmArtKar
41a48d1886 Fixes mech bounty runtimes (#91180)
## About The Pull Request

Didn't check the parent call which made all sorts of things be typecast
into mech diagnostics which then runtimed.

## Changelog
🆑
fix: Fixed mech bounty runtimes
/🆑
2025-05-16 23:08:40 -07:00
SmArtKar
5466c2d0dc Fixes syrup bottle runtimes (#91179)
## About The Pull Request

Didn't nullcheck held_item so it would runtime every time you hovered
over it with an empty hand

## Changelog
🆑
fix: Fixed syrup bottle runtimes
/🆑
2025-05-16 23:08:30 -07:00
SmArtKar
bce57aeed8 Fixes anomalock heart constnatly runtiming (#91178)
## About The Pull Request

The thing was spamming runtimes every second due to the status effect
assuming that the heart was a stabilized crossbreed. Moved the cell
charging code to the heart itself instead of reusing the yellow status
effect.

## Changelog
🆑
fix: Fixed anomalock heart constnatly runtiming
/🆑
2025-05-16 23:08:20 -07:00
Krysonism
f832b42bb5 Fixes medical stack recipes not producing enough stacks. + Allows smaller medical stack reactions. (#91167)
## About The Pull Request

Medical stack creation was unintentially nerfed at some undetermined
point in the past by some unknown person

Instead of producing producing full 15 or 20 amount stacks, the reaction
was changed to produce stacks with a stack count of one.

This PR fixes that and, since creating variable amount stacks is now
easy, I've divided the reagents and stacks produced by the lowest common
denominator to make the reactions more granular and flexible,

## Why It's Good For The Game

These items are already underutilized and an unintentional ~95% nerf to
recipe output is bad even though the original unbugged output is quite
high!

Making the recipes more granular improves flavour of medical stack
making setups as the stacks will grow visually as more reactions occur,
rather than always popping out fully fleshed out.

## Changelog

🆑
fix: fixed medical stacks producing far too few items.
qol: medical stack recipes are more granular.
/🆑
2025-05-16 23:07:05 -07:00
Roxy
85ef652508 Fix cable coil icon breaking with layer hubs (#91151)
## About The Pull Request

The icons for the multilayer and multi z layer cable hubs are in a
separate dmi than the cable coil, so when you tried to switch to either
of them by using cable coil in hand it'd just go invisible. This makes
sure the icon gets changed to the right one if you select those (and
gets switched back when you choose cable coil). It also moves the
setting of `novariants` to be above the `set_cable_color` call because
it's checked in that call and so it needs to be the updated value. This
also adds a check for `novariants` in `update_name` and `update_desc`
because currently the changed name and desc for the cable hubs gets
overwritten by these calls (triggered by `update_appearance` at the end
of `attack_self`)

## Why It's Good For The Game

Bug fix

## Changelog
🆑
fix: fixed cable coil going invisible when you select the two cable hub
options
/🆑
2025-05-16 23:05:02 -07:00
Tim
e698c965b3 Fix map_export admin verb not saving objects properly (#90998)
## About The Pull Request

When using the `map_export` admin verb the following things are fixed:
- All objects density, anchored, opacity, atom_integrity, and
resistance_flags vars are saved
- Multi-tile objects being spammed on all tiles the sprite reaches
- Dirt decals error icon
- Airlocks error icon and to save welded state
- Dark Wizard Simple Mobs error icon
- Closets to save welded, open, and locked states
- Air alarms to save name
- Air scrubbers/vents to save name and welded states
- APCs to save name, charge, cell, lighting, equipment, and
environmental states
- APCs spawning a duplicated terminal underneath it when one already
exists
- SMES to save charge, input, and output states
- Holodecks to revert any holodeck turfs to the empty turf and skip
saving any hologram items
- Photos and Paintings error icons
- Bloody Footprints error icons
- False Walls error icons
- Docking Ports runtimes because the map template var would change
- Effects (lasers, portals, beams, sparks, etc.) saving when they should
be omitted

I would have loved to get `component_parts` to save for machines and
turf decals, but perhaps that is for another day since it requires
complicated solutions.

Here are some before and after pictures:


![StrongDMM_209k6PXSaQ](https://github.com/user-attachments/assets/27f0a80b-3cbc-4862-a218-612d52fa0e4f)


![StrongDMM_5PdRfLTZ4l](https://github.com/user-attachments/assets/3bbfd724-4b51-47c5-8cff-02687250fc1e)


![StrongDMM_F4DPOGz5K7](https://github.com/user-attachments/assets/1130ded8-3062-469a-ad4a-d437d89a68da)


![StrongDMM_BIa554dsGv](https://github.com/user-attachments/assets/440d6b38-dbbf-47c0-ad9a-5165504d104e)

## Why It's Good For The Game
Better map saving code.

## Changelog
🆑
fix: Fix `map_export` admin verb not properly saving a massive amount of
objects.
/🆑
2025-05-16 22:43:09 -07:00
Artemchik542
fca1e61371 Quirk "quadruple amputee" now will return your original limbs back if you off it (#90745)
## About The Pull Request

Then you try to remove quirk - your limbs didn't change back to normal

**Visual bug only**, originally found on downstream. Also confirmed on
up-to-date TG-localhost


![error](https://github.com/user-attachments/assets/33c280d2-9aa9-4ccc-bca2-3977a2e723de)

## Why It's Good For The Game

Bug-Fix always good

## Changelog

🆑
fix: Quirk "quadruple amputee" now will return your original limbs back
if you off it
qol: Quirk "prosthetic limb" now resets more correctly
/🆑

---------

Co-authored-by: Maximal08 <73069825+Maximal08@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2025-05-16 22:40:49 -07:00
TiviPlus
d53fb89b86 Keyboard presses (and thus keybindings) will now report the turf the mouse was over when a player presses or releases a key (#90480)
## About The Pull Request

Semi WIP cus I need to probably make an issue report for lummox, but
apart from that ready for review

Uses the new mouse-pos so we can combine it with screen size and size to
estimate very accurately the mouse position in turf terms. In future
also will need to add a way to continously poll the users mouse pos but
this alone is very useful

## Why It's Good For The Game

This isnt used yet, but the benefits are pretty damn obvious (hitting E
and dashing towards where your mouse??? 1990s features?????)

## Changelog
🆑
refactor: Added the possibility for keybindings to report the turf they
clicked on.
/🆑

---------

Co-authored-by: TiviPlus <572233640+TiviPlus@users.noreply.com>
2025-05-16 22:03:01 -07:00
Pickle-Coding
10fbd233f3 Tesla and supermatter zaps can trigger electrolysis reactions. Hypernoblium to antinoblium conversion requires supermatter zaps. (#91048)
## About The Pull Request
Supermatter and tesla zaps can trigger electrolysis reactions.
Hypernoblium to antinoblium conversion requires supermatter zaps above 5
GeV, with 100% efficiency at 9GeV. Antinoblium is generated at 1:1 from
hypernoblium consumed. The requirement for hypernoblium conversion is
also included in the reaction console.
## Why It's Good For The Game
Ordinary electrolysis is a rather boring way to obtain antinoblium,
especially with fire extinguisher cheese. This limits the creation of
antinoblium to more extreme and loud methods. This is mainly intended
for balancing #91016, but seems out of scope to include in that PR. This
also gives room for antinoblium to be balanced as one of the more exotic
gases, and is much more obvious when antinoblium is being created.
## Changelog
🆑
add: Supermatter and tesla zaps can trigger electrolyzer reactions.
balance: Hypernoblium to antinoblium electrolysis requires supermatter
zaps above 5 GeV.
balance: Hypernoblium is converted to antinoblium 1:1 during
electrolysis.

/🆑
2025-05-16 21:34:05 -07:00
Y0SH1M4S73R
80ec197457 Fixes USB ports/cables erroneously detaching when shuttles move (#91043)
## About The Pull Request

When a shuttle moves, usb ports now wait for the shuttle to finish
moving all of its contents to determine whether they should detach from
whatever they are connected to.

This PR also adds a new signal whose registered handlers can affect what
gets moved when part of a shuttle moves, but until a handler for that
signal actually needs to do so, that behavior only really matters in the
sense that it is now exposed to lua scripting.
2025-05-16 21:49:57 -05:00
Y0SH1M4S73R
429a3bbf04 Adds the craftable MOD soul shard core. (#91023)
## About The Pull Request

If you examine a soul shard closely, you can learn to craft the MOD soul
shard core. It takes the same basic ingredients as other MOD cores, but
uses a soul shard. It is powered by your own soul, which drains your
sanity to provide charge (if mood is disabled in the config, it's
practically equivalent to an infinite core).

Crafting one ejects any shades in the shard (because that's the simplest
behavior that doesn't require a substantial refactor to crafting or
modsuit code).

Depending on the kind of shard used, certain roles get negatively
impacted by using a modsuit with such a core.
- Cult soul shards wrack non-magical roles (anyone that isn't a cultist,
heretic, heretic minion, or wizard) with horrible agony (a -20 moodlet
that expires 10 seconds after turning the suit off)
- Holy soul shards wrack cultists and heretics with horrible agony,
while wizards are put at unease (-3 mood)
- Wizard soul shards have no negative impact on anyone
- If someone were to VV a soul shard to have the heretic theme (only
used by rusted harvesters), it would be functionally identical to the
cult shard

Soulless mobs (liches, people who lost with the cursed russian revolver,
and people who died from casting Soul Tap too many times) have no soul
for the core to draw power from.

Also gives the wizard modsuit a soul core.

## Why It's Good For The Game

Provides a neat but caveat-rich way to utilize soul shards, especially
for players who have no way to obtain construct shells absent a cult or
wizard to create them.
2025-05-16 21:49:23 -05:00
necromanceranne
2f415a5735 {NO GBP} Reduces stamina damage from rubbershot by a single point per pellet. (#91119)
## About The Pull Request

Reduces rubbershot pellets from 11 stamina damage to 10 stamina damage.

## Why It's Good For The Game

So fun fact. Stamina crit threshold is particularly generous about when
it tips you over into stamina crit.

Fired from a combat shotgun, rubbershot would deal 99 stamina damage at
point blank. Resulting in you entering stamina crit if you didn't have
any armor at all.

By reducing this by exactly one point, this no longer happens. 

This is another PR I was reluctant to do but honestly, this change was
recent enough that I frankly do hold a lot more of the blame for it. A
few steps back isn't going to hurt anyone. These things still spew
damage at whatever you point them at.

"But Anne, what about rubbershot in riot shotguns!"

It did 66 stamina damage total. At 60 damage, you can still slow down
someone in a sec vest with a point blank shot. For the most part, it
will probably be completely unnoticeable for the riot shotgun. I don't
even know why it was an uneven number to be completely honest with you.
2025-05-16 16:52:07 -05:00
grungussuss
e9ffa2bdbf personal player panel improvements (#90988)
## About The Pull Request

adds breaks between the lines of first seen, byond account registered
tab.

<details>
<summary>OUTDATED PREVIEW</summary>

<h3> before: </h3>


![image](https://github.com/user-attachments/assets/9390dbc8-31af-4ef9-80f1-56b4fc4956d1)

<h3> after: </h3>


![image](https://github.com/user-attachments/assets/e593be28-c498-41e0-8be4-53b8524315ba)


</details>

## Why It's Good For The Game
line breaks are neat for readibility.
## Changelog
🆑 grungussuss
qol: added some line breaks for the admin player panel for readibility
/🆑
2025-05-16 15:30:09 -06:00
SmArtKar
29d9626d3d Corrects mining export names on icebox (#91145)
## About The Pull Request

Closes #90666, converts minetypes to defines, gives icebox a minetype
define which could also be used later to give mining suits some fur or
something.

## Changelog
🆑
fix: Icebox artifact exports no longer claim they're from a lava planet
/🆑
2025-05-16 15:27:49 -06:00
MrMelbert
685ca9db69 [MDB Ignore] Damp Rag can now get dirty / Repaths damp rag (it's no longer a cup) (#90700)
## About The Pull Request

- Damp rag is now no longer god's perfect cleaning tool. After blood,
the damp rag will collect it, and after cleaning a lot of blood, you can
no longer clean with the rag until you wash it in a sink (or with
cleaner or however you want)
- This means the rag will collect DNA in it as you clean, which gives
detectives an opportunity to investigate.
- It also means the DNA it collects will occasionally spread onto you,
meaning you will have to clean your gloves or hands.
- Cleaning vomit and such is (currently) unaffected (and does not dirty
the rag).
- Diseases are not currently transferred to the rag (but this would be
fun to add)

- Gauze now gets dirty when using it to wrap bleeding wounds. This is
just visual, though blood DNA gets transferred. It can be washed in a
sink.

- Removed gauze on sink / cloth on sink interaction.
   - Can't really wash gauze with it, plus it's redundant.

- Damp rag is no longer a cup.

## Why It's Good For The Game

Damp rag is just "soap without any downsides", which is kinda lame. 
I thought about going a step further and making it require you wet it
first but then it just becomes "mop but small" which is also lame.

Instead, you're required to clean it, which gives janitors / crewmembers
an alternate cleaning method:
- Soap: Small, finite, limited. Can't be replenished.
- Cleaner: Small, finite, even more limited, ranged. Can be refilled
with chemistry's help.
- Mop: Large, infinite, limited. Needs a water bucket.
- Damp Rag: Small, infinite, limited. Need to clean it after a few goes.

## Changelog

🆑 Melbert
balance: Damp Rags can now get dirty when using them to clean blood,
passing blood DNA along.
add: Gauze now gets dirty when apply it to actively bleeding wounds.
Doesn't spread disease or anything, just passes blood DNA. It can be
cleaned in a sink.
del: Removed cloth on sink / gauze on sink interaction to make rags.
Just use the crafting menu
/🆑
2025-05-16 13:49:27 -07:00
MrMelbert
d1fffd9b47 Analyzer blood printout uses conditional tooltips as god intended (also fixes some) (#90970)
Health Analyzer tells you what type of blood your target can
accept.
2025-05-16 14:48:17 -04:00
SmArtKar
f06738eff2 Fixes MODsuit control units not updating their worn icons when activating with no parts deployed (#91068)
## About The Pull Request

``update_clothing`` by default doesn't update anything. Also fixed a
missing return in ``allow_attack_hand_drop`` that always failed the
proc.
2025-05-16 13:24:16 -05:00
Holoo
0631f197ba Admin supply pod fixes (#90744)
## About The Pull Request
Closes https://github.com/tgstation/tgstation/issues/81140
Closes https://github.com/tgstation/tgstation/issues/72342

Fixes presets, custom explosions, partly fixes tooltips (they are
completely broken and some positions don't work at all if text is too
long)
Fixes always failing sound length check and fall sound timing
Adds small preview box for preset color button
Adds 5th variable to custom explosion size: flash range
Adds flash range to admin logs
 

![image](https://github.com/user-attachments/assets/e9068987-4f21-438d-9951-58230cbe0f88)
## Why It's Good For The Game
Less bugs (rip moths)
## Changelog
🆑

fix: fixed presets, custom explosion, fall sound in admin supply pod
admin: admin supply pod now can have flashy explosion, set it via custom
explosion button. Added flash range to admin logs

/🆑
2025-05-16 11:17:19 -07:00
SmArtKar
768c4d86b9 Fixes holoparasites taking damage from ash storms inside of immune hosts, miner holoparas are now storm immune (#91133)
## About The Pull Request
Closes #91040 by making the check on the ash storm be inside of the
recursive parent checking, makes power miners (holoparasites) spawned
from the dusty shard ash and snowstorm immune

## Why It's Good For The Game

Fixes bug, latter makes you take double damage if you don't have
protection, and if you do it prevents your miner from going outside of
your body during a storm. Them having protection from storms is kinda
fitting.

## Changelog
🆑
balance: Power Miners are now ash and snowstorm immune
fix: Holoparasites no longer take damage from ash storms inside of
storm-protected hosts
/🆑
2025-05-16 17:07:11 +03:00
SmArtKar
fb0a125e65 Fixes flaggelant's robe spamming your chat with gravity messages (#91081)
## About The Pull Request

Closes #91005

## Changelog
🆑
fix: Fixed flaggelant's robe spamming your chat with gravity messages
/🆑

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
2025-05-16 16:59:29 +03:00
SmArtKar
13e1c49c7d Planemaster Debugger Refactor (#91094)
## About The Pull Request

Rewrote the planemaster debugger to be more legible and useful. Planes
are now clustered based on their dependants, all buttons have been moved
to the header, connections are highlighted when hovering over nodes and
you can see filter type and blend mode when clicking the node (deleting
a connection is done through a button in the tooltip)


![HIvL79iDn0](https://github.com/user-attachments/assets/b6a94c01-8f3b-416e-9fd2-e91cb4499740)

## Why It's Good For The Game

Old planemaster debugger is horrifically jank to use, has broken visual
offsets for all nodes, connections and buttons, and is in a single
thousand line long file.

## Changelog
🆑
refactor: Refactored the planemaster debugger tool
/🆑
2025-05-15 22:51:19 -07:00
Joshua Kidder
22c9a2512b Fixes item pickup animation playing when you move some things to containers on your person (#91128)
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2025-05-15 21:22:26 +02:00
_0Steven
6590760f56 Resolves merge skew, fixes broken quirk equipping (#91158)
<!-- 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

#90869 and #90937 ran into some nice merge skew issues, where the latter
got in despite its slot lists needing to be adjusted to go with the
former.

...But `LOCATION_MASK` never existed. So this pr adds that.

......But `equip_in_one_of_slots(...)` wouldn't actually do anything,
because of trying to treat a regular list like an associative list with
corresponding item slots. So this pr adds those corresponding item
slots.

This should fix our issues.

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

## Why It's Good For The Game

less jank
also hey resolves our merge skew

<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and its effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
fix: Fixes quirks and the scarf trait just dropping items to the ground.
/🆑

<!-- 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. -->
2025-05-15 03:29:57 +00:00
SmArtKar
352c7ecdd7 Refactors ITEM_SLOT_BACKPACK and ITEM_SLOT_BELTPACK out of inventory code (#90869)
<!-- 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

So yesterday I've spotted that we had wrong SLOTS_AMT value set, and
went a bit down a rabbit hole and found how abhorrent our
ITEM_SLOT_BACKPACK and ITEM_SLOT_BELTPACK usage is. They're not real
inventory slots, but just "hints" at items being located in backpacks or
belts, or instructions to put an item into a belt/backpack. This PR
rewrites all usages of them as "hints", and adds an equip_to_storage
proc used to equip an item into a storage positioned in a certain slot,
so ``equip_to_slot_if_possible(item, ITEM_SLOT_BACKPACK)`` is now
``equip_to_storage(item, ITEM_SLOT_BACK)``

## Why It's Good For The Game

Its really stupid and we shouldn't have those as slot flags,
ITEM_SLOT_HANDS at least makes sense but those two are just absurd.
Should make equipping things into non-backpack storage a bit easier too,
in case we end up going through with the idea of suit/uniform pockets
being a major part of player inventory.

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and its effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
refactor: Refactored how backpack and belt contents are handled in mob
inventory code, report any issues with lingering item effects or
inability to equip things into them!
/🆑

<!-- 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. -->
2025-05-15 01:07:41 +01:00
FlufflesTheDog
d31c761237 Fix multitool arrow hard delete (#91114) 2025-05-14 14:58:07 -07:00
Lucy
2719ca1866 update rust-g to 3.9.0 and use formatted_timestamp for human_readable_timestamp (#91121) 2025-05-14 14:56:37 -07:00
John Willard
75994588f2 Fixes advanced cameras not showing static (#91075) 2025-05-14 14:55:39 -07:00
Aliceee2ch
497d0b83af Mech thermal guns (#90928)
## About The Pull Request

PR adds new unique weapons for mechs - thermal cannons. You can only buy
them in cargo in the "armory" category for 5k, which adds cooperation
between cargo and science (maybe even security, since you need their
access to open the crate).
Thermal guns only work better in pairs, allowing them to reload faster.
You can't have 2 of the same thermal guns (not that you could use them
anyway even if you could install the same ones)

Sprites by: https://github.com/sylvia-from-fulp-station


https://github.com/user-attachments/assets/d78504b9-90b8-4f8b-b850-fa96dd8ef554

## Why It's Good For The Game

Mechs don't need buffs, but a greater variety of weapons. Thermals will
be a good example of combining both energy weapons and ballistic weapons
(which mechs lack so much, since all we have from ballistics is Hades,
which does not damage at all). It will also be, in my opinion, the first
interesting weapon that not only shoots, but also gives some bonuses
when used correctly.

## Changelog


🆑
add: Added heavy thermal guns for mechs. Works on the principle of
regular hand guns. Can only be purchased in cargo, as they are
experimental.
/🆑
2025-05-14 21:11:12 +10:00
spiders24110
a045f23eef Fixes fishpeople swimming slow in deep water (#91132)
## About The Pull Request
Instead of having the deep water tile slow people down, they get slowed
down by the swimming status effect. Fishpeople are immune to that
slowdown.
## Why It's Good For The Game
glug
## Changelog
🆑
fix: fixed fish infused people swimming slow in deep water
/🆑
2025-05-14 09:48:27 +01:00
Nick
03a935f939 Adds a new expansion card to nukie base, and buffs nukie ordnance (#90967)
## About The Pull Request

Rearranges some stuff in nukie base and adds a freezer line into the
chamber, with a electrizer for hydrogen.
Adds a pipe scrubber so nukies can clean the pipeline out faster
and adds a new keycard the janitorial closet for 10 TC coming with
neccesary janitor equipment and a water vapour canister!

![image](https://github.com/user-attachments/assets/c3e63b1c-c343-43d1-b6ca-3028927353f9)


## Why It's Good For The Game

Crew can already make hydrogen pretty fast and usually suicide bomb
nukies with it, this allows nukies (who think a little out of the box to
do the same with the crew, adding more setups possible with the ordnance
section and some quality of life aswell like a door letting the person
trough it

## Changelog

🆑 Ezel
add: Nuke ops can now buy a keycard to access their new custodial
closet!
map: Rearranges nuke ordnance room, and adds the custodial closet
/🆑
2025-05-13 18:44:11 -07:00
Iajret
e7ae05ed58 Fixes Applied Bluespace Research experiment requirement (#91116)
## About The Pull Request
Adds missing discount amount so experiment works properly now.

Before:


![image](https://github.com/user-attachments/assets/72e5a7db-db9e-435b-b0f6-5cf80636da1e)

After:


![image](https://github.com/user-attachments/assets/6269486a-bc6f-4f99-8de7-8826694ca97e)
## Why It's Good For The Game
## Changelog
🆑
fix: fixed bluespace sampling experiment not doing anything
/🆑
2025-05-13 14:12:31 -07:00
John Willard
790112ae9a Fixes a few bad combat logs (#91073)
## About The Pull Request

Fixes the following issues:

1. Simple animals & Basic animals attacking things show their previous
HP as "NEWHP"
2. throwing things show their previous HP as "NEWHP"
3. Silicons being attacked by Xenomorphs logs combat twice, and both
show their previous HP as "NEWHP"
4. Silicons being attacked by Xenomorph and missing doesn't log the
attempted attack.
5. Failing to be facehugged doesn't log the attempt.
6. Attacking an Alien larva showed their previous HP as "NEWHP", and
didn't log misses.

## Why It's Good For The Game

It's nice when logs show the right information and show combat even if
they miss the punch.

## Changelog

🆑
admin: Fixed a few bad combat logs for basic/simple animals, thrown
things, and xenomorph stuff.
/🆑

---------

Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
2025-05-13 23:28:19 +03:00
necromanceranne
2073ad23e3 Stops you getting into a mech if you have stuff in your hands at all. (#91046)
## About The Pull Request

Makes it so that it is impossible to enter a mech if your hands are
full.

## Why It's Good For The Game

This can result in some...very unintended behavior should somehow you
cannot be forced to drop items in your hands.

## Changelog
🆑
fix: You must have both your hands empty before entering a mech. (But
items which replace your hand, like the light later or the hand of god,
won't prevent you from getting in)
/🆑
2025-05-13 15:09:22 +03:00
SmArtKar
8fc6aacc79 Fixes wheelchair TTV logging, prevents detonation when stunned/timestopped (#91010)
## About The Pull Request
Wheelchair bell detonation did not give any fingerprints to the bomb,
resulting in the person who attached it not being logged anywhere. The
bell action could also be used while stunned or paralyzed, allowing you
to blow yourself up during timestop which is a bit silly.

## Why It's Good For The Game

Makes admins job easier, fixes an oversight/exploit.
2025-05-13 06:16:36 +00:00
OnlineGirlfriend
72436b9b8d [Ready] Add girlypop posters (#91102) 2025-05-13 01:57:43 -04:00
Y0SH1M4S73R
b9149075f6 Summon Cheese sometimes has a different invocation (#91053)
## About The Pull Request

When created, each instance of Summon Cheese has a 50% chance of its
invocation being changed to use the actual ref string for
`/obj/item/food/cheese/wheel`, instead of Skyrim's item id for cheese
wheels.

## Why It's Good For The Game

The invocation for Summon Cheese is itself a reference to a debug
feature from another video game. Why not add an extra layer of
meta-humor by occasionally using the actual ref string for the summoned
object's typepath in the invocation?

## Changelog

🆑
spellcheck: The invocation for Summon Cheese is sometimes more
representative of the realities of life aboard the station.
/🆑
2025-05-12 20:39:37 -07:00