diff --git a/code/game/objects/closets.dm b/code/game/objects/closets.dm index 2029bdbc867..f72fa72bcd3 100644 --- a/code/game/objects/closets.dm +++ b/code/game/objects/closets.dm @@ -160,6 +160,9 @@ del(src) return + if(isrobot(user)) + return + usr.drop_item() if (W) @@ -189,6 +192,8 @@ return if(istype(O, /obj/secure_closet) || istype(O, /obj/closet)) return + if(isrobot(user)) + return step_towards(O, src.loc) user.show_viewers(text("\red [] stuffs [] into []!", user, O, src)) src.add_fingerprint(user) diff --git a/code/game/objects/storage/crates.dm b/code/game/objects/storage/crates.dm index d9e329362a7..41e16f0e75c 100644 --- a/code/game/objects/storage/crates.dm +++ b/code/game/objects/storage/crates.dm @@ -272,6 +272,8 @@ src.loc = P O.amount -= 3 else if(opened) + if(isrobot(user)) + return user.drop_item() if(W) W.loc = src.loc diff --git a/code/game/objects/storage/storage.dm b/code/game/objects/storage/storage.dm index dbf167dc1bb..e145447bf61 100644 --- a/code/game/objects/storage/storage.dm +++ b/code/game/objects/storage/storage.dm @@ -81,6 +81,8 @@ /obj/item/weapon/storage/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() + if(isrobot(user)) + return if(can_hold.len) var/ok = 0 for(var/A in can_hold) diff --git a/code/game/objects/tables_racks.dm b/code/game/objects/tables_racks.dm index 7cf9b83e8ad..c9321d2fe05 100644 --- a/code/game/objects/tables_racks.dm +++ b/code/game/objects/tables_racks.dm @@ -90,6 +90,8 @@ if ((!( istype(O, /obj/item/weapon) ) || user.equipped() != O)) return + if(isrobot(user)) + return user.drop_item() if (O.loc != src.loc) step(O, get_dir(O, src)) @@ -119,6 +121,10 @@ //SN src = null del(src) return + + if(isrobot(user)) + return + user.drop_item() if(W && W.loc) W.loc = src.loc return @@ -127,6 +133,9 @@ if (istype(W, /obj/item/weapon/grab)) var/obj/item/weapon/grab/G = W + if(G.state<2) + user << "\red You need a better grip to do that!" + return G.affecting.loc = src.loc G.affecting.weakened = 5 for(var/mob/O in viewers(world.view, src)) @@ -150,6 +159,8 @@ user << "\blue Table strengthened" src.status = 2 return + if(isrobot(user)) + return user.drop_item() if(W && W.loc) W.loc = src.loc return @@ -163,6 +174,8 @@ playsound(src.loc, 'Deconstruct.ogg', 50, 1) del(src) return + if(isrobot(user)) + return user.drop_item() if(W && W.loc) W.loc = src.loc return @@ -203,6 +216,8 @@ /obj/rack/MouseDrop_T(obj/O as obj, mob/user as mob) if ((!( istype(O, /obj/item/weapon) ) || user.equipped() != O)) return + if(isrobot(user)) + return user.drop_item() if (O.loc != src.loc) step(O, get_dir(O, src)) @@ -215,6 +230,8 @@ //SN src = null del(src) return + if(isrobot(user)) + return user.drop_item() if(W && W.loc) W.loc = src.loc return