From ceedc96509857482ee88a3c65384c2c9e18ab93a Mon Sep 17 00:00:00 2001 From: XDTM Date: Mon, 10 Oct 2016 00:22:42 +0200 Subject: [PATCH] More Slime Reactions (#20779) add: Using blood on an Oil Slime will create Corn Oil. add: Using blood on Pyrite Slimes will create a random crayon. add: Using water on Orange Slimes will create a small smoke cloud. add: Using water on Blue Slimes will spawn foam. --- .../chemistry/recipes/slime_extracts.dm | 52 ++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm index 2a2b0e9f244..b126e44344b 100644 --- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm +++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm @@ -233,6 +233,17 @@ P.loc = get_turf(holder.my_atom) +/datum/chemical_reaction/slimefoam + name = "Slime Foam" + id = "m_foam" + results = list("fluorosurfactant" = 20, "water" = 20) + required_reagents = list("water" = 5) + required_container = /obj/item/slime_extract/blue + required_other = 1 + +/datum/chemical_reaction/slimefoam/on_reaction(datum/reagents/holder) + feedback_add_details("slime_cores_used","[type]") + //Dark Blue /datum/chemical_reaction/slimefreeze @@ -298,6 +309,18 @@ if(istype(T)) T.atmos_spawn_air("plasma=50;TEMP=1000") + +/datum/chemical_reaction/slimesmoke + name = "Slime Smoke" + id = "m_smoke" + results = list("phosphorus" = 10, "potassium" = 10, "sugar" = 10) + required_reagents = list("water" = 5) + required_container = /obj/item/slime_extract/orange + required_other = 1 + +/datum/chemical_reaction/slimesmoke/on_reaction(datum/reagents/holder) + feedback_add_details("slime_cores_used","[type]") + //Yellow /datum/chemical_reaction/slimeoverload @@ -480,6 +503,18 @@ if(holder && holder.my_atom) explosion(get_turf(holder.my_atom), 1 ,3, 6) + +/datum/chemical_reaction/slimecornoil + name = "Slime Corn Oil" + id = "m_cornoil" + results = list("cornoil" = 10) + required_reagents = list("blood" = 1) + required_container = /obj/item/slime_extract/oil + required_other = 1 + +/datum/chemical_reaction/slimecornoil/on_reaction(datum/reagents/holder) + feedback_add_details("slime_cores_used","[type]") + //Light Pink /datum/chemical_reaction/slimepotion2 name = "Slime Potion 2" @@ -549,7 +584,6 @@ P.loc = get_turf(holder.my_atom) - /datum/chemical_reaction/slime_territory name = "Slime Territory" id = "s_territory" @@ -625,6 +659,22 @@ if(P) P.loc = get_turf(holder.my_atom) + +/datum/chemical_reaction/slimecrayon + name = "Slime Crayon" + id = "s_crayon" + required_reagents = list("blood" = 1) + required_container = /obj/item/slime_extract/pyrite + required_other = 1 + +/datum/chemical_reaction/slimecrayon/on_reaction(datum/reagents/holder) + feedback_add_details("slime_cores_used","[type]") + var/list/crayons = difflist(subtypesof(/obj/item/toy/crayon),typesof(/obj/item/toy/crayon/spraycan)) + var/chosen = pick(crayons) + var/obj/P = new chosen + if(P) + P.loc = get_turf(holder.my_atom) + //Rainbow :o) /datum/chemical_reaction/slimeRNG name = "Random Core"