diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm index 87aa3c6a7f4..c786c4fbdef 100644 --- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm +++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm @@ -58,14 +58,15 @@ required_reagents = list(/datum/reagent/rdx = 1) required_temp = 474 strengthdiv = 7 + modifier = 2 /datum/chemical_reaction/reagent_explosion/rdx_explosion2 //makes rdx unique , on its own it is a good bomb, but when combined with liquid electricity it becomes truly destructive required_reagents = list(/datum/reagent/rdx = 1 , /datum/reagent/consumable/liquidelectricity = 1) strengthdiv = 3.5 //actually a decrease of 1 becaused of how explosions are calculated. This is due to the fact we require 2 reagents - modifier = 2 + modifier = 4 /datum/chemical_reaction/reagent_explosion/rdx_explosion2/on_reaction(datum/reagents/holder, created_volume) - var/fire_range = round(created_volume/50) + var/fire_range = round(created_volume/30) var/turf/T = get_turf(holder.my_atom) for(var/turf/turf in range(fire_range,T)) new /obj/effect/hotspot(turf) @@ -75,11 +76,11 @@ /datum/chemical_reaction/reagent_explosion/rdx_explosion3 required_reagents = list(/datum/reagent/rdx = 1 , /datum/reagent/teslium = 1) strengthdiv = 3.5 //actually a decrease of 1 becaused of how explosions are calculated. This is due to the fact we require 2 reagents - modifier = 4 + modifier = 6 /datum/chemical_reaction/reagent_explosion/rdx_explosion3/on_reaction(datum/reagents/holder, created_volume) - var/fire_range = round(created_volume/30) + var/fire_range = round(created_volume/20) var/turf/T = get_turf(holder.my_atom) for(var/turf/turf in range(fire_range,T)) new /obj/effect/hotspot(turf) @@ -471,10 +472,21 @@ /datum/chemical_reaction/reagent_explosion/nitrous_oxide required_reagents = list(/datum/reagent/nitrous_oxide = 1) - strengthdiv = 7 + strengthdiv = 9 required_temp = 575 modifier = 1 +/datum/chemical_reaction/reagent_explosion/nitrous_oxide/on_reaction(datum/reagents/holder, created_volume) + holder.remove_reagent(/datum/reagent/sorium, created_volume*2) + var/turf/turfie = get_turf(holder.my_atom) + //generally half as strong as sorium. + var/range = clamp(sqrt(created_volume*2), 1, 6) + //This first throws people away and then it explodes + goonchem_vortex(turfie, 1, range) + turfie.atmos_spawn_air("o2=[created_volume/2];TEMP=[575]") + turfie.atmos_spawn_air("n2=[created_volume/2];TEMP=[575]") + return ..() + /datum/chemical_reaction/firefighting_foam results = list(/datum/reagent/firefighting_foam = 3) required_reagents = list(/datum/reagent/stabilizing_agent = 1,/datum/reagent/fluorosurfactant = 1,/datum/reagent/carbon = 1)