From 44cff04515f606c8be47543d030f4414231f2c0e Mon Sep 17 00:00:00 2001
From: Fermi <>
Date: Fri, 13 Sep 2019 18:03:39 +0100
Subject: [PATCH 01/16] Atom stop crashing pls
---
code/modules/reagents/chem_wiki_render.dm | 46 +++++++++++++++++++++++
1 file changed, 46 insertions(+)
create mode 100644 code/modules/reagents/chem_wiki_render.dm
diff --git a/code/modules/reagents/chem_wiki_render.dm b/code/modules/reagents/chem_wiki_render.dm
new file mode 100644
index 0000000000..735d653e00
--- /dev/null
+++ b/code/modules/reagents/chem_wiki_render.dm
@@ -0,0 +1,46 @@
+//Generates a markdown txt file for use with the wiki
+
+/client/proc/generate_wikichem_list()
+ set category = "debug"
+ set name = "generate_wikichem_list"
+ set desc = "generate a huge loglist of all the chems. Do not click unless you want lag."
+
+ var/prefix = list("name | reagents | reaction temp | explosion temp | pH range | Kinetics | description | OD level | impure chem \n")
+ var/medicine = list("")
+ var/toxin = list("")
+ var/consumable = list("")
+ var/plant = list("")
+ var/uranium = list("")
+ var/colours = list("")
+ var/muta = list("")
+ var/fermi = list("")
+ var/remainder = list("")
+
+ ///datum/reagent/medicine, /datum/reagent/toxin, /datum/reagent/consumable, /datum/reagent/plantnutriment, /datum/reagent/uranium,
+ ///datum/reagent/colorful_reagent, /datum/reagent/mutationtoxin, /datum/reagent/fermi
+
+ for(var/datum/reagent/R in GLOB.chemical_reagents_list)
+ if(istype(R, /datum/reagent/medicine))
+
+ else if(istype(R, /datum/reagent/toxin))
+
+ else if(istype(R, /datum/reagent/consumable))
+
+ else if(istype(R, /datum/reagent/plantnutriment))
+
+ else if(istype(R, /datum/reagent/uranium))
+
+ else if(istype(R, /datum/reagent/colorful_reagent))
+
+ else if(istype(R, /datum/reagent/mutationtoxin))
+
+ else if(istype(R, /datum/reagent/fermi))
+
+ else
+
+
+ log_game("FERMICHEM: MKULTRA: Status applied on [owner] ckey: [owner.key] with a master of [master] ckey: [enthrallID].")
+
+ //name | reagents | reaction temp | explosion temp | pH range | Kinetics | description | OD level | impure chem
+
+/proc/generate_line(datum/reagent/R)
From eeddcfa2950b35bf4bab6fab8f9e392a1160eb2f Mon Sep 17 00:00:00 2001
From: Fermi <>
Date: Fri, 13 Sep 2019 19:22:05 +0100
Subject: [PATCH 02/16] I think it works, well, not sure about the CR stuff
---
code/modules/reagents/chem_wiki_render.dm | 88 +++++++++++++++++++----
1 file changed, 75 insertions(+), 13 deletions(-)
diff --git a/code/modules/reagents/chem_wiki_render.dm b/code/modules/reagents/chem_wiki_render.dm
index 735d653e00..3269a2fbd6 100644
--- a/code/modules/reagents/chem_wiki_render.dm
+++ b/code/modules/reagents/chem_wiki_render.dm
@@ -5,42 +5,104 @@
set name = "generate_wikichem_list"
set desc = "generate a huge loglist of all the chems. Do not click unless you want lag."
- var/prefix = list("name | reagents | reaction temp | explosion temp | pH range | Kinetics | description | OD level | impure chem \n")
- var/medicine = list("")
- var/toxin = list("")
- var/consumable = list("")
- var/plant = list("")
- var/uranium = list("")
- var/colours = list("")
- var/muta = list("")
- var/fermi = list("")
- var/remainder = list("")
+ var/prefix = list("**Name** | **Reagent pH** | **Reagents** | **Reaction temp** | **Explosion temp** | **pH range** | **Kinetics** | **Description** | **OD level** | **Addiction level** | **Metabolism rate** |**Impure chem** \n---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|")
+ var/medicine
+ var/toxin
+ var/consumable
+ var/plant
+ var/uranium
+ var/colours
+ var/muta
+ var/fermi
+ var/remainder
///datum/reagent/medicine, /datum/reagent/toxin, /datum/reagent/consumable, /datum/reagent/plantnutriment, /datum/reagent/uranium,
///datum/reagent/colorful_reagent, /datum/reagent/mutationtoxin, /datum/reagent/fermi
+ //Probably not the most eligant of solutions.
for(var/datum/reagent/R in GLOB.chemical_reagents_list)
if(istype(R, /datum/reagent/medicine))
+ medicine += generate_chemwiki_line(R)
else if(istype(R, /datum/reagent/toxin))
+ toxin += generate_chemwiki_line(R)
else if(istype(R, /datum/reagent/consumable))
+ consumable += generate_chemwiki_line(R)
else if(istype(R, /datum/reagent/plantnutriment))
+ plant += generate_chemwiki_line(R)
else if(istype(R, /datum/reagent/uranium))
+ uranium += generate_chemwiki_line(R)
else if(istype(R, /datum/reagent/colorful_reagent))
+ colours += generate_chemwiki_line(R)
else if(istype(R, /datum/reagent/mutationtoxin))
+ muta += generate_chemwiki_line(R)
else if(istype(R, /datum/reagent/fermi))
+ fermi += generate_chemwiki_line(R)
else
+ remainer += generate_chemwiki_line(R)
- log_game("FERMICHEM: MKULTRA: Status applied on [owner] ckey: [owner.key] with a master of [master] ckey: [enthrallID].")
+ log_sql("------------BEGINNING OF REAGENTS VAR DUMP:------------------\n
+ ----------------------------------------------------------------------------------\n\n\n
+ #BASIC REAGENTS\n[prefix][remainder]\n
+ #MEDICINE:\n[prefix][medicine]\n#TOXIN:\n[prefix][toxin]\n#CONSUMABLE\n[prefix][consumable]\n
+ #FERMI\nThese chems lie on the cutting edge of chemical technology, and as such are not recommended for beginners!\n[prefix][fermi]\n
+ #PLANTS\n[prefix][plant]\n#URANIUM\n[prefix][uranium]\n#COLOURS\n[prefix][colours]\n
+ #RACE MUTATIONS\n[prefix][muta]\n")
- //name | reagents | reaction temp | explosion temp | pH range | Kinetics | description | OD level | impure chem
-/proc/generate_line(datum/reagent/R)
+
+/proc/generate_chemwiki_line(datum/reagent/R)
+ //name | Reagent pH | reagents | reaction temp | explosion temp | pH range | Kinetics | description | OD level | Addiction level | Metabolism rate | impure chem | inverse chem
+ var/datum/chemical_reaction/CR = GLOB.chemical_reactions_list[R.id]
+ if(!CR)
+ CR = FALSE
+ var/outstring = "[R.name] | [R.ph] |
"
+ for(var/R2 in R.required_reagents)
+ var/R3 GLOB.chemical_reagents_list[R2]//What a convoluted mess
+ outstring += "- [R3.name]
"
+
+ //Temp, Explosions and pH
+ outstring += "
| [(CR.FermiChem?"[CR.OptimalTempMin]":"[(CR.required_temp?"[CR.required_temp]":"N/A")]")] | [(CR.FermiChem?"[CR.ExplodeTemp]":"N/A")] | [(CR.FermiChem?"[max((CR.OptimalpHMin - CR.ReactpHLim), 0)] - [min((CR.OptimalpHMax + CR.ReactpHLim), 14)]":"N/A")] | "
+
+ //Kinetics
+ if(CR.FermiChem)
+ switch(CR.ThermicConstant)
+ if(-INFINITY to -9.9)
+ outstring += "Extremely endothermic | "
+ if(-9.9 to -4.9)
+ outstring += "Very endothermic | "
+ if(-4.9 to -0.1)
+ outstring += "Endothermic | "
+ if(-0.1 to 0.1)
+ outstring += "Neutral | "
+ if(0.1 to 4.9)
+ outstring += "Exothermic | "
+ if(4.9 to 9.9)
+ outstring += "Very exothermic | "
+ if(9.9 to INFINITY)
+ outstring += "Extremely exothermic | "
+ else
+ outstring += "N/A | "
+
+ //Description, OD, Addict, Meta
+ outstring += "[R.description] | [(R.overdose_threshold?"[R.overdose_threshold]":"N/A")] | [(R.addiction_threshold?"[R.addiction_threshold]":"N/A")] | [R.metabolization_rate * REAGENTS_METABOLISM] | "
+
+ if(R.ImpureChem != "fermiTox" || !R.ImpureChem)
+ outstring += "[R.ImpureChem] |"
+ else
+ outstring += "N/A |"
+
+ if(R.InverseChem != "fermiTox" || !R.InverseChem)
+ outstring += "[R.InverseChem] |"
+ else
+ outstring += "N/A |"
+
+ return outstring
From 87de05622e4ec623494cb45597718659ac36babc Mon Sep 17 00:00:00 2001
From: Fermi <>
Date: Fri, 13 Sep 2019 19:26:20 +0100
Subject: [PATCH 03/16] Justin case
---
code/modules/reagents/chem_wiki_render.dm | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/code/modules/reagents/chem_wiki_render.dm b/code/modules/reagents/chem_wiki_render.dm
index 3269a2fbd6..fcfccb7ea2 100644
--- a/code/modules/reagents/chem_wiki_render.dm
+++ b/code/modules/reagents/chem_wiki_render.dm
@@ -70,10 +70,13 @@
outstring += "[R3.name]"
//Temp, Explosions and pH
- outstring += " | [(CR.FermiChem?"[CR.OptimalTempMin]":"[(CR.required_temp?"[CR.required_temp]":"N/A")]")] | [(CR.FermiChem?"[CR.ExplodeTemp]":"N/A")] | [(CR.FermiChem?"[max((CR.OptimalpHMin - CR.ReactpHLim), 0)] - [min((CR.OptimalpHMax + CR.ReactpHLim), 14)]":"N/A")] | "
+ if(CR)
+ outstring += " | [(CR.FermiChem?"[CR.OptimalTempMin]":"[(CR.required_temp?"[CR.required_temp]":"N/A")]")] | [(CR.FermiChem?"[CR.ExplodeTemp]":"N/A")] | [(CR.FermiChem?"[max((CR.OptimalpHMin - CR.ReactpHLim), 0)] - [min((CR.OptimalpHMax + CR.ReactpHLim), 14)]":"N/A")] | "
+ else
+ outstring += " | N/A | N/A | N/A | "
//Kinetics
- if(CR.FermiChem)
+ if(CR.FermiChem || !CR)
switch(CR.ThermicConstant)
if(-INFINITY to -9.9)
outstring += "Extremely endothermic | "
From 04b492924b796b0ce90534371112b71765aa3607 Mon Sep 17 00:00:00 2001
From: Fermi <>
Date: Fri, 13 Sep 2019 20:23:07 +0100
Subject: [PATCH 04/16] Works kinda
---
code/modules/admin/admin_verbs.dm | 1 +
code/modules/reagents/chem_wiki_render.dm | 90 ++++++++++++-----------
tgstation.dme | 1 +
3 files changed, 51 insertions(+), 41 deletions(-)
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index ac1ae51f69..626fa7f66f 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -169,6 +169,7 @@ GLOBAL_LIST_INIT(admin_verbs_debug, world.AVerbsDebug())
/client/proc/cmd_display_overlay_log,
/client/proc/reload_configuration,
/datum/admins/proc/create_or_modify_area,
+ /client/proc/generate_wikichem_list //DO NOT PRESS UNLESS YOU WANT SUPERLAG
)
GLOBAL_PROTECT(admin_verbs_possess)
GLOBAL_LIST_INIT(admin_verbs_possess, list(/proc/possess, /proc/release))
diff --git a/code/modules/reagents/chem_wiki_render.dm b/code/modules/reagents/chem_wiki_render.dm
index fcfccb7ea2..9fef2b81e2 100644
--- a/code/modules/reagents/chem_wiki_render.dm
+++ b/code/modules/reagents/chem_wiki_render.dm
@@ -1,79 +1,84 @@
//Generates a markdown txt file for use with the wiki
/client/proc/generate_wikichem_list()
- set category = "debug"
- set name = "generate_wikichem_list"
+ set name = "Generate wikichem"
+ set category = "Debug"
set desc = "generate a huge loglist of all the chems. Do not click unless you want lag."
- var/prefix = list("**Name** | **Reagent pH** | **Reagents** | **Reaction temp** | **Explosion temp** | **pH range** | **Kinetics** | **Description** | **OD level** | **Addiction level** | **Metabolism rate** |**Impure chem** \n---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|")
- var/medicine
- var/toxin
- var/consumable
- var/plant
- var/uranium
- var/colours
- var/muta
- var/fermi
- var/remainder
+ var/prefix = "**Name** | **Reagent pH** | **Reagents** | **Reaction temp** | **Explosion temp** | **pH range** | **Kinetics** | **Description** | **OD level** | **Addiction level** | **Metabolism rate** |**Impure chem**|InverseChem \n---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|"
+ var/medicine = ""
+ var/toxin = ""
+ var/consumable = ""
+ var/plant = ""
+ var/uranium = ""
+ var/colours = ""
+ var/muta = ""
+ var/fermi = ""
+ var/remainder = ""
///datum/reagent/medicine, /datum/reagent/toxin, /datum/reagent/consumable, /datum/reagent/plantnutriment, /datum/reagent/uranium,
///datum/reagent/colorful_reagent, /datum/reagent/mutationtoxin, /datum/reagent/fermi
//Probably not the most eligant of solutions.
- for(var/datum/reagent/R in GLOB.chemical_reagents_list)
- if(istype(R, /datum/reagent/medicine))
+ for(var/datum/reagent/R in GLOB.chemical_reagents_list)
+ if(istype(R, /datum/reagent/medicine))
medicine += generate_chemwiki_line(R)
- else if(istype(R, /datum/reagent/toxin))
+ else if(istype(R, /datum/reagent/toxin))
toxin += generate_chemwiki_line(R)
- else if(istype(R, /datum/reagent/consumable))
+ else if(istype(R, /datum/reagent/consumable))
consumable += generate_chemwiki_line(R)
- else if(istype(R, /datum/reagent/plantnutriment))
+ else if(istype(R, /datum/reagent/plantnutriment))
plant += generate_chemwiki_line(R)
- else if(istype(R, /datum/reagent/uranium))
+ else if(istype(R, /datum/reagent/uranium))
uranium += generate_chemwiki_line(R)
- else if(istype(R, /datum/reagent/colorful_reagent))
+ else if(istype(R, /datum/reagent/colorful_reagent))
colours += generate_chemwiki_line(R)
- else if(istype(R, /datum/reagent/mutationtoxin))
+ else if(istype(R, /datum/reagent/mutationtoxin))
muta += generate_chemwiki_line(R)
- else if(istype(R, /datum/reagent/fermi))
+ else if(istype(R, /datum/reagent/fermi))
fermi += generate_chemwiki_line(R)
- else
- remainer += generate_chemwiki_line(R)
+ else
+ remainder += generate_chemwiki_line(R)
- log_sql("------------BEGINNING OF REAGENTS VAR DUMP:------------------\n
- ----------------------------------------------------------------------------------\n\n\n
- #BASIC REAGENTS\n[prefix][remainder]\n
- #MEDICINE:\n[prefix][medicine]\n#TOXIN:\n[prefix][toxin]\n#CONSUMABLE\n[prefix][consumable]\n
- #FERMI\nThese chems lie on the cutting edge of chemical technology, and as such are not recommended for beginners!\n[prefix][fermi]\n
- #PLANTS\n[prefix][plant]\n#URANIUM\n[prefix][uranium]\n#COLOURS\n[prefix][colours]\n
- #RACE MUTATIONS\n[prefix][muta]\n")
+ log_sql("------------BEGINNING OF REAGENTS VAR DUMP:------------------\n")
+ log_sql("----------------------------------------------------------------------------------\n\n\n")
+ log_sql("#BASIC REAGENTS\n[prefix][remainder]\n")
+ log_sql("#MEDICINE:\n[prefix][medicine]\n#TOXIN:\n[prefix][toxin]\n#CONSUMABLE\n[prefix][consumable]\n")
+ log_sql("#FERMI\nThese chems lie on the cutting edge of chemical technology, and as such are not recommended for beginners!\n[prefix][fermi]\n")
+ log_sql("#PLANTS\n[prefix][plant]\n#URANIUM\n[prefix][uranium]\n#COLOURS\n[prefix][colours]\n")
+ log_sql("#RACE MUTATIONS\n[prefix][muta]\n")
/proc/generate_chemwiki_line(datum/reagent/R)
//name | Reagent pH | reagents | reaction temp | explosion temp | pH range | Kinetics | description | OD level | Addiction level | Metabolism rate | impure chem | inverse chem
var/datum/chemical_reaction/CR = GLOB.chemical_reactions_list[R.id]
- if(!CR)
- CR = FALSE
- var/outstring = "[R.name] | [R.ph] | "
- for(var/R2 in R.required_reagents)
- var/R3 GLOB.chemical_reagents_list[R2]//What a convoluted mess
- outstring += "- [R3.name]
"
+ var/outstring = "[R.name] | [R.pH] | "
+ var/datum/reagent/R3
+ if(CR)
+ outstring += ""
+ for(var/R2 in CR.required_reagents)
+ R3 = GLOB.chemical_reagents_list[R2]//What a convoluted mess
+ outstring += "- [R3.name]
"
+ outstring += "
| "
+ else
+ outstring += "N/A | "
+
//Temp, Explosions and pH
if(CR)
- outstring += "
| [(CR.FermiChem?"[CR.OptimalTempMin]":"[(CR.required_temp?"[CR.required_temp]":"N/A")]")] | [(CR.FermiChem?"[CR.ExplodeTemp]":"N/A")] | [(CR.FermiChem?"[max((CR.OptimalpHMin - CR.ReactpHLim), 0)] - [min((CR.OptimalpHMax + CR.ReactpHLim), 14)]":"N/A")] | "
+ outstring += "[(CR.FermiChem?"[CR.OptimalTempMin]":"[(CR.required_temp?"[CR.required_temp]":"N/A")]")] | [(CR.FermiChem?"[CR.ExplodeTemp]":"N/A")] | [(CR.FermiChem?"[max((CR.OptimalpHMin - CR.ReactpHLim), 0)] - [min((CR.OptimalpHMax + CR.ReactpHLim), 14)]":"N/A")] | "
else
- outstring += " | N/A | N/A | N/A | "
+ outstring += "N/A | N/A | N/A | "
//Kinetics
if(CR.FermiChem || !CR)
@@ -99,13 +104,16 @@
outstring += "[R.description] | [(R.overdose_threshold?"[R.overdose_threshold]":"N/A")] | [(R.addiction_threshold?"[R.addiction_threshold]":"N/A")] | [R.metabolization_rate * REAGENTS_METABOLISM] | "
if(R.ImpureChem != "fermiTox" || !R.ImpureChem)
- outstring += "[R.ImpureChem] |"
+ R3 = GLOB.chemical_reagents_list[R.ImpureChem]
+ outstring += "[R3.name] | "
else
outstring += "N/A |"
if(R.InverseChem != "fermiTox" || !R.InverseChem)
- outstring += "[R.InverseChem] |"
+ R3 = GLOB.chemical_reagents_list[R.InverseChem]
+ outstring += "[R3.name] | "
else
- outstring += "N/A |"
+ outstring += "N/A | "
+ outstring += "\n"
return outstring
diff --git a/tgstation.dme b/tgstation.dme
index 1173617419..a84daf855d 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -2483,6 +2483,7 @@
#include "code\modules\projectiles\projectile\special\temperature.dm"
#include "code\modules\projectiles\projectile\special\wormhole.dm"
#include "code\modules\reagents\chem_splash.dm"
+#include "code\modules\reagents\chem_wiki_render.dm"
#include "code\modules\reagents\reagent_containers.dm"
#include "code\modules\reagents\reagent_dispenser.dm"
#include "code\modules\reagents\chemistry\colors.dm"
From 80997e4ef36e71245680ddcd3d426ebf7a2d8ec0 Mon Sep 17 00:00:00 2001
From: Fermi <>
Date: Fri, 13 Sep 2019 23:06:09 +0100
Subject: [PATCH 05/16] Works.
---
code/modules/reagents/chem_wiki_render.dm | 100 ++++++++++++----------
1 file changed, 55 insertions(+), 45 deletions(-)
diff --git a/code/modules/reagents/chem_wiki_render.dm b/code/modules/reagents/chem_wiki_render.dm
index 9fef2b81e2..fc3e5d3b5c 100644
--- a/code/modules/reagents/chem_wiki_render.dm
+++ b/code/modules/reagents/chem_wiki_render.dm
@@ -1,11 +1,13 @@
//Generates a markdown txt file for use with the wiki
/client/proc/generate_wikichem_list()
- set name = "Generate wikichem"
+ set name = "Generate Wikichems"
set category = "Debug"
- set desc = "generate a huge loglist of all the chems. Do not click unless you want lag."
+ set desc = "Generate a huge loglist of all the chems. Do not click unless you want lag."
- var/prefix = "**Name** | **Reagent pH** | **Reagents** | **Reaction temp** | **Explosion temp** | **pH range** | **Kinetics** | **Description** | **OD level** | **Addiction level** | **Metabolism rate** |**Impure chem**|InverseChem \n---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|"
+ message_admins("Someone pressed the superlag button. (Generate Wikichems)")
+ to_chat(usr, "Generating list")
+ var/prefix = "|Name | Reagent pH | Reagents | Reaction temp | Explosion temp | pH range | Kinetics | Description | OD level | Addiction level | Metabolism rate | Impure chem | InverseChem|\n|---|---|---|---|---|---|---|----------|---|---|---|---|---|\n"
var/medicine = ""
var/toxin = ""
var/consumable = ""
@@ -20,49 +22,53 @@
///datum/reagent/colorful_reagent, /datum/reagent/mutationtoxin, /datum/reagent/fermi
//Probably not the most eligant of solutions.
- for(var/datum/reagent/R in GLOB.chemical_reagents_list)
+ to_chat(usr, "Attempting reagent scan. Length of list [LAZYLEN(GLOB.chemical_reagents_list)]")
+ var/datum/reagent/R
+ var/tally = 0
+ for(var/X in GLOB.chemical_reagents_list)
+ R = GLOB.chemical_reagents_list[X]
if(istype(R, /datum/reagent/medicine))
- medicine += generate_chemwiki_line(R)
+ medicine += generate_chemwiki_line(R, X)
else if(istype(R, /datum/reagent/toxin))
- toxin += generate_chemwiki_line(R)
+ toxin += generate_chemwiki_line(R, X)
else if(istype(R, /datum/reagent/consumable))
- consumable += generate_chemwiki_line(R)
+ consumable += generate_chemwiki_line(R, X)
else if(istype(R, /datum/reagent/plantnutriment))
- plant += generate_chemwiki_line(R)
+ plant += generate_chemwiki_line(R, X)
else if(istype(R, /datum/reagent/uranium))
- uranium += generate_chemwiki_line(R)
+ uranium += generate_chemwiki_line(R, X)
else if(istype(R, /datum/reagent/colorful_reagent))
- colours += generate_chemwiki_line(R)
+ colours += generate_chemwiki_line(R, X)
else if(istype(R, /datum/reagent/mutationtoxin))
- muta += generate_chemwiki_line(R)
+ muta += generate_chemwiki_line(R, X)
else if(istype(R, /datum/reagent/fermi))
- fermi += generate_chemwiki_line(R)
+ fermi += generate_chemwiki_line(R, X)
else
- remainder += generate_chemwiki_line(R)
+ remainder += generate_chemwiki_line(R, X)
+
+ tally++
+ if((tally%50)==0)
+ to_chat(usr, "[tally] of [LAZYLEN(GLOB.chemical_reagents_list)] done.")
+
+ to_chat(usr, "finished")
+ log_sql("------------BEGINNING OF REAGENTS VAR DUMP:------------------\n----------------------------------------------------------------------------------\n\n\n# BASIC REAGENTS\n\n[prefix][remainder]\n\n# MEDICINE:\n\n[prefix][medicine]\n\n# TOXIN:\n\n[prefix][toxin]\n\n# CONSUMABLE\n\n[prefix][consumable]\n\n# FERMI\n\nThese chems lie on the cutting edge of chemical technology, and as such are not recommended for beginners!\n\n[prefix][fermi]\n\n# PLANTS\n\n[prefix][plant]\n\n# URANIUM\n\n[prefix][uranium]\n\n# COLOURS\n\n[prefix][colours]\n\n# RACE MUTATIONS\n[prefix][muta]\n")
- log_sql("------------BEGINNING OF REAGENTS VAR DUMP:------------------\n")
- log_sql("----------------------------------------------------------------------------------\n\n\n")
- log_sql("#BASIC REAGENTS\n[prefix][remainder]\n")
- log_sql("#MEDICINE:\n[prefix][medicine]\n#TOXIN:\n[prefix][toxin]\n#CONSUMABLE\n[prefix][consumable]\n")
- log_sql("#FERMI\nThese chems lie on the cutting edge of chemical technology, and as such are not recommended for beginners!\n[prefix][fermi]\n")
- log_sql("#PLANTS\n[prefix][plant]\n#URANIUM\n[prefix][uranium]\n#COLOURS\n[prefix][colours]\n")
- log_sql("#RACE MUTATIONS\n[prefix][muta]\n")
-
-
-
-/proc/generate_chemwiki_line(datum/reagent/R)
+/proc/generate_chemwiki_line(datum/reagent/R, X)
//name | Reagent pH | reagents | reaction temp | explosion temp | pH range | Kinetics | description | OD level | Addiction level | Metabolism rate | impure chem | inverse chem
- var/datum/chemical_reaction/CR = GLOB.chemical_reactions_list[R.id]
- var/outstring = "[R.name] | [R.pH] | "
+
+ var/datum/chemical_reaction/CR = get_chemical_reaction(R.id)
+
+ //message_admins("[CR]")
+ var/outstring = "|[R.name] !\[[R.color]\](https://placehold.it/15/[copytext(R.color, 2, 8)]/000000?text=+)| [R.pH] | "
var/datum/reagent/R3
if(CR)
outstring += ""
@@ -76,32 +82,35 @@
//Temp, Explosions and pH
if(CR)
- outstring += "[(CR.FermiChem?"[CR.OptimalTempMin]":"[(CR.required_temp?"[CR.required_temp]":"N/A")]")] | [(CR.FermiChem?"[CR.ExplodeTemp]":"N/A")] | [(CR.FermiChem?"[max((CR.OptimalpHMin - CR.ReactpHLim), 0)] - [min((CR.OptimalpHMax + CR.ReactpHLim), 14)]":"N/A")] | "
+ outstring += "[(CR.FermiChem?"[CR.OptimalTempMin]":"[(CR.required_temp?"[CR.required_temp]":"N/A")]")] | [(CR.FermiChem?"[CR.ExplodeTemp]":"N/A")] | [(CR.FermiChem?"[max((CR.OptimalpHMin - CR.ReactpHLim), 0)] to [min((CR.OptimalpHMax + CR.ReactpHLim), 14)]":"N/A")] | "
else
outstring += "N/A | N/A | N/A | "
//Kinetics
- if(CR.FermiChem || !CR)
- switch(CR.ThermicConstant)
- if(-INFINITY to -9.9)
- outstring += "Extremely endothermic | "
- if(-9.9 to -4.9)
- outstring += "Very endothermic | "
- if(-4.9 to -0.1)
- outstring += "Endothermic | "
- if(-0.1 to 0.1)
- outstring += "Neutral | "
- if(0.1 to 4.9)
- outstring += "Exothermic | "
- if(4.9 to 9.9)
- outstring += "Very exothermic | "
- if(9.9 to INFINITY)
- outstring += "Extremely exothermic | "
+ if(CR)
+ if(CR.FermiChem)
+ switch(CR.ThermicConstant)
+ if(-INFINITY to -9.9)
+ outstring += "Extremely endothermic | "
+ if(-9.9 to -4.9)
+ outstring += "Very endothermic | "
+ if(-4.9 to -0.1)
+ outstring += "Endothermic | "
+ if(-0.1 to 0.1)
+ outstring += "Neutral | "
+ if(0.1 to 4.9)
+ outstring += "Exothermic | "
+ if(4.9 to 9.9)
+ outstring += "Very exothermic | "
+ if(9.9 to INFINITY)
+ outstring += "Extremely exothermic | "
+ else
+ outstring += "N/A | "
else
outstring += "N/A | "
//Description, OD, Addict, Meta
- outstring += "[R.description] | [(R.overdose_threshold?"[R.overdose_threshold]":"N/A")] | [(R.addiction_threshold?"[R.addiction_threshold]":"N/A")] | [R.metabolization_rate * REAGENTS_METABOLISM] | "
+ outstring += "[R.description] | [(R.overdose_threshold?"[R.overdose_threshold]":"No OD")] | [(R.addiction_threshold?"[R.addiction_threshold]":"No addiction")] | [R.metabolization_rate] | "
if(R.ImpureChem != "fermiTox" || !R.ImpureChem)
R3 = GLOB.chemical_reagents_list[R.ImpureChem]
@@ -113,7 +122,8 @@
R3 = GLOB.chemical_reagents_list[R.InverseChem]
outstring += "[R3.name] | "
else
- outstring += "N/A | "
+ outstring += "N/A|"
outstring += "\n"
+ //message_admins("[outstring]")
return outstring
From e62a491c188e4077d96e2589c03ed49561610587 Mon Sep 17 00:00:00 2001
From: Fermi <>
Date: Sat, 14 Sep 2019 00:08:23 +0100
Subject: [PATCH 06/16] Now does chem reactions too.
---
code/modules/reagents/chem_wiki_render.dm | 145 ++++++++++++++--------
1 file changed, 96 insertions(+), 49 deletions(-)
diff --git a/code/modules/reagents/chem_wiki_render.dm b/code/modules/reagents/chem_wiki_render.dm
index fc3e5d3b5c..45ae579650 100644
--- a/code/modules/reagents/chem_wiki_render.dm
+++ b/code/modules/reagents/chem_wiki_render.dm
@@ -7,16 +7,7 @@
message_admins("Someone pressed the superlag button. (Generate Wikichems)")
to_chat(usr, "Generating list")
- var/prefix = "|Name | Reagent pH | Reagents | Reaction temp | Explosion temp | pH range | Kinetics | Description | OD level | Addiction level | Metabolism rate | Impure chem | InverseChem|\n|---|---|---|---|---|---|---|----------|---|---|---|---|---|\n"
- var/medicine = ""
- var/toxin = ""
- var/consumable = ""
- var/plant = ""
- var/uranium = ""
- var/colours = ""
- var/muta = ""
- var/fermi = ""
- var/remainder = ""
+ var/prefix = "|Name | Reagents | Reaction vars | Description | Chem properties | Impure chems|\n|---|---|---|---|----------|---|\n"
///datum/reagent/medicine, /datum/reagent/toxin, /datum/reagent/consumable, /datum/reagent/plantnutriment, /datum/reagent/uranium,
///datum/reagent/colorful_reagent, /datum/reagent/mutationtoxin, /datum/reagent/fermi
@@ -25,56 +16,83 @@
to_chat(usr, "Attempting reagent scan. Length of list [LAZYLEN(GLOB.chemical_reagents_list)]")
var/datum/reagent/R
var/tally = 0
- for(var/X in GLOB.chemical_reagents_list)
- R = GLOB.chemical_reagents_list[X]
- if(istype(R, /datum/reagent/medicine))
- medicine += generate_chemwiki_line(R, X)
+ var/processCR = TRUE //Process reactions first
+ for(var/i = 1, i <= 2, i+=1)
+ var/medicine = ""
+ var/toxin = ""
+ var/consumable = ""
+ var/plant = ""
+ var/uranium = ""
+ var/colours = ""
+ var/muta = ""
+ var/fermi = ""
+ var/remainder = ""
+ for(var/X in GLOB.chemical_reagents_list)
+ R = GLOB.chemical_reagents_list[X]
+ if(istype(R, /datum/reagent/medicine))
+ medicine += generate_chemwiki_line(R, X, processCR)
- else if(istype(R, /datum/reagent/toxin))
- toxin += generate_chemwiki_line(R, X)
+ else if(istype(R, /datum/reagent/toxin))
+ toxin += generate_chemwiki_line(R, X, processCR)
- else if(istype(R, /datum/reagent/consumable))
- consumable += generate_chemwiki_line(R, X)
+ else if(istype(R, /datum/reagent/consumable))
+ consumable += generate_chemwiki_line(R, X, processCR)
- else if(istype(R, /datum/reagent/plantnutriment))
- plant += generate_chemwiki_line(R, X)
+ else if(istype(R, /datum/reagent/plantnutriment))
+ plant += generate_chemwiki_line(R, X, processCR)
- else if(istype(R, /datum/reagent/uranium))
- uranium += generate_chemwiki_line(R, X)
+ else if(istype(R, /datum/reagent/uranium))
+ uranium += generate_chemwiki_line(R, X, processCR)
- else if(istype(R, /datum/reagent/colorful_reagent))
- colours += generate_chemwiki_line(R, X)
+ else if(istype(R, /datum/reagent/colorful_reagent))
+ colours += generate_chemwiki_line(R, X, processCR)
- else if(istype(R, /datum/reagent/mutationtoxin))
- muta += generate_chemwiki_line(R, X)
+ else if(istype(R, /datum/reagent/mutationtoxin))
+ muta += generate_chemwiki_line(R, X, processCR)
- else if(istype(R, /datum/reagent/fermi))
- fermi += generate_chemwiki_line(R, X)
+ else if(istype(R, /datum/reagent/fermi))
+ fermi += generate_chemwiki_line(R, X, processCR)
- else
- remainder += generate_chemwiki_line(R, X)
+ else
+ remainder += generate_chemwiki_line(R, X, processCR)
- tally++
- if((tally%50)==0)
- to_chat(usr, "[tally] of [LAZYLEN(GLOB.chemical_reagents_list)] done.")
+ tally++
+ if((tally%50)==0)
+ to_chat(usr, "[tally] of [LAZYLEN(GLOB.chemical_reagents_list)] done.")
- to_chat(usr, "finished")
- log_sql("------------BEGINNING OF REAGENTS VAR DUMP:------------------\n----------------------------------------------------------------------------------\n\n\n# BASIC REAGENTS\n\n[prefix][remainder]\n\n# MEDICINE:\n\n[prefix][medicine]\n\n# TOXIN:\n\n[prefix][toxin]\n\n# CONSUMABLE\n\n[prefix][consumable]\n\n# FERMI\n\nThese chems lie on the cutting edge of chemical technology, and as such are not recommended for beginners!\n\n[prefix][fermi]\n\n# PLANTS\n\n[prefix][plant]\n\n# URANIUM\n\n[prefix][uranium]\n\n# COLOURS\n\n[prefix][colours]\n\n# RACE MUTATIONS\n[prefix][muta]\n")
+ processCR = FALSE
+ to_chat(usr, "finished chems")
+ log_sql("------------BEGINNING OF REAGENTS VAR DUMP:------------------\n----------------------------------------------------------------------------------\n\n\n# BASIC REAGENTS\n\n[prefix][remainder]\n\n# MEDICINE:\n\n[prefix][medicine]\n\n# TOXIN:\n\n[prefix][toxin]\n\n# CONSUMABLE\n\n[prefix][consumable]\n\n# FERMI\n\nThese chems lie on the cutting edge of chemical technology, and as such are not recommended for beginners!\n\n[prefix][fermi]\n\n# PLANTS\n\n[prefix][plant]\n\n# URANIUM\n\n[prefix][uranium]\n\n# COLOURS\n\n[prefix][colours]\n\n# RACE MUTATIONS\n\n[prefix][muta]\n")
-/proc/generate_chemwiki_line(datum/reagent/R, X)
+ prefix = "|Name | Reagents | Reaction vars | Description ||\n|---|---|---|----------|\n"
+ to_chat(usr, "starting reactions")
+ for(var/reagent in GLOB.chemical_reactions_list)
+ for(var/datum/chemical_reaction/CR in GLOB.chemical_reactions_list[reagent])
+ generate_chemreactwiki_line(CR)
+
+ to_chat(usr, "finished reactions")
+
+/proc/generate_chemwiki_line(datum/reagent/R, X, processCR)
//name | Reagent pH | reagents | reaction temp | explosion temp | pH range | Kinetics | description | OD level | Addiction level | Metabolism rate | impure chem | inverse chem
var/datum/chemical_reaction/CR = get_chemical_reaction(R.id)
+ if((!CR && processCR) || (CR && !processCR)) // Do reactions first.
+ return ""
+
//message_admins("[CR]")
- var/outstring = "|[R.name] !\[[R.color]\](https://placehold.it/15/[copytext(R.color, 2, 8)]/000000?text=+)| [R.pH] | "
+ var/outstring = "|[R.name] !\[[R.color]\](https://placehold.it/15/[copytext(R.color, 2, 8)]/000000?text=+) pH:[R.pH] | "
var/datum/reagent/R3
if(CR)
outstring += ""
for(var/R2 in CR.required_reagents)
R3 = GLOB.chemical_reagents_list[R2]//What a convoluted mess
outstring += "- [R3.name]
"
+ if(CR.required_catalysts)
+ for(var/R2 in CR.required_reagents)
+ R3 = GLOB.chemical_reagents_list[R2]
+ outstring += "- [R3.name]
"
outstring += "
| "
else
outstring += "N/A | "
@@ -82,9 +100,9 @@
//Temp, Explosions and pH
if(CR)
- outstring += "[(CR.FermiChem?"[CR.OptimalTempMin]":"[(CR.required_temp?"[CR.required_temp]":"N/A")]")] | [(CR.FermiChem?"[CR.ExplodeTemp]":"N/A")] | [(CR.FermiChem?"[max((CR.OptimalpHMin - CR.ReactpHLim), 0)] to [min((CR.OptimalpHMax + CR.ReactpHLim), 14)]":"N/A")] | "
+ outstring += "[(CR.FermiChem?"Min react temp:[CR.OptimalTempMin]":"[(CR.required_temp?"Min_react_temp:[CR.required_temp]":"")]")] [(CR.FermiChem?"Explosion_temp:[CR.ExplodeTemp]":"")] [(CR.FermiChem?"pH_range:[max((CR.OptimalpHMin - CR.ReactpHLim), 0)] to [min((CR.OptimalpHMax + CR.ReactpHLim), 14)]":"")] "
else
- outstring += "N/A | N/A | N/A | "
+ outstring += ""
//Kinetics
if(CR)
@@ -105,25 +123,54 @@
if(9.9 to INFINITY)
outstring += "Extremely exothermic | "
else
- outstring += "N/A | "
+ outstring += " | "
else
- outstring += "N/A | "
+ outstring += " | "
//Description, OD, Addict, Meta
- outstring += "[R.description] | [(R.overdose_threshold?"[R.overdose_threshold]":"No OD")] | [(R.addiction_threshold?"[R.addiction_threshold]":"No addiction")] | [R.metabolization_rate] | "
+ outstring += "[R.description] | Metabolism_rate:[R.metabolization_rate] [(R.overdose_threshold?"[Overdose:R.overdose_threshold]":"")] [(R.addiction_threshold?"[Addiction:R.addiction_threshold]":"No addiction")] "
if(R.ImpureChem != "fermiTox" || !R.ImpureChem)
R3 = GLOB.chemical_reagents_list[R.ImpureChem]
- outstring += "[R3.name] | "
- else
- outstring += "N/A |"
+ outstring += "Impure chem:[R3.name]"
if(R.InverseChem != "fermiTox" || !R.InverseChem)
R3 = GLOB.chemical_reagents_list[R.InverseChem]
- outstring += "[R3.name] | "
- else
- outstring += "N/A|"
+ outstring += "Inverse chem:[R3.name] "
- outstring += "\n"
+ if(CR)
+ if(CR.FermiChem)
+ outstring += "Minimum purity:[CR.PurityMin] [(CR.FermiExplode?"Special explosion:Yes":"")]"
+
+
+ outstring += "|\n"
//message_admins("[outstring]")
return outstring
+
+//|Name | Reagents | Reaction vars | Description | Chem properties
+/proc/generate_chemreactwiki_line(datum/chemical_reaction/CR)
+ if(!LAZYLEN(CR.results)) //Handled prior
+ return
+ var/outstring = "|CR.name | "
+
+ //reagents
+ for(var/R2 in CR.required_reagents)
+ R3 = GLOB.chemical_reagents_list[R2]
+ outstring += "- [R3.name]
"
+ if(CR.required_catalysts)
+ for(var/R2 in CR.required_reagents)
+ R3 = GLOB.chemical_reagents_list[R2]
+ outstring += "- [R3.name]
"
+ outstring += "
| "
+
+ outstring += "| fill in manually | "
+
+ //Reaction vars
+ if(CR.FermiChem)
+ outstring += "[(CR.FermiChem?"Min react temp:[CR.OptimalTempMin]":"[(CR.required_temp?"Min_react_temp:[CR.required_temp]":"")]")] [(CR.FermiChem?"Explosion_temp:[CR.ExplodeTemp]":"")] [(CR.FermiChem?"pH_range:[max((CR.OptimalpHMin - CR.ReactpHLim), 0)] to [min((CR.OptimalpHMax + CR.ReactpHLim), 14)]":"")] Minimum purity:[CR.PurityMin] [(CR.FermiExplode?"Special explosion:Yes":"")]"
+ if(CR.is_cold_recipe)
+ outstring += "Cold: Yes"
+ if(CR.required_container)
+ outstring += "Required container:[CR.required_container]"
+ if(CR.mob_react)
+ outstring += "Can react in mob: Yes"
From 80b79ef94e74230e95b299ae28d391dc4f5c34b7 Mon Sep 17 00:00:00 2001
From: Fermi <>
Date: Sat, 14 Sep 2019 02:26:06 +0100
Subject: [PATCH 07/16] Mostly complete for now
---
code/modules/reagents/chem_wiki_render.dm | 100 +++++++++++++---------
1 file changed, 61 insertions(+), 39 deletions(-)
diff --git a/code/modules/reagents/chem_wiki_render.dm b/code/modules/reagents/chem_wiki_render.dm
index 45ae579650..f6cdfdd8e5 100644
--- a/code/modules/reagents/chem_wiki_render.dm
+++ b/code/modules/reagents/chem_wiki_render.dm
@@ -7,13 +7,13 @@
message_admins("Someone pressed the superlag button. (Generate Wikichems)")
to_chat(usr, "Generating list")
- var/prefix = "|Name | Reagents | Reaction vars | Description | Chem properties | Impure chems|\n|---|---|---|---|----------|---|\n"
+ var/prefix = "|Name | Reagents | Reaction vars | Description | Chem properties |\n|---|---|---|-----------|---|\n"
///datum/reagent/medicine, /datum/reagent/toxin, /datum/reagent/consumable, /datum/reagent/plantnutriment, /datum/reagent/uranium,
- ///datum/reagent/colorful_reagent, /datum/reagent/mutationtoxin, /datum/reagent/fermi
+ ///datum/reagent/colorful_reagent, /datum/reagent/mutationtoxin, /datum/reagent/fermi, /datum/reagent/drug
//Probably not the most eligant of solutions.
- to_chat(usr, "Attempting reagent scan. Length of list [LAZYLEN(GLOB.chemical_reagents_list)]")
+ to_chat(usr, "Attempting reagent scan. Length of list [LAZYLEN(GLOB.chemical_reagents_list)*2]")
var/datum/reagent/R
var/tally = 0
var/processCR = TRUE //Process reactions first
@@ -27,6 +27,7 @@
var/muta = ""
var/fermi = ""
var/remainder = ""
+ var/drug = ""
for(var/X in GLOB.chemical_reagents_list)
R = GLOB.chemical_reagents_list[X]
if(istype(R, /datum/reagent/medicine))
@@ -53,26 +54,36 @@
else if(istype(R, /datum/reagent/fermi))
fermi += generate_chemwiki_line(R, X, processCR)
+ else if(istype(R, /datum/reagent/drug))
+ drug += generate_chemwiki_line(R, X, processCR)
+
else
remainder += generate_chemwiki_line(R, X, processCR)
tally++
if((tally%50)==0)
- to_chat(usr, "[tally] of [LAZYLEN(GLOB.chemical_reagents_list)] done.")
+ to_chat(usr, "[tally] of [LAZYLEN(GLOB.chemical_reagents_list)*2] done.")
processCR = FALSE
to_chat(usr, "finished chems")
- log_sql("------------BEGINNING OF REAGENTS VAR DUMP:------------------\n----------------------------------------------------------------------------------\n\n\n# BASIC REAGENTS\n\n[prefix][remainder]\n\n# MEDICINE:\n\n[prefix][medicine]\n\n# TOXIN:\n\n[prefix][toxin]\n\n# CONSUMABLE\n\n[prefix][consumable]\n\n# FERMI\n\nThese chems lie on the cutting edge of chemical technology, and as such are not recommended for beginners!\n\n[prefix][fermi]\n\n# PLANTS\n\n[prefix][plant]\n\n# URANIUM\n\n[prefix][uranium]\n\n# COLOURS\n\n[prefix][colours]\n\n# RACE MUTATIONS\n\n[prefix][muta]\n")
+ log_sql("------------BEGINNING OF REAGENTS VAR DUMP:------------------\n----------------------------------------------------------------------------------\n\n\n# BASIC REAGENTS\n\n[prefix][remainder]\n\n# MEDICINE:\n\n[prefix][medicine]\n\n# TOXIN:\n\n[prefix][toxin]\n\n# DRUGS\n\n[prefix][drug]\n\n# FERMI\n\nThese chems lie on the cutting edge of chemical technology, and as such are not recommended for beginners!\n\n[prefix][fermi]\n\n# CONSUMABLE\n\n[prefix][consumable]\n\n# PLANTS\n\n[prefix][plant]\n\n# URANIUM\n\n[prefix][uranium]\n\n# COLOURS\n\n[prefix][colours]\n\n# RACE MUTATIONS\n\n[prefix][muta]\n\n")
- prefix = "|Name | Reagents | Reaction vars | Description ||\n|---|---|---|----------|\n"
+ prefix = "|Name | Reagents | Reaction vars | Description |\n|---|---|---|----------|\n"
+ var/CRparse = ""
to_chat(usr, "starting reactions")
for(var/reagent in GLOB.chemical_reactions_list)
for(var/datum/chemical_reaction/CR in GLOB.chemical_reactions_list[reagent])
- generate_chemreactwiki_line(CR)
+ //message_admins("trad: [CR], [CR.results], [CR.results.len], [LAZYLEN(CR.results)]")
+ CRparse += generate_chemreactwiki_line(CR)
+
+ log_sql("------------BEGINNING OF REACTIONS VAR DUMP:------------------\n----------------------------------------------------------------------------------\n\n\n# CHEMICAL REACTIONS\n\n[prefix][CRparse]\n")
to_chat(usr, "finished reactions")
+
+
+//Generate the big list of reagent based reactions.
/proc/generate_chemwiki_line(datum/reagent/R, X, processCR)
//name | Reagent pH | reagents | reaction temp | explosion temp | pH range | Kinetics | description | OD level | Addiction level | Metabolism rate | impure chem | inverse chem
@@ -82,17 +93,17 @@
//message_admins("[CR]")
- var/outstring = "|[R.name] !\[[R.color]\](https://placehold.it/15/[copytext(R.color, 2, 8)]/000000?text=+) pH:[R.pH] | "
+ var/outstring = "|!\[[R.color]\](https://placehold.it/15/[copytext(R.color, 2, 8)]/000000?text=+) [R.name]
pH: [R.pH] | "
var/datum/reagent/R3
if(CR)
outstring += ""
for(var/R2 in CR.required_reagents)
R3 = GLOB.chemical_reagents_list[R2]//What a convoluted mess
- outstring += "- [R3.name]
"
+ outstring += "- [R3.name]: [CR.required_reagents[R3.id]]u
"
if(CR.required_catalysts)
- for(var/R2 in CR.required_reagents)
+ for(var/R2 in CR.required_catalysts)
R3 = GLOB.chemical_reagents_list[R2]
- outstring += "- [R3.name]
"
+ outstring += "- Catalyst: [R3.name]: [CR.required_catalysts[R3.id]]u
"
outstring += "
| "
else
outstring += "N/A | "
@@ -100,7 +111,7 @@
//Temp, Explosions and pH
if(CR)
- outstring += "[(CR.FermiChem?"Min react temp:[CR.OptimalTempMin]":"[(CR.required_temp?"Min_react_temp:[CR.required_temp]":"")]")] [(CR.FermiChem?"Explosion_temp:[CR.ExplodeTemp]":"")] [(CR.FermiChem?"pH_range:[max((CR.OptimalpHMin - CR.ReactpHLim), 0)] to [min((CR.OptimalpHMax + CR.ReactpHLim), 14)]":"")] "
+ outstring += "[(CR.FermiChem?"- Min react temp: [CR.OptimalTempMin]K
":"[(CR.required_temp?"- Min react temp: [CR.required_temp]K
":"")]")] [(CR.FermiChem?"- Explosion_temp: [CR.ExplodeTemp]K
":"")] [(CR.FermiChem?"- pH range: [max((CR.OptimalpHMin - CR.ReactpHLim), 0)] to [min((CR.OptimalpHMax + CR.ReactpHLim), 14)]
":"")] "
else
outstring += ""
@@ -109,68 +120,79 @@
if(CR.FermiChem)
switch(CR.ThermicConstant)
if(-INFINITY to -9.9)
- outstring += "Extremely endothermic | "
+ outstring += "- Extremely endothermic
"
if(-9.9 to -4.9)
- outstring += "Very endothermic | "
+ outstring += "- Very endothermic
"
if(-4.9 to -0.1)
- outstring += "Endothermic | "
+ outstring += "- Endothermic
"
if(-0.1 to 0.1)
- outstring += "Neutral | "
+ outstring += "- Neutral
"
if(0.1 to 4.9)
- outstring += "Exothermic | "
+ outstring += "- Exothermic
"
if(4.9 to 9.9)
- outstring += "Very exothermic | "
- if(9.9 to INFINITY)
- outstring += "Extremely exothermic | "
- else
- outstring += " | "
- else
- outstring += " | "
+ outstring += "- Very exothermic
"
+ if(9.9 to 19.9)
+ outstring += "- Extremely exothermic
"
+ if(19.9 to INFINITY )
+ outstring += "- **Dangerously exothermic**
"
+ //if(CR.cheesey)
+ //outstring += "- Dangerously Cheesey
"
+
+ outstring += "
| "
//Description, OD, Addict, Meta
- outstring += "[R.description] | Metabolism_rate:[R.metabolization_rate] [(R.overdose_threshold?"[Overdose:R.overdose_threshold]":"")] [(R.addiction_threshold?"[Addiction:R.addiction_threshold]":"No addiction")] "
+ outstring += "[R.description] | - Metabolism_rate: [R.metabolization_rate/2]u/s
[(R.overdose_threshold?"- Overdose: [R.overdose_threshold]u
":"")] [(R.addiction_threshold?"- Addiction: [R.addiction_threshold]u
":"")] "
if(R.ImpureChem != "fermiTox" || !R.ImpureChem)
R3 = GLOB.chemical_reagents_list[R.ImpureChem]
- outstring += "Impure chem:[R3.name]"
+ outstring += "- Impure chem:[R3.name]
"
if(R.InverseChem != "fermiTox" || !R.InverseChem)
R3 = GLOB.chemical_reagents_list[R.InverseChem]
- outstring += "Inverse chem:[R3.name] "
+ outstring += "- Inverse chem:[R3.name]
"
if(CR)
if(CR.FermiChem)
- outstring += "Minimum purity:[CR.PurityMin] [(CR.FermiExplode?"Special explosion:Yes":"")]"
+ outstring += "- Minimum purity: [CR.PurityMin]
[(CR.FermiExplode?"- Special explosion: Yes
":"")]"
- outstring += "|\n"
+ outstring += "
|\n"
//message_admins("[outstring]")
return outstring
+
+
+
+//Generate the big list of reaction based reactions.
//|Name | Reagents | Reaction vars | Description | Chem properties
/proc/generate_chemreactwiki_line(datum/chemical_reaction/CR)
- if(!LAZYLEN(CR.results)) //Handled prior
+ if(CR.results.len) //Handled prior
return
- var/outstring = "|CR.name | "
+ var/outstring = "|[CR.name] | "
//reagents
+ var/datum/reagent/R3
for(var/R2 in CR.required_reagents)
R3 = GLOB.chemical_reagents_list[R2]
- outstring += "- [R3.name]
"
+ outstring += "- [R3.name]: [CR.required_reagents[R3.id]]u
"
if(CR.required_catalysts)
- for(var/R2 in CR.required_reagents)
+ for(var/R2 in CR.required_catalysts)
R3 = GLOB.chemical_reagents_list[R2]
- outstring += "- [R3.name]
"
+ outstring += "- [R3.name]: [CR.required_catalysts[R3.id]]u
"
outstring += "
| "
- outstring += "| fill in manually | "
+ //description
+ outstring += " fill in manually | "
//Reaction vars
if(CR.FermiChem)
- outstring += "[(CR.FermiChem?"Min react temp:[CR.OptimalTempMin]":"[(CR.required_temp?"Min_react_temp:[CR.required_temp]":"")]")] [(CR.FermiChem?"Explosion_temp:[CR.ExplodeTemp]":"")] [(CR.FermiChem?"pH_range:[max((CR.OptimalpHMin - CR.ReactpHLim), 0)] to [min((CR.OptimalpHMax + CR.ReactpHLim), 14)]":"")] Minimum purity:[CR.PurityMin] [(CR.FermiExplode?"Special explosion:Yes":"")]"
+ outstring += "[(CR.FermiChem?"- Min react temp: [CR.OptimalTempMin]K
":"[(CR.required_temp?"- Min react temp: [CR.required_temp]K
":"")]")] [(CR.FermiChem?"- Explosion temp: [CR.ExplodeTemp]K
":"")] [(CR.FermiChem?"- pH range: [max((CR.OptimalpHMin - CR.ReactpHLim), 0)] to [min((CR.OptimalpHMax + CR.ReactpHLim), 14)]
":"")] - Minimum purity: [CR.PurityMin] [(CR.FermiExplode?"
- Special explosion: Yes
":"")]"
if(CR.is_cold_recipe)
- outstring += "Cold: Yes"
+ outstring += "- Cold: Yes
"
if(CR.required_container)
- outstring += "Required container:[CR.required_container]"
+ outstring += "- Required container: [CR.required_container]
"
if(CR.mob_react)
- outstring += "Can react in mob: Yes"
+ outstring += "- Can react in mob: Yes
"
+
+ outstring += "
|\n"
+ return outstring
From c823a2d23aa2c0c6f39eb5154c2cdcb40a002f4d Mon Sep 17 00:00:00 2001
From: Fermi <>
Date: Sat, 14 Sep 2019 03:09:32 +0100
Subject: [PATCH 08/16] Preview.
---
code/modules/reagents/chem_wiki_render.dm | 32 +++++++++++------------
1 file changed, 15 insertions(+), 17 deletions(-)
diff --git a/code/modules/reagents/chem_wiki_render.dm b/code/modules/reagents/chem_wiki_render.dm
index f6cdfdd8e5..4eb248a8f2 100644
--- a/code/modules/reagents/chem_wiki_render.dm
+++ b/code/modules/reagents/chem_wiki_render.dm
@@ -17,17 +17,17 @@
var/datum/reagent/R
var/tally = 0
var/processCR = TRUE //Process reactions first
+ var/medicine = ""
+ var/toxin = ""
+ var/consumable = ""
+ var/plant = ""
+ var/uranium = ""
+ var/colours = ""
+ var/muta = ""
+ var/fermi = ""
+ var/remainder = ""
+ var/drug = ""
for(var/i = 1, i <= 2, i+=1)
- var/medicine = ""
- var/toxin = ""
- var/consumable = ""
- var/plant = ""
- var/uranium = ""
- var/colours = ""
- var/muta = ""
- var/fermi = ""
- var/remainder = ""
- var/drug = ""
for(var/X in GLOB.chemical_reagents_list)
R = GLOB.chemical_reagents_list[X]
if(istype(R, /datum/reagent/medicine))
@@ -66,16 +66,16 @@
processCR = FALSE
- to_chat(usr, "finished chems")
- log_sql("------------BEGINNING OF REAGENTS VAR DUMP:------------------\n----------------------------------------------------------------------------------\n\n\n# BASIC REAGENTS\n\n[prefix][remainder]\n\n# MEDICINE:\n\n[prefix][medicine]\n\n# TOXIN:\n\n[prefix][toxin]\n\n# DRUGS\n\n[prefix][drug]\n\n# FERMI\n\nThese chems lie on the cutting edge of chemical technology, and as such are not recommended for beginners!\n\n[prefix][fermi]\n\n# CONSUMABLE\n\n[prefix][consumable]\n\n# PLANTS\n\n[prefix][plant]\n\n# URANIUM\n\n[prefix][uranium]\n\n# COLOURS\n\n[prefix][colours]\n\n# RACE MUTATIONS\n\n[prefix][muta]\n\n")
+ to_chat(usr, "finished chems")
+ log_sql("------------BEGINNING OF REAGENTS VAR DUMP:------------------\n----------------------------------------------------------------------------------\n\n\n# BASIC REAGENTS\n\n[prefix][remainder]\n\n# MEDICINE:\n\n[prefix][medicine]\n\n# TOXIN:\n\n[prefix][toxin]\n\n# DRUGS\n\n[prefix][drug]\n\n# FERMI\n\nThese chems lie on the cutting edge of chemical technology, and as such are not recommended for beginners!\n\n[prefix][fermi]\n\n# CONSUMABLE\n\n[prefix][consumable]\n\n# PLANTS\n\n[prefix][plant]\n\n# URANIUM\n\n[prefix][uranium]\n\n# COLOURS\n\n[prefix][colours]\n\n# RACE MUTATIONS\n\n[prefix][muta]\n\n")
prefix = "|Name | Reagents | Reaction vars | Description |\n|---|---|---|----------|\n"
var/CRparse = ""
to_chat(usr, "starting reactions")
+
+ //generate the reactions that we missed from before
for(var/reagent in GLOB.chemical_reactions_list)
for(var/datum/chemical_reaction/CR in GLOB.chemical_reactions_list[reagent])
- //message_admins("trad: [CR], [CR.results], [CR.results.len], [LAZYLEN(CR.results)]")
-
CRparse += generate_chemreactwiki_line(CR)
log_sql("------------BEGINNING OF REACTIONS VAR DUMP:------------------\n----------------------------------------------------------------------------------\n\n\n# CHEMICAL REACTIONS\n\n[prefix][CRparse]\n")
@@ -92,8 +92,7 @@
return ""
- //message_admins("[CR]")
- var/outstring = "|!\[[R.color]\](https://placehold.it/15/[copytext(R.color, 2, 8)]/000000?text=+) [R.name]
pH: [R.pH] | "
+ var/outstring = "|!\[[R.color]\](https://placehold.it/15/[copytext(R.color, 2, 8)]/000000?text=+)[R.name]
pH: [R.pH] | "
var/datum/reagent/R3
if(CR)
outstring += ""
@@ -157,7 +156,6 @@
outstring += "
|\n"
- //message_admins("[outstring]")
return outstring
From e281384b7a0819f67e623dfcf10bb3a2e2d78ca1 Mon Sep 17 00:00:00 2001
From: Fermi <>
Date: Sat, 14 Sep 2019 03:10:54 +0100
Subject: [PATCH 09/16] It's actually less laggy than I thought.
---
code/modules/reagents/chem_wiki_render.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/modules/reagents/chem_wiki_render.dm b/code/modules/reagents/chem_wiki_render.dm
index 4eb248a8f2..49c65f3565 100644
--- a/code/modules/reagents/chem_wiki_render.dm
+++ b/code/modules/reagents/chem_wiki_render.dm
@@ -5,7 +5,7 @@
set category = "Debug"
set desc = "Generate a huge loglist of all the chems. Do not click unless you want lag."
- message_admins("Someone pressed the superlag button. (Generate Wikichems)")
+ message_admins("Someone pressed the lag button. (Generate Wikichems)")
to_chat(usr, "Generating list")
var/prefix = "|Name | Reagents | Reaction vars | Description | Chem properties |\n|---|---|---|-----------|---|\n"
From f6b96a818e663985880fb4700616aeb325a556c9 Mon Sep 17 00:00:00 2001
From: Fermi <>
Date: Sun, 15 Sep 2019 00:55:40 +0100
Subject: [PATCH 10/16] Update
---
code/modules/reagents/chem_wiki_render.dm | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/code/modules/reagents/chem_wiki_render.dm b/code/modules/reagents/chem_wiki_render.dm
index 49c65f3565..6495b97404 100644
--- a/code/modules/reagents/chem_wiki_render.dm
+++ b/code/modules/reagents/chem_wiki_render.dm
@@ -98,7 +98,7 @@
outstring += ""
for(var/R2 in CR.required_reagents)
R3 = GLOB.chemical_reagents_list[R2]//What a convoluted mess
- outstring += "- [R3.name]: [CR.required_reagents[R3.id]]u
"
+ outstring += "- [R3.name]: [CR.required_reagents[R3.id]]u
"
if(CR.required_catalysts)
for(var/R2 in CR.required_catalysts)
R3 = GLOB.chemical_reagents_list[R2]
@@ -118,7 +118,7 @@
if(CR)
if(CR.FermiChem)
switch(CR.ThermicConstant)
- if(-INFINITY to -9.9)
+ if(-INFINITY to -9.9)
outstring += "- Extremely endothermic
"
if(-9.9 to -4.9)
outstring += "- Very endothermic
"
@@ -137,7 +137,9 @@
//if(CR.cheesey)
//outstring += "- Dangerously Cheesey
"
- outstring += "
| "
+ outstring += "
| "
+ else
+ outstring += " | "
//Description, OD, Addict, Meta
outstring += "[R.description] | - Metabolism_rate: [R.metabolization_rate/2]u/s
[(R.overdose_threshold?"- Overdose: [R.overdose_threshold]u
":"")] [(R.addiction_threshold?"- Addiction: [R.addiction_threshold]u
":"")] "
@@ -176,11 +178,8 @@
if(CR.required_catalysts)
for(var/R2 in CR.required_catalysts)
R3 = GLOB.chemical_reagents_list[R2]
- outstring += "- [R3.name]: [CR.required_catalysts[R3.id]]u
"
- outstring += "
| "
-
- //description
- outstring += " fill in manually | "
+ outstring += "- Catalyst: [R3.name]: [CR.required_catalysts[R3.id]]u
"
+ outstring += "
| "
//Reaction vars
if(CR.FermiChem)
@@ -192,5 +191,8 @@
if(CR.mob_react)
outstring += "- Can react in mob: Yes
"
- outstring += "
|\n"
+ //description
+ outstring += "
| fill in manually "
+
+ outstring += "|\n"
return outstring
From 41c8c7dde6ff9adb23fbb37692e3d75471c29fe3 Mon Sep 17 00:00:00 2001
From: Fermi <>
Date: Mon, 16 Sep 2019 01:12:49 +0100
Subject: [PATCH 11/16] Why tho
---
code/modules/reagents/chem_wiki_render.dm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/code/modules/reagents/chem_wiki_render.dm b/code/modules/reagents/chem_wiki_render.dm
index 6495b97404..7565f90818 100644
--- a/code/modules/reagents/chem_wiki_render.dm
+++ b/code/modules/reagents/chem_wiki_render.dm
@@ -118,7 +118,7 @@
if(CR)
if(CR.FermiChem)
switch(CR.ThermicConstant)
- if(-INFINITY to -9.9)
+ if(-INFINITY to -9.9)
outstring += "- Extremely endothermic
"
if(-9.9 to -4.9)
outstring += "- Very endothermic
"
@@ -134,7 +134,7 @@
outstring += "- Extremely exothermic
"
if(19.9 to INFINITY )
outstring += "- **Dangerously exothermic**
"
- //if(CR.cheesey)
+ //if("cheesey")
//outstring += "- Dangerously Cheesey
"
outstring += "
| "
@@ -187,6 +187,7 @@
if(CR.is_cold_recipe)
outstring += "Cold: Yes"
if(CR.required_container)
+
outstring += "Required container: [CR.required_container]"
if(CR.mob_react)
outstring += "Can react in mob: Yes"
From 6814aae0f8d947fda0b5b3840e4d720e27eb0660 Mon Sep 17 00:00:00 2001
From: Fermi <>
Date: Mon, 16 Sep 2019 21:28:23 +0100
Subject: [PATCH 12/16] Tweaks!
---
code/modules/reagents/chem_wiki_render.dm | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/code/modules/reagents/chem_wiki_render.dm b/code/modules/reagents/chem_wiki_render.dm
index 7565f90818..3d35b7e4db 100644
--- a/code/modules/reagents/chem_wiki_render.dm
+++ b/code/modules/reagents/chem_wiki_render.dm
@@ -92,7 +92,7 @@
return ""
- var/outstring = "|!\[[R.color]\](https://placehold.it/15/[copytext(R.color, 2, 8)]/000000?text=+)[R.name]
pH: [R.pH] | "
+ var/outstring = "|!\[[R.color]\](https://placehold.it/15/[copytext(R.color, 2, 8)]/000000?text=+)[R.name]
pH: [R.pH] | "
var/datum/reagent/R3
if(CR)
outstring += ""
@@ -146,13 +146,21 @@
if(R.ImpureChem != "fermiTox" || !R.ImpureChem)
R3 = GLOB.chemical_reagents_list[R.ImpureChem]
- outstring += "- Impure chem:[R3.name]
"
+ outstring += "- Impure chem:[R3.name]
"
if(R.InverseChem != "fermiTox" || !R.InverseChem)
R3 = GLOB.chemical_reagents_list[R.InverseChem]
- outstring += "- Inverse chem:[R3.name]
"
+ outstring += "- Inverse chem:[R3.name]
"
+
+
if(CR)
+ if(CR.required_container)
+ /*var/obj/item/I
+ I = istype(I, CR.required_container) if you can work out how to get this to work, by all means.
+ outstring += "- Required container: [I.name]
"*/
+ outstring += "- Required container: [CR.required_container]
"
+
if(CR.FermiChem)
outstring += "- Minimum purity: [CR.PurityMin]
[(CR.FermiExplode?"- Special explosion: Yes
":"")]"
@@ -182,12 +190,13 @@
outstring += "
| "
//Reaction vars
+ if(CR.required_temp)
+ outstring += "- Min react temp: [CR.required_temp]K
"
if(CR.FermiChem)
outstring += "[(CR.FermiChem?"- Min react temp: [CR.OptimalTempMin]K
":"[(CR.required_temp?"- Min react temp: [CR.required_temp]K
":"")]")] [(CR.FermiChem?"- Explosion temp: [CR.ExplodeTemp]K
":"")] [(CR.FermiChem?"- pH range: [max((CR.OptimalpHMin - CR.ReactpHLim), 0)] to [min((CR.OptimalpHMax + CR.ReactpHLim), 14)]
":"")] - Minimum purity: [CR.PurityMin] [(CR.FermiExplode?"
- Special explosion: Yes
":"")]"
if(CR.is_cold_recipe)
outstring += "- Cold: Yes
"
if(CR.required_container)
-
outstring += "- Required container: [CR.required_container]
"
if(CR.mob_react)
outstring += "- Can react in mob: Yes
"
From 8b477a8bcf03bb54f02bd26c9d71b2a3748609a8 Mon Sep 17 00:00:00 2001
From: Fermi <>
Date: Fri, 20 Sep 2019 23:30:51 +0100
Subject: [PATCH 13/16] Edits output to be a .md and now you can open it in
game!! Magic!
---
code/__HELPERS/files.dm | 2 +-
code/modules/reagents/chem_wiki_render.dm | 14 ++++++++++++--
2 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/code/__HELPERS/files.dm b/code/__HELPERS/files.dm
index 7f0b5a3c07..5271b407a5 100644
--- a/code/__HELPERS/files.dm
+++ b/code/__HELPERS/files.dm
@@ -3,7 +3,7 @@
for(var/file in args)
src << browse_rsc(file)
-/client/proc/browse_files(root="data/logs/", max_iterations=10, list/valid_extensions=list("txt","log","htm", "html"))
+/client/proc/browse_files(root="data/logs/", max_iterations=10, list/valid_extensions=list("txt","log","htm", "html", "md"))
var/path = root
for(var/i=0, i
Date: Sat, 21 Sep 2019 01:23:26 +0100
Subject: [PATCH 14/16] Should be kinda working maybe. But with feeling!!
---
code/modules/reagents/chem_wiki_render.dm | 134 +++++++++++++++++++++-
1 file changed, 133 insertions(+), 1 deletion(-)
diff --git a/code/modules/reagents/chem_wiki_render.dm b/code/modules/reagents/chem_wiki_render.dm
index c8d68c73a8..c354d0271e 100644
--- a/code/modules/reagents/chem_wiki_render.dm
+++ b/code/modules/reagents/chem_wiki_render.dm
@@ -27,9 +27,138 @@
var/fermi = ""
var/remainder = ""
var/drug = ""
+ var/basic = ""
+ var/upgraded = ""
+ var/drinks = ""
+ var/alco = ""
+ var/grinded = ""
+ //var/impure
+
+ //Chem_dispencer
+ var/list/dispensable_reagents = list(
+ "hydrogen",
+ "lithium",
+ "carbon",
+ "nitrogen",
+ "oxygen",
+ "fluorine",
+ "sodium",
+ "aluminium",
+ "silicon",
+ "phosphorus",
+ "sulfur",
+ "chlorine",
+ "potassium",
+ "iron",
+ "copper",
+ "mercury",
+ "radium",
+ "water",
+ "ethanol",
+ "sugar",
+ "sacid",
+ "welding_fuel",
+ "silver",
+ "iodine",
+ "bromine",
+ "stable_plasma"
+ )
+ var/list/components = list(
+ "oil",
+ "ammonia",
+ "ash",
+ "acetone",
+ "phenol",
+ "diethylamine",
+ "saltpetre",
+ "sodiumchloride",
+ "lye"
+ )
+
+ var/list/grind = list(
+ "bluespace",
+ "gold",
+ "plasma",
+ "uranium"
+ )
+
+ //Bartender
+ var/dispence_drinks = list(
+ "water",
+ "ice",
+ "coffee",
+ "cream",
+ "tea",
+ "icetea",
+ "cola",
+ "spacemountainwind",
+ "dr_gibb",
+ "space_up",
+ "tonic",
+ "sodawater",
+ "lemon_lime",
+ "pwr_game",
+ "shamblers",
+ "sugar",
+ "orangejuice",
+ "grenadine",
+ "limejuice",
+ "tomatojuice",
+ "lemonjuice",
+ "menthol"
+ )
+ var/dispence_alco = list(
+ "beer",
+ "kahlua",
+ "whiskey",
+ "wine",
+ "vodka",
+ "gin",
+ "rum",
+ "tequila",
+ "vermouth",
+ "cognac",
+ "ale",
+ "absinthe",
+ "hcider",
+ "creme_de_menthe",
+ "creme_de_cacao",
+ "triple_sec",
+ "sake",
+ "applejack"
+ )
+
+
for(var/i = 1, i <= 2, i+=1)
for(var/X in GLOB.chemical_reagents_list)
R = GLOB.chemical_reagents_list[X]
+
+ for(var/Y in dispensable_reagents) //Why do you have to do this
+ if(R.id == Y)
+ basic += generate_chemwiki_line(R, X, processCR)
+ continue
+
+ for(var/Y in components)
+ if(R.id == Y)
+ upgraded += generate_chemwiki_line(R, X, processCR)
+ continue
+
+ for(var/Y in dispence_drinks)
+ if(R.id == Y)
+ drinks += generate_chemwiki_line(R, X, processCR)
+ continue
+
+ for(var/Y in dispence_alco)
+ if(R.id == Y)
+ alco += generate_chemwiki_line(R, X, processCR)
+ continue
+
+ for(var/Y in dispence_alco)
+ if(R.id == Y)
+ grinded += generate_chemwiki_line(R, X, processCR)
+ continue
+
+
if(istype(R, /datum/reagent/medicine))
medicine += generate_chemwiki_line(R, X, processCR)
@@ -59,6 +188,7 @@
/* when merged
else if(istype(R, /datum/reagent/impure))
+ impure += generate_chemwiki_line(R, X, processCR)
*/
else
@@ -71,7 +201,9 @@
processCR = FALSE
to_chat(usr, "finished chems")
- var/wholeString = ("\n# BASIC REAGENTS\n\n[prefix][remainder]\n\n# MEDICINE:\n\n[prefix][medicine]\n\n# TOXIN:\n\n[prefix][toxin]\n\n# DRUGS\n\n[prefix][drug]\n\n# FERMI\n\nThese chems lie on the cutting edge of chemical technology, and as such are not recommended for beginners!\n\n[prefix][fermi]\n\n# CONSUMABLE\n\n[prefix][consumable]\n\n# PLANTS\n\n[prefix][plant]\n\n# URANIUM\n\n[prefix][uranium]\n\n# COLOURS\n\n[prefix][colours]\n\n# RACE MUTATIONS\n\n[prefix][muta]\n\n")
+
+ var/wholeString = ("\n# DISPENCEABLE REAGENTS\n\n[prefix][basic]\n\n# UPGRADED DISPENCEABLE REAGENTS\n\n[prefix][upgraded]\n\n# GRINDABLE REAGENTS\n\n[prefix][grind]\n")
+ wholeString += ("\n# MEDICINE:\n\n[prefix][medicine]\n\n# TOXIN:\n\n[prefix][toxin]\n\n# DRUGS\n\n[prefix][drug]\n\n# FERMI\n\nThese chems lie on the cutting edge of chemical technology, and as such are not recommended for beginners!\n\n[prefix][fermi]\n\n# GENERAL REAGENTS\n\n[prefix][remainder]\n\n# DISPENCEABLE SOFT DRINKS\n\n[prefix][drinks]\n\n# DISPENCEABLE HARD DRINKS\n\n[prefix][alco]\n\n# CONSUMABLE\n\n[prefix][consumable]\n\n# PLANTS\n\n[prefix][plant]\n\n# URANIUM\n\n[prefix][uranium]\n\n# COLOURS\n\n[prefix][colours]\n\n# RACE MUTATIONS\n\n[prefix][muta]\n\n")
prefix = "|Name | Reagents | Reaction vars | Description |\n|---|---|---|----------|\n"
var/CRparse = ""
From f37215ec5af766de779574303bb69100029cc668 Mon Sep 17 00:00:00 2001
From: Fermi <>
Date: Sat, 21 Sep 2019 01:26:48 +0100
Subject: [PATCH 15/16] Okay, few misses.
---
code/modules/reagents/chem_wiki_render.dm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/code/modules/reagents/chem_wiki_render.dm b/code/modules/reagents/chem_wiki_render.dm
index c354d0271e..746aa874c1 100644
--- a/code/modules/reagents/chem_wiki_render.dm
+++ b/code/modules/reagents/chem_wiki_render.dm
@@ -10,7 +10,7 @@
var/prefix = "|Name | Reagents | Reaction vars | Description | Chem properties |\n|---|---|---|-----------|---|\n"
///datum/reagent/medicine, /datum/reagent/toxin, /datum/reagent/consumable, /datum/reagent/plantnutriment, /datum/reagent/uranium,
- ///datum/reagent/colorful_reagent, /datum/reagent/mutationtoxin, /datum/reagent/fermi, /datum/reagent/drug
+ ///datum/reagent/colorful_reagent, /datum/reagent/mutationtoxin, /datum/reagent/fermi, /datum/reagent/drug, /datum/reagent/impure
//Probably not the most eligant of solutions.
to_chat(usr, "Attempting reagent scan. Length of list [LAZYLEN(GLOB.chemical_reagents_list)*2]")
@@ -153,7 +153,7 @@
alco += generate_chemwiki_line(R, X, processCR)
continue
- for(var/Y in dispence_alco)
+ for(var/Y in grind)
if(R.id == Y)
grinded += generate_chemwiki_line(R, X, processCR)
continue
@@ -202,7 +202,7 @@
to_chat(usr, "finished chems")
- var/wholeString = ("\n# DISPENCEABLE REAGENTS\n\n[prefix][basic]\n\n# UPGRADED DISPENCEABLE REAGENTS\n\n[prefix][upgraded]\n\n# GRINDABLE REAGENTS\n\n[prefix][grind]\n")
+ var/wholeString = ("\n# DISPENCEABLE REAGENTS\n\n[prefix][basic]\n\n# UPGRADED DISPENCEABLE REAGENTS\n\n[prefix][upgraded]\n\n# GRINDABLE REAGENTS\n\n[prefix][grinded]\n")
wholeString += ("\n# MEDICINE:\n\n[prefix][medicine]\n\n# TOXIN:\n\n[prefix][toxin]\n\n# DRUGS\n\n[prefix][drug]\n\n# FERMI\n\nThese chems lie on the cutting edge of chemical technology, and as such are not recommended for beginners!\n\n[prefix][fermi]\n\n# GENERAL REAGENTS\n\n[prefix][remainder]\n\n# DISPENCEABLE SOFT DRINKS\n\n[prefix][drinks]\n\n# DISPENCEABLE HARD DRINKS\n\n[prefix][alco]\n\n# CONSUMABLE\n\n[prefix][consumable]\n\n# PLANTS\n\n[prefix][plant]\n\n# URANIUM\n\n[prefix][uranium]\n\n# COLOURS\n\n[prefix][colours]\n\n# RACE MUTATIONS\n\n[prefix][muta]\n\n")
prefix = "|Name | Reagents | Reaction vars | Description |\n|---|---|---|----------|\n"
From 0d49fdff545c5db2408611d389b3cae0e6fec600 Mon Sep 17 00:00:00 2001
From: Fermi <>
Date: Sat, 21 Sep 2019 01:37:35 +0100
Subject: [PATCH 16/16] Blob
---
code/modules/reagents/chem_wiki_render.dm | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/code/modules/reagents/chem_wiki_render.dm b/code/modules/reagents/chem_wiki_render.dm
index 746aa874c1..e403e147a6 100644
--- a/code/modules/reagents/chem_wiki_render.dm
+++ b/code/modules/reagents/chem_wiki_render.dm
@@ -32,6 +32,7 @@
var/drinks = ""
var/alco = ""
var/grinded = ""
+ var/blob = ""
//var/impure
//Chem_dispencer
@@ -186,6 +187,9 @@
else if(istype(R, /datum/reagent/drug))
drug += generate_chemwiki_line(R, X, processCR)
+ else if(istype(R, /datum/reagent/blob))
+ blob += generate_chemwiki_line(R, X, processCR)
+
/* when merged
else if(istype(R, /datum/reagent/impure))
impure += generate_chemwiki_line(R, X, processCR)
@@ -202,8 +206,8 @@
to_chat(usr, "finished chems")
- var/wholeString = ("\n# DISPENCEABLE REAGENTS\n\n[prefix][basic]\n\n# UPGRADED DISPENCEABLE REAGENTS\n\n[prefix][upgraded]\n\n# GRINDABLE REAGENTS\n\n[prefix][grinded]\n")
- wholeString += ("\n# MEDICINE:\n\n[prefix][medicine]\n\n# TOXIN:\n\n[prefix][toxin]\n\n# DRUGS\n\n[prefix][drug]\n\n# FERMI\n\nThese chems lie on the cutting edge of chemical technology, and as such are not recommended for beginners!\n\n[prefix][fermi]\n\n# GENERAL REAGENTS\n\n[prefix][remainder]\n\n# DISPENCEABLE SOFT DRINKS\n\n[prefix][drinks]\n\n# DISPENCEABLE HARD DRINKS\n\n[prefix][alco]\n\n# CONSUMABLE\n\n[prefix][consumable]\n\n# PLANTS\n\n[prefix][plant]\n\n# URANIUM\n\n[prefix][uranium]\n\n# COLOURS\n\n[prefix][colours]\n\n# RACE MUTATIONS\n\n[prefix][muta]\n\n")
+ var/wholeString = ("\n# DISPENCEABLE REAGENTS\n\n[prefix][basic]\n\n# COMPONENT REAGENTS\n\n[prefix][upgraded]\n\n# GRINDABLE REAGENTS\n\n[prefix][grinded]\n")
+ wholeString += ("\n# MEDICINE:\n\n[prefix][medicine]\n\n# TOXIN:\n\n[prefix][toxin]\n\n# DRUGS\n\n[prefix][drug]\n\n# FERMI\n\nThese chems lie on the cutting edge of chemical technology, and as such are not recommended for beginners!\n\n[prefix][fermi]\n\n# GENERAL REAGENTS\n\n[prefix][remainder]\n\n# DISPENCEABLE SOFT DRINKS\n\n[prefix][drinks]\n\n# DISPENCEABLE HARD DRINKS\n\n[prefix][alco]\n\n# CONSUMABLE\n\n[prefix][consumable]\n\n# PLANTS\n\n[prefix][plant]\n\n# URANIUM\n\n[prefix][uranium]\n\n# COLOURS\n\n[prefix][colours]\n\n# RACE MUTATIONS\n\n[prefix][muta]\n\n\n# BLOB REAGENTS\n\n[prefix][blob]\n")
prefix = "|Name | Reagents | Reaction vars | Description |\n|---|---|---|----------|\n"
var/CRparse = ""