Commit Graph

2056 Commits

Author SHA1 Message Date
silicons 78b94a98b9 fixes xenobio camera runtimes (#53618)
code was trying to bitwise & with an area instance instead of the flags of said instance
2020-09-12 01:43:56 +01:00
Donkie 53b212ddf2 Process procs now properly utilize deltatime when implementing rates, timers and probabilities (#52981)
* Process procs now properly use deltatime when implementing rates, timers and probabilities

* Review fixes

* Geiger counters cleanup

Made hardsuit geiger code more similar to geiger counter code
Geiger counters are more responsive now

* Moved SS*_DT defines to subsystems.dm

* Rebase fix

* Redefined the SS*_DT defines to use the subsystem wait vars

* Implemented suggested changes by @AnturK

* Commented /datum/proc/process about the deltatime stuff

* Send delta_time as a process parameter instead of the defines

Also DTfied acid_processing

* Dtfied new acid component
2020-09-08 10:24:05 +02:00
AnturK 5d8c21e2d1 Fixes spacemandmm detected for mistakes. (#53503) 2020-09-07 19:05:22 -03:00
Qustinnus c6be808bf3 Moves over cakes to newfood and transfers reagents when crafting (#53316) 2020-09-07 15:04:14 -03:00
Timberpoes cced2d5cdc Nanite Increased Diagnostics Program (#53157)
Makes nanite reduced diagnostic function baseline and adds new increased diagnostics program

* A better way

* Increased Harmonic Nanite research costs by +1000/+1000

* Harmonic nanite passive boost.
2020-09-06 14:40:56 +03:00
Tony 25278c369f Fixes bonesetter material duplication (#53443) 2020-09-05 22:28:47 -03:00
NightRed 97d969dfca Many issue fixes for stomachs and chem interactions (#53440)
This changes the has_reagent check to work with stomachs.
Several supporting procs have been added to fully support this behavior.
end_metabolization will work as expected again
expose is working with INGEST items again
on_mob_add working as intended
on_mob_life has been reviewed and worked over.

Health Analyzers now show stomach contents, same with the medical kiosk.

Included the unit test to validate reagent checks.
Unit tests for the new procs on mob
2020-09-05 21:57:30 -03:00
Fikou 2d05abbdc8 fixes organs not showing up in the limbgrower (#53407) 2020-09-05 16:20:24 -03:00
TemporalOroboros 111676c9b7 Acid Component (#53273)
Makes acid levels a component.
    Merges the acid effect object into the component.
    Reworks acids decay rates slightly.
    Rebalances xenos acid spit so that they can still melt through walls.

Misc. associated changes:

    Adds defines for a lot of the acid associated constants.
    Documents clean types and adds CLEAN_TYPE_ACID
    Adds and implements a return bitflag for COMSIG_COMPONENT_CLEAN_ACT
    Adds a looping sound for acid.
    Makes /atom/proc/acid_act return a boolean.
    Fixes waterclosets creating a new reagent holder datum every time they are used.
    Removes waterclosets regenerating reagents on-use and restricts their reaction volume to 5 units.
    Adds and implements a couple reagent signals.
    Renames a few vars so Rohesie can stop telling me to rename more vars.
2020-09-05 16:18:55 -03:00
ATH1909 5a51829f7b Janiborgs can now repair damaged hull platings (#53183)
The "plating repair tool" has been added to the game in the form of a 
printable upgrade for janiborgs. It's a subtype of the cautery that can 
repair burnt or damaged hull platings, allowing floor tiles to be 
placed over them once again.

The upgrade that adds it to a janiborg's list of tools can be printed 
once the Cyborg Upgrades: Utility tech node is researched.

Janiborgs get floor tiles (and a crowbar), but have no way of dealing 
with burnt platings. Thus, what ends up happening is that, after fixing 
some flooring after a minor explosion, you'll often be left with one or 
two ugly, OCD-triggering untiled spots on the floor that you can't put 
a floor tile over because you don't have a welder. What makes these 
spots even more infuriating is that it would actually be BETTER if they 
had been broken down to just being space-exposed rods, because then you 
COULD place a floor tile on their tile.
2020-09-03 17:26:12 -07:00
NightRed 4e2dda164f Makes the stomach important part of eating (#53228)
This puts food you eat in to the stomach.
If you do not have a stomach you can not eat, if you try to swallow anything you will spew it out.

Changes to surgeries:

    Stomach pump can now be done on the living, and pushes out the reagents in the stomach.
    Blood filter is a new tool and cleans the reagents out of the body.

This also makes it so that reagents that do not metabolize can accumulate in the stomach reducing how much food you can eat.
2020-09-03 17:02:23 -03:00
NightRed 52a0183e80 Cleans up extinguish_mob and prevents perpetual fire (#53252) 2020-09-02 19:48:50 -03:00
Timberpoes 991f311775 [R&D Machine Overhaul, Part 1] - Various machines no longer require R&D machines to function. (#53339)
Removes various R&D machine requirements including circuit imprinters, protolathes, destructive analyzer and the mechfabs. All machines that previously required an R&D console to function are standalone, including omni protolathes and omni imprinters.

Replaces "production"-class R&D consoles with civilian modular computers on all maps. There are no longer "production"-class consoles.

Removes the concept of "core" R&D consoles. R&D consoles only research and handle tech disks and stuff. All existing core consoles have been switched to their basic archetype.

Because it's a pain in the ass to manage, material reclaimation has been removed from the destructive analyzer. The destructive analyzer is now ONLY for destroying items and unlocking research nodes such as illegal and alien tech.
2020-09-01 16:46:40 -03:00
Jared-Fogle 96b00fd23e The searing tool now starts as a cautery (#53303)
The experimental searing tool (both a cautery and a drill) now starts as a cautery, rather than the drill.
2020-09-01 05:15:28 -03:00
tralezab 6e9aa2f7df Adds swab for netherworld critters (#53201)
Adds netherworld critters as a swab. They take primarily maintenance, lavaland, and bartending reagents, they're supplemented by all geyser chems and minorly chemistry, and they are suppressed by any kind of generic growing meat (liquid gibs, nutriment, protein and peptides)

The abberant cells randomly pick a netherworld mob every time they are created. the big jackpot here is migo for the reasonable health and high damage, and the whiff are blank bodies for having good health but awful damage.
Why It's Good For The Game

Players love migos and other netherworld critters are aight. They're fairly strong, and so have a medium amount of reagents. Tried to get funky with it since they're supposed to be odd creatures.

(New swab for netherworld critters! Make sure you put them into a different vat system than your other ones, as they do not react well with normal reagents!)

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-08-30 23:05:22 -07:00
Ghilker 37f849fb17 ZK-Lambda-Class Remade (#52941)
This PR adds the crystal invasion event, a new event involving the Supermatter and the monsters from within.
When the event starts there will be a message from centcomm announcing it, then the supermatter explode leaving a destabilized crystal that emits radiations and harmful gases; after a bit portals will spawn around the station, that will produce a number of monsters each. there are 4 types of waves and 4 types of portals
The waves are: Small, Medium, Big, Huge (each have different kind of portals that can spawn and different amounts too)
The portals are the same types of the waves, they differ from each other for the number of monsters that can spawn and the kind of monsters that can spawn (bigger portals spawn stronger monsters)
To end the event the players should stabilize the crystal by destroying the portals (for now are indestructible and they are disabled by using an anomaly neutralizer, might change that) and collecting otherworld crystals; then those crystals are to be put in the crystal stabilizer, an item unlockable in the tech tree. After this just inject the destabilized crystal with it and the remaining portals will close on their own (the spawned monsters will still remain tho so you have to slay them)

All the numbers are mostly eyeballed and could change if requested/with feedbacks
2020-08-29 23:56:40 -03:00
ArcaneMusic 7852a4508f Makes water recyclers fabricate-able, and makes showers preform a touch reaction only. (#53279) 2020-08-29 16:12:33 -07: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
ArcaneMusic 4187c6f791 Waterworks: Plumbing enabled sinks, tanks, plant trays, and showers. (#52865)
https://cdn.discordapp.com/attachments/326831214667235328/740812723956482118/2020-08-06_02-04-14.mp4
For everything in this PR working at the same time, watch this video!

Alright, from the top:
Sinks now need plumbing to pump out liquids.

All sinks now has a demand-only plumbing pipe face the opposite direction of the sink itself. A standard iron sink will hold 100 units of water, and must be constructed from a sink frame. To complete the frame, a new stock part, the water recycler must be applied to the frame. Once the sink is constructed, it will only hold those 100 units of water until new water is piped in.
This however doesn't extend just to water, as a result. Any reagent can be piped into the sink, and will be used 5 units at a time per use. This means water isn't just an infinite resource, and will need to be resupplied to the station if, somehow, you're using a metric ton of water somehow.
image
A basic sink setup with water being plumbed in.
Showers now need plumbing to wash you off.

Want to dispense reagents faster on your Patients Victims Friends Coworkers? Well, you may also construct a shower frame, in a similar fashion to a sink frame, and pipe in your own reagents into the loop. The shower drains reagents much faster than the shower, and also preforms vapor and touch reagent reactions, resulting in a constant stream of chemicals being processed. This can lead to horrible situations, like a chemical heater hooked up to a vat of cooking oil being pumped into a shower.
Additionally, showers will display the reagents they're pumping out visually based on the color of their chemical contents. As a result, dangerous or unique showers are going to look noticeably different if their contents are dangerous looking.
image
A safe shower.
image
A very unsafe shower.
Wait what was that bit about cooking oil?

So, reagent dispensers, like water/fuel tanks, Virus Food, Cooking Oil Vats, Pepperspray, and the like, can now be converted into a stationary tank of reagents by using a sheet of metal on it, allowing it to behave as a simple supply of their respective contents, and can be pumped into a plumbing network. This means rolling water tanks can be used to resupply sinks and showers, as well as allow for inventive uses of otherwise unused chemicals located all around the station. Pump welding fuel into a resupply line to fight a blob! Pump pepper spray into the dorms showers! Create a deep fryer shower! The possibilities are LIMITED (Because we have very few reagent dispensers)! Still, this will prevent sinks and showers from being completely unfix-able should all the water run out, as cargo can purchase many of these chemical tanks at will.
Hydroponics is now also plumbing enabled.

So there I was, thinking, have I gone mad? Is the barking I hear in my noggin my own dogs rattling and raging against the eternal ocean tide, or are these the hounds of tindalos come to finally rip me to shreds within the sea of causality?
The answer to this is quite simple: I added plumbing simple-demand components to hydroponics.
Now, the trays will accept a pumping input, which can provide the plants themselves a reagent input for their nutrients, and SHOULD (current not fixed yet) also contribute to refilling the trays water. As a check to this horrible decision, there are very few plumbing chems that don't suffer from some kind of downside if exclusively pumped into the trays, so this should be done delicately and with forethought applied, or you'll have a row of plants with dead stats because they OD'd on ammonia.
image
Holy damn why are you doing this

I'm thinking this pr is probably in need of some serious trimming and will probably be closed as a result of the need to atomize this down, but this way I can start to get some feedback and ideas on which aspects would be better suited towards the current design direction of plumbing/bio-chem/reagent heavy jobs. As far as I'm aware, this is all in accordance with the relevant design docs, but this way I'll know for sure 🤷‍♂️
To-do before being 100% sparkly and clean

Fix hydroponics trays adding water to the nutrient reagents slot (NOT A TRUE FIX, SEE COMMENTS BELOW PLEASE)
Make disconnected sinks/showers slowly regenerate water so that a stationwide plumbing net isn't required so Anturk doesn't snap my kneecaps off
Make water/fuel tanks use their snowflaked stationary tank sprites instead of the custom overlay version

    Yeet out the existing psudo-plumbing from hydroponics

Why It's Good For The Game

We've discussed adding plumbing into the game for forever now, and with all the new and tangentally related plumbing content we have, almost everything we have now perfectly enables servers to properly create a station-wide plumbing network.

Sinks and showers provide an infinite supply of water all shift long, and since they can be produced with any material, anywhere, practically for free, that was the first and foremost reason why I made this PR, to make water slightly more precious on station, to justify the 20+ water tanks mapped across every station. Plus, no more meatsink spam in the middle of the hallways.

Hydroponics has a built in feature that was intended to work similar to plumbing, before we had plumbing, for sharing resources/water, but it was pretty rough and is still exceptionally difficult to make look very pretty on live servers. By integrating them with actual plumbing pipes, this enables one step closer to integrating chemistry and botany to merge going forward, and give them an incentive to include each other in their supply chains each shift.

On the reagent tank conversion, That's just an interesting feature I felt the need for while testing everything else, and found pretty great success in. Being able to pipe in large supplies of a single reagent that ordinarily would just sit on a wall or in mait somewhere proved extra useful, and would be beneficial for refilling plumbing heavy areas like bathrooms/medbay, etc.
2020-08-27 23:23:55 -07:00
LemonInTheDark 9f04ade1c3 no colors anymore, I want it painted reeeeed (#53214) 2020-08-27 21:07:35 -07:00
Krysonism 8d2fe6bdca sentience potion (#53167)
Sentience potion now calls tame on the mob.
Since some mobs add their ridable component when tamed, this lets you ride sentience potion mobs without first feeding them.
It makes sense a sentient loyal creature should be able to be ridden without first being bribed with food.
2020-08-27 21:04:48 -07:00
Rob Bailey 533201a9f1 Smooth Movement: Resurrection: Resurgence: Revengeance 4: The Return of Smooth Movement: Smooth Edition Director's Cut (#52515)
Automatic glide size adjustment based on move delay.
Essentially a port of https://github.com/yogstation13/Yogstation/pull/8132 but that was mostly my code with some fixes.

Why again? well it turns out the recent byond fixes to glide size actually worked and solved the issues that were unsolvable.
https://file.house/0B3u.mp4
Glide size no longer incorrectly scales at fps, so it works as intended at any framerate with the only stuttering being normal byond suck stuttering.
2020-08-27 18:34:11 -07:00
Ryll Ryll 52b5eecced Grabbing Yourself + Wound Fixes: Take 2 (+Minor Scar Changes) (#52951)
By clicking yourself with grab intent while targeting a limb of yours that's bleeding, you'll "grab" onto it with your free hand to apply pressure. This takes 1.5 seconds to do, takes up a hand while you do so, and applies a slowdown while you're holding it. In return, that limb will bleed 30% less while you're holding it (though it won't clot any faster). This stacks with the 25% reduction in bleeding you get from being horizontal, so laying down clutching your gushing gut while waiting for help is now both thematic and viable!
Other fixes and changes

I also made some other changes to wounds of various importance. Here's a quick list

-Most wound treatments now respect thick clothing/materials, so you can no longer suture slashes through spacesuits.
-Using sutures on slashes and pierces now actually use up sutures, and regen mesh must be opened to treat wounds with
-Infectious zombies (romerol) can now be wounded as intended
-Coagulant has been nerfed again to reduce bleeding less for every wound it's reducing bleeding on. This'll still need more love and attention later, but I need to find a good middle point where medipens are good for bleeding in an emergency without being a way to sidestep any and all bleeding wounds in one go.
-I added a recipe for improvised coagulant in the Wounds 2 PR using baked pulped banana peels and salglu, but then realized that recipe sucked and was overly complicated. You can now drink straight up ground/juiced banana peels to help close up slashes and piercings. Yuckm!
-You can no longer repeatedly disembowel people who have already lost their internal organs
-Whetstones now make things edged sharp rather than pointy sharp, fixing a carryover from when sharpness = 2 used to be accurate sharpness. This'll have the effect of making sharpened weapons less sucky at chopping people apart since slashing is usually more devastating than piercing

I've also made a few tweaks to scars, mostly making them a bit smaller. It now takes twice as much scar severity to reach "absolutely fucked up" when examined, and the other steps have been raised a few points as well. Minor scar examine text is a tad smaller text-wise, and the precise locations for the scars are a bit more procedural as well (more location modifiers like upper/lower/inner/outer wrist/whatever). These changes will hopefully add a bit more variety to the scarring you see on random crew members, since it's pretty easy to hit max examine severity as is.
2020-08-26 23:19:49 -07:00
Qustinnus a2a37c1a3b Vatgrowing content: Swab the clowns clothes for cursed clown cell lines (#53186) 2020-08-26 16:14:39 -07:00
ATH1909 00bdb3e7b4 You can now print stethoscopes from autolathes and medical protolathes (#53189) 2020-08-25 18:21:41 -07:00
Qustinnus 4925565a2b Adds an action speed modifier system (#53023) 2020-08-25 09:49:41 -07:00
ATH1909 dd11f1c0c8 no colors anymore, I want it painted reeeeed 2020-08-25 11:30:04 -05:00
LemonInTheDark d5b87ba082 Fixes master (#53193)
* fixes master, damn it me/mothblocks

* fuck again

* ANOTHER ONE
2020-08-24 18:50:01 -07:00
Rohesie 3a33f3ae47 Refactors machine_stat and is_processing() to process on demand (#53150) 2020-08-24 17:38:30 -07:00
Rohesie 988319b3e3 mobility refactor (#52929) 2020-08-24 13:56:07 -07:00
81Denton 3858b72bdb Merge pull request #53020 from Qustinnus/fatgrowing
[READY] Vatgrowing: Third time's the charm
2020-08-24 22:46:08 +02:00
Rohesie 3a1020e47d Crit status refactor (#53117) 2020-08-24 07:41:00 -07:00
TemporalOroboros 6e950daccc Defines damage flags. (#53158) 2020-08-24 08:20:33 -03:00
floyd 1cea89fecd petridish 2020-08-24 06:24:44 +02:00
Krysonism 39636b5747 adds cytology items to lathes & cargo (#33) 2020-08-24 01:23:15 +02:00
ArcaneDefence d2327b1d56 Megafauna teleportion exploit fix (#53093)
Prevents megafauna from being added to a chilling bluespace extract's linked list, removing a way of teleporting all the megafauna from lavaland onto the station at once.
Also prevents regenerative bluespace extracts from instantly teleporting megas to where the extract was made.
2020-08-23 03:02:05 -03:00
floyd 9b2dc8188d fixed 2020-08-23 07:56:57 +02:00
floyd ec315cd5e2 small 2020-08-23 05:56:55 +02:00
floyd defe46f6f5 3erf 2020-08-23 02:35:11 +02:00
floyd df065fb46b snake case 2020-08-23 02:05:35 +02:00
floyd 6acbd68576 done 2020-08-23 01:52:28 +02:00
floyd 4160ff60d9 donerino roheserino 2020-08-23 00:59:08 +02:00
Qustinnus 91ae373a52 Update code/modules/research/xenobiology/vatgrowing/samples/_micro_organism.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-21 07:05:24 +02:00
Qustinnus 84e5cc7b50 Update code/modules/research/xenobiology/vatgrowing/samples/_micro_organism.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-21 07:04:12 +02:00
Qustinnus 42c749d295 Update code/modules/research/xenobiology/vatgrowing/samples/_sample.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-21 07:03:59 +02:00
floyd c9238dfdce all done 2020-08-20 23:37:16 +03:00
floyd 6470edeaa3 third times 2020-08-20 23:36:34 +03:00
floyd 33a51402cd more shit 2020-08-20 23:36:29 +03:00
silicons 452d2ad6e7 [s] sanitizes nanite extra settings (#53065)
/datum/nanite_extra_setting/text/get_value()
return html_encode(value)

HTML injection bad. Brainwashing and potentially happiness programs are all subject to this, unless code has changed for how objective text is rendered. I don't think there's any case where nanites even need to be able to accept raw html.
2020-08-20 07:57:42 +12:00
CRITAWAKETS 2d9506cf43 General nanite nerfs. (#52937)
Nanites have recieved a general nerf, mostly in the healing department. This is probably not enough nerfs, actually.
2020-08-18 22:32:50 -03:00