From ad7a46347c9b94393fd0ad112a1596ac8c5a7cc2 Mon Sep 17 00:00:00 2001 From: Archie Date: Fri, 1 Jan 2021 19:23:49 -0300 Subject: [PATCH] Introducing... Tablesmitium. --- hyperstation/sound/misc/slam.ogg | Bin 0 -> 10095 bytes .../chemistry/reagents/fermi_reagents.dm | 61 +++++++++++++++++- .../reagents/chemistry/recipes/fermi.dm | 25 +++++++ 3 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 hyperstation/sound/misc/slam.ogg diff --git a/hyperstation/sound/misc/slam.ogg b/hyperstation/sound/misc/slam.ogg new file mode 100644 index 0000000000000000000000000000000000000000..de1dc83dcc39ca9a5da2ae5e6e34b24ada6ce294 GIT binary patch literal 10095 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 AtpET3 literal 0 HcmV?d00001 diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm index cf9b20ae..ee7d7c16 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm @@ -400,4 +400,63 @@ H.say("*wag")//force update sprites. to_chat(H, "[words]") qdel(catto) - log_game("FERMICHEM: [H] ckey: [H.key] has returned to normal") \ No newline at end of file + log_game("FERMICHEM: [H] ckey: [H.key] has returned to normal") + + +//Tablesmitium + +/datum/reagent/fermi/tablesmitium + name = "Tablesmitium" + description = "Why is this a thing? Why did CentCom even commission such a thing?" + color = "#7bbcd6" + overdose_threshold = 30 + impure_chem = /datum/reagent/toxin/acid //AAAA + inverse_chem_val = 0.25 + inverse_chem = /datum/reagent/toxin/acid //OW. ACID. + taste_description = "what can only be described as licking every single table in the galaxy at the same time. Curious." + pH = 9 + value = 90 + can_synth = FALSE + +/datum/reagent/fermi/tablesmitium/on_mob_life(mob/living/carbon/C) + var/list/areas = list() + for(var/area/A in world) + if(A.z == SSmapping.station_start) + areas += A + var/area/B = pick(areas) + var/list/obj/structure/table/tables = list() + for(var/obj/structure/table/T in B) + tables += T + if(tables.len) + var/obj/structure/table/S = pick(tables) + do_sparks(5,FALSE,C) + S.tablepush(C, C) + do_sparks(5,FALSE,C) + playsound(C.loc, 'sound/effects/phasein.ogg', 50, 1) + playsound(C.loc, 'hyperstation/sound/misc/slam.ogg', 50, 1) + ..() + +/datum/reagent/fermi/tablesmitium/overdose_start(mob/living/M) + . = ..() + to_chat(M, "You have stared into the abyss of tables... And it gazed back.") + log_game("FERMICHEM: [M] ckey: [M.key] has overdosed on tablesmitium") + M.Jitter(20) + metabolization_rate += 0.5 //So you're not stuck forever tabling. + +/datum/reagent/fermi/tablesmitium/overdose_process(mob/living/carbon/C) + var/list/obj/structure/table/tables = list() + for(var/obj/structure/table/T in view_or_range(10, C, "range")) + tables += T + if(tables.len) + var/obj/structure/table/S = pick(tables) + C.throw_at(S, rand(8,10), 14, C) + if(prob(25)) + radiation_pulse(C, 10) + playsound(C.loc, 'sound/effects/supermatter.ogg', 50, 1) + var/turf/B = get_turf(C.loc) + if(!isspaceturf(B)) + var/obj/effect/decal/cleanable/greenglow/radioactive/GG = locate() in B.contents + if(!GG) + GG = new/obj/effect/decal/cleanable/greenglow/radioactive(B) + GG.reagents.add_reagent(/datum/reagent/uranium, 3) + ..() diff --git a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm index 282be5eb..265ef5e0 100644 --- a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm +++ b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm @@ -555,3 +555,28 @@ HIonRelease = 0.1 RateUpLim = 2 FermiChem = TRUE + +//Tablesmitium, oh no + +/datum/chemical_reaction/fermi/tablesmitium + name = "Tablesmitium" + id = /datum/reagent/fermi/tablesmitium + results = list(/datum/reagent/fermi/tablesmitium = 1) + required_reagents = list(/datum/reagent/bluespace = 1, /datum/reagent/uranium = 1, /datum/reagent/consumable/coffee = 1) + mix_message = "the reaction... Smells like admin abuse?" + //FermiChem vars: + OptimalTempMin = 500 // Lower area of bell curve for determining heat based rate reactions + OptimalTempMax = 600 // Upper end for above + ExplodeTemp = 635 //Temperature at which reaction explodes + OptimalpHMin = 7 // Lowest value of pH determining pH a 1 value for pH based rate reactions (Plateu phase) + OptimalpHMax = 9 // Higest value for above + ReactpHLim = 5 // How far out pH wil react, giving impurity place (Exponential phase) + CatalystFact = 0 // How much the catalyst affects the reaction (0 = no catalyst) + CurveSharpT = 3 // How sharp the temperature exponential curve is (to the power of value) + CurveSharppH = 5 // How sharp the pH exponential curve is (to the power of value) + ThermicConstant = 10 //Temperature change per 1u produced + HIonRelease = -0.02 //pH change per 1u reaction + RateUpLim = 3 //Optimal/max rate possible if all conditions are perfect + FermiChem = TRUE//If the chemical uses the Fermichem reaction mechanics + FermiExplode = FALSE //If the chemical explodes in a special way + PurityMin = 0.4 //The minimum purity something has to be above, otherwise it explodes.