From a26b7cd0254c81d8430d3e6f7056986ca33bdb51 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Tue, 15 Sep 2020 16:29:24 +0200 Subject: [PATCH] [MIRROR] Edge's Explosive Balancing Patch [v4] (#805) * Edge's Explosive Balancing Patch [v4] (#53468) * E * Update pyrotechnics.dm * E * Update code/modules/reagents/chemistry/recipes/pyrotechnics.dm Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com> Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com> * Edge's Explosive Balancing Patch [v4] Co-authored-by: EdgeLordExe <42111655+EdgeLordExe@users.noreply.github.com> Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com> --- .../chemistry/recipes/pyrotechnics.dm | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) 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)