diff --git a/code/datums/components/rot.dm b/code/datums/components/rot.dm index e46270ee670..535bd97301f 100644 --- a/code/datums/components/rot.dm +++ b/code/datums/components/rot.dm @@ -47,7 +47,7 @@ return // No decay if formaldehyde in corpse or when the corpse is charred - if(C.reagents.has_reagent(/datum/reagent/toxin/formaldehyde, 15) || HAS_TRAIT(C, TRAIT_HUSK)) + if(C.reagents.has_reagent(/datum/reagent/toxin/formaldehyde, 1) || HAS_TRAIT(C, TRAIT_HUSK) || C.reagents.has_reagent(/datum/reagent/medicine/preservahyde, 1)) //Skyrat Edit - Preservahyde, Formaldehyde decrease return // Also no decay if corpse chilled or not organic/undead diff --git a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm index 62cec750952..0c3bd5d548b 100644 --- a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm @@ -304,7 +304,7 @@ /datum/reagent/medicine/c2/multiver //enhanced with MULTIple medicines name = "Multiver" - description = "A chem-purger that becomes more effective the more unique medicines present. Slightly heals toxicity but causes lung damage (mitigatable by unique medicines)." + description = "A chem-purger that becomes more effective the more unique medicines present. Slightly heals toxicity." //SKYRAT EDIT - Fuck you lung damage. /datum/reagent/medicine/c2/multiver/on_mob_life(mob/living/carbon/human/M) var/medibonus = 0 //it will always have itself which makes it REALLY start @ 1 @@ -313,7 +313,7 @@ if(istype(the_reagent, /datum/reagent/medicine)) medibonus += 1 M.adjustToxLoss(-0.5 * min(medibonus, 3)) //not great at healing but if you have nothing else it will work - M.adjustOrganLoss(ORGAN_SLOT_LUNGS, 0.5) //kills at 40u + //M.adjustOrganLoss(ORGAN_SLOT_LUNGS, 0.5) //SKYRAT EDIT - No, cease to exist. for(var/r2 in M.reagents.reagent_list) var/datum/reagent/the_reagent2 = r2 if(the_reagent2 == src) diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm index 3ca6fef15ba..fab61c0035c 100644 --- a/code/modules/reagents/reagent_containers/borghydro.dm +++ b/code/modules/reagents/reagent_containers/borghydro.dm @@ -27,7 +27,8 @@ Borg Hypospray var/bypass_protection = 0 //If the hypospray can go through armor or thick material var/list/datum/reagents/reagent_list = list() - var/list/reagent_ids = list(/datum/reagent/medicine/c2/convermol, /datum/reagent/medicine/c2/libital, /datum/reagent/medicine/c2/multiver, /datum/reagent/medicine/c2/aiuri, /datum/reagent/medicine/epinephrine, /datum/reagent/medicine/spaceacillin, /datum/reagent/medicine/salglu_solution) + //var/list/reagent_ids = list(/datum/reagent/medicine/c2/convermol, /datum/reagent/medicine/c2/libital, /datum/reagent/medicine/c2/multiver, /datum/reagent/medicine/c2/aiuri, /datum/reagent/medicine/epinephrine, /datum/reagent/medicine/spaceacillin, /datum/reagent/medicine/salglu_solution) + var/list/reagent_ids = list(/datum/reagent/medicine/dexalin, /datum/reagent/medicine/bicaridine, /datum/reagent/medicine/kelotane, /datum/reagent/medicine/c2/multiver, /datum/reagent/medicine/epinephrine, /datum/reagent/medicine/spaceacillin, /datum/reagent/medicine/salglu_solution) //SKYRAT EDIT - No Cobbychem. var/accepts_reagent_upgrades = TRUE //If upgrades can increase number of reagents dispensed. var/list/modes = list() //Basically the inverse of reagent_ids. Instead of having numbers as "keys" and strings as values it has strings as keys and numbers as values. //Used as list for input() in shakers. diff --git a/modular_skyrat/modules/OLDChem/medicines/oldchem_medicines.dm b/modular_skyrat/modules/OLDChem/medicines/oldchem_medicines.dm new file mode 100644 index 00000000000..2e466763f36 --- /dev/null +++ b/modular_skyrat/modules/OLDChem/medicines/oldchem_medicines.dm @@ -0,0 +1,110 @@ +/datum/reagent/medicine/bicaridine + name = "Bicaridine" + description = "Restores bruising. Overdose causes it instead." + reagent_state = LIQUID + color = "#fc2626" + overdose_threshold = 30 + +/datum/reagent/medicine/bicaridine/on_mob_life(mob/living/carbon/M) + M.adjustBruteLoss(-2*REM, FALSE) + ..() + . = 1 + +/datum/reagent/medicine/bicaridine/overdose_process(mob/living/M) + M.adjustBruteLoss(4*REM, FALSE) + ..() + . = 1 + +/datum/reagent/medicine/dexalin + name = "Dexalin" + description = "Restores oxygen loss. Overdose causes it instead." + reagent_state = LIQUID + color = "#13d2f0" + overdose_threshold = 30 + +/datum/reagent/medicine/dexalin/on_mob_life(mob/living/carbon/M) + M.adjustOxyLoss(-2*REM, FALSE) + ..() + . = 1 + +/datum/reagent/medicine/dexalin/overdose_process(mob/living/M) + M.adjustOxyLoss(4*REM, FALSE) + ..() + . = 1 + +/datum/reagent/medicine/kelotane + name = "Kelotane" + description = "Restores fire damage. Overdose causes it instead." + reagent_state = LIQUID + color = "#ffc400" + overdose_threshold = 30 + +/datum/reagent/medicine/kelotane/on_mob_life(mob/living/carbon/M) + M.adjustFireLoss(-2*REM, FALSE) + ..() + . = 1 + +/datum/reagent/medicine/kelotane/overdose_process(mob/living/M) + M.adjustFireLoss(4*REM, FALSE) + ..() + . = 1 + +/datum/reagent/medicine/antitoxin + name = "Anti-Toxin" + description = "Heals toxin damage and removes toxins in the bloodstream. Overdose causes toxin damage." + reagent_state = LIQUID + color = "#6aff00" + overdose_threshold = 30 + taste_description = "a roll of gauze" + +/datum/reagent/medicine/antitoxin/on_mob_life(mob/living/carbon/M) + M.adjustToxLoss(-2*REM, FALSE) + for(var/datum/reagent/toxin/R in M.reagents.reagent_list) + M.reagents.remove_reagent(R.type,1) + ..() + . = 1 + +/datum/reagent/medicine/antitoxin/overdose_process(mob/living/M) + M.adjustToxLoss(4*REM, FALSE) // End result is 2 toxin loss taken, because it heals 2 and then removes 4. + ..() + . = 1 + +/datum/reagent/medicine/tricordrazine + name = "Tricordrazine" + description = "Has a high chance to heal all types of damage. Overdose instead causes it." + reagent_state = LIQUID + color = "#e650c0" + overdose_threshold = 30 + taste_description = "grossness" + +/datum/reagent/medicine/tricordrazine/on_mob_life(mob/living/carbon/M) + if(prob(80)) + M.adjustBruteLoss(-1*REM, FALSE) + M.adjustFireLoss(-1*REM, FALSE) + M.adjustOxyLoss(-1*REM, FALSE) + M.adjustToxLoss(-1*REM, FALSE) + . = 1 + ..() + +/datum/reagent/medicine/tricordrazine/overdose_process(mob/living/M) + M.adjustToxLoss(2*REM, FALSE) + M.adjustOxyLoss(2*REM, FALSE) + M.adjustBruteLoss(2*REM, FALSE) + M.adjustFireLoss(2*REM, FALSE) + ..() + . = 1 + +/datum/reagent/blood/synthetics + data = list("donor"=null,"viruses"=null,"blood_DNA"="REPLICATED","blood_type"="SY","resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null,"cloneable"=null,"factions"=null) + name = "Synthetic Blood" + description = "A synthetically produced imitation of blood." + taste_description = "oil" + color = "#3700ff" + process_flags = REAGENT_ORGANIC | REAGENT_SYNTHETIC + +/datum/reagent/medicine/preservahyde + name = "Preservahyde" + description = "A powerful preservation agent, utilizing the preservative effects of formaldehyde with significantly less of the histamine." + reagent_state = LIQUID + color = "#f7685e" + metabolization_rate = REAGENTS_METABOLISM * 0.25 diff --git a/modular_skyrat/modules/OLDChem/reactions/oldchem_reactions.dm b/modular_skyrat/modules/OLDChem/reactions/oldchem_reactions.dm new file mode 100644 index 00000000000..a519b0f2409 --- /dev/null +++ b/modular_skyrat/modules/OLDChem/reactions/oldchem_reactions.dm @@ -0,0 +1,25 @@ +/datum/chemical_reaction/bicaridine + results = list(/datum/reagent/medicine/bicaridine = 3) + required_reagents = list(/datum/reagent/carbon = 1, /datum/reagent/oxygen = 1, /datum/reagent/consumable/sugar = 1) + +/datum/chemical_reaction/kelotane + results = list(/datum/reagent/medicine/kelotane = 2) + required_reagents = list(/datum/reagent/carbon = 1, /datum/reagent/silicon = 1) + +/datum/chemical_reaction/antitoxin + results = list(/datum/reagent/medicine/antitoxin = 3) + required_reagents = list(/datum/reagent/nitrogen = 1, /datum/reagent/silicon = 1, /datum/reagent/potassium = 1) + +/datum/chemical_reaction/tricordrazine + results = list(/datum/reagent/medicine/tricordrazine = 3) + required_reagents = list(/datum/reagent/medicine/bicaridine = 1, /datum/reagent/medicine/kelotane = 1, /datum/reagent/medicine/antitoxin = 1) + +/datum/chemical_reaction/synth_blood + results = list(/datum/reagent/blood/synthetics = 3) + required_reagents = list(/datum/reagent/medicine/salglu_solution = 1, /datum/reagent/iron = 1, /datum/reagent/stable_plasma = 1) + mix_message = "The mixture congeals and gives off a faint copper scent." + required_temp = 350 + +/datum/chemical_reaction/preservahyde + results = list(/datum/reagent/medicine/preservahyde = 3) + required_reagents = list(/datum/reagent/water = 1, /datum/reagent/toxin/formaldehyde = 1, /datum/reagent/bromine = 1) diff --git a/modular_skyrat/modules/OLDChem/readme.md b/modular_skyrat/modules/OLDChem/readme.md new file mode 100644 index 00000000000..3585ac8771c --- /dev/null +++ b/modular_skyrat/modules/OLDChem/readme.md @@ -0,0 +1,29 @@ +## Title: OLDChem + +MODULE ID: OLDCHEM + +### Description: + +Ports the more important OldChem chemicals to the new base, because Cobbychem is shit and nobody FUCKING likes it. + +### TG Proc Changes: + +- "Multiver" has been renamed to Charcoal and had its lung damage stripped out. +- borghydro.dm now uses old chemicals instead of the Cobbychem fuck-shit. +- rot.dm now only needs 1u Formaldehyde OR Preservahyde to preserve a body, like how it was on the old server. + +### Defines: + +- N/A + +### Master file additions + +- N/A + +### Included files that are not contained in this module: + +- N/A + +### Credits: + +ShadeAware - Porting diff --git a/tgstation.dme b/tgstation.dme index 9bd520f08ec..3338383c605 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -3592,6 +3592,8 @@ #include "modular_skyrat\modules\modular_weapons\code\modules\projectiles\guns\ballistic\rifle.dm" #include "modular_skyrat\modules\modular_weapons\code\modules\projectiles\projectile\bullets\modular_projectiles.dm" #include "modular_skyrat\modules\modular_weapons\code\modules\research\designs\autolathe_designs.dm" +#include "modular_skyrat\modules\OLDChem\medicines\oldchem_medicines.dm" +#include "modular_skyrat\modules\OLDChem\reactions\oldchem_reactions.dm" #include "modular_skyrat\modules\panicbunker\code\panicbunker.dm" #include "modular_skyrat\modules\pixel_shift\code\pixel_shift.dm" #include "modular_skyrat\modules\QOL\code\_under.dm"