Commit Graph

1357 Commits

Author SHA1 Message Date
tralezab
09ab61ae05 Four New Sects, small rethemes to first 3 (#57820)
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2021-04-11 22:57:43 +03:00
Thalpy
560597896c Fermichem 2.5 - Organ(kinda) related medicines adjustments! (#57806)
* Initial dump

* Getting there

* Update impure_medicine_reagents.dm

* Update impure_medicine_reagents.dm

* Adds the reaction mechanics

* Compiling fixes

* Update medicine_reagents.dm

* Updates the debug machine to allow for live recipe edits and tweaks the rest of the stuff

* Few fixes and things I missed

* linters

* Feedback changes

* Apply suggestions from code review. Thanks ATH1909!

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>

* More changes

* Few more tweaks before component and eyes

* Update chem_recipe_debug.dm

* Fixes loop I think

* I guess I'll just have to hope qdel does it's job

* It really doesn't like nullspace

* Fixes bug in oculine and misspelling

* No obsessed traumas to avoid forced antaging

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2021-04-11 01:29:41 +03:00
TheVekter
4753179fbd Allows you to ignite cigars with cauteries and recently-fired revolvers. (#58109)
About The Pull Request

#58055 added this for Mansus Grasp and I thought why the hell not, this is also badass. Fifteen seconds sounds like long enough to do this after firing the gun.

Also EOB noticed you can't ignite cigars with the cautery and that seems odd, so I added that too. Not sure who'd want to do that, but here you go.
Why It's Good For The Game

Gun hot after firing also badassery
Changelog

🆑
add: Recently-fired revolvers can now be used to ignite cigars like a fucking badass.
add: Cauteries can now be used to ignite cigars like a very irresponsible doctor.
/🆑
2021-04-03 10:53:20 +13:00
MrMelbert
b46b586d7b TGUI Limbgrower + Limbgrower refactoring and design expansion (#57955)
Refactors the limbgrower to modernize the code. Now, the limbgrower can accept any type of reagent in limbgrower designs.

Adds simple plumbing demand to the limbgrower, so you can pipe synthflesh into it.

Adds monkey tails, felinid ears and tails, lizard digitigrade legs, lizard tongues, fake lizard tails (unusable in lizard-wine and similar recipes), plasmaman organs, and ethereal organs (minus the heart) to the limbgrower via limbgrower design disks. These disks can be printed from the medical lathe once the required technology has been researched.

Adds a technology node to unlock the limbgrower design disks after advanced biotech, xenoorgan biology. In the future, this could have an experiment requirement - maybe to scan multiple types of species.

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2021-04-02 11:01:40 +03:00
Ryll Ryll
51394ea3e3 You can now manufacture bone gel (#58006) 2021-03-29 12:31:43 -07:00
FernandoJ8
97a7135a28 A non-functional heart no longer causes heart attack if you have Muscled Veins (#58016) 2021-03-29 12:27:47 -07:00
GuillaumePrata
c4b7f3c41b Moth eyes now have their own obj and mob sprites (#57893)
imageadd: Moth eyes now have a unique sprite that reflects on your mob.
2021-03-27 12:12:14 -04:00
Thalpy
7bce57ef35 Fixes impurities on foam, smoke and cigs. Improves how impurities are handled. (#57435)
Reworks the main handlier for impurities and adds it to the add_reagent proc instead. Adds an option to bypass the purity splitting too. This reduces the amount of add_reagent calls and will prevent any unintended on_mob_add() and delete calls for reagents that are removed from splitting.
Fixes smoke, foam and cigarette issues too - since they used copy_to isntead of trans_to.
2021-03-18 14:56:14 -07:00
LemonInTheDark
7f444f510e Fixes a ton of harddels (#57736)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2021-03-17 05:51:53 -07:00
ArcaneMusic
bf258c0a92 Fixes some grammar issues with blood filtration. (#57609)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-03-16 15:34:41 -07:00
LemonInTheDark
99cd00f5fe Makes gas actually dissipate (#57634)
* Raises the quantize threshold from 1E-7 to 1E-4.

This makes gas dissipate as expected, and should help with the amount of useless gas floating around the station
at highpop

Adds a garbage_collect() call to the portion of pipeline code where all gasmixes are in one place, this should
clean things up properly.

Changes BREATH_VOLUME from 2 to 1.99. This is imperative
Documents a FUCKING HELLBUG in quantize/breathcode that can lead to breaths just not working sometimes. I'm not
sure how to fix this totally, so I'll document it and pray.
See <https://www.desmos.com/calculator/5icdlnktus>
Adds a unit test to check for this sort of failure.

Addendum for people tweaking this value in the future.
Because o2 tank release values/human o2 requirements are very strictly set to the same pressure, small errors
can cause breakage
This comes from QUANTIZE being used in /datum/gas_mixture.remove(), forming a slight sawtooth pattern of the
added/removed gas, centered on the actual pressure
Changing BREATH_VOLUME can set us on the lower half of this sawtooth, making humans unable to breath at standard
pressure.
There's no good way I can come up with to hardcode a fix for this. So if you're going to change this variable
graph the functions that describe how it is used/how it interacts with breath code, and pick something on the
upper half of the sawtooth
NOTE: I've made this change with a focus on o2 requirements. Changing this will effect other settings, but most
all of them can be ignored, as none will notice.

* Thank you moth man

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Docs the purpose of the breath unit test, and better explains partial pressure

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-03-13 14:49:50 +13:00
Timberpoes
7337a984b8 Removes the Chameleon Skillchip from the game. (#57620) 2021-03-11 22:16:03 -08:00
Ghom
833ede41de Voice of god refactor; no more 'else if' cascade. (#57578) 2021-03-11 02:01:44 -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
Qustinnus
b4d888227e If you get qdeleted while crystalizing as ethereal, you no longer get super-owned (#57434)
If you get qdeleted while crystalizing as ethereal, you no longer get super-owned
You couldn't ghost when crystalizing so u got stuck in the shadow realm.
2021-03-05 16:57:14 -08:00
John Willard
126d1eeb72 Defines some traits and cleans it out a little (#57389) 2021-03-04 13:37:52 -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
EdgeLordExe
a536bbd1f8 Changes how organ failure is processed to make it more interesting, and ports liver to the new system. (#57246)
Co-authored-by: coiax <yellowbounder@gmail.com>
2021-03-03 16:05:06 -08:00
Cimika/Lessie/KathyRyals
17a7be9b29 Operating computers no longer link to stasis beds. (#57306) 2021-03-02 15:35:03 -08:00
necromanceranne
c5465c18f8 Adds basic cybernetic eyes to the medical protolathe/exofabricator (#57245)
* Makes the basic cybereyes flash vulnerable, puts the equal to normal eyes in the cybernetic organ node, makes the normal cybereyes prone to fizzling upon being emp'd
2021-02-28 22:46:38 -08:00
Qustinnus
10bfda57b9 Ethereals now crystalize on death, allowing them to heal themselves unless the crystal is destroyed, but giving them a brain trauma if it succeeds. (#57225)
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-02-28 13:49:31 -08:00
TJatPBnJ
530784deba Change the description of the superlingual matrix to mention attunement (#57127)
It isn't immediately obvious how the tongue is intended to be used, or
how to use it, so there wasn't much of a reason for abductors to buy
it. This should change that.

Co-authored-by: coiax <yellowbounder@gmail.com>
2021-02-25 13:37:02 +00:00
Dax Dupont
556f250c68 Fixed a type in gauze falling off message (#57047)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-02-20 23:45:52 -08:00
ArcaneDefence
c47ea136a9 Fixes plasma lava limb conversion bug (#57031) 2021-02-19 23:18:18 -08: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
MrMelbert
f9a140facb Tailed species now gain a negative moodlet for having their tail lost (#56959) 2021-02-17 02:44:37 -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
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
LemonInTheDark
f4160f26db Converts all uses of modifiers to lazy access to avoid memes in future (#56846) 2021-02-12 15:25:31 -08: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
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
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
Ryll Ryll
3e7eaeabce Improves Kissing (#56698)
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
2021-02-07 00:53:22 -08:00
vincentiusvin
a57241c8db Fixes N2O & Healium Euphoria (#56673)
N2O and Healium have a simple else statement on the end if there arent enough partial pressure, so you need both to exceed the threshold to get euphoria. This fixes that.
2021-02-07 00:24:18 -08:00
YPOQ
94276f0422 Fixes attacks doing 0 damage when dismemberment wound fails (#56697) 2021-02-07 13:49:38 +08:00
Fikou
c014e0ce86 Delete remove_embedded_object.dm (#56675)
File is no longer included in tgstation.dme
2021-02-06 18:00:20 +00:00
ATH1909
7a29daecb7 Change shears to check for incapacitation instead of stunned status effect (#56674)
Amputation shears now check for incapacitation instead of specifically
the stunned status effect to determine if you can get a 0.5x multiplier
for the time required to cut off a patient's limb despite the patient
not being unconscious, critted, or dead. This means that
staminacritting and paralysis can now count for this check.

In addition, the 1.5x time multiplier for the patient/victim being
jittery is now no longer mutually exclusive with the above 0.5x
multiplier (previously, the 0.5x multiplier would take priority).
Note that this penalty does not apply if the patient is dead, as
having a nonzero jitteriness variable only causes a jittering
animation if you're not dead.
2021-02-06 10:28:38 +00:00
TJatPBnJ
1aeb2d8aaa hexane gone (#56665)
hexane is dead, why are we keeping an unused var?
2021-02-05 14:53:42 -08:00
manofpepsi
ae8045259b Tend wound fix and minor refactor. (#56599)
* fixes tend wounds healing damage that wasnt specified by it.

fixes the tend wounds that should heal one damage you choose i.e.: burn randomly heal some brute while not healing burn or heal burn and brute at the same time.
2021-02-05 10:11:32 -08:00
dragomagol
aa51207dda Makes borg organ bags into an apparatus (#56401)
Co-authored-by: spookydonut <github@spooksoftware.com>
2021-02-05 01:34:47 -08:00
Qustinnus
707fc287b4 Replaces intents with combat mode (#56601)
About The Pull Request

This PR removes intents and replaces them with a combat mode. An explanation of what this means can be found below
Major changes:

    Disarm and Grab intents have been removed.
    Harm/Help is now combat mode, toggled by F or 4 by default
    The context/verb/popup menu now only works when you do shift+right-click
    Right click is now disarm, both in and out of combat mode.
    Grabbing is now on ctrl-click.
    If you're in combat mode, and are currently grabbing/pulling someone, and ctrl-click somewhere else, it will not release the grab (To prevent misclicks)

Minor interaction changes:

Right click to dissasemble tables, racks, filing cabinets (When holding the right tool to do so)
Left click to stunbaton, right click to harmbaton
Right click to tip cows
Right click to malpractice surgery
Right click to hold people at gunpoint (if youre holding a gun)
Why It's Good For The Game

Intents heavily cripple both the code and the UI design of interactions. While I understand that a lot of people will dislike this PR as they are used to intents, they are one of our weakest links in terms of explaining to players how to do specific things, and require a lot more keypresses to do compared to this.

As an example, martial arts can now be done without having to juggle 1 2 3 and 4 to switch intents quickly.

As some of you who saw the first combat mode PR, the context menu used to be disabled in combat mode. In this version it is instead on shift-right click ensuring that you can always use it in the same way.

In this version, combat mode also no longer prevents you from attacking with items when you would so before, as this was something that was commonly complained about.

The full intention of this shift in control scheme is that right click will become "secondary interaction" for items, which prevents some of the awkward juggling we have now with item modes etcetera.
Changelog

cl Qustinnus
add: Intents have been replaced with a combat mode. For more info find the PR here: #56601
/cl
2021-02-04 16:37:32 +13:00
ArcaneDefence
602b094a37 Makes augmented limb icon_states agender (#56527) 2021-02-01 21:52:04 +01:00
Timberpoes
e85cf07b96 Mirror logging for brainwashing and hypnosis in the player panel and attack logs. (#56515)
Hypnosis and brainwashing now have entries in the Player Panel logging
under attack and entries in the attack logs.

Mirrors some logging that would otherwise just be in the game logs.
From an admin-perspective, issues where you'd want to check
brainwashing/hypnosis tend to go hand-in-hand with issues relating to
attack logs as opposed to game logs.
2021-01-31 20:21:38 +00:00
Y0SH1M4S73R
bbd794db51 Miscellaneous Pronoun & Grammar Fixes (#56504)
Changes a few uses of static pronouns in dynamically generated strings to calls to the p_ procs.
2021-01-30 22:06:26 -03:00
dragomagol
f837ce4397 Cyborg modules renamed to models (#56312)
Changes the references of borg module (type) to model, adds a file for robot declarations and one for model declarations. Basically trying to make the code layout a little more sane.

Initially changed them to 'configurations' but I prefer model; its meaning is closer to module than configuration and avoids confusion with actual config.
2021-01-22 21:38:35 +02:00
ATH1909
50d4a79a6e buffs the surgical toolset implant (#56253)
## About The Pull Request

The surgical toolset implant's circular saw and surgical drill now both have a force of 15 (as is normal for surgical tools of their respective types), instead of 10.

## Why It's Good For The Game

I don't really see any reason why these tools should be "dulled" for the surgical toolset implant, especially seeing how the integrated toolset implant (which contains much more generally-usefull tools than what the surgical toolset implant has) contains a 40u welder that has a force of 15, and that's not causing any balance problems. For combat purposes, both of these implants are outclassed by replacing your arm with a chainsaw (which has a force of 24).

Whirring saws and spinning drills that you can extend from your arm like wolverine and shank a guy with are fucking badass, and if a doctor wants to defend themselves with their integrated tools instead of carrying around an extra "normal" saw/drill in their backpack just for combat purposes, then by god, we shouldn't arbitrarily penalize them for doing that.
2021-01-19 21:03:17 -05:00
Ryll Ryll
787bbeddbb Improves Bleeding Feedback + Misc Wound/Organ Decay Tweaks (+ Removes Teeth) (#56056) 2021-01-14 23:53:34 -08:00