Commit Graph

52 Commits

Author SHA1 Message Date
Alexis 21b4095dfd [MDB IGNORE] [IDB IGNORE] Upstream Sync - 04/17/2026 (#5453)
Upstream 04/17/2026

fixes https://github.com/Bubberstation/Bubberstation/issues/5549

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: tgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com>
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com>
Co-authored-by: rageguy505 <54517726+rageguy505@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Aliceee2ch <160794176+Aliceee2ch@users.noreply.github.com>
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
Co-authored-by: Tsar-Salat <62388554+Tsar-Salat@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: Maxipat <108554989+Maxipat112@users.noreply.github.com>
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: SimplyLogan <47579821+loganuk@users.noreply.github.com>
Co-authored-by: loganuk <fakeemail123@aol.com>
Co-authored-by: Leland Kemble <70413276+lelandkemble@users.noreply.github.com>
Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com>
Co-authored-by: Roxy <75404941+TealSeer@users.noreply.github.com>
Co-authored-by: Lucy <lucy@absolucy.moe>
Co-authored-by: siliconOpossum <138069572+siliconOpossum@users.noreply.github.com>
Co-authored-by: Isratosh <Isratosh@hotmail.com>
Co-authored-by: TheRyeGuyWhoWillNowDie <70169560+TheRyeGuyWhoWillNowDie@users.noreply.github.com>
Co-authored-by: Neocloudy <88008002+Neocloudy@users.noreply.github.com>
Co-authored-by: Alexander V. <volas@ya.ru>
Co-authored-by: ElGitificador <168473461+ElGitificador@users.noreply.github.com>
Co-authored-by: Twaticus <46540570+Twaticus@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
Co-authored-by: Layzu666 <121319428+Layzu666@users.noreply.github.com>
Co-authored-by: Arturlang <24881678+Arturlang@users.noreply.github.com>
Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
Co-authored-by: mrmanlikesbt <99309552+mrmanlikesbt@users.noreply.github.com>
Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: John F. Kennedy <54908920+MacaroniCritter@users.noreply.github.com>
Co-authored-by: Cursor <102828457+theselfish@users.noreply.github.com>
Co-authored-by: Josh <josh.adam.powell@gmail.com>
Co-authored-by: Josh Powell <josh.powell@softwire.com>
Co-authored-by: Yobrocharlie <Charliemiller5617@gmail.com>
Co-authored-by: Hardly3D <66234359+Hardly3D@users.noreply.github.com>
Co-authored-by: shayoki <96078776+shayoki@users.noreply.github.com>
Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com>
2026-05-16 00:56:00 +02:00
Joshua Kidder 7a3ad79506 All camelCase (Brute|Burn|Fire|Tox|Oxy|Organ|Stamina)(Loss) procs now use snake_case. UNDERSCORES RULE! (#94111)
## About The Pull Request
It's just a partial cleanup of
anti-[STYLE](https://github.com/tgstation/tgstation/blob/master/.github/guides/STYLE.md)
code from /tg/'s ancient history. I compiled & tested with my helpful
assistant and damage is still working.

<img width="1920" height="1040" alt="image"
src="https://github.com/user-attachments/assets/26dabc17-088f-4008-b299-3ff4c27142c3"
/>


I'll upload the .cs script I used to do it shortly.

## Why It's Good For The Game
Just minor code cleanup.

Script used is located at https://metek.tech/camelTo-Snake.7z

EDIT 11/23/25: Updated the script to use multithreading and sequential
scan so it works a hell of a lot faster
```
/*
//
Copyright 2025 Joshua 'Joan Metekillot' Kidder

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
//
*/
using System.Text.RegularExpressions;
class Program
{
    static async Task Main(string[] args)
    {
        var readFile = new FileStreamOptions
        {
            Access = FileAccess.Read,
            Share = FileShare.ReadWrite,
            Options = FileOptions.Asynchronous | FileOptions.SequentialScan
        };
        FileStreamOptions writeFile = new FileStreamOptions
        {
            Share = FileShare.ReadWrite,
            Access = FileAccess.ReadWrite,
            Mode = FileMode.Truncate,
            Options = FileOptions.Asynchronous
        };
        RegexOptions regexOptions = RegexOptions.Multiline | RegexOptions.Compiled;
        Dictionary<string, int> changedProcs = new();
        string regexPattern = @"(?<=\P{L})([a-z]+)([A-Z]{1,2}[a-z]+)*(Brute|Burn|Fire|Tox|Oxy|Organ|Stamina)(Loss)([A-Z]{1,2}[a-z]+)*";
        Regex camelCaseProcRegex = new(regexPattern, regexOptions);

        string snakeify(Match matchingRegex)
        {
            var vals =
            matchingRegex.Groups.Cast<Group>().SelectMany(_ => _.Captures).Select(_ => _.Value).ToArray();
            var newVal = string.Join("_", vals.Skip(1).ToArray()).ToLower();
            string logString = $"{vals[0]} => {newVal}";
            if (changedProcs.TryGetValue(logString, out int value))
            {
                changedProcs[logString] = value + 1;
            }
            else
            {
                changedProcs.Add(logString, 1);
            }
            return newVal;
        }
        var dmFiles = Directory.EnumerateFiles(".", "*.dm", SearchOption.AllDirectories).ToAsyncEnumerable<string>();

        // uses default ParallelOptions
        // https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.paralleloptions?view=net-10.0#main
        await Parallel.ForEachAsync(dmFiles, async (filePath, UnusedCancellationToken) =>
        {
            var reader = new StreamReader(filePath, readFile);
            string oldContent = await reader.ReadToEndAsync();
            string newContent = camelCaseProcRegex.Replace(oldContent, new MatchEvaluator((Func<Match, string>)snakeify));
            if (oldContent != newContent)
            {
                var writer = new StreamWriter(filePath, writeFile);
                await writer.WriteAsync(newContent);
                await writer.DisposeAsync();
            }
            reader.Dispose();
        });
        var logToList = changedProcs.Cast<KeyValuePair<string, int>>().ToList();
        foreach (var pair in logToList)
        {
            Console.WriteLine($"{pair.Key}: {pair.Value} locations");
        }
    }
}

```

## Changelog
🆑 Bisar
code: All (Brute|Burn|Fire|Tox|Oxy|Organ|Stamina)(Loss) procs now use
snake_case, in-line with the STYLE guide. Underscores rule!
/🆑
2025-11-27 15:50:23 -05:00
massaheartsu 50499dba9a Adds opium and meth rocks! (#92699)
## About The Pull Request


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

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

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

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

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


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

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

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

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
2025-09-09 01:13:46 +00:00
LT3 05696058ed Fix synthflesh patch unhusking, improved feedback (#90514)
## About The Pull Request

- Fixes application of synthflesh patches for unhusking mobs, adjusts
purity to allow one medigel to dehusk one corpse.
- Improved information on containers about the requirements to unhusk,
and added feedback for the player to help guide the proper usage of the
synthflesh.
- It will give a warning if they are using it in a method that would
waste the synthflesh and fail to unhusk.

## Why It's Good For The Game

- Fixes patches.
- Provide better feedback on why failure to dehusk occurs. Currently the
player is provided no information about why it failed (such as purity,
quantity, burn damage) nor how to resolve it.

## Changelog

🆑 LT3
fix: Synthflesh patches unhusk corpses as expected
qol: Better information and feedback about de-husking corpses
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2025-04-16 18:07:02 -07:00
oranges df7887a5ae Patch applications now log their contents when applied (#90211)
## About The Pull Request
Fixes #90143
2025-03-25 21:42:47 +01:00
SmArtKar eb2796831b [MDB Ignore] Refactors pills, patches, and generalizes stomach contents, nothing to see here. (#89549)
## About The Pull Request

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

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

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

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

## Why It's Good For The Game

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

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

Title. Code maintenance, code sanity and because overriding attack()
like this is bad

## Changelog
🆑
code: Converted pills and patches into interact_with_atom
/🆑
2024-11-25 23:21:26 +01:00
Justice 7e1d97af9e Removes the word "chemical" from "chemical patch" (#76966)
## About The Pull Request
In #76011, I bitched and moaned about how the ChemMaster gives patches a
huge ass name. I've talked to other Medical Doctor mains and I also
heard bitching about the word "chemical", which is just a pain in the
ass. It seems many of us just end up removing it because it's so
repetitive and makes the patch's name long fnr. I don't think the word
"chemical" is really needed in there since you can clearly tell it's a
chemical patch just by looking at the word "patch" and the sprite.

I don't think this should affect anything else in the game in a negative
way. In that same issue, it was suggested that the cap for names was
increased instead, but this also solves the issue of the word "chemical"
taking up so much space in the patch's name without touching unknown
lands.
## Why It's Good For The Game
Less words, more healing!
## Changelog
🆑
qol: The word "chemical" has been removed from "chemical patch" when
printing patches
/🆑
2023-07-21 13:16:44 +01:00
MrMelbert a8e0d7c8d2 Adds a new positive quirk, "Spacer Born". (#76809)
## About The Pull Request

Adds a new 7 point positive quirk, "Spacer Born". Totally not inspired
by The Expanse, don't look at the branch name.

You were born in space, rather than on a planet, so your physiology has
adapted differently.
You are more comfortable in space, and way less comfortable on a planet.

Benefits:
   - You are slightly taller. (No mechanical effect)
   - You take 20% less damage from pressure damage.
   - You take 20% less damage from cold environments. 
- You move 10% faster while floating (NOT drifting, this is zero gravity
movement while beside a wall).
- You drift 20% faster (Drifting through zero gravity, untethered to
anything)
- While in space (z-level-wise, not turf wise), you lose some disgust
overtime.
- While experiencing no-gravity for an extended period of time, you will
start regenerating stamina and reduce stuns at a very low rate.
- If you are assigned to shaft miner (or the map is Icebox), you are
awarded with a 25% wage bonus (hazard pay).

Downsides:
- While on a planet (Yes, this includes Icebox and planetary maps), you
gain gravity sickness:
- Passive accrue disgust (slightly lessened on Icebox) (Capped at low
levels)
      - Choking, after extended periods (disabled on Icebox)
      - Slower movement 
      - Weaker stamina (disabled on Icebox)
- Suffocation from extended periods (disabled on Icebox) (Lungs aren't
adapted)
      - Mood debuff

(Effects not final)

## Why It's Good For The Game

I'd figure I throw my hat in with the Positive Quirk Curse. 

This is a quirk that improves your ability in a niche circumstance (low
gravity / dangerous pressure), with some downsides that are only
generally in effect if you play a few roles (or it's Icebox).

Because of this I think it'll provide an interesting niche, where Spacer
Born engineers are slightly better than their counterparts due to their
origin (moving faster in space without a jetpack, withstanding
pressure). However, at the same time, if the mining outpost sustains
damage and needs repairs... suddenly your buff over your cohorts
disappears, and you have to brave somewhere hostile to your body.

Ultimately, the goal of the quirk is to encourage people to approach
situations a bit differently.
Or take it as a challenge and play shaft miner. 

## Changelog

🆑 Melbert
add: Adds a new 7 point positive quirk, "Spacer Born". You were born in
space, and as a result your body's adapted to life in artificial
gravity, making you much more effective and comfortable in lower
gravity. However, travelling planet-side is quite a chore, especially if
you're assigned to work there.
add: Adds a chemical: Ondansetron, created by Oil + Nitrogen + Oxygen +
Ethanol catalyst. A powerful Antiemetic (lowers disgust).
/🆑
2023-07-16 18:54:38 -06: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
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
Xander3359 62fe4a3b91 Patch resprite (#75141)
## About The Pull Request
Adds more selectable patches.

![image](https://user-images.githubusercontent.com/66163761/236027913-449b7744-6df9-492d-827f-ee18e97f01d1.png)

## Why It's Good For The Game
Currently there are only 4 patches to pick from. This selection is
tragic, so how about a few more?
Adds more patches so that chemists have some choice.
## Changelog
🆑 @Xander3359 Sprites: Nebby#1467
image: Replaces the old patches with some new sprites
/🆑
2023-05-11 20:07:30 -06:00
ShizCalev 1a32f60cf4 [ready] adds unit test for missing inhand icons. fixes a bunch of missing inhand icons (#70037)
fix: Fixed a bunch of missing inhand icons.
fix: Fixed cables in electrical toolboxes not randomizing their colors.
fix: Fixed the wrong colored icon showing when trying to make cable cuffs out of cables.
fix: The collectable SWAT helmet is now using the proper icon again!
refactor: Pipecleaners and power cables now share a unified color system, so they're once again available in ALL the same colors.
imageadd: Updated the screwdriver belt overlay to represent the newer sprite.
imageadd: Added a bunch of new inhand icons. Special thanks to Twaticus for doing the helmets! <3
fix: Wirecutters now have an icon when inside a belt again!
admin: Added a new omnitool subtype that allows you to spawn all items in a typepath!
fix: Explorer gaskmasks now properly reflect their adjusted state when held.
fix: Fixed balaclavas having the wrong icon when pulled up.
fix: Fixed the base energy sword (admin spawn only) being invisible.
fix: The rainbow energy sword is now a little bit more rainbowy!
fix: Fixed an tk exploit with orange handcuffed shoes.
fix: The traitor outfit in the select equipment panel is now actually functional!
2022-10-04 10:20:24 -07:00
tattle d91390a447 [IDB IGNORE] The Great Sweep: Moving dmis into subfolders (part 1) (#69416)
Moves singulo and supermatter dmis into obj/engine, renamed from obj/tesla_engine
Moves Halloween, Christmas, and misc holiday items to obj/holiday
Moves lollipops to obj/food
Moves crates, closets, and storage to obj/storage
Moves assemblies to obj/assemblies
Renames decals.dmi to signs.dmi ...because they're signs and not decals
Moves statues, cutouts, instruments, art supplies, and crayons to obj/art
Moves balloons, plushes, toys, cards, dice, the hourglass, and TCG to obj/toys
Moves guns, swords, shields to obj/weapons
2022-08-24 20:49:35 -03:00
Kapu1178 1d0eadcb12 Kapulimbs (#65523)
* i wanna go to bed so im pushing this

* It compiles but doesn't work yet

* It works!

* I WANT TO DIE

* Appease linters

* some CI fixes

* Address reviews + oversight

* Limb grower fix

* more icon fixes

* forgot to hit save

* I'm a dumbass

* Removes bodypart parent from unit test

* Fixes monkeys and CI

* Grammar pass

* I hate zombie code so much

* General code cleanup

* THE SHITCODERS ARE COMING FOR MY VARS

* THE UNIT TESTS ARE COMING FOR MY SHITCODE

* Reviews + skirts

* Removes an unused DMI

* Why didn't I do this in the first place?

* HAIR REFACTOR

* Haha whoops

* How did I miss this

* Admin spawned creatures now have their features

* Optimize me harder

* minor fix i need to push to merge master

* Fixes hair (maybe) and a runtime

* Maybe fixes mirrors

* Attempts to fix women

* Fixes hair on dismembered heads and a grammar change

* Caps lock did me dirty

* address reviews

* icon failures fix + missed reviews

* Fixes: Facehuggers and Regenerate_limb

* Fixes ethereal color pref appearance

* How the fuck did this not break everything else horribly?

* JESUS FUCKING CHRIST IM A MORON

* Fixes compile

* I'm not high I swear

* Im a dipshiiiit

* grumble grumble

* Fixes a visual bug with digitigrade legs. Adds \improper to roundstart species names. Added two new clothing-related helper procs. Renamed a couple procs to be more accurate. Adds SHOULD_CALL_PARENT(TRUE) to examine_more. Addresses reviews.

* Forgot this little readability thing.

* Updates CODEOWNERS

* Me when I forget how github works

* mapload me harder

* Last second fixes
2022-04-01 21:07:46 -04:00
Watermelon914 375a20e49b Refactors most spans into span procs (#59645)
Converts most spans into span procs. Mostly used regex for this and sorted out any compile time errors afterwards so there could be some bugs.
Was initially going to do defines, but ninja said to make it into a proc, and if there's any overhead, they can easily be changed to defines.

Makes it easier to control the formatting and prevents typos when creating spans as it'll runtime if you misspell instead of silently failing.
Reduces the code you need to write when writing spans, as you don't need to close the span as that's automatically handled by the proc.

(Note from Lemon: This should be converted to defines once we update the minimum version to 514. Didn't do it now because byond pain and such)
2021-06-14 13:03:53 -07:00
Mothblocks 0f435d5dff Remove hideous inline tab indentation, and bans it in contributing guidelines (#56912)
Done using this command sed -Ei 's/(\s*\S+)\s*\t+/\1 /g' code/**/*.dm

We have countless examples in the codebase with this style gone wrong, and defines and such being on hideously different levels of indentation. Fixing this to keep the alignment involves tainting the blames of code your PR doesn't need to be touching at all. And ultimately, it's hideous.

There are some files that this sed makes uglier. I can fix these when they are pointed out, but I believe this is ultimately for the greater good of readability. I'm more concerned with if any strings relied on this.

Hi codeowners!

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2021-02-14 16:53:29 -08:00
TiviPlus ca366c3ea1 Bools and returns super-pr (#53221)
Replaces like 70-80% of 0 and such, as a side effect cleaned up a bunch of returns
Edit: Most left out ones are in mecha which should be done in mecha refactor already
Oh my look how clean it is

Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Couls <coul422@gmail.com>
2020-08-28 14:26:37 -07:00
Time-Green f47dc74029 Renames instabitaluri to syntflesh (#52523)
* Renames instabitulari to synthflesh

* Recommits Jared Foggles correction
2020-07-28 00:05:21 +03:00
Omega_DarkPotato 53798766a1 Brings burn patches in line with brute patches. (#52278)
After seeing a whole lot of complaints about burn patches only containing 1u of Aiuri, I decided to do an amazing whole 1-line change bringing the burn patches in line with the brute patches. (both contain 2u now of their respective chem)
2020-07-18 14:04:01 -04:00
nemvar b87f65d95e Converts ALL typepaths to lowercase (#51642)
* Case of lower

* More changes

* Ruins the nice 420 diff, brainfart when doing the second batch of conversions

* More changes

* Next batch. I think

* Converts even more paths

* Restarts bots

* Capital Free Zone

* Come on travis, do something

* Renames areas

* Bots, please stop dying

* Updates CONTRIBUTING.md and updates a few paths I missed.

* APC recgarftzfvas
/obj/item/computer_hardware/recharger/apc to /obj/item/computer_hardware/recharger/apc_recharger
2020-06-17 20:47:57 -03:00
nemvar 6ef421be42 Renames a few variables. Also reorders icon fallback order again. (#51060)
* Renames a few variables. Also reorders fallback order again.
Renames item_state to inhand_icon_state
Renames mob_overlay_icon to worn_icon
Renames mob_overlay_state to worn_icon_state
worn_icon_state/mob_overlay_state now never gets used for inhands.

* Fixes some comments

* Fixes map issue

* Restart lints

* Properly resolves conflicts
2020-05-25 06:47:19 +02:00
Tony 1fc36ba4cd Slightly tweaks medigel ratios, changes instabitaluri description (#48355)
* adjusts medigels to spray round numbers, buffs patches to be equivalent to a 10u spray, warns of instashdfghsdf's toxicity on the bottle/patch

* not today, patches
2020-01-02 16:59:45 -05:00
moo 591b51297d Cobbduceus 1.1/X, Base(d) Healers (THIS KILLS TACTICAL KILLING AND CLONING???) (#46219)
About The Pull Request
Buffs C2 Healing

I should have leaned to more healing initially, especially since they're damaging. Goal here is to make them more enticing.
Dilutes Starting Meds / Borg Hydro Microdosing

Perhaps this was the biggest issue in that your DEFAULTS carried way too much of the chem specifically designed for lower dosages so people were getting smacked with needless damage consistently.

You can still make your own "pure" samples I guess, but I think you'll like the current values.

Borgs can now switch between 5u/2u with altclick.
Adds a C3 Diluent Specifically for Minor Brute/Burn

Wouldn't make much sense to dilute it with air! Granibitaluri is a new C3 that slowly tops off your damage by order of brute then burn. The catch is you must be at 10 damage or less for the healing to apply. ODs at 50.

This is the reagent all C2s are diluted with regardless of what they heal (meaning brute/burn chems will heal a tad better but only when you're about healed anyways).
Why It's Good For The Game

Buffed C2s to make them more viable as contenders to some of the more oddity avenues you guys were using.

Dilutes C2s to make the roundstart items viable on their own without chemistry (or at least a chem master). Same with Borg Microdosing option.

Added the C3 since it was suggested by zxaber to have a form of healing more minor damage without going through the lengths of surgery.

Sorry in advance silicon players, the solutions are still pure in your hypo!
Changelog

cl Anarcho-Capitalistabital-by
add: In General, Buffs healing thoroughput of C2s. You can stop paying your cloners overtime now!
tweak: The roundstart C2 methods are now diluted with a new reagent, Granibitaluri.
tweak: The borghypo now can switch to "microdosing", which is 2u transfer via AltClick
add: Granibitaluri is a C3 (no downside!!!) that tops off your brute THEN burn damage if they are at or below 10 damage.
/cl

Thank you guys for being so patient and providing constructive feedback! G-g-g-good thing coders "play" haha!
2019-09-09 11:00:35 +12:00
moo 74ed605cd7 Cobbduceus Part 1/X: Category Twos, Base(d) Healers (#45749)
* 150 hours

* it compiles guys

* PERF

* meta conflictor

* oldcabin

* Revert "meta conflictor"

This reverts commit 812343ca615e5b00711786be4413ce3301cfcc90.

* oldmeta

* TAKE 5000

* NAME THIS

Also redoes Multiver/Palletta

* FRICK U FIZ

* NERF PERF

* comment cringe

* Checks for restraints/incapacitated for ichiyuri

* URIKA

Removes Healing-Scaling of Ichiyuri, Nerfs Healing of Aiuri.

* organ

* please upvote this

* maps...

* Gives Instabitaluri a Brand Name

Oh wow it's synthflesh 😆

* Update cat2_medicine_reagents.dm

* what kinda characters is Krys using
2019-08-22 17:30:16 -07:00
vuonojenmustaturska 6a106bc877 Remove reagent ids and use typepaths where applicable (#44166)
cl Naksu
code: reagent IDs have been removed in favor using reagent typepaths where applicable
fix: mechas, borg hyposprays etc no longer display internal reagent ids to the player
/cl
2019-05-31 21:57:26 +12:00
Steelpoint e559bae0b5 Update patch.dm 2018-11-13 15:18:54 +08:00
Steelpoint 20927f7f02 InitialCommit 2018-11-13 12:49:55 +08:00
Trevor Serpas bee0b5b2c3 Afterattack() Signal (#38606)
* adds signal and modifies each call of afterattack to call it's inherited proc

* uses new macro for sendsignal()

* map fuck

* skip precommithooks

* combine and negate 2 ifs
2018-07-07 02:00:25 -04:00
AnturK 86f803a749 Fixes patches runtime when applying to missing limbs. (#35845)
* Fixes patches runtime when applying to missing limbs.

* Some feedback.
2018-02-21 12:40:40 -05:00
Firecage a937eccb8b Fixes it so patches do not work on robotic limbs. 2017-09-18 05:22:47 +02:00
Jordan Brown af4d9a85c9 Repaths /obj/item/weapon to /obj/item (#29929) 2017-08-16 10:38:51 -03:00
TechnoAlchemist e2f4a953ca Gives miners a survival medipen instead of brute patches. (#19007)
* Gets rid of the 8 patches in the vendor.

* Removes the brute pillbottles from miner gear, replaces with survival medipen.

At the behest of the design lead. New brute patches were ineffectual and giving them a bunch ruins the single get out of injury free card they used to have.
2016-06-30 19:45:44 +12:00
Sofia Acosta 1e6745921e Patch nerf
Goof was supposed to do this in his pr but he never did. He approves of this change though.

Patches now only hold 40u. This is 1:1 with goon and makes them less of a direct upgrade from pills with a tiny delay.

Medkit patches now only hold 20u by default. As they are now, patches will heal you to full health with like one or two. That means a medkit is more useful than a doctor. This fixes that and is also 1:1 with goon.
2016-06-16 13:53:15 +12:00
Supermichael777 80688df26c and adds the actual delay 2016-03-25 15:00:35 -04:00
octareenroon91 e51d602ca6 Correct generic chem patch icon
Fixes #15540
2016-02-15 01:15:37 -06:00
Zerrien f764ac573c Removes redundant New call 2016-02-13 19:30:24 -08:00
Zerrien a7c724b812 Assigns the icon correctly instead of overriding in New 2016-02-13 18:56:51 -08:00
Zerrien 79ecd8dde6 Changes the name of bandaid to bandaid_generic, per the code changes 2016-02-10 01:21:39 -08:00
Zerrien 3ff15beb53 Adds two new icons (bandaid_brute, bandaid_burn) for patches 2016-02-10 01:19:49 -08:00
phil235 dce2027d01 Changing the transfer amount of all reagent containers (beaker, bucket, glass) is now done by clicking them, similar to spray. Reagent dispensers (watertank, fueltank, pepperspray dispenser) no longer have their own transfer amounts and use the reagent container's transfer amount instead (except for sprays which get 50u for faster refilling).
Removed object verb "Set Amount per transfer from this" for both reagent containers and reagent dispensers.
2015-10-16 01:07:10 +02:00
phil235 d2a4024e7f reagent reaction() now use more methods. Instead of just INGEST or TOUCH, we now have INGEST (for injection, ingestion), TOUCH (for splashing), PATCH (for patch application and blob attack), and VAPOR (for smoke, foam and spray application).
- TOUCH no longer transfer reagent by default, it's now only used for touch based effect like being flammable when touched by fuel or you and your stuff being acided when touched by acid).

- PATCH does no transfer of its own (but actual patches code do make a transfer) but is used for touch effect that ignore clothes and protection (blob attacks, patches effect going through hardsuits)

- VAPOR does reagent transfer but it takes into account clothing protection

Fixes a typo in humanoid/get_permeability_prot
Fixes acid splashing on objects not destroying it. Fixes acid splashing on turf not destroying objects on the turf.

Changed damp rag smothering code a bit.

Blob Smoke now doesn't do anything.
2015-08-09 14:23:12 +02:00
phil235 5f169e8e47 Remove SpeciesCanConsume() proc, replaced by iscarbon checks.
Remove alloweat var from masks, remove MASKCOVERSMOUTH flag from mime and clown masks so you can still eat through them.

Some adjustments in surgery checks for bodyparts covered.
Fixes a runtime in weapon/energy attack_verb.

Humans can now CPR monkeys.
Slight changes to CPR code.
Fixes runtime with drones trying to do CPR.

Rewrites /obj/item/weapon/reagent_containers/proc/canconsume to be less shitty.

Adds an is_mouth_covered() proc to carbons to check for mask and headgear with MASKCOVERSMOUTH or HEADCOVERSMOUTH, with argument to restrict the check to only mask or only head.
2015-04-11 22:16:42 +02:00
Jordie0608 4a82ff1564 Merge branch 'master' of https://github.com/tgstation/-tg-station into timeforanewnew()
Conflicts:
	code/modules/reagents/reagent_containers/bottle.dm
	code/modules/reagents/reagent_containers/pill.dm
	code/modules/reagents/reagent_containers/syringes.dm
2015-01-21 16:54:40 +11:00
pudl dd5c7db5ad in order to help doctors keep up, since they now need a lot more to heal people, the nanomeds have been stocked with a lot of extra stuff.
12x syringe
10x styptic patch
10x silver sulf patch
4x charcoal bottle
4x epinephrine bottle
4x morphine bottle
4x diphen bottle
3x potassium iodide bottle
5x salglu bottle
3x atropine bottle
6x spaceacillin syringe
10x calomel syringe
10x salbu pill
10x mannitol pill
5x mutadone pill
4x health analyzer
2x crew monitor
CONTRABAND:
all of the same except with 3 bottles of toxin

the two types of wallmed have been combined into one wallmed, which contains all of the above except halved. in instances where the number was odd, the higher of the two numbers was taken.

medical closet has been stocked with a lot of new stuff.
2x beakers
2x droppers
1x medical belt
1x syringe box
1x toxin bottle
2x morphine bottles
3x epi bottles
3x charcoal bottles
1x rxglasses box

this, of course, 3 new pills and 3 new bottles in code so they could be in the nanomed.

gives genetics a bottle of mutadone pills on box and eff3 and puts a public bottle of epinephrine on the medbay desk. adds a single syringe to boxstation's medical storage.

medkits now have some new equipment.

normal
2x styptic patch
2x sulf patch
1x salicyclic pill
1x health analyzer

fire
4x silver sulf patches
1x health analyzer
1x epipen
1x salicyclic pill

toxin is unchanged

oxygen
4x salbu pills
2x epipen
1x health analyzer

all maps and z levels are updated for this.

renames styptic patch to brute patch and silver sulf patch to burn patch. renames charcoal bottle to antitoxin bottle

adds myself to admins.txt
2015-01-20 22:26:13 -06:00
Jordie0608 3bd637b186 Merge branch 'master' of https://github.com/tgstation/-tg-station into timeforanewnew()
Conflicts:
	code/modules/reagents/reagent_containers/bottle.dm
	code/modules/reagents/reagent_containers/hypospray.dm
	code/modules/reagents/reagent_containers/patch.dm
	code/modules/reagents/reagent_containers/pill.dm
2015-01-19 18:28:38 +11:00
Jordie0608 a643ecdfcc Food and drinks refactor 2015-01-19 18:06:15 +11:00
Iamgoofball b83ca5f8d1 Goon Chemistry: Addiction and Overdosing 2015-01-18 21:50:54 -08:00
Jordie0608 679b03e6e9 WIP reagent container spawning refactor 2015-01-17 18:19:17 +11:00
Iamgoofball f3398e58a9 Removes Star Trek chemistry and transfers us to Goon Chemistry. 2015-01-16 17:21:36 -08:00