Commit Graph

33841 Commits

Author SHA1 Message Date
zxaber
162821c758 Doomsday now cancels if the AI shunts mid-activation (#56833)
If the AI shunts while the doomsday flufftext proc is activating, the doomsday will now revert to idle. It can be re-activated if and when the AI returns to their core. A fully activated doomsday event (when the crew is given a delta alert) will still be properly disabled if the AI shunts, and cannot be reactivated. Closes #56785

Also fixes the name of the doomsday flufftext proc, which was arguably the bigger issue.

Finally, adds an admin message, sent when the AI starts the flufftext proc.
2021-02-15 00:52:44 -03:00
tralezab
e09101cb4b Pirates are split into three different ghastly crews! (#56264)
Co-authored-by: DeAndre <robustness13@hotmail.com>
Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
Co-authored-by: tgstation-server <tgstation-server@tgstation13.org>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-02-14 16:55:37 -08: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
Hadzabadza
1a2a365435 Vines get destroyed on bud's Destroy() (#56902)
Simple fix for #56879 caused by qdelling the bud without clearing up the vines.
2021-02-14 08:25:38 -05:00
cacogen
e86bb7e90b Adds GPS to bounty cubes (#56838)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-02-14 02:05:43 -08:00
Thalpy
b85c72b3e8 Fixes free buffers in reaction chambers (sorry!) (#56887) 2021-02-14 00:09:12 -08:00
Kylerace
00cf04b5a1 All Holobugs Must Die the Same Day Theyre Born or You Are Money Back Part Two (#56878)
runtime in holodeck/finish_spawn() that dealt with doing shit with the atoms in the spawned list, which in some cases cease to exist. now finish_spawn has a check to see if the entry in the spawned list actually exists.

also fixes another small issue with the holodeck process() continually trying to load the offline program and getting rejected which causes the holodeck to give the "ERROR. Recalibrating projection apparatus." message, which it no longer does if the program is forced.
2021-02-13 21:41:24 -08:00
Elli-Skala
8988d6b984 lowers the size of torches, and lets them be made with leafy mushrooms (#56877) 2021-02-13 21:31:23 -08:00
ArcaneDefence
d008159a8b Adds moodlet for moth wings burning off (#56895)
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
2021-02-13 20:38:32 -08:00
Kush1Push1
cfa136f75d Updating russian localization for radio prefixes (#56882) 2021-02-13 19:37:08 -08:00
spessbro
3b333e5987 moves can_synth to chemical_flags (#56891) 2021-02-13 16:06:45 -08:00
tralezab
84a74bf27d Reactive armor now has user-dangerous effects when it is EMP'd, updates table armor to 2021 (+Documentation) (#56408)
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
2021-02-13 16:05:15 -08:00
Watermelon914
cf63fcfb5d Valentine antag fixes (#56905) 2021-02-13 13:48:33 -08:00
itseasytosee
f2b9adbc35 Gives wizard constructs a purple theme. Minor construct fixes. (#56758) 2021-02-13 12:43:49 -08:00
MrMelbert
4f7a73c3e0 Moves the plant analyzer chem mode to right click + lets you read out a tray's chemical contents (#56836) 2021-02-13 00:35:29 -08:00
Ryll Ryll
53d6bf8179 Fixes bullying socially anxious dead people by blowing kisses at their corpse (#56732)
At the end of #56698 I added interactions for people with the social anxiety quirk so they sometimes get flustered when hit by a kiss, but I realized precisely 0.2 seconds too late that I didn't actually check if they were alive or conscious before doing so.

This PR fixes this so those reactions will only happen if they're conscious or in soft crit. I also changed the description of the kiss of death lipstick, cause I forgot to put one
2021-02-13 04:55:20 -03:00
Mothblocks
cb35cba7d5 Syringe toggle has been replaced with left-click to inject, right-click to draw. You can also now change transfer amount. (#56865) 2021-02-13 04:24:42 -03:00
cacogen
6fdefe3e73 Fixes tags on ordered pizza (#56369)
Box tags

    Fixes bug where box tags weren't updating correctly on creation
    Adds box tag flavours for the pizzas without them (i.e. Donk Pocket -> Bangin' Donk, Dank -> Fresh Herb, Sassysage -> Sausage Lovers, Arnold -> 9mm Pepperoni)

Randomised pizza crates

    Pizza crates can now come with any five pizzas, weighted by disruptiveness
    Small chance of getting one pizza bomb in a pizza crate (either armed or not) per shift

Armed pizza bomb

    Adds an armed variant of the bomb pizza box, which has the boxtag "Meat Explosion", contains a meat pizza and explodes 5 seconds after opening
    Makes the pizza party spawner use the armed bomb pizza box, instead of giving whoever a free syndicate pizza bomb they probably aren't allowed to use anyway

Secure kitchen crate

    Adds the secure kitchen crate from my previous PR
    Adds a secure pizza crate variant to KiloStation's cargo warehouse where the freezer crate was, which contains the pizza party and is locked with kitchen access

Ghost examines

    Adds ghost examine messages for pizza boxes with bombs or the nanomachine pizza in them
2021-02-13 03:35:37 -03:00
MrMelbert
6a924330c3 Refactors plant traits to use signals + autodocs a lot of plant gene stuff and better vars all over (#56841)
Refactors plant traits to use signals instead of looped proc-calls copy-pasted on both types of plant.

Comments / autodocs a lot of the plant genes and their procs.

Renamed a bunch of vars to be more descriptive.
2021-02-13 03:25:59 -03:00
Thalpy
ab99d22cee Fixes Cryostylane and Pyrosium reactions to work/be less janky (#56870)
Pyrosium previously would fail to react because the on_reaction() proc would set it's temperature below it's minimum, so it wouldn't get started. This widens the reaction range to work at pretty much all temperatures.
The same was done for Cryo (which I think works anyways?) but makes the reaction less fussy.
Also makes their oxygen reactions instant so I don't break grenades too.
2021-02-13 02:40:45 -03:00
Ryll Ryll
fa216eff39 Minor ERT refactor, introduces a few ERT admin options (#56345) 2021-02-12 21:07:57 -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
Tlaltecuhtli
2bbf5dd298 breaching missiles breach windows and rwindows (#56858)
Co-authored-by: Fikou <piotrbryla@onet.pl>
2021-02-12 15:18:48 -08:00
itseasytosee
1230327a4a Fixes it being harder for only people who are resting to break out of grabs and not all prone types (#56860) 2021-02-12 15:18:21 -08:00
spessbro
4eef702df1 Removes bad useless defines from the codex gigas (#56855) 2021-02-12 13:58:11 -08:00
Tom
5b9d42c289 Winter coats (#56854)
add: Thirteen more winter coats covering all departments and most jobs.
2021-02-12 08:30:33 -05:00
LemonInTheDark
6947493a5f Makes n2o nontoxic, for reasons (#56839)
Counter to the original intent of the change seen here #50126, n2o will currently deal damage when used with both internal tanks and floods, as the threshold picked for it was about 0.15 moles at room temperature. Even outside this oversight, the original goal can't easily be achieved. Because breathing works off partial pressures, anything you can do with an anesthetic can you can do with an n2o flood.

Therefore I don't think it's behavior worth keeping, as even as a way to disincentivize non-antag n2o floods it would do little.
2021-02-12 05:50:05 -03:00
LemonInTheDark
301166b204 Rebalances bz, makes it less of a self antag tool (#56832)
Makes hyper low amounts of bz not cause hallucinations
Makes the brain damage portion of bz breathing only take effect at higher pressures, roughly 10 mols at room temp on a turf
2021-02-11 20:01:29 -03:00
Mothblocks
b168b541a4 Fix failing master with FermiChem merge (#56859)
Fixes merge skew between FermiChem and #56419, leading to failing master.

https://bors.tech/essay/2017/02/02/pitch/
2021-02-11 17:56:54 -03: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
1ca55b75b6 Generalize splashing reagent containers code, put it on right click (#56813)
You used to only be able to splash glass reagent containers and glass...glasses. This code was previously duplicated, but is now a general property of reagent containers with spillable = TRUE (which includes both of these).

Splashing beakers is now also on right click
2021-02-11 16:46:18 -03:00
Sparkezel
f8044754eb Refactors sharpness to use a bitfield (#56817)
Refactors sharpness to use bitfield instead of bitflags in case someone wants to add more types of sharp things, or unique behaviour with them
2021-02-11 15:53:29 -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
necromanceranne
e4aef8fa08 You can print multiple sheets of sticky tape. (#56819)
Makes the autolathe maxstack 5. This lets you print more than a single sheet of tape at once even if you have more than one sheet.
2021-02-11 15:38:59 -03:00
necromanceranne
3159949009 Fixes the harpoon gun jamming because of inheritance (#56823) 2021-02-11 15:34:45 -03:00
coiax
097b535bdf Tweak goldschlager to be more complex (gold, girls) (#56419)
Goldschlager contains real gold flakes in the real world, and in-game
it's made from 10u vodka and 1u gold, so it should have some effects of
gold.

The existing descriptions describe it being enjoyed by teenage girls, so
that is now mechanically enforced.
2021-02-11 15:30:36 -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
Sparkezel
06d2f1d27e bloodlust (#56818)
Co-authored-by: Sparkezel <1haslo4@gmail.com>
2021-02-11 13:36:25 +01:00
Timberpoes
341e479ef5 The immovable rod is now crazy fast, is overpowered broken and doesn't afraid of anything. (#56794)
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
2021-02-10 23:36:54 -08: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
Mothblocks
eea760a6ce Removes older ID consoles (#56792)
Now that ID consoles have been replaced with modular computers, removes them from the code.
2021-02-11 00:58:45 -03:00
TJatPBnJ
27e51bc557 fixes 2 runtimes caused by holding people up with a gun (#56800)
Fixes two runtimes, one caused by status effects always expecting a return from throw_alert, and another caused by holding yourself up (which you shouldn't even be able to do). Also fixes an issue caused by multiple people holding up the same person, when one of the perpetrators stopped holding up the victim, all of the victim's related alerts disappeared.
2021-02-10 22:56:38 -05:00
Timberpoes
9ce1073a12 Re-adds the admin button to let them exempt players from job exp requirements. (#56799) 2021-02-10 22:55:31 -05:00
Fhaxaris
6d004ad4dc fix modular id console telekinesis+ai (#56787) 2021-02-10 14:32:15 -08:00
NamelessFairy
d8f3f7cd36 Fixes chocolate bars only being made with soymilk or chocolate milk (#56786)
The wiki states that both soy and regular milk can be used to make chocolate bars, currently only soy milk works.
In PR #21206 the recipe for chocolate milk was made to be 1 unit coco powder and 1 unit milk keeping this recipe functional but adding an additional step. However as of PR #55606 the recipe for chocolate milk was changed to use hot cocoa. This PR restores to original method of making chocolate bars.

Chocolate bars are made from milk, coco powder and sugar, you shouldn't need to mix in hot cocoa to make a chocolate bar.
2021-02-10 14:10:10 -08:00
Mothblocks
4846652b52 Fix jumpsuit right click (#56781)
I had accidentally tested this with a medkit in my hand (I'm a CMO on my test server).

Now correctly uses an attack_hand adjacent proc, rather than attackby.
2021-02-10 14:05:32 -08:00
cacogen
29bc9174bd Cargo bounty cube incentives (#56375)
Bounty cube announces its creation over Supply with its creator and
area, starting the speedy delivery bonus countdown
20% bonus for cargo if you send the cube within 5 minutes of its
creation.

Using an export scanner on it in the supply shuttle awards a 10%
personal handling tip when it reaches Centcom.

Cube nags at five minutes over Supply if it's not sent and cargo bonus
is lost.

All nags tell you the cube's area

Co-authored-by: coiax <yellowbounder@gmail.com>
2021-02-10 10:17:11 +00:00
CRITAWAKETS
9e0ba6c384 Updates Bronze to be a lot better, fixes bugs and allows it to be used on grilles. (#56696) 2021-02-10 02:12:40 -08:00
NotRanged
1f279edf4d Blob automatic attack bugfix (#56782)
Co-authored-by: Ranged <nickvanderkroon@gmail.com>
2021-02-10 02:09:53 -08:00
notfrying1pans
c722e5072b Fixed mispelling (#56776)
L66: "Needs to be linked with the other BSA parts using multitool." changed to "Needs to be linked with the other BSA parts using a multitool."
2021-02-10 02:09:02 -08:00