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)