diff --git a/code/modules/reagents/newchem/disease.dm b/code/modules/reagents/newchem/disease.dm index d89d61e3454..f8ca07a302d 100644 --- a/code/modules/reagents/newchem/disease.dm +++ b/code/modules/reagents/newchem/disease.dm @@ -5,10 +5,189 @@ reagent_state = SOLID color = "#FFFFFF" -/datum/reagent/spider_eggs/on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom +/datum/reagent/spider_eggs/on_mob_life(mob/living/M) if(volume > 2.5) if(iscarbon(M)) if(!M.get_int_organ(/obj/item/organ/internal/body_egg)) new/obj/item/organ/internal/body_egg/spider_eggs(M) //Yes, even Xenos can fall victim to the plague that is spider infestation. - ..() \ No newline at end of file + ..() + + +//virus food +/datum/reagent/virus_food + name = "Virus Food" + id = "virusfood" + description = "A mixture of water, milk, and oxygen. Virus cells can use this mixture to reproduce." + reagent_state = LIQUID + nutriment_factor = 2 * REAGENTS_METABOLISM + color = "#899613" // rgb: 137, 150, 19 + +/datum/reagent/virus_food/on_mob_life(mob/living/M) + M.nutrition += nutriment_factor * REAGENTS_EFFECT_MULTIPLIER + ..() + +/datum/reagent/mutagen/mutagenvirusfood + name = "mutagenic agar" + id = "mutagenvirusfood" + description = "mutates blood" + color = "#A3C00F" // rgb: 163,192,15 + +/datum/reagent/mutagen/mutagenvirusfood/sugar + name = "sucrose agar" + id = "sugarvirusfood" + color = "#41B0C0" // rgb: 65,176,192 + +/datum/reagent/synaptizine/synaptizinevirusfood + name = "virus rations" + id = "synaptizinevirusfood" + description = "mutates blood" + color = "#D18AA5" // rgb: 209,138,165 + +/datum/reagent/plasma/plasmavirusfood + name = "virus plasma" + id = "plasmavirusfood" + description = "mutates blood" + color = "#A69DA9" // rgb: 166,157,169 + +/datum/reagent/plasma/plasmavirusfood/weak + name = "weakened virus plasma" + id = "weakplasmavirusfood" + color = "#CEC3C6" // rgb: 206,195,198 + +//reactions +/datum/chemical_reaction/virus_food + name = "Virus Food" + id = "virusfood" + result = "virusfood" + required_reagents = list("water" = 1, "milk" = 1, "oxygen" = 1) + result_amount = 3 + +/datum/chemical_reaction/virus_food_mutagen + name = "mutagenic agar" + id = "mutagenvirusfood" + result = "mutagenvirusfood" + required_reagents = list("mutagen" = 1, "virusfood" = 1) + result_amount = 1 + +/datum/chemical_reaction/virus_food_synaptizine + name = "virus rations" + id = "synaptizinevirusfood" + result = "synaptizinevirusfood" + required_reagents = list("synaptizine" = 1, "virusfood" = 1) + result_amount = 1 + +/datum/chemical_reaction/virus_food_plasma + name = "virus plasma" + id = "plasmavirusfood" + result = "plasmavirusfood" + required_reagents = list("plasma" = 1, "virusfood" = 1) + result_amount = 1 + +/datum/chemical_reaction/virus_food_plasma_synaptizine + name = "weakened virus plasma" + id = "weakplasmavirusfood" + result = "weakplasmavirusfood" + required_reagents = list("synaptizine" = 1, "plasmavirusfood" = 1) + result_amount = 2 + +/datum/chemical_reaction/virus_food_mutagen_sugar + name = "sucrose agar" + id = "sugarvirusfood" + result = "sugarvirusfood" + required_reagents = list("sugar" = 1, "mutagenvirusfood" = 1) + result_amount = 2 + +/datum/chemical_reaction/virus_food_mutagen_salineglucose + name = "sucrose agar" + id = "salineglucosevirusfood" + result = "sugarvirusfood" + required_reagents = list("salglu_solution" = 1, "mutagenvirusfood" = 1) + result_amount = 2 + + +//mix virus +/datum/chemical_reaction/mix_virus + name = "Mix Virus" + id = "mixvirus" + result = "blood" + required_reagents = list("virusfood" = 1) + required_catalysts = list("blood" = 1) + var/level_min = 0 + var/level_max = 2 + +/datum/chemical_reaction/mix_virus/on_reaction(datum/reagents/holder, created_volume) + var/datum/reagent/blood/B = locate(/datum/reagent/blood) in holder.reagent_list + if(B && B.data) + var/datum/disease/advance/D = locate(/datum/disease/advance) in B.data["viruses"] + if(D) + D.Evolve(level_min, level_max) + + +/datum/chemical_reaction/mix_virus/mix_virus_2 + name = "Mix Virus 2" + id = "mixvirus2" + required_reagents = list("mutagen" = 1) + level_min = 2 + level_max = 4 + +/datum/chemical_reaction/mix_virus/mix_virus_3 + name = "Mix Virus 3" + id = "mixvirus3" + required_reagents = list("plasma" = 1) + level_min = 4 + level_max = 6 + +/datum/chemical_reaction/mix_virus/mix_virus_4 + name = "Mix Virus 4" + id = "mixvirus4" + required_reagents = list("uranium" = 1) + level_min = 5 + level_max = 6 + +/datum/chemical_reaction/mix_virus/mix_virus_5 + name = "Mix Virus 5" + id = "mixvirus5" + required_reagents = list("mutagenvirusfood" = 1) + level_min = 3 + level_max = 3 + +/datum/chemical_reaction/mix_virus/mix_virus_6 + name = "Mix Virus 6" + id = "mixvirus6" + required_reagents = list("sugarvirusfood" = 1) + level_min = 4 + level_max = 4 + +/datum/chemical_reaction/mix_virus/mix_virus_7 + name = "Mix Virus 7" + id = "mixvirus7" + required_reagents = list("weakplasmavirusfood" = 1) + level_min = 5 + level_max = 5 + +/datum/chemical_reaction/mix_virus/mix_virus_8 + name = "Mix Virus 8" + id = "mixvirus8" + required_reagents = list("plasmavirusfood" = 1) + level_min = 6 + level_max = 6 + +/datum/chemical_reaction/mix_virus/mix_virus_9 + name = "Mix Virus 9" + id = "mixvirus9" + required_reagents = list("synaptizinevirusfood" = 1) + level_min = 1 + level_max = 1 + +/datum/chemical_reaction/mix_virus/rem_virus + name = "Devolve Virus" + id = "remvirus" + required_reagents = list("synaptizine" = 1) + required_catalysts = list("blood" = 1) + +/datum/chemical_reaction/mix_virus/rem_virus/on_reaction(datum/reagents/holder, created_volume) + var/datum/reagent/blood/B = locate(/datum/reagent/blood) in holder.reagent_list + if(B && B.data) + var/datum/disease/advance/D = locate(/datum/disease/advance) in B.data["viruses"] + if(D) + D.Devolve() \ No newline at end of file diff --git a/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_med.dm b/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_med.dm index 0fd4ad4d141..0550813849c 100644 --- a/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_med.dm +++ b/code/modules/reagents/oldchem/chemical_reaction/chemical_reaction_med.dm @@ -1,20 +1,18 @@ -/datum/chemical_reaction/ - - hydrocodone +/datum/chemical_reaction/hydrocodone name = "Hydrocodone" id = "hydrocodone" result = "hydrocodone" required_reagents = list("morphine" = 1, "sacid" = 1, "water" = 1, "oil" = 1) result_amount = 2 - mitocholide +/datum/chemical_reaction/mitocholide name = "mitocholide" id = "mitocholide" result = "mitocholide" required_reagents = list("synthflesh" = 1, "cryoxadone" = 1, "plasma" = 1) result_amount = 3 - cryoxadone +/datum/chemical_reaction/cryoxadone name = "Cryoxadone" id = "cryoxadone" result = "cryoxadone" @@ -23,7 +21,7 @@ mix_message = "The solution bubbles softly." mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' - spaceacillin +/datum/chemical_reaction/spaceacillin name = "Spaceacillin" id = "spaceacillin" result = "spaceacillin" @@ -31,122 +29,16 @@ result_amount = 2 mix_message = "The solvent extracts an antibiotic compound from the fungus." - rezadone +/datum/chemical_reaction/rezadone name = "Rezadone" id = "rezadone" result = "rezadone" required_reagents = list("carpotoxin" = 1, "spaceacillin" = 1, "copper" = 1) result_amount = 3 - virus_food - name = "Virus Food" - id = "virusfood" - result = "virusfood" - required_reagents = list("water" = 1, "milk" = 1, "oxygen" = 1) - result_amount = 3 - - sterilizine +/datum/chemical_reaction/sterilizine name = "Sterilizine" id = "sterilizine" result = "sterilizine" required_reagents = list("antihol" = 2, "chlorine" = 1) result_amount = 3 - - -//Viruses -/datum/chemical_reaction/mix_virus - name = "Mix Virus" - id = "mixvirus" - result = "blood" - required_reagents = list("virusfood" = 1) - required_catalysts = list("blood" = 1) - var/level_min = 0 - var/level_max = 2 - -/datum/chemical_reaction/mix_virus/on_reaction(datum/reagents/holder, created_volume) - - var/datum/reagent/blood/B = locate(/datum/reagent/blood) in holder.reagent_list - if(B && B.data) - var/datum/disease/advance/D = locate(/datum/disease/advance) in B.data["viruses"] - if(D) - D.Evolve(level_min, level_max) - - -/datum/chemical_reaction/mix_virus/mix_virus_2 - - name = "Mix Virus 2" - id = "mixvirus2" - required_reagents = list("mutagen" = 1) - level_min = 2 - level_max = 4 - -/datum/chemical_reaction/mix_virus/mix_virus_3 - - name = "Mix Virus 3" - id = "mixvirus3" - required_reagents = list("plasma" = 1) - level_min = 4 - level_max = 6 - -/datum/chemical_reaction/mix_virus/mix_virus_4 - - name = "Mix Virus 4" - id = "mixvirus4" - required_reagents = list("uranium" = 1) - level_min = 5 - level_max = 6 - -/datum/chemical_reaction/mix_virus/mix_virus_5 - - name = "Mix Virus 5" - id = "mixvirus5" - required_reagents = list("mutagenvirusfood" = 1) - level_min = 3 - level_max = 3 - -/datum/chemical_reaction/mix_virus/mix_virus_6 - - name = "Mix Virus 6" - id = "mixvirus6" - required_reagents = list("sugarvirusfood" = 1) - level_min = 4 - level_max = 4 - -/datum/chemical_reaction/mix_virus/mix_virus_7 - - name = "Mix Virus 7" - id = "mixvirus7" - required_reagents = list("weakplasmavirusfood" = 1) - level_min = 5 - level_max = 5 - -/datum/chemical_reaction/mix_virus/mix_virus_8 - - name = "Mix Virus 8" - id = "mixvirus8" - required_reagents = list("plasmavirusfood" = 1) - level_min = 6 - level_max = 6 - -/datum/chemical_reaction/mix_virus/mix_virus_9 - - name = "Mix Virus 9" - id = "mixvirus9" - required_reagents = list("synaptizinevirusfood" = 1) - level_min = 1 - level_max = 1 - -/datum/chemical_reaction/mix_virus/rem_virus - - name = "Devolve Virus" - id = "remvirus" - required_reagents = list("synaptizine" = 1) - required_catalysts = list("blood" = 1) - -/datum/chemical_reaction/mix_virus/rem_virus/on_reaction(datum/reagents/holder, created_volume) - - var/datum/reagent/blood/B = locate(/datum/reagent/blood) in holder.reagent_list - if(B && B.data) - var/datum/disease/advance/D = locate(/datum/disease/advance) in B.data["viruses"] - if(D) - D.Devolve() \ No newline at end of file diff --git a/code/modules/reagents/oldchem/reagents/reagents_med.dm b/code/modules/reagents/oldchem/reagents/reagents_med.dm index bd86a3da18a..64e3b00936d 100644 --- a/code/modules/reagents/oldchem/reagents/reagents_med.dm +++ b/code/modules/reagents/oldchem/reagents/reagents_med.dm @@ -16,20 +16,6 @@ ..() return -/datum/reagent/virus_food - name = "Virus Food" - id = "virusfood" - description = "A mixture of water, milk, and oxygen. Virus cells can use this mixture to reproduce." - reagent_state = LIQUID - nutriment_factor = 2 * REAGENTS_METABOLISM - color = "#899613" // rgb: 137, 150, 19 - -/datum/reagent/virus_food/on_mob_life(var/mob/living/M as mob) - if(!M) M = holder.my_atom - M.nutrition += nutriment_factor*REM - ..() - return - /datum/reagent/sterilizine name = "Sterilizine" id = "sterilizine"