diff --git a/code/game/objects/items/grenades/atmos_grenades.dm b/code/game/objects/items/grenades/atmos_grenades.dm index aa08b8ca16e..593bf70122e 100644 --- a/code/game/objects/items/grenades/atmos_grenades.dm +++ b/code/game/objects/items/grenades/atmos_grenades.dm @@ -96,3 +96,33 @@ var/turf/open/floor_loc = turf_loc floor_loc.atmos_spawn_air("n2o=[n2o_gas_amount / distance_from_center];TEMP=273") qdel(src) + +/obj/item/grenade/gas_crystal/crystal_foam + name = "crystal foam" + desc = "A crystal with a foggy inside" + icon_state = "crystal_foam" + var/breach_range = 7 + +/obj/item/grenade/gas_crystal/crystal_foam/detonate(mob/living/lanced_by) + . = ..() + + var/datum/reagents/first_batch = new + var/datum/reagents/second_batch = new + var/list/datum/reagents/reactants = list() + + first_batch.add_reagent(/datum/reagent/aluminium, 75) + second_batch.add_reagent(/datum/reagent/smart_foaming_agent, 25) + second_batch.add_reagent(/datum/reagent/toxin/acid/fluacid, 25) + reactants += first_batch + reactants += second_batch + + var/turf/detonation_turf = get_turf(src) + + chem_splash(detonation_turf, breach_range, reactants) + + playsound(src, 'sound/effects/spray2.ogg', 100, TRUE) + log_game("A grenade detonated at [AREACOORD(detonation_turf)]") + + update_mob() + + qdel(src) diff --git a/code/modules/atmospherics/machinery/components/gas_recipe_machines/atmos_machines_recipes.dm b/code/modules/atmospherics/machinery/components/gas_recipe_machines/atmos_machines_recipes.dm index 76cb15aa3a6..315529c7c06 100644 --- a/code/modules/atmospherics/machinery/components/gas_recipe_machines/atmos_machines_recipes.dm +++ b/code/modules/atmospherics/machinery/components/gas_recipe_machines/atmos_machines_recipes.dm @@ -182,3 +182,11 @@ GLOBAL_LIST_INIT(gas_recipe_meta, gas_recipes_list()) energy_release = 6000000 requirements = list(/datum/gas/hypernoblium = 100, /datum/gas/stimulum = 100) products = list(/obj/item/fuel_pellet/exotic = 1) + +/datum/gas_recipe/crystallizer/crystal_foam + id = "crystal_foam" + name = "Crystal foam grenade" + reaction_type = EXOTHERMIC_REACTION + energy_release = 140000 + requirements = list(/datum/gas/carbon_dioxide = 150, /datum/gas/nitrous_oxide = 100, /datum/gas/water_vapor = 25) + products = list(/obj/item/grenade/gas_crystal/crystal_foam = 1) diff --git a/icons/obj/grenade.dmi b/icons/obj/grenade.dmi index cab93d34235..52f95f4e6f8 100644 Binary files a/icons/obj/grenade.dmi and b/icons/obj/grenade.dmi differ