From feecce9d2e027ae8f535d57dc9ec44376f85dcbe Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Thu, 10 Nov 2016 21:59:19 -0500 Subject: [PATCH] OOP blacklist --- code/game/mecha/equipment/tools/medical_tools.dm | 2 +- code/modules/reagents/chemistry/reagents.dm | 1 + code/modules/reagents/chemistry/reagents/admin.dm | 1 + code/modules/reagents/chemistry/reagents/alcohol.dm | 1 + code/modules/reagents/chemistry/reagents/blob.dm | 1 + code/modules/reagents/chemistry/reagents/disease.dm | 11 +++++++++++ code/modules/reagents/chemistry/reagents/medicine.dm | 3 +++ code/modules/reagents/chemistry/reagents/toxins.dm | 8 ++++++++ code/modules/reagents/chemistry/reagents/water.dm | 1 + 9 files changed, 28 insertions(+), 1 deletion(-) diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm index 23271355206..d95570cf88f 100644 --- a/code/game/mecha/equipment/tools/medical_tools.dm +++ b/code/game/mecha/equipment/tools/medical_tools.dm @@ -481,7 +481,7 @@ return 0 occupant_message("Analyzing reagents...") for(var/datum/reagent/R in A.reagents.reagent_list) - if(R.reagent_state == 2 && add_known_reagent(R.id,R.name)) + if(R.can_synth && add_known_reagent(R.id, R.name)) occupant_message("Reagent analyzed, identified as [R.name] and added to database.") send_byjax(chassis.occupant,"msyringegun.browser","reagents_form",get_reagents_form()) occupant_message("Analyzis complete.") diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm index 62fa9af672a..367c747c4e0 100644 --- a/code/modules/reagents/chemistry/reagents.dm +++ b/code/modules/reagents/chemistry/reagents.dm @@ -23,6 +23,7 @@ //By default, all reagents will ONLY affect organics, not synthetics. Re-define in the reagent's definition if the reagent is meant to affect synths var/process_flags = ORGANIC var/admin_only = 0 + var/can_synth = 1 //whether or not a mech syringe gun and synthesize this reagent var/overdose_threshold = 0 var/addiction_chance = 0 var/addiction_stage = 1 diff --git a/code/modules/reagents/chemistry/reagents/admin.dm b/code/modules/reagents/chemistry/reagents/admin.dm index 9e5b78376e2..a915ef8cd57 100644 --- a/code/modules/reagents/chemistry/reagents/admin.dm +++ b/code/modules/reagents/chemistry/reagents/admin.dm @@ -6,6 +6,7 @@ color = "#C8A5DC" // rgb: 200, 165, 220 process_flags = ORGANIC | SYNTHETIC //Adminbuse knows no bounds! admin_only = 1 + can_synth = 0 /datum/reagent/medicine/adminordrazine/on_mob_life(mob/living/carbon/M) M.setCloneLoss(0) diff --git a/code/modules/reagents/chemistry/reagents/alcohol.dm b/code/modules/reagents/chemistry/reagents/alcohol.dm index 2fcf9aacc98..536385d7614 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol.dm @@ -986,6 +986,7 @@ reagent_state = LIQUID color = "#DC0000" alcohol_perc = 1 + can_synth = 0 /datum/reagent/consumable/ethanol/dragons_breath/reaction_mob(mob/living/M, method=TOUCH, volume) if(method == INGEST && prob(20)) diff --git a/code/modules/reagents/chemistry/reagents/blob.dm b/code/modules/reagents/chemistry/reagents/blob.dm index a1fc820d282..895922c7542 100644 --- a/code/modules/reagents/chemistry/reagents/blob.dm +++ b/code/modules/reagents/chemistry/reagents/blob.dm @@ -4,6 +4,7 @@ description = "" var/message = "The blob strikes you" //message sent to any mob hit by the blob var/message_living = null //extension to first mob sent to only living mobs i.e. silicons have no skin to be burnt + can_synth = 0 /datum/reagent/blob/reaction_mob(mob/living/M, method=TOUCH, volume, show_message, touch_protection) return round(volume * min(1.5 - touch_protection, 1), 0.1) //full touch protection means 50% volume, any prot below 0.5 means 100% volume. diff --git a/code/modules/reagents/chemistry/reagents/disease.dm b/code/modules/reagents/chemistry/reagents/disease.dm index f95b729e986..f9fbf930e3e 100644 --- a/code/modules/reagents/chemistry/reagents/disease.dm +++ b/code/modules/reagents/chemistry/reagents/disease.dm @@ -4,6 +4,7 @@ description = "A fine dust containing spider eggs. Oh gosh." reagent_state = SOLID color = "#FFFFFF" + can_synth = 0 /datum/reagent/spider_eggs/on_mob_life(mob/living/M) if(volume > 2.5) @@ -18,6 +19,7 @@ id = "nanomachines" description = "Microscopic construction robots." color = "#535E66" // rgb: 83, 94, 102 + can_synth = 0 /datum/reagent/nanomachines/on_mob_life(mob/living/carbon/M) if(volume > 1.5) @@ -30,6 +32,7 @@ id = "xenomicrobes" description = "Microbes with an entirely alien cellular structure." color = "#535E66" // rgb: 83, 94, 102 + can_synth = 0 /datum/reagent/xenomicrobes/on_mob_life(mob/living/carbon/M) if(volume > 1.5) @@ -41,6 +44,7 @@ id = "fungalspores" description = "Active fungal spores." color = "#92D17D" // rgb: 146, 209, 125 + can_synth = 0 /datum/reagent/fungalspores/on_mob_life(mob/living/carbon/M) if(volume > 2.5) @@ -53,6 +57,7 @@ description = "Rapid chemical decomposition has warped these crystals into twisted spikes." reagent_state = SOLID color = "#FA0000" // rgb: 250, 0, 0 + can_synth = 0 /datum/reagent/jagged_crystals/on_mob_life(mob/living/carbon/M) M.ForceContractDisease(new /datum/disease/berserker(0)) @@ -64,6 +69,7 @@ description = "A nasty bacteria found in spoiled food." reagent_state = LIQUID color = "#1E4600" + can_synth = 0 /datum/reagent/salmonella/on_mob_life(mob/living/carbon/M) M.ForceContractDisease(new /datum/disease/food_poisoning(0)) @@ -75,6 +81,7 @@ description = "Liquid gibbis." reagent_state = LIQUID color = "#FF0000" + can_synth = 0 /datum/reagent/gibbis/on_mob_life(mob/living/carbon/M) if(volume > 2.5) @@ -87,6 +94,7 @@ description = "A disease-causing agent that is neither bacterial nor fungal nor viral and contains no genetic material." reagent_state = LIQUID color = "#FFFFFF" + can_synth = 0 /datum/reagent/prions/on_mob_life(mob/living/carbon/M) if(volume > 4.5) @@ -99,6 +107,7 @@ description = "Moldy old dust taken from a grave site." reagent_state = LIQUID color = "#465046" + can_synth = 0 /datum/reagent/grave_dust/on_mob_life(mob/living/carbon/M) if(volume > 4.5) @@ -111,6 +120,7 @@ description = "Aww, gross! These things can't be good for your heart. They're gunna eat it!" reagent_state = SOLID color = "#925D6C" + can_synth = 0 /datum/reagent/heartworms/on_mob_life(mob/living/carbon/M) if(volume > 4.5) @@ -128,6 +138,7 @@ description = "A guaranteed heart-stopper!" reagent_state = LIQUID color = "#AB1CCF" + can_synth = 0 /datum/reagent/concentrated_initro/on_mob_life(mob/living/M) if(volume >=5) diff --git a/code/modules/reagents/chemistry/reagents/medicine.dm b/code/modules/reagents/chemistry/reagents/medicine.dm index f0f11c796fc..b3b94ff7e88 100644 --- a/code/modules/reagents/chemistry/reagents/medicine.dm +++ b/code/modules/reagents/chemistry/reagents/medicine.dm @@ -698,6 +698,7 @@ id = "stimulants" description = "Increases run speed and eliminates stuns, can heal minor damage. If overdosed it will deal toxin damage and stun." color = "#C8A5DC" + can_synth = 0 /datum/reagent/medicine/stimulants/on_mob_life(mob/living/M) if(volume > 5) @@ -732,6 +733,7 @@ color = "#C8A5DC" metabolization_rate = 0.5 * REAGENTS_METABOLISM overdose_threshold = 60 + can_synth = 0 /datum/reagent/medicine/stimulative_agent/on_mob_life(mob/living/M) M.status_flags |= GOTTAGOFAST @@ -844,6 +846,7 @@ description = "Miniature medical robots that swiftly restore bodily damage. May begin to attack their host's cells in high amounts." reagent_state = SOLID color = "#555555" + can_synth = 0 /datum/reagent/medicine/syndicate_nanites/on_mob_life(mob/living/M) M.adjustBruteLoss(-5*REAGENTS_EFFECT_MULTIPLIER) //A ton of healing - this is a 50 telecrystal investment. diff --git a/code/modules/reagents/chemistry/reagents/toxins.dm b/code/modules/reagents/chemistry/reagents/toxins.dm index 272d5df3130..8b575be41a5 100644 --- a/code/modules/reagents/chemistry/reagents/toxins.dm +++ b/code/modules/reagents/chemistry/reagents/toxins.dm @@ -65,6 +65,7 @@ description = "A corruptive toxin produced by slimes." reagent_state = LIQUID color = "#13BC5E" // rgb: 19, 188, 94 + can_synth = 0 /datum/reagent/slimetoxin/on_mob_life(mob/living/M) if(ishuman(M)) @@ -83,6 +84,7 @@ description = "An advanced corruptive toxin produced by slimes." reagent_state = LIQUID color = "#13BC5E" // rgb: 19, 188, 94 + can_synth = 0 /datum/reagent/aslimetoxin/reaction_mob(mob/living/M, method=TOUCH, volume) if(method != TOUCH) @@ -338,6 +340,7 @@ color = "#CF3600" metabolization_rate = 0.1 penetrates_skin = 1 + can_synth = 0 /datum/reagent/polonium/on_mob_life(mob/living/M) M.apply_effect(8, IRRADIATE, negate_armor = 1) @@ -438,6 +441,7 @@ color = "#CF3600" metabolization_rate = 0.2 overdose_threshold = 40 + can_synth = 0 /datum/reagent/venom/on_mob_life(mob/living/M) if(prob(25)) @@ -624,6 +628,7 @@ description = "A highly potent cardiac poison - can kill within minutes." reagent_state = LIQUID color = "#7F10C0" + can_synth = 0 /datum/reagent/initropidril/on_mob_life(mob/living/M) if(prob(33)) @@ -686,6 +691,7 @@ reagent_state = LIQUID color = "#5F8BE1" metabolization_rate = 0.7 + can_synth = 0 /datum/reagent/sodium_thiopental/on_mob_life(mob/living/M) switch(current_cycle) @@ -713,6 +719,7 @@ color = "#646EA0" metabolization_rate = 0.8 penetrates_skin = 1 + can_synth = 0 /datum/reagent/ketamine/on_mob_life(mob/living/M) switch(current_cycle) @@ -797,6 +804,7 @@ reagent_state = LIQUID color = "#C2D8CD" metabolization_rate = 0.05 + can_synth = 0 /datum/reagent/coniine/on_mob_life(mob/living/M) M.adjustToxLoss(2) diff --git a/code/modules/reagents/chemistry/reagents/water.dm b/code/modules/reagents/chemistry/reagents/water.dm index 233211d93f9..ef00ea54c61 100644 --- a/code/modules/reagents/chemistry/reagents/water.dm +++ b/code/modules/reagents/chemistry/reagents/water.dm @@ -371,6 +371,7 @@ description = "YOUR FLESH! IT BURNS!" process_flags = ORGANIC | SYNTHETIC //Admin-bus has no brakes! KILL THEM ALL. metabolization_rate = 1 + can_synth = 0 /datum/reagent/hellwater/on_mob_life(mob/living/M) M.fire_stacks = min(5, M.fire_stacks + 3)