Commit Graph

209 Commits

Author SHA1 Message Date
nevimer 6e9f2ccfc0 Merge remote-tracking branch 'tgstation/master' into upstream-12-15
# Conflicts:
#	.github/workflows/compile_all_maps.yml
#	.github/workflows/run_integration_tests.yml
#	_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm
#	code/_onclick/hud/credits.dm
#	code/controllers/subsystem/networks/id_access.dm
#	code/datums/diseases/advance/advance.dm
#	code/datums/diseases/advance/symptoms/heal.dm
#	code/game/machinery/doors/door.dm
#	code/game/objects/structures/crates_lockers/closets/secure/medical.dm
#	code/game/objects/structures/crates_lockers/closets/secure/security.dm
#	code/modules/antagonists/malf_ai/malf_ai_modules.dm
#	code/modules/jobs/job_types/_job.dm
#	code/modules/loadout/categories/accessories.dm
#	code/modules/loadout/loadout_helpers.dm
#	code/modules/loadout/loadout_items.dm
#	code/modules/loadout/loadout_preference.dm
#	code/modules/mob/living/silicon/robot/robot_defense.dm
#	code/modules/mod/mod_theme.dm
#	code/modules/projectiles/ammunition/energy/laser.dm
#	code/modules/reagents/reagent_containers/cups/drinks.dm
#	code/modules/shuttle/mobile_port/variants/supply.dm
#	code/modules/surgery/organs/internal/eyes/_eyes.dm
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_heretic.png
#	icons/hud/screen_full.dmi
2025-12-15 18:12:29 -05:00
Thunder12345 1d270f5f27 Converts pre-rework generic heretic gear into chaplain clothing and a null rod (#94363)
## About The Pull Request

Reused the old pre-rework heretic robe and blade assets as a new set of
chaplain gear and null rod option.

Replaced the last few existing uses of the now spriteless generic robe:
- Deathmatch, changed heretic warrior to use blade robes
- Deathmatch, changed ripper to use the new chaplain armour
- Tribal mothman legion corpse, changed to use new chaplain armour
- Heretic preview and hallucination, changed to use rust robes
- Heretic virtual domain, changed to use rust robes

<img width="127" height="131" alt="image"
src="https://github.com/user-attachments/assets/690e848e-5191-44d4-bd58-5e338fa2aa4e"
/>

## Why It's Good For The Game

Chaplains are the playground of old magic content assets, where they
find a second life as cosplay outfits. Chaplains can already cosplay
cultists, it's only fair that they can pretend to be a heretic as well.

## Changelog
🆑
add: Added a new set of chaplain armour based on the generic heretic
robes unavailable since the path rework.
/🆑
2025-12-07 19:50:19 +00:00
RikuTheKiller be1f231869 Lock R&D console boards by default (#94114)
## About The Pull Request

This PR makes all R&D console boards that are either printed or sourced
from tech storage start out locked. They can be unlocked by swiping them
with an ID that has research access.

R&D consoles can also be unlocked with an emag, but doing so will break
their comms circuit as well, making all researched nodes broadcast over
public comms. You can still emag the console itself after it's been
constructed without breaking it in any way, while also silencing
announcements instead. (that's definitely a noob trap, but it's out of
scope for this PR)

The reason why the tech storage board is locked as well is because the
goal of this PR is to stop engineers from making R&D consoles, and
engineers have access to tech storage. Leaving the board unlocked and
moving it to secure tech storage would make engineers break in there
every shift.

The changelog basically has a FAQ for "Okay, so what do I do instead?",
because I know people will be confused about what route they're intended
to take when science closes their desk shutters for the umpteenth time
this week.
## Why It's Good For The Game

Engineering has a habit of making an R&D console every round to bypass
having to ask science or a head of staff to research things. Locking the
consoles at least makes engineers consider asking science to do
science's job.

Note that this doesn't solve the issue entirely, it just removes the
easiest and most convenient way of bypassing science. Engineers can
still break into R&D extremely easily using their wire knowledge, and do
so regularly.

More importantly though, this might shine some light on the fact that
heads of department like the CE have remote access to the research
network via their PDAs. This means engineers can ask the CE to research
things for them.

Asking people with access to the research network to research things is
a lot better for roleplay and immersion than having engineering
construct R&D consoles every shift.

## Changelog
🆑
balance: R&D console boards sourced from printing or tech storage are
now locked by default. It's recommended to ask your respective head of
department or the science department to complete research for you. Heads
of department can remotely access the research network using their PDAs.
/🆑
2025-12-05 19:12:22 -05:00
Ghom 0b0c5ea91e Unit test material checks are now performed on all crafting recipes by default. All stack recipes now transfer mats to the results (#92620)
## About The Pull Request
Extends the part of the crafting unit test that ensures consistency
between the total mats of the components of a recipe (or rather, the
result of said recipe) and a generic instance of the same type as its
result, previously only implemented on food recipes.

## Why It's Good For The Game
This ensures a degree of consistency with the material composition of
various objects in the game. I couldn't do it in the original PR as that
one was too big already and it took months to get it merged, and have
the relative bugs fixed.

Currently a WIP as I slowly deal with the unit test reports.

## Changelog

🆑
refactor: Follow-up to the crafting/material refactor from months ago.
All objects crafted with stacks now inherit their mat composition (not
necessarily the effects and color) by default, while previously only a
few things like chair, sinks and toilets did. Report any object looking
or behaving weirdly as a result.
fix: The material composition of ammo boxes is no longer a 1/10 of what
it's supposed to be. It was a shitty hack to make it harder to recycle
empty ammo boxes. Instead, they lose materials as they're emptied now.
/🆑
2025-12-02 18:29:01 -05:00
SmArtKar 316a58948c Assembling med/repair/secbots will now put their assemblies in your main hand instead of your offhand, and only do so if you held the original item (#94078)
## About The Pull Request

Bot assemblies will only be picked up if you held the item you attached
the arm/sensor to, and will be put into the hand which you held the
storage item in.
Also changed firebots assemblies to item_interaction

## Why It's Good For The Game

Usually you don't want to pick up the assembly if you're making a bunch
of bots on the ground en-masse, and having the assemblies be put in your
offhand and not your main hand despite the latter just being freed is
weird and clunky.

## Changelog
🆑
qol: Bot assemblies will only be picked up if you held the
medkit/toolbox/helmet/etc in your hands when creating one.
qol: Assembling med/repair/secbots will now put their assemblies in your
main hand instead of your offhand
/🆑
2025-11-30 03:07:31 +01:00
Roxy e28e9fbdba Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-23-10-2025 2025-10-23 17:38:23 -04:00
L0pz 0df0ef5b7b Adds purity seals (#93496)
## About The Pull Request

Adds purity seals for the chaplain's use. Calling them cheap stickers
may get you branded as a heretic.


## Why It's Good For The Game


Sometimes people need more than just your word that their lead pipe has
been blessed by you, the most holy chaplain. That's where the purity
seals come into play, as they are a visual indicator of your deity's
approval.
<img width="259" height="182" alt="image"
src="https://github.com/user-attachments/assets/5492bae8-175a-4387-9279-263fbb492510"
/>


## Changelog
🆑
add: Added purity seals, which may be found inside two boxes being sold
by the Deus-Vend
/🆑
2025-10-19 02:16:19 +03:00
Roxy d14e538393 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-15-10-2025 2025-10-15 19:34:41 -04:00
Tim f27682c7e4 Add admin debug goggles to show area blueprints (#91879)
## About The Pull Request
This adds an admin version of meson goggles that lets someone see the
area overlays.


![dreamseeker_yUcjxWEcM8](https://github.com/user-attachments/assets/39f237ea-5d40-4799-a827-7c3b2b9d9eaf)

It has also been added to the admin debug tools.

## Why It's Good For The Game
Useful for construction projects.

## Changelog
🆑
admin: Add admin debug goggles that lets you see area overlays which is
useful for construction projects.
image: Add icons for admin debug goggles (which is just a reskinned
color version of mesons)
code: Improve meson code to be more robust
/🆑
2025-10-05 12:44:15 -07:00
xPokee 9b282a850e Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-sync 2025-09-17 11:45:44 -04:00
LT3 c3aa5ff596 box of XL shotgun darts no longer has an XL name (#93002)
## About The Pull Request

Fixes the name of XL shotgun darts

## Why It's Good For The Game

"A box full of shotgun darts with increased chemical storage capacity"
barely fits on the screen as a tooltip

## Changelog

🆑 LT3
fix: 'a box full of shotgun darts with increased chemical storage
capacity' now has a shorter name
/🆑
2025-09-17 03:02:28 +02:00
Tim 70463dcb59 Add GPS debug tool to admin debug box (#92925)
## About The Pull Request
This adds the existing GPS debug tool to the admin debug box that
displays x, y, z coordinates on a turf that is somewhat useful when
testing z-level boundaries.

<img width="1920" height="1080" alt="dreamseeker_NyC1iJ4SPK"
src="https://github.com/user-attachments/assets/a7153fa5-5195-4500-8aa7-57584d19fe85"
/>

## Why It's Good For The Game
Easier debug tools for testing.

## Changelog
🆑
qol: The GPS debug tool will now spawn with the admin outfit apart of
the debug tools
admin: Add GPS debug tool to admin debug box
/🆑
2025-09-10 19:53:53 -07:00
xPokee 939f2fc9ac Merge branch 'master' of https://github.com/tgstation/tgstation into xpokee-test-upstream-sync 2025-09-10 14:12:16 -04:00
massaheartsu 50499dba9a Adds opium and meth rocks! (#92699)
## About The Pull Request


![demo2](https://github.com/user-attachments/assets/26223fa6-6eb8-43eb-ba87-54be7d2c19b3)<img
width="612" height="185" alt="dreamseeker_SNMvxqCRiR"
src="https://github.com/user-attachments/assets/1d3103e9-edc1-4e50-8793-c8c2ace53aea"
/>

This is a small expansion to narcotics, their production, and presence
in the game! For my esteemed Terry and Manuel/Sybil sector colleagues
I've added:
- 2 new solid drug items: **crystal meth and opium**!
- A **precipitation reaction** for meth after it's been cooled,
producing a solid crystal form, 2u sulfuric acid, 10u meth. **Above 90%
purity, the meth will gain an increasingly blue tint!**
- A production method for opium! Slice a well developed poppy pod with
any sharp item, **before it's fully mature and flowered** to extract a
small amount of opium to enjoy! It's a small container for morphine. Can
be pressed together to combine the concentrations up to 10u, as each
extraction contains trace amounts. Scales off poppy's potency.
- Populated narcotics/contraband spawners with new items, and items that
really should have been on there.
- Added a brand new smoking apparatus, the glass pipe! Can be crafted.
Fixed the transparent pixel.
- **Fixed methsplosions so that now spacemen can finally smoke meth
without exploding!!!** Omegaweed too. Normal methsplosions are
untouched!
- **Expanded the ability for players to insert all drug items into
pipes**, so now players can smoke moon rocks, SaturnX, and my new items!
Previously, only 'dried' items were.
- Fentanyl patch box for narcotics spawner, also for a new ruin I've
made.
- **Expanded these changes to the black market uplink.** 
<img width="640" height="256" alt="demo"
src="https://github.com/user-attachments/assets/c8a0eb2c-b0fa-4e70-b6c1-2e741cd170a2"
/>

Now, players can precipitate meth into a solid form, and produce opium.
I added a lot of these substances and the ones that didn't exist into
spawners that they were partially in, or could reasonably be in. The
opium poppy extraction required a new variable that can be used for
similar interactions too. Crystal sprites are transparent, smoked sprite
has a nice little animation and glow.

These items are now on the black market uplink, in both expensive dealer
shipments of varying rarities for different narcotics, as well as
personal use quantities on a different rotation, at a steeper price.
Expanded randomized spawners to give the black market and ruins more
teeth and edge, without adding another weapon.

Credit to the moon rock guy, I'm just happy I made your stuff smokable!!
<img width="219" height="201" alt="dreamseeker_N8x9bsN3kS"
src="https://github.com/user-attachments/assets/64d23c27-92b9-423b-91ac-903b8476d0b4"
/>


tl;dr added opium and meth
## Why It's Good For The Game
For **too long**, narcotics, chems and stims have been mere integers or
buffs/debuffs in pills or syringes, so I introduced two new methods for
making them and populated niche, criminal vectors with them. These are
real items now, with more interactions. Allowing these to be smoked also
allowed moon rocks and SaturnX to be smoked too, including them into
this and enticing players to have another reason to make them as well.
Buffs with drawbacks, addictions and problems are actually great.

It's a new venue for flavor. I've put thought into the balance for
addition and quantity. It'll add a criminal, or exotic tone to a round,
provide new business opportunities, and new access to stims and chems
without going over the top. Perhaps something peaceful antagonists can
do. More proverbial floor pills give security or command something to
selectively enforce, and absolutely provide novel opportunities for
medical staff!

Also, methsplosions now don't happen in cigarette items! You can smoke
omegaweed without fucking dying!
## Changelog
🆑
add: Added meth, opium, and their production! Also added to black market
uplink.
add: Added a craftable glass pipe.
add: Added to contraband spawners. 
qol: Can now insert any drug item into a pipe.
fix: Spacemen can now smoke meth without exploding!!
/🆑

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
2025-09-09 01:13:46 +00:00
nevimer b348b617a3 Merge branch 'master' of https://github.com/tgstation/tgstation into pupstream-2025-09-07
# Conflicts:
#	README.md
#	code/__DEFINES/admin.dm
#	code/__DEFINES/melee.dm
#	code/_globalvars/traits/_traits.dm
#	code/controllers/subsystem/economy.dm
#	code/datums/components/crafting/crafting.dm
#	code/datums/elements/crusher_loot.dm
#	code/modules/antagonists/pirate/pirate_shuttle_equipment.dm
#	code/modules/clothing/suits/_suits.dm
#	code/modules/escape_menu/leave_body.dm
#	code/modules/jobs/job_types/_job.dm
#	code/modules/mining/equipment/mineral_scanner.dm
#	code/modules/mob/living/living.dm
#	code/modules/plumbing/plumbers/pill_press.dm
#	tgui/packages/tgui/interfaces/Vending.tsx
2025-09-07 00:37:52 -04:00
MrMelbert 59f8de91dc Adds 5 Bond-tier gadgets to the Spy's reward pool (#92481)
## About The Pull Request

1. Penbang

A flashbang disguised as a pen. Clicking the pen arms the flashbang and
has no other visual or audio tell besides the pen clicking.
The fuse's length is based on the angle the pen cap is twisted. 
Works as a normal pen otherwise.

2. Camera Flash

A camera with a high power flash. 
Clicking on an adjacent target will flash them, ie, as a handheld flash.
Works as a normal camera otherwise - no tell.

3. Dagger Boot

A pair of jackboots with a blade embedded in them.
Makes your kicks sharp, meaning they will cause bleeding.
Looks like normal jackboots otherwise, though has a tell on
double-examine

4. Monster Cube Box

A box containing 5 monster cubes, which spawn into a random monster when
wet.
Monsters include Migos, Carps, Bears, Spiders, Wolves...

5. Spider Bite Scroll

A martial art focused around kicks and grabs. 
- Punches against standing, staggered targets will instead kick them,
applying the bonus accuracy and damage that you'd expect from a kick.
(Also combos with the dagger boots)
- All kicks have a chance to disarm the target's active weapon. Chance
increases per sequential kick.
- Grants you the innate ability to tackle. This form of tackling has a
very high skill modifier, meaning you are very likely to get a positive
outcome (or at least, not fail). You also get up fast from it.
- Your grabs are 20% harder to escape from and deal an additional 10
stam damage on fail.

## Why It's Good For The Game

1, 2, 3: Just some random flavorful items, giving them some more toys to
use to complete bounties.

4: Shenanigans, for people who just wanna do "funny thing" instead of
focusing on big loot.

5: I figured it would fill a fun niche: Spies are commonly depicted as
martial artists, and the only martial arts they can obtain is Krav Maga
(it's not unique to Spies) and Sleeping Carp (it's not unique to Spies).
This gives them their own thing that people may look forward to
acquiring and playing around with.
As for the design of it, I wanted to add something that synergizes with
one of the other other items, so in the field if you notice both of them
pop up you really want to go for both.
The rest of the design I just filled in as vaguely useful and flavorful
tools a spy might want for kidnapping or detaining people: Better grabs,
tackling, and disarms.
Then I just went with the flavor of it being something the Spider Clan
used to teach to their Spies / Ninjas, kinda like an analog to the real
life Ninjutsu. (Maybe we can give it to Space Ninjas as well later...
since it doesn't especially benefit Ninjas in any way.)

## Changelog

🆑 Melbert
add: Adds 5 rewards to the Spy item pool: Penbang, Camera Flash,
Dagger-Boot, Monster Cube Box, and the Spider Bite martial art
/🆑
2025-08-26 10:22:11 +10:00
panvxv 2ae097d92d Chaplain's armors fixes and tweaks - matching body parts covered with coresponding sprites (#92446)
## About The Pull Request
Matching body parts covered of chaplain's armor to sprites. I think a
leftover from times when those armours where subtype of riot armour.

<img width="75" height="69"
alt="474691928-183826a3-79e5-431e-aed5-b9a02a2c382e"
src="https://github.com/user-attachments/assets/072228c8-6b04-4aef-b656-aae757af6a7a"
/>

Adept armor was covering arms, hands and feet yet it sprite wasn't
covering those parts. In exchange gave bone bracers to the kit so it
wasn't the worst choice.
<img width="66" height="77" alt="obraz"
src="https://github.com/user-attachments/assets/f3b3ab73-df07-4dc9-890a-47122163f3f5"
/>

Same for Divine Archer coat. It's unique boots and bracers now have
armor. Boots provide less protection to keep the archer comfortable
while on the move (RP reason). (Real reason: so armor from coat and
boots don't give too much legs protection)

## Why It's Good For The Game
Makes Chaplain's armor less confusing. No exposed arms with secret 50%
melee resist. Exposed limbs are actually exposed.
Profane Kit getting something unique - really strong helmet against
melee.
## Changelog
🆑
add: Bone bracers to Divine Adept kit
qol: Adept robes doesn't cover arms, hands and feet as to match the
sprite
qol: Ancient armour doesn't cover hands as to match the sprite
qol: Divine Archer coat doesn't cover arms, hands and feet as to match
the sprite
qol: Divine Archer bracers now have the same armor as Divine Archer coat
balance: Divine Archer boots have their own unique armor
/🆑

(cherry picked from commit 255801a668)
2025-08-08 15:32:33 -04:00
panvxv 255801a668 Chaplain's armors fixes and tweaks - matching body parts covered with coresponding sprites (#92446)
## About The Pull Request
Matching body parts covered of chaplain's armor to sprites. I think a
leftover from times when those armours where subtype of riot armour.

<img width="75" height="69"
alt="474691928-183826a3-79e5-431e-aed5-b9a02a2c382e"
src="https://github.com/user-attachments/assets/072228c8-6b04-4aef-b656-aae757af6a7a"
/>

Adept armor was covering arms, hands and feet yet it sprite wasn't
covering those parts. In exchange gave bone bracers to the kit so it
wasn't the worst choice.
<img width="66" height="77" alt="obraz"
src="https://github.com/user-attachments/assets/f3b3ab73-df07-4dc9-890a-47122163f3f5"
/>

Same for Divine Archer coat. It's unique boots and bracers now have
armor. Boots provide less protection to keep the archer comfortable
while on the move (RP reason). (Real reason: so armor from coat and
boots don't give too much legs protection)

## Why It's Good For The Game
Makes Chaplain's armor less confusing. No exposed arms with secret 50%
melee resist. Exposed limbs are actually exposed.
Profane Kit getting something unique - really strong helmet against
melee.
## Changelog
🆑
add: Bone bracers to Divine Adept kit
qol: Adept robes doesn't cover arms, hands and feet as to match the
sprite
qol: Ancient armour doesn't cover hands as to match the sprite
qol: Divine Archer coat doesn't cover arms, hands and feet as to match
the sprite
qol: Divine Archer bracers now have the same armor as Divine Archer coat
balance: Divine Archer boots have their own unique armor
/🆑
2025-08-07 14:13:15 +00:00
Aliceee2ch cc1d778418 Fixed the nukies outpost chemical locker not having beakers inside of the beaker box (#92365)
## About The Pull Request

title

## Why It's Good For The Game

because you pay tc for chemical room + not intended

## Changelog

🆑
fix: Fixed the nukies outpost chemical locker not having beakers inside
of a beaker box
/🆑
2025-08-04 20:53:36 -04:00
Aliceee2ch 22a2a4006f Fixed the nukies outpost chemical locker not having beakers inside of the beaker box (#92365)
## About The Pull Request

title

## Why It's Good For The Game

because you pay tc for chemical room + not intended

## Changelog

🆑
fix: Fixed the nukies outpost chemical locker not having beakers inside
of a beaker box
/🆑
2025-08-01 02:49:53 +02:00
Nick 9cb4fb1023 Nukie base, expansion expansion pack! (#91829)
## About The Pull Request

## Chemical Department
Adds a extra section to the chemlab, with materials and even a empty
bomb case for your evil chemistry needs!
Adds various beakers sizes of beakers to do chemistry with, gives one
chemical payload that can hold up to 5 beakers to nukies
Adds a locker with chemical closet supplies, medigels pill bottles
beakers.
Adds a hand labeler to properly label your stuff with! a succesfull
nukie is a organized one
Adds a toolbox for properly editing of grenades and plumbing
Adds a smart fridge ontop of the window to store your stuff in

![image](https://github.com/user-attachments/assets/d05418ac-64be-4cfd-817d-b67208192f40)

## Bio Terrorism Department
Expands the cells so you no longer have to juggle your slimes between 2
cells
Adds a big BZ chamber to store the slimes your not breeding in (enough
space to contain every color)
adds a fully upgraded slime proccesor aswell!

![image](https://github.com/user-attachments/assets/f4d35f2e-c96a-4f07-a5b7-5d6d9f73eace)

## Medical section
Moves some stuff to make place for a operating computer

![image](https://github.com/user-attachments/assets/1c9dc5e8-8033-42fa-ae2f-557873cf2230)

This also introduces a new locker sprite made by aliceee2ch
and one chemical payload variant by me

## Why It's Good For The Game

Removes some of the jank and make these places easier to use.
Adds extra stuff to the chemical section to widen the options you can do
as nukies. and make the lab a more proper lab toolwise then the absolute
bare mininum

## Changelog
🆑 Ezel
balance: Nukie Chemistry section, now includes a proper chemistry locker
with pill bottles medigels and big beakers
balance: Nukie Chemistry section, now has a extra section attached to it
that holds some limited amount chemistry materials and a empty bombcase.
balance: Nukie Chemistry section, now has various sizes of beakers, a
special chemical payload that can hold up to 5 beakers, and a hand
labeler to tag your stuff with
map: Nukie Chemistry section, now has a smartfridge
map: Nukie xenobiology section widened and added a fully upgraded slime
proccesor
sprite: New syndicate chemical locker sprite by aliceee2ch
sprite: Adds a darker version of chemical payload only for nukies
/🆑

---------

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2025-07-19 20:29:22 -04:00
Nick 60549f1c56 Nukie base, expansion expansion pack! (#91829)
## About The Pull Request

## Chemical Department
Adds a extra section to the chemlab, with materials and even a empty
bomb case for your evil chemistry needs!
Adds various beakers sizes of beakers to do chemistry with, gives one
chemical payload that can hold up to 5 beakers to nukies
Adds a locker with chemical closet supplies, medigels pill bottles
beakers.
Adds a hand labeler to properly label your stuff with! a succesfull
nukie is a organized one
Adds a toolbox for properly editing of grenades and plumbing
Adds a smart fridge ontop of the window to store your stuff in

![image](https://github.com/user-attachments/assets/d05418ac-64be-4cfd-817d-b67208192f40)

## Bio Terrorism Department
Expands the cells so you no longer have to juggle your slimes between 2
cells
Adds a big BZ chamber to store the slimes your not breeding in (enough
space to contain every color)
adds a fully upgraded slime proccesor aswell!

![image](https://github.com/user-attachments/assets/f4d35f2e-c96a-4f07-a5b7-5d6d9f73eace)

## Medical section
Moves some stuff to make place for a operating computer

![image](https://github.com/user-attachments/assets/1c9dc5e8-8033-42fa-ae2f-557873cf2230)

This also introduces a new locker sprite made by aliceee2ch
and one chemical payload variant by me

## Why It's Good For The Game

Removes some of the jank and make these places easier to use.
Adds extra stuff to the chemical section to widen the options you can do
as nukies. and make the lab a more proper lab toolwise then the absolute
bare mininum

## Changelog
🆑 Ezel
balance: Nukie Chemistry section, now includes a proper chemistry locker
with pill bottles medigels and big beakers
balance: Nukie Chemistry section, now has a extra section attached to it
that holds some limited amount chemistry materials and a empty bombcase.
balance: Nukie Chemistry section, now has various sizes of beakers, a
special chemical payload that can hold up to 5 beakers, and a hand
labeler to tag your stuff with
map: Nukie Chemistry section, now has a smartfridge
map: Nukie xenobiology section widened and added a fully upgraded slime
proccesor
sprite: New syndicate chemical locker sprite by aliceee2ch
sprite: Adds a darker version of chemical payload only for nukies
/🆑

---------

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2025-07-12 22:54:58 +00:00
grungussuss fec4a2e9b7 /obj/item/clothing/head/mob_holder -> /obj/item/mob_holder (#91893)
## About The Pull Request
title
## Why It's Good For The Game
it inherits a lot of behavior from clothing which leads to lots of bugs
when it isn't actually clothes, for example: shredded overlays. this
should be better.
probably fixes a bunch of bugs
## Changelog
🆑
code: mob holders are no longer subtypes of clothes, report any issues
/🆑

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2025-07-04 16:41:47 -04:00
grungussuss 613581897e /obj/item/clothing/head/mob_holder -> /obj/item/mob_holder (#91893)
## About The Pull Request
title
## Why It's Good For The Game
it inherits a lot of behavior from clothing which leads to lots of bugs
when it isn't actually clothes, for example: shredded overlays. this
should be better.
probably fixes a bunch of bugs
## Changelog
🆑
code: mob holders are no longer subtypes of clothes, report any issues
/🆑

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2025-07-01 14:20:48 +01:00
SyncIt21 1428f663e0 Part 4: Storage Improvements (#90783)
- Address
https://github.com/tgstation/tgstation/pull/90476#discussion_r2051701283.
Makes pill bottle code cleaner
- Datumized some more storage values(monkey guncase toolbox & crafter
toolbox) making their init slightly faster
- Moved all standard storage subtypes(bags, boxes, lockboxes etc) that
is scattered across various files & folders in the codebase into their
respective files under `code/game/objects/item/storage` folder.
This means for e.g. if you want to see all boxes in the game you can
find them in `code/game/objects/item/storage/boxes` folder & don't have
to go looking for hidden subtypes in various module files or folders
where they were hidden away.
  Makes looking for stuff & modifying these storages much saner & easier

🆑
code: organized storage subtypes under the same files & folders
/🆑

---------

Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
2025-05-08 19:02:00 -04:00
SyncIt21 455fe545e0 Part 4: Storage Improvements (#90783)
## About The Pull Request
- Address
https://github.com/tgstation/tgstation/pull/90476#discussion_r2051701283.
Makes pill bottle code cleaner
- Datumized some more storage values(monkey guncase toolbox & crafter
toolbox) making their init slightly faster
- Moved all standard storage subtypes(bags, boxes, lockboxes etc) that
is scattered across various files & folders in the codebase into their
respective files under `code/game/objects/item/storage` folder.
This means for e.g. if you want to see all boxes in the game you can
find them in `code/game/objects/item/storage/boxes` folder & don't have
to go looking for hidden subtypes in various module files or folders
where they were hidden away.
  Makes looking for stuff & modifying these storages much saner & easier

## Changelog
🆑
code: organized storage subtypes under the same files & folders
/🆑

---------

Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
2025-05-02 23:25:58 +02:00
Fazzie f6f4477ac5 CatwalkStation (#90532)
Adds CatwalkStation into the game.
Also adds its associated arrival shuttle, cargo shuttle and escape
shuttle.
Also adds a few new floor variants: coldroom openspace and breathable
air shuttle hulls.

Full Catwalk FAQ, Feedback Central and Why It's Good for the Game:
https://hackmd.io/@kNRZ9uxhShS3s2N9scOXxQ/BJgfF0JhR

Also, I added a new tag for maps, so any Multi-Z map can opt out of
having grappling hooks spawn in their bags. Catwalk was designed so the
lower level is of easier access than the more restricted top access, so
the problem of people falling into rooms they can't get out of is fixed,
+ it was giving a bunch of unintended access to places.

![365327162-97242637-002d-42d0-9882-aae73ebfa823](https://github.com/user-attachments/assets/c39068ee-9b41-43d4-b56b-dccfb122d8fc)

![365327135-201a800d-6d8b-471b-a73d-698d5d7e67ff](https://github.com/user-attachments/assets/cae0e7bd-7452-45b9-8d34-4228fc89c9c4)

![365327148-b1edf06e-9581-4165-98e7-b728c58a421b](https://github.com/user-attachments/assets/0666b40a-0108-4a80-949b-fb3315fe0472)

![364005220-8d5df862-01fd-4216-86ea-c90b75769e12](https://github.com/user-attachments/assets/ddbb3ab0-973c-44bb-9255-9e5620845239)

![365327156-2396267a-7a0f-4eb8-90c7-c7fa16926b65](https://github.com/user-attachments/assets/a8ef57e6-c779-4eb8-9796-2f63e65c0eb8)

🆑
add: Adds CatwalkStation
code: Multi-Z maps now can toggle on or off having grappling hooks in
people's bags
/🆑

---------

Co-authored-by: Ical <86125936+Ical92@users.noreply.github.com>
Co-authored-by: Ical <wolfsgamingtips@gmail.com>
Co-authored-by: EEASAS <bentoemanuelll@gmail.com>
Co-authored-by: EEASAS <109891564+EEASAS@users.noreply.github.com>
Co-authored-by: Rex9001 <120136161+Rex9001@users.noreply.github.com>
Co-authored-by: GremlinSeeker <168238458+GremlinSeeker@users.noreply.github.com>
Co-authored-by: SmArtKar <master.of.bagets@gmail.com>
2025-04-29 18:29:02 -06:00
SyncIt21 81c9e6ebd3 Part 3: Storage Improvements (#90476)
Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2025-04-29 18:19:23 -06:00
John Willard fc62d98d31 Adds battery matches & gum wrappers (#89871)
## About The Pull Request

Adds bubblegum wrappers, I was originally gonna make it a trash type for
gum but thought it would hide the feature since there's no indication
that they are in a wrapper (and you'd have to eat the entire gum to get
to it, which I don't think you can even do?), so instead bubblegum boxes
have 4 wrappers which each holds 1 piece of gum.
These wrappers can be grinded down for aluminium, or used in a crafting
recipe with a cell of any kind to make a makeshift match, you can ignite
it by using it in your hand (at the cost of minor burn damage).

Fixes the description for matches having 2 periods in them

![image](https://github.com/user-attachments/assets/16b13b64-ca25-4f2f-ba7e-dcaca36f7442)

Icon for the wrapper is a recolored version of ``janitor.dmi``'s floor
sign, while the match itself is the "crappy" cell with a codersprited
stick of gum coiled around it, with a copy paste of the regular match's
fire for the fire.

## Why It's Good For The Game

For years I've thought of how cool it would be to add makeshift
equipment that prisoners could make, this is a pretty harmless addition;
a source of aluminium and matches. Prisoners currently are incredibly
dependent on prison loot spawn, which kinda sucks, and this is also
reliant on prisoner loots, but at the very least it means getting more
use out of the lesser-useful items.
It would be nice to open up new ways to play Prisoner that don't involve
some form of prison breakout.

## Changelog

🆑
add: Bubblegum now comes in wrappers.
add: You can make a match out of a battery and a gum wrapper.
spellcheck: Matches no longer have 2 periods in the description once
used.
/🆑
2025-04-29 17:44:47 -06:00
SyncIt21 82ef7f05c6 Part 2: Storage Improvements (#90390)
## About The Pull Request
Continuation of #90365

- Formatted some usages of `set_holdable()` to be more readable
- `exception_hold` list now stores its values inside `
GLOB.cached_storage_typecaches`. This means we don't have to manage a
static typecache list per storage but can share the value across all
storages making memory management slightly more efficient
- Monkey cube boxes now cannot hold gorilla cubes cause that would make
gorilla cube boxes obsolete also now gorilla cube boxes can now only
hold gorilla cubes & not general monkey cubes(which gorilla cubes is a
subtype of) cause that would make monkey cube boxes obsolete. We are
specializing each box for that specific use case

## Changelog
🆑
code: further improved storage code
fix: monkey cube boxes can no longer hold gorilla cubes & vice versa
/🆑
2025-04-29 17:43:39 -06:00
Fazzie b8adf96b37 CatwalkStation (#90532)
## About The Pull Request

Adds CatwalkStation into the game.
Also adds its associated arrival shuttle, cargo shuttle and escape
shuttle.
Also adds a few new floor variants: coldroom openspace and breathable
air shuttle hulls.

Full Catwalk FAQ, Feedback Central and Why It's Good for the Game:
https://hackmd.io/@kNRZ9uxhShS3s2N9scOXxQ/BJgfF0JhR

Also, I added a new tag for maps, so any Multi-Z map can opt out of
having grappling hooks spawn in their bags. Catwalk was designed so the
lower level is of easier access than the more restricted top access, so
the problem of people falling into rooms they can't get out of is fixed,
+ it was giving a bunch of unintended access to places.

## Changelog

![365327162-97242637-002d-42d0-9882-aae73ebfa823](https://github.com/user-attachments/assets/c39068ee-9b41-43d4-b56b-dccfb122d8fc)

![365327135-201a800d-6d8b-471b-a73d-698d5d7e67ff](https://github.com/user-attachments/assets/cae0e7bd-7452-45b9-8d34-4228fc89c9c4)

![365327148-b1edf06e-9581-4165-98e7-b728c58a421b](https://github.com/user-attachments/assets/0666b40a-0108-4a80-949b-fb3315fe0472)

![364005220-8d5df862-01fd-4216-86ea-c90b75769e12](https://github.com/user-attachments/assets/ddbb3ab0-973c-44bb-9255-9e5620845239)

![365327156-2396267a-7a0f-4eb8-90c7-c7fa16926b65](https://github.com/user-attachments/assets/a8ef57e6-c779-4eb8-9796-2f63e65c0eb8)



🆑
add: Adds CatwalkStation
code: Multi-Z maps now can toggle on or off having grappling hooks in
people's bags
/🆑

---------

Co-authored-by: Ical <86125936+Ical92@users.noreply.github.com>
Co-authored-by: Ical <wolfsgamingtips@gmail.com>
Co-authored-by: EEASAS <bentoemanuelll@gmail.com>
Co-authored-by: EEASAS <109891564+EEASAS@users.noreply.github.com>
Co-authored-by: Rex9001 <120136161+Rex9001@users.noreply.github.com>
Co-authored-by: GremlinSeeker <168238458+GremlinSeeker@users.noreply.github.com>
Co-authored-by: SmArtKar <master.of.bagets@gmail.com>
2025-04-27 13:36:01 -07:00
SyncIt21 9bd45e2f3a Part 3: Storage Improvements (#90476)
Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2025-04-20 12:02:29 +00:00
LT3 f6f72c2616 Fixes invisible premium internals boxes (#3542)
## Changelog

🆑 LT3
fix: Premium internals boxes are no longer invisible
/🆑
2025-04-17 19:02:21 +00:00
Waterpig 753d8e5ba4 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-25-04a 2025-04-08 18:58:45 +02:00
John Willard 17503426ee Adds battery matches & gum wrappers (#89871)
## About The Pull Request

Adds bubblegum wrappers, I was originally gonna make it a trash type for
gum but thought it would hide the feature since there's no indication
that they are in a wrapper (and you'd have to eat the entire gum to get
to it, which I don't think you can even do?), so instead bubblegum boxes
have 4 wrappers which each holds 1 piece of gum.
These wrappers can be grinded down for aluminium, or used in a crafting
recipe with a cell of any kind to make a makeshift match, you can ignite
it by using it in your hand (at the cost of minor burn damage).

Fixes the description for matches having 2 periods in them

![image](https://github.com/user-attachments/assets/16b13b64-ca25-4f2f-ba7e-dcaca36f7442)

Icon for the wrapper is a recolored version of ``janitor.dmi``'s floor
sign, while the match itself is the "crappy" cell with a codersprited
stick of gum coiled around it, with a copy paste of the regular match's
fire for the fire.

## Why It's Good For The Game

For years I've thought of how cool it would be to add makeshift
equipment that prisoners could make, this is a pretty harmless addition;
a source of aluminium and matches. Prisoners currently are incredibly
dependent on prison loot spawn, which kinda sucks, and this is also
reliant on prisoner loots, but at the very least it means getting more
use out of the lesser-useful items.
It would be nice to open up new ways to play Prisoner that don't involve
some form of prison breakout.

## Changelog

🆑
add: Bubblegum now comes in wrappers.
add: You can make a match out of a battery and a gum wrapper.
spellcheck: Matches no longer have 2 periods in the description once
used.
/🆑
2025-04-07 19:06:44 +02:00
SyncIt21 0893f4f945 Part 2: Storage Improvements (#90390)
## About The Pull Request
Continuation of #90365

- Formatted some usages of `set_holdable()` to be more readable
- `exception_hold` list now stores its values inside `
GLOB.cached_storage_typecaches`. This means we don't have to manage a
static typecache list per storage but can share the value across all
storages making memory management slightly more efficient
- Monkey cube boxes now cannot hold gorilla cubes cause that would make
gorilla cube boxes obsolete also now gorilla cube boxes can now only
hold gorilla cubes & not general monkey cubes(which gorilla cubes is a
subtype of) cause that would make monkey cube boxes obsolete. We are
specializing each box for that specific use case

## Changelog
🆑
code: further improved storage code
fix: monkey cube boxes can no longer hold gorilla cubes & vice versa
/🆑
2025-04-07 13:19:16 +02:00
Jinshee 724cb7c69c Ashwalker Fortress Take #2 (#3348)
## About The Pull Request

This PR adds the Ashwalker Fortress from Novastation to all maps except
Icebox and Moon Station. In addition, this also adds a new primitive
cooking machine that serves the same function as a microwave: the
Cauldron!

## Why It's Good For The Game

If you would consult the design document 🤓
https://hackmd.io/@ashwalker/S1U-p3esJe

## Proof Of Testing


![image](https://github.com/user-attachments/assets/17fa4784-29d1-49c9-a214-6e2774be488e)

![image](https://github.com/user-attachments/assets/fc1750ac-7129-430c-9cfe-2c2731add19e)


## Changelog

🆑
add: Added Stone Cauldron, a new primitive cooking structure with a
microwave function.
map: Added sparring area, prison cell, dining area, revamped kitchen,
animal pens, revamped forge area, armory, revamped doctor's hut, and a
spare room to a new Ashwalker Nest map.
/🆑

---------

Co-authored-by: Jinshee <manastra2536@gmail.com>
2025-03-31 14:49:10 -04:00
SmArtKar 6b83a91956 Revert "Refactor for storage initialization & organization (#89543)" (#90332)
## About The Pull Request

Reverts the storage initialization refactor and all subsequent related
PRs.
The original PR is below our standards both for code quality and
testing, and is majorly flawed at its core. This has been discussed with
other maintainers and headcoder(s?) over on discord. A lot of changes
from the PR could be brought over later, but in its current state it
should not have been merged.

- Closes #90322
- Closes #90313
- Closes #90315
- Closes #90320
- Closes #90312
- Closes #90344

## Why It's Good For The Game

This PR causes a series of major issues which cannot be resolved without
either completely rewriting a lot of the original PR, or bad code.
Not matching our standards is grounds for not merging a PR, and the fact
that a PR should not have been merged is a reason for a revert.

## Changelog
🆑
fix: Fixed a series of storage-related bugs caused by a refactor PR.
/🆑
2025-03-30 21:30:31 +00:00
SyncIt21 f31b94c6af [NO GBP] Fixes holdables of some storages (#90313)
## About The Pull Request
- Fixes #90312
- Fixes #90320
- Gorilla cube boxes now only hold gorilla cubes & not monkey cubes

## Changelog
🆑
fix: cigarette donut & gorilla cube boxes hold the correct stuff again
/🆑
2025-03-30 21:14:31 +02:00
Cirrial 49030bc818 Fix Donk Pocket spawns (#90296)
## About The Pull Request

Fixes https://github.com/tgstation/tgstation/issues/90294. Donk pockets
should spawn in multitudes, not singular.

## Why It's Good For The Game

Bugfix, restoring previous functionality.

## Changelog

🆑
fix: Donk pocket boxes start with more than one donk pocket again.
/🆑
2025-03-28 18:24:53 -04:00
Goat 2fc6583b2c Fix Tiziran supply boxes not having the proper contents (#90267)
## About The Pull Request
Tiziran canned goods boxes used the farm fresh list while the farm fresh
box only gave three items. The farm fresh box now gives eight food items
and the canned goods now actually give canned goods. Adds a storage type
for tiziran goods.

## Why It's Good For The Game
Canned goods should have canned goods. Farm fresh should provide plenty
of items due to the amount of different things it can roll. (It's also
how it used to be)

## Changelog
🆑 Goat
fix: The Tiziran Empire has now actually puts canned goods in their
canned good exports along with putting more food in their farm fresh
boxes.
/🆑
2025-03-28 18:25:33 +01:00
SmArtKar 1d7a4ee9b6 Fixes constant runtimes caused by large internals boxes station trait (#90213)
## About The Pull Request

Not sure if any outfits except admin-ones runtimed? Happened because box
size was increased after init and not after creating storage but before
populating it. The combat-ready box constantly runtimed due to The
Wardrobe trying to create it for an outfit and repeatedly failing, which
got annoying in testing real fast.

## Changelog
🆑
fix: Large internals station trait no longer prevents admin-specific
internals boxes from spawning
/🆑
2025-03-25 16:55:32 +01:00
SyncIt21 0f57a23830 Refactor for storage initialization & organization (#89543)
## About The Pull Request
A Huge chunk of changes just comes from moving existing storage code
into new files & seperating `atom_storage` code into its own subtype
under the already existing `storage/subtypes` folder.

With that the changes in this PR can be organized into 3 categories.

**1. Refactors how `/obj/item/storage/PopulateContents()` initializes
storages**
- Fixes #88747 and every other storage item that has a similar variant
of this problem

The problem with `PopulateContents()` is that it allows you to create
atoms directly inside the storage via `new(src)` thus bypassing all the
access restrictions enforced by `/datum/storage/can_insert()` resulting
in storages holding stuff they shouldn't be able to hold.

Now how this proc works has been changed. It must now only return a list
of items(each item in the list can either be a typepath or a solid atom
or a mix of them in any order) that should be inserted into the storage.
Each item is then passed into `can_insert()` to check if it can fit in
the storage.

If your list contains solid atoms they must be first moved
to/Initialized in nullspace so `can_insert()` won't count it as already
inserted. `can_insert()` has now also been refactored to throw stack
traces but explaining exactly why the item could not fit in the storage
thus giving you more debugging details to fix your stuff.

A large majority of changes is refactoring `PopulateContents()` to
return a list instead of simply creating the item in place so simple 1
line changes & with that we have fixed all broken storages(medical
toolbox. electrical toolbox, cruisader armor boxes & many more) that
hold more items they can handle

**2. Organizes initialization of `atom_storage` for storage subtypes.**
All subtypes of `/obj/item/storage` should(not enforced) create their
own `/datum/storage/` subtype under the folder `storage/subtypes` if the
default values are not sufficient. This is the 2nd change done across
all existing storages

Not only does this bring code cleanliness & organization (separating
storage code from item code like how `/datum/wire` code is separated
into its own sub folder) but it also makes storage initialization
slightly faster (because you are not modifying default values after
`atom_storage` is initialized but you are directly setting the default
value in place).

You now cannot & should not modify `atom_storage` values inside
`PopulateContents()`. This will make that proc as pure as possible so
less side effects. Of course this principle is not enforced and you can
still modify the storage value after `Initialize()` but this should not
be encouraged in the future

**3. Adds support for automatic storage computations**
Most people don't understand how `atom_storage` values work. The comment
here clearly states that

https://github.com/tgstation/tgstation/blob/55bbfef0da70d87455ca8d6fd5c95107eb8dbefb/code/game/objects/items/storage/toolbox.dm#L327-L329
Because of that the linked issue occurs not just for medical toolbox but
for a lot of other items as well.

Which is why if you do not know what you doing, `PopulateContents()` now
comes with a new storage parameter i.e. `/datum/storage_config`

This datum allows you to compute storage values that will perfectly fit
with the initial contents of your storage. It allows you to do stuff
like computing `max_slots`, `max_item_weight`, `max_total_weight` etc
based on your storage initial contents so that all the contents can fit
perfectly leaving no space for excess.

## Changelog
🆑
fix: storages are no longer initialized with items that can't be put
back in after taking them out
refactor: storage initialization has been refactored. Please report bugs
on github
/🆑
2025-03-23 22:20:23 +01:00
necromanceranne df3d6a31ca Reworks flechette into a AP pellet round that does mostly wounds. Adds the Donk Co. 'Donk Spike' flechette round as a surplus round. (#89972)
## About The Pull Request


![image](https://github.com/user-attachments/assets/a9932294-5355-4a75-b64d-cd8350092c21)

Reworks flechette shells from... whatever it was that they were supposed
to be before into an AP pellet round that primarily focuses on wounding
power and embedding power over specifically dealing direct damage (16 as
opposed to buckshot's 30). Useful if you want to maim as a priority.

You can print flechette once science researches Exotic Ammunition.
Nuclear Operatives also get flechette rounds as a Bulldog Shotgun
magazine choice priced as a basic ammunition type.

In addition, you can also acquire Donk Co. 'Donk Spike' flechette
shells. These shells fire plastic darts! They can be purchased by
Nuclear Operatives as a surplus option for Bulldog shotguns. 7 magazines
for the price of one.

Donk Co. 'Donk Spike' flechette was intended to be an alternative to the
standard flechette but failed spectacularly once it hit the market. Due
to a lack of confidence in the product, Donk Co. 'Donk Spike' flechette
now appears in maintenance loot as potential trash, as Donk Co. dumped
it in the millions into various landfills across the sector.

You can also print it if you find the tech in a BEPIS tech disk. 

Does it work? Why don't you take a chance on Donk and find out?

## Why It's Good For The Game

I'm not sure if the person who made the original flechette actually
understood what each of the variables was supposed to be doing or how
they actually worked. A bullet with an excessively negative standard
wound power (for a pellet projectile) and low damage, but then an
excessively high bare wound bonus (for a pellet projectile). But then
some ricochet variables without ricochet being assigned to the bullet...
and a demolition mod on a round meant to be weak against armor?

Nonsensical.

So I've reworked it into two unique rounds. The first serving a
practical purpose and becoming an AP option when the crew typically
begins seeing those options open up (such as x-ray lasers). The same can
be said for nukies, who love AP options, but one focused on lasting
wounds is handy too for keeping someone down. There isn't a milspec
option; so for nukies, this isn't doing nearly as much upfront damage as
buckshot or slugs. You buy this when you want someone not to be
recovered with a LOT of medical attention.

The second being more tongue in cheek, but also giving a surplus option
for Bulldog shotguns, which I think are having ammunition problems even
still. Surplus ammunition might slowly roll out for all the guns, but
I'm mostly focusing on the ones that have some slight price disparity
for total shots compared to other weapons. Also, shooting people full of
plastic is kind of funny.

## Changelog
🆑
balance: Flechette has been reworked into an AP pellet round that embeds
and wounds, but has less actual damage to buckshot. You can print it
once Exotic Ammunition has been researched. Also available to Nuclear
Operatives.
add: Donk Co. 'Donk Spike' flechette rounds. No longer offered by Donk
Co. It can sometimes shows up in trashbins and dumpsters. And operatives
can buy it in bulk if they really feel like it.
/🆑

---------

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2025-03-19 08:01:22 +01:00
SmArtKar 75c4f722d0 [NO GBP] Fixes premium internals boxes still being stretched (#90098)
## About The Pull Request

No clue why this got eaten/reverted in my original PR, but it
essentially didn't do anything. Oops.

## Changelog
🆑
fix: Fixed premium internals boxes still being stretched
/🆑
2025-03-19 00:12:14 +01:00
SmArtKar eb2796831b [MDB Ignore] Refactors pills, patches, and generalizes stomach contents, nothing to see here. (#89549)
## About The Pull Request

Currently patches are a subtype of pills, and while they have the
``dissolveable`` var set to FALSE, barely anything checks it (because
people don't expect patches to be pills in disguise) so we end up
patches being dissolveable and implantable, which is far from ideal.
Both have been moved into an ``/obj/item/reagent_containers/applicator``
class, which handles their common logic and helps handling cases where
either one fits. As for gameplay changes:
* Pills no longer dissolve instantly, instead adding their contents to
your stomach after 3 seconds (by default). You can increase the timer by
dropping sugar onto them to thicken their coating, 1s per 1u applied, up
to a full minute. Coating can also be dissolved with water, similarly
-1s per 1u applied. Pills with no coating will work like before.
* Patches now only take half as long to apply (1.5s), but also slowly
trickle in their reagents instead of instantly applying all of them.
This is done via embedding so you could theoretically (if you get lucky)
stick a ranged patch at someone, although they are rather quick to rip
off. The implementation and idea itself are separate, but the idea for
having a visual display has been taken from
https://github.com/Monkestation/Monkestation2.0/pull/2558.

![dreamseeker_Ywd4jQcy3t](https://github.com/user-attachments/assets/7ce0e549-9ecd-4a8a-98ea-12e00754bdd9)
* In order to support the new pill mechanics, stomachs have received
contents. Pills and items that you accidentally swallow now go into your
stomach instead of your chest cavity, and may damage it if they're
sharp, requiring having them surgically cut out (cut the stomach open
with a scalpel, then cauterize it to mend the incision). Or maybe you
can get a bacchus's blessing, or a geneticist hulk to gut punch you,
that may also work. Alien devour ability also uses this system now. If
you get a critical slashing wound on your chest contents of your cut
apart stomach (if a surgeon forgot to mend it, or if you ate too much
glass shard for breakfast) may fall out. However, spacemen with the
strong stomach trait can eat as much glass cereal as they want.

Pill duration can also be chosen in ChemMaster when you have a pill
selected, 0 to 30 seconds.

![image](https://github.com/user-attachments/assets/1f40210e-74dd-49c2-8093-432a747ac8dd)

## Why It's Good For The Game

Patches and pills are extremely similar in their implemenation, former
being a worse version of sprays and pills, with only change being that
pills cannot be applied through helmets while patches and sprays ignore
both. This change makes them useful for separate cases, and allows
reenactment of some classic... movie, scenes, with the pill change. As
for stomach contents, this was probably the sanest way of implementing
pill handling, and everything else (item swallowing and cutting stomachs
open to remove a cyanide pill someone ate before it dissolves) kind of
snowballed from there. I pray to whatever gods that are out there that
this won't have some extremely absurd and cursed interactions (it
probably will).

## Changelog
🆑
add: Instead of dissolving instantly, pills now activate after 4
seconds. This timer can be increased by using a dropper filled with
sugar on them, 1s added per 1u dropped.
add: Patches now stick to you and slowly bleed their reagents, instead
of being strictly inferior to both pills and sprays.
add: Items that you accidentally swallow now go into your stomach
contents.
refactor: Patches are no longer considered pills by the game
refactor: All stomachs now have contents, instead of it being exclusive
to aliens. You can cut open a stomach to empty it with a scalpel, and
mend an existing incision with a cautery.
/🆑
2025-03-13 17:31:37 +01:00
Jacquerel 21d2207333 Prisoners aren't given get-out-of-jail-free hooks at roundstart (#89490)
## About The Pull Request

Fixes #89487
When we added "escape from falling into a deep hole" hooks to survival
boxes _17 months ago_ we forgot that roundstart prisoners get given
survival boxes and escaping from the Tram permabrig just requires you to
ascend out of a hole.
You could maybe find a way to use these to escape on Icebox too,
although it would require going to the gulag probably.

While I was there I also made it so that when everyone in the round
starts with extra goodies in their internals box, prisoners don't. The
HoS is embezzling the money that was supposed to go towards that, sorry.

## Why It's Good For The Game

You probably shouldn't spawn with an item that allows you to escape
jail.

## Changelog

🆑
fix: Prisoners will no longer spawn on Tram with an item which allows
them to immediately exit the jail.
balance: Prisoners also don't get bonus goodies in their internals box
when the station trait rolls, because we're mean.
/🆑
2025-03-12 16:03:00 -04:00
Wallem 8f1b194f0c Swaps box/material for a bag (#89393)
## About The Pull Request
Removes `box/material`, and instead turns it into `bag/debug`. Replaces
the box in the debug toolkit box, and places a bag in the little science
room of runtimestation.
## Why It's Good For The Game
Manually putting sheets into runtimestation's ore silo--or having to
spawn in a sheet snatcher to do it for me--is really annoying, Now
instead we can just pick up the bag and shove it in and be done with it.
## Changelog
Not player facing
2025-03-12 15:45:43 -04:00
Majkl-J b6b8306fda Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-25-02a 2025-02-20 00:00:19 -08:00
Jacquerel 45f6724df9 Prisoners aren't given get-out-of-jail-free hooks at roundstart (#89490)
## About The Pull Request

Fixes #89487
When we added "escape from falling into a deep hole" hooks to survival
boxes _17 months ago_ we forgot that roundstart prisoners get given
survival boxes and escaping from the Tram permabrig just requires you to
ascend out of a hole.
You could maybe find a way to use these to escape on Icebox too,
although it would require going to the gulag probably.

While I was there I also made it so that when everyone in the round
starts with extra goodies in their internals box, prisoners don't. The
HoS is embezzling the money that was supposed to go towards that, sorry.

## Why It's Good For The Game

You probably shouldn't spawn with an item that allows you to escape
jail.

## Changelog

🆑
fix: Prisoners will no longer spawn on Tram with an item which allows
them to immediately exit the jail.
balance: Prisoners also don't get bonus goodies in their internals box
when the station trait rolls, because we're mean.
/🆑
2025-02-16 14:31:07 -07:00