/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.0 throwforce = 10.0 throw_speed = 5 throw_range = 10 w_class = 3.0 flags = FPRINT | TABLEPASS attack_verb = list("mopped", "bashed", "bludgeoned", "whacked") var/mopping = 0 var/mopcount = 0 /obj/item/weapon/mop/New() create_reagents(5) /turf/proc/clean(atom/source) if(source.reagents.has_reagent("water", 1)) clean_blood() if(istype(src, /turf/simulated)) var/turf/simulated/T = src T.dirt = 0 for(var/obj/effect/O in src) if(istype(O,/obj/effect/rune) || istype(O,/obj/effect/decal/cleanable) || istype(O,/obj/effect/overlay)) del(O) source.reagents.reaction(src, TOUCH, 10) //10 is the multiplier for the reaction effect. probably needed to wet the floor properly. source.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(istype(A, /turf) || istype(A, /obj/effect/decal/cleanable) || istype(A, /obj/effect/overlay) || istype(A, /obj/effect/rune)) if(reagents.total_volume < 1) user << "Your mop is dry!" return user.visible_message("[user] begins to clean \the [get_turf(A)].") if(do_after(user, 40)) var/turf/T = get_turf(A) if(T) T.clean(src) user << "You have finished mopping!" /obj/effect/attackby(obj/item/I, mob/user) if(istype(I, /obj/item/weapon/mop) || istype(I, /obj/item/weapon/soap)) return ..()