diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm
index 68e1826719..7b2d730daf 100644
--- a/code/game/objects/items/crayons.dm
+++ b/code/game/objects/items/crayons.dm
@@ -144,10 +144,11 @@
ui.open()
/obj/item/toy/crayon/spraycan/AltClick(mob/user)
- if(has_cap)
- is_capped = !is_capped
- to_chat(user, "The cap on [src] is now [is_capped ? "on" : "off"].")
- update_icon()
+ if(user.canUseTopic(src, be_close=TRUE))
+ if(has_cap)
+ is_capped = !is_capped
+ to_chat(user, "The cap on [src] is now [is_capped ? "on" : "off"].")
+ update_icon()
/obj/item/toy/crayon/ui_data()
var/list/data = list()
diff --git a/code/game/objects/items/storage/lockbox.dm b/code/game/objects/items/storage/lockbox.dm
index 50898e72e1..195d5b25f5 100644
--- a/code/game/objects/items/storage/lockbox.dm
+++ b/code/game/objects/items/storage/lockbox.dm
@@ -128,11 +128,12 @@
if(!locked)
to_chat(user, "Alt-click to [open ? "close":"open"] it.")
-/obj/item/storage/lockbox/medal/AltClick()
- if(!locked)
- open = (open ? FALSE : TRUE)
- update_icon()
- ..()
+/obj/item/storage/lockbox/medal/AltClick(mob/user)
+ if(user.canUseTopic(src, be_close=TRUE))
+ if(!locked)
+ open = (open ? FALSE : TRUE)
+ update_icon()
+ ..()
/obj/item/storage/lockbox/medal/PopulateContents()
new /obj/item/clothing/accessory/medal/gold/captain(src)
diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm
index 048184578a..2a986cc718 100644
--- a/code/game/objects/items/twohanded.dm
+++ b/code/game/objects/items/twohanded.dm
@@ -457,15 +457,15 @@
explosive.prime()
qdel(src)
-/obj/item/twohanded/spear/AltClick()
- ..()
- if(!explosive)
- return
- if(ismob(loc))
- var/mob/M = loc
- var/input = stripped_input(M,"What do you want your war cry to be? You will shout it when you hit someone in melee.", ,"", 50)
- if(input)
- src.war_cry = input
+/obj/item/twohanded/spear/AltClick(mob/user)
+ if(user.canUseTopic(src, be_close=TRUE))
+ ..()
+ if(!explosive)
+ return
+ if(istype(user) && loc == user)
+ var/input = stripped_input(user,"What do you want your war cry to be? You will shout it when you hit someone in melee.", ,"", 50)
+ if(input)
+ src.war_cry = input
/obj/item/twohanded/spear/CheckParts(list/parts_list)
var/obj/item/twohanded/spear/S = locate() in parts_list
diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm
index bbc0ada952..d540b5b963 100644
--- a/code/modules/clothing/head/jobs.dm
+++ b/code/modules/clothing/head/jobs.dm
@@ -86,17 +86,17 @@
..()
to_chat(user, "Alt-click to take a candy corn.")
-/obj/item/clothing/head/fedora/det_hat/AltClick()
- ..()
- if(ismob(loc))
- var/mob/M = loc
- if(candy_cooldown < world.time)
- var/obj/item/reagent_containers/food/snacks/candy_corn/CC = new /obj/item/reagent_containers/food/snacks/candy_corn(src)
- M.put_in_hands(CC)
- to_chat(M, "You slip a candy corn from your hat.")
- candy_cooldown = world.time+1200
- else
- to_chat(M, "You just took a candy corn! You should wait a couple minutes, lest you burn through your stash.")
+/obj/item/clothing/head/fedora/det_hat/AltClick(mob/user)
+ if(user.canUseTopic(src, be_close=TRUE))
+ ..()
+ if(loc == user)
+ if(candy_cooldown < world.time)
+ var/obj/item/reagent_containers/food/snacks/candy_corn/CC = new /obj/item/reagent_containers/food/snacks/candy_corn(src)
+ user.put_in_hands(CC)
+ to_chat(user, "You slip a candy corn from your hat.")
+ candy_cooldown = world.time+1200
+ else
+ to_chat(user, "You just took a candy corn! You should wait a couple minutes, lest you burn through your stash.")
//Mime
diff --git a/code/modules/clothing/under/accessories.dm b/code/modules/clothing/under/accessories.dm
index 20bdd96e1a..13aed37142 100644
--- a/code/modules/clothing/under/accessories.dm
+++ b/code/modules/clothing/under/accessories.dm
@@ -64,10 +64,11 @@
/obj/item/clothing/accessory/proc/on_uniform_dropped(obj/item/clothing/under/U, user)
return
-/obj/item/clothing/accessory/AltClick()
- if(initial(above_suit))
- above_suit = !above_suit
- to_chat(usr, "\The [src] will be worn [above_suit ? "above" : "below"] your suit.")
+/obj/item/clothing/accessory/AltClick(mob/user)
+ if(user.canUseTopic(src, be_close=TRUE))
+ if(initial(above_suit))
+ above_suit = !above_suit
+ to_chat(user, "[src] will be worn [above_suit ? "above" : "below"] your suit.")
/obj/item/clothing/accessory/examine(mob/user)
..()