diff --git a/code/modules/mob/living/simple_animal/slime/powers.dm b/code/modules/mob/living/simple_animal/slime/powers.dm index e2b541d9c53..a2da3fb63d6 100644 --- a/code/modules/mob/living/simple_animal/slime/powers.dm +++ b/code/modules/mob/living/simple_animal/slime/powers.dm @@ -182,7 +182,9 @@ var/new_powerlevel = round(powerlevel / 4) for(var/i=1,i<=4,i++) var/mob/living/simple_animal/slime/M = new /mob/living/simple_animal/slime/(loc) - if(prob(mutation_chance)) + if(mutation_chance >= 100) + M.colour = "rainbow" + else if(prob(mutation_chance)) M.colour = slime_mutation[rand(1,4)] else M.colour = colour diff --git a/code/modules/reagents/Chemistry-Recipes/Slime_extracts.dm b/code/modules/reagents/Chemistry-Recipes/Slime_extracts.dm index 996604a0822..98f34ef9f73 100644 --- a/code/modules/reagents/Chemistry-Recipes/Slime_extracts.dm +++ b/code/modules/reagents/Chemistry-Recipes/Slime_extracts.dm @@ -11,10 +11,9 @@ /datum/chemical_reaction/slimespawn/on_reaction(var/datum/reagents/holder) feedback_add_details("slime_cores_used","[replacetext(name," ","_")]") - for(var/mob/O in viewers(get_turf(holder.my_atom), null)) - O.show_message(text("Infused with plasma, the core begins to quiver and grow, and soon a new baby slime emerges from it!"), 1) var/mob/living/simple_animal/slime/S = new /mob/living/simple_animal/slime S.loc = get_turf(holder.my_atom) + S.visible_message("Infused with plasma, the core begins to quiver and grow, and soon a new baby slime emerges from it!") /datum/chemical_reaction/slimeinaprov name = "Slime epinephrine" @@ -618,3 +617,20 @@ var/obj/P = new chosen if(P) P.loc = get_turf(holder.my_atom) + +//Rainbow :o) +/datum/chemical_reaction/slimeRNG + name = "Random Core" + id = "slimerng" + result = null + required_reagents = list("plasma" = 1) + result_amount = 1 + required_other = 1 + required_container = /obj/item/slime_extract/rainbow + +/datum/chemical_reaction/slimeRNG/on_reaction(var/datum/reagents/holder) + feedback_add_details("slime_cores_used","[replacetext(name," ","_")]") + var/mob/living/simple_animal/slime/S = new /mob/living/simple_animal/slime + S.colour = pick("grey","orange", "metal", "blue", "purple", "dark purple", "dark blue", "green", "silver", "yellow", "gold", "yellow", "red", "silver", "pink", "cerulean", "sepia", "bluespace", "pyrite", "light pink", "oil", "adamantine", "black") + S.loc = get_turf(holder.my_atom) + S.visible_message("Infused with plasma, the core begins to quiver and grow, and soon a new baby slime emerges from it!") diff --git a/html/changelogs/incoming5643-rainbowslime.yml b/html/changelogs/incoming5643-rainbowslime.yml new file mode 100644 index 00000000000..da966da01d7 --- /dev/null +++ b/html/changelogs/incoming5643-rainbowslime.yml @@ -0,0 +1,9 @@ +author: Incoming5643 + + +delete-after: True + + +changes: + - rscadd: "The secrets of the rainbow slimes have finally been revealed. To attain this rare blob you must breed a slime with a 100% mutation chance!" + - rscadd: "Rainbow slime cores will generate a randomly colored slime when injected with plasma. It's a good plan B if the slimes aren't cooperating in terms of colors. You can get any color slime this way, pray to the RNG!"