Commit Graph

33824 Commits

Author SHA1 Message Date
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
Timberpoes
391cadea25 Fix crew monitor error state caused by corpses with suit sensors. (#56775) 2021-02-10 02:08:25 -08:00
Timberpoes
40c0123c46 Flash immune cyborgs are now immune to flash. (#56774) 2021-02-10 02:07:23 -08:00
eeSPee
e68d587969 Changes to Regal Rats (#56145)
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Paul, Sendroiu <AA2792@student.jamk.fi>
2021-02-09 17:58:52 -08:00
necromanceranne
9a7deb2079 Fixes some missing sprites for the moonlight greatsword and whip and worn bottles, adds new wizard ritual knife sprites (#56737)
fix: Fixes some missing sprites for the Possessed Sword, Moonlight Greatsword and Chain Whip nullrods.
imageadd: Adds new sprites to the wizard ritual knife and veilrenders.
2021-02-09 18:36:19 -05:00
Andrew
1ff541b829 NTDownloader UI revamp (#56704)
Revamp of the software downloader program for modular computers.

Changes:

- Programs are now sorted alphabetically with incompatible ones in the end of the list.
- Installed programs are now displayed in the list.
- Added program icons.
- Moved the error messages in place of the download button.
- Only the most important error message is displayed now. Priority: compatibility, access, free space.
- Syndicate programs are now displayed in the same list, but have a warning message from NT (There are no warning messages on syndicate OS).
- Added program categories to improve navigation. The default option "All" contains items from all categories.
- Download progress bar moved in place of the Disk usage bar. Disk usage is updated only after the download is complete, so the information was inaccurate during download. And the download bar now always visible regardless of selected category.
- The old download progress bar (next to the corresponding program) is replaced with "Downloading" indicator with a spinner.

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2021-02-10 00:24:38 +02:00
Qustinnus
6988ef936a Refactors ambience to a subsystem (#56723)
Ambience is now in a subsystem, and plays every now and then without you having to move to a new area for it to play
2021-02-09 18:48:04 -03:00
coiax
263b77b089 Add blended dust warning to grinder beakers (#56759)
* Add blended dust warning to grinder beakers

🆑 coiax
tweak: All beakers, bottles and containers that have been used in the
All-in-One Grinder will have a warning not to inhale the dust on
examine.
/🆑

The initial spawned beakers in the grinder already had this description,
and now it is applied to any beakers that have been used for grinding
purposes (and only grinding purposes).

Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
2021-02-09 13:40:46 -08:00
necromanceranne
c1ccf9ea19 Fix pancakes not being able to be made on the griddle (#56730)
Puts the signal registration in initialization, and not in
deconstruction. Fixes #56629
2021-02-09 16:05:50 +00:00
vincentiusvin
a22e673513 Makes cryo handle reagent transfer better. (#56755)
Cryogenics has a reagent_transfer variable that is set to throttle the
reagent injection. Upgrading bins increase efficiency and transfer
amount, thus making the reagent_transfer threshold larger, making it
take longer between each injections.

However, this variable is stored
in the object itself and not on the process proc, presumably to prevent
exploits such as rapidly turning the machine on and off. This has a
really bad consequence that makes cryo really clunky to use, since you
may need to wait for the reagent_transfer variable to hit threshold and
then reset again for a new patient before any cryoxadone can be
injected. Not to mention how upgrading the bins somehow timegaps it
even further.

This PR seeks to change the whole system to transfer reagents in a
smaller and more continuous manner.
2021-02-09 14:03:41 +00:00
Sparkezel
e634ff2da9 Increase hatchet throw range to 7 and allows them to embed (#56705)
I think it would be fun if you could throw hatchets and get them
embedded in your victims, I was surprised that it wasn't a thing in the
first place.

Co-authored-by: Sparkezel <1haslo4@gmail.com>
2021-02-09 09:37:36 +00:00
necromanceranne
e9b1963c46 Missing sprite fixes; telebatons, bullets, bottles, dead facehuggers (#56735) 2021-02-09 00:24:51 -08:00
Qustinnus
340f3bb478 Refactors plane masters a bit and introduces plane master controllers (#56717)
* plane master controllers

* small adjustments

* bro its a comment CHILL OUT

* powerful
2021-02-09 15:12:24 +08:00
TJatPBnJ
b89748f8fd M90 changes (#56667)
The m90 is now 14tc instead of 18. Its grenades can be bought from the uplink in boxes for 6tc, instead of individual grenades for 2tc each. You can also fire the m90's grenade launcher with right click.
2021-02-08 22:35:48 -08:00
cacogen
610acab08b In-spect scanner tweaks (#56720)
* Spellchecks the in-spect scanner description

- Renames it the N-spect scanner
- Changes the sound effect from the quaint voiced placeholder to something I found on Freesound
- Changes the report to be a piece of paper
- Adds encrypted WGW protocol report to paper
2021-02-08 22:09:26 -08:00
LemonInTheDark
40cdb6d025 Enables 514 testing on master, Removes all reliance on extools outside of maptick (#56724)
* Uses 514's map_cpu var when it's available

* Uses auxtools for the debugger, to supply cross verison compatibility

* Nukes extools reference tracking, reinstates the old ref tracking system
2021-02-09 14:01:34 +08:00
Rohesie
596a5ec731 Renames the _alt attacks to _secondary for clarity (#56752) 2021-02-08 21:33:15 -08:00
Tim
fe87d24631 Makes venusflytrap take fire and cold damage (#56565)
Venus flytraps were formerly immune to fire and cold damage. Now plasma fires and the coldness of space can hurt them. Fire does double the damage compared to cold.

At full health a Venus Flytrap will die in:

~5 seconds inside of a fire
~10 seconds inside of space
2021-02-08 18:27:00 -03:00