Commit Graph

4000 Commits

Author SHA1 Message Date
Time-Green ed94de4ddf Removes metalgen from randomspawns (#76538)
Metalgen can't spawn in strange seeds, maintpills, random geysers, egg
gland etc anymore

Metalgen is an extremely strong chem, intentionally gated behind both a
a rare geyser chem and a randomized recipe. A botanist being able to
mass-produce it randomly roundstart throws off the entire balance
systems and takes away from the novelty of metalgen synthesis

The randomized recipe system is meant to reward players for putting in
extraordinary effort to get an extraordinary reagent. Secret sauce (the
only other secret chem) can also not be randomly generated for this
reason, I made an oversight by not doing the same for metalgen.
2023-07-10 22:34:31 +00:00
MrMelbert 0e85aa3220 Lets you enter fakedeath when dead (#76666)
## About The Pull Request

Fixes #76665

`fakedeath` early returned if the mob was dead, I guess it assumed if
you were dead dead you wouldn't want to become fake dead as well

I removed that because it's definitely a valid use case, in my eyes,
that you would be able to apply the fakedeath traits to a mob who is
dead, for the event they are revived at some point (to still appear
dead)

## Why It's Good For The Game

Lings rely on this

## Changelog

🆑 Melbert
fix: Fix ling revival for full-dead lings
/🆑
2023-07-10 10:37:25 +02:00
MrMelbert f5bb4e2c24 Fix Tinea Luxor runtime (#76585)
## About The Pull Request

Backwards args


![image](https://github.com/tgstation/tgstation/assets/51863163/d216968b-2ffd-4f09-8d42-eefe87c8572a)

## Why It's Good For The Game

Runtimes...

## Changelog

🆑 Melbert
fix: Fix Tinea Luxor exposing not increasing light duration 
/🆑
2023-07-06 11:48:17 -06:00
ChungusGamer666 c0fc3950ae Alcoholic quirk (#76510)
## About The Pull Request

So you're telling me we have a smoker quirk and we DON'T have an
alcoholic quirk?
What a travesty! Time to fix that.

This quirk is essentially equivalent to smoker, but instead of a
favorite brand you get a favorite *brandy* (as in, favorite type of
booze).

![image](https://github.com/tgstation/tgstation/assets/82850673/f3883f76-414a-48a8-8f69-76f1bc01d020)

## Why It's Good For The Game

More quirk variety with decent roleplay value.
What will we do with a drunken sailor?

## Changelog

🆑
add: Added Alcoholic as a negative quirk.
/🆑

---------

Co-authored-by: san7890 <the@san7890.com>
2023-07-06 11:47:39 -06:00
ChungusGamer666 4f2227baf3 Implements a macro for checking mind traits (#76548)
## About The Pull Request


![image](https://github.com/tgstation/tgstation/assets/82850673/f85d0556-1806-40bf-92b8-597e46ccb4af)
Seeing this pattern repeated over various sections of code was starting
to piss me off

## Why It's Good For The Game

Lessens chance to cause errors with mind traits, ensures consistent
behavior, makes it easier to change how mind traits work if necessary.

## Changelog

hopefully not player facing

---------

Co-authored-by: san7890 <the@san7890.com>
2023-07-06 11:45:46 -06:00
ChungusGamer666 1f9bc21fc5 Hemiplegic quirk (#76526)
## About The Pull Request

Like paraplegic, but instead of a horizontal half of your body being
fucked, it's a vertical half!

![image](https://github.com/tgstation/tgstation/assets/82850673/aab1059e-9f5a-4778-a72a-c55c9fe75403)

![image](https://github.com/tgstation/tgstation/assets/82850673/2edf1a76-906f-41f5-984c-4260b65a279d)

## Why It's Good For The Game

Character customization and pure, undistilled human suffering.

## Changelog
🆑
add: Added Hemiplegic quirk.
/🆑

---------

Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
2023-07-05 19:09:38 -06:00
Andrew 4c0d705062 [NO GBP] Plant bags harvesting fix and other hotfixes for floor sickness (#76479)
## About The Pull Request

After #76018 people reported that you need to do an extra click when you
harvest with plant bag because harvest always dropped on top of
hydrotray instead of going into the bag.

And It looked bad when people just left their harvest on hydrotrays
without picking it up.

I reverted the change that made harvest spawn on top of hydrotrays to
address both issues.

Hydrotrays still protect from germs if the plant was harvested using
telekinesis.

Fixes #76462

Also fixes sloppy mistake in Carpellosis - I was checking whether the
target has mouth instead of owners mouth in the gnashing check.

And it makes patches not become dirty, showing warning message. They
weren't infective anyway.

## Why It's Good For The Game

Fix

## Changelog

🆑
fix: Plant bags now properly harvest items when you click on hydrotray
with it, and don't pick up anything except the harvest
fix: Carpellosis gnashing checks owner's teeth availability instead of
the target's teeth
fix: Patches don't have a message saying that they're dirty
/🆑
2023-07-04 17:12:05 +01:00
ChungusGamer666 9e8f8dc877 SPECIES NUKING 2023 EXTRA: Makes skin tones a trait instead of a species variable (#76410)
## About The Pull Request

very similar to https://github.com/tgstation/tgstation/pull/76297, much
simpler though
removes the uses_skintones variable for similar reasons

## Why It's Good For The Game

Species variables are less useful and modular than traits. 
If for some reason we ever add a mechanic that for some reason makes
your character use skin tones instead of whatever their original color
is, it will be much simpler to be handled.

## Changelog

not player facing
2023-07-03 20:44:46 +02:00
MrMelbert 7f3d763285 Adds Roach Infusion to the DNA infuser (#76393)
## About The Pull Request

- Adds Roach Infusion to the DNA infuser. 
   - Bonuses include:
- All infused organs are 2x as healthy, notably your heart: Meaning
getting revived after being dead a while is easier
- When being attacked from behind or while lying down, take 50% less
damage from brute attacks
      - Lose disgust 32x faster, making it a non-issue
      - Higher toxin purge threshold (5 units, up from 3)
      - Virus resistance (same as spaceacillin)
      - 100 innate bomb armor, preventing explosions from gibbing you
      - 90 innate bio armor
- Immunity to appendicitis, radiation, and to being gibbed by nuclear
bombs
   - Downsides include:
      - Knockdowns are 3x as long
      - get 3x as hungry
      - Ingest reagents to your stomach 1.5x slower
      - Take 2x as much damage from toxins
- Toxins over the purge threshold deal 4x more liver damage (effectively
2x, as the liver has 2x health)
      - Becoming a bug
      - Roaches are gross

- Adds a way to kill roaches without having them splat. If they are
sprayed with bug spray, they will simply fall over, and can be scooped
up.


https://github.com/tgstation/tgstation/assets/51863163/5078c493-9e28-42cb-ae51-45fa25b67a34

## Why It's Good For The Game

More content for the DNA infuser, which benefits greatly from variety. 

While initially it may seem like a lot of bonuses, a lot of them are
very niche, with the exception being the brute resilience which is the
big "actually useful" bonus you gain.

The infusion is intended to be given to Engineers, offering innate
Radiation immunity to allow them to work on the Supermatter without
needing a rad suit. Likewise, if the work goes south and the Supermatter
goes boom, their body will more than likely survive the blast.

## Changelog

🆑 Melbert
add: Adds the Roach infusion to the DNA infuser. Do you want to survive
a nuclear apocalypse? Visit genetics today.
add: Adds a way to kill Roaches without splatting them. Visit botany for
a spray bottle of pestkiller.
qol: Infuser book is more book-like
fix: DNA infuser correctly gives on-success feedback messages
/🆑

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-07-02 03:44:03 +01:00
necromanceranne 2600f23ebb Coroner Update: Pickle-Eating Morbid Weirdo Obsessed with Death and Perfectionism (#76318)
This PR introduces a whole bunch of Coroner and Morbid related content.

Firstly, Morbid is now a mind trait, and specifically, coroners start
with it.

Coroners also have a liver trait that allows them to heal toxins (very
slowly) from eating pickles and drinking pickle juice. They also
can...drink formaldehyde. I guess. Dissections is thirsty work.

Coroners gain a whole set of special tools specifically for use in any
surgeries marked as interests of the Morbid. This is determined by the
``surgery_flag`` called ``SURGERY_MORBID_CURIOSITY``. Currently, these
surgeries are included;

dissections, autospies, revival surgery, plastic surgery, organ/feature
manipulations, amputations

To fit the theme, TRAIT_MORBID also applies the reduction to eye
snatchers.

While using their special tools, and the surgery is a morbid curiosity,
the coroner/anyone who is morbid gains a 30% speed boost! This stacks
with the dissection speed boost. Otherwise, the tools are just regular
tools with a special name (though the scalpel is better at killing
undead, because, you know, you're watching over the dead).

The coroner's special medkit, which is the only one you can get in a
round, can fit their autopsy scanners and tools. Anything that comes
standard with their kit can go back into it.

Anyone who is morbid can safely retrieve the secrets of the elephant
graveyard. The serrated shovel, notably, is a much better tool and
notably better at killing organics, but not inorganics (like the dead).

(Gives roboticists secure morgue access during skeleton crew pop totals)
2023-06-30 12:55:14 +00:00
Andrew 626e5c9dea Eating from floor may cause disease (#76018)
![image](https://github.com/tgstation/tgstation/assets/3625094/a60ac166-5772-4ee1-aa08-4f82828033e7)

## About The Pull Request

There is a 10% chance of getting one of 3 new diseases when you eat
dirty things.

Things become dirty when left on the floor for [more than 5
seconds](https://en.wikipedia.org/wiki/Five-second_rule).

But you can wash (with any method you know from spraying water to
cleaning with soap) or cook them later to avoid this.


![image](https://github.com/tgstation/tgstation/assets/3625094/0f78ef11-1737-4c9c-aecd-072dd95ef013)

Packaged, bowled, canned food (any food that spawns package as trash
afterwards) is protected from this effect.

Makes crafted food spawn on nearby tables when the hands are full.
Except the one behind you.


![8wSPp0hsx1](https://github.com/tgstation/tgstation/assets/3625094/6a51ebce-5626-4aac-9e59-cc4eab46a95a)

#### New diseases:

40% chance:

![image](https://github.com/tgstation/tgstation/assets/3625094/a0b72459-cc10-47e1-99db-b11013eaa61b)

40% chance (Vomiting is of special type that does not stun):

![image](https://github.com/tgstation/tgstation/assets/3625094/ce8e254c-7a65-49ed-bfb2-68652a624aed)

20% chance:

![image](https://github.com/tgstation/tgstation/assets/3625094/b792ae5e-8a99-4271-93d1-bcc172292049)

## Why It's Good For The Game

Things that are left on the floor for too long intentionally are trash
that should be disposed by janitor. If you make a meal or prepare a
medication, it makes sense that you should keep your product sanitized.

Things that are dropped unintentionally are supposed to be picked up
quickly. "Oops I dropped this pie, need to pick it up quickly before the
germs spread". 5 seconds are enough for this. If you didn't manage you
will be like "Oh dammit, now I need to wash this pie in a sink".

Now players will consider to not just throw items meant for eating onto
the floor neglecting the fact that it looks odd. If they still ignore
it, people who consume the items will receive a harmless but annoying
disease.

In general this PR aims to force some IC gameplay onto Medics, Chefs and
Botanists so that they care a bit more about things they make for other
players.

The items have a warning message saying that they are dirty and
dangerous, so the consumers have a way to detect dirty items and an
option to wash them with soap/rag/sink/shower/fire extinguisher to
remove the harmful part from the edible item.

So to avoid this, players just need to examine an item before eating it.

Botanists can spray a pile of fruits from a hose for the same effect,
and washed items that stay on floor dont regain germs until moved to
another tile.

Food that converts into another item during cooking (like meat slab
turning into steak) or crafting, will not retain the infection. This
kinda simulates the sanitizing during cooking.

Medics can use elevated structures (e.g. conveyor belt) to avoid getting
their pills dirty during creation in plumbing. Or they can wash the
pills they want to distribute in the shower before packaging them into
pill bottles or a bag.

## Changelog

🆑
add: Food and pills have a 10% chance to infect with one of three new
diseases on consumption when left for more than 5 seconds on the floor.
You can wash it to avoid disease. ChemMaster and Pill Press are added to
the list of elevated structures (Considered as tables for pills). Made
harvest spawn on top of hydrotrays to stay protected from germs.
add: Added three new advanced diseases: Gastritium, Carpellosis, Nebula
Nausea with static cures obtained by digesting dirty food.
fix: Food no longer decomposes on Hydrotrays, Grilles, Bonfires and all
dense kitchen machinery
code: Decomposition now uses `germ_sensitive` component and follows 5
second rule too.
qol: Crafted food items spawns on nearby tables (except the one behind
you) instead of dropping on floor when hands are full.
/🆑
2023-06-30 01:28:12 -07:00
ChungusGamer666 82cf9ea499 Removes shitty "status" variable on organs, makes them use organ_flags instead (#76350)
## About The Pull Request

Title.

## Why It's Good For The Game

Seriously this shit pisses me off, why are ORGAN_SYNTHETIC and
ORGAN_ROBOTIC two different things?

## Changelog

not applicable unless i fucked up

---------

Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
2023-06-29 21:09:55 +00:00
ChungusGamer666 614fab11b2 SPECIES NUKING 2023: Head flags 2: Electric Boogaloo (#76298)
## About The Pull Request

Continues the work I started on
https://github.com/tgstation/tgstation/pull/76074
Fixes https://github.com/tgstation/tgstation/issues/73782

Implements a bunch of wrapper procs for hair style, facial hair style,
etc etc the whole nine yards.
Fixes many issues, especially with gradients because I did sloppy tired
code that didn't work there.
Makes head/get_limb_icon() not a disgusting mess (well, at least makes
it less of a disgusting mess).

## Why It's Good For The Game

Actually makes hair and lips depend entirely on the bodypart.

## Changelog

🆑
refactor: Head rendering code has been updated significantly... Again.
Please report any issues with hair, facial hair, lipstick and such.
/🆑
2023-06-29 13:53:31 +00:00
ChungusGamer666 316767fc07 SPECIES NUKING 2023: Nukes species_traits, good night sweet prince (#76297)
## About The Pull Request

IT'S OVER.

## Why It's Good For The Game

Species traits are a relic of a time before the trait system was added
to generalize this kind of behavior.
They are clunky and overall less useful than inherent_traits -
Converting these makes it easier to make these behaviors modular and
usable not only by species.

## Changelog

🆑
refactor: A significant species refactor happened, report any issues on
the github.
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2023-06-29 08:28:17 +02:00
DATAxPUNGED e14eb3296f [BUTTER] You can now slice butter into 3 easier to handle slices. Mixing butter now requires 25 milk. Butter resprite (#76338)
## About The Pull Request

On top of removing soul, this changes almost all recipes to use butter
slices instead of a whole stick of butter, said stick of butter now
takes 25 units of milk to be mixed. The whole equation results in
8.333... milk per butter slice, making butter in general more efficient.
Butter also has 3 times as much nutriment.


![image](https://github.com/tgstation/tgstation/assets/44149906/6ee730ee-c855-4483-9b89-50f63d67991b)
## Why It's Good For The Game

Butter takes a lot of milk for not a lot of results, and using a whole
stick of butter on certain recipes is just silly. Now, you will spend
MORE milk to make butter, but you will slice it to make butter slices,
which are what will be used on recipes instead. Except butter on a
stick, that still uses the OG butter.
## Changelog
🆑
add: Added butter slices, which you can make by cutting butter into 3.
qol: Recipes that once required butter now only require a slice of it.
With the exception of the butter on a stick, of course.
balance: Butter now requires 25 milk to mix and has 3 times as much
nutriment.
image: Resprited butter and butter on a stick using bluespace
technology, managing to compress more butter into a smaller space
/🆑
2023-06-28 18:55:58 -06:00
Ghom 6b007f758b Replaces ammo_casing/caseless and bullet/reusable with elements. (#76335)
The reusable and caseless types only purposes are the behaviors of
deleting the casing when fired and spawning a new object when the
projectile ultimately reaches its maximum range or hits a target, both
of which are easily "elementizable". Also, I don't like those barely
filled sub-folders in the projectile module, and the fact we've
divergent reusable and single use arrow types.
2023-06-28 01:14:59 +00:00
Lufferly 5057e65041 Janitor balloon alerts (#76284)
## About The Pull Request

Adds some balloon alerts to the mop, /datum/component/cleaner, and the
light replacer
edits some balloon alerts on the janicart

## Why It's Good For The Game

Doing your duties as a janitor tends to clog up chat, and this stuff
seems better for balloon alerts anyway.
Newer players are also often directed towards janitor, and this will
help with feedback for someone unaccustomed to looking at chat.
If any of these are too long let me know.

## Changelog

🆑 Seven
qol: Mops, some cleaning items, and light replacers now use balloon
alerts
/🆑
2023-06-26 22:16:08 -06:00
ChungusGamer666 62ccbff0df SPECIES NUKING 2023: Makes tongues handle liked/disliked food instead of species datum (#76204)
## About The Pull Request

Alright, let's get real, handling food tastes with the species datum is
hacky at best - This is a continuation of my nuking of the species
datum, which currently handles way too much of human mobs' behaviors.

While moving that to the tongue isn't exactly a perfect solution, it
allows for more interesting behavior than the species datum, especially
now that I added getter procs to get foodtypes liked/disliked by the mob
and such.

## Why It's Good For The Game

Makes tongue transplants more appealing and emergent, since they fully
control tastes and not just taste sensitivity which is pretty much
cosmetic.

## Changelog

🆑
refactor: Liking/disliking food is now handled by the tongue organ, not
the species. Also, having a failing tongue means you can't taste food
properly!
add: You can read peoples' tongues now, if you have the entrail reading
skillchip.
/🆑

---------

Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
2023-06-26 08:17:54 +02:00
Ghom cf443bfbad [s] Knocks the lights out of Tinea Luxor (#76295)
## About The Pull Request
So, we've a problem where the lights from Tinea Luxor can be staked up
indefinitely, because someone thought it was a brilliant idea to use
expose_mob rather than on_mob_metabolize.

## Why It's Good For The Game
This will close #76263. Aaaand yes, this is a webedit PR.

## Changelog

🆑
fix: Fixes the lights from Tinea Luxor being stackable to the point of
crashing the game for others.
/🆑
2023-06-25 17:08:15 -04:00
Youtubeboy139 cd4af66ea2 99 bottles of beer on the wall... (#76274)
## About The Pull Request

Adds in new, shiny, beer bottle sprites that look more like bottles than
what was previously available. Also adds in a new Two-Time root beer
bottle sprite cause it never existed to begin with. As well as a brand
new Carp Lite bottle.

![Screenshot 2023-06-23
001925](https://github.com/tgstation/tgstation/assets/609886/be2cf6e5-ef51-4ad9-a283-6dc3fd988f04)
## Why It's Good For The Game
Better looking sprites. Simple as that. Also fixes a missing sprite and
adds a different sprite for a variation to beer.
## Changelog
🆑
image: Added new Space Beer sprite
image: Added new Carp Lite sprite
image: Added new Ale Bottle sprite
image: Added new Two-Time Root Beer sprite
/🆑
2023-06-23 20:19:08 -06:00
ChungusGamer666 f030b3b5aa SPECIES NUKING 2023: Refactors a bunch of species traits into flags for the head bodypart (#76074)
## About The Pull Request

Title. 
I saw a comment on psyker code complaining about these species traits
(which admittedly, they suck) and heeded the call to turn all of this
crap into something defined almost entirely by the head bodypart.

## Why It's Good For The Game

Potential to simplify species code further in the future, by delegating
more visuals to bodyparts, which is where most of them should be
handled.

## Changelog

Should not be player facing, unless I fucked up.

---------

Co-authored-by: Time-Green <timkoster1@hotmail.com>
2023-06-22 10:23:19 +02:00
ChungusGamer666 b9b19bd6e1 Lighting object oddities (#76009)
## About The Pull Request

Fire stacks status effect no longer uses a weakref for the mob light, I
am pretty sure there was no real reason to use a weakref there.
Deleted weird luminescent glow dummy, now it just uses the standard
moblight obj.
Put all /obj/effect/dummy/lighting_obj together in a single file and
added a comment explaining why they exist.

(I severely dislike the /obj/effect/dummy typepath, but I am very much
unsure if just replacing all of them with /obj/effect/abstract would
break shit)

## Why It's Good For The Game

Code organization good
2023-06-20 06:08:29 +00:00
Andrew e03941b5dc [NO GBP] Tube and Bottles get main reagent in their name (#76040)
![image](https://github.com/tgstation/tgstation/assets/3625094/f361b36b-b769-4d6f-84cb-37ae402622c0)

## About The Pull Request

I made only pills and patches have reagent name by default because I
thought that open containers are temporary, and if you empty them and
then fill with other reagent, it will be confusing. I was wrong, they're
better be named.

## Why It's Good For The Game

Less manual input for those who want their tubes and bottles named to
not rely just on reagent color

## Changelog

🆑
qol: Tubes and Bottles have the main reagent name prefix in
Chem/CondiMaster
/🆑
2023-06-16 11:27:26 -07:00
AnturK bd1098b874 Removes amount_list_postion from reagent containers, adds related unit test. (#76057)
We had more issues like what #76013 addressed, now they're gone.
Variable transfer amount is now explicit. 
Amount is now inferred from current value, performance concern here is
minimal. Less work and mistakes when making new types.
2023-06-15 19:58:58 -06:00
MrMelbert 438decaa8f Fixes chem master replace beaker runtime (#76062)
## About The Pull Request

I think it was rather silly to put this call in this proc, but I'm not
about to audit it

`new_beaker` can be `null` if this proc is being called to drop the
current beaker, so this needed a sanity check

## Why It's Good For The Game

Runtime

## Changelog

🆑 Melbert
fix: Runtime from ejecting beakers from a chem-master
/🆑
2023-06-15 19:52:32 -06:00
tattle 351e4c923c Split drinks into different files (#75898)
Splits our nearly 4000 and 1600 line long files. Mostly just moves the
glass appearances into their own files.
2023-06-15 04:03:42 +00:00
Aki Ito e817ee30ca Hotfixes Some Reagent Containers' Ordering (#76013)
## About The Pull Request

Droppers will now properly go to 1u on attackself.
Beakers will now properly go to 15u on attackself.

Caused by the ordering of the volumes transferred, it thought it was
starting at 1u when it should have been starting at 5.
## Why It's Good For The Game

Was a bug someone posted about in OOC
## Changelog
🆑 Cobby
fix: Droppers/Beakers will now go to 1u/15u on the FIRST leftclick.
/🆑
2023-06-14 20:58:32 +02:00
Andrew 48fa7744df Burner can be crafted from any open container (#75978)
![image](https://github.com/tgstation/tgstation/assets/3625094/042ef40c-512f-40c5-8e65-a7dc842108fd)

## About The Pull Request

Expands the options for making burners (makeshift igniters) by requiring
any open container (bottles, cans, cups) instead of beaker subtypes.

## Why It's Good For The Game

Makes ghetto recipe a bit more ghetto-friendly

## Changelog
🆑
qol: Chemical burner can be crafted from any open container, not just
beakers
/🆑
2023-06-14 12:04:53 +02:00
carshalash a0aff8f7fa Ethereal drink typo fix (#75983)
## About The Pull Request

Ethereals was mistakenly written as etherials in most of the ethereal
drink text, this fixes it.

## Why It's Good For The Game

Typo bad

## Changelog


🆑
spellcheck: corrects a typo in most ethereal drinks.
/🆑
2023-06-12 20:42:17 -04:00
LemonInTheDark 65b168af71 Removes an infinite loop caused by shitty heart removal reacting code (#75985)
oh also removes some harddel sources and other stupid stuff
2023-06-12 05:18:38 +00:00
Andrew d278980066 ChemMaster and CondiMaster refactored, prints items over time (#75849)
![ZceBfkJaFG](https://github.com/tgstation/tgstation/assets/3625094/aedf6178-dad7-40b2-a7ea-18da6f56e9e8)

## About The Pull Request

Chem master has been using some hard coded styles for containers, pills
and patches. Some people didn't bother to update styles, and they stayed
outdated.

Now it uses just a list of reagent containers instead, which makes it
easy to add new containers - just one line of code.

Also changed its sprite for better animations, emissive overlay, and to
display buffer reagents on the sprite itself.

Now it plays printing animation when you actually print containers and
servos have a purpose now - they increase the amount of containers
printed at once by up to 100% * part_tier. Pills and patches are always
printed at double amount.

And fixes #59734 

## Why It's Good For The Game

Makes chem master easier to manage in code and easier to use in-game.

Printing delay is added for consistency with other fabrication machines
(like lathes), to give a purpose for the servo motor used in
construction, for visuals (to show the printing animation only when
something is being printed, and not just when you move stuff in and out
of buffer as before) and to prevent people from spamming the world with
unneeded objects with 0 second delay.

## Changelog

🆑
qol: Chemmaster UI tweaked
fix: Fixed chem master showing wrong data during reagent analysis
fix: Fixed chem master not working with fermented drinks
image: Chemmaster resprited, now has an indicator for buffer reagents
refactor: Refactored chemmaster code, it now uses reagent containers
instead of styles
balance: Chemmaster now uses servos and has printing animation of 0.75
second duration. Outputs 1 container or up to 2 pills/patches per cycle
by default. Can be upgraded to output up to 4 and 8 with t4 servos.
/🆑
2023-06-11 13:52:39 -04:00
carlarctg ee4aaebc5f Assistants get a liver trait + Officer's sabre banes against them (#75933)
## About The Pull Request

Assistants get a new liver trait, maintenance metabolism. This trait
only lets them process maintenance drugs, grey bull, and pump-up for 20%
more time and gives them a probably-positive 2 minute moodlet when
ingesting these.

The officer's sabre has gained a small amount of bloodthrist for
assistants!

Fixed liver masters being unable to inspect the liver of scientists.

## Why It's Good For The Game

> Assistants get a new liver trait, maintenance metabolism. This trait
only lets them process maintenance drugs, grey bull, and pump-up for 20%
more time and gives them a probably-positive 2 minute moodlet when
ingesting these.

This trait is pretty much entirely here for the actual
liver-identification of assistants the sabre uses, though I didn't want
to just add an empty trait so I gave it the above effects as pretty damn
harmless effects. I'm sure the maints will dislike even this so I'm open
to anything.

> The officer's sabre has gained a small amount of bloodthirst for
assistants! Or at least their livers.

I find the concept of the sabre having a bane against assistants
amusing, and it wouldn't hurt to give them something that may help
against tiders. As a smidgen of fairness, the detection is tied to the
liver - if they want to take less damage they can have it replaced,
though the captain can also help with that by disemboweling organs. The
liver being used for something that isn't reagents processing might be a
bit controversial, but like I said, I'd rather have that than have it
permanently, intrinsically tied to a job.

> Fixed liver masters being unable to inspect the liver of scientists.

Ballmer metabolism quacks like a duck, traits like a duck, and thus
should be able to be duck inspected by the duck master, since there is
no practical difference between it and other 'official' metabolisms.

## Changelog

🆑
add: Assistants get a new liver trait, maintenance metabolism. This
trait only lets them process maintenance drugs, grey bull, and pump-up
for 20% more time and gives them a probably-positive 2 minute moodlet
when ingesting these.
add: The officer's sabre has gained a small amount of bloodthrist for
assistants!
fix: Fixed liver masters being unable to inspect the liver of
scientists.
/🆑

---------

Co-authored-by: san7890 <the@san7890.com>
2023-06-10 20:17:30 -04:00
san7890 59dd02fe7c Welding Fuel Tanks now log_bomber when hit by projectile (#75885)
## About The Pull Request

This was intended behavior, but I think a lot of bullshit over the years
sorta corrupted this proc's intention. Anyways, we just override the
whole ass proc for this one check, give a good return value (or at least
the same one that we were always giving) if our criteria is met, rather
than deal with the problems that parent was feeding us.


![image](https://github.com/tgstation/tgstation/assets/34697715/e2b39140-d365-43aa-8834-2740f9fa5036)

The specific issue here was that the parent of `bullet_act()` was
invoking `take_damage()` which prematurely invoked `boom()` which
invokes `qdel()`, meaning that the `QDELETED()` check would _always_
early return without fail every time.

Let's just do our own thing here.
## Why It's Good For The Game


![image](https://github.com/tgstation/tgstation/assets/34697715/ca8fdeba-9f5d-4bed-afba-88824d389cfb)

Intended behavior actually works.
## Changelog
🆑
admin: Shooting a welding fuel tank (big or small) with a projectile
will now accurately post to list_bombers with the name of the person who
shot the projectile from the gun. If you don't know how to list-bombers,
it will also be present in game.log for your viewing pleasure.
/🆑
2023-06-08 23:25:10 -07:00
LemonInTheDark ae5a4f955d Pulls apart the vestiges of components still hanging onto signals (#75914)
## About The Pull Request

Signals were initially only usable with component listeners, which while
no longer the case has lead to outdated documentation, names, and a
similar location in code.

This pr pulls the two apart. Partially because mso thinks we should, but
also because they really aren't directly linked anymore, and having them
in this midstate just confuses people.

[Renames comp_lookup to listen_lookup, since that's what it
does](https://github.com/tgstation/tgstation/commit/102b79694fa8eb57ecf7b36032616a9e368ccced)

[Moves signal procs over to their own
file](https://github.com/tgstation/tgstation/commit/33d07d01fd336726b4f6f6f1b61bb0b3f11a00dc)

[Renames the PREQDELETING and QDELETING comsigs to drop the parent bit
since they can hook to more then just comps
now](https://github.com/tgstation/tgstation/commit/335ea4ad081ec63c42cfa05856e582cca833af6e)

[Does something similar to the attackby comsigs (PARENT ->
ATOM)](https://github.com/tgstation/tgstation/commit/210e57051df63f88dac3dd83321236da825aae5e)

[And finally passes over the examine
signals](https://github.com/tgstation/tgstation/commit/65917658fb8a1e7d28ae23c9437a583d646f0302)

## Why It's Good For The Game

Code makes more sense, things are better teased apart, s just good imo

## Changelog
🆑
refactor: Pulled apart the last vestiges of names/docs directly linking
signals to components
/🆑
2023-06-09 06:14:31 +00:00
Ghom 3a8592d258 Improves mob resizing (and UpdatePaths). (#75892) 2023-06-08 11:59:30 -06:00
Rhials bd63737fb1 Alexander now properly purges itself when you drop your shield (#75891)
## About The Pull Request

remove_reagent() wasn't getting passed a volume, so it would just throw
a stack_trace and not actually purge anything.
## Why It's Good For The Game

Closes #73365.
## Changelog
🆑
fix: Alexander now properly purges itself when you drop your shield.
/🆑
2023-06-07 17:31:42 -06:00
Helg2 6378ef5687 Changes the base amount of bone gel. (#75851)
## About The Pull Request
Changed the amount from 1 to 5 for original `bone_gel` so it's easier
for mappers to add the right bone gel.
Deleted subtype `/four` and added subtype `/one` specifically for bone
gel creating.
Increased from 4 to 5 because surgical tape has 5.
## Why It's Good For The Game
Having 1 bone gel near 5 surgical tapes always seemed off.
## Changelog
🆑
balance: Bone gel standart amount has been increased to 5.
/🆑
2023-06-05 21:13:06 -04:00
san7890 874ada4278 Refactors Ant into Basic Mob (#75662)
## About The Pull Request

On the tin. No new fancy AI wheels or anything, just a simple port. 
## Why It's Good For The Game

Knocks another one off the list, just really light stuff. They're a bit
smarter now too, I think the intention was them for them to be pet-like
as well (according to the code). Should be really rather easy to give
them the pet-like behaviors and elements if someone really wants to in
the future, just sorta paving the way for more work to be done to make
mobs more intricate/interesting.
## Changelog
🆑
refactor: Giant ants are now more capable of distinguishing friend and
foe.
/🆑
2023-06-03 14:41:05 +12:00
Andrew bc5581dc09 Condiments resprited (#75715)
![image](https://github.com/tgstation/tgstation/assets/3625094/021a6d6e-6f25-40e1-8c1a-6cebb25e7614)

## About The Pull Request

Resprited many condiment containers.

And a tray (don't know why, it just was in the dmi)

Replaced the old condiment bottle from Condi Master with the one that
was used in Chem Master before the test tubes.

## Why It's Good For The Game

More in line with other 3/4 stuff

## Changelog

🆑
image: Resprited many condiment containers
image: Added a sprite for cooking oil / corn oil container
image: Replaced old condiment bottles with the newer bottles in Condi
Master
/🆑
2023-05-30 03:05:02 +00:00
Lufferly 07912a8bd0 Fixes some missing textures on the labcoat suit storage + makes the paper hat a craftable item (#75681)
## About The Pull Request

Fixes epipens, pillbottles, and test tubes having a missing texture when
put into suit storage.
Makes pills and patches invisible on the player when put into suit
storage.
Turns the paper hat into a craftable item, and by extention fixing an
issue where a paper hat would appear on your head when you put paper
into suit storage.

fixes: #69504

## Why It's Good For The Game

Fixes some missing texture sprites, makes it so the paper hat does not
appear on your head when you put it in suit storage.
Pills and patches also appeared on your body when put into suit storage,
which I thought looked weird, since they would be in your pocket or
something.

## Changelog

🆑 Seven
fix: Fixes epipens, pillbottles, and test tubes missing texture when put
into suit storage
fix: A paper hat no longer appears on your head when putting paper into
suit storage
add: The paper hat is now a craftable item
image: Pills and patches are no longer visible on a person when put into
suit storage
/🆑
2023-05-27 22:35:56 -06:00
John Willard 0c99bd28f4 Makes gasses use defines (#75542)
## About The Pull Request

Adds defines for gasses and replaces uses I've found to instead use the
defines.

Can you believe I made this PR while trying to work with Xenos? This
sucks!

## Why It's Good For The Game

There's a lot of different uses of things like "o2" and "plasma", and
they are pretty inconsistent. In some places, it's "hydrogen", in others
it's "h2". In some it's "plasma", others "plasm". This unifies it all
under defines so it has a less chance of breaking in the future.

## Changelog

Nothing player-facing.
2023-05-27 19:45:22 -04:00
KingkumaArt b7fb33ab00 Adds Ethereal Drinks (#75487)
## About The Pull Request
Adds 3 new electric-themed drinks for ethereals. They count as food for
etherials, (not much, one glass is about equivelant to a plasma burger),
but humans can drink them as well, among other effects.
## Why It's Good For The Game
As an ethereal player, I do feel while our food is convenient, that we
miss out on the RP other species get from going to the bar. This allows
for etherials to order drinks from the bartender. All effects work on
all races, with the hunger satiation as the exception.
## Changelog
🆑
add: Voltaic Yellow Wine - New "base" drink, found in booze-o-mat. No
special effects besides acting as a weak ethereal food. Not very potent
in terms of alcohol.

add: Telepole - New mixed drink themed after thunderstorms, gives the
same shock-resist grey bull does. Made from 1 part Voltaic Wine, 1 Part
Sake, and 2 parts Dark & Stormy. Moderately potent.

add: Pod Tesla - New mixed drink, themed after the old removed tesla
engine (the singulo gets a cocktail, it should too!) Grants a brave -
bull phobia resist, and a stronger grey bull shock resist allowing you
to (temporarily) resist tesla arcs from reactive armor and the SM's
tesla coils. Gives a pleasant thought to whoever drank it, because this
thing is a pain to make. Made from 5 parts admiralty, 5 parts telepole,
and 3 parts brave bull. Highly potent.

qol: Unsure if this counts as QOL or balance, but the fact sol dry is in
3 different cocktails but the bartender has to buy 30u cans of it made
me feel it deserved being added to the soda dispenser.

image: Added graphics for the above drinks, shown below, from left to
right: Pod tesla, Voltaic Yellow wine, Telepole, Voltaic Wine (bottle)
<img width="171" alt="image"
src="https://github.com/tgstation/tgstation/assets/69398298/901b2f64-1723-44b6-8f78-ef21bd477d96">


/🆑

---------

Co-authored-by: Aki Ito <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
2023-05-27 19:00:55 -04:00
Andrew 3773d20c96 Adjust objects to tabletop when wrenched (#75671)
![dreamseeker_2f6HEd87Kb](https://github.com/tgstation/tgstation/assets/3625094/c272df94-cdb6-427e-a3dc-c0e7d9cca4ea)

## About The Pull Request

Added a variable to `/obj/` that can be set to adjust the object sprite
when it mapspawns or being wrenched on top of a table.

Set this variable for some popular tabletop machines, removing the
default `pixel_y` offsets for some of them.

Also moved the wrenching logic to /obj/. It was under machinery for some
reason.

## Why It's Good For The Game

Did you ever unwrench something from the table by accident and then was
annoyed that you can't revet it back?

## Changelog

🆑
qol: Objects have a variable to adjust them visually when they're
wrenched or spawned on a table
refactor: Removed redundant code that had similar purpose, moved `obj`
wrenching logic into the `objs.dm`
qol: food/slime processor can be moved on table and adjusts to it when
wrenched
/🆑
2023-05-27 18:17:08 -04:00
TheVekter 4f850b6151 Makes virus food a hot reaction instead of cold (#75678)
## About The Pull Request

Fixes #75401.

There might be a more elegant way to do this, but Melbert and I decided
it'd be better to just make it a hot reaction instead of cold to dodge
the water freezing before the reaction could finish. There was also a
suggestion to do something with the pH to keep it from freezing but that
feels weird and doesn't make sense.

There's an argument to be made that this makes ghetto virology harder,
but it's not _that_ hard to get a heater board.
## Why It's Good For The Game

Couldn't make thing, now we can.

## Changelog

🆑
fix: Fixed virus food being unsynthesizable by making it a hot reaction
instead. Now requires 600K to synthesize.
/🆑
2023-05-27 18:11:27 -04:00
MrMelbert fdd416fa5e Removes a lot of boilerplate from hydroponics apply, adds a mushroom mechanic for milk as implied by comments (#75491)
## About The Pull Request

- Removes a ton of boilerplate from `on_hydroponics_apply`
- Replaces `chems.get_reagent_amount(type)` with `volume`. The former is
a roundabout way of accomplishing the latter, the only thing the proc
did was add un-necessary iterating and also round to the chemical
quantisiation level, which wasn't really necessary as most locations
rounded anyways.

- While doing this, I saw th is comment: `Milk is good for humans, but
bad for plants. The sugars cannot be used by plants, and the milk fat
harms growth. Not shrooms though. I can't deal with this now...` This
was super easy to just throw in so I did it.

- Additionally, I noticed Uranium and Radium had this var, `tox_damage`,
which was ... the same for both, but one used REM and one didn't, but it
shouldn't have been using REM since it was multiplied by REM in the
proc... so I removed the REM from the latter, making it doubly strong
(0.5 -> 1). I did this just because I could use it nicely for the hydro
proc but... I unno.

## Why It's Good For The Game

Makes it a bit clearer on working with hydro chems

## Changelog

🆑 Melbert
balance: Milk no longer harms the potency of mushrooms. Apparently it's
good for them?
balance: Radium now does slightly more tox damage than Uranium
code: Removed a ton of boilerplate from chem hydro interactions
/🆑
2023-05-24 18:28:33 +00:00
Andrew 2d54693913 Test tubes and racks (#75179)
## About The Pull Request


![image](https://user-images.githubusercontent.com/3625094/236466928-dd7beffb-ff26-4d78-a10b-7be29aae56f2.png)

Bottles have varied volumes - some of them hold 30, some 50, while
having the same sprite. And the size is comparable with small beaker, so
it was a bit weird that it can hold only 30 units. Now the default
bottle volume is 50, consistently.

Test tubes are the new 30u container that replaces bottles created in
chem master (but not condi master) and pandemic.

For better management of test tubes, this PR also adds a rack that can
be crafted from 1 wooden plank. The rack stores up to 10 test tubes and
can pick them up and drop quickly similar to how the pill bottle works
with pills.


![image](https://user-images.githubusercontent.com/3625094/236472298-df4932a4-4620-4a6b-87c0-67efc7317d02.png)

## Why It's Good For The Game

Consistent volume for the bottle sprite instead of some being 30, some
50.

Essential attribute for chemical lab, good company for Chem Separator.

## Changelog

🆑 MTandi, coiledlamb 
add: Added test tubes and racks for them
balance: All 30u bottles now have 50u volume and chem master/pandemic
spawn tubes instead of bottles
/🆑
2023-05-23 17:07:55 -06:00
Oreo f3a6444a5a Refactors honeycomb into a food (#75551)
## About The Pull Request

Updates to honeycomb for the new reagent system

## Why It's Good For The Game

The plant bag can hold honeycomb but the all-in-one grinder does not
accept honeycomb from the plant bag, requiring manual removal and
placement into the grinder. This speeds up workflow and makes bees less
clunky and more accessible.

## Changelog

🆑
refactor: honeycomb is now edible
fix: all-in-one grinder now notifies the user when trying to dump an
empty bag
fix: all-in-one grinder now accepts honeycomb from plant bags
/🆑
2023-05-23 16:29:51 -06:00
Charlotte 97665d4e54 Adds Hereditary Manifold Sickness, a Chronic Illness Quirk (#75035)
## About The Pull Request

Adds a new quirk called Chronic Illness. It provides a -12 score as it's
a pretty life-altering quirk, but could give way to interesting RP.

- Hereditary Manifold Sickness (HMS) can not be cured, it can only be
delayed and treated using a new unmakable vaccine called
"Sansufentanyl". You spawn with 6 pills and are able to order crates
containing 12 more from cargo as it's proprietary to Interdyne.

- HMS has 5 stages total.
Stage 1 does nothing
Stage 2 gives minor effects 
Stage 3 becomes debilitating
Stage 4 is a danger zone.

Upon reaching Stage 5, there are 4 possibilities, 1 is a recovery back
to stage 1, and the other 3 are deaths which I won't explain here to
avoid ruining it. (read the code I guess.)

This also adds a new traitor objective to infect someone with HMS.

- [x] Correcting the chronic aspect.

- [x] Add traitor objective.

- [x] Tweaking for fairness.

## Why It's Good For The Game

HMS is a new quirk that gives a much more hardcore junky or tumor
playstyle. Neglecting HMS can mean the end of your shift. it's not
something you want to mess with.

It puts a reliance on cargo rather than medical for a quirk and gives a
use case for money. (price may be tweaked still). I think it'd be
interesting to see if people will start mugging or robbing the vault
more to get their life-saving medication.

## Changelog
🆑
add: Interdyne has released a new medication to treat those who are in
the wrong timeline!
add: Interdyne has also realized this is VERY profitable! They've begun
arming their operatives with an autoinjector.
/🆑

---------

Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-05-24 09:03:15 +12:00
Tom e5ce1c09a7 Converts butterflies to basic mobs and adds them to cytology (#75582)
## About The Pull Request

Converts butterflies into basic mobs.
Also a little list organisation.

<details>
<summary>Yep, those are some butterflies alright</summary>


![image](https://github.com/Skyrat-SS13/Skyrat-tg/assets/8881105/d9e3a14e-e0a5-4275-b440-af0a56e7b8fe)

</details>

## Changelog
🆑
refactor: Converted butterflies to the basic mob system
add: Butterflies can now be grown in cytology
/🆑
2023-05-22 10:30:48 -06:00
Paxilmaniac 4c3a29be97 Adds a var to chemical reactions that allows them to take place in subtypes of their required container (#75527)
## About The Pull Request

As the title may imply, a variable has been added to chemical reactions
that'll make them check istype on the required container, rather than
looking for the exact type path.
## Why It's Good For The Game

In my specific example, lets say I want to have sybtypes of soup pots.
The current behavior doesn't allow for these subtypes of soup pots to
actually make soup, which is sub-optimal.
## Changelog
🆑
code: A var has been added to chemical reactions (defaulted to FALSE to
keep current behavior) that allows subtypes of that reactions required
container to be used as well, rather than the exact type.
/🆑
2023-05-21 21:13:28 +00:00