mirror of
https://github.com/KabKebab/GS13.git
synced 2026-07-16 02:17:19 +01:00
Merge pull request #803 from ArchieBeepBoop/tablechem
Introducing... Tablesmitium.
This commit is contained in:
Binary file not shown.
@@ -400,4 +400,63 @@
|
||||
H.say("*wag")//force update sprites.
|
||||
to_chat(H, "<span class='notice'>[words]</span>")
|
||||
qdel(catto)
|
||||
log_game("FERMICHEM: [H] ckey: [H.key] has returned to normal")
|
||||
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, "<span class='userdanger'>You have stared into the abyss of tables... And it gazed back.</span>")
|
||||
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)
|
||||
..()
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user