diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index 1274395757d..9db76c6aaac 100644 --- a/code/game/objects/items/weapons/mop.dm +++ b/code/game/objects/items/weapons/mop.dm @@ -32,7 +32,8 @@ if(o.reagents.total_volume < 1) to_chat(user, "[o] is out of water!") if(istype(o, /obj/structure/mopbucket)) - mopbucket_insert(user, o) + var/obj/structure/mopbucket/mopbucket = o + mopbucket.mopbucket_insert(user, o) if(istype(o, /obj/structure/janitorialcart)) janicart_insert(user, o) return @@ -128,7 +129,4 @@ /obj/item/mop/advanced/cyborg/janicart_insert(mob/user, obj/structure/janitorialcart/J) return -/obj/item/mop/advanced/cyborg/mopbucket_insert(mob/user, obj/structure/mopbucket/J) - return - #undef MOP_SOUND_CD diff --git a/code/game/objects/structures/mop_bucket.dm b/code/game/objects/structures/mop_bucket.dm index 1a5d501f77a..eae1f937574 100644 --- a/code/game/objects/structures/mop_bucket.dm +++ b/code/game/objects/structures/mop_bucket.dm @@ -23,32 +23,34 @@ GLOB.janitorial_equipment -= src return ..() -/obj/structure/mopbucket/attackby(obj/item/W as obj, mob/user as mob, params) +/obj/structure/mopbucket/attackby(obj/item/W, mob/user, params) if(W.is_robot_module()) to_chat(user, "You cannot interface your modules with [src]!") return - if(istype(W, /obj/item/mop)) - var/obj/item/mop/M = W - if(M.reagents.total_volume < M.reagents.maximum_volume) - M.wet_mop(src, user) - return - if(!stored_mop) - M.mopbucket_insert(user, src) - return - to_chat(user, "Theres already a mop in the mopbucket.") - return -/obj/structure/mopbucket/proc/put_in_cart(obj/item/mop/I, mob/user) - user.drop_item() + if(istype(W, /obj/item/mop)) + var/obj/item/mop/attacking_mop = W + if(attacking_mop.reagents.total_volume < attacking_mop.reagents.maximum_volume) + attacking_mop.wet_mop(src, user) + return + + if(!user.unEquip(attacking_mop)) + to_chat(user, "[attacking_mop] is stuck to your hand!") + return + + if(!stored_mop) + mopbucket_insert(user, attacking_mop) + return + + to_chat(user, "There is already a mop in the mopbucket.") + +/obj/structure/mopbucket/proc/mopbucket_insert(mob/user, obj/item/mop/I) + stored_mop = I I.forceMove(src) to_chat(user, "You put [I] into [src].") update_icon(UPDATE_OVERLAYS) return -/obj/item/mop/proc/mopbucket_insert(mob/user, obj/structure/mopbucket/J) - J.stored_mop = src - J.put_in_cart(src, user) - /obj/structure/mopbucket/on_reagent_change() update_icon(UPDATE_OVERLAYS)