Commit Graph
1104 Commits
Author SHA1 Message Date
Roxy e28e9fbdba Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-23-10-2025 2025-10-23 17:38:23 -04:00
GhomandGitHub ca2cc70322 Organ damage refactor/cleanup (#93436)
## About The Pull Request
So, my original goal was just a refactor for the emissive overlays of
eyes, as a way to implement the specular emissive introduced by smartkar
some time ago, but somehow I found myself dragged into a bigger refactor
or cleanup of organ damage, thresholds, failures. One of the main
problem was that there were no procs called when a organ suffered enough
damage to fail or when recovering from failure. It'd just enable or
disable a bitflag, leaving it up to subtypes to decide how to tackle
organ failure their own ways: diverse, funky and sometimes incompatible.
More often than not relying on their very own "update_thingamajig" kinda
procs that run whenever the organ takes damage, rather than just when
the threshold is reached (low, high, failure. There are however a couple
organs with their own quirky thresholds, I let those slide).

There's also a bit of old code, especially for ears, with the
`AdjustEarDamage` and temporary deafness both predating the framework
for organ damage as far as I know. It really needed a coat of fresh
paint.

Oh, there were also more than a handful of organs that still heavily
relied on some ORGAN_TRAIT source instead of the `organ_traits` list and
the two add/remove procs `add_organ_trait` or `remove_organ_trait`. This
include organs that lose or gain specific traits when failing et
viceversa.

~~Lastly, felinids (and the halloween ghost species) having reflective
eyes. It's just a nod to the tapetum lucidum that animals with night
vision often have (including cats), which is why their eyes are a bit
brighter in the dark. Felinids however, do not have night vision (nor do
ghosts). This is merely cosmetic.~~ Cut out for the time being due to
issues with the specular emissive...

## Why It's Good For The Game
Refactoring / cleaning up old organ code.

## Changelog

🆑
refactor: Refactored organ damage code a little. Hopefully there won't
be issues (otherwise report them).
/🆑
2025-10-21 16:52:28 -05:00
xPokee 5e629dff04 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-sync 2025-10-03 07:05:54 -04:00
MrMelbertandGitHub c69d5afa19 Dormant DNA activator fix (#93167)
## About The Pull Request

1. Literally didn't pass the mutation to mutate

2. This used to use `easy_random_mutate`, so it should set scrambled for
parity

## Changelog

🆑 Melbert
fix: Fixes dormant DNA activator
/🆑
2025-09-30 00:56:20 +02:00
xPokee 9b282a850e Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-sync 2025-09-17 11:45:44 -04:00
RusselNotSCPandGitHub 72580ce0bb Adds Various Classic Cocktails (#92955)
## About The Pull Request
TL;DR: "What do you mean we didn't have an old fashioned in the game
before?"

This adds a bunch of different classic cocktails to the game that I
always felt were rather odd holes in the lineup of drinks that
bartenders could make, as well as a few less classic ones 'cause why
not. Adds thirteen new alcoholic drinks and one non alcoholic one.
Mechanically relevant drinks include the Blue Blazer and Hot Toddy which
warm you up like coffee, Bitters and Soda which settles upset stomachs,
and the Suffering Bastard which, in it's role as a hangover cure, calms
nausea, prevents headaches, and very slowly heals brain damage, giving a
way to heal chip brain damage that doesn't require chemistry or surgery.

Full list here: https://hackmd.io/@0lHAWBNkSXixU4v6xxYS_w/SkjlmIbsgx

<img width="439" height="435" alt="drinks"
src="https://github.com/user-attachments/assets/406ca285-63af-49d4-b0e8-176edb251291"
/>


PS This is basically my first real project and also my first time
spriting for anything, so I would really appreciate any advice or
reccomendations.
## Why It's Good For The Game
More variety for service is always nice, but also many of these drinks
are extremely commonly ordered in real world bars. Adding them here
fills some weird gaps in the bar's line up, allows people to order more
drinks that they personally like, and decreases the amount of awkward
interactions in which people order a drink that they're familiar with
and then get confused when a partender somehow can't give them an
daiquiri despite having everything to make it.
## Changelog
🆑
add: You can now make 15 new classic (and some less classic) cocktails.
Includes old standards like the Old Fashioned, Daiquiri, Ramos Gin Fizz,
and more!
/🆑
2025-09-14 21:17:27 -04:00
MrMelbertandGitHub 7c0973ccf4 Refactors names and voices / potted plants no longer conceal voice (just appearance) / honorifics show on examine (#92781)
## About The Pull Request

Closes #92778
Closes #86829

<img width="347" height="39" alt="image"
src="https://github.com/user-attachments/assets/c50bd1ff-8c00-47a7-a31a-617fae2adc5b"
/>

1. Splits `TRAIT_UNKNOWN` into `TRAIT_UNKNOWN_APPEARANCE` and
`TRAIT_UNKNOWN_VOICE`

2. Renames some stuff like `getvoice` and `getspecialvoice`

3. Gets rid some crummy signals around `get_visible_name` and
`get_voice`

4. Heads now apply the disfigured trait when relevant (rather than
snowflake checking for damage amount)

5. Ling voice refactored into using special voice (it was only used by a
viro symptom anyways; I don't anticipate this overlap being problematic)

6. Mask voice changer refactored into a trait

## Why It's Good For The Game

Potted plants shouldn't have magical voice concealing powers -
especially not over radio, but not over in person either. It's a damn
plant

So I addressed this by refactoring our face and voice system. Overall
things should be a lot cleaner and easier to use.

## Changelog

🆑 Melbert
refactor: Refactored a lot of code relating to human face and voice, ie,
what shows up in examine and in say. Report anything odd when examining
people, with ID cards, when talking over radio, or when disguised
refcator: Refactored how you get disfigured when your head's super
damaged
refactor: Refactored ling mimic voice and traitor voice changer
del: Potted plants no longer hide voice. They still hide appearance,
though
qol: Honorifics now show in examine / in world, rather than only when
speaking.
/🆑
2025-09-12 17:11:06 +02:00
nikothedudeandnevimer ee99d0e5b0 Asthma quirk, inhalers - Electric Boogaloo (#92747)
## About The Pull Request

Revival of https://github.com/tgstation/tgstation/pull/79691

A while back, I made this PR, but lost motivation after diving too deep
into the code soup of can_breathe and related procs. Now, I have removed
those parts, and have simplified that part of the code to the point I
think it's ready for review.

Many reviews from the previous PR have been addressed in this PR.

<hr>

<details>
  <summary>Details</summary>

Asthma is a 4 point negative quirk that emulates real life asthma. It
works by slowly decreasing the amount of pressure each breath you take
receives, until your lungs completely seal, ensuring death if you dont
get oxyloss meds/windpipe surgery.

Inflammation (the tracker for intensity) increases whenever you breathe
smoke, use a cigarette, metabolize histimine, or suffer an asthma
attack.

Asthma attacks have a low chance of happening every second, starting 10
minutes after you spawn and with a 20-30 grace period between attacks.
They are "diseases" that cant be outright cured by albuterol, only put
into remission. They increase inflammation at varying rates depending on
their severity, with extreme asthma attacks being a immediate threat to
your life while mild ones might not even cause inflammation. The
response to these is always the same - use your inhaler before you start
choking.

Asthmatics start with a rescue inhaler, a low-capacity inhaler loaded
with albuterol, which I will get to later.

Albuterol is a new medicine thats a little tricky to make but still
doable. It can be efficiently created with inverse convermol, or
transmutated from salbutamol and convermol. The opposite is true, with
albuterol able to be turned into salbutamol. Two canisters are available
in chemvends.

Upon use, it increases the virtual pressure of all breaths taken by 40%.
This allows for you to breathe in lower pressure environments, as well
as enhancing the effects of things like healium.

It's OD causes your diaphram to spasm, causing sporadic losebreath and
forced breathing.

Inhalers are a fancy new reagent application apparatus that uses the
INHALE reagent bitflag.

Inhalers themselves are rather unremarkable, they are merely the method
of using inhaler canisters (they also have a rotary display
approximating the uses left in a canister - just like real life
inhalers).

Inhaler canisters are the reagent containers, and are generally low
capacity. They can only be used in a inhaler, and contain aerosolized
chemicals.

Inhaler canisters and inhalers are unlocked from chemical synthesis, and
are printable for cheap from a medlathe.

In order to use a inhaler, one must uncover the mouth of a carbon and
wait a few seconds (its faster if its a self-application) before a small
amount of the reagents are delivered via the INHALE bitflag. This only
works on things currently breathing - if theyre dead, have no lungs, or
just, arent breathing - it will fail. This includes asthmatics with 100%
inflammation.

</details>

<img width="181" height="74"
alt="282863233-77a7cd6b-44d2-458e-9966-06d485df1521"
src="https://github.com/user-attachments/assets/293b6659-0834-4e9a-b033-cc3b0cfde18e"
/>

<img width="1465" height="202"
alt="282863346-2a247736-0c3a-43b0-a60b-7cff10ce4963"
src="https://github.com/user-attachments/assets/5d9a13dc-b7b2-4de2-adda-8fbc8276e667"
/>

Sprites are not mine; they are from swanni and I can NOT sprite for the
life of me
## Why It's Good For The Game

1. Asthma is just cool. One of my favorite features on bay was the fact
lung damage required you to turn up the pressure on your O2 tank to
survive, and this does precisely that.
2. Its always fun to add new ways to interact with atmos as a player
that arent grossly broken, and I fail to see how a 40% increase of gas
intake will really affect balance too badly.
3. Inhalers are badass.
## Changelog
🆑
add: Asthma quirk, based on IRL asthma
add: Inhalers, a new reagent administering method that uses INHALE
add: Albuterol, a new reagent that increases the amount of gas you
inhale by 40%
balance: Inverse convermol now forms once the reaction is done, not on
metabolize
/🆑

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
# Conflicts:
#	code/datums/quirks/negative_quirks/allergic.dm
#	code/game/objects/items/devices/scanners/health_analyzer.dm
2025-09-09 23:24:54 -04:00
fadbf16e1b Asthma quirk, inhalers - Electric Boogaloo (#92747)
## About The Pull Request

Revival of https://github.com/tgstation/tgstation/pull/79691

A while back, I made this PR, but lost motivation after diving too deep
into the code soup of can_breathe and related procs. Now, I have removed
those parts, and have simplified that part of the code to the point I
think it's ready for review.

Many reviews from the previous PR have been addressed in this PR.

<hr>

<details>
  <summary>Details</summary>
  
Asthma is a 4 point negative quirk that emulates real life asthma. It
works by slowly decreasing the amount of pressure each breath you take
receives, until your lungs completely seal, ensuring death if you dont
get oxyloss meds/windpipe surgery.

Inflammation (the tracker for intensity) increases whenever you breathe
smoke, use a cigarette, metabolize histimine, or suffer an asthma
attack.

Asthma attacks have a low chance of happening every second, starting 10
minutes after you spawn and with a 20-30 grace period between attacks.
They are "diseases" that cant be outright cured by albuterol, only put
into remission. They increase inflammation at varying rates depending on
their severity, with extreme asthma attacks being a immediate threat to
your life while mild ones might not even cause inflammation. The
response to these is always the same - use your inhaler before you start
choking.

Asthmatics start with a rescue inhaler, a low-capacity inhaler loaded
with albuterol, which I will get to later.

Albuterol is a new medicine thats a little tricky to make but still
doable. It can be efficiently created with inverse convermol, or
transmutated from salbutamol and convermol. The opposite is true, with
albuterol able to be turned into salbutamol. Two canisters are available
in chemvends.

Upon use, it increases the virtual pressure of all breaths taken by 40%.
This allows for you to breathe in lower pressure environments, as well
as enhancing the effects of things like healium.

It's OD causes your diaphram to spasm, causing sporadic losebreath and
forced breathing.

Inhalers are a fancy new reagent application apparatus that uses the
INHALE reagent bitflag.

Inhalers themselves are rather unremarkable, they are merely the method
of using inhaler canisters (they also have a rotary display
approximating the uses left in a canister - just like real life
inhalers).

Inhaler canisters are the reagent containers, and are generally low
capacity. They can only be used in a inhaler, and contain aerosolized
chemicals.

Inhaler canisters and inhalers are unlocked from chemical synthesis, and
are printable for cheap from a medlathe.

In order to use a inhaler, one must uncover the mouth of a carbon and
wait a few seconds (its faster if its a self-application) before a small
amount of the reagents are delivered via the INHALE bitflag. This only
works on things currently breathing - if theyre dead, have no lungs, or
just, arent breathing - it will fail. This includes asthmatics with 100%
inflammation.
  
</details>

<img width="181" height="74"
alt="282863233-77a7cd6b-44d2-458e-9966-06d485df1521"
src="https://github.com/user-attachments/assets/293b6659-0834-4e9a-b033-cc3b0cfde18e"
/>

<img width="1465" height="202"
alt="282863346-2a247736-0c3a-43b0-a60b-7cff10ce4963"
src="https://github.com/user-attachments/assets/5d9a13dc-b7b2-4de2-adda-8fbc8276e667"
/>


Sprites are not mine; they are from swanni and I can NOT sprite for the
life of me
## Why It's Good For The Game

1. Asthma is just cool. One of my favorite features on bay was the fact
lung damage required you to turn up the pressure on your O2 tank to
survive, and this does precisely that.
2. Its always fun to add new ways to interact with atmos as a player
that arent grossly broken, and I fail to see how a 40% increase of gas
intake will really affect balance too badly.
3. Inhalers are badass.
## Changelog
🆑
add: Asthma quirk, based on IRL asthma
add: Inhalers, a new reagent administering method that uses INHALE
add: Albuterol, a new reagent that increases the amount of gas you
inhale by 40%
balance: Inverse convermol now forms once the reaction is done, not on
metabolize
/🆑

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2025-09-08 13:31:21 +12:00
Y0SH1M4S73RandRoxy 45cc222314 Allows blocking language speech and comprehension separately (#91884)
## About The Pull Request

There was a PR I wanted to make, but one of the features I wanted the
addition to have was for an affected mob to only speak aphasic, but
understand whatever languages they'd normally be able to understand.
This, in turn, required refactoring language holders to separately block
language speech and comprehension. This change, I decided, would be good
to split into its own PR.

## Why It's Good For The Game

Allows more fine-grained control over what languages an atom is blocked
from speaking or understanding. This will be useful for future PRs or
admin events.

## Changelog

no player-facing changes
2025-07-11 17:56:29 -04:00
Y0SH1M4S73RandGitHub aac161bce9 Allows blocking language speech and comprehension separately (#91884)
## About The Pull Request

There was a PR I wanted to make, but one of the features I wanted the
addition to have was for an affected mob to only speak aphasic, but
understand whatever languages they'd normally be able to understand.
This, in turn, required refactoring language holders to separately block
language speech and comprehension. This change, I decided, would be good
to split into its own PR.

## Why It's Good For The Game

Allows more fine-grained control over what languages an atom is blocked
from speaking or understanding. This will be useful for future PRs or
admin events.

## Changelog

no player-facing changes
2025-07-07 15:55:16 +12:00
GhomandRoxy 75e7ef6def Mutation code cleanup, mutations now have sources to avoid concurrency problems. (#91346)
This PR aims to clean or bring up to date portions of code about dna,
the dna console and mutations. This includes taking care of or removing
some of the awful choices like the pratically useless
`datum/mutation/human` pathing, or the class variable, in favor of using
sources to avoid potential issues with extraneous sources of a mutation.

The files changed are over a hundred just because I removed the
`datum/mutation/human` path, but the actual bulk of the code is mainly
shared between the datum/dna.dm, _mutations.dm and dna_console.dm.

Mutation shitcode is hurting my future plans for infusions a little.
Also it's a much needed refactor. Drafted 'till I'm sure it works
without issues.

🆑
refactor: Refactored mutation code backend. Report any issue.
/🆑
2025-06-15 15:50:31 -04:00
GhomandGitHub 14fb86e3e8 Mutation code cleanup, mutations now have sources to avoid concurrency problems. (#91346)
## About The Pull Request
This PR aims to clean or bring up to date portions of code about dna,
the dna console and mutations. This includes taking care of or removing
some of the awful choices like the pratically useless
`datum/mutation/human` pathing, or the class variable, in favor of using
sources to avoid potential issues with extraneous sources of a mutation.

The files changed are over a hundred just because I removed the
`datum/mutation/human` path, but the actual bulk of the code is mainly
shared between the datum/dna.dm, _mutations.dm and dna_console.dm.

## Why It's Good For The Game
Mutation shitcode is hurting my future plans for infusions a little.
Also it's a much needed refactor. Drafted 'till I'm sure it works
without issues.

## Changelog

🆑
refactor: Refactored mutation code backend. Report any issue.
/🆑
2025-06-08 13:57:10 +02:00
e6ca30d009 Immunodeficiency Quirk 2: Localhost Boogaloo (#90937)
## About The Pull Request
Adds a new quirk, (-10 cost) called Immunodeficiency, and a new inverse
chem of spaceacillin, sepsisillin. Both cause the same effect. (Well,
the quirk version is permanent obviously) When affected by either of
these, viruses will progress faster and you will catch them more easily,
burns will necrotize faster and be harder to sanitize, and alien embryos
will gestate more quickly. These effects can be mitigated with
spaceacillin, but even while under the effects of spaceacillin, you'll
only be about on par with or slightly worse than a normal person, as
opposed to the blanket protection that spaceacillin normally provides.

Owners of the quirk will be provided with a bottle of 3 low dose (1
minute duration) spaceacillin pills to mitigate their condition, and a
sterile medical mask(the noninternals kind) for style and flavor.
## Why It's Good For The Game
More unique quirk options = good. Reasons to actually ask RP and
chemists for things = good. More inverse chems = good.
Also, the sepsisillin was too good an inverse name and effect to resist.
Sepsisillin also has some interesting use cases.

Example: Need a guy dead and work in medical? you could just stab him,
or... you offer him a coffee. Inside said coffee is 10u of sepsisillin
and the deadliest blood transmitted virus (to minimize collateral
damage) you can cook up. Watch as he drinks said coffee, feels fine, and
then 2 minutes later suddenly starts attempting to un-dock from his
lungs.

## Testing Images:

Spawns with mask and pills: 
 
![Screenshot 2025-04-30
181323](https://github.com/user-attachments/assets/6c8f3cd7-27f5-431c-adab-cfacf43b57c8)
![Screenshot 2025-04-30
180418](https://github.com/user-attachments/assets/ba3306ee-9d34-4d8a-9460-0bdc64b284d8)

Monkeyhuman with Fungal TB after 1 minute.
![Screenshot 2025-04-30
182920](https://github.com/user-attachments/assets/c3227d72-20a2-4ff2-87ae-5685c359170b)

Monkeyhuman with Fungal TB and Immunodeficiency after 1 minute.
![Screenshot 2025-04-30
182933](https://github.com/user-attachments/assets/08138108-143e-41d3-ac78-201bf62ff396)

## Changelog


🆑
add: Adds new immunodeficiency negative quirk, and sepsisillin, the
inverse of spaceacillin. Both have an immune system weakening effect,
mitigate-able with spaceacillin.
/🆑

---------

Co-authored-by: ThrowawayUseless <notarealemail@emailservice.fake>
2025-05-15 16:10:26 -04:00
54ea5b5333 Immunodeficiency Quirk 2: Localhost Boogaloo (#90937)
## About The Pull Request
Adds a new quirk, (-10 cost) called Immunodeficiency, and a new inverse
chem of spaceacillin, sepsisillin. Both cause the same effect. (Well,
the quirk version is permanent obviously) When affected by either of
these, viruses will progress faster and you will catch them more easily,
burns will necrotize faster and be harder to sanitize, and alien embryos
will gestate more quickly. These effects can be mitigated with
spaceacillin, but even while under the effects of spaceacillin, you'll
only be about on par with or slightly worse than a normal person, as
opposed to the blanket protection that spaceacillin normally provides.

Owners of the quirk will be provided with a bottle of 3 low dose (1
minute duration) spaceacillin pills to mitigate their condition, and a
sterile medical mask(the noninternals kind) for style and flavor.
## Why It's Good For The Game
More unique quirk options = good. Reasons to actually ask RP and
chemists for things = good. More inverse chems = good.
Also, the sepsisillin was too good an inverse name and effect to resist.
Sepsisillin also has some interesting use cases.

Example: Need a guy dead and work in medical? you could just stab him,
or... you offer him a coffee. Inside said coffee is 10u of sepsisillin
and the deadliest blood transmitted virus (to minimize collateral
damage) you can cook up. Watch as he drinks said coffee, feels fine, and
then 2 minutes later suddenly starts attempting to un-dock from his
lungs.

## Testing Images:

Spawns with mask and pills: 
 
![Screenshot 2025-04-30
181323](https://github.com/user-attachments/assets/6c8f3cd7-27f5-431c-adab-cfacf43b57c8)
![Screenshot 2025-04-30
180418](https://github.com/user-attachments/assets/ba3306ee-9d34-4d8a-9460-0bdc64b284d8)

Monkeyhuman with Fungal TB after 1 minute.
![Screenshot 2025-04-30
182920](https://github.com/user-attachments/assets/c3227d72-20a2-4ff2-87ae-5685c359170b)

Monkeyhuman with Fungal TB and Immunodeficiency after 1 minute.
![Screenshot 2025-04-30
182933](https://github.com/user-attachments/assets/08138108-143e-41d3-ac78-201bf62ff396)

## Changelog


🆑
add: Adds new immunodeficiency negative quirk, and sepsisillin, the
inverse of spaceacillin. Both have an immune system weakening effect,
mitigate-able with spaceacillin.
/🆑

---------

Co-authored-by: ThrowawayUseless <notarealemail@emailservice.fake>
2025-05-13 10:40:36 +12:00
RhialsandShadow-Quill fba21682b1 Heart Attacks are More Violent, and You Can Defib People Repeatedly to Fix Them Like in a Medical Daytime TV Show Drama (#89775)
## About The Pull Request

This overhauls nearly all aspects related to heart attacks, making them
more urgent and threatening. It also enables the use of defibrillators
for quicker, less invasive treatment of heart attacks.

They are now a status effect instead of a virus, with a fixed countdown
of about two and a half minutes before full stoppage. As this timer
counts down, symptoms steadily escalate from audio cues to suffocation
and dizziness. Through treatment, the countdown can be wound back and
eventually cured (or you can just swap the heart like usual. Boring!!).

### Treatment

Replacing the heart is no longer the *only* option for treatment. Now,
heart attacks can be cured with the use of a defib. Each shock will
rewind the countdown (and symptoms) heavily, curing it after 2-4 zaps in
quick succession. In lieu of a defib, most other shock sources will
work, albeit much less effectively.

So, if you're in security and *really* don't feel like going to medical,
you can just have your fellow officers taze you back to health!

![doctor
approved](https://github.com/user-attachments/assets/f633cb08-b7f7-4291-8c18-6fdea4e97c7a)

The emergency penthrite given after the attack has a new icon/message,
and is slightly less forgiving. You can still use it to shock yourself
back to life, still being a very risky move.

The heart attack doesn't manifest on medical HUDs immediately. It only
appears after the victim has reached stage 3 for the first time. At
stage 3, it's pretty apparent to both the victim and anyone around that
they're having a heart attack anyways, but until then it will be on the
victim to identify symptoms. Heart attacks will always be reported on
health analyzer scans, shown as the organ failing due to a myocardial
infarction and a tooltip suggesting defibs/other shocks to treat it.

This also adds two tips, for secoffs and medics, on how to treat a heart
attack.

Defibs also now use up charge for restarting a stopped heart, instead of
only when reviving a corpse.
## Why It's Good For The Game

Making heart attacks more of a threat gives way more weight to something
people should be afraid of, but aren't. Heart attacks fail to emulate
anything resembling a heart attack, to the point that it is lame and
dissapointing. They're an annoyance and a trip to the surgery room for
anyone familiar enough with the game. This iteration may be more
dangerous, but it's also more *exciting* (and can be treated faster).

Broadening the ways to treat a heart attack, or just stave off symptoms,
gives an amount of player agency over this threat. It may be more
urgent, but it doesn't mean it has to be a trip to medbay every time.
You can look for other ways to get zapped (security will help if asked,
I promise) or sandbox up your own solution.

Also, treating heart attacks with defib shocks just makes sense. Why do
we have to trash the whole heart? Usually after a heart attack it still
has like, a year or so of juice left before it quits for good.

More threatening heart attacks also further incentivize synthetic hearts
and working out, or any other clever ways of shielding oneself from an
attack (in case you're paranoid like that).

And lastly, the whole reason I started with this PR in the first place
-- I think it is a bit odd having heart attacks be handled as *diseases*
in the code. Status effects make more sense.
## Changelog
🆑 Rhials
balance: Heart attacks are now more violent and urgent. If you can hear
your own heartbeat and are short of breath, you should probably see a
doctor.
balance: Heart attacks can now be treated and eventually cured with
repeated defibrillation shocks.
balance: Heart attacks can now be treated and eventually cured with
repeated shocks from other sources.
/🆑
2025-04-29 17:41:26 -06:00
LT3 7ac40b7141 Drinking alcohol cures severe anxiety (#90599) 2025-04-20 10:43:11 -07:00
LT3andGitHub aada9a56d2 Drinking alcohol cures severe anxiety (#90599) 2025-04-20 13:43:05 +02:00
Waterpig 753d8e5ba4 Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-25-04a 2025-04-08 18:58:45 +02:00
RhialsandGitHub 3db49f75cb Heart Attacks are More Violent, and You Can Defib People Repeatedly to Fix Them Like in a Medical Daytime TV Show Drama (#89775)
## About The Pull Request

This overhauls nearly all aspects related to heart attacks, making them
more urgent and threatening. It also enables the use of defibrillators
for quicker, less invasive treatment of heart attacks.

They are now a status effect instead of a virus, with a fixed countdown
of about two and a half minutes before full stoppage. As this timer
counts down, symptoms steadily escalate from audio cues to suffocation
and dizziness. Through treatment, the countdown can be wound back and
eventually cured (or you can just swap the heart like usual. Boring!!).

### Treatment

Replacing the heart is no longer the *only* option for treatment. Now,
heart attacks can be cured with the use of a defib. Each shock will
rewind the countdown (and symptoms) heavily, curing it after 2-4 zaps in
quick succession. In lieu of a defib, most other shock sources will
work, albeit much less effectively.

So, if you're in security and *really* don't feel like going to medical,
you can just have your fellow officers taze you back to health!

![doctor
approved](https://github.com/user-attachments/assets/f633cb08-b7f7-4291-8c18-6fdea4e97c7a)

The emergency penthrite given after the attack has a new icon/message,
and is slightly less forgiving. You can still use it to shock yourself
back to life, still being a very risky move.

The heart attack doesn't manifest on medical HUDs immediately. It only
appears after the victim has reached stage 3 for the first time. At
stage 3, it's pretty apparent to both the victim and anyone around that
they're having a heart attack anyways, but until then it will be on the
victim to identify symptoms. Heart attacks will always be reported on
health analyzer scans, shown as the organ failing due to a myocardial
infarction and a tooltip suggesting defibs/other shocks to treat it.

This also adds two tips, for secoffs and medics, on how to treat a heart
attack.

Defibs also now use up charge for restarting a stopped heart, instead of
only when reviving a corpse.
## Why It's Good For The Game

Making heart attacks more of a threat gives way more weight to something
people should be afraid of, but aren't. Heart attacks fail to emulate
anything resembling a heart attack, to the point that it is lame and
dissapointing. They're an annoyance and a trip to the surgery room for
anyone familiar enough with the game. This iteration may be more
dangerous, but it's also more *exciting* (and can be treated faster).

Broadening the ways to treat a heart attack, or just stave off symptoms,
gives an amount of player agency over this threat. It may be more
urgent, but it doesn't mean it has to be a trip to medbay every time.
You can look for other ways to get zapped (security will help if asked,
I promise) or sandbox up your own solution.

Also, treating heart attacks with defib shocks just makes sense. Why do
we have to trash the whole heart? Usually after a heart attack it still
has like, a year or so of juice left before it quits for good.

More threatening heart attacks also further incentivize synthetic hearts
and working out, or any other clever ways of shielding oneself from an
attack (in case you're paranoid like that).

And lastly, the whole reason I started with this PR in the first place
-- I think it is a bit odd having heart attacks be handled as *diseases*
in the code. Status effects make more sense.
## Changelog
🆑 Rhials
balance: Heart attacks are now more violent and urgent. If you can hear
your own heartbeat and are short of breath, you should probably see a
doctor.
balance: Heart attacks can now be treated and eventually cured with
repeated defibrillation shocks.
balance: Heart attacks can now be treated and eventually cured with
repeated shocks from other sources.
/🆑
2025-04-07 00:15:38 +01:00
necromanceranneandGitHub 9b1578cdfb Makes the floor diseases into basic diseases, rather than advanced diseases. (#90115)
## About The Pull Request

One of the more recent incidents involving viral outbreaks utilized
these viruses to easily produce a ton of advanced, mutated diseases out
of the floor diseases. You can get some details here:
https://github.com/tgstation/tgstation/issues/90054

These diseases have bespoke behaviours, yet are capable of being
mutated. It doesn't really make much sense for them to be advanced
diseases because of their unique behaviour. Given it starts with a flag
that indicates that it is meant to not spread, but ,obviously, mutating
it causes it to become contagious anyway, we've just made them basic
viruses with some of the relevant parts of the symptoms they were using
added in.

## Why It's Good For The Game

It makes it too easy to get an advanced virus with which to mutate.
Which results in...well, a Urgathoan/Nurgle Incident waiting to happen.

Don't drink spoiled milk, kids. Or do if you're based.

## Changelog
🆑
code: Changes floor diseases from advanced diseases into basic diseases.
Should mostly function the same, except you can't mutate them.
/🆑
2025-03-19 19:40:40 +00:00
Kapu1178andRoxy b9c803a9d8 Base implementation of /datum/persistent_client (#89449)
Converts `/datum/player_details` into `/datum/persistent_client`.
Persistent Clients persist across connections. The only time a mob's
persistent client will change is if the ckey it's bound to logs into a
different mob, or the mob is deleted (duh).

Also adds PossessByPlayer() so that transfering mob control is cleaner
and makes more immediate sense if you don't know byond-fu.

Clients are an abstract representation of a connection that can be
dropped at almost any moment so putting things that should be stable to
access at any time onto an undying object is ideal. This allows for
future expansions like abstracting away client.screen and managing
everything cleanly.
2025-03-12 16:47:54 -04:00
Time-GreenandRoxy f5e1466305 Reverts projectile sneezing :( (#89292)
## About The Pull Request

Reverts #83361

## Why It's Good For The Game

I PR'd the original with the intent of making disease battling more
engaging by adding warnings and sneeze dodging, but this was rejected
and instead we got a very awkward middle ground where no one is happy
and the original PR didnt accomplish what it set out to accomplish. You
can't dodge the sneeze because it's a shotgun spread and invisible :/.
The sneeze catchers are even somewhat buggy and the sneeze warning leads
to extra chat clutter
2025-03-12 15:45:42 -04:00
Kapu1178andGitHub a0e862d575 Base implementation of /datum/persistent_client (#89449)
## About The Pull Request
Converts `/datum/player_details` into `/datum/persistent_client`.
Persistent Clients persist across connections. The only time a mob's
persistent client will change is if the ckey it's bound to logs into a
different mob, or the mob is deleted (duh).

Also adds PossessByPlayer() so that transfering mob control is cleaner
and makes more immediate sense if you don't know byond-fu.

## Why It's Good For The Game
Clients are an abstract representation of a connection that can be
dropped at almost any moment so putting things that should be stable to
access at any time onto an undying object is ideal. This allows for
future expansions like abstracting away client.screen and managing
everything cleanly.
2025-02-25 13:52:24 -06:00
Majkl-J 254cd32c93 Merge branch 'master' of https://github.com/Bubberstation/Bubberstation into upstream-25-02a 2025-02-25 06:56:39 -08: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
0005020c86 Unfucking disease outbreaks/transmission (#1919)
## About The Pull Request

Disease transmission is nonsensical and broken. Goes through disease
outbreak and transmission vectors from start to finish fixing things
that don't work properly, or not as expected. Also adds some constraints
on the disease outbreak event based on medical staff.

This is mostly nonmodular edits as it's a test before I make the PR on
TG. It's been tested for a long while with NPCs on stations, but live
testing it here gives better visibility into how it goes in a real world
environment, and there is some extra game logging added for the duration
of the TM to validate the new disease calculations and spread are
working as expected.

Mainly the test is to see if the new values for disease transmission
"feel" right in a live environment, to perform some tweaks to the
percentages if required.

- Event diseases are no longer hidden from health analyzers during
incubation periods
- Masks and head slot items actually provide protection from airborne
disease spread
- People other than the original airborne hosts spread via respiration
- Reduced infection chance for contact/airborne diseases from current
95%+ on all diseases to values 15%-40% based on the transmissibility
strength
- Airborne spread is rolled per target, not source (smoother infections
compared to suddenly infecting 5 people with a single sneeze)
- Disease outbreak won't spawn during rounds with less than 3 medical
staff
- Disease outbreak begins with 2-3 original hosts but lower spread speed

## Why It's Good For The Game
- Disease outbreaks and transmission work more in line with how people
think they do/are supposed to.
- Gloves, masks, face shields etc. properly get calculated to protect
you from getting infected/infecting others.
- Disease outbreaks can immediately be identified by med staff with
analyzers, but borgs can't see the HUD icon as soon as the event starts
and instantly find patient zero.

## Changelog

🆑 LT3
balance: Event diseases are no longer hidden from health analyzers
during incubation periods
fix: Masks and head slot items actually provide protection from airborne
disease spread
fix: People other than the original airborne hosts spread diseases via
respiration
balance: Reduced infection chance for contact/airborne diseases from
current 95%+ on all diseases to values 15%-40% based on the
transmissibility strength
code: Airborne disease spread is rolled per target, not source
balance: Disease outbreak won't spawn during rounds with less than 3
medical staff
balance: Disease outbreak begins with 2-3 original hosts but lower
spread speed
fix: Disease cure won't request both antihol and alcohol mixed together
/🆑

---------

Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com>
2025-02-16 02:08:33 +02:00
310edf3eec removes symptom weights by reverting #83456 (#89372)
## About The Pull Request
Reverts PR #83456 which added the weight system as well as applying it
to two symptoms, sneezing, and coughing.
## Why It's Good For The Game
The weight system was originally added to in the hopes a general nerf to
dangerous diseases. This also had the side effect of reducing a decent
amount of potential from good diseases by a fair bit as well. The PR I
am reverting was merged during a time where the Virology job was just
removed and people were throwing nerfs at it left and right to see what
would stick.

A minor nerf to Virology from #83459 and #83423 however has already
solved most of the issues regarding dangerous diseases by allowing
people with low resistance diseases to self-cure themselves
automatically as well as reducing the overall stage speed by a fair bit
allowing for a lot more time to make up a cure and respond in a timely
manner. While the latter made airborne spreading methods overall less
effective. This was ultimately done at a point where several other nerfs
or changes regarding advanced diseases were made with the purpose of
nerfing the Virology section of the game even further to a ridiculous
degree such as #83458 and #83454. As a side effect, this also closes
#86952.

It doesn't help that the PR didn't make a token effort in making the
change known in a way ingame to anyone working on Virology. Thus making
it seem as if the symptom cap was reduced to 5 for most cases for
unknown reasons causing a lot of frustration where even reaching to
other people in a well populated server wouldn't know why the symptom
cap would only allow 5 symptoms.
## Changelog
🆑
del: Removed the weighting of viro symptoms
/🆑

Co-authored-by: David Andersen <DAVID.ANDERSEN6113@STU.MTEC.EDU>
2025-02-15 02:21:21 -05:00
21b84e3379 removes symptom weights by reverting #83456 (#89372)
## About The Pull Request
Reverts PR #83456 which added the weight system as well as applying it
to two symptoms, sneezing, and coughing.
## Why It's Good For The Game
The weight system was originally added to in the hopes a general nerf to
dangerous diseases. This also had the side effect of reducing a decent
amount of potential from good diseases by a fair bit as well. The PR I
am reverting was merged during a time where the Virology job was just
removed and people were throwing nerfs at it left and right to see what
would stick.

A minor nerf to Virology from #83459 and #83423 however has already
solved most of the issues regarding dangerous diseases by allowing
people with low resistance diseases to self-cure themselves
automatically as well as reducing the overall stage speed by a fair bit
allowing for a lot more time to make up a cure and respond in a timely
manner. While the latter made airborne spreading methods overall less
effective. This was ultimately done at a point where several other nerfs
or changes regarding advanced diseases were made with the purpose of
nerfing the Virology section of the game even further to a ridiculous
degree such as #83458 and #83454. As a side effect, this also closes
#86952.

It doesn't help that the PR didn't make a token effort in making the
change known in a way ingame to anyone working on Virology. Thus making
it seem as if the symptom cap was reduced to 5 for most cases for
unknown reasons causing a lot of frustration where even reaching to
other people in a well populated server wouldn't know why the symptom
cap would only allow 5 symptoms.
## Changelog
🆑
del: Removed the weighting of viro symptoms
/🆑

Co-authored-by: David Andersen <DAVID.ANDERSEN6113@STU.MTEC.EDU>
2025-02-14 12:49:00 +11:00
Time-GreenandGitHub defa91010a Reverts projectile sneezing :( (#89292)
## About The Pull Request

Reverts #83361

## Why It's Good For The Game

I PR'd the original with the intent of making disease battling more
engaging by adding warnings and sneeze dodging, but this was rejected
and instead we got a very awkward middle ground where no one is happy
and the original PR didnt accomplish what it set out to accomplish. You
can't dodge the sneeze because it's a shotgun spread and invisible :/.
The sneeze catchers are even somewhat buggy and the sneeze warning leads
to extra chat clutter
2025-02-09 18:47:25 -06:00
Penelope HazeandGitHub 4c2a76ede3 Fix a large number of typos (#89254)
Fixes a very large number of typos. A few of these fixes also extend to
variable names, but only the really egregious ones like "concious".
2025-01-28 22:16:16 +01:00
Maximal08andGitHub c7a8a1377b Regenerative Coma it doesn't work anymore if you have TRAIT_NOSOFTCRIT trait. (#89072)
## About The Pull Request

This is a small change in the symptom of regenerative coma, which I made
so that it would not block other treatment methods in critical condition
due to the insane rate at which self-made viruses spread during contact
transfer. This results in the almost ubiquity of this symptom, which
strongly affects your game, which is very difficult to notice if you are
not a doctor. Very often, this symptom spoils the miners' game, which
leads to idiotic accidental deaths when you use a luxury pen before a
fight and expect that you will be able to fight from a critical
condition, but fall asleep in battle due to an accidentally acquired
virus.

(Or to put it briefly, the TRAIT_NOSOFTCRIT trait (for example,
penthrite gives it) now blocks falling into a regenerative coma.)
## Why It's Good For The Game
There will be no more stupid, pointless and difficult-to-control lapses
into a regenerative coma when you don't need it and you can continue to
live without it.

## Changelog
🆑
add: TRAIT_NOSOFTCRIT now blocks falling into a regenerative coma.
/🆑
2025-01-27 13:13:22 +01:00
d3855a8ff3 Add a safety net for Manifold Sickness (#2446)
## About The Pull Request

Adds a safety net to Hereditary Manifold Sickness, which triggers if and
only if it progresses all the way from stage one to stage four without
_any_ visible symptoms having occurred. This safety net forces one of
the stage 4 visible symptoms to occur, which is also a damaging effect
that produces a sound effect (assuming the character has a set scream
noise).
## Why It's Good For The Game

Complete round removal should not be able to blindside you. This does
not guarantee it won't still blindside a player playing riskily with the
quirk either, getting some stage two symptoms and then the sickness
stealthing the rest of the way to stage 5 is still possible; and even
with this safety net triggering, the sickness has a very low chance of
going straight to stage 5 in the next few seconds anyways before you can
get a pill in.
It is probably not immediately obvious to the player if this safety net
occurs, as the visible effect is exactly the same as a normal symptom
(You would only be able to tell by the fact that there are no messages
in chat regarding the sickness between the last time you reset it with a
pill and the stage four symptom occurring), it simply removes the
possibility of the disease completely stealthing its way all the way to
stage 5 with no symptoms at all by forcing a symptom to occur.
## Proof Of Testing

Ran code both with stage_prob set to 100 in order to test this code for
when it should trigger, and then normally with the correct stage_prob to
make sure the safety net doesn't trigger if a symptom does occur.
Again, no visible difference with what should be normal gameplay, this
prevents an absence of something.
## Changelog
🆑 Cerami
qol: HMS / Chronic Illness no longer has the very low chance of going
all the way from stage 1 to stage 5 without any symptoms.
/🆑

---------

Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com>
Co-authored-by: Waterpig <wtryoutube@seznam.cz>
2024-12-10 13:46:32 +00:00
ArcaneMusicandGitHub 85ecad4112 Adds a disease that makes you reject gravity. (#87666)
## About The Pull Request

This PR adds a small, pre-canned virus to the game, the "Localized
Weightloss Malfunction" virus, or weightlessness virus. Weightlessness
is a weak contact virus that can only spawn due to randomized virus
spreading virus.

The virus itself applies weightlessness via having the mob produce their
own internal supply of gravitium, resulting in a lack of control from
gravity. This is a bit of a patch job, and if we'd like to make this
apply a more specific status debuff that can be managed, but this works
well enough for proof of concept anyway.


![image](https://github.com/user-attachments/assets/fb1783b2-db7c-49b6-b973-1b7ee35565b7)

The disease is cured via liquid dark matter, but has a reasonable chance
to self-cure as well similar to most diseases do nowadays.

## Why It's Good For The Game

Seemed like an interesting mechanical intersection, and while it can be
frustrating, it is by no means a round removal virus. It is debilitating
enough that it would necessitate a medbay visit. Liquid dark matter also
serves as a occasional grenade chemical, but giving it a medical use
provides another inch of plausible deniability.

I made this PR a little bit ago on a whim, and it's been sitting on my
repo for a hot second here, so I thought I'd get this moving if there's
no major issues.
2024-11-24 23:12:22 +00:00
TimandGitHub 7b76476ae8 Change some status effects adjustments to use SECONDS (#88098)
## About The Pull Request
Some of the status effect adjustments were missing `SECONDS` to their
proc calls.

## Why It's Good For The Game
N/A
2024-11-24 17:08:56 -06:00
JerryandMajkl-J 5552dc8e88 Fix typo in cure_text for advanced mutation toxin (#87062)
## About The Pull Request

Makes the cure_text start with a capital letter, making it more inline
with how other cures are formatted.
## Why It's Good For The Game

Text looks cleaner.
## Changelog
🆑
spellcheck: capitalise cure_text for advanced slime mutation
/🆑
2024-11-11 00:43:38 -08:00
GhomandGitHub 778ed9f1ab The death or internal/external organ pathing (ft. fixed fox ears and recoloring bodypart overlays with dye sprays) (#87434)
## About The Pull Request
This PR kills the abstract internal and external typepaths for organs,
now replaced by an EXTERNAL_ORGAN flag to distinguish the two kinds.

This PR also fixes fox ears (from #87162, no tail is added) and
mushpeople's caps (they should be red, the screenshot is a tad
outdated).

And yes, you can now use a hair dye spray to recolor body parts like
most tails, podpeople hair, mushpeople caps and cat ears. The process
can be reversed by using the spray again.

## Why It's Good For The Game
Time-Green put some effort during the last few months to untie functions
and mechanics from external/internal organ pathing. Now, all that this
pathing is good for are a few typechecks, easily replaceable with
bitflags.

Also podpeople and mushpeople need a way to recolor their "hair". This
kind of applies to fish tails from the fish infusion, which colors can't
be selected right now. The rest is just there if you ever want to
recolor your lizard tail for some reason.

Proof of testing btw (screenshot taken before mushpeople cap fix, right
side has dyed body parts, moth can't be dyed, they're already fabolous):

![immagine](https://github.com/user-attachments/assets/2bb625c9-9233-42eb-b9b8-e0bd6909ce89)

## Changelog

🆑
code: Removed internal/external pathing from organs in favor of a bit
flag. Hopefully this shouldn't break anything about organs.
fix: Fixed invisible fox ears.
fix: Fixed mushpeople caps not being colored red by default.
add: You can now dye most tails, podpeople hair, mushpeople caps etc.
with a hair dye spray.
/🆑
2024-10-30 08:03:02 +01:00
Majkl-J e59d8ba64b Merge commit '179a607a90ad7ec62bdaff4e6fe72af60ee56442' of https://github.com/tgstation/tgstation into upstream-24-10b 2024-10-23 23:27:16 -07:00
Majkl-J f8faccd70a Merge branch 'master' of https://github.com/Skyrat-SS13/Skyrat-tg into upstream-24-10a 2024-10-20 04:12:02 -07:00
WaterpigandMajkl-J bb70889f6e TG Upstream Part 1
3591 individual conflicts

Update build.js

Update install_node.sh

Update byond.js

oh my fucking god

hat

slow

huh

holy shit

we all fall down

2 more I missed

2900 individual conflicts

2700 Individual conflicts

replaces yarn file with tg version, bumping us down to 2200-ish

Down to 2000 individual conflicts

140 down

mmm

aaaaaaaaaaaaaaaaaaa

not yt

575

soon

900 individual conflicts

600 individual conflicts, 121 file conflicts

im not okay

160 across 19 files

29 in 4 files

0 conflicts, compiletime fix time

some minor incap stuff

missed ticks

weird dupe definition stuff

missed ticks 2

incap fixes

undefs and pie fix

Radio update and some extra minor stuff

returns a single override

no more dupe definitions, 175 compiletime errors

Unticked file fix

sound and emote stuff

honk and more radio stuff
2024-10-19 08:04:33 -07:00
GhomandGitHub 734051bb1f update_body_parts() is now called when adding or removing bodypart overlays. (#87215)
## About The Pull Request
I'm making sure that `update_body_parts()` is properly called when
changing bodypart overlays, so that they actually show up the very
moment they were changed. However, to avoid redundant
`update_body_parts()` calls on init or while changing species, I've
added a living flag that stops `update_body_parts()` from being called
in these situations. I also scoured the codebase for other redundant
`update_body_parts()` to remove and things to clean up a little.

## Why It's Good For The Game
This automates the process of calling `update_body_parts()` a bit.

## Changelog
Mainly backend.
2024-10-15 18:49:05 +02:00
JerryandGitHub 5008491f34 Fix typo in cure_text for advanced mutation toxin (#87062)
## About The Pull Request

Makes the cure_text start with a capital letter, making it more inline
with how other cures are formatted.
## Why It's Good For The Game

Text looks cleaner.
## Changelog
🆑
spellcheck: capitalise cure_text for advanced slime mutation
/🆑
2024-10-06 18:02:37 +02:00
grungussussandGitHub 58501dce77 Reorganizes the sound folder (#86726)
## About The Pull Request

<details>

- renamed ai folder to announcer

-- announcer --
- moved vox_fem to announcer
- moved approachingTG to announcer

- separated the ambience folder into ambience and instrumental
-- ambience --

- created holy folder moved all related sounds there
- created engineering folder and moved all related sounds there
- created security folder and moved ambidet there
- created general folder and moved ambigen there
- created icemoon folder and moved all icebox-related ambience there
- created medical folder and moved all medbay-related ambi there
- created ruin folder and moves all ruins ambi there
- created beach folder and moved seag and shore there
- created lavaland folder and moved related ambi there
- created aurora_caelus folder and placed its ambi there
- created misc folder and moved the rest of the files that don't have a
specific category into it

-- instrumental --

- moved traitor folder here
- created lobby_music folder and placed our songs there (title0 not used
anywhere? - server-side modification?)

-- items --

- moved secdeath to hailer
- moved surgery to handling

-- effects --

- moved chemistry into effects
- moved hallucinations into effects
- moved health into effects
- moved magic into effects

-- vehicles --

- moved mecha into vehicles


created mobs folder

-- mobs --

- moved creatures folder into mobs
- moved voice into mobs

renamed creatures to non-humanoids
renamed voice to humanoids

-- non-humanoids--

created cyborg folder
created hiss folder
moved harmalarm.ogg to cyborg

-- humanoids --




-- misc --

moved ghostwhisper to misc
moved insane_low_laugh to misc

I give up trying to document this.

</details>

- [X] ambience
- [x] announcer
- [x] effects
- [X] instrumental
- [x] items
- [x] machines
- [x] misc 
- [X] mobs
- [X] runtime
- [X] vehicles

- [ ] attributions

## Why It's Good For The Game

This folder is so disorganized that it's vomit inducing, will make it
easier to find and add new sounds, providng a minor structure to the
sound folder.

## Changelog
🆑 grungussuss
refactor: the sound folder in the source code has been reorganized,
please report any oddities with sounds playing or not playing
server: lobby music has been repathed to sound/music/lobby_music
/🆑
2024-09-23 22:24:50 -07:00
GhomandGitHub 8d0e6734fe Fish (ya know, from fishing) is now edible (#86110)
## About The Pull Request
Fish (the item that you catch with a fishing rod) now has an edible
component attached to it, making it possible to eat them if you really
have to, at the cost of eventually killing and deleting the fish,
however, you normally shouldn't.
Along with the seafood and meat foodtypes flags, it possess the gore and
raw foodtypes too, making them pretty awful to eat unless you're a
(non-vegan) lizard, felinid, or wearing the strange bandana*, which can
only be found in the cqc kit case. Furthermore, it carry diseases like
the ones from food left on the floors for too long, so a strong stomach
is required to safely eat it even if you actually like it, dummy...
UNLESS you fry or grill it, thus killing the diseases (as well as the
fish) and removing both the gore and raw food types, then it becomes an
actually ok meal... UNLESS you're dumb enough to eat a pufferfish, a
donkfish or a slimefish.

That is more or less the general rule. A few fish stray for it. For
example, lavaloops are never raw (still gorey). The skeleton fish are
never edibles, and holodeck fish is, well, holographic and thus
disappears if you try to eat it.

*the strange bandana is a reference to MSG, and this is a reference to
the MGS3 fish eating animation.

This is WIP btw, I'll have to test it and add some then polish it.

## Why It's Good For The Game
Whole unprocessed fish should be technically edible, even if not safe to
eat nine times out of ten. Also I kinda need this if I want to add a
tasty fishing spot to the kitchen deepfriers.

## Changelog

🆑
add: Whole, unprocessed fish is now edible. However it's pretty much
reccomended to grill or fry it for over 30 spess seconds before
attempting to eat it.
fix: germ-covered, dirty food no longer tries to infect you through
contact.
/🆑
2024-09-15 13:13:47 +02:00
Waterpig 4c4930c71d Merge branch 'master' of https://github.com/tgstation/tgstation into pulls-tg-to-fix-shit 2024-09-08 00:59:39 +02:00
klorpaandGitHub e1bf793264 Spelling and Grammar Fixes (#86022)
## About The Pull Request
Fixes several errors to spelling, grammar, and punctuation.
## Why It's Good For The Game
## Changelog
🆑
spellcheck: fixed a few typos
/🆑
2024-08-23 21:49:46 +02:00
Waterpig 0f637c8360 Merge branch 'master' of https://github.com/Skyrat-SS13/Skyrat-tg into upstream-24-08d 2024-08-22 15:40:58 +02:00
6a418150e8 [MIRROR] Spelling and Grammar Fixes (#29499)
* Spelling and Grammar Fixes

* they dont understand

---------

Co-authored-by: klorpa <30924131+klorpa@users.noreply.github.com>
Co-authored-by: projectkepler-RU <99981766+projectkepler-ru@users.noreply.github.com>
2024-08-22 02:34:54 +00:00
klorpaandGitHub d2c7806047 Spelling and Grammar Fixes (#85992)
## About The Pull Request
Fixes several errors to spelling, grammar, and punctuation.
## Why It's Good For The Game
## Changelog
🆑
spellcheck: fixed a few typos
/🆑
2024-08-21 17:07:02 +12:00
Waterpig 330cf42ff9 Merge branch 'master' of https://github.com/Skyrat-SS13/Skyrat-tg into upstream-24-08c 2024-08-19 14:43:23 +02:00