From adf877b0ceb5d87804dca82ec79372cc66e16e60 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Mon, 8 Nov 2021 20:51:59 +0000 Subject: [PATCH] [MIRROR] Blacklists some reagents that are about unobtainable short of RNG seeds and antagonists from randomized recipes. [MDB IGNORE] (#9313) * Blacklists some reagents that are about unobtainable short of RNG seeds and antagonists from randomized recipes. (#62611) * Blacklists some reagents that are about unobtainable short of RNG seeds and antagonists but are still synthetizable from randomized recipes. * Update toxin_reagents.dm * Blacklists some reagents that are about unobtainable short of RNG seeds and antagonists from randomized recipes. Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> --- code/__DEFINES/reagents.dm | 2 + .../chemistry/reagents/drug_reagents.dm | 1 - .../chemistry/reagents/medicine_reagents.dm | 12 ++--- .../chemistry/reagents/other_reagents.dm | 54 +++++++++---------- .../chemistry/reagents/toxin_reagents.dm | 24 ++++----- .../reagents/chemistry/recipes/special.dm | 34 +++++++----- 6 files changed, 69 insertions(+), 58 deletions(-) diff --git a/code/__DEFINES/reagents.dm b/code/__DEFINES/reagents.dm index 77ffcabf5ba..f24fff24a9d 100644 --- a/code/__DEFINES/reagents.dm +++ b/code/__DEFINES/reagents.dm @@ -84,6 +84,8 @@ #define REAGENT_CAN_BE_SYNTHESIZED (1<<5) ///Allows a reagent to work on a mob regardless of stasis #define REAGENT_IGNORE_STASIS (1<<6) +///This reagent won't be used in most randomized recipes. Meant for reagents that could be synthetized but are normally inaccessible or TOO hard to get. +#define REAGENT_NO_RANDOM_RECIPE (1<<7) //Chemical reaction flags, for determining reaction specialties ///Convert into impure/pure on reaction completion diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm index 11e30658203..18488bd4fbd 100644 --- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm @@ -356,7 +356,6 @@ metabolization_rate = 0.5 * REAGENTS_METABOLISM overdose_threshold = 15 chemical_flags = REAGENT_CAN_BE_SYNTHESIZED - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED addiction_types = list(/datum/addiction/maintenance_drugs = 14) /datum/reagent/drug/maint/powder/on_mob_life(mob/living/carbon/M, delta_time, times_fired) diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 1cbafaba298..ef4a7a83662 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -1014,7 +1014,7 @@ metabolization_rate = 0.5 * REAGENTS_METABOLISM overdose_threshold = 60 ph = 8.7 - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE addiction_types = list(/datum/addiction/stimulants = 4) //0.8 per 2 seconds /datum/reagent/medicine/stimulants/on_mob_metabolize(mob/living/L) @@ -1112,7 +1112,7 @@ color = "#555555" overdose_threshold = 30 ph = 11 - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/medicine/syndicate_nanites/on_mob_life(mob/living/carbon/M, delta_time, times_fired) M.adjustBruteLoss(-5 * REM * delta_time, 0) //A ton of healing - this is a 50 telecrystal investment. @@ -1214,7 +1214,7 @@ description = "Reduces the duration of unconciousness, knockdown and stuns. Restores stamina, but deals toxin damage when overdosed." color = "#C1151D" overdose_threshold = 30 - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/medicine/changelingadrenaline/on_mob_life(mob/living/carbon/metabolizer, delta_time, times_fired) ..() @@ -1248,7 +1248,7 @@ description = "Drastically increases movement speed, but deals toxin damage." color = "#AE151D" metabolization_rate = 2.5 * REAGENTS_METABOLISM - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/medicine/changelinghaste/on_mob_metabolize(mob/living/L) ..() @@ -1283,7 +1283,7 @@ description = "A strange, pitch-black reagent that seems to absorb all light. Effects unknown." color = "#000000" self_consuming = TRUE - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/medicine/cordiolis_hepatico/on_mob_add(mob/living/M) ..() @@ -1298,7 +1298,7 @@ /datum/reagent/medicine/muscle_stimulant name = "Muscle Stimulant" description = "A potent chemical that allows someone under its influence to be at full physical ability even when under massive amounts of pain." - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/medicine/muscle_stimulant/on_mob_metabolize(mob/living/L) . = ..() diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 72f692fa1d2..e380c700048 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -374,7 +374,7 @@ description = "YOUR FLESH! IT BURNS!" taste_description = "burning" ph = 0.1 - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/hellwater/on_mob_life(mob/living/carbon/M, delta_time, times_fired) M.set_fire_stacks(min(M.fire_stacks + (1.5 * delta_time), 5)) @@ -411,7 +411,7 @@ name = "Super Duper Lube" description = "This \[REDACTED\] has been outlawed after the incident on \[DATA EXPUNGED\]." lube_kind = TURF_WET_SUPERLUBE - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/spraytan name = "Spray Tan" @@ -574,7 +574,7 @@ color = "#5EFF3B" //RGB: 94, 255, 59 race = /datum/species/human/felinid taste_description = "something nyat good" - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/mutationtoxin/lizard name = "Lizard Mutation Toxin" @@ -590,7 +590,7 @@ color = "#5EFF3B" //RGB: 94, 255, 59 race = /datum/species/fly taste_description = "trash" - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/mutationtoxin/moth name = "Moth Mutation Toxin" @@ -598,7 +598,7 @@ color = "#5EFF3B" //RGB: 94, 255, 59 race = /datum/species/moth taste_description = "clothing" - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/mutationtoxin/pod name = "Podperson Mutation Toxin" @@ -606,7 +606,7 @@ color = "#5EFF3B" //RGB: 94, 255, 59 race = /datum/species/pod taste_description = "flowers" - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/mutationtoxin/jelly name = "Imperfect Mutation Toxin" @@ -639,7 +639,7 @@ color = "#5EFF3B" //RGB: 94, 255, 59 race = /datum/species/golem/random taste_description = "rocks" - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/mutationtoxin/abductor name = "Abductor Mutation Toxin" @@ -647,7 +647,7 @@ color = "#5EFF3B" //RGB: 94, 255, 59 race = /datum/species/abductor taste_description = "something out of this world... no, universe!" - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/mutationtoxin/android name = "Android Mutation Toxin" @@ -655,7 +655,7 @@ color = "#5EFF3B" //RGB: 94, 255, 59 race = /datum/species/android taste_description = "circuitry and steel" - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE //BLACKLISTED RACES /datum/reagent/mutationtoxin/skeleton @@ -664,7 +664,7 @@ color = "#5EFF3B" //RGB: 94, 255, 59 race = /datum/species/skeleton taste_description = "milk... and lots of it" - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/mutationtoxin/zombie name = "Zombie Mutation Toxin" @@ -672,7 +672,7 @@ color = "#5EFF3B" //RGB: 94, 255, 59 race = /datum/species/zombie //Not the infectious kind. The days of xenobio zombie outbreaks are long past. taste_description = "brai...nothing in particular" - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/mutationtoxin/ash name = "Ash Mutation Toxin" @@ -680,7 +680,7 @@ color = "#5EFF3B" //RGB: 94, 255, 59 race = /datum/species/lizard/ashwalker taste_description = "savagery" - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE //DANGEROUS RACES /datum/reagent/mutationtoxin/shadow @@ -689,7 +689,7 @@ color = "#5EFF3B" //RGB: 94, 255, 59 race = /datum/species/shadow taste_description = "the night" - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/mutationtoxin/plasma name = "Plasma Mutation Toxin" @@ -697,7 +697,7 @@ color = "#5EFF3B" //RGB: 94, 255, 59 race = /datum/species/plasmaman taste_description = "plasma" - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE #undef MUT_MSG_IMMEDIATE #undef MUT_MSG_EXTENDED @@ -1396,7 +1396,7 @@ color = "E1A116" taste_description = "sourness" ph = 1.8 - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE addiction_types = list(/datum/addiction/stimulants = 14) /datum/reagent/stimulum/on_mob_metabolize(mob/living/L) @@ -1422,7 +1422,7 @@ color = "90560B" taste_description = "burning" ph = 2 - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/nitryl/on_mob_metabolize(mob/living/L) ..() @@ -1439,7 +1439,7 @@ metabolization_rate = REAGENTS_METABOLISM * 0.5 // Because stimulum/nitryl/freon/hypernoblium are handled through gas breathing, metabolism must be lower for breathcode to keep up color = "90560B" taste_description = "burning" - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/freon/on_mob_metabolize(mob/living/L) . = ..() @@ -1456,7 +1456,7 @@ metabolization_rate = REAGENTS_METABOLISM * 0.5 // Because stimulum/nitryl/freon/hyper-nob are handled through gas breathing, metabolism must be lower for breathcode to keep up color = "90560B" taste_description = "searingly cold" - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/hypernoblium/on_mob_metabolize(mob/living/L) . = ..() @@ -1475,7 +1475,7 @@ metabolization_rate = REAGENTS_METABOLISM * 0.5 color = "90560B" taste_description = "rubbery" - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/healium/on_mob_metabolize(mob/living/L) . = ..() @@ -1498,7 +1498,7 @@ metabolization_rate = REAGENTS_METABOLISM * 0.5 color = "90560B" taste_description = "minty" - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/halon/on_mob_metabolize(mob/living/L) . = ..() @@ -2329,7 +2329,7 @@ description = "An experimental serum which causes rapid muscular growth in Hominidae. Side-affects may include hypertrichosis, violent outbursts, and an unending affinity for bananas." reagent_state = LIQUID color = "#00f041" - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/magillitis/on_mob_life(mob/living/carbon/M, delta_time, times_fired) ..() @@ -2435,7 +2435,7 @@ color = "#FAFF00" taste_description = "acrid cinnamon" metabolization_rate = 0.2 * REAGENTS_METABOLISM - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/bz_metabolites/on_mob_life(mob/living/L, delta_time, times_fired) if(L.mind) @@ -2451,14 +2451,14 @@ name = "synthpax" description = "A colorless liquid that suppresses violence in its subjects. Cheaper to synthesize than normal Pax, but wears off faster." metabolization_rate = 1.5 * REAGENTS_METABOLISM - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/peaceborg/confuse name = "Dizzying Solution" description = "Makes the target off balance and dizzy" metabolization_rate = 1.5 * REAGENTS_METABOLISM taste_description = "dizziness" - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/peaceborg/confuse/on_mob_life(mob/living/carbon/M, delta_time, times_fired) if(M.get_confusion() < 6) @@ -2474,7 +2474,7 @@ description = "An extremely weak stamina-toxin that tires out the target. Completely harmless." metabolization_rate = 1.5 * REAGENTS_METABOLISM taste_description = "tiredness" - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/peaceborg/tire/on_mob_life(mob/living/carbon/M, delta_time, times_fired) var/healthcomp = (100 - M.health) //DOES NOT ACCOUNT FOR ADMINBUS THINGS THAT MAKE YOU HAVE MORE THAN 200/210 HEALTH, OR SOMETHING OTHER THAN A HUMAN PROCESSING THIS. @@ -2590,7 +2590,7 @@ description = "A purple metal morphic liquid, said to impose it's metallic properties on whatever it touches." color = "#b000aa" taste_mult = 0 // oderless and tasteless - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /// The material flags used to apply the transmuted materials var/applied_material_flags = MATERIAL_EFFECTS | MATERIAL_ADD_PREFIX | MATERIAL_COLOR /// The amount of materials to apply to the transmuted objects if they don't contain materials @@ -2694,7 +2694,7 @@ taste_description = "Ag'hsj'saje'sh" color = "#1f8016" metabolization_rate = 2.5 * REAGENTS_METABOLISM //0.5u/second - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/eldritch/on_mob_life(mob/living/carbon/M, delta_time, times_fired) if(IS_HERETIC(M)) diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index 4fb5d09310c..d71b34c7bdb 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -407,7 +407,7 @@ color = "#9ACD32" toxpwr = 1 ph = 11 - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/toxin/spore/on_mob_life(mob/living/carbon/C, delta_time, times_fired) C.damageoverlaytemp = 60 @@ -422,7 +422,7 @@ toxpwr = 0.5 taste_description = "burning" ph = 13 - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/toxin/spore_burning/on_mob_life(mob/living/carbon/M, delta_time, times_fired) M.adjust_fire_stacks(2 * REM * delta_time) @@ -467,7 +467,7 @@ glass_name = "glass of beer" glass_desc = "A freezing pint of beer." ph = 2 - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/toxin/fakebeer/on_mob_life(mob/living/carbon/M, delta_time, times_fired) switch(current_cycle) @@ -545,7 +545,7 @@ color = "#787878" metabolization_rate = 0.125 * REAGENTS_METABOLISM toxpwr = 0 - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/toxin/polonium/on_mob_life(mob/living/carbon/M, delta_time, times_fired) if (!HAS_TRAIT(M, TRAIT_IRRADIATED) && SSradiation.can_irradiate_basic(M)) @@ -564,7 +564,7 @@ metabolization_rate = 0.25 * REAGENTS_METABOLISM overdose_threshold = 30 toxpwr = 0 - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/toxin/histamine/on_mob_life(mob/living/carbon/M, delta_time, times_fired) if(DT_PROB(30, delta_time)) @@ -618,7 +618,7 @@ color = "#F0FFF0" metabolization_rate = 0.25 * REAGENTS_METABOLISM toxpwr = 0 - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE ///Mob Size of the current mob sprite. var/current_size = RESIZE_DEFAULT_SIZE @@ -739,7 +739,7 @@ color = "#7F10C0" metabolization_rate = 0.5 * REAGENTS_METABOLISM toxpwr = 2.5 - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/toxin/initropidril/on_mob_life(mob/living/carbon/C, delta_time, times_fired) if(DT_PROB(13, delta_time)) @@ -772,7 +772,7 @@ metabolization_rate = 0.25 * REAGENTS_METABOLISM toxpwr = 0 taste_mult = 0 // undetectable, I guess? - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/toxin/pancuronium/on_mob_life(mob/living/carbon/M, delta_time, times_fired) if(current_cycle >= 10) @@ -790,7 +790,7 @@ color = "#6496FA" metabolization_rate = 0.75 * REAGENTS_METABOLISM toxpwr = 0 - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/medicine/sodium_thiopental/on_mob_add(mob/living/L, amount) . = ..() @@ -890,7 +890,7 @@ overdose_threshold = 29 toxpwr = 0 taste_description = "vomit" - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/toxin/spewium/on_mob_life(mob/living/carbon/C, delta_time, times_fired) .=..() @@ -914,7 +914,7 @@ color = "#191919" metabolization_rate = 0.125 * REAGENTS_METABOLISM toxpwr = 1 - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/toxin/curare/on_mob_life(mob/living/carbon/M, delta_time, times_fired) if(current_cycle >= 11) @@ -1094,7 +1094,7 @@ toxpwr = 0 var/actual_toxpwr = 5 var/delay = 30 - chemical_flags = REAGENT_CAN_BE_SYNTHESIZED + chemical_flags = REAGENT_CAN_BE_SYNTHESIZED|REAGENT_NO_RANDOM_RECIPE /datum/reagent/toxin/delayed/on_mob_life(mob/living/carbon/M, delta_time, times_fired) if(current_cycle > delay) diff --git a/code/modules/reagents/chemistry/recipes/special.dm b/code/modules/reagents/chemistry/recipes/special.dm index 9e5447c2da5..56090bb5eda 100644 --- a/code/modules/reagents/chemistry/recipes/special.dm +++ b/code/modules/reagents/chemistry/recipes/special.dm @@ -1,32 +1,40 @@ GLOBAL_LIST_INIT(food_reagents, build_reagents_to_food()) //reagentid = related food types GLOBAL_LIST_INIT(medicine_reagents, build_medicine_reagents()) +#define VALID_RANDOM_RECIPE_REAGENT(chemical_flags) (chemical_flags & REAGENT_CAN_BE_SYNTHESIZED && !(chemical_flags & REAGENT_NO_RANDOM_RECIPE)) + /proc/build_reagents_to_food() . = list() for (var/type in subtypesof(/obj/item/reagent_containers/food)) var/obj/item/reagent_containers/food/item = new type() - for(var/r in item.list_reagents) - if (!.[r]) - .[r] = list() - .[r] += type + for(var/datum/reagent/reagent as anything in item.list_reagents) + var/chem_flags = initial(reagent.chemical_flags) + if(!VALID_RANDOM_RECIPE_REAGENT(chem_flags)) + continue + if (!.[reagent]) + .[reagent] = list() + .[reagent] += type qdel(item) //dang plant snowflake for (var/type in subtypesof(/obj/item/seeds)) var/obj/item/seeds/item = new type() - for(var/r in item.reagents_add) - if (!.[r]) - .[r] = list() - .[r] += type + for(var/datum/reagent/reagent as anything in item.reagents_add) + var/chem_flags = initial(reagent.chemical_flags) + if(!VALID_RANDOM_RECIPE_REAGENT(chem_flags)) + continue + if (!.[reagent]) + .[reagent] = list() + .[reagent] += type qdel(item) ///Just grab every craftable medicine you can think off /proc/build_medicine_reagents() . = list() - for(var/A in subtypesof(/datum/reagent/medicine)) - var/datum/reagent/R = A - if(initial(R.chemical_flags) & REAGENT_CAN_BE_SYNTHESIZED) - . += R + for(var/datum/reagent/reagent as anything in subtypesof(/datum/reagent/medicine)) + var/chem_flags = initial(reagent.chemical_flags) + if(VALID_RANDOM_RECIPE_REAGENT(chem_flags)) + . += reagent #define RNGCHEM_INPUT "input" #define RNGCHEM_CATALYSTS "catalysts" @@ -323,3 +331,5 @@ GLOBAL_LIST_INIT(medicine_reagents, build_medicine_reagents()) dat += "." info = dat.Join("") update_appearance() + +#undef VALID_RANDOM_RECIPE_REAGENT