diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 9ed07a3fb24..c2ab2cabdf9 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -71,7 +71,10 @@ /obj/structure/closet, /obj/item/weapon/storage, /obj/structure/safe, - /obj/machinery/disposal + /obj/machinery/disposal, + /obj/machinery/r_n_d/destructive_analyzer, + /obj/machinery/r_n_d/experimentor, + /obj/machinery/autolathe ) /obj/item/proc/check_allowed_items(atom/target, not_inside) if((src in target) || ((!istype(target.loc, /turf)) && (!istype(target, /turf)) && (not_inside)) || is_type_in_list(target, can_be_placed_into)) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 54a982ced76..9cca4b143ee 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -399,7 +399,7 @@ update_window(usr) /obj/item/toy/crayon/afterattack(atom/target, mob/user as mob, proximity) - if(!proximity) return + if(!proximity || !check_allowed_items(target)) return if(!uses) user << "There is no more of [src.name] left!" if(!instant) diff --git a/code/game/objects/items/weapons/clown_items.dm b/code/game/objects/items/weapons/clown_items.dm index f67f6013119..f2681b01489 100644 --- a/code/game/objects/items/weapons/clown_items.dm +++ b/code/game/objects/items/weapons/clown_items.dm @@ -41,7 +41,7 @@ M.slip(4, 2, src) /obj/item/weapon/soap/afterattack(atom/target, mob/user as mob, proximity) - if(!proximity) + if(!proximity || !check_allowed_items(target)) return //I couldn't feasibly fix the overlay bugs caused by cleaning items we are wearing. //So this is a workaround. This also makes more sense from an IC standpoint. ~Carn diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm index 398d8668258..2dfa4b44c66 100644 --- a/code/game/objects/items/weapons/extinguisher.dm +++ b/code/game/objects/items/weapons/extinguisher.dm @@ -77,7 +77,7 @@ /obj/item/weapon/extinguisher/afterattack(atom/target, mob/user , flag) //TODO; Add support for reagents in water. - if(target.loc == user)//No more spraying yourself when putting your extinguisher away + if(target.loc == user || !check_allowed_items(target)) //No more spraying yourself when putting your extinguisher away return var/Refill = AttemptRefill(target, user) if(Refill) diff --git a/code/game/objects/items/weapons/janisigns.dm b/code/game/objects/items/weapons/janisigns.dm index 3844bff42ad..48fd898b696 100644 --- a/code/game/objects/items/weapons/janisigns.dm +++ b/code/game/objects/items/weapons/janisigns.dm @@ -12,15 +12,6 @@ origin_tech = "programming=3" var/list/signs = list() var/max_signs = 10 - can_be_placed_into = list( - /obj/machinery/r_n_d/destructive_analyzer, - /obj/structure/table, - /obj/structure/rack, - /obj/structure/closet, - /obj/item/weapon/storage, - /obj/structure/safe, - /obj/machinery/disposal - ) /obj/item/weapon/holosign_creator/afterattack(atom/target, mob/user, flag) if(flag) diff --git a/code/game/objects/items/weapons/manuals.dm b/code/game/objects/items/weapons/manuals.dm index 5136e6073d2..7e69597ba3d 100644 --- a/code/game/objects/items/weapons/manuals.dm +++ b/code/game/objects/items/weapons/manuals.dm @@ -287,6 +287,7 @@ name = "Mentoring your Experiments" icon_state = "rdbook" author = "Dr. H.P. Kritz" + title = "Mentoring your Experiments" dat = {"