diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 1feb8261eed..338fc1923a7 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -1647,3 +1647,13 @@ Total SMES charging rate should not exceed total power generation rate, or an ov w_class = 2.0 m_amt = 50 +/obj/item/weapon/plastique + name = "Plastic Explosives" + desc = "Used to put holes in specific areas without too much extra hole." + icon = 'assemblies.dmi' + icon_state = "timer-igniter-tank0" + item_state = "plasma-c" + flags = FPRINT | TABLEPASS | USEDELAY + w_class = 2.0 + var/timer = 10 + var/atom/target = null \ No newline at end of file diff --git a/code/game/atom_procs.dm b/code/game/atom_procs.dm index 673afdce6af..33d896d7be5 100644 --- a/code/game/atom_procs.dm +++ b/code/game/atom_procs.dm @@ -40,7 +40,7 @@ if ((O.client && !( O.blinded ))) O << text("\red [src] has been scanned by [user] with the [W]") else - if (!( istype(W, /obj/item/weapon/grab) ) || !(istype(W, /obj/item/weapon/cleaner)) || !(istype(W, /obj/item/weapon/plantbgone)) ) + if (!( istype(W, /obj/item/weapon/grab) ) && !(istype(W, /obj/item/weapon/plastique)) &&!(istype(W, /obj/item/weapon/cleaner)) && !(istype(W, /obj/item/weapon/plantbgone)) ) for(var/mob/O in viewers(src, null)) if ((O.client && !( O.blinded ))) O << text("\red [] has been hit by [] with []", src, user, W) diff --git a/code/game/objects/devices/PDA.dm b/code/game/objects/devices/PDA.dm index 50bcdc4e018..a36ed97a9f3 100644 --- a/code/game/objects/devices/PDA.dm +++ b/code/game/objects/devices/PDA.dm @@ -1681,7 +1681,7 @@ Code: src.menu_message += "Sleepy Pen (5)
" src.menu_message += "Cloaking Device (4)
" src.menu_message += "Energy Sword (4)
" - src.menu_message += "Low-Yield Bomb (4)
" + src.menu_message += "Plastic Explosives (4)
" src.menu_message += "Power Sink (5)
" src.menu_message += "Detomatix Cartridge (3)
" src.menu_message += "Syndicate-made Space Suit (inludes a helmet) (3)
" @@ -1766,7 +1766,8 @@ Code: if("bomb") if (src.uses >= 4) src.uses -= 4 - new /obj/spawner/newbomb/timer/syndicate(get_turf(src.hostpda)) + new /obj/item/weapon/plastique(get_turf(src.hostpda)) + new /obj/item/weapon/plastique(get_turf(src.hostpda)) if("powersink") if (src.uses >= 5) src.uses -= 5 diff --git a/code/game/turf.dm b/code/game/turf.dm index c7dc6dc9143..506d2bf356d 100644 --- a/code/game/turf.dm +++ b/code/game/turf.dm @@ -265,7 +265,13 @@ else dismantle_wall(devastated=1) if(3.0) - dismantle_wall() + var/proba + if (istype(src, /turf/simulated/wall/r_wall)) + proba = 15 + else + proba = 40 + if (prob(proba)) + dismantle_wall() else return