<commit_before>/obj/item/weapon/mop
	desc = "The world of janitalia wouldn't be complete without a mop."
	name = "mop"
	icon = 'icons/obj/janitor.dmi'
	icon_state = "mop"
	force = 3
	throwforce = 5
	throw_speed = 3
	throw_range = 7
	w_class = WEIGHT_CLASS_NORMAL
	attack_verb = list("mopped", "bashed", "bludgeoned", "whacked")
	resistance_flags = FLAMMABLE
	var/mopping = 0
	var/mopcount = 0
	var/mopcap = 5
	var/mopspeed = 30

/obj/item/weapon/mop/New()
	..()
	create_reagents(mopcap)


/obj/item/weapon/mop/proc/clean(turf/A)
	if(reagents.has_reagent("water", 1) || reagents.has_reagent("holywater", 1) || reagents.has_reagent("vodka", 1) || reagents.has_reagent("cleaner", 1))
		A.clean_blood()
		for(var/obj/effect/O in A)
			if(is_cleanable(O))
				qdel(O)
		if(isclosedturf(A))
			var/turf/closed/C = A
			C.thermite = 0
	reagents.reaction(A, TOUCH, 10)	//Needed for proper floor wetting.
	reagents.remove_any(1)			//reaction() doesn't use up the reagents


/obj/item/weapon/mop/afterattack(atom/A, mob/user, proximity)
	if(!proximity) return

	if(reagents.total_volume < 1)
		user << "<span class='warning'>Your mop is dry!</span>"
		return

	var/turf/T = get_turf(A)

	if(istype(A, /obj/item/weapon/reagent_containers/glass/bucket))
		return

	if(T)
		user.visible_message("[user] begins to clean \the [T] with [src].", "<span class='notice'>You begin to clean \the [T] with [src]...</span>")

		if(do_after(user, src.mopspeed, target = T))
			user << "<span class='notice'>You finish mopping.</span>"
			clean(T)
<commit_msg>When wetting mop from janitorial cart mop will no longer try and mop the floor under the janitorial cart. (#23345)<commit_after>/obj/item/weapon/mop
	desc = "The world of janitalia wouldn't be complete without a mop."
	name = "mop"
	icon = 'icons/obj/janitor.dmi'
	icon_state = "mop"
	force = 3
	throwforce = 5
	throw_speed = 3
	throw_range = 7
	w_class = WEIGHT_CLASS_NORMAL
	attack_verb = list("mopped", "bashed", "bludgeoned", "whacked")
	resistance_flags = FLAMMABLE
	var/mopping = 0
	var/mopcount = 0
	var/mopcap = 5
	var/mopspeed = 30

/obj/item/weapon/mop/New()
	..()
	create_reagents(mopcap)


/obj/item/weapon/mop/proc/clean(turf/A)
	if(reagents.has_reagent("water", 1) || reagents.has_reagent("holywater", 1) || reagents.has_reagent("vodka", 1) || reagents.has_reagent("cleaner", 1))
		A.clean_blood()
		for(var/obj/effect/O in A)
			if(is_cleanable(O))
				qdel(O)
		if(isclosedturf(A))
			var/turf/closed/C = A
			C.thermite = 0
	reagents.reaction(A, TOUCH, 10)	//Needed for proper floor wetting.
	reagents.remove_any(1)			//reaction() doesn't use up the reagents


/obj/item/weapon/mop/afterattack(atom/A, mob/user, proximity)
	if(!proximity) return

	if(reagents.total_volume < 1)
		user << "<span class='warning'>Your mop is dry!</span>"
		return

	var/turf/T = get_turf(A)

	if(istype(A, /obj/item/weapon/reagent_containers/glass/bucket | /obj/structure/janitorialcart))
		return

	if(T)
		user.visible_message("[user] begins to clean \the [T] with [src].", "<span class='notice'>You begin to clean \the [T] with [src]...</span>")

		if(do_after(user, src.mopspeed, target = T))
			user << "<span class='notice'>You finish mopping.</span>"
			clean(T)

{'fraction_non_alphanumeric': 0.15860131127068372, 'fraction_numerical': 0.012800499531689042, 'mean_word_length': 4.15112540192926, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 15, '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': '1067189', 'n_tokens_mistral': 1428, 'n_tokens_neox': 1280, 'n_words': 274}