diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm index 6954c645d16..405df161612 100644 --- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm +++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm @@ -259,13 +259,15 @@ /datum/chemical_reaction/slimefreeze/on_reaction(datum/reagents/holder) feedback_add_details("slime_cores_used","[type]") var/turf/T = get_turf(holder.my_atom) - T.visible_message("The slime extract begins to vibrate adorably !") - spawn(50) - if(holder && holder.my_atom) - playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, 1) - for(var/mob/living/M in range (get_turf(holder.my_atom), 7)) - M.bodytemperature -= 240 - M << "You feel a chill!" + T.visible_message("The slime extract begins to vibrate adorably!") + addtimer(src, "freeze", 50, FALSE, holder) +/datum/chemical_reaction/slimefreeze/proc/freeze(datum/reagents/holder) + if(holder && holder.my_atom) + var/turf/T = get_turf(holder.my_atom) + playsound(T, 'sound/effects/phasein.ogg', 100, 1) + for(var/mob/living/M in range(T, 7)) + M.bodytemperature -= 240 + M << "You feel a chill!" /datum/chemical_reaction/slimefireproof @@ -307,12 +309,15 @@ /datum/chemical_reaction/slimefire/on_reaction(datum/reagents/holder) feedback_add_details("slime_cores_used","[type]") var/turf/TU = get_turf(holder.my_atom) - TU.visible_message("The slime extract begins to vibrate adorably !") - spawn(50) - if(holder && holder.my_atom) - var/turf/open/T = get_turf(holder.my_atom) - if(istype(T)) - T.atmos_spawn_air("plasma=50;TEMP=1000") + TU.visible_message("The slime extract begins to vibrate adorably!") + addtimer(src, "burn", 50, FALSE, holder) + + +/datum/chemical_reaction/slimefire/proc/burn(datum/reagents/holder) + if(holder && holder.my_atom) + var/turf/open/T = get_turf(holder.my_atom) + if(istype(T)) + T.atmos_spawn_air("plasma=50;TEMP=1000") //Yellow @@ -501,9 +506,11 @@ message_admins("Slime Explosion reaction started at [T.loc.name] (JMP). Last Fingerprint: [touch_msg]") log_game("Slime Explosion reaction started at [T.loc.name] ([T.x],[T.y],[T.z]). Last Fingerprint: [lastkey ? lastkey : "N/A"].") T.visible_message("The slime extract begins to vibrate violently !") - spawn(50) - if(holder && holder.my_atom) - explosion(get_turf(holder.my_atom), 1 ,3, 6) + addtimer(src, "boom", 50, FALSE, holder) + +/datum/chemical_reaction/slimeexplosion/proc/boom(datum/reagents/holder) + if(holder && holder.my_atom) + explosion(get_turf(holder.my_atom), 1 ,3, 6) //Light Pink /datum/chemical_reaction/slimepotion2