diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm
index 873e08030a7..9aa7cfe2c7b 100644
--- a/code/game/machinery/camera/camera.dm
+++ b/code/game/machinery/camera/camera.dm
@@ -151,6 +151,9 @@
qdel(src)
return
else if(istype(W, /obj/item/device/analyzer) && panel_open) //XRay
+ if(!user.unEquip(W))
+ to_chat(user, "[W] is stuck!")
+ return
if(!isXRay())
upgradeXRay()
qdel(W)
@@ -158,14 +161,19 @@
else
to_chat(user, "[msg2]")
- else if(istype(W, /obj/item/stack/sheet/mineral/plasma) && panel_open)
+ else if(istype(W, /obj/item/stack/sheet/mineral/plasma) && panel_open)
+ if(!user.unEquip(W))
+ to_chat(user, "[W] is stuck!")
+ return
if(!isEmpProof())
upgradeEmpProof()
to_chat(user, "[msg]")
qdel(W)
else
to_chat(user, "[msg2]")
- else if(istype(W, /obj/item/device/assembly/prox_sensor) && panel_open)
+ else if(istype(W, /obj/item/device/assembly/prox_sensor) && panel_open)
+ if(!user.unEquip(W))
+ return
if(!isMotion())
upgradeMotion()
to_chat(user, "[msg]")
diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm
index 5b77c8f00fc..5b7d035d461 100644
--- a/code/game/machinery/camera/camera_assembly.dm
+++ b/code/game/machinery/camera/camera_assembly.dm
@@ -20,10 +20,9 @@
4 = Screwdriver panel closed and is fully built (you cannot attach upgrades)
*/
-/obj/item/weapon/camera_assembly/attackby(obj/item/W as obj, mob/living/user as mob, params)
+/obj/item/weapon/camera_assembly/attackby(obj/item/W, mob/living/user, params)
switch(state)
-
if(0)
// State 0
if(iswrench(W) && isturf(src.loc))
@@ -116,7 +115,6 @@
return
else if(iswirecutter(W))
-
new/obj/item/stack/cable_coil(get_turf(src), 2)
playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1)
to_chat(user, "You cut the wires from the circuits.")
@@ -125,9 +123,12 @@
// Upgrades!
if(is_type_in_list(W, possible_upgrades) && !is_type_in_list(W, upgrades)) // Is a possible upgrade and isn't in the camera already.
+ if(!user.unEquip(W))
+ to_chat(user, "[W] is stuck!")
+ return
to_chat(user, "You attach \the [W] into the assembly inner circuits.")
upgrades += W
- user.drop_item(W)
+ user.drop_item()
W.loc = src
return
diff --git a/code/modules/clothing/shoes/colour.dm b/code/modules/clothing/shoes/colour.dm
index 364c4d808ac..1b7ea8fc4c9 100644
--- a/code/modules/clothing/shoes/colour.dm
+++ b/code/modules/clothing/shoes/colour.dm
@@ -95,13 +95,12 @@
src.icon_state = "orange"
return
-/obj/item/clothing/shoes/orange/attackby(H as obj, loc, params)
+/obj/item/clothing/shoes/orange/attackby(obj/H, loc, params)
..()
- if ((istype(H, /obj/item/weapon/restraints/handcuffs) && !( src.chained )))
- //H = null
+ if (istype(H, /obj/item/weapon/restraints/handcuffs) && !chained && !(H.flags & NODROP))
if (src.icon_state != "orange") return
qdel(H)
src.chained = 1
src.slowdown = 15
src.icon_state = "orange1"
- return
\ No newline at end of file
+ return
diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm
index 97b15ecda1a..9b2f5d1c7c1 100644
--- a/code/modules/mob/living/silicon/robot/inventory.dm
+++ b/code/modules/mob/living/silicon/robot/inventory.dm
@@ -246,4 +246,4 @@
if(!module)
hands.icon_state = "nomod"
else
- hands.icon_state = lowertext(module.module_type)
\ No newline at end of file
+ hands.icon_state = lowertext(module.module_type)