<commit_before>// These can only be applied by blobs. They are what blobs are made out of.
// The 4 damage
datum/reagent/blob/boiling_oil
	name = "Boiling Oil"
	id = "boiling_oil"
	description = ""
	color = "#B68D00"

datum/reagent/blob/boiling_oil/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume)
	if(method == TOUCH)
		M.apply_damage(15, BURN)
		M.adjust_fire_stacks(2)
		M.IgniteMob()
		M << "<span class = 'userdanger'>The blob splashes you with burning oil!</span>"
		M.emote("scream")

datum/reagent/blob/toxic_goop
	name = "Toxic Goop"
	id = "toxic_goop"
	description = ""
	color = "#008000"

datum/reagent/blob/toxic_goop/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume)
	if(method == TOUCH)
		M.apply_damage(20, TOX)
		M << "<span class = 'userdanger'>The blob strikes you, and you feel sick and nauseated!</span>"

datum/reagent/blob/skin_ripper
	name = "Skin Ripper"
	id = "skin_ripper"
	description = ""
	color = "#FF4C4C"

datum/reagent/blob/skin_ripper/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume)
	if(method == TOUCH)
		M.apply_damage(20, BRUTE)
		M << "<span class = 'userdanger'>The blob strikes you, and you feel your skin ripping and tearing off!</span>"
		M.emote("scream")

// Combo Reagents

datum/reagent/blob/skin_melter
	name = "Skin Melter"
	id = "skin_melter"
	description = ""
	color = "#7F0000"

datum/reagent/blob/skin_melter/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume)
	if(method == TOUCH)
		M.apply_damage(10, BRUTE)
		M.apply_damage(10, BURN)
		M.adjust_fire_stacks(2)
		M.IgniteMob()
		M << "<span class = 'userdanger'>The blob strikes you, and you feel your skin char and melt!</span>"
		M.emote("scream")

datum/reagent/blob/lung_destroying_toxin
	name = "Lung Destroying Toxin"
	id = "lung_destroying_toxin"
	description = ""
	color = "#00FFC5"

datum/reagent/blob/lung_destroying_toxin/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume)
	if(method == TOUCH)
		M.apply_damage(20, OXY)
		M.apply_damage(20, TOX)
		M << "<span class = 'userdanger'>The blob strikes you, and your lungs feel heavy and weak!</span>"
// Special Reagents

datum/reagent/blob/acid
	name = "Acidic Liquid"
	id = "blob_acid"
	description = ""
	color = "#BD80F4"

datum/reagent/blob/acid/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume)
	if(method == TOUCH)
		M.acid_act(20,1,10)
		M.apply_damage(10, BRUTE)
		M << "<span class = 'userdanger'>The blob's tendrils melt though your equipment!</span>"

datum/reagent/blob/radioactive_liquid
	name = "Radioactive Liquid"
	id = "radioactive_liquid"
	description = ""
	color = "#00EE00"

datum/reagent/blob/radioactive_liquid/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume)
	if(method == TOUCH)
		if(istype(M, /mob/living/carbon/human))
			M.apply_damage(10, BRUTE)
			M.apply_effect(10,IRRADIATE,0)
			if(prob(33))
				randmuti(M)
				if(prob(98))
					randmutb(M)
				else
					randmutg(M)
				domutcheck(M, null)
				updateappearance(M)
			M << "<span class = 'userdanger'>The blob strikes you, and your skin feels papery and everything hurts!</span>"

datum/reagent/blob/dark_matter
	name = "Dark Matter"
	id = "dark_matter"
	description = ""
	color = "#61407E"

datum/reagent/blob/dark_matter/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume)
	if(method == TOUCH)
		M.apply_damage(15, BRUTE)
		var/turf/pull = get_turf(M)
		for(var/atom/movable/X in orange(4,pull))
			if(istype(X, /atom/movable))
				if((X) && (!istype(X,/mob/living/carbon/human)))
					X.throw_at(pull)
				else if(istype(X,/mob/living/carbon/human))
					var/mob/living/carbon/human/H = X
					if(istype(H.shoes,/obj/item/clothing/shoes/magboots))
						var/obj/item/clothing/shoes/magboots/S = H.shoes
						if(S.magpulse)
							continue
					X.throw_at(pull)
		M << "<span class = 'userdanger'>You feel a thrum as the blob strikes you, and everything flies at you!</span>"

datum/reagent/blob/b_sorium
	name = "Sorium"
	id = "b_sorium"
	description = ""
	color = "#808000"

datum/reagent/blob/b_sorium/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume)
	if(method == TOUCH)
		M.apply_damage(15, BRUTE)
		var/turf/pull = get_turf(M)
		for(var/atom/movable/X in orange(4,pull))
			if(istype(X, /atom/movable))
				if((X) && (!istype(X,/mob/living/carbon/human)))
					step_away(X,pull)
					step_away(X,pull)
					step_away(X,pull)
					step_away(X,pull)
				else if(istype(X,/mob/living/carbon/human))
					var/mob/living/carbon/human/H = X
					if(istype(H.shoes,/obj/item/clothing/shoes/magboots))
						var/obj/item/clothing/shoes/magboots/S = H.shoes
						if(S.magpulse)
							continue
					step_away(X,pull)
					step_away(X,pull)
					step_away(X,pull)
					step_away(X,pull)


datum/reagent/blob/explosive // I'm gonna burn in hell for this one
	name = "<NAME>"
	id = "explosive"
	description = ""
	color = "#FFA500"

datum/reagent/blob/explosive/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume)
	if(method == TOUCH)
		if(prob(75))
			M << "<span class = 'userdanger'>The blob strikes you, and its tendrils explode!</span>"
			explosion(M.loc, 0, 0, 1, 0, 0)
