diff --git a/code/game/machinery/vending_types.dm b/code/game/machinery/vending_types.dm index a870b4348e2..52ffaeed5b9 100644 --- a/code/game/machinery/vending_types.dm +++ b/code/game/machinery/vending_types.dm @@ -1023,7 +1023,8 @@ /obj/item/module/power_control = 10, /obj/item/airalarm_electronics = 10, /obj/item/firealarm_electronics = 10, - /obj/item/cell/high = 10 + /obj/item/cell/high = 10, + /obj/item/grenade/chem_grenade/antifuel = 5 ) contraband = list( /obj/item/cell/potato = 3 diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm index f20ae68126e..dba4428fde7 100644 --- a/code/game/objects/items/weapons/grenades/chem_grenade.dm +++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm @@ -301,6 +301,27 @@ beakers += B2 icon_state = initial(icon_state) +"_locked" +/obj/item/grenade/chem_grenade/antifuel + name = "antifuel grenade" + desc = "This grenade is loaded with a foaming antifuel compound -- the twenty-fifth century standard for eliminating industrial spills." + stage = 2 + path = 1 + +/obj/item/grenade/chem_grenade/antifuel/Initialize() + . = ..() + var/obj/item/reagent_containers/glass/beaker/B1 = new(src) + var/obj/item/reagent_containers/glass/beaker/B2 = new(src) + + B1.reagents.add_reagent(/decl/reagent/surfactant, 40) + B2.reagents.add_reagent(/decl/reagent/water, 40) + B2.reagents.add_reagent(/decl/reagent/antifuel, 10) + + detonator = new/obj/item/device/assembly_holder/timer_igniter(src) + + beakers += B1 + beakers += B2 + icon_state = initial(icon_state) +"_locked" + /obj/item/grenade/chem_grenade/large/phoroncleaner name = "large cardox grenade" desc = "A large chemical grenade containing a heavy amount of cardox. Use in case of phoron leaks. Warning: Harmful to Vaurca health." diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm index 95253399c69..51fbb2420f7 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -28,6 +28,7 @@ new /obj/item/grenade/chem_grenade/large/phoroncleaner(src) new /obj/item/crowbar/rescue_axe/red(src) new /obj/item/device/radio/eng/off(src) + new /obj/item/grenade/chem_grenade/antifuel(src) // Chief Engineer - Clothing Satchel // This satchel is used nowhere except in conjunction with the locker above, @@ -73,6 +74,7 @@ new /obj/item/storage/belt/utility(src) new /obj/item/device/gps/engineering(src) new /obj/item/pipewrench(src) + new /obj/item/grenade/chem_grenade/antifuel(src) // Painters new /obj/item/device/floor_painter(src) @@ -106,6 +108,7 @@ new /obj/item/pipewrench(src) new /obj/item/crowbar/rescue_axe(src) new /obj/item/device/flashlight/heavy(src) + new /obj/item/grenade/chem_grenade/antifuel(src) // Painters new /obj/item/device/floor_painter(src) diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm index 9923c4ff65d..45e86cb1318 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm @@ -337,6 +337,43 @@ if(prob(25)) M.add_chemical_effect(CE_NEPHROTOXIC, 1) +/decl/reagent/antifuel + name = "Antifuel" + description = "This compound is very specifically designed to react with and break up common combustible fuels." + taste_description = "varnish" + +/decl/reagent/antifuel/touch_obj(var/obj/O, var/amount, var/datum/reagents/holder) + if (istype(O, /obj/effect/decal/cleanable/liquid_fuel)) + O.clean_blood() + +/decl/reagent/antifuel/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + if(REAGENT_VOLUME(holder, type) > 15) + M.add_chemical_effect(CE_EMETIC, 5) + if(M.losebreath < 15) + M.losebreath++ + if(prob(5)) + to_chat(M, SPAN_WARNING(pick("Your throat burns!", "All you can taste is metal!", "Your insides are on fire!", "Your feel a burning pain in your gut!"))) + else + if(prob(5)) + to_chat(M, SPAN_WARNING(pick("Your throat stings a bit.", "You can taste something sour."))) + +/decl/reagent/antifuel/affect_breathe(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + if(REAGENT_VOLUME(holder, type) > 15) + M.add_chemical_effect(CE_EMETIC, 5) + if(M.losebreath < 15) + M.losebreath++ + if(prob(5)) + to_chat(M, SPAN_WARNING(pick("Your throat burns!", "All you can taste is metal!", "Your insides are on fire!", "Your feel a burning pain in your gut!"))) + else + if(prob(5)) + to_chat(M, SPAN_NOTICE(pick("You get a strong whiff of industrial fumes - careful."))) + +/decl/reagent/antifuel/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder) + if(REAGENT_VOLUME(holder, type) > 15) + M.add_chemical_effect(CE_EMETIC, 5) + if(prob(25)) + M.add_chemical_effect(CE_NEPHROTOXIC, 1) + /decl/reagent/lube name = "Space Lube" description = "Lubricant is a substance introduced between two moving surfaces to reduce the friction and wear between them." diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index 48948f9b614..ad9b604f98b 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -517,6 +517,13 @@ required_reagents = list(/decl/reagent/ammonia = 1, /decl/reagent/water = 1) result_amount = 2 +/datum/chemical_reaction/antifuel + name = "Antifuel" + id = "antifuel" + result = /decl/reagent/antifuel + required_reagents = list(/decl/reagent/spacecleaner = 1, /decl/reagent/sodium = 1) + result_amount = 2 + /datum/chemical_reaction/plantbgone name = "Plant-B-Gone" id = "plantbgone" diff --git a/html/changelogs/omicega-fdsifgdsiogdfiogd.yml b/html/changelogs/omicega-fdsifgdsiogdfiogd.yml new file mode 100644 index 00000000000..e75c602137a --- /dev/null +++ b/html/changelogs/omicega-fdsifgdsiogdfiogd.yml @@ -0,0 +1,13 @@ +# Your name. +author: Omicega + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Adds antifuel reagent (for cleaning liquid fuel exclusively) + associated chemical grenades to engineering."