diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index fda550217ad..d70508e620b 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -530,6 +530,48 @@ qdel(G) +/obj/item/bombcore/toxins + name = "toxins payload" + desc = "A payload casing designed to secure a gas based bomb. Must be loaded with a tank transfer valve and installed into a plasteel bomb frame in order to be detonated." + origin_tech = "materials=1;engineering=1" + icon_state = "chemcore" + var/obj/item/transfer_valve/ttv = null + +/obj/item/bombcore/toxins/attackby(obj/item/I, mob/user) + if(iscrowbar(I) && ttv) + playsound(loc, I.usesound, 50, 1) + ttv.forceMove(get_turf(src)) + ttv = null + else if(istype(I, /obj/item/transfer_valve)) + if(!ttv && !check_attached(I)) + if(!user.drop_item()) + return + to_chat(user, "You load [src] with [I].") + ttv = I + I.forceMove(src) + else if (ttv) + to_chat(user, "Another tank transfer valve is already loaded.") + else + to_chat(user, "Remove the attached assembly component first.") + else + return ..() + +/obj/item/bombcore/toxins/proc/check_attached(obj/item/transfer_valve/ttv) + if (ttv.attached_device) + return TRUE + else + return FALSE + +/obj/item/bombcore/toxins/ex_act(severity) //No chain reactions, the explosion only occurs when gas mixes + return + +/obj/item/bombcore/toxins/burn() + return + +/obj/item/bombcore/toxins/detonate() + if(ttv) + ttv.toggle_valve() + ///Syndicate Detonator (aka the big red button)/// /obj/item/syndicatedetonator diff --git a/code/modules/crafting/recipes.dm b/code/modules/crafting/recipes.dm index 012c79bab06..47966bb5278 100644 --- a/code/modules/crafting/recipes.dm +++ b/code/modules/crafting/recipes.dm @@ -339,6 +339,16 @@ time = 50 category = CAT_WEAPON +/datum/crafting_recipe/toxins_payload + name = "Toxins Payload Casing" + result = /obj/item/bombcore/toxins + reqs = list( + /obj/item/stock_parts/matter_bin = 1, + /obj/item/assembly/signaler = 1, + /obj/item/stack/sheet/metal = 2 + ) + category = CAT_WEAPON + /datum/crafting_recipe/bonfire name = "Bonfire" time = 60