From 80b79ef94e74230e95b299ae28d391dc4f5c34b7 Mon Sep 17 00:00:00 2001 From: Fermi <> Date: Sat, 14 Sep 2019 02:26:06 +0100 Subject: [PATCH] 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 += " | " 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 += "| " //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] | |\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 |