<commit_msg>Fixes copypasta.<commit_after>// These can only be applied by blobs. They are what blobs are made out of.
// The 4 damage
datum/reagent/blob/boiling_oil
	name = "Boiling Oil"
	id = "boiling_oil"
	description = ""
	color = "#B68D00"

datum/reagent/blob/boiling_oil/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume)
	if(method == TOUCH)
		M.apply_damage(15, BURN)
		M.adjust_fire_stacks(2)
		M.IgniteMob()
		M << "<span class = 'userdanger'>The blob splashes you with burning oil!</span>"
		M.emote("scream")

datum/reagent/blob/toxic_goop
	name = "Toxic Goop"
	id = "toxic_goop"
	description = ""
	color = "#008000"

datum/reagent/blob/toxic_goop/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume)
	if(method == TOUCH)
		M.apply_damage(20, TOX)
		M << "<span class = 'userdanger'>The blob strikes you, and you feel sick and nauseated!</span>"

datum/reagent/blob/skin_ripper
	name = "Skin Ripper"
	id = "skin_ripper"
	description = ""
	color = "#FF4C4C"

datum/reagent/blob/skin_ripper/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume)
	if(method == TOUCH)
		M.apply_damage(20, BRUTE)
		M << "<span class = 'userdanger'>The blob strikes you, and you feel your skin ripping and tearing off!</span>"
		M.emote("scream")

// Combo Reagents

datum/reagent/blob/skin_melter
	name = "Skin Melter"
	id = "skin_melter"
	description = ""
	color = "#7F0000"

datum/reagent/blob/skin_melter/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume)
	if(method == TOUCH)
		M.apply_damage(10, BRUTE)
		M.apply_damage(10, BURN)
		M.adjust_fire_stacks(2)
		M.IgniteMob()
		M << "<span class = 'userdanger'>The blob strikes you, and you feel your skin char and melt!</span>"
		M.emote("scream")

datum/reagent/blob/lung_destroying_toxin
	name = "Lung Destroying Toxin"
	id = "lung_destroying_toxin"
	description = ""
	color = "#00FFC5"

datum/reagent/blob/lung_destroying_toxin/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume)
	if(method == TOUCH)
		M.apply_damage(20, OXY)
		M.apply_damage(20, TOX)
		M << "<span class = 'userdanger'>The blob strikes you, and your lungs feel heavy and weak!</span>"
// Special Reagents

datum/reagent/blob/acid
	name = "Acidic Liquid"
	id = "blob_acid"
	description = ""
	color = "#BD80F4"

datum/reagent/blob/acid/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume)
	if(method == TOUCH)
		M.acid_act(20,1,10)
		M.apply_damage(10, BRUTE)
		M << "<span class = 'userdanger'>The blob's tendrils melt though your equipment!</span>"

datum/reagent/blob/radioactive_liquid
	name = "Radioactive Liquid"
	id = "radioactive_liquid"
	description = ""
	color = "#00EE00"

datum/reagent/blob/radioactive_liquid/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume)
	if(method == TOUCH)
		if(istype(M, /mob/living/carbon/human))
			M.apply_damage(10, BRUTE)
			M.apply_effect(10,IRRADIATE,0)
			if(prob(33))
				randmuti(M)
				if(prob(98))
					randmutb(M)
				else
					randmutg(M)
				domutcheck(M, null)
				updateappearance(M)
			M << "<span class = 'userdanger'>The blob strikes you, and your skin feels papery and everything hurts!</span>"

datum/reagent/blob/dark_matter
	name = "Dark Matter"
	id = "dark_matter"
	description = ""
	color = "#61407E"

datum/reagent/blob/dark_matter/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume)
	if(method == TOUCH)
		M.apply_damage(15, BRUTE)
		reagent_vortex(M, 0)
		M << "<span class = 'userdanger'>You feel a thrum as the blob strikes you, and everything flies at you!</span>"

datum/reagent/blob/b_sorium
	name = "Sorium"
	id = "b_sorium"
	description = ""
	color = "#808000"

datum/reagent/blob/b_sorium/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume)
	if(method == TOUCH)
		M.apply_damage(15, BRUTE)
		M << "<span class = 'userdanger'>The blob slams into you, and sends you flying!</span>"
		reagent_vortex(M, 1)


datum/reagent/blob/explosive // I'm gonna burn in hell for this one
	name = "<NAME>"
	id = "explosive"
	description = ""
	color = "#FFA500"

datum/reagent/blob/explosive/reaction_mob(var/mob/living/M as mob, var/method=TOUCH, var/volume)
	if(method == TOUCH)
		if(prob(75))
			M << "<span class = 'userdanger'>The blob strikes you, and its tendrils explode!</span>"
			explosion(M.loc, 0, 0, 1, 0, 0)

/proc/reagent_vortex(var/mob/living/M as mob, var/setting_type)
	var/turf/pull = get_turf(M)
	for(var/atom/movable/X in orange(4,pull))
		if(istype(X, /atom/movable))
			if((X))
				if(setting_type)
					step_away(X,pull)
					step_away(X,pull)
					step_away(X,pull)
					step_away(X,pull)
				else
					X.throw_at(pull)
{'fraction_non_alphanumeric': 0.14767076017456612, 'fraction_numerical': 0.017761087993504517, 'mean_word_length': 4.116303219106958, 'pattern_counts': {'":': 0, '<': 81, '<?xml version=': 0, '>': 43, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6611320', 'n_tokens_mistral': 4482, 'n_tokens_neox': 3954, 'n_words': 804}