From 0f4469e59fde4832090e784bfbf81c7c1dd15f63 Mon Sep 17 00:00:00 2001 From: Fermi Date: Mon, 12 Aug 2019 01:03:35 +0100 Subject: [PATCH 1/7] Re-enables fermiexplosions in grenades. --- code/modules/reagents/chemistry/holder.dm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 300e73a6fd..e9eb00a180 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -495,7 +495,12 @@ //Standard reaction mechanics: else if (C.FermiChem == TRUE)//Just to make sure - return 0 + if (chem_temp > C.ExplodeTemp) //To allow fermigrenades + var/datum/chemical_reaction/fermi/Ferm = selected_reaction + fermiIsReacting = FALSE + SSblackbox.record_feedback("tally", "fermi_chem", 1, ("[Ferm] explosion")) + Ferm.FermiExplode(src, my_atom, volume = total_volume, temp = chem_temp, pH = pH) + return 0 for(var/B in cached_required_reagents) // multiplier = min(multiplier, round((get_reagent_amount(B) / cached_required_reagents[B]), 0.01)) @@ -693,7 +698,7 @@ //Make sure things are limited. pH = CLAMP(pH, 0, 14) - + //return said amount to compare for next step. return (reactedVol) From 10ca106f065d77e2552bfa10c810db5c34ad654a Mon Sep 17 00:00:00 2001 From: Fermi Date: Mon, 12 Aug 2019 01:36:21 +0100 Subject: [PATCH 2/7] [TO TEST] Adds nuance to hatmium and SDGF explosions. --- .../reagents/chemistry/recipes/fermi.dm | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm index 078e1c8a71..c6e3c801ea 100644 --- a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm +++ b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm @@ -137,12 +137,14 @@ /datum/chemical_reaction/fermi/SDGF/FermiExplode(datum/reagents, var/atom/my_atom, volume, temp, pH)//Spawns an angery teratoma! var/turf/T = get_turf(my_atom) - var/mob/living/simple_animal/slime/S = new(T,"green") - S.damage_coeff = list(BRUTE = 0.9 , BURN = 2, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) - S.name = "Living teratoma" - S.real_name = "Living teratoma" - S.rabid = 1//Make them an angery boi - S.color = "#810010" + var/amount_to_spawn = round((volume/30), 1) + for(var/i in 1 to amount_to_spawn) + var/mob/living/simple_animal/slime/S = new(T,"green") + S.damage_coeff = list(BRUTE = 0.9 , BURN = 2, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) + S.name = "Living teratoma" + S.real_name = "Living teratoma" + S.rabid = 1//Make them an angery boi + S.color = "#810010" my_atom.reagents.clear_reagents() var/list/seen = viewers(8, get_turf(my_atom)) for(var/mob/M in seen) @@ -353,11 +355,13 @@ PurityMin = 0.5 /datum/chemical_reaction/fermi/hatmium/FermiExplode(src, var/atom/my_atom, volume, temp, pH) - var/obj/item/clothing/head/hattip/hat = new /obj/item/clothing/head/hattip(get_turf(my_atom)) - hat.animate_atom_living() + var/amount_to_spawn = round((volume/30), 1) + for(var/i in 1 to amount_to_spawn) + var/obj/item/clothing/head/hattip/hat = new /obj/item/clothing/head/hattip(get_turf(my_atom)) + hat.animate_atom_living() var/list/seen = viewers(8, get_turf(my_atom)) for(var/mob/M in seen) - to_chat(M, "The makes an off sounding pop, as a hat suddenly climbs out of the beaker!") + to_chat(M, "The [src] makes an off sounding pop, as a hat suddenly climbs out of it!") my_atom.reagents.clear_reagents() /datum/chemical_reaction/fermi/furranium From 75440a48c50f9eb4a3e9b9cefa243d9c1ceab377 Mon Sep 17 00:00:00 2001 From: Fermi Date: Mon, 12 Aug 2019 01:36:46 +0100 Subject: [PATCH 3/7] 30 might be too much --- .../code/modules/reagents/chemistry/recipes/fermi.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm index c6e3c801ea..6625207a71 100644 --- a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm +++ b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm @@ -137,7 +137,7 @@ /datum/chemical_reaction/fermi/SDGF/FermiExplode(datum/reagents, var/atom/my_atom, volume, temp, pH)//Spawns an angery teratoma! var/turf/T = get_turf(my_atom) - var/amount_to_spawn = round((volume/30), 1) + var/amount_to_spawn = round((volume/50), 1) for(var/i in 1 to amount_to_spawn) var/mob/living/simple_animal/slime/S = new(T,"green") S.damage_coeff = list(BRUTE = 0.9 , BURN = 2, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) @@ -355,7 +355,7 @@ PurityMin = 0.5 /datum/chemical_reaction/fermi/hatmium/FermiExplode(src, var/atom/my_atom, volume, temp, pH) - var/amount_to_spawn = round((volume/30), 1) + var/amount_to_spawn = round((volume/50), 1) for(var/i in 1 to amount_to_spawn) var/obj/item/clothing/head/hattip/hat = new /obj/item/clothing/head/hattip(get_turf(my_atom)) hat.animate_atom_living() From 77eef5de6f14f729e144385465b338c82b5a17ca Mon Sep 17 00:00:00 2001 From: Fermi Date: Fri, 30 Aug 2019 20:42:22 +0100 Subject: [PATCH 4/7] Heat plays a component now. --- .../code/modules/reagents/chemistry/recipes/fermi.dm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm index 6625207a71..89ef2a329c 100644 --- a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm +++ b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm @@ -24,26 +24,32 @@ if (500 to 750) for(var/turf/turf in range(1,T)) new /obj/effect/hotspot(turf) + volume*=1.1 if (751 to 1100) for(var/turf/turf in range(2,T)) new /obj/effect/hotspot(turf) + volume*=1.2 if (1101 to 1500) //If you're crafty for(var/turf/turf in range(3,T)) new /obj/effect/hotspot(turf) + volume*=1.3 if (1501 to 2500) //requested for(var/turf/turf in range(4,T)) new /obj/effect/hotspot(turf) + volume*=1.4 if (2501 to 5000) for(var/turf/turf in range(5,T)) new /obj/effect/hotspot(turf) + volume*=1.5 if (5001 to INFINITY) for(var/turf/turf in range(6,T)) new /obj/effect/hotspot(turf) + volume*=1.6 message_admins("Fermi explosion at [T], with a temperature of [temp], pH of [pH], Impurity tot of [ImpureTot].") @@ -66,7 +72,7 @@ if (pH > 10) //if alkaline, small explosion. var/datum/effect_system/reagents_explosion/e = new() - e.set_up(round((volume/30)*(pH-9)), T, 0, 0) + e.set_up(round((volume/28)*(pH-9)), T, 0, 0) e.start() if(!ImpureTot == 0) //If impure, v.small emp (0.6 or less) From 0a4090d83c12a2af068191d8bc7254b1b09ec88b Mon Sep 17 00:00:00 2001 From: Fermi <> Date: Tue, 10 Sep 2019 21:12:43 +0100 Subject: [PATCH 5/7] Fixes weird message --- .../code/modules/reagents/chemistry/recipes/fermi.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm index 89ef2a329c..0c93476689 100644 --- a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm +++ b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm @@ -367,7 +367,7 @@ hat.animate_atom_living() var/list/seen = viewers(8, get_turf(my_atom)) for(var/mob/M in seen) - to_chat(M, "The [src] makes an off sounding pop, as a hat suddenly climbs out of it!") + to_chat(M, "The [my_atom] makes an off sounding pop, as a hat suddenly climbs out of it!") my_atom.reagents.clear_reagents() /datum/chemical_reaction/fermi/furranium From 4f0afb6e451e8625b8ed8cff8446e40bb9e36af0 Mon Sep 17 00:00:00 2001 From: Fermi <> Date: Tue, 10 Sep 2019 21:36:49 +0100 Subject: [PATCH 6/7] 50 to 100 --- .../code/modules/reagents/chemistry/recipes/fermi.dm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm index 0c93476689..9edd800994 100644 --- a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm +++ b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm @@ -143,7 +143,9 @@ /datum/chemical_reaction/fermi/SDGF/FermiExplode(datum/reagents, var/atom/my_atom, volume, temp, pH)//Spawns an angery teratoma! var/turf/T = get_turf(my_atom) - var/amount_to_spawn = round((volume/50), 1) + var/amount_to_spawn = round((volume/100), 1) + if(amount_to_spawn <= 0) + amount_to_spawn = 1 for(var/i in 1 to amount_to_spawn) var/mob/living/simple_animal/slime/S = new(T,"green") S.damage_coeff = list(BRUTE = 0.9 , BURN = 2, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) @@ -361,7 +363,9 @@ PurityMin = 0.5 /datum/chemical_reaction/fermi/hatmium/FermiExplode(src, var/atom/my_atom, volume, temp, pH) - var/amount_to_spawn = round((volume/50), 1) + var/amount_to_spawn = round((volume/100), 1) + if(amount_to_spawn <= 0) + amount_to_spawn = 1 for(var/i in 1 to amount_to_spawn) var/obj/item/clothing/head/hattip/hat = new /obj/item/clothing/head/hattip(get_turf(my_atom)) hat.animate_atom_living() From 6da9f1c64cd95ee87ea9d990d26a97e03945a3aa Mon Sep 17 00:00:00 2001 From: Fermi <> Date: Tue, 10 Sep 2019 21:51:35 +0100 Subject: [PATCH 7/7] Indent --- code/modules/reagents/chemistry/holder.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index e9eb00a180..b0089b3bbb 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -494,13 +494,13 @@ //Standard reaction mechanics: else - if (C.FermiChem == TRUE)//Just to make sure + if (C.FermiChem == TRUE)//Just to make sure, should only proc when grenades are combining. if (chem_temp > C.ExplodeTemp) //To allow fermigrenades var/datum/chemical_reaction/fermi/Ferm = selected_reaction fermiIsReacting = FALSE SSblackbox.record_feedback("tally", "fermi_chem", 1, ("[Ferm] explosion")) Ferm.FermiExplode(src, my_atom, volume = total_volume, temp = chem_temp, pH = pH) - return 0 + return 0 for(var/B in cached_required_reagents) // multiplier = min(multiplier, round((get_reagent_amount(B) / cached_required_reagents[B]), 0.01))