diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm new file mode 100644 index 00000000000..e1d4ad607e2 --- /dev/null +++ b/code/game/objects/items/weapons/explosives.dm @@ -0,0 +1,28 @@ +/obj/item/weapon/plastique/attack_self(mob/user as mob) + var/newtime = input(usr, "Please set the timer.", "Timer", 10) + src.timer = newtime + user << "Timer set for [src.timer] seconds." + +/obj/item/weapon/plastique/afterattack(atom/target as obj|turf, mob/user as mob) + user << "Planting explosives..." + if(do_after(user, 50)) + user.drop_item() + src.target = target + src.loc = null + var/location + if (isturf(target)) location = target + if (isobj(target)) location = target.loc + target.overlays += image('assemblies.dmi', "timer-igniter-tank2") + user << "Bomb has been planted. Timer counting down from [src.timer]." + spawn(src.timer*10) + explosion(location, -1, -1, 2, 3) + if (istype(src.target, /turf/simulated/wall)) src.target:dismantle_wall(1) + else src.target.ex_act(1) + if (isobj(src.target)) + if (src.target) + del(src.target) + if (src) + del(src) + +/obj/item/weapon/plastique/attack(mob/M as mob, mob/user as mob, def_zone) + return \ No newline at end of file diff --git a/goonstation.dme b/goonstation.dme index 4bbd974aeb4..89a0d7c1ea9 100644 --- a/goonstation.dme +++ b/goonstation.dme @@ -502,6 +502,7 @@ #include "code\game\objects\items\weapons\cards_ids.dm" #include "code\game\objects\items\weapons\cigs_lighters.dm" #include "code\game\objects\items\weapons\clown_items.dm" +#include "code\game\objects\items\weapons\explosives.dm" #include "code\game\objects\items\weapons\flamethrower.dm" #include "code\game\objects\items\weapons\game_kit.dm" #include "code\game\objects\items\weapons\glass.dm"