Commit Graph

2837 Commits

Author SHA1 Message Date
skoglol 799c29b2ee Makes black and blue crayon effects less intense. (#45040)
* Makes black and blue crayons less intense.

* bigletters
2019-07-09 11:16:15 -04:00
Time-Green ceeff661a0 [READY] Plumbing (#44833)
cl Time-Green
add: Adds plumbing pipes and some hidden plumbing related machines. They're not available in-game yet.
sprites: Geyser and geyser pump sprites created by Mey-Ha-Zah!
/cl
Adds the following objects:

    Fluid ducts . Like atmos pipe, but for reagents. They're smart and can be seperated by layer and color

    Geysers. They spawn on lavaland and can be harvested with liquid pumps or just beakers.

    Liquid pumps. For pumping geysers. They need to be on a wire node and connected to a duct network.

    Plumbable reagent dispenser subtype.

    New plumbing RPD specific RPD.

    Plungers. The reinforced plunger can be used for plunging geysers to activate them. They currently serve no other function and can't be worn as a hat yet.

They're all disabled and admin only.

Adds the following systems:

    Ductnet datum. They pretty much say "hey, we're connected"

    Plumbing component. You can turn any movable atom into a plumbable thing. Comes with overlays and everything. They're essential for everything that has input and outputs, except pipes. That means you can have machines connected to both atmospheric pipes and fluid ducts. They only connect with layer 3 ducts.

    Fluid subsystem that handles the processing on the plumbing machinery and other plumbing related stuff.

Basically atmospherics but with reagents. Reagents are pressurized and thus transferred instantly, to avoid those stupid leftovers in pipes no one likes. I am PRing it now because if I were to add a dozen or so associated machines, it would be too much of a pain to manage/review in one PR. It would also be a massive waste if people didn't even want it in the first place.

Also yes all of this works (as far as I know)

Things I plan to add in later PR's

    Layers / colors (maybe) done
    Machinery (Stuff like chemical processors, filters, special mixing chambers and factories)
    Make geysers more interesting, so chemists/atmostechs/cargotechs/assistants can go to lavaland and get some exotic stuff.
    Pipe fractures. Damaged pipes could do the cartooney water soaker beam coming out to shoot at people cause why the fuck not.

Code concerns:

    Connecting is handled through pipes only. Not sure if this is the best approach. This means plumbing devices cant directly connect to each other without pipes. I could add some exceptions to handle it. I could also take connecting away from pipes and make it a global proc, with alot of exceptions since it'd be handling both plumbing machinery and the ducts.

    Reagent transferring. Basically the transfer is instantaneous from A to B. I did this because stuff getting stuck in pipes could pose some serious mixing problems with chemistry, since it's alot more delicate than atmos. I could understand if people would want it to be like atmos. It wouldn't be difficult to change.

Also for testing I suggest you set the pipe_dispenser to category 3 to print fluid ducts. My tests were done with
/obj/structure/geyser
/obj/structure/reagent_dispensers/plumbed/storage
/obj/item/plunger/reinforced
/obj/machinery/power/liquid_pump
/obj/item/pipe_dispenser/plumbing
that and standard tools for setting things up
2019-07-09 11:58:02 +12:00
Krysonism 7885aa52a0 [READY]Adds moodlets to appropriate drugs and drug-like reagents (#44985)
* Adds narcotic moodies

Krokodil, fentanyl and morphine now trigger moodies.

* Makes the duration comparable to similar moodies

+Morphine now uses the correct moodie.

* Adds moodies to crank, meth and bathsalts.

* Remove comma splice
2019-07-08 13:52:59 -04:00
Jordie ab745ff79e Merge pull request #45002 from nemvar/sprinklesprinklelittlestar
Fixes a sprinkles runtime
2019-07-08 23:02:06 +10:00
Garen Crownguard 534a9140aa merge 2019-07-05 17:59:38 -05:00
nemvar f32e323f35 Fixes a sprinkles runtime 2019-07-05 22:59:59 +02:00
Krysonism ffe578aacb [READY]Replaces Trekchems with Cobby Category 2 Chems + Chem Tweaks (#44531)
* Adds adjustLiverLoss & getLiverLoss procs to carbon

* Adds trophazole

Adds trophazole, a brute healer that makes doctors take a more holistic approach to heal, It is highly reagent efficient by converting nutriment to healing peptides. Creates an avenue for cooperation between kitchen and  medbay.

* Adds rhigoxane

Rhigoxane is a chilly burn healer that works best in a spray bottle and is capable of extinguishing fires.

* Adds thializid

This tox healer has great potential and mixability, balanced by requiring the doctor to take note of the patients liver health as well as using proper dilution and an iv pole; that wont fit in a powergamers pocket.

* Charcoal  + trans_to changes

Makes charcoal only work when ingested, and adds a new proc in reagent holder, lets trans_to react the transferred reagents if a method is chosen.

* Medical + Syndicate spray bottles

Medical spray bottles have been added to techweb under the biotech node for medical vapor application, alt click to change their skin.
Two suspicious spray bottles have been added as expensive contraband items in the chemdrobe. They have one extra spray range and a random suspicious skin from a pool of 8.
The large spray bottle and the space cleaner bottle also have new icons.
In addition trophazole and MMF have new colors.

* Adds chempacks

the IV medicine bag, or chem pack is the blood pack analogue for chems, it is easy to fill like a beaker but can also be permanently sealed to prevent spillage and mitigate tampering. It can be renamed with a pen. Both the new chem pack and the old blood pack have been added to the medical lathe and biotech node.

* Adds recipes to thializid and trophazole

Also fixes the rhigoxane recipe

* Medsprays are now medigels + fixes

chem packs can now be stored in the smartfridge and chem bag.

Medsprays were renamed medigels to reduce confusion. Calling them medical sprays made no sense since they apply chems through the patch method. 

The lore for the new medigels  is that they spray a thick gel onto the skin that dries into a film.

* minor fixes + mint frosting

I have tried to fix the problems people have pointed out. And the peptides now taste like mint frosting.

* Readds my cleaner sprites

* Adds liver damage to thializid + adds on_transfer proc

Thializid has a liver cost, the cost is worse if you have already sustained liver damage. Fixes weirdness by moving the reagent conversion effects from reaction_mob to on_transfer

* Fixes chem bag examine

The chem bag examine now werks, also fixed a typo in the description.

* Adds a clumsy check to sealing the chem pack

* Makes kelo, bicard and anti-tox unmixable.

I have retained the tricord recipe for now in case someone manages to collect all 3 through non-dispenser means. Think of it like collecting all the dragon balls but lame.

* Makes damp rag apply on_transfer effects

* glass and food now work with trophazole

glasses and food now call the on_transfer proc via trans_to

* Another round of fixes

Replaces 0/1 values with TRUE/FALSE where appropriate. Removes the debug printout from the spray bottle reskin. Replaces one instance of L.damage with C.GetLiverLoss().

* Rhigoxane recipe is now COOLER

200k was too warm since cryostylane cools down so much by itself upon mixing. 
Now the chemist has to choose between adding oxygen for instant cooling or using the heater/cooler to conserve energy.

* Removes the seal() proc and moves its guts into AltClick

* Item_state switching moved to reskin_obj

* Fixes missing medical sprayer left inhand

the sprayer_med_yellow inhand sprite now has the correct name.

* Fixes inhand updating

* Update code/modules/mob/living/carbon/damage_procs.dm

Co-Authored-By: moo <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* Update code/modules/mob/living/carbon/damage_procs.dm

Co-Authored-By: moo <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* Tries to add typecache

* Moves the typecache and makes it static
2019-07-05 09:50:59 -04:00
RandolfTheMeh e9dab4c665 Universal Organ Damage system (#44710)
About The Pull Request

So organ damage is a thing now associated with general object of organ, meaning all organs inherit a damage variable, failing boolean, healing variable, and maxHealth variable. The proc applyOrganDamage takes in the damage and organ path, applying damage/healing to said organ. While an organ is in use, it heals a small amount over time (granted the organ is not failing), with this fraction being set by the healing variable.

This also reworks preexisting organ damage systems to function more so on the universal organ damage system, the liver specifically. So much code exists in regards to eyes/blindness and ears/deafness that I'll need to go ahead and take a longer time combing through the code to get everything that can reasonably be tied to those two organs and their level of damage reworked to function off of the organ damage system, as opposed to just a trait add/remove system.

Lastly, this slightly reworks scanners, since now you need to check for every organ in the body. Since organs are stored as "the [organ]" with the method I used to get them, the phrasing on the medical scanner was changed to make more sense given it now has to say something along the lines of "severe/minor damage detected within [the organ]". I'll likely add another proc if I cannot find a way to get the organ's max health during this operation, since a static number determining minor/severe damage does not work when an organ's max health is less than the typical 100 points (as is the case with eyes).
Why It's Good For The Game

Every organ can be damaged, though not every damaged organ does anything right now. Damaged livers do the same thing as they did previously, and damaged eyes develop varying levels of vision impairments. The benefits to this PR are more for future coding projects than it is for the game currently, with no foreseeable changes to the way it's played currently.
Changelog

cl
code: Universal Organ Damage variables and procs
/cl
2019-07-05 09:40:30 +12:00
XDTM d834ae0364 Abductor chem dispenser (#44659)
About The Pull Request

Adds an abductor chem dispenser, buyable for 2 points from the abductor rewards console.
Buying it spawns a beacon, which can be activated in hand to drop it and spawn the dispenser after 3 seconds if the tile is free of obstructions.
The dispenser contains all the reagents of a fully upgraded, emagged dispenser plus plasma and uranium.
Why It's Good For The Game

More tools for abductors means more possible abductor shenanigans, and personally i'm all for making the no-murderbone antag as fun as possible.
Changelog

cl XDTM
add: Abductors can now buy a special chem dispenser for 2 points. The machine is delivered as a beacon which can be used when standing on any free tile to spawn it.
/cl
2019-07-05 09:37:49 +12:00
bgobandit d1ebea42b5 Composting and grinding now drops trash items if applicable (#44946)
Fixes bowls being lost when composting or grinding food in bowls.
2019-07-04 12:52:37 -07:00
oranges 64460ae3ca Merge pull request #44825 from AutomaticFrenzy/patch/lints
In advance of eventually adding SpacemanDMM's linter to Travis, fix everything it can currently detect.

Some lists, including global lists, are given types so that L[i].foo expressions can be checked.

Some procs are given a new form of return type annotation so that DuplicateObject(O).forceMove()-type invocations can be checked.

Open to syntax suggestions on the return type annotations, and on whether the preprocessor strategy makes sense.

Return type syntax is currently roughly:

    <typepath> | <paramname>([_])*(.type)?
2019-07-03 19:31:11 +12:00
ShizCalev 6e44bd3a93 Merge pull request #44796 from kingofkosmos/addswarningspans
Adds warning-spans
2019-07-02 00:47:43 -04:00
CPTANT 27f48cbf7a Adds OD to styptic and sulfur sulfadiazine, buffs oxandrolone and salicyclic acid (#44657)
* Adds OD to styptic and sulfur sulfadiazine, buffs oxandrolone and sal acid

* Increases OD threshold to 45
2019-07-01 12:38:37 -04:00
kingofkosmos ad64678c48 Merge branch 'addswarningspans' of https://github.com/kingofkosmos/-tg-station into addswarningspans 2019-07-01 13:32:24 +03:00
kingofkosmos 51f77267f4 * revert error spans 2019-07-01 13:28:15 +03:00
oranges 7adaf7d900 Merge pull request #44685 from Tlaltecuhtli/patch-38
fixes BVAK injectors having salburol instead of perficilin
2019-06-29 21:14:16 +12:00
oranges 391c65ec4a Merge pull request #44840 from JJRcop/stasis_stops_metab
Stasis calls end_metabolism on reagent holder
2019-06-29 21:11:58 +12:00
XDTM d70c43c5f1 Checks for metabolization on some has_reagent (#44653)
About The Pull Request

Stuff that should logically require you to actually be metabolizing the reagent now requires a liver, or the reagent to not need one.
Some reagents have been granted self consuming status, like holy water, since their effects are not tied to the metabolism.

Fixes #44650
Fixes #43024 since there should be no real way to mitigate the constant toxin damage now
Why It's Good For The Game

Less exploits with livers, more consistency in mechanics.
Changelog

cl XDTM
fix: Viral healing symptoms that are tied to reagents now also require a functioning liver to work.
tweak: Holy water, Pyrosium, Cryostilane, Napalm and Phlogiston no longer need a liver to have their effects.
/cl
2019-06-29 21:08:38 +12:00
AnturK 89438fae72 Fix a few reagent runtimes (#44824) 2019-06-27 21:42:50 -07:00
vuonojenmustaturska a61b86a052 fixes2 (#44736) 2019-06-27 14:13:19 +02:00
kingofkosmos c969f6d3eb Merge branch 'master' into addswarningspans 2019-06-27 15:12:54 +03:00
kingofkosmos ec5c82029a * "Is already...", "Can not...", "Not when..." etc. 2019-06-27 06:15:43 +03:00
Jonathan (JJRcop) Rubenstein 3b933548cf Stasis calls end_metabolism on reagent holder
amanitin acts on delete instead of when metabolism stops
2019-06-26 19:36:48 -04:00
kingofkosmos d7dd679b5a Fix span endings (#44812)
Adds a slash to instances of <span>" --> </span>".
2019-06-26 15:11:03 -07:00
Tad Hardesty ba95173289 Fix keyword argument warnings 2019-06-26 01:59:57 -07:00
kingofkosmos 6bbb64e2cf * more warnings 2019-06-25 21:46:21 +03:00
kingofkosmos fb9731492c * extra spaces removed from "span class = '" --> "span class='"
* warning-spans added to cases of "You need..."
2019-06-25 21:03:25 +03:00
kingofkosmos df1aa091b2 * adds warning-spans to various messages 2019-06-24 21:05:22 +03:00
Garen Crownguard 3a37d0322c merge 2019-06-23 20:39:24 -05:00
Qustinnus 9d9a965bd1 New scientist traitor item: Australian Slime Mutator / Spider Injector (#44559)
cl Floyd / Qustinnus
add: New scientist traitor item: Australian Slime Mutator / Spider Injector, use it on a gold slime extract to create 3 neutral broodmother spiders, make them sentient and start your own hive.
/cl

'ello mates, Me and my syndicate expedition team have recently returned from my journey to the Australicus sector and crikey the spiders are big there. Fucking the size of a bear. Luckily one of my fellow expeditioners managed to knock one of the fuckers out with a boomerang and we took 'er to our labs. We managed to extract some of their extract which is known to create tame offspring when injected into a gold slime core.

However, if you give it sentience and tell it to do whatever you want, maybe you can use it for a useful purpose?

10 TC item, lets you inject a gold-slime core for some midwife/broodmother spiders that can help you start a spider army. Price can be raised if people think 10 is too little. It spawns 3 instead of 1 to keep consistent, but it can be lowered to 1 spider.
2019-06-22 10:31:28 +12:00
XDTM 6aaf14755f Fixes the debug chemical synthesizer (#44592) 2019-06-21 13:55:11 -04:00
Tlaltecuhtli 18df645e00 omnizine is better 2019-06-20 11:58:16 +02:00
Tlaltecuhtli 127971594b fixes BVAK injectors having salburol instead of perficilin
🆑
fix: the TB antidotes injectors now actually cure TB
/🆑
2019-06-20 11:20:21 +02:00
vuonojenmustaturska 8ddc9677c7 examine-code refactor (#44636)
* 1/4 done? maybe?

* more

* stuff

* incremental stuff

* stuff

* stuff & things

* mostly done but not yet

* stuffing

* stuffing 2: electric boogaloo

* Git Commit and the Kingdom of the Crystal Skull

* make it actually compile

* found more stuff

* fixes

* fix AI laws appearing out of order

* fix windows

* should be the remaining stuff

* this time for real

* i guess it should compile too

* fix sechuds
2019-06-19 22:07:57 +02:00
Tlaltecuhtli 573e288f6d 1 (#44619) 2019-06-18 23:26:13 -04:00
XDTM 5c41cc6f52 Muscled Veins experimental surgery (#44481)
* A

* Update all_nodes.dm

* Update all_nodes.dm
2019-06-18 19:37:29 -04:00
oranges 71aa703f5a Merge pull request #44500 from XDTM/TrueMetabolization
Liver removal/failure now also stops passive reagent effects
2019-06-18 11:49:33 +12:00
AnturK e4ad4661b8 Fixes secret sauce reagent choosing (#44521)
I had these on previous fix branch but seems i forgot to push whoops.
Fixes #44520

cl
add: Recipe for fabled secret sauce can now be found in the deepest reaches of space.
/cl

Changelog because i forgot one when i actually added the feature.
2019-06-17 13:57:15 +12:00
nemvar d9761d448d Adds primal farming implements. (#44388)
About The Pull Request

Adds a rake (reskinned cultivator) and a wooden hatchet to the ashwalker base. Replaces their bucket with a wooden bucket.

Added crafting recipes for the rake and wooden bucket.
Why It's Good For The Game

It looks more flavourful (inb4 where did they get the wood from) and adds a bit of functionality to unused content (i.e. ashwalker farming).
Changelog

cl
add: Added wooden farming implements to the ashwalker base.
add: Makes rakes and wooden buckets craftable.
/cl
2019-06-17 13:34:15 +12:00
vuonojenmustaturska 339eccc453 Fix a lag-dependent ability to get multiple virus culture bottles per serving (#44544)
Technically this is a case of trusting the client too much, but this
can't be used to crash the server due to the topic limit, assuming it
works.
2019-06-16 11:46:58 -07:00
81Denton 598cc90e8e Adds reagent OD/addiction logging (#44460) 2019-06-14 14:11:06 -04:00
Fel 99c915f6e4 Fixes every issue in the slimes milestone. (#44450)
* Fixes every open issue in the slimes milestone.

* Fixes The Fixes

* Fixes even more fixes.
2019-06-14 09:46:19 -04:00
XDTM 8a1dc7ec6b Liver removal/failure now also stops passive reagent effects 2019-06-13 13:26:59 +02:00
nemvar ff5a6d54dc Adds caramel (#44419)
* welp

* Revert "welp"

This reverts commit b2f9143468.

* creamy goodness

* cara

* Candy apples

* oopsie
2019-06-11 10:26:54 -04:00
nemvar ce479edd1a Ethereal stomach take 2 (#44336)
* Take 2

* Merge conflict begone

* Renames it

* Stupid borgs.
2019-06-10 00:29:37 +02:00
skoglol 713ec805f4 Fixes chem dispenser button order (#44386)
* Fixes chem dispenser button order

* Fixes it properly.

* Okay, no nulls then.

* unneeded comment.
2019-06-09 17:20:19 -04:00
Tlaltecuhtli 284f6efda5 fixes cobby mistakes (#44356) 2019-06-08 13:12:14 +02:00
GLACoding d160202bf7 Changes to mind checks (#44344) 2019-06-07 11:05:13 -04:00
oranges 4978a608f3 Merge pull request #44339 from nemvar/charcoal
Fixes charcoal
2019-06-06 22:16:56 +12:00
oranges 405205843f Merge pull request #44279 from ExcessiveUseOfCobblestone/breathe-into-me
Turns Perf into The Standard Oxychem, Heavily Tweaks Perf To Fit My Freshly Repackaged Fantasy
2019-06-06 22:15:54 +12:00