diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index d39c52903f3..30a73ab0ad1 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -240,7 +240,7 @@ var/turf/replace_turf = get_turf(target) if(!istype(replace_turf)) return - + if(get_dist(src, target) >= (U.client.maxview() + 2)) // To prevent people from using it over cameras return @@ -258,13 +258,6 @@ if(!used) to_chat(U, "[src]'s refill light blinks red.") -/obj/item/lightreplacer/proc/janicart_insert(mob/user, obj/structure/janitorialcart/J) - J.myreplacer = src - J.put_in_cart(src, user) - -/obj/item/lightreplacer/cyborg/janicart_insert(mob/user, obj/structure/janitorialcart/J) - return - /obj/item/lightreplacer/cyborg/cyborg_recharge(coeff, emagged) for(var/I in 1 to coeff) Charge() diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index 9db76c6aaac..93ba8f6cbbd 100644 --- a/code/game/objects/items/weapons/mop.dm +++ b/code/game/objects/items/weapons/mop.dm @@ -28,19 +28,21 @@ GLOB.janitorial_equipment -= src return ..() -/obj/item/mop/proc/wet_mop(obj/o, mob/user) - if(o.reagents.total_volume < 1) - to_chat(user, "[o] is out of water!") - if(istype(o, /obj/structure/mopbucket)) - var/obj/structure/mopbucket/mopbucket = o - mopbucket.mopbucket_insert(user, o) - if(istype(o, /obj/structure/janitorialcart)) - janicart_insert(user, o) +/obj/item/mop/proc/wet_mop(obj/O, mob/user) + if(O.reagents.total_volume < 1) + to_chat(user, "[O] is empty!") + if(istype(O, /obj/structure/mopbucket)) + var/obj/structure/mopbucket/mopbucket = O + mopbucket.mopbucket_insert(user, O) + if(istype(O, /obj/structure/janitorialcart)) + var/obj/structure/janitorialcart/janicart = O + if(!janicart.mymop) + janicart.put_in_cart(user, src) return - o.reagents.trans_to(src, 6) - to_chat(user, "You wet [src] in [o].") - playsound(loc, 'sound/effects/slosh.ogg', 25, 1) + O.reagents.trans_to(src, 6) + to_chat(user, "You wet [src] in [O].") + playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE) /obj/item/mop/afterattack(atom/A, mob/user, proximity) if(!proximity) @@ -73,10 +75,6 @@ else return ..() -/obj/item/mop/proc/janicart_insert(mob/user, obj/structure/janitorialcart/J) - J.mymop = src - J.put_in_cart(src, user) - /obj/item/mop/wash(mob/user, atom/source) reagents.add_reagent("water", 5) to_chat(user, "You wet [src] in [source].") @@ -126,7 +124,4 @@ /obj/item/mop/advanced/cyborg -/obj/item/mop/advanced/cyborg/janicart_insert(mob/user, obj/structure/janitorialcart/J) - return - #undef MOP_SOUND_CD diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index a40a41c986e..7cdfc1bef79 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -96,13 +96,6 @@ /obj/item/storage/bag/trash/cyborg -/obj/item/storage/bag/trash/proc/janicart_insert(mob/user, obj/structure/janitorialcart/J) - J.mybag = src - J.put_in_cart(src, user) - -/obj/item/storage/bag/trash/cyborg/janicart_insert(mob/user, obj/structure/janitorialcart/J) - return - /obj/item/storage/bag/trash/bluespace name = "trash bag of holding" desc = "The latest and greatest in custodial convenience, a trashbag that is capable of holding vast quantities of garbage." @@ -115,9 +108,6 @@ /obj/item/storage/bag/trash/bluespace/cyborg -/obj/item/storage/bag/trash/bluespace/cyborg/janicart_insert(mob/user, obj/structure/janitorialcart/J) - return - //////////////////////////////////////// // MARK: Plastic bag //////////////////////////////////////// diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index 328b49f4730..79825ab09dd 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -946,10 +946,6 @@ trash.forceMove(storage) storage.update_icon() -/obj/item/push_broom/proc/janicart_insert(mob/user, obj/structure/janitorialcart/cart) - cart.mybroom = src - cart.put_in_cart(src, user) - /obj/item/push_broom/traitor name = "titanium push broom" desc = "This is my BROOMSTICK! All of the functionality of a normal broom, but at least half again more robust." diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index d094f279d63..be9c4a1df47 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -34,8 +34,11 @@ QDEL_NULL(myreplacer) return ..() -/obj/structure/janitorialcart/proc/put_in_cart(obj/item/I, mob/user) - user.drop_item() +/obj/structure/janitorialcart/proc/put_in_cart(mob/user, obj/item/I) + if(!user.unEquip(I)) // We can do this here because everything below wants to + to_chat(user, "[I] is stuck to your hand!") + return + I.forceMove(src) to_chat(user, "You put [I] into [src].") update_icon(UPDATE_OVERLAYS) @@ -45,52 +48,51 @@ update_icon(UPDATE_OVERLAYS) /obj/structure/janitorialcart/attackby(obj/item/I, mob/user, params) - var/fail_msg = "There is already one of those in [src]." + if(I.is_robot_module()) + to_chat(user, "You cannot interface your modules with [src]!") + return + + if(istype(I, /obj/item/mop)) + var/obj/item/mop/M = I + if(M.reagents.total_volume < M.reagents.maximum_volume) + M.wet_mop(src, user) + return + if(!mymop) + mymop = I + put_in_cart(user, I) + return + to_chat(user, "There is already one of those in [src].") + + else if(istype(I, /obj/item/push_broom) && !mybroom) + mybroom = I + put_in_cart(user, I) + + else if(istype(I, /obj/item/storage/bag/trash) && !mybag) + mybag = I + put_in_cart(user, I) + + else if(istype(I, /obj/item/reagent_containers/spray/cleaner) && !myspray) + myspray = I + put_in_cart(user, I) + + else if(istype(I, /obj/item/lightreplacer) && !myreplacer) + myreplacer = I + put_in_cart(user, I) + + else if(istype(I, /obj/item/caution)) + if(signs < max_signs) + signs++ + put_in_cart(user, I) + else + to_chat(user, "[src] can't hold any more signs.") + + to_chat(user, "There is already one of those in [src].") + + else if(mybag) + mybag.attackby(I, user, params) - if(!I.is_robot_module()) - if(istype(I, /obj/item/mop)) - var/obj/item/mop/m=I - if(m.reagents.total_volume < m.reagents.maximum_volume) - m.wet_mop(src, user) - return - if(!mymop) - m.janicart_insert(user, src) - else - to_chat(user, fail_msg) - else if(istype(I, /obj/item/push_broom)) - if(!mybroom) - var/obj/item/push_broom/B = I - B.janicart_insert(user, src) - else - to_chat(user, fail_msg) - else if(istype(I, /obj/item/storage/bag/trash)) - if(!mybag) - var/obj/item/storage/bag/trash/t=I - t.janicart_insert(user, src) - else - to_chat(user, fail_msg) - else if(istype(I, /obj/item/reagent_containers/spray/cleaner)) - if(!myspray) - myspray = I - put_in_cart(I, user) - else - to_chat(user, fail_msg) - else if(istype(I, /obj/item/lightreplacer)) - if(!myreplacer) - var/obj/item/lightreplacer/l=I - l.janicart_insert(user,src) - else - to_chat(user, fail_msg) - else if(istype(I, /obj/item/caution)) - if(signs < max_signs) - signs++ - put_in_cart(I, user) - else - to_chat(user, "[src] can't hold any more signs.") - else if(mybag) - mybag.attackby(I, user, params) else - to_chat(usr, "You cannot interface your modules with [src]!") + to_chat(user, "There is already one of those in [src].") /obj/structure/janitorialcart/crowbar_act(mob/living/user, obj/item/I) . = TRUE