diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index 21208b26ca6..d24a92d87b6 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -120,7 +120,7 @@ else user << "You can't reach, close it first!" - if(istype(W, /obj/item/weapon/gun/energy/plasmacutter) || istype(W, /obj/item/weapon/pickaxe/drill/diamonddrill) || istype(W, /obj/item/weapon/melee/energy/blade)) + if(istype(W, /obj/item/weapon/gun/energy/plasmacutter) || istype(W, /obj/item/weapon/pickaxe/drill/diamonddrill) || istype(W, /obj/item/weapon/pickaxe/drill/jackhammer) || istype(W, /obj/item/weapon/melee/energy/blade)) dismantle(user) /obj/structure/falsewall/proc/dismantle(mob/user) @@ -221,7 +221,7 @@ icon_state = "" mineral = "plasma" walltype = "plasma" - + /obj/structure/falsewall/plasma/attackby(obj/item/weapon/W, mob/user, params) if(is_hot(W) > 300) message_admins("Plasma falsewall ignited by [key_name_admin(user)] in ([x],[y],[z] - JMP)",0,1) diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index 19c2dd13ec8..33083acf9e8 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -37,6 +37,12 @@ new /obj/item/stack/sheet/metal(get_turf(src)) qdel(src) + else if(istype(W, /obj/item/weapon/pickaxe/drill/diamonddrill)) + playsound(src.loc, 'sound/weapons/sonic_jackhammer.ogg', 100, 1) + user << "\blue You disintegrate the girder!" + new /obj/item/stack/sheet/metal(get_turf(src)) + qdel(src) + else if(istype(W, /obj/item/weapon/screwdriver) && state == 2 && istype(src,/obj/structure/girder/reinforced)) playsound(src.loc, 'sound/items/Screwdriver.ogg', 100, 1) user << "\blue Now unsecuring support struts" diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 1de9e588ef1..a54a2ddf1d9 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -385,6 +385,15 @@ dismantle_wall() visible_message("[user] drills through \the [src]!","You hear the grinding of metal.") + else if (istype(W, /obj/item/weapon/pickaxe/drill/jackhammer)) + + user << "You begin to disintegrate the wall." + + if(do_after(user, mineral == "diamond" ? 60 : 30, target = src)) + user << "Your jackhammer disintegrate the reinforced plating." + dismantle_wall() + visible_message("[user] disintegrates \the [src]!","You hear the grinding of metal.") + else if(istype(W, /obj/item/weapon/melee/energy/blade)) var/obj/item/weapon/melee/energy/blade/EB = W diff --git a/code/game/turfs/simulated/walls_reinforced.dm b/code/game/turfs/simulated/walls_reinforced.dm index 1bba122d39e..fb8e6e78c07 100644 --- a/code/game/turfs/simulated/walls_reinforced.dm +++ b/code/game/turfs/simulated/walls_reinforced.dm @@ -202,7 +202,14 @@ user << "You begin to drill though the wall." if(do_after(user, 200, target = src)) - user << "Your drill tears though the last of the reinforced plating." + user << "Your drill tears through the last of the reinforced plating." + dismantle_wall() + + if(istype(W,/obj/item/weapon/pickaxe/drill/jackhammer)) + user << "You begin to disintegrate the wall." + + if(do_after(user, 100, target = src)) + user << "Your sonic jackhammer disintegrate the reinforced plating." dismantle_wall() //REPAIRING