diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index d85e615bc1c8..644d82bcc063 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -174,6 +174,7 @@ Also change the icon to reflect the amount of sheets, if possible.*/ if(R.on_floor && istype(usr.loc, /turf/open)) var/turf/open/OT = usr.loc var/obj/structure/blocker/anti_cade/AC = locate(/obj/structure/blocker/anti_cade) in usr.loc // for M2C HMG, look at smartgun_mount.dm + var/obj/structure/tunnel/TUNNELBLOCK = locate(/obj/structure/tunnel) in usr.loc if(!OT.allow_construction) to_chat(usr, SPAN_WARNING("The [R.title] must be constructed on a proper surface!")) return @@ -182,6 +183,10 @@ Also change the icon to reflect the amount of sheets, if possible.*/ to_chat(usr, SPAN_WARNING("The [R.title] cannot be built here!")) //might cause some friendly fire regarding other items like barbed wire, shouldn't be a problem? return + if(TUNNELBLOCK) + to_chat(usr, SPAN_WARNING("The [R.title] cannot be constructed on a tunnel!")) + return + if((R.flags & RESULT_REQUIRES_SNOW) && !(istype(usr.loc, /turf/open/snow) || istype(usr.loc, /turf/open/auto_turf/snow))) to_chat(usr, SPAN_WARNING("The [R.title] must be built on snow!")) return diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index e719359ab439..bf702b83c3e8 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -173,6 +173,14 @@ return do_reinforced_wall(W, user) if(STATE_DISPLACED) if(HAS_TRAIT(W, TRAIT_TOOL_CROWBAR)) + var/turf/open/CONBLOCK = loc + var/obj/structure/tunnel/TUNNELBLOCK = locate(/obj/structure/tunnel) in loc + if(!(istype(CONBLOCK) && CONBLOCK.allow_construction)) + to_chat(user, SPAN_WARNING("The girder must be secured on a proper surface!")) + return + if(TUNNELBLOCK) + to_chat(user, SPAN_WARNING("The girder cannot be secured on a tunnel!")) + return playsound(loc, 'sound/items/Crowbar.ogg', 25, 1) to_chat(user, SPAN_NOTICE("Now securing the girder...")) if(!do_after(user, 40 * user.get_skill_duration_multiplier(SKILL_CONSTRUCTION), INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_BUILD))