From d4ec894adcf2ba5c09bb5a21a7176f1287f3705a Mon Sep 17 00:00:00 2001 From: xXPawnStarrXx <53197594+xXPawnStarrXx@users.noreply.github.com> Date: Wed, 20 Mar 2024 07:40:04 +0000 Subject: [PATCH] Blood filtration surgery removes toxins (#1206) ## About The Pull Request The basic premise of this is that bloodfiltering removes a small amount of toxin damage, to prevent this being abusable it will only repeat when they have reagents in their system. It works on slimes, however the trade off is that it's worse than medications (80% seiver at 1000k is like... 6 toxin per second, this is about 2.5 per second if my math is right) and will purge any meds in the subjects sytem. (Even the beneficial ones, use it wisely) Currently; You _can_ heal toxins via surgery, however the stomach pump surgery cannot be used on many races, some of which are very commonly used by our players. ## Why It's Good For The Game If you're filtering someone's blood, surely cycling clean blood around their system would purge some of the toxins (since that's kinda what our bloodstream does, in combination with our liver and kidneys). It is also convenient for those times where you are out of medications (Blackouts, breaches or it's otherwise unsafe to get them) and need to heal someone's toxins... click by click if required. It's also much more humane than wrenching a carbon's stomach to make them sick and can work on slimes/other species that aren't listed as carbon. ## Proof Of Testing ![image](https://github.com/Bubberstation/Bubberstation/assets/53197594/cbf493af-d892-4b1c-973e-4483b9aa75c5) ![image-1](https://github.com/Bubberstation/Bubberstation/assets/53197594/73321fdf-85a1-4720-99d8-4b05c0b94160) ## Changelog :cl: add: Blood filtering now restores toxins. /:cl: --------- Co-authored-by: nevimer <77420409+nevimer@users.noreply.github.com> Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com> Co-authored-by: projectkepler-RU <99981766+projectkepler-ru@users.noreply.github.com> --- code/modules/surgery/blood_filter.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/surgery/blood_filter.dm b/code/modules/surgery/blood_filter.dm index 0193ee9c01a..c29c7cc136d 100644 --- a/code/modules/surgery/blood_filter.dm +++ b/code/modules/surgery/blood_filter.dm @@ -67,6 +67,7 @@ for(var/datum/reagent/chem as anything in target.reagents.reagent_list) if(!length(bloodfilter.whitelist) || (chem.type in bloodfilter.whitelist)) target.reagents.remove_reagent(chem.type, min(chem.volume * 0.22, 10)) + target.adjustToxLoss(-2, forced = TRUE) //BUBBER EDIT - Filtration fixes toxins display_results( user, target,