[Modular] Ports over our old chemicals. (#1864)

* Get fucked, cobbychem.

* Click-Clack

* C u m .

* Update readme.md

* Update oldchem_medicines.dm

* Update oldchem_reactions.dm

* Update code/modules/reagents/reagent_containers/borghydro.dm

Co-authored-by: Gandalf <jzo123@hotmail.com>

* Fucking there

* Unga

you people have skin made of tissue paper

Co-authored-by: Gandalf <jzo123@hotmail.com>
This commit is contained in:
ShadeAware
2020-11-28 21:42:19 +00:00
committed by GitHub
co-authored by Gandalf
parent 09f19ab822
commit f02b02dfa9
7 changed files with 171 additions and 4 deletions
+1 -1
View File
@@ -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
@@ -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)
@@ -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.
@@ -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
@@ -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)
+29
View File
@@ -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
+2
View File
@@ -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"