Commit Graph

1128 Commits

Author SHA1 Message Date
Qustinnus
40d75cc340 You can now put food on plates, and plate no longer materialize out of nowhere as you cook (#57770)
* All plates removed.
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: DeAndre <robustness13@hotmail.com>
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
2021-03-26 08:32:27 +01:00
MrMelbert
3539de2004 Makes deadchat control's examine only shows up for ghosts (#57926)
This PR early returns the on_examine proc for deadchat control if the examiner is not an observer.
So, only ghosts (deadchat) are allowed to see if something is under deadchat control. Humans don't need to know (or shouldn't know) if deadchat is expanding its reach into the physical realm.
2021-03-24 22:47:45 +00:00
Time-Green
635079aa98 Adds a plumbing layer manifold (#57494)
Adds a multilayer plumbing manifold, I also murdered the multilayer duct

You can now alt-click the plumbing RCD to change the layer it prints. I made a whole thing where right clicking changed the settings and you could use that to change machinery aswell. I even did that with the plunger, it was absolutely beautiful. Anyway that drained the life out of me because apparently there's no attack_obj_secondary and afterattack_secondary ALSO called attack_obj (left click). I just hate whoever made it with intensity

Plumbing now uses three layers. They should be easier to navigate. I tried to make layer connecting the same as cross-color connecting, but that would take more of my soul then there is to take
2021-03-24 13:57:00 -04:00
Ghom
ee59c16637 Ice cream revamp: Ice cream is a component and cones can hold multiple servings of ice cream now. (#57415)
* Ice cream rework WIP

* I'm done!

* i'll deal with my verbose engrish at a later date. I'm dead tired.

* linter aaaaaa

* Take a bite!

* FINALLY, A COMPONENT!

* ghost macro.

* Review, typos, beheading of a lame comsig.

* Typo. Now I'm self-obliged to test it again.

* It works.
2021-03-23 07:53:46 +01:00
Ghilker
6121b13b94 Bluespace gas vendor (#57580)
* vendor

* more

* fex

* reeee

* WIP vendors

* BIGGERING AND FIGURING MORE BIGGERING

* CAPITALYSM!!

* ops

* tank refilling

* not working yet

* sprites and construction

* some stuff

* docs

* maps

* requested changes

* more changes

* change

Co-authored-by: tralezab <spamqetuo2@gmail.com>
2021-03-22 16:10:49 -04:00
MrMelbert
ae00b68fdd Autodocs the slippery component + changes the hardcoded slot whitelist to a variable (#57878) 2021-03-22 02:09:13 -07:00
Fikou
ed85d3f5aa Full-Automatic Guns (#57084)
* fullauto component

* eh

* h

* brap

* it works!

* FUCK SHITUP

* dumbass

* l6

* oops

* GOD

* THE LAST 10% OF A PROJECT IS 90% OF THE WORK

* slopwer projecitles, replaces the tesla gun

* heavy

* minigun

* minigun stuff

* runtime fixes, pointer icon

* nuh uh

* makes modifeirs things

* nerf this

* yes

* aghh

* agh

* real high intensity changes here

Co-authored-by: Ryll-Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2021-03-20 21:39:52 -07:00
Seth Scherer
fce21d8627 You can now clean pies off of your face in the sink (#57789)
Fixes #55649
Fixes #57039

Allows you to wash pies off of your face using the sink
2021-03-18 20:41:59 -04:00
Emmett Gaines
2043cdf0cd Makes it so you cant apply component to qdeleted targets (#57773)
This shouldn't be happening but it seems it does in at least one case with forensics component being applied to some qdeleted gibs.
2021-03-18 15:32:43 +00:00
Ghom
da3328b02a twohandend-required items shouldn't fall down when equipped on another slot. (#57429)
`component/twohanded/on_drop` as it is right now causes items that require two hands to be held to fall off if worn on non-hand inventory slots, as shown in #57411. This PR aims to fix that nuisance by adding another argument to the proc.
2021-03-13 11:37:08 -05:00
Timberpoes
2dfc3c7300 Items now properly unset the IN_STORAGE flag when removed from storage. (#57660) 2021-03-13 05:45:27 -08:00
Ghilker
0aebd86c44 fix missing payment (#57608) 2021-03-11 22:45:30 -08:00
AnturK
d93a661a52 Fixes icon fetch mapping helper / chasms eating mapping helpers. (#57603)
Doing the fetches asynchronously both made cache irrelevant and caused mixup with icon use.

Also semi-related fix, where chasms could delete mapping helpers.
2021-03-12 10:40:29 +13:00
Kush1Push1
8384a25ad1 Making blood less frustrating (#57085)
Two changes.

1. If a splatter of blood isn't bloody enough, the character will not get bloody shoes.

2. Characters with light steps trait won't get bloody clothes if they step on a bloody tile without shoes.

3. added: Blood dries over time. Usually, 3 or 6 minutes. If a splatter is big enough, it can stay wet up to 15 minutes.

Why It's Good For The Game

The entire crew won't have bloody shoes anymore.
Less time wasted looking for showers or sinks to wash their shoes after stepping on a near invisible blood decal.
Characters without shoes (or who don't want to get their clothes bloody after taking them off) will get more use from a near useless trait.
Changelog

cl
qol: Blood splatters only make your shoes or feet bloody if the tile is bloody enough,
qol: Light steps trait prevents clothing from being covered in blood if you step on a bloody tile with your shoes off.
add: Blood dries over time. Usually, 3 or 6 minutes. If a splatter is big enough, it can stay wet up to 15 minutes.
/cl

(grammaticly impoved by @maxymax13)
2021-03-12 10:11:06 +13:00
Gurkenglas
3b09a3515b Patch runtime from unequip before equip (#57272)
https://gist.github.com/Gurkenglas/1a8c40afb1106a4233ef65a36af3148c

This "harmless" runtime resulted from trying to unregister a squeak from its bananium's holder before it was ever finished equipping - perhaps #56820 did not expect https://github.com/tgstation/tgstation/blob/master/code/datums/components/storage/concrete/_concrete.dm#L160.
2021-03-12 10:10:09 +13:00
Jack LeCroy
09a8093822 Fix issues with custom reagent holder (#57132)
Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
2021-03-08 16:51:15 -08:00
Qustinnus
93fdfa1ab4 Adds a hotkey that puts you in throw mode aslong as you hold it (#57331)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-03-08 05:17:19 -08:00
LemonInTheDark
9422356c13 Removes the upgraded version of the h2 axe, the one with lifesteal (#57476)
I intended to clear this up before the pr adding this got merged, but I overslept. Don't ask

It's a very hard to get tool, but it's just kinda like, a fire axe but with slightly more damage and lifesteal.
Endgame atmos content should be atmos related, not just a good weapon. Also it's way too time consuming to
acquire, so its overpoweredness is balanced by its rarity. I don't like tools that are setup like this, since
they just end up bloating wiki articles.
2021-03-07 22:11:16 -08:00
Ryll Ryll
ced28d5cec Dog AI 2.0 (#57186)
Now that JPS and AI movement datums are fully merged, I'm here to take another (my third actually) crack at giving dogs fun AI. Here's a video demonstration (somewhat WIP), and a quick rundown of everything dogs will be able to do. Basically all of these behaviors are generic and can be extended to other simple mobs,
Commands and Friendship
Fetching
Attack/Harass
Heel
Play Dead
2021-03-07 02:19:38 +00:00
Whoneedspacee
e8f81e33f8 Icebox Wendigo Buff + Crusher Trophies (#56258)
Co-authored-by: Jonathan Church <jchurch093@gmail.com>
Co-authored-by: s <wesoda24@gmail.com>
Co-authored-by: spookydonut <github@spooksoftware.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
2021-03-04 12:54:15 -08:00
Thalpy
9aae9c68f5 Tweaks cryostylane to use the new reaction mechanics, incorporating stasis iceblocks, freezing, temporary organ decay prevention and surgery speed modifiers. (#57315)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-03-03 17:04:19 -08:00
MrMelbert
4b350d1849 Fixes crafted foods not getting reagents from its contents (#57258) 2021-03-03 16:42:49 -08:00
Ghilker
b6436d27f9 Fix stacking of blast doors and shutters from crafting (#57360) 2021-03-03 16:16:04 -08:00
Kylerace
01f899c946 At first i thought that i was being forced to add a feature 🤮 but then i realized i was being encouraged to refactor 😄. Electrified chair is now a component instead of a failure (#57117) 2021-03-03 05:05:52 -08:00
Time-Green
f62034edf6 Rework plumbing reaction chamber, purity support (#57071)
Currently does four things:

The reaction chamber now supports purity! It has a yellow (acid) and green (basic) input for buffers, aswell as a setting to automatically dispense either an acidic or alkalic buffer when above/below a certain pH! Now you can make a 100% pure meth factory! The buffer connects are on an alternate layer.

Probably going to be less loved, but I removed the reaction chambers ability to pick reagents from the net. Instead, it will pull untill a set volume is reached. Then it'll start reacting. While this means that players will have to be more creative and use a wider array of machinery.

Also new machine! Buffers! They fill the hole that reagent chambers left. They can be set with a threshold volume and will only start putting out chems when ALL of their neighbouring buffers also are also above this threshold. You might have a lot of one chem and have to wait for a more specialized chem to be produced, and with the cleverness of reaction chambers gone, bufferers can do just that: wait.

I also removed all but two layers. I want to make it obvious what layer the buffer connects are on. Also layers are basically unusable and I'm gonna give them a rework very soon. I'll put the things back in then when they actually have something to contribute
2021-03-02 16:22:16 +02:00
cacogen
74d29d5c2d Adds unit test for spawned food edibility (#57232)
* Adds unit test for spawned food having reagents

- Adds stack trace for biting food failing due to a lack of reagents
- Adds checks for seed var being set under food/grown's initialize() in grown.dm
- Fixes issue with gondola meat code duplicated for penguin meat slabs resulting in a runtime and being unable to slice penguin meat
- Adds seeds for bombananas

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-02-27 16:50:09 -08:00
Ghilker
99ed48ce8d [Ready]Atmos enhanced. Part 1: Crystallizer and machine recipes (#56889)
* crystallizer
2021-02-27 19:19:43 +01:00
Ryll Ryll
98d6e12445 Disabler pellet clouds no longer cause burn wounds (#57180) 2021-02-26 01:24:21 -08:00
Ryll Ryll
1c61ceddf5 Pens and iron rods can embed again (#57181) 2021-02-26 00:12:20 -08:00
ArcaneDefence
8186c4e7f0 Improves throat slitting combat log messages (#57176)
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2021-02-25 17:13:11 -08:00
Qustinnus
dc78e93543 Adds tourist robots that order food and drinks from the bar and cafeteria (#57010)
* Adds Tourism Economy

Co-authored-by: Emmanuel S. <emmanuelssr@gmail.com>
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: coiax <yellowbounder@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-02-25 19:39:02 +01:00
Ghom
69711bde15 Beauty is now an element. Fixing an issue with enter/exit area comsigs. (#57147)
Co-authored-by: Ghommie <425422238+Ghommie@users.noreply.github.com>
2021-02-24 21:17:03 -08:00
TemporalOroboros
3f8c703865 Makes overlay lighting flags actually respond to attaching/detaching lights (#57058)
Fixes overlay lighting components not handling attaching/detaching lights.
2021-02-20 23:01:42 -05:00
Fikou
98c3a4ff0b cult construct stuff (#57027)
edits sprites for wizard cult constructs to have more sheen
fixes wizard cult constructs not working
makes soulstone code a bit cleaner i think
makes cult spells use second defines
fixes wraith jaunts being invisible
2021-02-20 23:16:35 -03:00
Thalpy
fa575db934 Fermichem part 2.2 Adds new tools, crafts and methods for ghetto chemists to handle the new reaction mechanics. (#56871)
Since reactions now require a bit more involvement from chemists, ghetto chemistry is a bit harder. This seeks to help some of those problems by providing new tools for those without a chem heater/reaction chamber.

Also some of these might be useful for chemists in the lab too!

Here's what you can make:
image
the burners are similar to candles - except they burn their internal reagents. The temperature they heat by is dependant on the flame, fuel and oil burn for a lower amount, ethanol for a higher amount and plasma for the highest amount. They can be put on tables and bonked with beakers for a quick way to heat them (similar to lighters). You'll need to light them with a match or lighter too, though, and can be put out by use in hand.

The thermometer looks like this and gives you temperature readings!
thermom

The pH booklets are the same as before - but you can now craft them by making universal indicator. These are the best way for a ghetto chemist to check their pH, and multiple sheets should be used over a reaction.

The improvised chem heater looks like this, and is a reconfigured space heater, it requires more materials and tools lending itself to a static drug den, but has the best method of adjusting temperature and fighting against exo/endo thermic reactions:
Improv_heater

Finally, the cooling spray lets chemists do the oposite of a lighter on their beaker - cooling the reagents within. In addition, fire extinquishers perform the same function.

In addition ice and universal indicator have been added as reactions.

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2021-02-19 20:28:48 +02:00
TemporalOroboros
e2e7ccdbdc /mob/living/proc/Life(delta_time) (#55534)
- Makes `/mob/living/proc/Life` and most related procs use `delta_time`
- Procs that had snowflaked timing systems, such as breathing, addiction, and advanced diseases were left unchanged.
2021-02-19 10:24:20 -05:00
TemporalOroboros
e4079c87b8 update_appearance (#55468)
Creates update_name and update_desc
Creates the wrapper proc update_appearance to batch update_name, update_desc, and update_icon together
Less non-icon handling code in update_icon and friends
Signal hooks for things that want to change names and descriptions
99%+ of the changes in this are just from switching everything over to update_appearance from update_icon
2021-02-19 12:06:18 -03:00
Kylerace
45ccba3809 replaces all instances of ammo_casing/BB to loaded_projectile again without crashing this time (#56989) 2021-02-18 02:50:56 -03:00
Rohesie
0061b88441 Improves crafting code a tiny bit (#56937)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-02-17 21:42:24 -08:00
Timberpoes
aae13f41a9 Held Up status effect no longer permanent. (#56973)
Heldup status effect is "grouped" and is only removed when all sources of it are removed.

A source is never passed into it, so the sources list just contains a single null element.

Once put on a player, the status effect will never be removed without admin intervention and will forever display the HUD alerts as a result.

I pass in the "shooter" as a source and as such this should now clear appropriately while staying around when a player is being held up by multiple people at once.
2021-02-18 00:41:47 -03:00
Time-Green
3abcf0fe3f Plumbing IV drip (#56920)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-02-17 02:38:29 -08:00
Qustinnus
ef80ed1935 Addiction rework (#56923)
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-02-16 18:20:16 -08:00
Timberpoes
7c94f81028 Adds more admin memery and deadchat_control options to immovable rods. (#56888)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-02-15 15:35:00 -08:00
TemporalOroboros
9c63024b59 Refactors the Light Eater and gives it some flavortext. Some minor behavior changes included. (#55551)
Converts the effects of the nightmares light eater into a component and a couple elements
Adds some flavor text to the light eater
Makes the effects of the nightmare's light eater dispel if the armblade is destroyed
Probably a net increase in code quality
More flavortext
The nightmare's light eater effect can be dispelled if you are willing to sacrifice the armblade
2021-02-15 19:11:52 -03: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
LemonInTheDark
f4160f26db Converts all uses of modifiers to lazy access to avoid memes in future (#56846) 2021-02-12 15:25:31 -08:00
Thalpy
56f7ac0c0a Reaction rates, pH, purity and more! Brings a heavily improved, less explosive and optimised fermichem to tg. (#56019)
Brings a heavily improved, rewritten, and optimised fermichem to tg. I saw that tg seemed receptive to it, so I thought I’d do it myself. If you know of fermichem – there’s a lot changed and improved, so looking at other documents regarding it will not be accurate.

Revamps the main chemistry reaction handler to allow for over time reactions instead of instant reactions. This revamp allows for simultaneous reactions, exo/endothermic reactions and pH consuming/producing behaviours. Most of the reactions in game will now inherit an easy one size fits all reaction.

Temperature mechanics

    Temperature affects reaction rate
    The higher it is, the faster it is, but be careful, as chem reactions will perform special functions when overheated (presently it DOESN’T explode)
    Temperature will increase or decrease depending on the exo/endothermic nature of the reaction

pH mechanics

    Each reaction requires the pH of a beaker to be within a certain range.
    If you are outside of the optimal, you'll incur impurity, which has a negative effect on the resultant chem
    pH of a beaker will change during a reaction
    Reacting Impure chem effects can vary from chem to chem, but for default will reduce the purity of other reagents in the beaker
    Consuming an impure chem will either cause liver or tox damage dependant on how impure it is as well as reducing consumed volume
    Purity can (presently) only be seen with a chemical analyser
    Impure chems can purposely be made by making the reagent with a low, but not explosive, purity.
    A chem made under the PurityMin will convert into the reagent’s failed chem in the beaker.

Optional catalysts

    Reactions can use an optional catalyst to influence the reaction - at the more framework exists from tmeprature, reaction rate and pH changes as a result of a catalyst. Catalysts can be set to only work on a specific reagent subtype. It is preferable to those building upon this code that optional catalysts only affect a subsection of reagents.
    Presently the only catalyst that uses this is Palladium synthate catalyst - a catalyst that increases the reaction speed of medicines.

Reaction agents

    These are reagents that will consume themselves when added to a beaker - even a full one, and apply effects to the total solution. One example being Tempomyocin which will speed up a reaction, or the buffer reagents which change the pH.

Competitive reactions

These reactions will go towards a certain product depending on the conditions of the holder. The example one given is a little tricky and requires a lot of temperature to push it towards one end.
New and charged reactions

(see the wiki for details)

Acidic /basic buffer - These reagents will adjust the pH of a beaker/solution when added to one. If the beaker is empty it will fill it instead.

Tempomyocin - This will instantly speed up any reaction added it is added to, giving it a short burst of speed. Adding this reagent to a reaction will give it a suddent speed boost up to 3x times - with the output purity of the boost modified by the Tempomyocin's purity.5u per 100u will give you 2x, 10 u per 100u will give you 3x. IIt caps at 3x for a single addition, but there is nothing preventing you from adding multiple doses for multiple boosts.

Purit tester - this will fizzle if the solution it is added to has an inverse purity reagent present.

A few other reactions have been tweaked to make sure they work too. An example being meth - see the wikipage linked above.
A note on all reactions

    The one size fits all reaction for all chems generally won’t create impure chems – it is very forgiving. The only thing to remember is to avoid heating reactions over 900 or you’ll reduce your yield, and try to keep your pH between 5 -9.

This PR doesn’t have specific example chems included (except for the buffers) – they will be atomised out and they use the mechanics in more depth
A note on plumbing

I reached out to Time Green and we worked together to make sure plumbing was fine. Time Green did some of his own tests too, and surprisingly it doesn't look like much needs to be changed.
2021-02-11 17:09:07 -03:00
Mothblocks
a1046d8e37 Refactor can_inject, and introduce try_inject (#56816)
Splits can_inject into can_inject and try_inject. The latter can perform side effects, while the former cannot. Moved the show_error bool parameter to a flag that try_inject checks.

Changes the signature to can_inject(mob/user, target_zone, injection_flags). This was previously redefined in several places, making it impossible to use named parameters. This refactor now allows named parameters to be used, and thus avoiding the ugliness of TRUE, FALSE, FALSE in parameters.
2021-02-11 15:45:18 -03:00
Kylerace
017daddc44 No More Calling get_equipped_items() in mob/living/Crossed(), Makes Slippery Component Work Without it (#56820)
* gets rid of mob/living/crossed and makes clown pdas work without it

* makes squeaky work without COMSIG_ITEM_WEARERECROSSED
2021-02-11 13:37:17 +01:00
coiax
36c7d2c110 Move Jolly and Depression into mood handling (#56580)
The Jolly and Depression quirks are much more active. You can expect the positive/negative moodlets to affect you around 50% of the time.

Previously, the probability of the Jolly/Depression moodlet firing was so low, you only have a less than 1/3 chance of seeing the 2 minute moodlet in an hour of play. Now they will be far more active.
Depression's hardcore point value has increased, since it is far more negative now.

The quirks now just add the TRAIT_JOLLY and TRAIT_DEPRESSION, which is then used by the mood component to have a chance of triggering the corresponding mood episode.

Gonbolas now have an always on positive mood message, rather than applying a do nothing TRAIT_JOLLY trait.

To demonstrate how the mood traits are independent of the quirks, There is now a "jolly grey cap", which gives you TRAIT_JOLLY while it is being worn.
2021-02-11 01:26:50 -03:00